Implementation notes: amd64, cel02, crypto_sign/sphincss128harakasimple

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_sign
Primitive: sphincss128harakasimple
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
44194580023129 0 048730 808 2880T:aesniclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
75084370424597 0 051911 840 2912T:aesnigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
76262001831522 0 062047 840 2944T:aesnigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
101118157624439 0 051359 840 2912T:aesnigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
680897746620151 0 128047552 816 2880T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1073848031627618 0 128058031 840 2944T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1434330507016020 0 128041730 808 2880T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1570539616616912 0 128043879 840 2912T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1588717857617485 0 128044823 840 2912T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1696969540415235 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: 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: 0x55e753fd88d0: v4i64 = X86ISD::VTRUNC 0x55e753fd87a0
try.c: 0x55e753fd87a0: v16i32 = vselect 0x55e753fcbb40, 0x55e753f7bac0, 0x55e753fd8670
try.c: 0x55e753fcbb40: v4i1 = X86ISD::PCMPGTM 0x55e753fd3710, 0x55e753fcf2a0
try.c: 0x55e753fd3710: v4i64 = X86ISD::VBROADCAST 0x55e753f785f0
try.c: 0x55e753f785f0: i64,ch = load<LD8[%lsr.iv6971]> 0x55e753ee4960, 0x55e753fc28a0, undef:i64
try.c: 0x55e753fc28a0: i64,ch = CopyFromReg 0x55e753ee4960, Register:i64 %vreg50
try.c: 0x55e753fcf500: i64 = Register %vreg50
try.c: 0x55e753f7a130: i64 = undef
try.c: 0x55e753fcf2a0: v4i64,ch = CopyFromReg 0x55e753ee4960, Register:v4i64 %vreg13
try.c: 0x55e753fd3f60: v4i64 = Register %vreg13
try.c: 0x55e753f7bac0: v16i32 = X86ISD::VBROADCAST 0x55e753fd3970
try.c: 0x55e753fd3970: i32,ch = load<LD4[ConstantPool]> 0x55e753ee4960, 0x55e753f77bd0, undef:i64
try.c: 0x55e753f77bd0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e753f6eac0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e753f7a130: i64 = undef
try.c: 0x55e753fd8670: 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: 0x55e753fd8540: i32 = Constant<0>
try.c: 0x55e753fd8540: i32 = Constant<0>
try.c: 0x55e753fd8540: i32 = Constant<0>
try.c: 0x55e753fd8540: i32 = Constant<0>
try.c: 0x55e753fd8540: i32 = Constant<0>
try.c: 0x55e753fd8540: i32 = Constant<0>
try.c: 0x55e753fd8540: i32 = Constant<0>
try.c: 0x55e753fd8540: i32 = Constant<0>
try.c: 0x55e753fd8540: 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: 0x565363832e60: v4i64 = X86ISD::VTRUNC 0x565363832d30
try.c: 0x565363832d30: v16i32 = vselect 0x56536381def0, 0x5653637af720, 0x565363832c00
try.c: 0x56536381def0: v4i1 = X86ISD::PCMPGTM 0x565363819ec0, 0x565363816050
try.c: 0x565363819ec0: v4i64 = X86ISD::VBROADCAST 0x5653637afbe0
try.c: 0x5653637afbe0: i64,ch = load<LD8[%lsr.iv6971]> 0x565363713a40, 0x5653637c8970, undef:i64
try.c: 0x5653637c8970: i64,ch = CopyFromReg 0x565363713a40, Register:i64 %vreg50
try.c: 0x5653638162b0: i64 = Register %vreg50
try.c: 0x5653637c2f50: i64 = undef
try.c: 0x565363816050: v4i64,ch = CopyFromReg 0x565363713a40, Register:v4i64 %vreg13
try.c: 0x56536381a710: v4i64 = Register %vreg13
try.c: 0x5653637af720: v16i32 = X86ISD::VBROADCAST 0x56536381a120
try.c: 0x56536381a120: i32,ch = load<LD4[ConstantPool]> 0x565363713a40, 0x5653637b28e0, undef:i64
try.c: 0x5653637b28e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5653637c38d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5653637c2f50: i64 = undef
try.c: 0x565363832c00: 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: 0x565363832ad0: i32 = Constant<0>
try.c: 0x565363832ad0: i32 = Constant<0>
try.c: 0x565363832ad0: i32 = Constant<0>
try.c: 0x565363832ad0: i32 = Constant<0>
try.c: 0x565363832ad0: i32 = Constant<0>
try.c: 0x565363832ad0: i32 = Constant<0>
try.c: 0x565363832ad0: i32 = Constant<0>
try.c: 0x565363832ad0: i32 = Constant<0>
try.c: 0x565363832ad0: 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: 0x557ce48ddb80: v4i64 = X86ISD::VTRUNC 0x557ce48dda50
try.c: 0x557ce48dda50: v16i32 = vselect 0x557ce48e5d70, 0x557ce486c4d0, 0x557ce48dd920
try.c: 0x557ce48e5d70: v4i1 = X86ISD::PCMPGTM 0x557ce48c4210, 0x557ce48bfda0
try.c: 0x557ce48c4210: v4i64 = X86ISD::VBROADCAST 0x557ce4869670
try.c: 0x557ce4869670: i64,ch = load<LD8[%lsr.iv6971]> 0x557ce47d4960, 0x557ce48b7490, undef:i64
try.c: 0x557ce48b7490: i64,ch = CopyFromReg 0x557ce47d4960, Register:i64 %vreg50
try.c: 0x557ce48c0000: i64 = Register %vreg50
try.c: 0x557ce486ab40: i64 = undef
try.c: 0x557ce48bfda0: v4i64,ch = CopyFromReg 0x557ce47d4960, Register:v4i64 %vreg13
try.c: 0x557ce48c4a60: v4i64 = Register %vreg13
try.c: 0x557ce486c4d0: v16i32 = X86ISD::VBROADCAST 0x557ce48c4470
try.c: 0x557ce48c4470: i32,ch = load<LD4[ConstantPool]> 0x557ce47d4960, 0x557ce4867b50, undef:i64
try.c: 0x557ce4867b50: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x557ce48a86f0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x557ce486ab40: i64 = undef
try.c: 0x557ce48dd920: 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: 0x557ce48dd7f0: i32 = Constant<0>
try.c: 0x557ce48dd7f0: i32 = Constant<0>
try.c: 0x557ce48dd7f0: i32 = Constant<0>
try.c: 0x557ce48dd7f0: i32 = Constant<0>
try.c: 0x557ce48dd7f0: i32 = Constant<0>
try.c: 0x557ce48dd7f0: i32 = Constant<0>
try.c: 0x557ce48dd7f0: i32 = Constant<0>
try.c: 0x557ce48dd7f0: i32 = Constant<0>
try.c: 0x557ce48dd7f0: 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: 0x5565c5dcb4c0: v4i64 = X86ISD::VTRUNC 0x5565c5dcb390
try.c: 0x5565c5dcb390: v16i32 = vselect 0x5565c5dbef30, 0x5565c5d6e190, 0x5565c5dcb260
try.c: 0x5565c5dbef30: v4i1 = X86ISD::PCMPGTM 0x5565c5dc6b00, 0x5565c5dc2690
try.c: 0x5565c5dc6b00: v4i64 = X86ISD::VBROADCAST 0x5565c5d6a0f0
try.c: 0x5565c5d6a0f0: i64,ch = load<LD8[%lsr.iv6971]> 0x5565c5cd7950, 0x5565c5dae130, undef:i64
try.c: 0x5565c5dae130: i64,ch = CopyFromReg 0x5565c5cd7950, Register:i64 %vreg50
try.c: 0x5565c5dc28f0: i64 = Register %vreg50
try.c: 0x5565c5d6b5c0: i64 = undef
try.c: 0x5565c5dc2690: v4i64,ch = CopyFromReg 0x5565c5cd7950, Register:v4i64 %vreg13
try.c: 0x5565c5dc7350: v4i64 = Register %vreg13
try.c: 0x5565c5d6e190: v16i32 = X86ISD::VBROADCAST 0x5565c5dc6d60
try.c: 0x5565c5dc6d60: i32,ch = load<LD4[ConstantPool]> 0x5565c5cd7950, 0x5565c5d829d0, undef:i64
try.c: 0x5565c5d829d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5565c5db1960: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5565c5d6b5c0: i64 = undef
try.c: 0x5565c5dcb260: 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: 0x5565c5dcb130: i32 = Constant<0>
try.c: 0x5565c5dcb130: i32 = Constant<0>
try.c: 0x5565c5dcb130: i32 = Constant<0>
try.c: 0x5565c5dcb130: i32 = Constant<0>
try.c: 0x5565c5dcb130: i32 = Constant<0>
try.c: 0x5565c5dcb130: i32 = Constant<0>
try.c: 0x5565c5dcb130: i32 = Constant<0>
try.c: 0x5565c5dcb130: i32 = Constant<0>
try.c: 0x5565c5dcb130: 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: 0x560c60fe6fb0: v4i64 = X86ISD::VTRUNC 0x560c60fe6e80
try.c: 0x560c60fe6e80: v16i32 = vselect 0x560c60fe1980, 0x560c60f72b00, 0x560c60fe6d50
try.c: 0x560c60fe1980: v4i1 = X86ISD::PCMPGTM 0x560c60fda560, 0x560c60fd7870
try.c: 0x560c60fda560: v4i64 = X86ISD::VBROADCAST 0x560c60f72fc0
try.c: 0x560c60f72fc0: i64,ch = load<LD8[%lsr.iv6971]> 0x560c60ed4a30, 0x560c60f83c40, undef:i64
try.c: 0x560c60f83c40: i64,ch = CopyFromReg 0x560c60ed4a30, Register:i64 %vreg50
try.c: 0x560c60fd7ad0: i64 = Register %vreg50
try.c: 0x560c60f6eb20: i64 = undef
try.c: 0x560c60fd7870: v4i64,ch = CopyFromReg 0x560c60ed4a30, Register:v4i64 %vreg13
try.c: 0x560c60fdadb0: v4i64 = Register %vreg13
try.c: 0x560c60f72b00: v16i32 = X86ISD::VBROADCAST 0x560c60fda7c0
try.c: 0x560c60fda7c0: i32,ch = load<LD4[ConstantPool]> 0x560c60ed4a30, 0x560c60f8a400, undef:i64
try.c: 0x560c60f8a400: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x560c60f6f4a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x560c60f6eb20: i64 = undef
try.c: 0x560c60fe6d50: 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: 0x560c60fe6c20: i32 = Constant<0>
try.c: 0x560c60fe6c20: i32 = Constant<0>
try.c: 0x560c60fe6c20: i32 = Constant<0>
try.c: 0x560c60fe6c20: i32 = Constant<0>
try.c: 0x560c60fe6c20: i32 = Constant<0>
try.c: 0x560c60fe6c20: i32 = Constant<0>
try.c: 0x560c60fe6c20: i32 = Constant<0>
try.c: 0x560c60fe6c20: i32 = Constant<0>
try.c: 0x560c60fe6c20: 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: 0x5642b29d92b0: v4i64 = X86ISD::VTRUNC 0x5642b29d9180
try.c: 0x5642b29d9180: v16i32 = vselect 0x5642b29d3c80, 0x5642b2994f30, 0x5642b29d9050
try.c: 0x5642b29d3c80: v4i1 = X86ISD::PCMPGTM 0x5642b29cf050, 0x5642b29cabe0
try.c: 0x5642b29cf050: v4i64 = X86ISD::VBROADCAST 0x5642b296e9f0
try.c: 0x5642b296e9f0: i64,ch = load<LD8[%lsr.iv6971]> 0x5642b28df950, 0x5642b29c1320, undef:i64
try.c: 0x5642b29c1320: i64,ch = CopyFromReg 0x5642b28df950, Register:i64 %vreg50
try.c: 0x5642b29cae40: i64 = Register %vreg50
try.c: 0x5642b296fec0: i64 = undef
try.c: 0x5642b29cabe0: v4i64,ch = CopyFromReg 0x5642b28df950, Register:v4i64 %vreg13
try.c: 0x5642b29cf8a0: v4i64 = Register %vreg13
try.c: 0x5642b2994f30: v16i32 = X86ISD::VBROADCAST 0x5642b29cf2b0
try.c: 0x5642b29cf2b0: i32,ch = load<LD4[ConstantPool]> 0x5642b28df950, 0x5642b296dfd0, undef:i64
try.c: 0x5642b296dfd0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5642b2976210: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5642b296fec0: i64 = undef
try.c: 0x5642b29d9050: 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: 0x5642b29d8f20: i32 = Constant<0>
try.c: 0x5642b29d8f20: i32 = Constant<0>
try.c: 0x5642b29d8f20: i32 = Constant<0>
try.c: 0x5642b29d8f20: i32 = Constant<0>
try.c: 0x5642b29d8f20: i32 = Constant<0>
try.c: 0x5642b29d8f20: i32 = Constant<0>
try.c: 0x5642b29d8f20: i32 = Constant<0>
try.c: 0x5642b29d8f20: i32 = Constant<0>
try.c: 0x5642b29d8f20: 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