Implementation notes: amd64, cel02, crypto_sign/sphincs256

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_sign
Primitive: sphincs256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
5938548268086 0 0105765 832 1664T:avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6978906462994 0 095604 800 1600T:avx2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
6986582464423 0 098541 832 1632T:avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7142879264513 0 099005 832 1632T:avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7372794262892 0 095669 824 1600T:avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7557096269200 0 0103610 808 1600T:avx2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
35223196411592 0 073053 832 1664T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3612980148412 0 066309 832 1632T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
5295710167165 0 063548 800 1600T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
5984370547211 0 063773 824 1600T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6057513128470 0 066781 832 1632T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
64140731611858 0 070074 808 1600T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:avx2
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: 0x556b6c2b9d10: v4i64 = X86ISD::VTRUNC 0x556b6c2b9be0
try.c: 0x556b6c2b9be0: v16i32 = vselect 0x556b6c2a1bf0, 0x556b6c23eb50, 0x556b6c2b9ab0
try.c: 0x556b6c2a1bf0: v4i1 = X86ISD::PCMPGTM 0x556b6c29a780, 0x556b6c296310
try.c: 0x556b6c29a780: v4i64 = X86ISD::VBROADCAST 0x556b6c240ee0
try.c: 0x556b6c240ee0: i64,ch = load<LD8[%lsr.iv6971]> 0x556b6c1ab940, 0x556b6c2824c0, undef:i64
try.c: 0x556b6c2824c0: i64,ch = CopyFromReg 0x556b6c1ab940, Register:i64 %vreg50
try.c: 0x556b6c296570: i64 = Register %vreg50
try.c: 0x556b6c23d1c0: i64 = undef
try.c: 0x556b6c296310: v4i64,ch = CopyFromReg 0x556b6c1ab940, Register:v4i64 %vreg13
try.c: 0x556b6c29afd0: v4i64 = Register %vreg13
try.c: 0x556b6c23eb50: v16i32 = X86ISD::VBROADCAST 0x556b6c29a9e0
try.c: 0x556b6c29a9e0: i32,ch = load<LD4[ConstantPool]> 0x556b6c1ab940, 0x556b6c2404c0, undef:i64
try.c: 0x556b6c2404c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x556b6c21d4e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x556b6c23d1c0: i64 = undef
try.c: 0x556b6c2b9ab0: 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: 0x556b6c2b9980: i32 = Constant<0>
try.c: 0x556b6c2b9980: i32 = Constant<0>
try.c: 0x556b6c2b9980: i32 = Constant<0>
try.c: 0x556b6c2b9980: i32 = Constant<0>
try.c: 0x556b6c2b9980: i32 = Constant<0>
try.c: 0x556b6c2b9980: i32 = Constant<0>
try.c: 0x556b6c2b9980: i32 = Constant<0>
try.c: 0x556b6c2b9980: i32 = Constant<0>
try.c: 0x556b6c2b9980: 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:avx2

Compiler output

Implementation: T:avx2
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: 0x5572622fe2e0: v4i64 = X86ISD::VTRUNC 0x5572622fe1b0
try.c: 0x5572622fe1b0: v16i32 = vselect 0x5572622e0c30, 0x5572622877c0, 0x5572622fe080
try.c: 0x5572622e0c30: v4i1 = X86ISD::PCMPGTM 0x5572622da480, 0x5572622d6010
try.c: 0x5572622da480: v4i64 = X86ISD::VBROADCAST 0x557262287c80
try.c: 0x557262287c80: i64,ch = load<LD8[%lsr.iv6971]> 0x5572621d3a30, 0x557262275d20, undef:i64
try.c: 0x557262275d20: i64,ch = CopyFromReg 0x5572621d3a30, Register:i64 %vreg50
try.c: 0x5572622d6270: i64 = Register %vreg50
try.c: 0x557262278f10: i64 = undef
try.c: 0x5572622d6010: v4i64,ch = CopyFromReg 0x5572621d3a30, Register:v4i64 %vreg13
try.c: 0x5572622dacd0: v4i64 = Register %vreg13
try.c: 0x5572622877c0: v16i32 = X86ISD::VBROADCAST 0x5572622da6e0
try.c: 0x5572622da6e0: i32,ch = load<LD4[ConstantPool]> 0x5572621d3a30, 0x55726228a160, undef:i64
try.c: 0x55726228a160: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x557262279890: i64 = TargetConstantPool<i32 1> 0
try.c: 0x557262278f10: i64 = undef
try.c: 0x5572622fe080: 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: 0x5572622fdf50: i32 = Constant<0>
try.c: 0x5572622fdf50: i32 = Constant<0>
try.c: 0x5572622fdf50: i32 = Constant<0>
try.c: 0x5572622fdf50: i32 = Constant<0>
try.c: 0x5572622fdf50: i32 = Constant<0>
try.c: 0x5572622fdf50: i32 = Constant<0>
try.c: 0x5572622fdf50: i32 = Constant<0>
try.c: 0x5572622fdf50: i32 = Constant<0>
try.c: 0x5572622fdf50: 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:avx2

Compiler output

Implementation: T:avx2
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: 0x5643a3138f00: v4i64 = X86ISD::VTRUNC 0x5643a3138dd0
try.c: 0x5643a3138dd0: v16i32 = vselect 0x5643a313ca20, 0x5643a30b7f90, 0x5643a3138ca0
try.c: 0x5643a313ca20: v4i1 = X86ISD::PCMPGTM 0x5643a31358f0, 0x5643a3131480
try.c: 0x5643a31358f0: v4i64 = X86ISD::VBROADCAST 0x5643a30f1980
try.c: 0x5643a30f1980: i64,ch = load<LD8[%lsr.iv6971]> 0x5643a3046950, 0x5643a3128910, undef:i64
try.c: 0x5643a3128910: i64,ch = CopyFromReg 0x5643a3046950, Register:i64 %vreg50
try.c: 0x5643a31316e0: i64 = Register %vreg50
try.c: 0x5643a30b6600: i64 = undef
try.c: 0x5643a3131480: v4i64,ch = CopyFromReg 0x5643a3046950, Register:v4i64 %vreg13
try.c: 0x5643a3136140: v4i64 = Register %vreg13
try.c: 0x5643a30b7f90: v16i32 = X86ISD::VBROADCAST 0x5643a3135b50
try.c: 0x5643a3135b50: i32,ch = load<LD4[ConstantPool]> 0x5643a3046950, 0x5643a30f0f60, undef:i64
try.c: 0x5643a30f0f60: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5643a311f5a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5643a30b6600: i64 = undef
try.c: 0x5643a3138ca0: 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: 0x5643a3138b70: i32 = Constant<0>
try.c: 0x5643a3138b70: i32 = Constant<0>
try.c: 0x5643a3138b70: i32 = Constant<0>
try.c: 0x5643a3138b70: i32 = Constant<0>
try.c: 0x5643a3138b70: i32 = Constant<0>
try.c: 0x5643a3138b70: i32 = Constant<0>
try.c: 0x5643a3138b70: i32 = Constant<0>
try.c: 0x5643a3138b70: i32 = Constant<0>
try.c: 0x5643a3138b70: 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:avx2

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: 0x559287c6f210: v4i64 = X86ISD::VTRUNC 0x559287c6f0e0
try.c: 0x559287c6f0e0: v16i32 = vselect 0x559287c4aca0, 0x559287bfd730, 0x559287c6efb0
try.c: 0x559287c4aca0: v4i1 = X86ISD::PCMPGTM 0x559287c54890, 0x559287c50420
try.c: 0x559287c54890: v4i64 = X86ISD::VBROADCAST 0x559287bfa8d0
try.c: 0x559287bfa8d0: i64,ch = load<LD8[%lsr.iv6971]> 0x559287b65930, 0x559287c1ae90, undef:i64
try.c: 0x559287c1ae90: i64,ch = CopyFromReg 0x559287b65930, Register:i64 %vreg50
try.c: 0x559287c50680: i64 = Register %vreg50
try.c: 0x559287bfbda0: i64 = undef
try.c: 0x559287c50420: v4i64,ch = CopyFromReg 0x559287b65930, Register:v4i64 %vreg13
try.c: 0x559287c550e0: v4i64 = Register %vreg13
try.c: 0x559287bfd730: v16i32 = X86ISD::VBROADCAST 0x559287c54af0
try.c: 0x559287c54af0: i32,ch = load<LD4[ConstantPool]> 0x559287b65930, 0x559287bf8760, undef:i64
try.c: 0x559287bf8760: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x559287c3a090: i64 = TargetConstantPool<i32 1> 0
try.c: 0x559287bfbda0: i64 = undef
try.c: 0x559287c6efb0: 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: 0x559287c6ee80: i32 = Constant<0>
try.c: 0x559287c6ee80: i32 = Constant<0>
try.c: 0x559287c6ee80: i32 = Constant<0>
try.c: 0x559287c6ee80: i32 = Constant<0>
try.c: 0x559287c6ee80: i32 = Constant<0>
try.c: 0x559287c6ee80: i32 = Constant<0>
try.c: 0x559287c6ee80: i32 = Constant<0>
try.c: 0x559287c6ee80: i32 = Constant<0>
try.c: 0x559287c6ee80: 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: 0x56294e7875a0: v4i64 = X86ISD::VTRUNC 0x56294e787470
try.c: 0x56294e787470: v16i32 = vselect 0x56294e782090, 0x56294e712050, 0x56294e787340
try.c: 0x56294e782090: v4i1 = X86ISD::PCMPGTM 0x56294e7629e0, 0x56294e75f580
try.c: 0x56294e7629e0: v4i64 = X86ISD::VBROADCAST 0x56294e712510
try.c: 0x56294e712510: i64,ch = load<LD8[%lsr.iv6971]> 0x56294e65ca20, 0x56294e70dc40, undef:i64
try.c: 0x56294e70dc40: i64,ch = CopyFromReg 0x56294e65ca20, Register:i64 %vreg50
try.c: 0x56294e75f7e0: i64 = Register %vreg50
try.c: 0x56294e6fd390: i64 = undef
try.c: 0x56294e75f580: v4i64,ch = CopyFromReg 0x56294e65ca20, Register:v4i64 %vreg13
try.c: 0x56294e763230: v4i64 = Register %vreg13
try.c: 0x56294e712050: v16i32 = X86ISD::VBROADCAST 0x56294e762c40
try.c: 0x56294e762c40: i32,ch = load<LD4[ConstantPool]> 0x56294e65ca20, 0x56294e6f8320, undef:i64
try.c: 0x56294e6f8320: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56294e6fdd10: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56294e6fd390: i64 = undef
try.c: 0x56294e787340: 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: 0x56294e787210: i32 = Constant<0>
try.c: 0x56294e787210: i32 = Constant<0>
try.c: 0x56294e787210: i32 = Constant<0>
try.c: 0x56294e787210: i32 = Constant<0>
try.c: 0x56294e787210: i32 = Constant<0>
try.c: 0x56294e787210: i32 = Constant<0>
try.c: 0x56294e787210: i32 = Constant<0>
try.c: 0x56294e787210: i32 = Constant<0>
try.c: 0x56294e787210: 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: 0x55e1466aff80: v4i64 = X86ISD::VTRUNC 0x55e1466afe50
try.c: 0x55e1466afe50: v16i32 = vselect 0x55e1466a0d60, 0x55e1466640f0, 0x55e1466afd20
try.c: 0x55e1466a0d60: v4i1 = X86ISD::PCMPGTM 0x55e1466aa950, 0x55e1466a64e0
try.c: 0x55e1466aa950: v4i64 = X86ISD::VBROADCAST 0x55e1466518a0
try.c: 0x55e1466518a0: i64,ch = load<LD8[%lsr.iv6971]> 0x55e1465bb950, 0x55e1466944b0, undef:i64
try.c: 0x55e1466944b0: i64,ch = CopyFromReg 0x55e1465bb950, Register:i64 %vreg50
try.c: 0x55e1466a6740: i64 = Register %vreg50
try.c: 0x55e146652d70: i64 = undef
try.c: 0x55e1466a64e0: v4i64,ch = CopyFromReg 0x55e1465bb950, Register:v4i64 %vreg13
try.c: 0x55e1466ab1a0: v4i64 = Register %vreg13
try.c: 0x55e1466640f0: v16i32 = X86ISD::VBROADCAST 0x55e1466aabb0
try.c: 0x55e1466aabb0: i32,ch = load<LD4[ConstantPool]> 0x55e1465bb950, 0x55e146650e80, undef:i64
try.c: 0x55e146650e80: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e1466956b0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e146652d70: i64 = undef
try.c: 0x55e1466afd20: 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: 0x55e1466afbf0: i32 = Constant<0>
try.c: 0x55e1466afbf0: i32 = Constant<0>
try.c: 0x55e1466afbf0: i32 = Constant<0>
try.c: 0x55e1466afbf0: i32 = Constant<0>
try.c: 0x55e1466afbf0: i32 = Constant<0>
try.c: 0x55e1466afbf0: i32 = Constant<0>
try.c: 0x55e1466afbf0: i32 = Constant<0>
try.c: 0x55e1466afbf0: i32 = Constant<0>
try.c: 0x55e1466afbf0: 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