Implementation notes: amd64, cel02, crypto_aead/spook128su384v2

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: spook128su384v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1869244835 0 022477 824 960T:hes128c64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2147044835 0 022477 824 960T:hes128c32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2800764137 0 018645 824 896T:hes128c64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2882864137 0 018645 824 896T:hes128c32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3134363865 0 018157 824 896T:hes128c64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3230383865 0 018157 824 896T:hes128c32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3241603723 0 016712 800 896T:hes128c64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3806503723 0 016712 800 896T:hes128c32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
10405726085 0 023773 824 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
12163705015 0 019565 824 896T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
17940744633 0 018957 824 896T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
19242704406 0 017456 800 896T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
20069726546 0 021362 800 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
21455644589 0 017652 792 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:hes128c32
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
shadow_128bit.c: shadow_128bit.c:74:12: error: cannot convert between vector values of different size ('row_set' (vector of 4 'uint32_t' values) and 'int')
shadow_128bit.c: a = *x ^ ROT32(*x, 12);
shadow_128bit.c: ^~~~~~~~~~~~~
shadow_128bit.c: shadow_128bit.c:71:25: note: expanded from macro 'ROT32'
shadow_128bit.c: #define ROT32(x,n) (((x)>>(n))|((x)<<(32-(n))))
shadow_128bit.c: ~~~^ ~~~
shadow_128bit.c: shadow_128bit.c:74:12: error: cannot convert between vector values of different size ('row_set' (vector of 4 'uint32_t' values) and 'int')
shadow_128bit.c: a = *x ^ ROT32(*x, 12);
shadow_128bit.c: ^~~~~~~~~~~~~
shadow_128bit.c: shadow_128bit.c:71:36: note: expanded from macro 'ROT32'
shadow_128bit.c: #define ROT32(x,n) (((x)>>(n))|((x)<<(32-(n))))
shadow_128bit.c: ~~~^ ~~~~~~~~
shadow_128bit.c: shadow_128bit.c:75:12: error: cannot convert between vector values of different size ('row_set' (vector of 4 'uint32_t' values) and 'int')
shadow_128bit.c: b = *y ^ ROT32(*y, 12);
shadow_128bit.c: ^~~~~~~~~~~~~
shadow_128bit.c: shadow_128bit.c:71:25: note: expanded from macro 'ROT32'
shadow_128bit.c: #define ROT32(x,n) (((x)>>(n))|((x)<<(32-(n))))
shadow_128bit.c: ~~~^ ~~~
shadow_128bit.c: shadow_128bit.c:75:12: error: cannot convert between vector values of different size ('row_set' (vector of 4 'uint32_t' values) and 'int')
shadow_128bit.c: b = *y ^ ROT32(*y, 12);
shadow_128bit.c: ^~~~~~~~~~~~~
shadow_128bit.c: shadow_128bit.c:71:36: note: expanded from macro 'ROT32'
shadow_128bit.c: #define ROT32(x,n) (((x)>>(n))|((x)<<(32-(n))))
shadow_128bit.c: ~~~^ ~~~~~~~~
shadow_128bit.c: shadow_128bit.c:76:11: error: cannot convert between vector values of different size ('row_set' (vector of 4 'uint32_t' values) and 'int')
shadow_128bit.c: ...

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:hes128c32
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:hes128c32
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:hes128c32
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:hes128c32
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:hes128c32
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:hes128c64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:hes128c64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:hes128c64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:hes128c64
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:hes128c64

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55aca6b05360: v4i64 = X86ISD::VTRUNC 0x55aca6b05230
try.c: 0x55aca6b05230: v16i32 = vselect 0x55aca6b01d40, 0x55aca6a93ec0, 0x55aca6b05100
try.c: 0x55aca6b01d40: v4i1 = X86ISD::PCMPGTM 0x55aca6aea9d0, 0x55aca6ae6560
try.c: 0x55aca6aea9d0: v4i64 = X86ISD::VBROADCAST 0x55aca6ab1790
try.c: 0x55aca6ab1790: i64,ch = load<LD8[%lsr.iv6971]> 0x55aca69fb940, 0x55aca6ad4cf0, undef:i64
try.c: 0x55aca6ad4cf0: i64,ch = CopyFromReg 0x55aca69fb940, Register:i64 %vreg50
try.c: 0x55aca6ae67c0: i64 = Register %vreg50
try.c: 0x55aca6a92530: i64 = undef
try.c: 0x55aca6ae6560: v4i64,ch = CopyFromReg 0x55aca69fb940, Register:v4i64 %vreg13
try.c: 0x55aca6aeb220: v4i64 = Register %vreg13
try.c: 0x55aca6a93ec0: v16i32 = X86ISD::VBROADCAST 0x55aca6aeac30
try.c: 0x55aca6aeac30: i32,ch = load<LD4[ConstantPool]> 0x55aca69fb940, 0x55aca6ab0d70, undef:i64
try.c: 0x55aca6ab0d70: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55aca6ad5ef0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55aca6a92530: i64 = undef
try.c: 0x55aca6b05100: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x55aca6b04fd0: i32 = Constant<0>
try.c: 0x55aca6b04fd0: i32 = Constant<0>
try.c: 0x55aca6b04fd0: i32 = Constant<0>
try.c: 0x55aca6b04fd0: i32 = Constant<0>
try.c: 0x55aca6b04fd0: i32 = Constant<0>
try.c: 0x55aca6b04fd0: i32 = Constant<0>
try.c: 0x55aca6b04fd0: i32 = Constant<0>
try.c: 0x55aca6b04fd0: i32 = Constant<0>
try.c: 0x55aca6b04fd0: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x555a428f7d60: v4i64 = X86ISD::VTRUNC 0x555a428f7c30
try.c: 0x555a428f7c30: v16i32 = vselect 0x555a428f2730, 0x555a4288acb0, 0x555a428f7b00
try.c: 0x555a428f2730: v4i1 = X86ISD::PCMPGTM 0x555a428def60, 0x555a428da330
try.c: 0x555a428def60: v4i64 = X86ISD::VBROADCAST 0x555a4288b170
try.c: 0x555a4288b170: i64,ch = load<LD8[%lsr.iv6971]> 0x555a427d8a30, 0x555a4287ad50, undef:i64
try.c: 0x555a4287ad50: i64,ch = CopyFromReg 0x555a427d8a30, Register:i64 %vreg50
try.c: 0x555a428da590: i64 = Register %vreg50
try.c: 0x555a428889f0: i64 = undef
try.c: 0x555a428da330: v4i64,ch = CopyFromReg 0x555a427d8a30, Register:v4i64 %vreg13
try.c: 0x555a428df7b0: v4i64 = Register %vreg13
try.c: 0x555a4288acb0: v16i32 = X86ISD::VBROADCAST 0x555a428df1c0
try.c: 0x555a428df1c0: i32,ch = load<LD4[ConstantPool]> 0x555a427d8a30, 0x555a4288d650, undef:i64
try.c: 0x555a4288d650: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x555a42889370: i64 = TargetConstantPool<i32 1> 0
try.c: 0x555a428889f0: i64 = undef
try.c: 0x555a428f7b00: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x555a428f79d0: i32 = Constant<0>
try.c: 0x555a428f79d0: i32 = Constant<0>
try.c: 0x555a428f79d0: i32 = Constant<0>
try.c: 0x555a428f79d0: i32 = Constant<0>
try.c: 0x555a428f79d0: i32 = Constant<0>
try.c: 0x555a428f79d0: i32 = Constant<0>
try.c: 0x555a428f79d0: i32 = Constant<0>
try.c: 0x555a428f79d0: i32 = Constant<0>
try.c: 0x555a428f79d0: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x55a6463ac750: v4i64 = X86ISD::VTRUNC 0x55a6463ac620
try.c: 0x55a6463ac620: v16i32 = vselect 0x55a6463a7120, 0x55a64634e960, 0x55a6463ac4f0
try.c: 0x55a6463a7120: v4i1 = X86ISD::PCMPGTM 0x55a6463a25b0, 0x55a64639e140
try.c: 0x55a6463a25b0: v4i64 = X86ISD::VBROADCAST 0x55a6463437b0
try.c: 0x55a6463437b0: i64,ch = load<LD8[%lsr.iv6971]> 0x55a6462b3950, 0x55a64638b610, undef:i64
try.c: 0x55a64638b610: i64,ch = CopyFromReg 0x55a6462b3950, Register:i64 %vreg50
try.c: 0x55a64639e3a0: i64 = Register %vreg50
try.c: 0x55a646344c80: i64 = undef
try.c: 0x55a64639e140: v4i64,ch = CopyFromReg 0x55a6462b3950, Register:v4i64 %vreg13
try.c: 0x55a6463a2e00: v4i64 = Register %vreg13
try.c: 0x55a64634e960: v16i32 = X86ISD::VBROADCAST 0x55a6463a2810
try.c: 0x55a6463a2810: i32,ch = load<LD4[ConstantPool]> 0x55a6462b3950, 0x55a64634b7c0, undef:i64
try.c: 0x55a64634b7c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55a646394e30: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55a646344c80: i64 = undef
try.c: 0x55a6463ac4f0: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x55a6463ac3c0: i32 = Constant<0>
try.c: 0x55a6463ac3c0: i32 = Constant<0>
try.c: 0x55a6463ac3c0: i32 = Constant<0>
try.c: 0x55a6463ac3c0: i32 = Constant<0>
try.c: 0x55a6463ac3c0: i32 = Constant<0>
try.c: 0x55a6463ac3c0: i32 = Constant<0>
try.c: 0x55a6463ac3c0: i32 = Constant<0>
try.c: 0x55a6463ac3c0: i32 = Constant<0>
try.c: 0x55a6463ac3c0: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref