Implementation notes: amd64, cel02, crypto_aead/spook128mu384v2

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_aead
Primitive: spook128mu384v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1704944835 0 022493 824 960T:hes128c64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1768084835 0 022493 824 960T:hes128c32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2042044137 0 018661 824 896T:hes128c32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2478263878 0 018173 824 896T:hes128c64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3081864137 0 018661 824 896T:hes128c64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3184403732 0 016728 800 896T:hes128c64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3304383878 0 018173 824 896T:hes128c32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3799783732 0 016728 800 896T:hes128c32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
11107346085 0 023789 824 960T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
12238344415 0 017472 800 896T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
16405746562 0 021394 800 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
17695344646 0 018989 824 896T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
18058625015 0 019581 824 896T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
20420624602 0 017668 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: 0x5593ec1d30a0: v4i64 = X86ISD::VTRUNC 0x5593ec1d2f70
try.c: 0x5593ec1d2f70: v16i32 = vselect 0x5593ec1db3a0, 0x5593ec1708c0, 0x5593ec1d2e40
try.c: 0x5593ec1db3a0: v4i1 = X86ISD::PCMPGTM 0x5593ec1cfa90, 0x5593ec1cb620
try.c: 0x5593ec1cfa90: v4i64 = X86ISD::VBROADCAST 0x5593ec175f70
try.c: 0x5593ec175f70: i64,ch = load<LD8[%lsr.iv6971]> 0x5593ec0e0950, 0x5593ec1c6480, undef:i64
try.c: 0x5593ec1c6480: i64,ch = CopyFromReg 0x5593ec0e0950, Register:i64 %vreg50
try.c: 0x5593ec1cb880: i64 = Register %vreg50
try.c: 0x5593ec16ef30: i64 = undef
try.c: 0x5593ec1cb620: v4i64,ch = CopyFromReg 0x5593ec0e0950, Register:v4i64 %vreg13
try.c: 0x5593ec1d02e0: v4i64 = Register %vreg13
try.c: 0x5593ec1708c0: v16i32 = X86ISD::VBROADCAST 0x5593ec1cfcf0
try.c: 0x5593ec1cfcf0: i32,ch = load<LD4[ConstantPool]> 0x5593ec0e0950, 0x5593ec175550, undef:i64
try.c: 0x5593ec175550: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5593ec195a50: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5593ec16ef30: i64 = undef
try.c: 0x5593ec1d2e40: 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: 0x5593ec1d2d10: i32 = Constant<0>
try.c: 0x5593ec1d2d10: i32 = Constant<0>
try.c: 0x5593ec1d2d10: i32 = Constant<0>
try.c: 0x5593ec1d2d10: i32 = Constant<0>
try.c: 0x5593ec1d2d10: i32 = Constant<0>
try.c: 0x5593ec1d2d10: i32 = Constant<0>
try.c: 0x5593ec1d2d10: i32 = Constant<0>
try.c: 0x5593ec1d2d10: i32 = Constant<0>
try.c: 0x5593ec1d2d10: 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: 0x565481a80400: v4i64 = X86ISD::VTRUNC 0x565481a802d0
try.c: 0x565481a802d0: v16i32 = vselect 0x565481a7add0, 0x565481a17890, 0x565481a801a0
try.c: 0x565481a7add0: v4i1 = X86ISD::PCMPGTM 0x565481a79dc0, 0x565481a75950
try.c: 0x565481a79dc0: v4i64 = X86ISD::VBROADCAST 0x565481a17d50
try.c: 0x565481a17d50: i64,ch = load<LD8[%lsr.iv6971]> 0x565481972a30, 0x565481a22b70, undef:i64
try.c: 0x565481a22b70: i64,ch = CopyFromReg 0x565481972a30, Register:i64 %vreg50
try.c: 0x565481a75bb0: i64 = Register %vreg50
try.c: 0x565481a285f0: i64 = undef
try.c: 0x565481a75950: v4i64,ch = CopyFromReg 0x565481972a30, Register:v4i64 %vreg13
try.c: 0x565481a7a610: v4i64 = Register %vreg13
try.c: 0x565481a17890: v16i32 = X86ISD::VBROADCAST 0x565481a7a020
try.c: 0x565481a7a020: i32,ch = load<LD4[ConstantPool]> 0x565481972a30, 0x565481a1a230, undef:i64
try.c: 0x565481a1a230: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x565481a28f70: i64 = TargetConstantPool<i32 1> 0
try.c: 0x565481a285f0: i64 = undef
try.c: 0x565481a801a0: 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: 0x565481a80070: i32 = Constant<0>
try.c: 0x565481a80070: i32 = Constant<0>
try.c: 0x565481a80070: i32 = Constant<0>
try.c: 0x565481a80070: i32 = Constant<0>
try.c: 0x565481a80070: i32 = Constant<0>
try.c: 0x565481a80070: i32 = Constant<0>
try.c: 0x565481a80070: i32 = Constant<0>
try.c: 0x565481a80070: i32 = Constant<0>
try.c: 0x565481a80070: 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: 0x556d357f21b0: v4i64 = X86ISD::VTRUNC 0x556d357f2080
try.c: 0x556d357f2080: v16i32 = vselect 0x556d357f83f0, 0x556d35795880, 0x556d357f1f50
try.c: 0x556d357f83f0: v4i1 = X86ISD::PCMPGTM 0x556d357da850, 0x556d357d63e0
try.c: 0x556d357da850: v4i64 = X86ISD::VBROADCAST 0x556d3577da60
try.c: 0x556d3577da60: i64,ch = load<LD8[%lsr.iv6971]> 0x556d356eb950, 0x556d357cd060, undef:i64
try.c: 0x556d357cd060: i64,ch = CopyFromReg 0x556d356eb950, Register:i64 %vreg50
try.c: 0x556d357d6640: i64 = Register %vreg50
try.c: 0x556d3577ef30: i64 = undef
try.c: 0x556d357d63e0: v4i64,ch = CopyFromReg 0x556d356eb950, Register:v4i64 %vreg13
try.c: 0x556d357db0a0: v4i64 = Register %vreg13
try.c: 0x556d35795880: v16i32 = X86ISD::VBROADCAST 0x556d357daab0
try.c: 0x556d357daab0: i32,ch = load<LD4[ConstantPool]> 0x556d356eb950, 0x556d357914f0, undef:i64
try.c: 0x556d357914f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x556d357bee70: i64 = TargetConstantPool<i32 1> 0
try.c: 0x556d3577ef30: i64 = undef
try.c: 0x556d357f1f50: 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: 0x556d357f1e20: i32 = Constant<0>
try.c: 0x556d357f1e20: i32 = Constant<0>
try.c: 0x556d357f1e20: i32 = Constant<0>
try.c: 0x556d357f1e20: i32 = Constant<0>
try.c: 0x556d357f1e20: i32 = Constant<0>
try.c: 0x556d357f1e20: i32 = Constant<0>
try.c: 0x556d357f1e20: i32 = Constant<0>
try.c: 0x556d357f1e20: i32 = Constant<0>
try.c: 0x556d357f1e20: 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