Implementation notes: amd64, cel02, crypto_sign/sphincsf128harakasimple

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_sign
Primitive: sphincsf128harakasimple
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2917774423146 0 048746 808 2880T:aesniclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3267992624597 0 051911 840 2912T:aesnigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4964718031054 0 061575 840 2944T:aesnigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
5925520624445 0 051375 840 2912T:aesnigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
60734464415225 0 128041079 832 2880T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
68314381427110 0 128057519 840 2944T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
88384880220299 0 128047712 816 2880T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
93485762616024 0 128041730 808 2880T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
96138334217453 0 128044791 840 2912T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
97445016016925 0 128043895 840 2912T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Test failure

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

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
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: 0x55f51ea94b70: v4i64 = X86ISD::VTRUNC 0x55f51ea94a40
try.c: 0x55f51ea94a40: v16i32 = vselect 0x55f51ea91550, 0x55f51ea3a9f0, 0x55f51ea94910
try.c: 0x55f51ea91550: v4i1 = X86ISD::PCMPGTM 0x55f51ea8c900, 0x55f51ea88490
try.c: 0x55f51ea8c900: v4i64 = X86ISD::VBROADCAST 0x55f51ea59e60
try.c: 0x55f51ea59e60: i64,ch = load<LD8[%lsr.iv6971]> 0x55f51e99d960, 0x55f51ea76eb0, undef:i64
try.c: 0x55f51ea76eb0: i64,ch = CopyFromReg 0x55f51e99d960, Register:i64 %vreg50
try.c: 0x55f51ea886f0: i64 = Register %vreg50
try.c: 0x55f51ea39060: i64 = undef
try.c: 0x55f51ea88490: v4i64,ch = CopyFromReg 0x55f51e99d960, Register:v4i64 %vreg13
try.c: 0x55f51ea8d150: v4i64 = Register %vreg13
try.c: 0x55f51ea3a9f0: v16i32 = X86ISD::VBROADCAST 0x55f51ea8cb60
try.c: 0x55f51ea8cb60: i32,ch = load<LD4[ConstantPool]> 0x55f51e99d960, 0x55f51ea59440, undef:i64
try.c: 0x55f51ea59440: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55f51ea72d60: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55f51ea39060: i64 = undef
try.c: 0x55f51ea94910: 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: 0x55f51ea947e0: i32 = Constant<0>
try.c: 0x55f51ea947e0: i32 = Constant<0>
try.c: 0x55f51ea947e0: i32 = Constant<0>
try.c: 0x55f51ea947e0: i32 = Constant<0>
try.c: 0x55f51ea947e0: i32 = Constant<0>
try.c: 0x55f51ea947e0: i32 = Constant<0>
try.c: 0x55f51ea947e0: i32 = Constant<0>
try.c: 0x55f51ea947e0: i32 = Constant<0>
try.c: 0x55f51ea947e0: 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: 0x560080e86dd0: v4i64 = X86ISD::VTRUNC 0x560080e86ca0
try.c: 0x560080e86ca0: v16i32 = vselect 0x560080e817a0, 0x560080e00f30, 0x560080e86b70
try.c: 0x560080e817a0: v4i1 = X86ISD::PCMPGTM 0x560080e6d460, 0x560080e68ff0
try.c: 0x560080e6d460: v4i64 = X86ISD::VBROADCAST 0x560080e013f0
try.c: 0x560080e013f0: i64,ch = load<LD8[%lsr.iv6971]> 0x560080d66a40, 0x560080e1cc80, undef:i64
try.c: 0x560080e1cc80: i64,ch = CopyFromReg 0x560080d66a40, Register:i64 %vreg50
try.c: 0x560080e69250: i64 = Register %vreg50
try.c: 0x560080e097a0: i64 = undef
try.c: 0x560080e68ff0: v4i64,ch = CopyFromReg 0x560080d66a40, Register:v4i64 %vreg13
try.c: 0x560080e6dcb0: v4i64 = Register %vreg13
try.c: 0x560080e00f30: v16i32 = X86ISD::VBROADCAST 0x560080e6d6c0
try.c: 0x560080e6d6c0: i32,ch = load<LD4[ConstantPool]> 0x560080d66a40, 0x560080e1b250, undef:i64
try.c: 0x560080e1b250: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x560080e0a120: i64 = TargetConstantPool<i32 1> 0
try.c: 0x560080e097a0: i64 = undef
try.c: 0x560080e86b70: 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: 0x560080e86a40: i32 = Constant<0>
try.c: 0x560080e86a40: i32 = Constant<0>
try.c: 0x560080e86a40: i32 = Constant<0>
try.c: 0x560080e86a40: i32 = Constant<0>
try.c: 0x560080e86a40: i32 = Constant<0>
try.c: 0x560080e86a40: i32 = Constant<0>
try.c: 0x560080e86a40: i32 = Constant<0>
try.c: 0x560080e86a40: i32 = Constant<0>
try.c: 0x560080e86a40: 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: 0x55beefe70130: v4i64 = X86ISD::VTRUNC 0x55beefe70000
try.c: 0x55beefe70000: v16i32 = vselect 0x55beefe79d10, 0x55beefe0c3a0, 0x55beefe6fed0
try.c: 0x55beefe79d10: v4i1 = X86ISD::PCMPGTM 0x55beefe567c0, 0x55beefe52350
try.c: 0x55beefe567c0: v4i64 = X86ISD::VBROADCAST 0x55beefdf7010
try.c: 0x55beefdf7010: i64,ch = load<LD8[%lsr.iv6971]> 0x55beefd67960, 0x55beefe4d1b0, undef:i64
try.c: 0x55beefe4d1b0: i64,ch = CopyFromReg 0x55beefd67960, Register:i64 %vreg50
try.c: 0x55beefe525b0: i64 = Register %vreg50
try.c: 0x55beefdf84e0: i64 = undef
try.c: 0x55beefe52350: v4i64,ch = CopyFromReg 0x55beefd67960, Register:v4i64 %vreg13
try.c: 0x55beefe57010: v4i64 = Register %vreg13
try.c: 0x55beefe0c3a0: v16i32 = X86ISD::VBROADCAST 0x55beefe56a20
try.c: 0x55beefe56a20: i32,ch = load<LD4[ConstantPool]> 0x55beefd67960, 0x55beefdfbf70, undef:i64
try.c: 0x55beefdfbf70: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55beefe3c3f0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55beefdf84e0: i64 = undef
try.c: 0x55beefe6fed0: 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: 0x55beefe6fda0: i32 = Constant<0>
try.c: 0x55beefe6fda0: i32 = Constant<0>
try.c: 0x55beefe6fda0: i32 = Constant<0>
try.c: 0x55beefe6fda0: i32 = Constant<0>
try.c: 0x55beefe6fda0: i32 = Constant<0>
try.c: 0x55beefe6fda0: i32 = Constant<0>
try.c: 0x55beefe6fda0: i32 = Constant<0>
try.c: 0x55beefe6fda0: i32 = Constant<0>
try.c: 0x55beefe6fda0: 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: 0x559f523933a0: v4i64 = X86ISD::VTRUNC 0x559f52393270
try.c: 0x559f52393270: v16i32 = vselect 0x559f5238dd70, 0x559f5231e070, 0x559f52393140
try.c: 0x559f5238dd70: v4i1 = X86ISD::PCMPGTM 0x559f52376a00, 0x559f52372590
try.c: 0x559f52376a00: v4i64 = X86ISD::VBROADCAST 0x559f523173c0
try.c: 0x559f523173c0: i64,ch = load<LD8[%lsr.iv6971]> 0x559f52287950, 0x559f52369700, undef:i64
try.c: 0x559f52369700: i64,ch = CopyFromReg 0x559f52287950, Register:i64 %vreg50
try.c: 0x559f523727f0: i64 = Register %vreg50
try.c: 0x559f52318890: i64 = undef
try.c: 0x559f52372590: v4i64,ch = CopyFromReg 0x559f52287950, Register:v4i64 %vreg13
try.c: 0x559f52377250: v4i64 = Register %vreg13
try.c: 0x559f5231e070: v16i32 = X86ISD::VBROADCAST 0x559f52376c60
try.c: 0x559f52376c60: i32,ch = load<LD4[ConstantPool]> 0x559f52287950, 0x559f523169a0, undef:i64
try.c: 0x559f523169a0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x559f52331440: i64 = TargetConstantPool<i32 1> 0
try.c: 0x559f52318890: i64 = undef
try.c: 0x559f52393140: 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: 0x559f52393010: i32 = Constant<0>
try.c: 0x559f52393010: i32 = Constant<0>
try.c: 0x559f52393010: i32 = Constant<0>
try.c: 0x559f52393010: i32 = Constant<0>
try.c: 0x559f52393010: i32 = Constant<0>
try.c: 0x559f52393010: i32 = Constant<0>
try.c: 0x559f52393010: i32 = Constant<0>
try.c: 0x559f52393010: i32 = Constant<0>
try.c: 0x559f52393010: 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: 0x55f595e87c70: v4i64 = X86ISD::VTRUNC 0x55f595e87b40
try.c: 0x55f595e87b40: v16i32 = vselect 0x55f595e82640, 0x55f595e06550, 0x55f595e87a10
try.c: 0x55f595e82640: v4i1 = X86ISD::PCMPGTM 0x55f595e6ee70, 0x55f595e6aa00
try.c: 0x55f595e6ee70: v4i64 = X86ISD::VBROADCAST 0x55f595e06a10
try.c: 0x55f595e06a10: i64,ch = load<LD8[%lsr.iv6971]> 0x55f595d68a30, 0x55f595e0b6b0, undef:i64
try.c: 0x55f595e0b6b0: i64,ch = CopyFromReg 0x55f595d68a30, Register:i64 %vreg50
try.c: 0x55f595e6ac60: i64 = Register %vreg50
try.c: 0x55f595e30010: i64 = undef
try.c: 0x55f595e6aa00: v4i64,ch = CopyFromReg 0x55f595d68a30, Register:v4i64 %vreg13
try.c: 0x55f595e6f6c0: v4i64 = Register %vreg13
try.c: 0x55f595e06550: v16i32 = X86ISD::VBROADCAST 0x55f595e6f0d0
try.c: 0x55f595e6f0d0: i32,ch = load<LD4[ConstantPool]> 0x55f595d68a30, 0x55f595e09c80, undef:i64
try.c: 0x55f595e09c80: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55f595e30990: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55f595e30010: i64 = undef
try.c: 0x55f595e87a10: 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: 0x55f595e878e0: i32 = Constant<0>
try.c: 0x55f595e878e0: i32 = Constant<0>
try.c: 0x55f595e878e0: i32 = Constant<0>
try.c: 0x55f595e878e0: i32 = Constant<0>
try.c: 0x55f595e878e0: i32 = Constant<0>
try.c: 0x55f595e878e0: i32 = Constant<0>
try.c: 0x55f595e878e0: i32 = Constant<0>
try.c: 0x55f595e878e0: i32 = Constant<0>
try.c: 0x55f595e878e0: 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: 0x56288b5d9b50: v4i64 = X86ISD::VTRUNC 0x56288b5d9a20
try.c: 0x56288b5d9a20: v16i32 = vselect 0x56288b5d6530, 0x56288b5794f0, 0x56288b5d98f0
try.c: 0x56288b5d6530: v4i1 = X86ISD::PCMPGTM 0x56288b5d1a70, 0x56288b5cd600
try.c: 0x56288b5d1a70: v4i64 = X86ISD::VBROADCAST 0x56288b571550
try.c: 0x56288b571550: i64,ch = load<LD8[%lsr.iv6971]> 0x56288b4e28d0, 0x56288b5bb630, undef:i64
try.c: 0x56288b5bb630: i64,ch = CopyFromReg 0x56288b4e28d0, Register:i64 %vreg50
try.c: 0x56288b5cd860: i64 = Register %vreg50
try.c: 0x56288b577b60: i64 = undef
try.c: 0x56288b5cd600: v4i64,ch = CopyFromReg 0x56288b4e28d0, Register:v4i64 %vreg13
try.c: 0x56288b5d22c0: v4i64 = Register %vreg13
try.c: 0x56288b5794f0: v16i32 = X86ISD::VBROADCAST 0x56288b5d1cd0
try.c: 0x56288b5d1cd0: i32,ch = load<LD4[ConstantPool]> 0x56288b4e28d0, 0x56288b570b30, undef:i64
try.c: 0x56288b570b30: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56288b542aa0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56288b577b60: i64 = undef
try.c: 0x56288b5d98f0: 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: 0x56288b5d97c0: i32 = Constant<0>
try.c: 0x56288b5d97c0: i32 = Constant<0>
try.c: 0x56288b5d97c0: i32 = Constant<0>
try.c: 0x56288b5d97c0: i32 = Constant<0>
try.c: 0x56288b5d97c0: i32 = Constant<0>
try.c: 0x56288b5d97c0: i32 = Constant<0>
try.c: 0x56288b5d97c0: i32 = Constant<0>
try.c: 0x56288b5d97c0: i32 = Constant<0>
try.c: 0x56288b5d97c0: 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