Implementation notes: amd64, cel02, crypto_sign/sphincsf192harakarobust

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_sign
Primitive: sphincsf192harakarobust
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
4623576824014 0 049674 808 2880T:aesniclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
4795406025753 0 053151 840 2912T:aesnigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6818289832473 0 063103 840 2944T:aesnigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
8398179425495 0 052503 840 2912T:aesnigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
87981289427339 0 128057839 840 2944T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
127634694615387 0 128041231 832 2880T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
171111940421551 0 128048968 816 2880T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
194652714816335 0 128042098 808 2880T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
199598742817842 0 128045239 840 2912T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
203773208817276 0 128044319 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: 0x5625440454f0: v4i64 = X86ISD::VTRUNC 0x5625440453c0
try.c: 0x5625440453c0: v16i32 = vselect 0x56254405a250, 0x562543ffb2c0, 0x562544045290
try.c: 0x56254405a250: v4i1 = X86ISD::PCMPGTM 0x562544040ed0, 0x56254403ca60
try.c: 0x562544040ed0: v4i64 = X86ISD::VBROADCAST 0x562543ff8460
try.c: 0x562543ff8460: i64,ch = load<LD8[%lsr.iv6971]> 0x562543f51960, 0x5625440340e0, undef:i64
try.c: 0x5625440340e0: i64,ch = CopyFromReg 0x562543f51960, Register:i64 %vreg50
try.c: 0x56254403ccc0: i64 = Register %vreg50
try.c: 0x562543ff9930: i64 = undef
try.c: 0x56254403ca60: v4i64,ch = CopyFromReg 0x562543f51960, Register:v4i64 %vreg13
try.c: 0x562544041720: v4i64 = Register %vreg13
try.c: 0x562543ffb2c0: v16i32 = X86ISD::VBROADCAST 0x562544041130
try.c: 0x562544041130: i32,ch = load<LD4[ConstantPool]> 0x562543f51960, 0x562543fe8f80, undef:i64
try.c: 0x562543fe8f80: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x562543ffe710: i64 = TargetConstantPool<i32 1> 0
try.c: 0x562543ff9930: i64 = undef
try.c: 0x562544045290: 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: 0x562544045160: i32 = Constant<0>
try.c: 0x562544045160: i32 = Constant<0>
try.c: 0x562544045160: i32 = Constant<0>
try.c: 0x562544045160: i32 = Constant<0>
try.c: 0x562544045160: i32 = Constant<0>
try.c: 0x562544045160: i32 = Constant<0>
try.c: 0x562544045160: i32 = Constant<0>
try.c: 0x562544045160: i32 = Constant<0>
try.c: 0x562544045160: 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: 0x55c4d0ea8870: v4i64 = X86ISD::VTRUNC 0x55c4d0ea8740
try.c: 0x55c4d0ea8740: v16i32 = vselect 0x55c4d0e98240, 0x55c4d0e2f710, 0x55c4d0ea8610
try.c: 0x55c4d0e98240: v4i1 = X86ISD::PCMPGTM 0x55c4d0e81ee0, 0x55c4d0e7fa00
try.c: 0x55c4d0e81ee0: v4i64 = X86ISD::VBROADCAST 0x55c4d0e2fbd0
try.c: 0x55c4d0e2fbd0: i64,ch = load<LD8[%lsr.iv6971]> 0x55c4d0d7ca40, 0x55c4d0e1e4c0, undef:i64
try.c: 0x55c4d0e1e4c0: i64,ch = CopyFromReg 0x55c4d0d7ca40, Register:i64 %vreg50
try.c: 0x55c4d0e7fc60: i64 = Register %vreg50
try.c: 0x55c4d0e20950: i64 = undef
try.c: 0x55c4d0e7fa00: v4i64,ch = CopyFromReg 0x55c4d0d7ca40, Register:v4i64 %vreg13
try.c: 0x55c4d0e82730: v4i64 = Register %vreg13
try.c: 0x55c4d0e2f710: v16i32 = X86ISD::VBROADCAST 0x55c4d0e82140
try.c: 0x55c4d0e82140: i32,ch = load<LD4[ConstantPool]> 0x55c4d0d7ca40, 0x55c4d0e187e0, undef:i64
try.c: 0x55c4d0e187e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c4d0e212d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c4d0e20950: i64 = undef
try.c: 0x55c4d0ea8610: 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: 0x55c4d0ea84e0: i32 = Constant<0>
try.c: 0x55c4d0ea84e0: i32 = Constant<0>
try.c: 0x55c4d0ea84e0: i32 = Constant<0>
try.c: 0x55c4d0ea84e0: i32 = Constant<0>
try.c: 0x55c4d0ea84e0: i32 = Constant<0>
try.c: 0x55c4d0ea84e0: i32 = Constant<0>
try.c: 0x55c4d0ea84e0: i32 = Constant<0>
try.c: 0x55c4d0ea84e0: i32 = Constant<0>
try.c: 0x55c4d0ea84e0: 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: 0x55c99e27cc60: v4i64 = X86ISD::VTRUNC 0x55c99e27cb30
try.c: 0x55c99e27cb30: v16i32 = vselect 0x55c99e279640, 0x55c99e218990, 0x55c99e27ca00
try.c: 0x55c99e279640: v4i1 = X86ISD::PCMPGTM 0x55c99e2749f0, 0x55c99e270580
try.c: 0x55c99e2749f0: v4i64 = X86ISD::VBROADCAST 0x55c99e21e1b0
try.c: 0x55c99e21e1b0: i64,ch = load<LD8[%lsr.iv6971]> 0x55c99e1859d0, 0x55c99e1d6610, undef:i64
try.c: 0x55c99e1d6610: i64,ch = CopyFromReg 0x55c99e1859d0, Register:i64 %vreg50
try.c: 0x55c99e2707e0: i64 = Register %vreg50
try.c: 0x55c99e21f680: i64 = undef
try.c: 0x55c99e270580: v4i64,ch = CopyFromReg 0x55c99e1859d0, Register:v4i64 %vreg13
try.c: 0x55c99e275240: v4i64 = Register %vreg13
try.c: 0x55c99e218990: v16i32 = X86ISD::VBROADCAST 0x55c99e274c50
try.c: 0x55c99e274c50: i32,ch = load<LD4[ConstantPool]> 0x55c99e1859d0, 0x55c99e203030, undef:i64
try.c: 0x55c99e203030: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c99e2112f0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c99e21f680: i64 = undef
try.c: 0x55c99e27ca00: 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: 0x55c99e27c8d0: i32 = Constant<0>
try.c: 0x55c99e27c8d0: i32 = Constant<0>
try.c: 0x55c99e27c8d0: i32 = Constant<0>
try.c: 0x55c99e27c8d0: i32 = Constant<0>
try.c: 0x55c99e27c8d0: i32 = Constant<0>
try.c: 0x55c99e27c8d0: i32 = Constant<0>
try.c: 0x55c99e27c8d0: i32 = Constant<0>
try.c: 0x55c99e27c8d0: i32 = Constant<0>
try.c: 0x55c99e27c8d0: 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: 0x5646cabdfbc0: v4i64 = X86ISD::VTRUNC 0x5646cabdfa90
try.c: 0x5646cabdfa90: v16i32 = vselect 0x5646cabcba90, 0x5646cab72a60, 0x5646cabdf960
try.c: 0x5646cabcba90: v4i1 = X86ISD::PCMPGTM 0x5646cabc5240, 0x5646cabc0dd0
try.c: 0x5646cabc5240: v4i64 = X86ISD::VBROADCAST 0x5646cab90800
try.c: 0x5646cab90800: i64,ch = load<LD8[%lsr.iv6971]> 0x5646caad5960, 0x5646cabb7740, undef:i64
try.c: 0x5646cabb7740: i64,ch = CopyFromReg 0x5646caad5960, Register:i64 %vreg50
try.c: 0x5646cabc1030: i64 = Register %vreg50
try.c: 0x5646cab710d0: i64 = undef
try.c: 0x5646cabc0dd0: v4i64,ch = CopyFromReg 0x5646caad5960, Register:v4i64 %vreg13
try.c: 0x5646cabc5a90: v4i64 = Register %vreg13
try.c: 0x5646cab72a60: v16i32 = X86ISD::VBROADCAST 0x5646cabc54a0
try.c: 0x5646cabc54a0: i32,ch = load<LD4[ConstantPool]> 0x5646caad5960, 0x5646cab8fde0, undef:i64
try.c: 0x5646cab8fde0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5646cab7a740: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5646cab710d0: i64 = undef
try.c: 0x5646cabdf960: 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: 0x5646cabdf830: i32 = Constant<0>
try.c: 0x5646cabdf830: i32 = Constant<0>
try.c: 0x5646cabdf830: i32 = Constant<0>
try.c: 0x5646cabdf830: i32 = Constant<0>
try.c: 0x5646cabdf830: i32 = Constant<0>
try.c: 0x5646cabdf830: i32 = Constant<0>
try.c: 0x5646cabdf830: i32 = Constant<0>
try.c: 0x5646cabdf830: i32 = Constant<0>
try.c: 0x5646cabdf830: 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: 0x55db1ad1a580: v4i64 = X86ISD::VTRUNC 0x55db1ad1a450
try.c: 0x55db1ad1a450: v16i32 = vselect 0x55db1ad14f50, 0x55db1aca8e50, 0x55db1ad1a320
try.c: 0x55db1ad14f50: v4i1 = X86ISD::PCMPGTM 0x55db1ad0e400, 0x55db1ad09980
try.c: 0x55db1ad0e400: v4i64 = X86ISD::VBROADCAST 0x55db1aca9310
try.c: 0x55db1aca9310: i64,ch = load<LD8[%lsr.iv6971]> 0x55db1ac07a20, 0x55db1aca1ba0, undef:i64
try.c: 0x55db1aca1ba0: i64,ch = CopyFromReg 0x55db1ac07a20, Register:i64 %vreg50
try.c: 0x55db1ad09be0: i64 = Register %vreg50
try.c: 0x55db1ac9aa30: i64 = undef
try.c: 0x55db1ad09980: v4i64,ch = CopyFromReg 0x55db1ac07a20, Register:v4i64 %vreg13
try.c: 0x55db1ad0ec50: v4i64 = Register %vreg13
try.c: 0x55db1aca8e50: v16i32 = X86ISD::VBROADCAST 0x55db1ad0e660
try.c: 0x55db1ad0e660: i32,ch = load<LD4[ConstantPool]> 0x55db1ac07a20, 0x55db1acc0b00, undef:i64
try.c: 0x55db1acc0b00: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55db1ac9b3b0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55db1ac9aa30: i64 = undef
try.c: 0x55db1ad1a320: 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: 0x55db1ad1a1f0: i32 = Constant<0>
try.c: 0x55db1ad1a1f0: i32 = Constant<0>
try.c: 0x55db1ad1a1f0: i32 = Constant<0>
try.c: 0x55db1ad1a1f0: i32 = Constant<0>
try.c: 0x55db1ad1a1f0: i32 = Constant<0>
try.c: 0x55db1ad1a1f0: i32 = Constant<0>
try.c: 0x55db1ad1a1f0: i32 = Constant<0>
try.c: 0x55db1ad1a1f0: i32 = Constant<0>
try.c: 0x55db1ad1a1f0: 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: 0x55b62b3afb00: v4i64 = X86ISD::VTRUNC 0x55b62b3af9d0
try.c: 0x55b62b3af9d0: v16i32 = vselect 0x55b62b39ed70, 0x55b62b34cd90, 0x55b62b3af8a0
try.c: 0x55b62b39ed70: v4i1 = X86ISD::PCMPGTM 0x55b62b3a7950, 0x55b62b3a34e0
try.c: 0x55b62b3a7950: v4i64 = X86ISD::VBROADCAST 0x55b62b347df0
try.c: 0x55b62b347df0: i64,ch = load<LD8[%lsr.iv6971]> 0x55b62b2b8930, 0x55b62b38e990, undef:i64
try.c: 0x55b62b38e990: i64,ch = CopyFromReg 0x55b62b2b8930, Register:i64 %vreg50
try.c: 0x55b62b3a3740: i64 = Register %vreg50
try.c: 0x55b62b34b400: i64 = undef
try.c: 0x55b62b3a34e0: v4i64,ch = CopyFromReg 0x55b62b2b8930, Register:v4i64 %vreg13
try.c: 0x55b62b3a81a0: v4i64 = Register %vreg13
try.c: 0x55b62b34cd90: v16i32 = X86ISD::VBROADCAST 0x55b62b3a7bb0
try.c: 0x55b62b3a7bb0: i32,ch = load<LD4[ConstantPool]> 0x55b62b2b8930, 0x55b62b3473d0, undef:i64
try.c: 0x55b62b3473d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55b62b36cde0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55b62b34b400: i64 = undef
try.c: 0x55b62b3af8a0: 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: 0x55b62b3af770: i32 = Constant<0>
try.c: 0x55b62b3af770: i32 = Constant<0>
try.c: 0x55b62b3af770: i32 = Constant<0>
try.c: 0x55b62b3af770: i32 = Constant<0>
try.c: 0x55b62b3af770: i32 = Constant<0>
try.c: 0x55b62b3af770: i32 = Constant<0>
try.c: 0x55b62b3af770: i32 = Constant<0>
try.c: 0x55b62b3af770: i32 = Constant<0>
try.c: 0x55b62b3af770: 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