Implementation notes: amd64, cel02, crypto_sign/sphincsf256harakasimple

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_sign
Primitive: sphincsf256harakasimple
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
12300498425392 0 052871 840 2912T:aesnigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
12401912625095 0 052167 840 2912T:aesnigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
13234564632229 0 062935 840 2944T:aesnigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
151936356816052 0 128041826 808 2880T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
192985716627740 0 128058311 840 2944T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
250332112421024 0 128048520 816 2880T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
271807424217809 0 128045279 840 2912T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
277138146417247 0 128044351 840 2912T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
305472202615219 0 128041063 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: 0x5591599e3c90: v4i64 = X86ISD::VTRUNC 0x5591599e3b60
try.c: 0x5591599e3b60: v16i32 = vselect 0x5591599e0670, 0x55915997beb0, 0x5591599e3a30
try.c: 0x5591599e0670: v4i1 = X86ISD::PCMPGTM 0x5591599dba20, 0x5591599d75b0
try.c: 0x5591599dba20: v4i64 = X86ISD::VBROADCAST 0x559159981f90
try.c: 0x559159981f90: i64,ch = load<LD8[%lsr.iv6971]> 0x5591598ec970, 0x5591599c5d70, undef:i64
try.c: 0x5591599c5d70: i64,ch = CopyFromReg 0x5591598ec970, Register:i64 %vreg50
try.c: 0x5591599d7810: i64 = Register %vreg50
try.c: 0x559159983460: i64 = undef
try.c: 0x5591599d75b0: v4i64,ch = CopyFromReg 0x5591598ec970, Register:v4i64 %vreg13
try.c: 0x5591599dc270: v4i64 = Register %vreg13
try.c: 0x55915997beb0: v16i32 = X86ISD::VBROADCAST 0x5591599dbc80
try.c: 0x5591599dbc80: i32,ch = load<LD4[ConstantPool]> 0x5591598ec970, 0x5591599803e0, undef:i64
try.c: 0x5591599803e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5591599c0910: i64 = TargetConstantPool<i32 1> 0
try.c: 0x559159983460: i64 = undef
try.c: 0x5591599e3a30: 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: 0x5591599e3900: i32 = Constant<0>
try.c: 0x5591599e3900: i32 = Constant<0>
try.c: 0x5591599e3900: i32 = Constant<0>
try.c: 0x5591599e3900: i32 = Constant<0>
try.c: 0x5591599e3900: i32 = Constant<0>
try.c: 0x5591599e3900: i32 = Constant<0>
try.c: 0x5591599e3900: i32 = Constant<0>
try.c: 0x5591599e3900: i32 = Constant<0>
try.c: 0x5591599e3900: 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: 0x556a6980c300: v4i64 = X86ISD::VTRUNC 0x556a6980c1d0
try.c: 0x556a6980c1d0: v16i32 = vselect 0x556a69806cd0, 0x556a6978c010, 0x556a6980c0a0
try.c: 0x556a69806cd0: v4i1 = X86ISD::PCMPGTM 0x556a697f2500, 0x556a697ee090
try.c: 0x556a697f2500: v4i64 = X86ISD::VBROADCAST 0x556a6978c4d0
try.c: 0x556a6978c4d0: i64,ch = load<LD8[%lsr.iv6971]> 0x556a696eba40, 0x556a697a4bc0, undef:i64
try.c: 0x556a697a4bc0: i64,ch = CopyFromReg 0x556a696eba40, Register:i64 %vreg50
try.c: 0x556a697ee2f0: i64 = Register %vreg50
try.c: 0x556a697abaa0: i64 = undef
try.c: 0x556a697ee090: v4i64,ch = CopyFromReg 0x556a696eba40, Register:v4i64 %vreg13
try.c: 0x556a697f2d50: v4i64 = Register %vreg13
try.c: 0x556a6978c010: v16i32 = X86ISD::VBROADCAST 0x556a697f2760
try.c: 0x556a697f2760: i32,ch = load<LD4[ConstantPool]> 0x556a696eba40, 0x556a6978e9b0, undef:i64
try.c: 0x556a6978e9b0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x556a697ac420: i64 = TargetConstantPool<i32 1> 0
try.c: 0x556a697abaa0: i64 = undef
try.c: 0x556a6980c0a0: 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: 0x556a6980bf70: i32 = Constant<0>
try.c: 0x556a6980bf70: i32 = Constant<0>
try.c: 0x556a6980bf70: i32 = Constant<0>
try.c: 0x556a6980bf70: i32 = Constant<0>
try.c: 0x556a6980bf70: i32 = Constant<0>
try.c: 0x556a6980bf70: i32 = Constant<0>
try.c: 0x556a6980bf70: i32 = Constant<0>
try.c: 0x556a6980bf70: i32 = Constant<0>
try.c: 0x556a6980bf70: 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: 0x562c60789cf0: v4i64 = X86ISD::VTRUNC 0x562c60789bc0
try.c: 0x562c60789bc0: v16i32 = vselect 0x562c607a3c60, 0x562c60725e50, 0x562c60789a90
try.c: 0x562c607a3c60: v4i1 = X86ISD::PCMPGTM 0x562c60781a90, 0x562c6077d620
try.c: 0x562c60781a90: v4i64 = X86ISD::VBROADCAST 0x562c60747a40
try.c: 0x562c60747a40: i64,ch = load<LD8[%lsr.iv6971]> 0x562c606928f0, 0x562c6076b950, undef:i64
try.c: 0x562c6076b950: i64,ch = CopyFromReg 0x562c606928f0, Register:i64 %vreg50
try.c: 0x562c6077d880: i64 = Register %vreg50
try.c: 0x562c607244c0: i64 = undef
try.c: 0x562c6077d620: v4i64,ch = CopyFromReg 0x562c606928f0, Register:v4i64 %vreg13
try.c: 0x562c607822e0: v4i64 = Register %vreg13
try.c: 0x562c60725e50: v16i32 = X86ISD::VBROADCAST 0x562c60781cf0
try.c: 0x562c60781cf0: i32,ch = load<LD4[ConstantPool]> 0x562c606928f0, 0x562c60747020, undef:i64
try.c: 0x562c60747020: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x562c6076cb50: i64 = TargetConstantPool<i32 1> 0
try.c: 0x562c607244c0: i64 = undef
try.c: 0x562c60789a90: 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: 0x562c60789960: i32 = Constant<0>
try.c: 0x562c60789960: i32 = Constant<0>
try.c: 0x562c60789960: i32 = Constant<0>
try.c: 0x562c60789960: i32 = Constant<0>
try.c: 0x562c60789960: i32 = Constant<0>
try.c: 0x562c60789960: i32 = Constant<0>
try.c: 0x562c60789960: i32 = Constant<0>
try.c: 0x562c60789960: i32 = Constant<0>
try.c: 0x562c60789960: 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: 0x562850b3a6c0: v4i64 = X86ISD::VTRUNC 0x562850b3a590
try.c: 0x562850b3a590: v16i32 = vselect 0x562850b41470, 0x562850ac4880, 0x562850b3a460
try.c: 0x562850b41470: v4i1 = X86ISD::PCMPGTM 0x562850b1fd40, 0x562850b1b8d0
try.c: 0x562850b1fd40: v4i64 = X86ISD::VBROADCAST 0x562850ac6cf0
try.c: 0x562850ac6cf0: i64,ch = load<LD8[%lsr.iv6971]> 0x562850a309c0, 0x562850b16730, undef:i64
try.c: 0x562850b16730: i64,ch = CopyFromReg 0x562850a309c0, Register:i64 %vreg50
try.c: 0x562850b1bb30: i64 = Register %vreg50
try.c: 0x562850ac2ef0: i64 = undef
try.c: 0x562850b1b8d0: v4i64,ch = CopyFromReg 0x562850a309c0, Register:v4i64 %vreg13
try.c: 0x562850b20590: v4i64 = Register %vreg13
try.c: 0x562850ac4880: v16i32 = X86ISD::VBROADCAST 0x562850b1ffa0
try.c: 0x562850b1ffa0: i32,ch = load<LD4[ConstantPool]> 0x562850a309c0, 0x562850ac62d0, undef:i64
try.c: 0x562850ac62d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x562850add240: i64 = TargetConstantPool<i32 1> 0
try.c: 0x562850ac2ef0: i64 = undef
try.c: 0x562850b3a460: 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: 0x562850b3a330: i32 = Constant<0>
try.c: 0x562850b3a330: i32 = Constant<0>
try.c: 0x562850b3a330: i32 = Constant<0>
try.c: 0x562850b3a330: i32 = Constant<0>
try.c: 0x562850b3a330: i32 = Constant<0>
try.c: 0x562850b3a330: i32 = Constant<0>
try.c: 0x562850b3a330: i32 = Constant<0>
try.c: 0x562850b3a330: i32 = Constant<0>
try.c: 0x562850b3a330: 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: 0x55838a1489f0: v4i64 = X86ISD::VTRUNC 0x55838a1488c0
try.c: 0x55838a1488c0: v16i32 = vselect 0x55838a135610, 0x55838a0d7ed0, 0x55838a148790
try.c: 0x55838a135610: v4i1 = X86ISD::PCMPGTM 0x55838a12e5f0, 0x55838a12ab80
try.c: 0x55838a12e5f0: v4i64 = X86ISD::VBROADCAST 0x55838a0d8390
try.c: 0x55838a0d8390: i64,ch = load<LD8[%lsr.iv6971]> 0x55838a028a30, 0x55838a0df490, undef:i64
try.c: 0x55838a0df490: i64,ch = CopyFromReg 0x55838a028a30, Register:i64 %vreg50
try.c: 0x55838a12ade0: i64 = Register %vreg50
try.c: 0x55838a0c8640: i64 = undef
try.c: 0x55838a12ab80: v4i64,ch = CopyFromReg 0x55838a028a30, Register:v4i64 %vreg13
try.c: 0x55838a12ee40: v4i64 = Register %vreg13
try.c: 0x55838a0d7ed0: v16i32 = X86ISD::VBROADCAST 0x55838a12e850
try.c: 0x55838a12e850: i32,ch = load<LD4[ConstantPool]> 0x55838a028a30, 0x55838a0dda60, undef:i64
try.c: 0x55838a0dda60: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55838a0c8fc0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55838a0c8640: i64 = undef
try.c: 0x55838a148790: 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: 0x55838a148660: i32 = Constant<0>
try.c: 0x55838a148660: i32 = Constant<0>
try.c: 0x55838a148660: i32 = Constant<0>
try.c: 0x55838a148660: i32 = Constant<0>
try.c: 0x55838a148660: i32 = Constant<0>
try.c: 0x55838a148660: i32 = Constant<0>
try.c: 0x55838a148660: i32 = Constant<0>
try.c: 0x55838a148660: i32 = Constant<0>
try.c: 0x55838a148660: 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: 0x564a02699250: v4i64 = X86ISD::VTRUNC 0x564a02699120
try.c: 0x564a02699120: v16i32 = vselect 0x564a02685530, 0x564a0263a720, 0x564a02698ff0
try.c: 0x564a02685530: v4i1 = X86ISD::PCMPGTM 0x564a0267e8d0, 0x564a0267a460
try.c: 0x564a0267e8d0: v4i64 = X86ISD::VBROADCAST 0x564a02622800
try.c: 0x564a02622800: i64,ch = load<LD8[%lsr.iv6971]> 0x564a0258f950, 0x564a02669fa0, undef:i64
try.c: 0x564a02669fa0: i64,ch = CopyFromReg 0x564a0258f950, Register:i64 %vreg50
try.c: 0x564a0267a6c0: i64 = Register %vreg50
try.c: 0x564a02638d90: i64 = undef
try.c: 0x564a0267a460: v4i64,ch = CopyFromReg 0x564a0258f950, Register:v4i64 %vreg13
try.c: 0x564a0267f120: v4i64 = Register %vreg13
try.c: 0x564a0263a720: v16i32 = X86ISD::VBROADCAST 0x564a0267eb30
try.c: 0x564a0267eb30: i32,ch = load<LD4[ConstantPool]> 0x564a0258f950, 0x564a02621de0, undef:i64
try.c: 0x564a02621de0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x564a025ebd00: i64 = TargetConstantPool<i32 1> 0
try.c: 0x564a02638d90: i64 = undef
try.c: 0x564a02698ff0: 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: 0x564a02698ec0: i32 = Constant<0>
try.c: 0x564a02698ec0: i32 = Constant<0>
try.c: 0x564a02698ec0: i32 = Constant<0>
try.c: 0x564a02698ec0: i32 = Constant<0>
try.c: 0x564a02698ec0: i32 = Constant<0>
try.c: 0x564a02698ec0: i32 = Constant<0>
try.c: 0x564a02698ec0: i32 = Constant<0>
try.c: 0x564a02698ec0: i32 = Constant<0>
try.c: 0x564a02698ec0: 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