Implementation notes: amd64, cel02, crypto_hash/knot512

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_hash
Primitive: knot512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3599481170 0 010948 792 736T:optclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3810921551 0 013178 800 736T:optclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3967622238 255 013882 1063 736T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
5783621241 255 011044 1055 736T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
8382824041 255 018229 1087 808T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
8508441801 0 015941 824 808T:optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
8666941390 0 011016 800 776T:optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
9279761577 0 012492 816 776T:optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
9490121652 255 012580 1079 776T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
9925762311 0 012908 816 776T:optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
10345061352 255 011964 1079 776T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
12467541350 255 010984 1063 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: 0x560bc8f52390: v4i64 = X86ISD::VTRUNC 0x560bc8f52260
try.c: 0x560bc8f52260: v16i32 = vselect 0x560bc8f3e640, 0x560bc8ee0730, 0x560bc8f52130
try.c: 0x560bc8f3e640: v4i1 = X86ISD::PCMPGTM 0x560bc8f38a20, 0x560bc8f345b0
try.c: 0x560bc8f38a20: v4i64 = X86ISD::VBROADCAST 0x560bc8f06110
try.c: 0x560bc8f06110: i64,ch = load<LD8[%lsr.iv6971]> 0x560bc8e49920, 0x560bc8f22bd0, undef:i64
try.c: 0x560bc8f22bd0: i64,ch = CopyFromReg 0x560bc8e49920, Register:i64 %vreg50
try.c: 0x560bc8f34810: i64 = Register %vreg50
try.c: 0x560bc8ededa0: i64 = undef
try.c: 0x560bc8f345b0: v4i64,ch = CopyFromReg 0x560bc8e49920, Register:v4i64 %vreg13
try.c: 0x560bc8f39270: v4i64 = Register %vreg13
try.c: 0x560bc8ee0730: v16i32 = X86ISD::VBROADCAST 0x560bc8f38c80
try.c: 0x560bc8f38c80: i32,ch = load<LD4[ConstantPool]> 0x560bc8e49920, 0x560bc8f056f0, undef:i64
try.c: 0x560bc8f056f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x560bc8f1d030: i64 = TargetConstantPool<i32 1> 0
try.c: 0x560bc8ededa0: i64 = undef
try.c: 0x560bc8f52130: 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: 0x560bc8f52000: i32 = Constant<0>
try.c: 0x560bc8f52000: i32 = Constant<0>
try.c: 0x560bc8f52000: i32 = Constant<0>
try.c: 0x560bc8f52000: i32 = Constant<0>
try.c: 0x560bc8f52000: i32 = Constant<0>
try.c: 0x560bc8f52000: i32 = Constant<0>
try.c: 0x560bc8f52000: i32 = Constant<0>
try.c: 0x560bc8f52000: i32 = Constant<0>
try.c: 0x560bc8f52000: 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: 0x55fccc649c60: v4i64 = X86ISD::VTRUNC 0x55fccc649b30
try.c: 0x55fccc649b30: v16i32 = vselect 0x55fccc644630, 0x55fccc5ca140, 0x55fccc649a00
try.c: 0x55fccc644630: v4i1 = X86ISD::PCMPGTM 0x55fccc62fef0, 0x55fccc62ba80
try.c: 0x55fccc62fef0: v4i64 = X86ISD::VBROADCAST 0x55fccc5ca600
try.c: 0x55fccc5ca600: i64,ch = load<LD8[%lsr.iv6971]> 0x55fccc529a00, 0x55fccc5dee90, undef:i64
try.c: 0x55fccc5dee90: i64,ch = CopyFromReg 0x55fccc529a00, Register:i64 %vreg50
try.c: 0x55fccc62bce0: i64 = Register %vreg50
try.c: 0x55fccc5c7200: i64 = undef
try.c: 0x55fccc62ba80: v4i64,ch = CopyFromReg 0x55fccc529a00, Register:v4i64 %vreg13
try.c: 0x55fccc630740: v4i64 = Register %vreg13
try.c: 0x55fccc5ca140: v16i32 = X86ISD::VBROADCAST 0x55fccc630150
try.c: 0x55fccc630150: i32,ch = load<LD4[ConstantPool]> 0x55fccc529a00, 0x55fccc5ccae0, undef:i64
try.c: 0x55fccc5ccae0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55fccc5c7b80: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55fccc5c7200: i64 = undef
try.c: 0x55fccc649a00: 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: 0x55fccc6498d0: i32 = Constant<0>
try.c: 0x55fccc6498d0: i32 = Constant<0>
try.c: 0x55fccc6498d0: i32 = Constant<0>
try.c: 0x55fccc6498d0: i32 = Constant<0>
try.c: 0x55fccc6498d0: i32 = Constant<0>
try.c: 0x55fccc6498d0: i32 = Constant<0>
try.c: 0x55fccc6498d0: i32 = Constant<0>
try.c: 0x55fccc6498d0: i32 = Constant<0>
try.c: 0x55fccc6498d0: 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: 0x557386a187c0: v4i64 = X86ISD::VTRUNC 0x557386a18690
try.c: 0x557386a18690: v16i32 = vselect 0x5573869fc700, 0x55738699dfc0, 0x557386a18560
try.c: 0x5573869fc700: v4i1 = X86ISD::PCMPGTM 0x5573869f5aa0, 0x5573869f1630
try.c: 0x5573869f5aa0: v4i64 = X86ISD::VBROADCAST 0x557386984b70
try.c: 0x557386984b70: i64,ch = load<LD8[%lsr.iv6971]> 0x557386906930, 0x5573869ec490, undef:i64
try.c: 0x5573869ec490: i64,ch = CopyFromReg 0x557386906930, Register:i64 %vreg50
try.c: 0x5573869f1890: i64 = Register %vreg50
try.c: 0x55738699c630: i64 = undef
try.c: 0x5573869f1630: v4i64,ch = CopyFromReg 0x557386906930, Register:v4i64 %vreg13
try.c: 0x5573869f62f0: v4i64 = Register %vreg13
try.c: 0x55738699dfc0: v16i32 = X86ISD::VBROADCAST 0x5573869f5d00
try.c: 0x5573869f5d00: i32,ch = load<LD4[ConstantPool]> 0x557386906930, 0x557386995530, undef:i64
try.c: 0x557386995530: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5573869bb9d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55738699c630: i64 = undef
try.c: 0x557386a18560: 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: 0x557386a18430: i32 = Constant<0>
try.c: 0x557386a18430: i32 = Constant<0>
try.c: 0x557386a18430: i32 = Constant<0>
try.c: 0x557386a18430: i32 = Constant<0>
try.c: 0x557386a18430: i32 = Constant<0>
try.c: 0x557386a18430: i32 = Constant<0>
try.c: 0x557386a18430: i32 = Constant<0>
try.c: 0x557386a18430: i32 = Constant<0>
try.c: 0x557386a18430: 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
try.c: fatal error: error in backend: Cannot select: 0x5603f4d45180: v4i64 = X86ISD::VTRUNC 0x5603f4d45050
try.c: 0x5603f4d45050: v16i32 = vselect 0x5603f4d15a50, 0x5603f4ce00c0, 0x5603f4d44f20
try.c: 0x5603f4d15a50: v4i1 = X86ISD::PCMPGTM 0x5603f4d2a800, 0x5603f4d26390
try.c: 0x5603f4d2a800: v4i64 = X86ISD::VBROADCAST 0x5603f4ce4fc0
try.c: 0x5603f4ce4fc0: i64,ch = load<LD8[%lsr.iv6971]> 0x5603f4c3b920, 0x5603f4d211f0, undef:i64
try.c: 0x5603f4d211f0: i64,ch = CopyFromReg 0x5603f4c3b920, Register:i64 %vreg50
try.c: 0x5603f4d265f0: i64 = Register %vreg50
try.c: 0x5603f4ce6490: i64 = undef
try.c: 0x5603f4d26390: v4i64,ch = CopyFromReg 0x5603f4c3b920, Register:v4i64 %vreg13
try.c: 0x5603f4d2b050: v4i64 = Register %vreg13
try.c: 0x5603f4ce00c0: v16i32 = X86ISD::VBROADCAST 0x5603f4d2aa60
try.c: 0x5603f4d2aa60: i32,ch = load<LD4[ConstantPool]> 0x5603f4c3b920, 0x5603f4ccb110, undef:i64
try.c: 0x5603f4ccb110: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5603f4d1cee0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5603f4ce6490: i64 = undef
try.c: 0x5603f4d44f20: 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: 0x5603f4d44df0: i32 = Constant<0>
try.c: 0x5603f4d44df0: i32 = Constant<0>
try.c: 0x5603f4d44df0: i32 = Constant<0>
try.c: 0x5603f4d44df0: i32 = Constant<0>
try.c: 0x5603f4d44df0: i32 = Constant<0>
try.c: 0x5603f4d44df0: i32 = Constant<0>
try.c: 0x5603f4d44df0: i32 = Constant<0>
try.c: 0x5603f4d44df0: i32 = Constant<0>
try.c: 0x5603f4d44df0: 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: 0x55d600383c20: v4i64 = X86ISD::VTRUNC 0x55d600383af0
try.c: 0x55d600383af0: v16i32 = vselect 0x55d600381610, 0x55d6003080d0, 0x55d6003839c0
try.c: 0x55d600381610: v4i1 = X86ISD::PCMPGTM 0x55d60036d290, 0x55d600368e20
try.c: 0x55d60036d290: v4i64 = X86ISD::VBROADCAST 0x55d600308590
try.c: 0x55d600308590: i64,ch = load<LD8[%lsr.iv6971]> 0x55d600266a00, 0x55d600300ea0, undef:i64
try.c: 0x55d600300ea0: i64,ch = CopyFromReg 0x55d600266a00, Register:i64 %vreg50
try.c: 0x55d600369080: i64 = Register %vreg50
try.c: 0x55d60031a510: i64 = undef
try.c: 0x55d600368e20: v4i64,ch = CopyFromReg 0x55d600266a00, Register:v4i64 %vreg13
try.c: 0x55d60036dae0: v4i64 = Register %vreg13
try.c: 0x55d6003080d0: v16i32 = X86ISD::VBROADCAST 0x55d60036d4f0
try.c: 0x55d60036d4f0: i32,ch = load<LD4[ConstantPool]> 0x55d600266a00, 0x55d60030aa70, undef:i64
try.c: 0x55d60030aa70: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55d60031ae90: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55d60031a510: i64 = undef
try.c: 0x55d6003839c0: 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: 0x55d600383890: i32 = Constant<0>
try.c: 0x55d600383890: i32 = Constant<0>
try.c: 0x55d600383890: i32 = Constant<0>
try.c: 0x55d600383890: i32 = Constant<0>
try.c: 0x55d600383890: i32 = Constant<0>
try.c: 0x55d600383890: i32 = Constant<0>
try.c: 0x55d600383890: i32 = Constant<0>
try.c: 0x55d600383890: i32 = Constant<0>
try.c: 0x55d600383890: 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: 0x55d5c3af5b80: v4i64 = X86ISD::VTRUNC 0x55d5c3af5a50
try.c: 0x55d5c3af5a50: v16i32 = vselect 0x55d5c3af2560, 0x55d5c3a79400, 0x55d5c3af5920
try.c: 0x55d5c3af2560: v4i1 = X86ISD::PCMPGTM 0x55d5c3ad0910, 0x55d5c3acc4a0
try.c: 0x55d5c3ad0910: v4i64 = X86ISD::VBROADCAST 0x55d5c3a70900
try.c: 0x55d5c3a70900: i64,ch = load<LD8[%lsr.iv6971]> 0x55d5c39e1920, 0x55d5c3abe860, undef:i64
try.c: 0x55d5c3abe860: i64,ch = CopyFromReg 0x55d5c39e1920, Register:i64 %vreg50
try.c: 0x55d5c3acc700: i64 = Register %vreg50
try.c: 0x55d5c3a77a70: i64 = undef
try.c: 0x55d5c3acc4a0: v4i64,ch = CopyFromReg 0x55d5c39e1920, Register:v4i64 %vreg13
try.c: 0x55d5c3ad1160: v4i64 = Register %vreg13
try.c: 0x55d5c3a79400: v16i32 = X86ISD::VBROADCAST 0x55d5c3ad0b70
try.c: 0x55d5c3ad0b70: i32,ch = load<LD4[ConstantPool]> 0x55d5c39e1920, 0x55d5c3a6fee0, undef:i64
try.c: 0x55d5c3a6fee0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55d5c3a86a20: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55d5c3a77a70: i64 = undef
try.c: 0x55d5c3af5920: 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: 0x55d5c3af57f0: i32 = Constant<0>
try.c: 0x55d5c3af57f0: i32 = Constant<0>
try.c: 0x55d5c3af57f0: i32 = Constant<0>
try.c: 0x55d5c3af57f0: i32 = Constant<0>
try.c: 0x55d5c3af57f0: i32 = Constant<0>
try.c: 0x55d5c3af57f0: i32 = Constant<0>
try.c: 0x55d5c3af57f0: i32 = Constant<0>
try.c: 0x55d5c3af57f0: i32 = Constant<0>
try.c: 0x55d5c3af57f0: 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