Implementation notes: amd64, cel02, crypto_hash/simd256

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_hash
Primitive: simd256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
5474446443 0 056312 800 776T:sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
5492469687 416 084264 1272 808T:optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6693264468 0 078813 824 808T:sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7119428259 0 039517 824 776T:sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7407050457 0 060364 792 736T:sphlibclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
7646429767 0 040677 824 776T:sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
8500458042 0 069770 800 736T:sphlibclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
8694823431 388 035321 1220 736T:optclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
8718244836 0 059221 824 808T:sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
9475250243 0 061461 824 776T:sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
9851454981 0 065845 824 776T:sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
11425226865 0 036876 792 736T:sphlib-smallclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
12583025457 0 035360 800 776T:sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
12922427551 0 039314 800 736T:sphlib-smallclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
13993014777 416 026160 1272 776T:optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
16120814170 388 024347 1212 736T:optclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
19744415384 416 026440 1272 776T:optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
20919412889 416 022891 1248 776T:optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
32400784858 388 015113 1228 736T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
348661413636 416 028104 1272 808T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
352185818297 388 030399 1236 736T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
36197825244 416 016552 1272 776T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
38947205118 416 016112 1272 776T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
74670364393 416 014315 1248 776T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:opt
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: 0x5626ba5cd1c0: v4i64 = X86ISD::VTRUNC 0x5626ba5cd090
try.c: 0x5626ba5cd090: v16i32 = vselect 0x5626ba5c7b90, 0x5626ba558540, 0x5626ba5ccf60
try.c: 0x5626ba5c7b90: v4i1 = X86ISD::PCMPGTM 0x5626ba5b0820, 0x5626ba5ac3b0
try.c: 0x5626ba5b0820: v4i64 = X86ISD::VBROADCAST 0x5626ba550880
try.c: 0x5626ba550880: i64,ch = load<LD8[%lsr.iv6971]> 0x5626ba4c1900, 0x5626ba5a3aa0, undef:i64
try.c: 0x5626ba5a3aa0: i64,ch = CopyFromReg 0x5626ba4c1900, Register:i64 %vreg50
try.c: 0x5626ba5ac610: i64 = Register %vreg50
try.c: 0x5626ba556bb0: i64 = undef
try.c: 0x5626ba5ac3b0: v4i64,ch = CopyFromReg 0x5626ba4c1900, Register:v4i64 %vreg13
try.c: 0x5626ba5b1070: v4i64 = Register %vreg13
try.c: 0x5626ba558540: v16i32 = X86ISD::VBROADCAST 0x5626ba5b0a80
try.c: 0x5626ba5b0a80: i32,ch = load<LD4[ConstantPool]> 0x5626ba4c1900, 0x5626ba54fe60, undef:i64
try.c: 0x5626ba54fe60: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5626ba59a8a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5626ba556bb0: i64 = undef
try.c: 0x5626ba5ccf60: 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: 0x5626ba5cce30: i32 = Constant<0>
try.c: 0x5626ba5cce30: i32 = Constant<0>
try.c: 0x5626ba5cce30: i32 = Constant<0>
try.c: 0x5626ba5cce30: i32 = Constant<0>
try.c: 0x5626ba5cce30: i32 = Constant<0>
try.c: 0x5626ba5cce30: i32 = Constant<0>
try.c: 0x5626ba5cce30: i32 = Constant<0>
try.c: 0x5626ba5cce30: i32 = Constant<0>
try.c: 0x5626ba5cce30: 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:opt

Compiler output

Implementation: T:opt
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: 0x564641778b40: v4i64 = X86ISD::VTRUNC 0x564641778a10
try.c: 0x564641778a10: v16i32 = vselect 0x564641763ac0, 0x5646416f1380, 0x5646417788e0
try.c: 0x564641763ac0: v4i1 = X86ISD::PCMPGTM 0x56464175e3e0, 0x564641759960
try.c: 0x56464175e3e0: v4i64 = X86ISD::VBROADCAST 0x5646416f1840
try.c: 0x5646416f1840: i64,ch = load<LD8[%lsr.iv6971]> 0x5646416579d0, 0x5646416fa510, undef:i64
try.c: 0x5646416fa510: i64,ch = CopyFromReg 0x5646416579d0, Register:i64 %vreg50
try.c: 0x564641759bc0: i64 = Register %vreg50
try.c: 0x56464170d230: i64 = undef
try.c: 0x564641759960: v4i64,ch = CopyFromReg 0x5646416579d0, Register:v4i64 %vreg13
try.c: 0x56464175ec30: v4i64 = Register %vreg13
try.c: 0x5646416f1380: v16i32 = X86ISD::VBROADCAST 0x56464175e640
try.c: 0x56464175e640: i32,ch = load<LD4[ConstantPool]> 0x5646416579d0, 0x5646416f8ae0, undef:i64
try.c: 0x5646416f8ae0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56464170dbb0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56464170d230: i64 = undef
try.c: 0x5646417788e0: 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: 0x5646417787b0: i32 = Constant<0>
try.c: 0x5646417787b0: i32 = Constant<0>
try.c: 0x5646417787b0: i32 = Constant<0>
try.c: 0x5646417787b0: i32 = Constant<0>
try.c: 0x5646417787b0: i32 = Constant<0>
try.c: 0x5646417787b0: i32 = Constant<0>
try.c: 0x5646417787b0: i32 = Constant<0>
try.c: 0x5646417787b0: i32 = Constant<0>
try.c: 0x5646417787b0: 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:opt

Compiler output

Implementation: T:opt
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: 0x55a5b294df30: v4i64 = X86ISD::VTRUNC 0x55a5b294de00
try.c: 0x55a5b294de00: v16i32 = vselect 0x55a5b296bab0, 0x55a5b28ea960, 0x55a5b294dcd0
try.c: 0x55a5b296bab0: v4i1 = X86ISD::PCMPGTM 0x55a5b2948900, 0x55a5b2944490
try.c: 0x55a5b2948900: v4i64 = X86ISD::VBROADCAST 0x55a5b28e7b00
try.c: 0x55a5b28e7b00: i64,ch = load<LD8[%lsr.iv6971]> 0x55a5b2859930, 0x55a5b293f2f0, undef:i64
try.c: 0x55a5b293f2f0: i64,ch = CopyFromReg 0x55a5b2859930, Register:i64 %vreg50
try.c: 0x55a5b29446f0: i64 = Register %vreg50
try.c: 0x55a5b28e8fd0: i64 = undef
try.c: 0x55a5b2944490: v4i64,ch = CopyFromReg 0x55a5b2859930, Register:v4i64 %vreg13
try.c: 0x55a5b2949150: v4i64 = Register %vreg13
try.c: 0x55a5b28ea960: v16i32 = X86ISD::VBROADCAST 0x55a5b2948b60
try.c: 0x55a5b2948b60: i32,ch = load<LD4[ConstantPool]> 0x55a5b2859930, 0x55a5b29047a0, undef:i64
try.c: 0x55a5b29047a0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55a5b292fe50: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55a5b28e8fd0: i64 = undef
try.c: 0x55a5b294dcd0: 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: 0x55a5b294dba0: i32 = Constant<0>
try.c: 0x55a5b294dba0: i32 = Constant<0>
try.c: 0x55a5b294dba0: i32 = Constant<0>
try.c: 0x55a5b294dba0: i32 = Constant<0>
try.c: 0x55a5b294dba0: i32 = Constant<0>
try.c: 0x55a5b294dba0: i32 = Constant<0>
try.c: 0x55a5b294dba0: i32 = Constant<0>
try.c: 0x55a5b294dba0: i32 = Constant<0>
try.c: 0x55a5b294dba0: 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:opt

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
reference.c: reference.c:69:82: warning: expression result unused [-Wunused-value]
reference.c: state->A[j] = state->D[j] + w[j] + F(state->A[j], state->B[j], state->C[j]), s;
reference.c: ^
reference.c: 1 warning generated.
try.c: fatal error: error in backend: Cannot select: 0x55f849e4c770: v4i64 = X86ISD::VTRUNC 0x55f849e4c640
try.c: 0x55f849e4c640: v16i32 = vselect 0x55f849e4ab60, 0x55f849df0700, 0x55f849e4c510
try.c: 0x55f849e4ab60: v4i1 = X86ISD::PCMPGTM 0x55f849e47b30, 0x55f849e436c0
try.c: 0x55f849e47b30: v4i64 = X86ISD::VBROADCAST 0x55f849ded8a0
try.c: 0x55f849ded8a0: i64,ch = load<LD8[%lsr.iv6971]> 0x55f849d58920, 0x55f849e3af20, undef:i64
try.c: 0x55f849e3af20: i64,ch = CopyFromReg 0x55f849d58920, Register:i64 %vreg50
try.c: 0x55f849e43920: i64 = Register %vreg50
try.c: 0x55f849deed70: i64 = undef
try.c: 0x55f849e436c0: v4i64,ch = CopyFromReg 0x55f849d58920, Register:v4i64 %vreg13
try.c: 0x55f849e48380: v4i64 = Register %vreg13
try.c: 0x55f849df0700: v16i32 = X86ISD::VBROADCAST 0x55f849e47d90
try.c: 0x55f849e47d90: i32,ch = load<LD4[ConstantPool]> 0x55f849d58920, 0x55f849deb860, undef:i64
try.c: 0x55f849deb860: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55f849e11540: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55f849deed70: i64 = undef
try.c: 0x55f849e4c510: 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: 0x55f849e4c3e0: i32 = Constant<0>
try.c: 0x55f849e4c3e0: i32 = Constant<0>
try.c: 0x55f849e4c3e0: i32 = Constant<0>
try.c: 0x55f849e4c3e0: i32 = Constant<0>
try.c: 0x55f849e4c3e0: i32 = Constant<0>
try.c: 0x55f849e4c3e0: i32 = Constant<0>
try.c: 0x55f849e4c3e0: i32 = Constant<0>
try.c: 0x55f849e4c3e0: i32 = Constant<0>
try.c: 0x55f849e4c3e0: 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
reference.c: reference.c:69:82: warning: expression result unused [-Wunused-value]
reference.c: state->A[j] = state->D[j] + w[j] + F(state->A[j], state->B[j], state->C[j]), s;
reference.c: ^
reference.c: 1 warning generated.
try.c: fatal error: error in backend: Cannot select: 0x55d53d7fa6b0: v4i64 = X86ISD::VTRUNC 0x55d53d7fa580
try.c: 0x55d53d7fa580: v16i32 = vselect 0x55d53d7f7090, 0x55d53d7912e0, 0x55d53d7fa450
try.c: 0x55d53d7f7090: v4i1 = X86ISD::PCMPGTM 0x55d53d7e2950, 0x55d53d7e0470
try.c: 0x55d53d7e2950: v4i64 = X86ISD::VBROADCAST 0x55d53d7917a0
try.c: 0x55d53d7917a0: i64,ch = load<LD8[%lsr.iv6971]> 0x55d53d6dca00, 0x55d53d77d8a0, undef:i64
try.c: 0x55d53d77d8a0: i64,ch = CopyFromReg 0x55d53d6dca00, Register:i64 %vreg50
try.c: 0x55d53d7e06d0: i64 = Register %vreg50
try.c: 0x55d53d75a440: i64 = undef
try.c: 0x55d53d7e0470: v4i64,ch = CopyFromReg 0x55d53d6dca00, Register:v4i64 %vreg13
try.c: 0x55d53d7e31a0: v4i64 = Register %vreg13
try.c: 0x55d53d7912e0: v16i32 = X86ISD::VBROADCAST 0x55d53d7e2bb0
try.c: 0x55d53d7e2bb0: i32,ch = load<LD4[ConstantPool]> 0x55d53d6dca00, 0x55d53d77ac30, undef:i64
try.c: 0x55d53d77ac30: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55d53d75adc0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55d53d75a440: i64 = undef
try.c: 0x55d53d7fa450: 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: 0x55d53d7fa320: i32 = Constant<0>
try.c: 0x55d53d7fa320: i32 = Constant<0>
try.c: 0x55d53d7fa320: i32 = Constant<0>
try.c: 0x55d53d7fa320: i32 = Constant<0>
try.c: 0x55d53d7fa320: i32 = Constant<0>
try.c: 0x55d53d7fa320: i32 = Constant<0>
try.c: 0x55d53d7fa320: i32 = Constant<0>
try.c: 0x55d53d7fa320: i32 = Constant<0>
try.c: 0x55d53d7fa320: 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
reference.c: reference.c:69:82: warning: expression result unused [-Wunused-value]
reference.c: state->A[j] = state->D[j] + w[j] + F(state->A[j], state->B[j], state->C[j]), s;
reference.c: ^
reference.c: 1 warning generated.
try.c: fatal error: error in backend: Cannot select: 0x55ef0e1b4a40: v4i64 = X86ISD::VTRUNC 0x55ef0e1b4910
try.c: 0x55ef0e1b4910: v16i32 = vselect 0x55ef0e1bbda0, 0x55ef0e13b530, 0x55ef0e1b47e0
try.c: 0x55ef0e1bbda0: v4i1 = X86ISD::PCMPGTM 0x55ef0e19a0c0, 0x55ef0e195c50
try.c: 0x55ef0e19a0c0: v4i64 = X86ISD::VBROADCAST 0x55ef0e13daf0
try.c: 0x55ef0e13daf0: i64,ch = load<LD8[%lsr.iv6971]> 0x55ef0e0aa920, 0x55ef0e18c050, undef:i64
try.c: 0x55ef0e18c050: i64,ch = CopyFromReg 0x55ef0e0aa920, Register:i64 %vreg50
try.c: 0x55ef0e195eb0: i64 = Register %vreg50
try.c: 0x55ef0e139ba0: i64 = undef
try.c: 0x55ef0e195c50: v4i64,ch = CopyFromReg 0x55ef0e0aa920, Register:v4i64 %vreg13
try.c: 0x55ef0e19a910: v4i64 = Register %vreg13
try.c: 0x55ef0e13b530: v16i32 = X86ISD::VBROADCAST 0x55ef0e19a320
try.c: 0x55ef0e19a320: i32,ch = load<LD4[ConstantPool]> 0x55ef0e0aa920, 0x55ef0e13d0d0, undef:i64
try.c: 0x55ef0e13d0d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55ef0e188d80: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55ef0e139ba0: i64 = undef
try.c: 0x55ef0e1b47e0: 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: 0x55ef0e1b46b0: i32 = Constant<0>
try.c: 0x55ef0e1b46b0: i32 = Constant<0>
try.c: 0x55ef0e1b46b0: i32 = Constant<0>
try.c: 0x55ef0e1b46b0: i32 = Constant<0>
try.c: 0x55ef0e1b46b0: i32 = Constant<0>
try.c: 0x55ef0e1b46b0: i32 = Constant<0>
try.c: 0x55ef0e1b46b0: i32 = Constant<0>
try.c: 0x55ef0e1b46b0: i32 = Constant<0>
try.c: 0x55ef0e1b46b0: 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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
reference.c: reference.c:69:82: warning: expression result unused [-Wunused-value]
reference.c: state->A[j] = state->D[j] + w[j] + F(state->A[j], state->B[j], state->C[j]), s;
reference.c: ^
reference.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref

Compiler output

Implementation: T:sphlib
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: 0x560542c7e300: v4i64 = X86ISD::VTRUNC 0x560542c7e1d0
try.c: 0x560542c7e1d0: v16i32 = vselect 0x560542c9a260, 0x560542c43d20, 0x560542c7e0a0
try.c: 0x560542c9a260: v4i1 = X86ISD::PCMPGTM 0x560542c798c0, 0x560542c75450
try.c: 0x560542c798c0: v4i64 = X86ISD::VBROADCAST 0x560542c1a880
try.c: 0x560542c1a880: i64,ch = load<LD8[%lsr.iv6971]> 0x560542b8a950, 0x560542c637a0, undef:i64
try.c: 0x560542c637a0: i64,ch = CopyFromReg 0x560542b8a950, Register:i64 %vreg50
try.c: 0x560542c756b0: i64 = Register %vreg50
try.c: 0x560542c42390: i64 = undef
try.c: 0x560542c75450: v4i64,ch = CopyFromReg 0x560542b8a950, Register:v4i64 %vreg13
try.c: 0x560542c7a110: v4i64 = Register %vreg13
try.c: 0x560542c43d20: v16i32 = X86ISD::VBROADCAST 0x560542c79b20
try.c: 0x560542c79b20: i32,ch = load<LD4[ConstantPool]> 0x560542b8a950, 0x560542c19e60, undef:i64
try.c: 0x560542c19e60: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x560542c25cd0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x560542c42390: i64 = undef
try.c: 0x560542c7e0a0: 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: 0x560542c7df70: i32 = Constant<0>
try.c: 0x560542c7df70: i32 = Constant<0>
try.c: 0x560542c7df70: i32 = Constant<0>
try.c: 0x560542c7df70: i32 = Constant<0>
try.c: 0x560542c7df70: i32 = Constant<0>
try.c: 0x560542c7df70: i32 = Constant<0>
try.c: 0x560542c7df70: i32 = Constant<0>
try.c: 0x560542c7df70: i32 = Constant<0>
try.c: 0x560542c7df70: 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:sphlib

Compiler output

Implementation: T:sphlib
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: 0x557f6a2789e0: v4i64 = X86ISD::VTRUNC 0x557f6a2788b0
try.c: 0x557f6a2788b0: v16i32 = vselect 0x557f6a2733b0, 0x557f6a1f2d20, 0x557f6a278780
try.c: 0x557f6a2733b0: v4i1 = X86ISD::PCMPGTM 0x557f6a25f030, 0x557f6a25abc0
try.c: 0x557f6a25f030: v4i64 = X86ISD::VBROADCAST 0x557f6a1f31e0
try.c: 0x557f6a1f31e0: i64,ch = load<LD8[%lsr.iv6971]> 0x557f6a158a30, 0x557f6a1faf70, undef:i64
try.c: 0x557f6a1faf70: i64,ch = CopyFromReg 0x557f6a158a30, Register:i64 %vreg50
try.c: 0x557f6a25ae20: i64 = Register %vreg50
try.c: 0x557f6a1f6cc0: i64 = undef
try.c: 0x557f6a25abc0: v4i64,ch = CopyFromReg 0x557f6a158a30, Register:v4i64 %vreg13
try.c: 0x557f6a25f880: v4i64 = Register %vreg13
try.c: 0x557f6a1f2d20: v16i32 = X86ISD::VBROADCAST 0x557f6a25f290
try.c: 0x557f6a25f290: i32,ch = load<LD4[ConstantPool]> 0x557f6a158a30, 0x557f6a1f9540, undef:i64
try.c: 0x557f6a1f9540: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x557f6a1f7640: i64 = TargetConstantPool<i32 1> 0
try.c: 0x557f6a1f6cc0: i64 = undef
try.c: 0x557f6a278780: 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: 0x557f6a278650: i32 = Constant<0>
try.c: 0x557f6a278650: i32 = Constant<0>
try.c: 0x557f6a278650: i32 = Constant<0>
try.c: 0x557f6a278650: i32 = Constant<0>
try.c: 0x557f6a278650: i32 = Constant<0>
try.c: 0x557f6a278650: i32 = Constant<0>
try.c: 0x557f6a278650: i32 = Constant<0>
try.c: 0x557f6a278650: i32 = Constant<0>
try.c: 0x557f6a278650: 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:sphlib

Compiler output

Implementation: T:sphlib
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: 0x55cb7a3470d0: v4i64 = X86ISD::VTRUNC 0x55cb7a346fa0
try.c: 0x55cb7a346fa0: v16i32 = vselect 0x55cb7a34b670, 0x55cb7a2eaa20, 0x55cb7a346e70
try.c: 0x55cb7a34b670: v4i1 = X86ISD::PCMPGTM 0x55cb7a32f770, 0x55cb7a32b300
try.c: 0x55cb7a32f770: v4i64 = X86ISD::VBROADCAST 0x55cb7a2e6740
try.c: 0x55cb7a2e6740: i64,ch = load<LD8[%lsr.iv6971]> 0x55cb7a240940, 0x55cb7a322a80, undef:i64
try.c: 0x55cb7a322a80: i64,ch = CopyFromReg 0x55cb7a240940, Register:i64 %vreg50
try.c: 0x55cb7a32b560: i64 = Register %vreg50
try.c: 0x55cb7a2e7c10: i64 = undef
try.c: 0x55cb7a32b300: v4i64,ch = CopyFromReg 0x55cb7a240940, Register:v4i64 %vreg13
try.c: 0x55cb7a32ffc0: v4i64 = Register %vreg13
try.c: 0x55cb7a2eaa20: v16i32 = X86ISD::VBROADCAST 0x55cb7a32f9d0
try.c: 0x55cb7a32f9d0: i32,ch = load<LD4[ConstantPool]> 0x55cb7a240940, 0x55cb7a2cf4b0, undef:i64
try.c: 0x55cb7a2cf4b0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55cb7a2df5a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55cb7a2e7c10: i64 = undef
try.c: 0x55cb7a346e70: 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: 0x55cb7a346d40: i32 = Constant<0>
try.c: 0x55cb7a346d40: i32 = Constant<0>
try.c: 0x55cb7a346d40: i32 = Constant<0>
try.c: 0x55cb7a346d40: i32 = Constant<0>
try.c: 0x55cb7a346d40: i32 = Constant<0>
try.c: 0x55cb7a346d40: i32 = Constant<0>
try.c: 0x55cb7a346d40: i32 = Constant<0>
try.c: 0x55cb7a346d40: i32 = Constant<0>
try.c: 0x55cb7a346d40: 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:sphlib

Compiler output

Implementation: T:sphlib-small
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: 0x563ff4e3a010: v4i64 = X86ISD::VTRUNC 0x563ff4e39ee0
try.c: 0x563ff4e39ee0: v16i32 = vselect 0x563ff4e18ac0, 0x563ff4dc6a00, 0x563ff4e39db0
try.c: 0x563ff4e18ac0: v4i1 = X86ISD::PCMPGTM 0x563ff4e226b0, 0x563ff4e1e240
try.c: 0x563ff4e226b0: v4i64 = X86ISD::VBROADCAST 0x563ff4dc9200
try.c: 0x563ff4dc9200: i64,ch = load<LD8[%lsr.iv6971]> 0x563ff4d33950, 0x563ff4e0b380, undef:i64
try.c: 0x563ff4e0b380: i64,ch = CopyFromReg 0x563ff4d33950, Register:i64 %vreg50
try.c: 0x563ff4e1e4a0: i64 = Register %vreg50
try.c: 0x563ff4dc5070: i64 = undef
try.c: 0x563ff4e1e240: v4i64,ch = CopyFromReg 0x563ff4d33950, Register:v4i64 %vreg13
try.c: 0x563ff4e22f00: v4i64 = Register %vreg13
try.c: 0x563ff4dc6a00: v16i32 = X86ISD::VBROADCAST 0x563ff4e22910
try.c: 0x563ff4e22910: i32,ch = load<LD4[ConstantPool]> 0x563ff4d33950, 0x563ff4dc87e0, undef:i64
try.c: 0x563ff4dc87e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x563ff4e10890: i64 = TargetConstantPool<i32 1> 0
try.c: 0x563ff4dc5070: i64 = undef
try.c: 0x563ff4e39db0: 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: 0x563ff4e39c80: i32 = Constant<0>
try.c: 0x563ff4e39c80: i32 = Constant<0>
try.c: 0x563ff4e39c80: i32 = Constant<0>
try.c: 0x563ff4e39c80: i32 = Constant<0>
try.c: 0x563ff4e39c80: i32 = Constant<0>
try.c: 0x563ff4e39c80: i32 = Constant<0>
try.c: 0x563ff4e39c80: i32 = Constant<0>
try.c: 0x563ff4e39c80: i32 = Constant<0>
try.c: 0x563ff4e39c80: 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:sphlib-small

Compiler output

Implementation: T:sphlib-small
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: 0x55564d9eac50: v4i64 = X86ISD::VTRUNC 0x55564d9eab20
try.c: 0x55564d9eab20: v16i32 = vselect 0x55564d9efb00, 0x55564d979f30, 0x55564d9ea9f0
try.c: 0x55564d9efb00: v4i1 = X86ISD::PCMPGTM 0x55564d9d12b0, 0x55564d9cce40
try.c: 0x55564d9d12b0: v4i64 = X86ISD::VBROADCAST 0x55564d97a3f0
try.c: 0x55564d97a3f0: i64,ch = load<LD8[%lsr.iv6971]> 0x55564d8caa30, 0x55564d97e300, undef:i64
try.c: 0x55564d97e300: i64,ch = CopyFromReg 0x55564d8caa30, Register:i64 %vreg50
try.c: 0x55564d9cd0a0: i64 = Register %vreg50
try.c: 0x55564d969690: i64 = undef
try.c: 0x55564d9cce40: v4i64,ch = CopyFromReg 0x55564d8caa30, Register:v4i64 %vreg13
try.c: 0x55564d9d1b00: v4i64 = Register %vreg13
try.c: 0x55564d979f30: v16i32 = X86ISD::VBROADCAST 0x55564d9d1510
try.c: 0x55564d9d1510: i32,ch = load<LD4[ConstantPool]> 0x55564d8caa30, 0x55564d97c8d0, undef:i64
try.c: 0x55564d97c8d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55564d96a010: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55564d969690: i64 = undef
try.c: 0x55564d9ea9f0: 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: 0x55564d9ea8c0: i32 = Constant<0>
try.c: 0x55564d9ea8c0: i32 = Constant<0>
try.c: 0x55564d9ea8c0: i32 = Constant<0>
try.c: 0x55564d9ea8c0: i32 = Constant<0>
try.c: 0x55564d9ea8c0: i32 = Constant<0>
try.c: 0x55564d9ea8c0: i32 = Constant<0>
try.c: 0x55564d9ea8c0: i32 = Constant<0>
try.c: 0x55564d9ea8c0: i32 = Constant<0>
try.c: 0x55564d9ea8c0: 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:sphlib-small

Compiler output

Implementation: T:sphlib-small
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: 0x5607434bd420: v4i64 = X86ISD::VTRUNC 0x5607434bd2f0
try.c: 0x5607434bd2f0: v16i32 = vselect 0x5607434ae5a0, 0x56074345bfa0, 0x5607434bd1c0
try.c: 0x5607434ae5a0: v4i1 = X86ISD::PCMPGTM 0x5607434a2aa0, 0x56074349e630
try.c: 0x5607434a2aa0: v4i64 = X86ISD::VBROADCAST 0x56074344ea60
try.c: 0x56074344ea60: i64,ch = load<LD8[%lsr.iv6971]> 0x5607433b3950, 0x560743499490, undef:i64
try.c: 0x560743499490: i64,ch = CopyFromReg 0x5607433b3950, Register:i64 %vreg50
try.c: 0x56074349e890: i64 = Register %vreg50
try.c: 0x56074344ff30: i64 = undef
try.c: 0x56074349e630: v4i64,ch = CopyFromReg 0x5607433b3950, Register:v4i64 %vreg13
try.c: 0x5607434a32f0: v4i64 = Register %vreg13
try.c: 0x56074345bfa0: v16i32 = X86ISD::VBROADCAST 0x5607434a2d00
try.c: 0x5607434a2d00: i32,ch = load<LD4[ConstantPool]> 0x5607433b3950, 0x56074344e040, undef:i64
try.c: 0x56074344e040: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x560743451f80: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56074344ff30: i64 = undef
try.c: 0x5607434bd1c0: 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: 0x5607434bd090: i32 = Constant<0>
try.c: 0x5607434bd090: i32 = Constant<0>
try.c: 0x5607434bd090: i32 = Constant<0>
try.c: 0x5607434bd090: i32 = Constant<0>
try.c: 0x5607434bd090: i32 = Constant<0>
try.c: 0x5607434bd090: i32 = Constant<0>
try.c: 0x5607434bd090: i32 = Constant<0>
try.c: 0x5607434bd090: i32 = Constant<0>
try.c: 0x5607434bd090: 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:sphlib-small

Compiler output

Implementation: T:vect128
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
vector.c: vector.c:73:9: warning: 'X' macro redefined [-Wmacro-redefined]
vector.c: #define X(i) X##i
vector.c: ^
vector.c: vector.c:68:9: note: previous definition is here
vector.c: #define X(i) A[i]
vector.c: ^
vector.c: vector.c:129:3: error: use of unknown builtin '__builtin_ia32_pcmpgtw128' [-Wimplicit-function-declaration]
vector.c: DO_REDUCE_FULL_S(0);
vector.c: ^
vector.c: vector.c:56:12: note: expanded from macro 'DO_REDUCE_FULL_S'
vector.c: X(i) = EXTRA_REDUCE_S(X(i)); \
vector.c: ^
vector.c: vector.c:42:32: note: expanded from macro 'EXTRA_REDUCE_S'
vector.c: v16_sub(x, v16_and(V257.v16, v16_cmp(x, V128.v16)))
vector.c: ^
vector.c: ./vector.h:92:22: note: expanded from macro 'v16_cmp'
vector.c: #define v16_cmp __builtin_ia32_pcmpgtw128
vector.c: ^
vector.c: vector.c:129:3: error: cannot convert between vector values of different size ('v16' (aka 'v8hi') and 'int')
vector.c: DO_REDUCE_FULL_S(0);
vector.c: ^~~~~~~~~~~~~~~~~~~
vector.c: vector.c:56:12: note: expanded from macro 'DO_REDUCE_FULL_S'
vector.c: X(i) = EXTRA_REDUCE_S(X(i)); \
vector.c: ^~~~~~~~~~~~~~~~~~~~
vector.c: vector.c:42:14: note: expanded from macro 'EXTRA_REDUCE_S'
vector.c: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:vect128
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:vect128
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:vect128
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:vect128
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:vect128

Compiler output

Implementation: T:vect128
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
vector.c: vector.c: In function 'fft64':
vector.c: vector.c:73:0: warning: "X" redefined
vector.c: #define X(i) X##i
vector.c:
vector.c: vector.c:68:0: note: this is the location of the previous definition
vector.c: #define X(i) A[i]
vector.c:
vector.c: vector.c: In function 'rounds512':
vector.c: vector.c:796:0: warning: "STEP_1" redefined
vector.c: #define STEP_1(a,b,c,d,w,fun,r,s,z) \
vector.c:
vector.c: vector.c:542:0: note: this is the location of the previous definition
vector.c: #define STEP_1(a,b,c,d,w,fun,r,s,z) \
vector.c:
vector.c: vector.c:805:0: warning: "STEP_2" redefined
vector.c: #define STEP_2(a,b,c,d,w,fun,r,s) \
vector.c:
vector.c: vector.c:566:0: note: this is the location of the previous definition
vector.c: #define STEP_2(a,b,c,d,w,fun,r,s) \
vector.c:
vector.c: vector.c:808:0: warning: "STEP" redefined
vector.c: #define STEP(a,b,c,d,w1,w2,fun,r,s,z) \
vector.c:
vector.c: vector.c:571:0: note: this is the location of the previous definition
vector.c: #define STEP(a,b,c,d,w,fun,r,s,z) \
vector.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:vect128
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:vect128
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:vect128
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:vect128