Implementation notes: amd64, cel02, crypto_aead/spook128mu512v2

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: spook128mu512v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
911524860 0 022525 824 960T:hes128c32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1222664860 0 022525 824 960T:hes128c64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1377844033 0 018333 824 896T:hes128c32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1407003879 0 016872 800 896T:hes128c32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1518704283 0 018805 824 896T:hes128c64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1617344283 0 018805 824 896T:hes128c32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1766144033 0 018333 824 896T:hes128c64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2169703879 0 016872 800 896T:hes128c64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7039106779 0 021602 800 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
7426966415 0 024125 824 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7773865086 0 019661 824 896T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7872564664 0 017732 792 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
11277384535 0 017600 800 896T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
12220544762 0 019101 824 896T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-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: 0x5564c4bef470: v4i64 = X86ISD::VTRUNC 0x5564c4bef340
try.c: 0x5564c4bef340: v16i32 = vselect 0x5564c4bebe50, 0x5564c4b8eab0, 0x5564c4bef210
try.c: 0x5564c4bebe50: v4i1 = X86ISD::PCMPGTM 0x5564c4be7790, 0x5564c4be3320
try.c: 0x5564c4be7790: v4i64 = X86ISD::VBROADCAST 0x5564c4b8aa40
try.c: 0x5564c4b8aa40: i64,ch = load<LD8[%lsr.iv6971]> 0x5564c4af8940, 0x5564c4bd16d0, undef:i64
try.c: 0x5564c4bd16d0: i64,ch = CopyFromReg 0x5564c4af8940, Register:i64 %vreg50
try.c: 0x5564c4be3580: i64 = Register %vreg50
try.c: 0x5564c4b8bf10: i64 = undef
try.c: 0x5564c4be3320: v4i64,ch = CopyFromReg 0x5564c4af8940, Register:v4i64 %vreg13
try.c: 0x5564c4be7fe0: v4i64 = Register %vreg13
try.c: 0x5564c4b8eab0: v16i32 = X86ISD::VBROADCAST 0x5564c4be79f0
try.c: 0x5564c4be79f0: i32,ch = load<LD4[ConstantPool]> 0x5564c4af8940, 0x5564c4ba3a20, undef:i64
try.c: 0x5564c4ba3a20: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5564c4baf4f0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5564c4b8bf10: i64 = undef
try.c: 0x5564c4bef210: 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: 0x5564c4bef0e0: i32 = Constant<0>
try.c: 0x5564c4bef0e0: i32 = Constant<0>
try.c: 0x5564c4bef0e0: i32 = Constant<0>
try.c: 0x5564c4bef0e0: i32 = Constant<0>
try.c: 0x5564c4bef0e0: i32 = Constant<0>
try.c: 0x5564c4bef0e0: i32 = Constant<0>
try.c: 0x5564c4bef0e0: i32 = Constant<0>
try.c: 0x5564c4bef0e0: i32 = Constant<0>
try.c: 0x5564c4bef0e0: 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: 0x563db78d1860: v4i64 = X86ISD::VTRUNC 0x563db78d1730
try.c: 0x563db78d1730: v16i32 = vselect 0x563db78cc230, 0x563db7859d90, 0x563db78d1600
try.c: 0x563db78cc230: v4i1 = X86ISD::PCMPGTM 0x563db78b84f0, 0x563db78b4a80
try.c: 0x563db78b84f0: v4i64 = X86ISD::VBROADCAST 0x563db785a250
try.c: 0x563db785a250: i64,ch = load<LD8[%lsr.iv6971]> 0x563db77b2a30, 0x563db78646f0, undef:i64
try.c: 0x563db78646f0: i64,ch = CopyFromReg 0x563db77b2a30, Register:i64 %vreg50
try.c: 0x563db78b4ce0: i64 = Register %vreg50
try.c: 0x563db7844540: i64 = undef
try.c: 0x563db78b4a80: v4i64,ch = CopyFromReg 0x563db77b2a30, Register:v4i64 %vreg13
try.c: 0x563db78b8d40: v4i64 = Register %vreg13
try.c: 0x563db7859d90: v16i32 = X86ISD::VBROADCAST 0x563db78b8750
try.c: 0x563db78b8750: i32,ch = load<LD4[ConstantPool]> 0x563db77b2a30, 0x563db7862cc0, undef:i64
try.c: 0x563db7862cc0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x563db7844ec0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x563db7844540: i64 = undef
try.c: 0x563db78d1600: 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: 0x563db78d14d0: i32 = Constant<0>
try.c: 0x563db78d14d0: i32 = Constant<0>
try.c: 0x563db78d14d0: i32 = Constant<0>
try.c: 0x563db78d14d0: i32 = Constant<0>
try.c: 0x563db78d14d0: i32 = Constant<0>
try.c: 0x563db78d14d0: i32 = Constant<0>
try.c: 0x563db78d14d0: i32 = Constant<0>
try.c: 0x563db78d14d0: i32 = Constant<0>
try.c: 0x563db78d14d0: 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: 0x55c38787a2b0: v4i64 = X86ISD::VTRUNC 0x55c38787a180
try.c: 0x55c38787a180: v16i32 = vselect 0x55c387866180, 0x55c38781af90, 0x55c38787a050
try.c: 0x55c387866180: v4i1 = X86ISD::PCMPGTM 0x55c38785e920, 0x55c38785a4b0
try.c: 0x55c38785e920: v4i64 = X86ISD::VBROADCAST 0x55c3877ffc40
try.c: 0x55c3877ffc40: i64,ch = load<LD8[%lsr.iv6971]> 0x55c38776f950, 0x55c387848750, undef:i64
try.c: 0x55c387848750: i64,ch = CopyFromReg 0x55c38776f950, Register:i64 %vreg50
try.c: 0x55c38785a710: i64 = Register %vreg50
try.c: 0x55c387819600: i64 = undef
try.c: 0x55c38785a4b0: v4i64,ch = CopyFromReg 0x55c38776f950, Register:v4i64 %vreg13
try.c: 0x55c38785f170: v4i64 = Register %vreg13
try.c: 0x55c38781af90: v16i32 = X86ISD::VBROADCAST 0x55c38785eb80
try.c: 0x55c38785eb80: i32,ch = load<LD4[ConstantPool]> 0x55c38776f950, 0x55c3877ff220, undef:i64
try.c: 0x55c3877ff220: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c387806180: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c387819600: i64 = undef
try.c: 0x55c38787a050: 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: 0x55c387879f20: i32 = Constant<0>
try.c: 0x55c387879f20: i32 = Constant<0>
try.c: 0x55c387879f20: i32 = Constant<0>
try.c: 0x55c387879f20: i32 = Constant<0>
try.c: 0x55c387879f20: i32 = Constant<0>
try.c: 0x55c387879f20: i32 = Constant<0>
try.c: 0x55c387879f20: i32 = Constant<0>
try.c: 0x55c387879f20: i32 = Constant<0>
try.c: 0x55c387879f20: 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