Implementation notes: amd64, cel02, crypto_sign/sphincss192harakasimple

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_sign
Primitive: sphincss192harakasimple
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
106921646025156 0 052567 840 2912T:aesnigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
138016115623604 0 049258 808 2880T:aesniclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
164696118631836 0 062463 840 2944T:aesnigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
184470231024849 0 051847 840 2912T:aesnigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1413518705827569 0 128058071 840 2944T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1834499162217704 0 128045119 840 2912T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1935451190217110 0 128044143 840 2912T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3066521412420846 0 128048296 816 2880T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3198663901616253 0 128042018 808 2880T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3720295689215267 0 128041111 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: 0x5600440241b0: v4i64 = X86ISD::VTRUNC 0x560044024080
try.c: 0x560044024080: v16i32 = vselect 0x560044028750, 0x560043fae990, 0x560044023f50
try.c: 0x560044028750: v4i1 = X86ISD::PCMPGTM 0x56004400ca00, 0x560044008590
try.c: 0x56004400ca00: v4i64 = X86ISD::VBROADCAST 0x560043fabb30
try.c: 0x560043fabb30: i64,ch = load<LD8[%lsr.iv6971]> 0x560043f1d960, 0x5600440033f0, undef:i64
try.c: 0x5600440033f0: i64,ch = CopyFromReg 0x560043f1d960, Register:i64 %vreg50
try.c: 0x5600440087f0: i64 = Register %vreg50
try.c: 0x560043fad000: i64 = undef
try.c: 0x560044008590: v4i64,ch = CopyFromReg 0x560043f1d960, Register:v4i64 %vreg13
try.c: 0x56004400d250: v4i64 = Register %vreg13
try.c: 0x560043fae990: v16i32 = X86ISD::VBROADCAST 0x56004400cc60
try.c: 0x56004400cc60: i32,ch = load<LD4[ConstantPool]> 0x560043f1d960, 0x560043fbbb80, undef:i64
try.c: 0x560043fbbb80: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x560043ff2830: i64 = TargetConstantPool<i32 1> 0
try.c: 0x560043fad000: i64 = undef
try.c: 0x560044023f50: 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: 0x560044023e20: i32 = Constant<0>
try.c: 0x560044023e20: i32 = Constant<0>
try.c: 0x560044023e20: i32 = Constant<0>
try.c: 0x560044023e20: i32 = Constant<0>
try.c: 0x560044023e20: i32 = Constant<0>
try.c: 0x560044023e20: i32 = Constant<0>
try.c: 0x560044023e20: i32 = Constant<0>
try.c: 0x560044023e20: i32 = Constant<0>
try.c: 0x560044023e20: 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: 0x56511937a080: v4i64 = X86ISD::VTRUNC 0x565119379f50
try.c: 0x565119379f50: v16i32 = vselect 0x56511935d5b0, 0x5651192ef1e0, 0x565119379e20
try.c: 0x56511935d5b0: v4i1 = X86ISD::PCMPGTM 0x565119354390, 0x56511934f910
try.c: 0x565119354390: v4i64 = X86ISD::VBROADCAST 0x5651192ef6a0
try.c: 0x5651192ef6a0: i64,ch = load<LD8[%lsr.iv6971]> 0x56511924da40, 0x565119311e80, undef:i64
try.c: 0x565119311e80: i64,ch = CopyFromReg 0x56511924da40, Register:i64 %vreg50
try.c: 0x56511934fb70: i64 = Register %vreg50
try.c: 0x5651192ecab0: i64 = undef
try.c: 0x56511934f910: v4i64,ch = CopyFromReg 0x56511924da40, Register:v4i64 %vreg13
try.c: 0x565119354be0: v4i64 = Register %vreg13
try.c: 0x5651192ef1e0: v16i32 = X86ISD::VBROADCAST 0x5651193545f0
try.c: 0x5651193545f0: i32,ch = load<LD4[ConstantPool]> 0x56511924da40, 0x5651192e9780, undef:i64
try.c: 0x5651192e9780: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5651192ed430: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5651192ecab0: i64 = undef
try.c: 0x565119379e20: 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: 0x565119379cf0: i32 = Constant<0>
try.c: 0x565119379cf0: i32 = Constant<0>
try.c: 0x565119379cf0: i32 = Constant<0>
try.c: 0x565119379cf0: i32 = Constant<0>
try.c: 0x565119379cf0: i32 = Constant<0>
try.c: 0x565119379cf0: i32 = Constant<0>
try.c: 0x565119379cf0: i32 = Constant<0>
try.c: 0x565119379cf0: i32 = Constant<0>
try.c: 0x565119379cf0: 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: 0x561670f14740: v4i64 = X86ISD::VTRUNC 0x561670f14610
try.c: 0x561670f14610: v16i32 = vselect 0x561670f0f110, 0x561670eb4aa0, 0x561670f144e0
try.c: 0x561670f0f110: v4i1 = X86ISD::PCMPGTM 0x561670f0e100, 0x561670f09c90
try.c: 0x561670f0e100: v4i64 = X86ISD::VBROADCAST 0x561670eb1a60
try.c: 0x561670eb1a60: i64,ch = load<LD8[%lsr.iv6971]> 0x561670e1e950, 0x561670ef9670, undef:i64
try.c: 0x561670ef9670: i64,ch = CopyFromReg 0x561670e1e950, Register:i64 %vreg50
try.c: 0x561670f09ef0: i64 = Register %vreg50
try.c: 0x561670eb2f30: i64 = undef
try.c: 0x561670f09c90: v4i64,ch = CopyFromReg 0x561670e1e950, Register:v4i64 %vreg13
try.c: 0x561670f0e950: v4i64 = Register %vreg13
try.c: 0x561670eb4aa0: v16i32 = X86ISD::VBROADCAST 0x561670f0e360
try.c: 0x561670f0e360: i32,ch = load<LD4[ConstantPool]> 0x561670e1e950, 0x561670eb1040, undef:i64
try.c: 0x561670eb1040: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x561670ef4ef0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x561670eb2f30: i64 = undef
try.c: 0x561670f144e0: 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: 0x561670f143b0: i32 = Constant<0>
try.c: 0x561670f143b0: i32 = Constant<0>
try.c: 0x561670f143b0: i32 = Constant<0>
try.c: 0x561670f143b0: i32 = Constant<0>
try.c: 0x561670f143b0: i32 = Constant<0>
try.c: 0x561670f143b0: i32 = Constant<0>
try.c: 0x561670f143b0: i32 = Constant<0>
try.c: 0x561670f143b0: i32 = Constant<0>
try.c: 0x561670f143b0: 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: 0x55dcdd17ced0: v4i64 = X86ISD::VTRUNC 0x55dcdd17cda0
try.c: 0x55dcdd17cda0: v16i32 = vselect 0x55dcdd17ae90, 0x55dcdd11ffd0, 0x55dcdd17cc70
try.c: 0x55dcdd17ae90: v4i1 = X86ISD::PCMPGTM 0x55dcdd177e70, 0x55dcdd173a00
try.c: 0x55dcdd177e70: v4i64 = X86ISD::VBROADCAST 0x55dcdd14afe0
try.c: 0x55dcdd14afe0: i64,ch = load<LD8[%lsr.iv6971]> 0x55dcdd088950, 0x55dcdd16a590, undef:i64
try.c: 0x55dcdd16a590: i64,ch = CopyFromReg 0x55dcdd088950, Register:i64 %vreg50
try.c: 0x55dcdd173c60: i64 = Register %vreg50
try.c: 0x55dcdd11e640: i64 = undef
try.c: 0x55dcdd173a00: v4i64,ch = CopyFromReg 0x55dcdd088950, Register:v4i64 %vreg13
try.c: 0x55dcdd1786c0: v4i64 = Register %vreg13
try.c: 0x55dcdd11ffd0: v16i32 = X86ISD::VBROADCAST 0x55dcdd1780d0
try.c: 0x55dcdd1780d0: i32,ch = load<LD4[ConstantPool]> 0x55dcdd088950, 0x55dcdd14a5c0, undef:i64
try.c: 0x55dcdd14a5c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55dcdd15d950: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55dcdd11e640: i64 = undef
try.c: 0x55dcdd17cc70: 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: 0x55dcdd17cb40: i32 = Constant<0>
try.c: 0x55dcdd17cb40: i32 = Constant<0>
try.c: 0x55dcdd17cb40: i32 = Constant<0>
try.c: 0x55dcdd17cb40: i32 = Constant<0>
try.c: 0x55dcdd17cb40: i32 = Constant<0>
try.c: 0x55dcdd17cb40: i32 = Constant<0>
try.c: 0x55dcdd17cb40: i32 = Constant<0>
try.c: 0x55dcdd17cb40: i32 = Constant<0>
try.c: 0x55dcdd17cb40: 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: 0x5619415d1db0: v4i64 = X86ISD::VTRUNC 0x5619415d1c80
try.c: 0x5619415d1c80: v16i32 = vselect 0x5619415d6330, 0x56194155af50, 0x5619415d1b50
try.c: 0x5619415d6330: v4i1 = X86ISD::PCMPGTM 0x5619415b7ff0, 0x5619415b3fd0
try.c: 0x5619415b7ff0: v4i64 = X86ISD::VBROADCAST 0x56194155b410
try.c: 0x56194155b410: i64,ch = load<LD8[%lsr.iv6971]> 0x5619414b1a30, 0x56194154cb80, undef:i64
try.c: 0x56194154cb80: i64,ch = CopyFromReg 0x5619414b1a30, Register:i64 %vreg50
try.c: 0x5619415b4230: i64 = Register %vreg50
try.c: 0x5619415457e0: i64 = undef
try.c: 0x5619415b3fd0: v4i64,ch = CopyFromReg 0x5619414b1a30, Register:v4i64 %vreg13
try.c: 0x5619415b8840: v4i64 = Register %vreg13
try.c: 0x56194155af50: v16i32 = X86ISD::VBROADCAST 0x5619415b8250
try.c: 0x5619415b8250: i32,ch = load<LD4[ConstantPool]> 0x5619414b1a30, 0x561941554a10, undef:i64
try.c: 0x561941554a10: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x561941546160: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5619415457e0: i64 = undef
try.c: 0x5619415d1b50: 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: 0x5619415d1a20: i32 = Constant<0>
try.c: 0x5619415d1a20: i32 = Constant<0>
try.c: 0x5619415d1a20: i32 = Constant<0>
try.c: 0x5619415d1a20: i32 = Constant<0>
try.c: 0x5619415d1a20: i32 = Constant<0>
try.c: 0x5619415d1a20: i32 = Constant<0>
try.c: 0x5619415d1a20: i32 = Constant<0>
try.c: 0x5619415d1a20: i32 = Constant<0>
try.c: 0x5619415d1a20: 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: 0x563da10245b0: v4i64 = X86ISD::VTRUNC 0x563da1024480
try.c: 0x563da1024480: v16i32 = vselect 0x563da1042290, 0x563da0fc5b00, 0x563da1024350
try.c: 0x563da1042290: v4i1 = X86ISD::PCMPGTM 0x563da101ef80, 0x563da101ab10
try.c: 0x563da101ef80: v4i64 = X86ISD::VBROADCAST 0x563da0fbdad0
try.c: 0x563da0fbdad0: i64,ch = load<LD8[%lsr.iv6971]> 0x563da0f2f960, 0x563da1006760, undef:i64
try.c: 0x563da1006760: i64,ch = CopyFromReg 0x563da0f2f960, Register:i64 %vreg50
try.c: 0x563da101ad70: i64 = Register %vreg50
try.c: 0x563da0fbefa0: i64 = undef
try.c: 0x563da101ab10: v4i64,ch = CopyFromReg 0x563da0f2f960, Register:v4i64 %vreg13
try.c: 0x563da101f7d0: v4i64 = Register %vreg13
try.c: 0x563da0fc5b00: v16i32 = X86ISD::VBROADCAST 0x563da101f1e0
try.c: 0x563da101f1e0: i32,ch = load<LD4[ConstantPool]> 0x563da0f2f960, 0x563da0fc30d0, undef:i64
try.c: 0x563da0fc30d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x563da1003d10: i64 = TargetConstantPool<i32 1> 0
try.c: 0x563da0fbefa0: i64 = undef
try.c: 0x563da1024350: 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: 0x563da1024220: i32 = Constant<0>
try.c: 0x563da1024220: i32 = Constant<0>
try.c: 0x563da1024220: i32 = Constant<0>
try.c: 0x563da1024220: i32 = Constant<0>
try.c: 0x563da1024220: i32 = Constant<0>
try.c: 0x563da1024220: i32 = Constant<0>
try.c: 0x563da1024220: i32 = Constant<0>
try.c: 0x563da1024220: i32 = Constant<0>
try.c: 0x563da1024220: 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