Implementation notes: amd64, cel02, crypto_sign/sphincss256harakasimple

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_sign
Primitive: sphincss256harakasimple
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
63964743025117 0 052183 840 2912T:aesnigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
113999630425415 0 052887 840 2912T:aesnigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
123893755232544 0 063239 840 2944T:aesnigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1770320058828087 0 128058647 840 2944T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2146648271421604 0 128049080 816 2880T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2263621297816055 0 128041826 808 2880T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2461250297617269 0 128044367 840 2912T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2464057902417832 0 128045295 840 2912T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2594757345415230 0 128041079 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: 0x5562a3228cb0: v4i64 = X86ISD::VTRUNC 0x5562a3228b80
try.c: 0x5562a3228b80: v16i32 = vselect 0x5562a323aef0, 0x5562a31c6a20, 0x5562a3228a50
try.c: 0x5562a323aef0: v4i1 = X86ISD::PCMPGTM 0x5562a321fb50, 0x5562a321b6e0
try.c: 0x5562a321fb50: v4i64 = X86ISD::VBROADCAST 0x5562a31e9240
try.c: 0x5562a31e9240: i64,ch = load<LD8[%lsr.iv6971]> 0x5562a3130960, 0x5562a3216540, undef:i64
try.c: 0x5562a3216540: i64,ch = CopyFromReg 0x5562a3130960, Register:i64 %vreg50
try.c: 0x5562a321b940: i64 = Register %vreg50
try.c: 0x5562a31ea710: i64 = undef
try.c: 0x5562a321b6e0: v4i64,ch = CopyFromReg 0x5562a3130960, Register:v4i64 %vreg13
try.c: 0x5562a32203a0: v4i64 = Register %vreg13
try.c: 0x5562a31c6a20: v16i32 = X86ISD::VBROADCAST 0x5562a321fdb0
try.c: 0x5562a321fdb0: i32,ch = load<LD4[ConstantPool]> 0x5562a3130960, 0x5562a31e8820, undef:i64
try.c: 0x5562a31e8820: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5562a3206c90: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5562a31ea710: i64 = undef
try.c: 0x5562a3228a50: 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: 0x5562a3228920: i32 = Constant<0>
try.c: 0x5562a3228920: i32 = Constant<0>
try.c: 0x5562a3228920: i32 = Constant<0>
try.c: 0x5562a3228920: i32 = Constant<0>
try.c: 0x5562a3228920: i32 = Constant<0>
try.c: 0x5562a3228920: i32 = Constant<0>
try.c: 0x5562a3228920: i32 = Constant<0>
try.c: 0x5562a3228920: i32 = Constant<0>
try.c: 0x5562a3228920: 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: 0x55e106030650: v4i64 = X86ISD::VTRUNC 0x55e106030520
try.c: 0x55e106030520: v16i32 = vselect 0x55e106020f50, 0x55e105fac2b0, 0x55e1060303f0
try.c: 0x55e106020f50: v4i1 = X86ISD::PCMPGTM 0x55e106018cc0, 0x55e106014850
try.c: 0x55e106018cc0: v4i64 = X86ISD::VBROADCAST 0x55e105fac770
try.c: 0x55e105fac770: i64,ch = load<LD8[%lsr.iv6971]> 0x55e105f12a40, 0x55e105fc1fe0, undef:i64
try.c: 0x55e105fc1fe0: i64,ch = CopyFromReg 0x55e105f12a40, Register:i64 %vreg50
try.c: 0x55e106014ab0: i64 = Register %vreg50
try.c: 0x55e105fda510: i64 = undef
try.c: 0x55e106014850: v4i64,ch = CopyFromReg 0x55e105f12a40, Register:v4i64 %vreg13
try.c: 0x55e106019510: v4i64 = Register %vreg13
try.c: 0x55e105fac2b0: v16i32 = X86ISD::VBROADCAST 0x55e106018f20
try.c: 0x55e106018f20: i32,ch = load<LD4[ConstantPool]> 0x55e105f12a40, 0x55e105fb08b0, undef:i64
try.c: 0x55e105fb08b0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e105fdae90: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e105fda510: i64 = undef
try.c: 0x55e1060303f0: 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: 0x55e1060302c0: i32 = Constant<0>
try.c: 0x55e1060302c0: i32 = Constant<0>
try.c: 0x55e1060302c0: i32 = Constant<0>
try.c: 0x55e1060302c0: i32 = Constant<0>
try.c: 0x55e1060302c0: i32 = Constant<0>
try.c: 0x55e1060302c0: i32 = Constant<0>
try.c: 0x55e1060302c0: i32 = Constant<0>
try.c: 0x55e1060302c0: i32 = Constant<0>
try.c: 0x55e1060302c0: 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: 0x55af7fb6bff0: v4i64 = X86ISD::VTRUNC 0x55af7fb6bec0
try.c: 0x55af7fb6bec0: v16i32 = vselect 0x55af7fb669c0, 0x55af7fb32ca0, 0x55af7fb6bd90
try.c: 0x55af7fb669c0: v4i1 = X86ISD::PCMPGTM 0x55af7fb659b0, 0x55af7fb61540
try.c: 0x55af7fb659b0: v4i64 = X86ISD::VBROADCAST 0x55af7fb2fe40
try.c: 0x55af7fb2fe40: i64,ch = load<LD8[%lsr.iv6971]> 0x55af7fa76960, 0x55af7fb4fc30, undef:i64
try.c: 0x55af7fb4fc30: i64,ch = CopyFromReg 0x55af7fa76960, Register:i64 %vreg50
try.c: 0x55af7fb617a0: i64 = Register %vreg50
try.c: 0x55af7fb31310: i64 = undef
try.c: 0x55af7fb61540: v4i64,ch = CopyFromReg 0x55af7fa76960, Register:v4i64 %vreg13
try.c: 0x55af7fb66200: v4i64 = Register %vreg13
try.c: 0x55af7fb32ca0: v16i32 = X86ISD::VBROADCAST 0x55af7fb65c10
try.c: 0x55af7fb65c10: i32,ch = load<LD4[ConstantPool]> 0x55af7fa76960, 0x55af7fb09ef0, undef:i64
try.c: 0x55af7fb09ef0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55af7fb2ce50: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55af7fb31310: i64 = undef
try.c: 0x55af7fb6bd90: 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: 0x55af7fb6bc60: i32 = Constant<0>
try.c: 0x55af7fb6bc60: i32 = Constant<0>
try.c: 0x55af7fb6bc60: i32 = Constant<0>
try.c: 0x55af7fb6bc60: i32 = Constant<0>
try.c: 0x55af7fb6bc60: i32 = Constant<0>
try.c: 0x55af7fb6bc60: i32 = Constant<0>
try.c: 0x55af7fb6bc60: i32 = Constant<0>
try.c: 0x55af7fb6bc60: i32 = Constant<0>
try.c: 0x55af7fb6bc60: 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: 0x561c22b0c510: v4i64 = X86ISD::VTRUNC 0x561c22b0c3e0
try.c: 0x561c22b0c3e0: v16i32 = vselect 0x561c22b06ee0, 0x561c22a8fea0, 0x561c22b0c2b0
try.c: 0x561c22b06ee0: v4i1 = X86ISD::PCMPGTM 0x561c22aefb70, 0x561c22aeb700
try.c: 0x561c22aefb70: v4i64 = X86ISD::VBROADCAST 0x561c22a98180
try.c: 0x561c22a98180: i64,ch = load<LD8[%lsr.iv6971]> 0x561c22a00950, 0x561c22ae2600, undef:i64
try.c: 0x561c22ae2600: i64,ch = CopyFromReg 0x561c22a00950, Register:i64 %vreg50
try.c: 0x561c22aeb960: i64 = Register %vreg50
try.c: 0x561c22a8e510: i64 = undef
try.c: 0x561c22aeb700: v4i64,ch = CopyFromReg 0x561c22a00950, Register:v4i64 %vreg13
try.c: 0x561c22af03c0: v4i64 = Register %vreg13
try.c: 0x561c22a8fea0: v16i32 = X86ISD::VBROADCAST 0x561c22aefdd0
try.c: 0x561c22aefdd0: i32,ch = load<LD4[ConstantPool]> 0x561c22a00950, 0x561c22a97760, undef:i64
try.c: 0x561c22a97760: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x561c22ad95f0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x561c22a8e510: i64 = undef
try.c: 0x561c22b0c2b0: 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: 0x561c22b0c180: i32 = Constant<0>
try.c: 0x561c22b0c180: i32 = Constant<0>
try.c: 0x561c22b0c180: i32 = Constant<0>
try.c: 0x561c22b0c180: i32 = Constant<0>
try.c: 0x561c22b0c180: i32 = Constant<0>
try.c: 0x561c22b0c180: i32 = Constant<0>
try.c: 0x561c22b0c180: i32 = Constant<0>
try.c: 0x561c22b0c180: i32 = Constant<0>
try.c: 0x561c22b0c180: 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: 0x55c36b8b6280: v4i64 = X86ISD::VTRUNC 0x55c36b8b6150
try.c: 0x55c36b8b6150: v16i32 = vselect 0x55c36b89d620, 0x55c36b83c520, 0x55c36b8b6020
try.c: 0x55c36b89d620: v4i1 = X86ISD::PCMPGTM 0x55c36b8927e0, 0x55c36b88e370
try.c: 0x55c36b8927e0: v4i64 = X86ISD::VBROADCAST 0x55c36b83c9e0
try.c: 0x55c36b83c9e0: i64,ch = load<LD8[%lsr.iv6971]> 0x55c36b78ba10, 0x55c36b82c230, undef:i64
try.c: 0x55c36b82c230: i64,ch = CopyFromReg 0x55c36b78ba10, Register:i64 %vreg50
try.c: 0x55c36b88e5d0: i64 = Register %vreg50
try.c: 0x55c36b834bf0: i64 = undef
try.c: 0x55c36b88e370: v4i64,ch = CopyFromReg 0x55c36b78ba10, Register:v4i64 %vreg13
try.c: 0x55c36b893030: v4i64 = Register %vreg13
try.c: 0x55c36b83c520: v16i32 = X86ISD::VBROADCAST 0x55c36b892a40
try.c: 0x55c36b892a40: i32,ch = load<LD4[ConstantPool]> 0x55c36b78ba10, 0x55c36b826910, undef:i64
try.c: 0x55c36b826910: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c36b835570: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c36b834bf0: i64 = undef
try.c: 0x55c36b8b6020: 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: 0x55c36b8b5ef0: i32 = Constant<0>
try.c: 0x55c36b8b5ef0: i32 = Constant<0>
try.c: 0x55c36b8b5ef0: i32 = Constant<0>
try.c: 0x55c36b8b5ef0: i32 = Constant<0>
try.c: 0x55c36b8b5ef0: i32 = Constant<0>
try.c: 0x55c36b8b5ef0: i32 = Constant<0>
try.c: 0x55c36b8b5ef0: i32 = Constant<0>
try.c: 0x55c36b8b5ef0: i32 = Constant<0>
try.c: 0x55c36b8b5ef0: 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: 0x55f1177d6fc0: v4i64 = X86ISD::VTRUNC 0x55f1177d6e90
try.c: 0x55f1177d6e90: v16i32 = vselect 0x55f1177d1990, 0x55f117770730, 0x55f1177d6d60
try.c: 0x55f1177d1990: v4i1 = X86ISD::PCMPGTM 0x55f1177d0980, 0x55f1177cc510
try.c: 0x55f1177d0980: v4i64 = X86ISD::VBROADCAST 0x55f1177735c0
try.c: 0x55f1177735c0: i64,ch = load<LD8[%lsr.iv6971]> 0x55f1176e1950, 0x55f1177983f0, undef:i64
try.c: 0x55f1177983f0: i64,ch = CopyFromReg 0x55f1176e1950, Register:i64 %vreg50
try.c: 0x55f1177cc770: i64 = Register %vreg50
try.c: 0x55f117774a90: i64 = undef
try.c: 0x55f1177cc510: v4i64,ch = CopyFromReg 0x55f1176e1950, Register:v4i64 %vreg13
try.c: 0x55f1177d11d0: v4i64 = Register %vreg13
try.c: 0x55f117770730: v16i32 = X86ISD::VBROADCAST 0x55f1177d0be0
try.c: 0x55f1177d0be0: i32,ch = load<LD4[ConstantPool]> 0x55f1176e1950, 0x55f11777fef0, undef:i64
try.c: 0x55f11777fef0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55f1177ba2b0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55f117774a90: i64 = undef
try.c: 0x55f1177d6d60: 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: 0x55f1177d6c30: i32 = Constant<0>
try.c: 0x55f1177d6c30: i32 = Constant<0>
try.c: 0x55f1177d6c30: i32 = Constant<0>
try.c: 0x55f1177d6c30: i32 = Constant<0>
try.c: 0x55f1177d6c30: i32 = Constant<0>
try.c: 0x55f1177d6c30: i32 = Constant<0>
try.c: 0x55f1177d6c30: i32 = Constant<0>
try.c: 0x55f1177d6c30: i32 = Constant<0>
try.c: 0x55f1177d6c30: 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