Implementation notes: amd64, cel02, crypto_sign/sphincss128harakarobust

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_sign
Primitive: sphincss128harakarobust
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
67751892225255 0 052575 840 2912T:aesnigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
92680243632086 0 062615 840 2944T:aesnigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
95280868423514 0 049114 808 2880T:aesniclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
116214473625144 0 052063 840 2912T:aesnigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1400014767217075 0 128044039 840 2912T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1844562448427756 0 128058167 840 2944T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2157755294420259 0 128047648 816 2880T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2475136810217630 0 128044975 840 2912T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2656074496616099 0 128041810 808 2880T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2783305582215348 0 128041199 832 2880T:refgcc_-march=native_-mtune=native_-Os_-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: 0x5557a01d88d0: v4i64 = X86ISD::VTRUNC 0x5557a01d87a0
try.c: 0x5557a01d87a0: v16i32 = vselect 0x5557a01cbb40, 0x5557a017bac0, 0x5557a01d8670
try.c: 0x5557a01cbb40: v4i1 = X86ISD::PCMPGTM 0x5557a01d3710, 0x5557a01cf2a0
try.c: 0x5557a01d3710: v4i64 = X86ISD::VBROADCAST 0x5557a01785f0
try.c: 0x5557a01785f0: i64,ch = load<LD8[%lsr.iv6971]> 0x5557a00e4960, 0x5557a01c28a0, undef:i64
try.c: 0x5557a01c28a0: i64,ch = CopyFromReg 0x5557a00e4960, Register:i64 %vreg50
try.c: 0x5557a01cf500: i64 = Register %vreg50
try.c: 0x5557a017a130: i64 = undef
try.c: 0x5557a01cf2a0: v4i64,ch = CopyFromReg 0x5557a00e4960, Register:v4i64 %vreg13
try.c: 0x5557a01d3f60: v4i64 = Register %vreg13
try.c: 0x5557a017bac0: v16i32 = X86ISD::VBROADCAST 0x5557a01d3970
try.c: 0x5557a01d3970: i32,ch = load<LD4[ConstantPool]> 0x5557a00e4960, 0x5557a0177bd0, undef:i64
try.c: 0x5557a0177bd0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5557a016eac0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5557a017a130: i64 = undef
try.c: 0x5557a01d8670: 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: 0x5557a01d8540: i32 = Constant<0>
try.c: 0x5557a01d8540: i32 = Constant<0>
try.c: 0x5557a01d8540: i32 = Constant<0>
try.c: 0x5557a01d8540: i32 = Constant<0>
try.c: 0x5557a01d8540: i32 = Constant<0>
try.c: 0x5557a01d8540: i32 = Constant<0>
try.c: 0x5557a01d8540: i32 = Constant<0>
try.c: 0x5557a01d8540: i32 = Constant<0>
try.c: 0x5557a01d8540: 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: 0x559e3e6473f0: v4i64 = X86ISD::VTRUNC 0x559e3e6472c0
try.c: 0x559e3e6472c0: v16i32 = vselect 0x559e3e6382a0, 0x559e3e5c2050, 0x559e3e647190
try.c: 0x559e3e6382a0: v4i1 = X86ISD::PCMPGTM 0x559e3e62e600, 0x559e3e62a190
try.c: 0x559e3e62e600: v4i64 = X86ISD::VBROADCAST 0x559e3e5c2510
try.c: 0x559e3e5c2510: i64,ch = load<LD8[%lsr.iv6971]> 0x559e3e527a30, 0x559e3e5ca620, undef:i64
try.c: 0x559e3e5ca620: i64,ch = CopyFromReg 0x559e3e527a30, Register:i64 %vreg50
try.c: 0x559e3e62a3f0: i64 = Register %vreg50
try.c: 0x559e3e5d8410: i64 = undef
try.c: 0x559e3e62a190: v4i64,ch = CopyFromReg 0x559e3e527a30, Register:v4i64 %vreg13
try.c: 0x559e3e62ee50: v4i64 = Register %vreg13
try.c: 0x559e3e5c2050: v16i32 = X86ISD::VBROADCAST 0x559e3e62e860
try.c: 0x559e3e62e860: i32,ch = load<LD4[ConstantPool]> 0x559e3e527a30, 0x559e3e5c8bf0, undef:i64
try.c: 0x559e3e5c8bf0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x559e3e5d8d90: i64 = TargetConstantPool<i32 1> 0
try.c: 0x559e3e5d8410: i64 = undef
try.c: 0x559e3e647190: 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: 0x559e3e647060: i32 = Constant<0>
try.c: 0x559e3e647060: i32 = Constant<0>
try.c: 0x559e3e647060: i32 = Constant<0>
try.c: 0x559e3e647060: i32 = Constant<0>
try.c: 0x559e3e647060: i32 = Constant<0>
try.c: 0x559e3e647060: i32 = Constant<0>
try.c: 0x559e3e647060: i32 = Constant<0>
try.c: 0x559e3e647060: i32 = Constant<0>
try.c: 0x559e3e647060: 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: 0x55bf6ca09c70: v4i64 = X86ISD::VTRUNC 0x55bf6ca09b40
try.c: 0x55bf6ca09b40: v16i32 = vselect 0x55bf6ca15770, 0x55bf6c9a4f40, 0x55bf6ca09a10
try.c: 0x55bf6ca15770: v4i1 = X86ISD::PCMPGTM 0x55bf6c9fc870, 0x55bf6c9fa390
try.c: 0x55bf6c9fc870: v4i64 = X86ISD::VBROADCAST 0x55bf6c9a0b50
try.c: 0x55bf6c9a0b50: i64,ch = load<LD8[%lsr.iv6971]> 0x55bf6c90e960, 0x55bf6c9eab90, undef:i64
try.c: 0x55bf6c9eab90: i64,ch = CopyFromReg 0x55bf6c90e960, Register:i64 %vreg50
try.c: 0x55bf6c9fa5f0: i64 = Register %vreg50
try.c: 0x55bf6c9a2020: i64 = undef
try.c: 0x55bf6c9fa390: v4i64,ch = CopyFromReg 0x55bf6c90e960, Register:v4i64 %vreg13
try.c: 0x55bf6c9fd0c0: v4i64 = Register %vreg13
try.c: 0x55bf6c9a4f40: v16i32 = X86ISD::VBROADCAST 0x55bf6c9fcad0
try.c: 0x55bf6c9fcad0: i32,ch = load<LD4[ConstantPool]> 0x55bf6c90e960, 0x55bf6c9acb60, undef:i64
try.c: 0x55bf6c9acb60: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55bf6c9bf940: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55bf6c9a2020: i64 = undef
try.c: 0x55bf6ca09a10: 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: 0x55bf6ca098e0: i32 = Constant<0>
try.c: 0x55bf6ca098e0: i32 = Constant<0>
try.c: 0x55bf6ca098e0: i32 = Constant<0>
try.c: 0x55bf6ca098e0: i32 = Constant<0>
try.c: 0x55bf6ca098e0: i32 = Constant<0>
try.c: 0x55bf6ca098e0: i32 = Constant<0>
try.c: 0x55bf6ca098e0: i32 = Constant<0>
try.c: 0x55bf6ca098e0: i32 = Constant<0>
try.c: 0x55bf6ca098e0: 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: 0x557fc74929f0: v4i64 = X86ISD::VTRUNC 0x557fc74928c0
try.c: 0x557fc74928c0: v16i32 = vselect 0x557fc7488d00, 0x557fc7414a20, 0x557fc7492790
try.c: 0x557fc7488d00: v4i1 = X86ISD::PCMPGTM 0x557fc746f980, 0x557fc746b510
try.c: 0x557fc746f980: v4i64 = X86ISD::VBROADCAST 0x557fc741e130
try.c: 0x557fc741e130: i64,ch = load<LD8[%lsr.iv6971]> 0x557fc7380940, 0x557fc745d530, undef:i64
try.c: 0x557fc745d530: i64,ch = CopyFromReg 0x557fc7380940, Register:i64 %vreg50
try.c: 0x557fc746b770: i64 = Register %vreg50
try.c: 0x557fc7413090: i64 = undef
try.c: 0x557fc746b510: v4i64,ch = CopyFromReg 0x557fc7380940, Register:v4i64 %vreg13
try.c: 0x557fc74701d0: v4i64 = Register %vreg13
try.c: 0x557fc7414a20: v16i32 = X86ISD::VBROADCAST 0x557fc746fbe0
try.c: 0x557fc746fbe0: i32,ch = load<LD4[ConstantPool]> 0x557fc7380940, 0x557fc741d710, undef:i64
try.c: 0x557fc741d710: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x557fc7455570: i64 = TargetConstantPool<i32 1> 0
try.c: 0x557fc7413090: i64 = undef
try.c: 0x557fc7492790: 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: 0x557fc7492660: i32 = Constant<0>
try.c: 0x557fc7492660: i32 = Constant<0>
try.c: 0x557fc7492660: i32 = Constant<0>
try.c: 0x557fc7492660: i32 = Constant<0>
try.c: 0x557fc7492660: i32 = Constant<0>
try.c: 0x557fc7492660: i32 = Constant<0>
try.c: 0x557fc7492660: i32 = Constant<0>
try.c: 0x557fc7492660: i32 = Constant<0>
try.c: 0x557fc7492660: 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: 0x56432ee3a280: v4i64 = X86ISD::VTRUNC 0x56432ee3a150
try.c: 0x56432ee3a150: v16i32 = vselect 0x56432ee34c50, 0x56432eddd020, 0x56432ee3a020
try.c: 0x56432ee34c50: v4i1 = X86ISD::PCMPGTM 0x56432ee2e080, 0x56432ee29600
try.c: 0x56432ee2e080: v4i64 = X86ISD::VBROADCAST 0x56432eddd4e0
try.c: 0x56432eddd4e0: i64,ch = load<LD8[%lsr.iv6971]> 0x56432ed27a30, 0x56432edd7af0, undef:i64
try.c: 0x56432edd7af0: i64,ch = CopyFromReg 0x56432ed27a30, Register:i64 %vreg50
try.c: 0x56432ee29860: i64 = Register %vreg50
try.c: 0x56432edc3910: i64 = undef
try.c: 0x56432ee29600: v4i64,ch = CopyFromReg 0x56432ed27a30, Register:v4i64 %vreg13
try.c: 0x56432ee2e8d0: v4i64 = Register %vreg13
try.c: 0x56432eddd020: v16i32 = X86ISD::VBROADCAST 0x56432ee2e2e0
try.c: 0x56432ee2e2e0: i32,ch = load<LD4[ConstantPool]> 0x56432ed27a30, 0x56432eddf9c0, undef:i64
try.c: 0x56432eddf9c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56432edc4290: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56432edc3910: i64 = undef
try.c: 0x56432ee3a020: 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: 0x56432ee39ef0: i32 = Constant<0>
try.c: 0x56432ee39ef0: i32 = Constant<0>
try.c: 0x56432ee39ef0: i32 = Constant<0>
try.c: 0x56432ee39ef0: i32 = Constant<0>
try.c: 0x56432ee39ef0: i32 = Constant<0>
try.c: 0x56432ee39ef0: i32 = Constant<0>
try.c: 0x56432ee39ef0: i32 = Constant<0>
try.c: 0x56432ee39ef0: i32 = Constant<0>
try.c: 0x56432ee39ef0: 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: 0x559d8c6138a0: v4i64 = X86ISD::VTRUNC 0x559d8c613770
try.c: 0x559d8c613770: v16i32 = vselect 0x559d8c610280, 0x559d8c5b2dc0, 0x559d8c613640
try.c: 0x559d8c610280: v4i1 = X86ISD::PCMPGTM 0x559d8c60b860, 0x559d8c6073f0
try.c: 0x559d8c60b860: v4i64 = X86ISD::VBROADCAST 0x559d8c5c6700
try.c: 0x559d8c5c6700: i64,ch = load<LD8[%lsr.iv6971]> 0x559d8c51c940, 0x559d8c5ef6c0, undef:i64
try.c: 0x559d8c5ef6c0: i64,ch = CopyFromReg 0x559d8c51c940, Register:i64 %vreg50
try.c: 0x559d8c607650: i64 = Register %vreg50
try.c: 0x559d8c5c7bd0: i64 = undef
try.c: 0x559d8c6073f0: v4i64,ch = CopyFromReg 0x559d8c51c940, Register:v4i64 %vreg13
try.c: 0x559d8c60c0b0: v4i64 = Register %vreg13
try.c: 0x559d8c5b2dc0: v16i32 = X86ISD::VBROADCAST 0x559d8c60bac0
try.c: 0x559d8c60bac0: i32,ch = load<LD4[ConstantPool]> 0x559d8c51c940, 0x559d8c5c5ce0, undef:i64
try.c: 0x559d8c5c5ce0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x559d8c5f67d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x559d8c5c7bd0: i64 = undef
try.c: 0x559d8c613640: 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: 0x559d8c613510: i32 = Constant<0>
try.c: 0x559d8c613510: i32 = Constant<0>
try.c: 0x559d8c613510: i32 = Constant<0>
try.c: 0x559d8c613510: i32 = Constant<0>
try.c: 0x559d8c613510: i32 = Constant<0>
try.c: 0x559d8c613510: i32 = Constant<0>
try.c: 0x559d8c613510: i32 = Constant<0>
try.c: 0x559d8c613510: i32 = Constant<0>
try.c: 0x559d8c613510: 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