Implementation notes: amd64, cel02, crypto_hash/simd512

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_hash
Primitive: simd512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
5890458042 0 069770 800 736T:sphlibclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
6039669687 416 084264 1272 808T:optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6499444836 0 059221 824 808T:sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7076627551 0 039314 800 736T:sphlib-smallclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
8622225457 0 035360 800 776T:sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
9610464468 0 078813 824 808T:sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
10806450243 0 061461 824 776T:sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
11863426865 0 036876 792 736T:sphlib-smallclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
12515054981 0 065845 824 776T:sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
13437646443 0 056312 800 776T:sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
15404028259 0 039517 824 776T:sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
15528029767 0 040677 824 776T:sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
15747623431 388 035321 1220 736T:optclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
16868414777 416 026160 1272 776T:optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
17383214170 388 024347 1212 736T:optclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
19818815384 416 026440 1272 776T:optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
19968412889 416 022891 1248 776T:optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
65650784858 388 015113 1228 736T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
67651185118 416 016112 1272 776T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
710224818297 388 030399 1236 736T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
710388213636 416 028104 1272 808T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
72407325244 416 016552 1272 776T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
155217364393 416 014315 1248 776T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Checksum failure

Implementation: T:sphlib
Security model: timingleaks
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
2a67b871f920a2757e735b9b71b9ab59fe3270ec3ff8aea71d9263a35c510248
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sphlib

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: 0x5616dae99090: v4i64 = X86ISD::VTRUNC 0x5616dae98f60
try.c: 0x5616dae98f60: v16i32 = vselect 0x5616daea0bb0, 0x5616dae3c750, 0x5616dae98e30
try.c: 0x5616daea0bb0: v4i1 = X86ISD::PCMPGTM 0x5616dae93a60, 0x5616dae8f5f0
try.c: 0x5616dae93a60: v4i64 = X86ISD::VBROADCAST 0x5616dae398f0
try.c: 0x5616dae398f0: i64,ch = load<LD8[%lsr.iv6971]> 0x5616dada4960, 0x5616dae8a450, undef:i64
try.c: 0x5616dae8a450: i64,ch = CopyFromReg 0x5616dada4960, Register:i64 %vreg50
try.c: 0x5616dae8f850: i64 = Register %vreg50
try.c: 0x5616dae3adc0: i64 = undef
try.c: 0x5616dae8f5f0: v4i64,ch = CopyFromReg 0x5616dada4960, Register:v4i64 %vreg13
try.c: 0x5616dae942b0: v4i64 = Register %vreg13
try.c: 0x5616dae3c750: v16i32 = X86ISD::VBROADCAST 0x5616dae93cc0
try.c: 0x5616dae93cc0: i32,ch = load<LD4[ConstantPool]> 0x5616dada4960, 0x5616dae37ce0, undef:i64
try.c: 0x5616dae37ce0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5616dae59000: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5616dae3adc0: i64 = undef
try.c: 0x5616dae98e30: 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: 0x5616dae98d00: i32 = Constant<0>
try.c: 0x5616dae98d00: i32 = Constant<0>
try.c: 0x5616dae98d00: i32 = Constant<0>
try.c: 0x5616dae98d00: i32 = Constant<0>
try.c: 0x5616dae98d00: i32 = Constant<0>
try.c: 0x5616dae98d00: i32 = Constant<0>
try.c: 0x5616dae98d00: i32 = Constant<0>
try.c: 0x5616dae98d00: i32 = Constant<0>
try.c: 0x5616dae98d00: 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: 0x563d5561c6a0: v4i64 = X86ISD::VTRUNC 0x563d5561c570
try.c: 0x563d5561c570: v16i32 = vselect 0x563d5562a2a0, 0x563d555a9b60, 0x563d5561c440
try.c: 0x563d5562a2a0: v4i1 = X86ISD::PCMPGTM 0x563d55611530, 0x563d5560cab0
try.c: 0x563d55611530: v4i64 = X86ISD::VBROADCAST 0x563d555aa020
try.c: 0x563d555aa020: i64,ch = load<LD8[%lsr.iv6971]> 0x563d5550aa00, 0x563d555b0560, undef:i64
try.c: 0x563d555b0560: i64,ch = CopyFromReg 0x563d5550aa00, Register:i64 %vreg50
try.c: 0x563d5560cd10: i64 = Register %vreg50
try.c: 0x563d555ba000: i64 = undef
try.c: 0x563d5560cab0: v4i64,ch = CopyFromReg 0x563d5550aa00, Register:v4i64 %vreg13
try.c: 0x563d55611d80: v4i64 = Register %vreg13
try.c: 0x563d555a9b60: v16i32 = X86ISD::VBROADCAST 0x563d55611790
try.c: 0x563d55611790: i32,ch = load<LD4[ConstantPool]> 0x563d5550aa00, 0x563d555a5970, undef:i64
try.c: 0x563d555a5970: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x563d555ba980: i64 = TargetConstantPool<i32 1> 0
try.c: 0x563d555ba000: i64 = undef
try.c: 0x563d5561c440: 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: 0x563d5561c310: i32 = Constant<0>
try.c: 0x563d5561c310: i32 = Constant<0>
try.c: 0x563d5561c310: i32 = Constant<0>
try.c: 0x563d5561c310: i32 = Constant<0>
try.c: 0x563d5561c310: i32 = Constant<0>
try.c: 0x563d5561c310: i32 = Constant<0>
try.c: 0x563d5561c310: i32 = Constant<0>
try.c: 0x563d5561c310: i32 = Constant<0>
try.c: 0x563d5561c310: 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: 0x557443ace9a0: v4i64 = X86ISD::VTRUNC 0x557443ace870
try.c: 0x557443ace870: v16i32 = vselect 0x557443aa4e40, 0x557443a538a0, 0x557443ace740
try.c: 0x557443aa4e40: v4i1 = X86ISD::PCMPGTM 0x557443aaca10, 0x557443aa85a0
try.c: 0x557443aaca10: v4i64 = X86ISD::VBROADCAST 0x557443a65190
try.c: 0x557443a65190: i64,ch = load<LD8[%lsr.iv6971]> 0x5574439bd920, 0x557443a962a0, undef:i64
try.c: 0x557443a962a0: i64,ch = CopyFromReg 0x5574439bd920, Register:i64 %vreg50
try.c: 0x557443aa8800: i64 = Register %vreg50
try.c: 0x557443a66660: i64 = undef
try.c: 0x557443aa85a0: v4i64,ch = CopyFromReg 0x5574439bd920, Register:v4i64 %vreg13
try.c: 0x557443aad260: v4i64 = Register %vreg13
try.c: 0x557443a538a0: v16i32 = X86ISD::VBROADCAST 0x557443aacc70
try.c: 0x557443aacc70: i32,ch = load<LD4[ConstantPool]> 0x5574439bd920, 0x557443a50e60, undef:i64
try.c: 0x557443a50e60: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x557443a974a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x557443a66660: i64 = undef
try.c: 0x557443ace740: 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: 0x557443ace610: i32 = Constant<0>
try.c: 0x557443ace610: i32 = Constant<0>
try.c: 0x557443ace610: i32 = Constant<0>
try.c: 0x557443ace610: i32 = Constant<0>
try.c: 0x557443ace610: i32 = Constant<0>
try.c: 0x557443ace610: i32 = Constant<0>
try.c: 0x557443ace610: i32 = Constant<0>
try.c: 0x557443ace610: i32 = Constant<0>
try.c: 0x557443ace610: 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: 0x5652d24ac1a0: v4i64 = X86ISD::VTRUNC 0x5652d24ac070
try.c: 0x5652d24ac070: v16i32 = vselect 0x5652d24a8b80, 0x5652d2442e40, 0x5652d24abf40
try.c: 0x5652d24a8b80: v4i1 = X86ISD::PCMPGTM 0x5652d24a4000, 0x5652d249fb90
try.c: 0x5652d24a4000: v4i64 = X86ISD::VBROADCAST 0x5652d244aaa0
try.c: 0x5652d244aaa0: i64,ch = load<LD8[%lsr.iv6971]> 0x5652d23b4920, 0x5652d24961e0, undef:i64
try.c: 0x5652d24961e0: i64,ch = CopyFromReg 0x5652d23b4920, Register:i64 %vreg50
try.c: 0x5652d249fdf0: i64 = Register %vreg50
try.c: 0x5652d244bf70: i64 = undef
try.c: 0x5652d249fb90: v4i64,ch = CopyFromReg 0x5652d23b4920, Register:v4i64 %vreg13
try.c: 0x5652d24a4850: v4i64 = Register %vreg13
try.c: 0x5652d2442e40: v16i32 = X86ISD::VBROADCAST 0x5652d24a4260
try.c: 0x5652d24a4260: i32,ch = load<LD4[ConstantPool]> 0x5652d23b4920, 0x5652d244a080, undef:i64
try.c: 0x5652d244a080: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5652d244edb0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5652d244bf70: i64 = undef
try.c: 0x5652d24abf40: 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: 0x5652d24abe10: i32 = Constant<0>
try.c: 0x5652d24abe10: i32 = Constant<0>
try.c: 0x5652d24abe10: i32 = Constant<0>
try.c: 0x5652d24abe10: i32 = Constant<0>
try.c: 0x5652d24abe10: i32 = Constant<0>
try.c: 0x5652d24abe10: i32 = Constant<0>
try.c: 0x5652d24abe10: i32 = Constant<0>
try.c: 0x5652d24abe10: i32 = Constant<0>
try.c: 0x5652d24abe10: 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: 0x55c3c4f66660: v4i64 = X86ISD::VTRUNC 0x55c3c4f66530
try.c: 0x55c3c4f66530: v16i32 = vselect 0x55c3c4f587d0, 0x55c3c4ed4470, 0x55c3c4f66400
try.c: 0x55c3c4f587d0: v4i1 = X86ISD::PCMPGTM 0x55c3c4f41270, 0x55c3c4f3c7f0
try.c: 0x55c3c4f41270: v4i64 = X86ISD::VBROADCAST 0x55c3c4ed4930
try.c: 0x55c3c4ed4930: i64,ch = load<LD8[%lsr.iv6971]> 0x55c3c4e3aa00, 0x55c3c4ee22e0, undef:i64
try.c: 0x55c3c4ee22e0: i64,ch = CopyFromReg 0x55c3c4e3aa00, Register:i64 %vreg50
try.c: 0x55c3c4f3ca50: i64 = Register %vreg50
try.c: 0x55c3c4eb8440: i64 = undef
try.c: 0x55c3c4f3c7f0: v4i64,ch = CopyFromReg 0x55c3c4e3aa00, Register:v4i64 %vreg13
try.c: 0x55c3c4f41ac0: v4i64 = Register %vreg13
try.c: 0x55c3c4ed4470: v16i32 = X86ISD::VBROADCAST 0x55c3c4f414d0
try.c: 0x55c3c4f414d0: i32,ch = load<LD4[ConstantPool]> 0x55c3c4e3aa00, 0x55c3c4ee08b0, undef:i64
try.c: 0x55c3c4ee08b0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c3c4eb8dc0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c3c4eb8440: i64 = undef
try.c: 0x55c3c4f66400: 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: 0x55c3c4f662d0: i32 = Constant<0>
try.c: 0x55c3c4f662d0: i32 = Constant<0>
try.c: 0x55c3c4f662d0: i32 = Constant<0>
try.c: 0x55c3c4f662d0: i32 = Constant<0>
try.c: 0x55c3c4f662d0: i32 = Constant<0>
try.c: 0x55c3c4f662d0: i32 = Constant<0>
try.c: 0x55c3c4f662d0: i32 = Constant<0>
try.c: 0x55c3c4f662d0: i32 = Constant<0>
try.c: 0x55c3c4f662d0: 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: 0x556436a646d0: v4i64 = X86ISD::VTRUNC 0x556436a645a0
try.c: 0x556436a645a0: v16i32 = vselect 0x556436a46ce0, 0x5564369e43e0, 0x556436a64470
try.c: 0x556436a46ce0: v4i1 = X86ISD::PCMPGTM 0x556436a43cb0, 0x556436a3f840
try.c: 0x556436a43cb0: v4i64 = X86ISD::VBROADCAST 0x5564369ff8a0
try.c: 0x5564369ff8a0: i64,ch = load<LD8[%lsr.iv6971]> 0x556436954910, 0x556436a2ba40, undef:i64
try.c: 0x556436a2ba40: i64,ch = CopyFromReg 0x556436954910, Register:i64 %vreg50
try.c: 0x556436a3faa0: i64 = Register %vreg50
try.c: 0x5564369e2a50: i64 = undef
try.c: 0x556436a3f840: v4i64,ch = CopyFromReg 0x556436954910, Register:v4i64 %vreg13
try.c: 0x556436a44500: v4i64 = Register %vreg13
try.c: 0x5564369e43e0: v16i32 = X86ISD::VBROADCAST 0x556436a43f10
try.c: 0x556436a43f10: i32,ch = load<LD4[ConstantPool]> 0x556436954910, 0x5564369fee80, undef:i64
try.c: 0x5564369fee80: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x556436a3b7f0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5564369e2a50: i64 = undef
try.c: 0x556436a64470: 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: 0x556436a64340: i32 = Constant<0>
try.c: 0x556436a64340: i32 = Constant<0>
try.c: 0x556436a64340: i32 = Constant<0>
try.c: 0x556436a64340: i32 = Constant<0>
try.c: 0x556436a64340: i32 = Constant<0>
try.c: 0x556436a64340: i32 = Constant<0>
try.c: 0x556436a64340: i32 = Constant<0>
try.c: 0x556436a64340: i32 = Constant<0>
try.c: 0x556436a64340: 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: 0x562d4c2250f0: v4i64 = X86ISD::VTRUNC 0x562d4c224fc0
try.c: 0x562d4c224fc0: v16i32 = vselect 0x562d4c221ad0, 0x562d4c1b2080, 0x562d4c224e90
try.c: 0x562d4c221ad0: v4i1 = X86ISD::PCMPGTM 0x562d4c20a760, 0x562d4c2062f0
try.c: 0x562d4c20a760: v4i64 = X86ISD::VBROADCAST 0x562d4c1b4670
try.c: 0x562d4c1b4670: i64,ch = load<LD8[%lsr.iv6971]> 0x562d4c11b950, 0x562d4c1f44d0, undef:i64
try.c: 0x562d4c1f44d0: i64,ch = CopyFromReg 0x562d4c11b950, Register:i64 %vreg50
try.c: 0x562d4c206550: i64 = Register %vreg50
try.c: 0x562d4c1b06f0: i64 = undef
try.c: 0x562d4c2062f0: v4i64,ch = CopyFromReg 0x562d4c11b950, Register:v4i64 %vreg13
try.c: 0x562d4c20afb0: v4i64 = Register %vreg13
try.c: 0x562d4c1b2080: v16i32 = X86ISD::VBROADCAST 0x562d4c20a9c0
try.c: 0x562d4c20a9c0: i32,ch = load<LD4[ConstantPool]> 0x562d4c11b950, 0x562d4c1b3c50, undef:i64
try.c: 0x562d4c1b3c50: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x562d4c1b8380: i64 = TargetConstantPool<i32 1> 0
try.c: 0x562d4c1b06f0: i64 = undef
try.c: 0x562d4c224e90: 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: 0x562d4c224d60: i32 = Constant<0>
try.c: 0x562d4c224d60: i32 = Constant<0>
try.c: 0x562d4c224d60: i32 = Constant<0>
try.c: 0x562d4c224d60: i32 = Constant<0>
try.c: 0x562d4c224d60: i32 = Constant<0>
try.c: 0x562d4c224d60: i32 = Constant<0>
try.c: 0x562d4c224d60: i32 = Constant<0>
try.c: 0x562d4c224d60: i32 = Constant<0>
try.c: 0x562d4c224d60: 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: 0x55eaec03e1a0: v4i64 = X86ISD::VTRUNC 0x55eaec03e070
try.c: 0x55eaec03e070: v16i32 = vselect 0x55eaec0221a0, 0x55eaebfbb8c0, 0x55eaec03df40
try.c: 0x55eaec0221a0: v4i1 = X86ISD::PCMPGTM 0x55eaec019f00, 0x55eaec015a90
try.c: 0x55eaec019f00: v4i64 = X86ISD::VBROADCAST 0x55eaebfbbd80
try.c: 0x55eaebfbbd80: i64,ch = load<LD8[%lsr.iv6971]> 0x55eaebf13a30, 0x55eaebfb6900, undef:i64
try.c: 0x55eaebfb6900: i64,ch = CopyFromReg 0x55eaebf13a30, Register:i64 %vreg50
try.c: 0x55eaec015cf0: i64 = Register %vreg50
try.c: 0x55eaebfdb170: i64 = undef
try.c: 0x55eaec015a90: v4i64,ch = CopyFromReg 0x55eaebf13a30, Register:v4i64 %vreg13
try.c: 0x55eaec01a750: v4i64 = Register %vreg13
try.c: 0x55eaebfbb8c0: v16i32 = X86ISD::VBROADCAST 0x55eaec01a160
try.c: 0x55eaec01a160: i32,ch = load<LD4[ConstantPool]> 0x55eaebf13a30, 0x55eaebfb4ed0, undef:i64
try.c: 0x55eaebfb4ed0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55eaebfdbaf0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55eaebfdb170: i64 = undef
try.c: 0x55eaec03df40: 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: 0x55eaec03de10: i32 = Constant<0>
try.c: 0x55eaec03de10: i32 = Constant<0>
try.c: 0x55eaec03de10: i32 = Constant<0>
try.c: 0x55eaec03de10: i32 = Constant<0>
try.c: 0x55eaec03de10: i32 = Constant<0>
try.c: 0x55eaec03de10: i32 = Constant<0>
try.c: 0x55eaec03de10: i32 = Constant<0>
try.c: 0x55eaec03de10: i32 = Constant<0>
try.c: 0x55eaec03de10: 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: 0x56043fc783a0: v4i64 = X86ISD::VTRUNC 0x56043fc78270
try.c: 0x56043fc78270: v16i32 = vselect 0x56043fc5c4d0, 0x56043fbfae60, 0x56043fc78140
try.c: 0x56043fc5c4d0: v4i1 = X86ISD::PCMPGTM 0x56043fc55a80, 0x56043fc51610
try.c: 0x56043fc55a80: v4i64 = X86ISD::VBROADCAST 0x56043fbf8000
try.c: 0x56043fbf8000: i64,ch = load<LD8[%lsr.iv6971]> 0x56043fb66950, 0x56043fc4c470, undef:i64
try.c: 0x56043fc4c470: i64,ch = CopyFromReg 0x56043fb66950, Register:i64 %vreg50
try.c: 0x56043fc51870: i64 = Register %vreg50
try.c: 0x56043fbf94d0: i64 = undef
try.c: 0x56043fc51610: v4i64,ch = CopyFromReg 0x56043fb66950, Register:v4i64 %vreg13
try.c: 0x56043fc562d0: v4i64 = Register %vreg13
try.c: 0x56043fbfae60: v16i32 = X86ISD::VBROADCAST 0x56043fc55ce0
try.c: 0x56043fc55ce0: i32,ch = load<LD4[ConstantPool]> 0x56043fb66950, 0x56043fbfdc50, undef:i64
try.c: 0x56043fbfdc50: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56043fc47e20: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56043fbf94d0: i64 = undef
try.c: 0x56043fc78140: 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: 0x56043fc78010: i32 = Constant<0>
try.c: 0x56043fc78010: i32 = Constant<0>
try.c: 0x56043fc78010: i32 = Constant<0>
try.c: 0x56043fc78010: i32 = Constant<0>
try.c: 0x56043fc78010: i32 = Constant<0>
try.c: 0x56043fc78010: i32 = Constant<0>
try.c: 0x56043fc78010: i32 = Constant<0>
try.c: 0x56043fc78010: i32 = Constant<0>
try.c: 0x56043fc78010: 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: 0x55a95bdefbc0: v4i64 = X86ISD::VTRUNC 0x55a95bdefa90
try.c: 0x55a95bdefa90: v16i32 = vselect 0x55a95bdec5a0, 0x55a95bd86c50, 0x55a95bdef960
try.c: 0x55a95bdec5a0: v4i1 = X86ISD::PCMPGTM 0x55a95bde7950, 0x55a95bde34e0
try.c: 0x55a95bde7950: v4i64 = X86ISD::VBROADCAST 0x55a95bd92830
try.c: 0x55a95bd92830: i64,ch = load<LD8[%lsr.iv6971]> 0x55a95bcf8950, 0x55a95bdde340, undef:i64
try.c: 0x55a95bdde340: i64,ch = CopyFromReg 0x55a95bcf8950, Register:i64 %vreg50
try.c: 0x55a95bde3740: i64 = Register %vreg50
try.c: 0x55a95bd93d00: i64 = undef
try.c: 0x55a95bde34e0: v4i64,ch = CopyFromReg 0x55a95bcf8950, Register:v4i64 %vreg13
try.c: 0x55a95bde81a0: v4i64 = Register %vreg13
try.c: 0x55a95bd86c50: v16i32 = X86ISD::VBROADCAST 0x55a95bde7bb0
try.c: 0x55a95bde7bb0: i32,ch = load<LD4[ConstantPool]> 0x55a95bcf8950, 0x55a95bd8fc40, undef:i64
try.c: 0x55a95bd8fc40: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55a95bdcde50: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55a95bd93d00: i64 = undef
try.c: 0x55a95bdef960: 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: 0x55a95bdef830: i32 = Constant<0>
try.c: 0x55a95bdef830: i32 = Constant<0>
try.c: 0x55a95bdef830: i32 = Constant<0>
try.c: 0x55a95bdef830: i32 = Constant<0>
try.c: 0x55a95bdef830: i32 = Constant<0>
try.c: 0x55a95bdef830: i32 = Constant<0>
try.c: 0x55a95bdef830: i32 = Constant<0>
try.c: 0x55a95bdef830: i32 = Constant<0>
try.c: 0x55a95bdef830: 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: 0x55ec9b6e80a0: v4i64 = X86ISD::VTRUNC 0x55ec9b6e7f70
try.c: 0x55ec9b6e7f70: v16i32 = vselect 0x55ec9b6d81f0, 0x55ec9b66c9f0, 0x55ec9b6e7e40
try.c: 0x55ec9b6d81f0: v4i1 = X86ISD::PCMPGTM 0x55ec9b6c3e70, 0x55ec9b6bfa00
try.c: 0x55ec9b6c3e70: v4i64 = X86ISD::VBROADCAST 0x55ec9b66ceb0
try.c: 0x55ec9b66ceb0: i64,ch = load<LD8[%lsr.iv6971]> 0x55ec9b5bda30, 0x55ec9b658840, undef:i64
try.c: 0x55ec9b658840: i64,ch = CopyFromReg 0x55ec9b5bda30, Register:i64 %vreg50
try.c: 0x55ec9b6bfc60: i64 = Register %vreg50
try.c: 0x55ec9b63b8a0: i64 = undef
try.c: 0x55ec9b6bfa00: v4i64,ch = CopyFromReg 0x55ec9b5bda30, Register:v4i64 %vreg13
try.c: 0x55ec9b6c46c0: v4i64 = Register %vreg13
try.c: 0x55ec9b66c9f0: v16i32 = X86ISD::VBROADCAST 0x55ec9b6c40d0
try.c: 0x55ec9b6c40d0: i32,ch = load<LD4[ConstantPool]> 0x55ec9b5bda30, 0x55ec9b656e10, undef:i64
try.c: 0x55ec9b656e10: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55ec9b63c220: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55ec9b63b8a0: i64 = undef
try.c: 0x55ec9b6e7e40: 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: 0x55ec9b6e7d10: i32 = Constant<0>
try.c: 0x55ec9b6e7d10: i32 = Constant<0>
try.c: 0x55ec9b6e7d10: i32 = Constant<0>
try.c: 0x55ec9b6e7d10: i32 = Constant<0>
try.c: 0x55ec9b6e7d10: i32 = Constant<0>
try.c: 0x55ec9b6e7d10: i32 = Constant<0>
try.c: 0x55ec9b6e7d10: i32 = Constant<0>
try.c: 0x55ec9b6e7d10: i32 = Constant<0>
try.c: 0x55ec9b6e7d10: 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: 0x555a73513d20: v4i64 = X86ISD::VTRUNC 0x555a73513bf0
try.c: 0x555a73513bf0: v16i32 = vselect 0x555a73523e80, 0x555a734b3c80, 0x555a73513ac0
try.c: 0x555a73523e80: v4i1 = X86ISD::PCMPGTM 0x555a7350cb10, 0x555a735086a0
try.c: 0x555a7350cb10: v4i64 = X86ISD::VBROADCAST 0x555a734afc40
try.c: 0x555a734afc40: i64,ch = load<LD8[%lsr.iv6971]> 0x555a7341d950, 0x555a734f7000, undef:i64
try.c: 0x555a734f7000: i64,ch = CopyFromReg 0x555a7341d950, Register:i64 %vreg50
try.c: 0x555a73508900: i64 = Register %vreg50
try.c: 0x555a734b1110: i64 = undef
try.c: 0x555a735086a0: v4i64,ch = CopyFromReg 0x555a7341d950, Register:v4i64 %vreg13
try.c: 0x555a7350d360: v4i64 = Register %vreg13
try.c: 0x555a734b3c80: v16i32 = X86ISD::VBROADCAST 0x555a7350cd70
try.c: 0x555a7350cd70: i32,ch = load<LD4[ConstantPool]> 0x555a7341d950, 0x555a7349b7c0, undef:i64
try.c: 0x555a7349b7c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x555a734facd0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x555a734b1110: i64 = undef
try.c: 0x555a73513ac0: 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: 0x555a73513990: i32 = Constant<0>
try.c: 0x555a73513990: i32 = Constant<0>
try.c: 0x555a73513990: i32 = Constant<0>
try.c: 0x555a73513990: i32 = Constant<0>
try.c: 0x555a73513990: i32 = Constant<0>
try.c: 0x555a73513990: i32 = Constant<0>
try.c: 0x555a73513990: i32 = Constant<0>
try.c: 0x555a73513990: i32 = Constant<0>
try.c: 0x555a73513990: 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