Implementation notes: amd64, cel02, crypto_sign/sphincss256harakarobust

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_sign
Primitive: sphincss256harakarobust
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
89318841233065 0 063767 840 2944T:aesnigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
168774825025938 0 053407 840 2912T:aesnigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
176668805825736 0 052807 840 2912T:aesnigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1766055409428232 0 128058799 840 2944T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3508087419421776 0 128049240 816 2880T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3853998396216138 0 128041906 808 2880T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3959857018017965 0 128045431 840 2912T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4180266036817416 0 128044511 840 2912T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4469822110615328 0 128041183 832 2880T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Test failure

Implementation: T:aesni
Security model: timingleaks
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aesni
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:aesni

Compiler output

Implementation: T:aesni
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: 0x55a760ff00f0: v4i64 = X86ISD::VTRUNC 0x55a760feffc0
try.c: 0x55a760feffc0: v16i32 = vselect 0x55a760feaac0, 0x55a760f8f610, 0x55a760fefe90
try.c: 0x55a760feaac0: v4i1 = X86ISD::PCMPGTM 0x55a760fe9ab0, 0x55a760fe6040
try.c: 0x55a760fe9ab0: v4i64 = X86ISD::VBROADCAST 0x55a760f969e0
try.c: 0x55a760f969e0: i64,ch = load<LD8[%lsr.iv6971]> 0x55a760efb960, 0x55a760fd05f0, undef:i64
try.c: 0x55a760fd05f0: i64,ch = CopyFromReg 0x55a760efb960, Register:i64 %vreg50
try.c: 0x55a760fe62a0: i64 = Register %vreg50
try.c: 0x55a760f8dc80: i64 = undef
try.c: 0x55a760fe6040: v4i64,ch = CopyFromReg 0x55a760efb960, Register:v4i64 %vreg13
try.c: 0x55a760fea300: v4i64 = Register %vreg13
try.c: 0x55a760f8f610: v16i32 = X86ISD::VBROADCAST 0x55a760fe9d10
try.c: 0x55a760fe9d10: i32,ch = load<LD4[ConstantPool]> 0x55a760efb960, 0x55a760f95fc0, undef:i64
try.c: 0x55a760f95fc0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55a760fdd080: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55a760f8dc80: i64 = undef
try.c: 0x55a760fefe90: 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: 0x55a760fefd60: i32 = Constant<0>
try.c: 0x55a760fefd60: i32 = Constant<0>
try.c: 0x55a760fefd60: i32 = Constant<0>
try.c: 0x55a760fefd60: i32 = Constant<0>
try.c: 0x55a760fefd60: i32 = Constant<0>
try.c: 0x55a760fefd60: i32 = Constant<0>
try.c: 0x55a760fefd60: i32 = Constant<0>
try.c: 0x55a760fefd60: i32 = Constant<0>
try.c: 0x55a760fefd60: 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:aesni

Compiler output

Implementation: T:aesni
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: 0x5643d33095a0: v4i64 = X86ISD::VTRUNC 0x5643d3309470
try.c: 0x5643d3309470: v16i32 = vselect 0x5643d330f420, 0x5643d328a890, 0x5643d3309340
try.c: 0x5643d330f420: v4i1 = X86ISD::PCMPGTM 0x5643d32efdb0, 0x5643d32ec340
try.c: 0x5643d32efdb0: v4i64 = X86ISD::VBROADCAST 0x5643d328ad50
try.c: 0x5643d328ad50: i64,ch = load<LD8[%lsr.iv6971]> 0x5643d31e9a40, 0x5643d3298f00, undef:i64
try.c: 0x5643d3298f00: i64,ch = CopyFromReg 0x5643d31e9a40, Register:i64 %vreg50
try.c: 0x5643d32ec5a0: i64 = Register %vreg50
try.c: 0x5643d329f160: i64 = undef
try.c: 0x5643d32ec340: v4i64,ch = CopyFromReg 0x5643d31e9a40, Register:v4i64 %vreg13
try.c: 0x5643d32f0600: v4i64 = Register %vreg13
try.c: 0x5643d328a890: v16i32 = X86ISD::VBROADCAST 0x5643d32f0010
try.c: 0x5643d32f0010: i32,ch = load<LD4[ConstantPool]> 0x5643d31e9a40, 0x5643d328d230, undef:i64
try.c: 0x5643d328d230: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5643d329fae0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5643d329f160: i64 = undef
try.c: 0x5643d3309340: 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: 0x5643d3309210: i32 = Constant<0>
try.c: 0x5643d3309210: i32 = Constant<0>
try.c: 0x5643d3309210: i32 = Constant<0>
try.c: 0x5643d3309210: i32 = Constant<0>
try.c: 0x5643d3309210: i32 = Constant<0>
try.c: 0x5643d3309210: i32 = Constant<0>
try.c: 0x5643d3309210: i32 = Constant<0>
try.c: 0x5643d3309210: i32 = Constant<0>
try.c: 0x5643d3309210: 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:aesni

Compiler output

Implementation: T:aesni
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: 0x55b94a9e8bf0: v4i64 = X86ISD::VTRUNC 0x55b94a9e8ac0
try.c: 0x55b94a9e8ac0: v16i32 = vselect 0x55b94a9e55d0, 0x55b94a966010, 0x55b94a9e8990
try.c: 0x55b94a9e55d0: v4i1 = X86ISD::PCMPGTM 0x55b94a9c51b0, 0x55b94a9c0d40
try.c: 0x55b94a9c51b0: v4i64 = X86ISD::VBROADCAST 0x55b94a969510
try.c: 0x55b94a969510: i64,ch = load<LD8[%lsr.iv6971]> 0x55b94a8d5960, 0x55b94a9b8850, undef:i64
try.c: 0x55b94a9b8850: i64,ch = CopyFromReg 0x55b94a8d5960, Register:i64 %vreg50
try.c: 0x55b94a9c0fa0: i64 = Register %vreg50
try.c: 0x55b94a964680: i64 = undef
try.c: 0x55b94a9c0d40: v4i64,ch = CopyFromReg 0x55b94a8d5960, Register:v4i64 %vreg13
try.c: 0x55b94a9c5a00: v4i64 = Register %vreg13
try.c: 0x55b94a966010: v16i32 = X86ISD::VBROADCAST 0x55b94a9c5410
try.c: 0x55b94a9c5410: i32,ch = load<LD4[ConstantPool]> 0x55b94a8d5960, 0x55b94a968af0, undef:i64
try.c: 0x55b94a968af0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55b94a9a9d30: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55b94a964680: i64 = undef
try.c: 0x55b94a9e8990: 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: 0x55b94a9e8860: i32 = Constant<0>
try.c: 0x55b94a9e8860: i32 = Constant<0>
try.c: 0x55b94a9e8860: i32 = Constant<0>
try.c: 0x55b94a9e8860: i32 = Constant<0>
try.c: 0x55b94a9e8860: i32 = Constant<0>
try.c: 0x55b94a9e8860: i32 = Constant<0>
try.c: 0x55b94a9e8860: i32 = Constant<0>
try.c: 0x55b94a9e8860: i32 = Constant<0>
try.c: 0x55b94a9e8860: 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:aesni

Compiler output

Implementation: T:aesni
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
haraka.c: haraka.c:421:5: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'haraka512_perm' that is compiled without support for 'aes'
haraka.c: AES4(s[0], s[1], s[2], s[3], rc);
haraka.c: ^
haraka.c: haraka.c:36:8: note: expanded from macro 'AES4'
haraka.c: s0 = _mm_aesenc_si128(s0, *(rci)); \
haraka.c: ^
haraka.c: haraka.c:421:5: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'haraka512_perm' that is compiled without support for 'aes'
haraka.c: haraka.c:37:8: note: expanded from macro 'AES4'
haraka.c: s1 = _mm_aesenc_si128(s1, *(rci + 1)); \
haraka.c: ^
haraka.c: haraka.c:421:5: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'haraka512_perm' that is compiled without support for 'aes'
haraka.c: haraka.c:38:8: note: expanded from macro 'AES4'
haraka.c: s2 = _mm_aesenc_si128(s2, *(rci + 2)); \
haraka.c: ^
haraka.c: haraka.c:421:5: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'haraka512_perm' that is compiled without support for 'aes'
haraka.c: haraka.c:39:8: note: expanded from macro 'AES4'
haraka.c: s3 = _mm_aesenc_si128(s3, *(rci + 3)); \
haraka.c: ^
haraka.c: haraka.c:421:5: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'haraka512_perm' that is compiled without support for 'aes'
haraka.c: haraka.c:40:8: note: expanded from macro 'AES4'
haraka.c: s0 = _mm_aesenc_si128(s0, *(rci + 4)); \
haraka.c: ^
haraka.c: haraka.c:421:5: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'haraka512_perm' that is compiled without support for 'aes'
haraka.c: haraka.c:41:8: note: expanded from macro 'AES4'
haraka.c: s1 = _mm_aesenc_si128(s1, *(rci + 5)); \
haraka.c: ...

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

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: 0x55aada3aada0: v4i64 = X86ISD::VTRUNC 0x55aada3aac70
try.c: 0x55aada3aac70: v16i32 = vselect 0x55aada3a6370, 0x55aada34f9e0, 0x55aada3aab40
try.c: 0x55aada3a6370: v4i1 = X86ISD::PCMPGTM 0x55aada3a2b40, 0x55aada39e6d0
try.c: 0x55aada3a2b40: v4i64 = X86ISD::VBROADCAST 0x55aada349f80
try.c: 0x55aada349f80: i64,ch = load<LD8[%lsr.iv6971]> 0x55aada2b3940, 0x55aada395750, undef:i64
try.c: 0x55aada395750: i64,ch = CopyFromReg 0x55aada2b3940, Register:i64 %vreg50
try.c: 0x55aada39e930: i64 = Register %vreg50
try.c: 0x55aada34b450: i64 = undef
try.c: 0x55aada39e6d0: v4i64,ch = CopyFromReg 0x55aada2b3940, Register:v4i64 %vreg13
try.c: 0x55aada3a3390: v4i64 = Register %vreg13
try.c: 0x55aada34f9e0: v16i32 = X86ISD::VBROADCAST 0x55aada3a2da0
try.c: 0x55aada3a2da0: i32,ch = load<LD4[ConstantPool]> 0x55aada2b3940, 0x55aada349560, undef:i64
try.c: 0x55aada349560: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55aada388980: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55aada34b450: i64 = undef
try.c: 0x55aada3aab40: 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: 0x55aada3aaa10: i32 = Constant<0>
try.c: 0x55aada3aaa10: i32 = Constant<0>
try.c: 0x55aada3aaa10: i32 = Constant<0>
try.c: 0x55aada3aaa10: i32 = Constant<0>
try.c: 0x55aada3aaa10: i32 = Constant<0>
try.c: 0x55aada3aaa10: i32 = Constant<0>
try.c: 0x55aada3aaa10: i32 = Constant<0>
try.c: 0x55aada3aaa10: i32 = Constant<0>
try.c: 0x55aada3aaa10: 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: 0x5585e0b56f40: v4i64 = X86ISD::VTRUNC 0x5585e0b56e10
try.c: 0x5585e0b56e10: v16i32 = vselect 0x5585e0b6aed0, 0x5585e0ae8220, 0x5585e0b56ce0
try.c: 0x5585e0b6aed0: v4i1 = X86ISD::PCMPGTM 0x5585e0b4bd50, 0x5585e0b472d0
try.c: 0x5585e0b4bd50: v4i64 = X86ISD::VBROADCAST 0x5585e0ae86e0
try.c: 0x5585e0ae86e0: i64,ch = load<LD8[%lsr.iv6971]> 0x5585e0a45a30, 0x5585e0af6dd0, undef:i64
try.c: 0x5585e0af6dd0: i64,ch = CopyFromReg 0x5585e0a45a30, Register:i64 %vreg50
try.c: 0x5585e0b47530: i64 = Register %vreg50
try.c: 0x5585e0ade750: i64 = undef
try.c: 0x5585e0b472d0: v4i64,ch = CopyFromReg 0x5585e0a45a30, Register:v4i64 %vreg13
try.c: 0x5585e0b4c5a0: v4i64 = Register %vreg13
try.c: 0x5585e0ae8220: v16i32 = X86ISD::VBROADCAST 0x5585e0b4bfb0
try.c: 0x5585e0b4bfb0: i32,ch = load<LD4[ConstantPool]> 0x5585e0a45a30, 0x5585e0af53a0, undef:i64
try.c: 0x5585e0af53a0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5585e0adf0d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5585e0ade750: i64 = undef
try.c: 0x5585e0b56ce0: 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: 0x5585e0b56bb0: i32 = Constant<0>
try.c: 0x5585e0b56bb0: i32 = Constant<0>
try.c: 0x5585e0b56bb0: i32 = Constant<0>
try.c: 0x5585e0b56bb0: i32 = Constant<0>
try.c: 0x5585e0b56bb0: i32 = Constant<0>
try.c: 0x5585e0b56bb0: i32 = Constant<0>
try.c: 0x5585e0b56bb0: i32 = Constant<0>
try.c: 0x5585e0b56bb0: i32 = Constant<0>
try.c: 0x5585e0b56bb0: 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: 0x55b0e62a6c60: v4i64 = X86ISD::VTRUNC 0x55b0e62a6b30
try.c: 0x55b0e62a6b30: v16i32 = vselect 0x55b0e62a3640, 0x55b0e625ba00, 0x55b0e62a6a00
try.c: 0x55b0e62a3640: v4i1 = X86ISD::PCMPGTM 0x55b0e629eaf0, 0x55b0e629a680
try.c: 0x55b0e629eaf0: v4i64 = X86ISD::VBROADCAST 0x55b0e6258ba0
try.c: 0x55b0e6258ba0: i64,ch = load<LD8[%lsr.iv6971]> 0x55b0e61af940, 0x55b0e622e680, undef:i64
try.c: 0x55b0e622e680: i64,ch = CopyFromReg 0x55b0e61af940, Register:i64 %vreg50
try.c: 0x55b0e629a8e0: i64 = Register %vreg50
try.c: 0x55b0e625a070: i64 = undef
try.c: 0x55b0e629a680: v4i64,ch = CopyFromReg 0x55b0e61af940, Register:v4i64 %vreg13
try.c: 0x55b0e629f340: v4i64 = Register %vreg13
try.c: 0x55b0e625ba00: v16i32 = X86ISD::VBROADCAST 0x55b0e629ed50
try.c: 0x55b0e629ed50: i32,ch = load<LD4[ConstantPool]> 0x55b0e61af940, 0x55b0e62432b0, undef:i64
try.c: 0x55b0e62432b0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55b0e6289b40: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55b0e625a070: i64 = undef
try.c: 0x55b0e62a6a00: 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: 0x55b0e62a68d0: i32 = Constant<0>
try.c: 0x55b0e62a68d0: i32 = Constant<0>
try.c: 0x55b0e62a68d0: i32 = Constant<0>
try.c: 0x55b0e62a68d0: i32 = Constant<0>
try.c: 0x55b0e62a68d0: i32 = Constant<0>
try.c: 0x55b0e62a68d0: i32 = Constant<0>
try.c: 0x55b0e62a68d0: i32 = Constant<0>
try.c: 0x55b0e62a68d0: i32 = Constant<0>
try.c: 0x55b0e62a68d0: 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