Implementation notes: amd64, cel02, crypto_hash/knot256v1

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_hash
Primitive: knot256v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
288748796 127 014941 959 808T:optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
289234567 127 010340 927 736T:optclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
307674780 127 011668 951 776T:optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
314612692 127 010280 935 776T:optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3469922227 127 016413 959 808T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
354842956 127 011876 951 776T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
355428767 127 010400 935 776T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
368602945 127 012570 935 736T:optclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
373650853 127 011452 951 776T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
386590838 127 010644 927 736T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3926921009 127 011580 951 776T:optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
4282781346 127 012994 935 736T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-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: 0x55d2119ab910: v4i64 = X86ISD::VTRUNC 0x55d2119ab7e0
try.c: 0x55d2119ab7e0: v16i32 = vselect 0x55d2119b5b90, 0x55d211945e60, 0x55d2119ab6b0
try.c: 0x55d2119b5b90: v4i1 = X86ISD::PCMPGTM 0x55d21199de60, 0x55d21199b170
try.c: 0x55d21199de60: v4i64 = X86ISD::VBROADCAST 0x55d211953fc0
try.c: 0x55d211953fc0: i64,ch = load<LD8[%lsr.iv6971]> 0x55d2118af950, 0x55d21190bc80, undef:i64
try.c: 0x55d21190bc80: i64,ch = CopyFromReg 0x55d2118af950, Register:i64 %vreg50
try.c: 0x55d21199b3d0: i64 = Register %vreg50
try.c: 0x55d211955490: i64 = undef
try.c: 0x55d21199b170: v4i64,ch = CopyFromReg 0x55d2118af950, Register:v4i64 %vreg13
try.c: 0x55d21199e6b0: v4i64 = Register %vreg13
try.c: 0x55d211945e60: v16i32 = X86ISD::VBROADCAST 0x55d21199e0c0
try.c: 0x55d21199e0c0: i32,ch = load<LD4[ConstantPool]> 0x55d2118af950, 0x55d21193cd40, undef:i64
try.c: 0x55d21193cd40: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55d211988290: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55d211955490: i64 = undef
try.c: 0x55d2119ab6b0: 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: 0x55d2119ab580: i32 = Constant<0>
try.c: 0x55d2119ab580: i32 = Constant<0>
try.c: 0x55d2119ab580: i32 = Constant<0>
try.c: 0x55d2119ab580: i32 = Constant<0>
try.c: 0x55d2119ab580: i32 = Constant<0>
try.c: 0x55d2119ab580: i32 = Constant<0>
try.c: 0x55d2119ab580: i32 = Constant<0>
try.c: 0x55d2119ab580: i32 = Constant<0>
try.c: 0x55d2119ab580: 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: 0x56484d6dd530: v4i64 = X86ISD::VTRUNC 0x56484d6dd400
try.c: 0x56484d6dd400: v16i32 = vselect 0x56484d6be7b0, 0x56484d64dfb0, 0x56484d6dd2d0
try.c: 0x56484d6be7b0: v4i1 = X86ISD::PCMPGTM 0x56484d6b95f0, 0x56484d6b5b80
try.c: 0x56484d6b95f0: v4i64 = X86ISD::VBROADCAST 0x56484d64e470
try.c: 0x56484d64e470: i64,ch = load<LD8[%lsr.iv6971]> 0x56484d5b3a30, 0x56484d6670c0, undef:i64
try.c: 0x56484d6670c0: i64,ch = CopyFromReg 0x56484d5b3a30, Register:i64 %vreg50
try.c: 0x56484d6b5de0: i64 = Register %vreg50
try.c: 0x56484d651e80: i64 = undef
try.c: 0x56484d6b5b80: v4i64,ch = CopyFromReg 0x56484d5b3a30, Register:v4i64 %vreg13
try.c: 0x56484d6b9e40: v4i64 = Register %vreg13
try.c: 0x56484d64dfb0: v16i32 = X86ISD::VBROADCAST 0x56484d6b9850
try.c: 0x56484d6b9850: i32,ch = load<LD4[ConstantPool]> 0x56484d5b3a30, 0x56484d65b820, undef:i64
try.c: 0x56484d65b820: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56484d652800: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56484d651e80: i64 = undef
try.c: 0x56484d6dd2d0: 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: 0x56484d6dd1a0: i32 = Constant<0>
try.c: 0x56484d6dd1a0: i32 = Constant<0>
try.c: 0x56484d6dd1a0: i32 = Constant<0>
try.c: 0x56484d6dd1a0: i32 = Constant<0>
try.c: 0x56484d6dd1a0: i32 = Constant<0>
try.c: 0x56484d6dd1a0: i32 = Constant<0>
try.c: 0x56484d6dd1a0: i32 = Constant<0>
try.c: 0x56484d6dd1a0: i32 = Constant<0>
try.c: 0x56484d6dd1a0: 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: 0x561587f3a360: v4i64 = X86ISD::VTRUNC 0x561587f3a230
try.c: 0x561587f3a230: v16i32 = vselect 0x561587f41630, 0x561587ed8060, 0x561587f3a100
try.c: 0x561587f41630: v4i1 = X86ISD::PCMPGTM 0x561587f1e9d0, 0x561587f1a560
try.c: 0x561587f1e9d0: v4i64 = X86ISD::VBROADCAST 0x561587ec6810
try.c: 0x561587ec6810: i64,ch = load<LD8[%lsr.iv6971]> 0x561587e2f960, 0x561587f09d10, undef:i64
try.c: 0x561587f09d10: i64,ch = CopyFromReg 0x561587e2f960, Register:i64 %vreg50
try.c: 0x561587f1a7c0: i64 = Register %vreg50
try.c: 0x561587ec7ce0: i64 = undef
try.c: 0x561587f1a560: v4i64,ch = CopyFromReg 0x561587e2f960, Register:v4i64 %vreg13
try.c: 0x561587f1f220: v4i64 = Register %vreg13
try.c: 0x561587ed8060: v16i32 = X86ISD::VBROADCAST 0x561587f1ec30
try.c: 0x561587f1ec30: i32,ch = load<LD4[ConstantPool]> 0x561587e2f960, 0x561587ec5df0, undef:i64
try.c: 0x561587ec5df0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x561587ec9a50: i64 = TargetConstantPool<i32 1> 0
try.c: 0x561587ec7ce0: i64 = undef
try.c: 0x561587f3a100: 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: 0x561587f39fd0: i32 = Constant<0>
try.c: 0x561587f39fd0: i32 = Constant<0>
try.c: 0x561587f39fd0: i32 = Constant<0>
try.c: 0x561587f39fd0: i32 = Constant<0>
try.c: 0x561587f39fd0: i32 = Constant<0>
try.c: 0x561587f39fd0: i32 = Constant<0>
try.c: 0x561587f39fd0: i32 = Constant<0>
try.c: 0x561587f39fd0: i32 = Constant<0>
try.c: 0x561587f39fd0: 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: 0x563e1b565750: v4i64 = X86ISD::VTRUNC 0x563e1b565620
try.c: 0x563e1b565620: v16i32 = vselect 0x563e1b57ca50, 0x563e1b4fdc80, 0x563e1b5654f0
try.c: 0x563e1b57ca50: v4i1 = X86ISD::PCMPGTM 0x563e1b55da80, 0x563e1b559610
try.c: 0x563e1b55da80: v4i64 = X86ISD::VBROADCAST 0x563e1b501aa0
try.c: 0x563e1b501aa0: i64,ch = load<LD8[%lsr.iv6971]> 0x563e1b46e950, 0x563e1b554470, undef:i64
try.c: 0x563e1b554470: i64,ch = CopyFromReg 0x563e1b46e950, Register:i64 %vreg50
try.c: 0x563e1b559870: i64 = Register %vreg50
try.c: 0x563e1b4fc2f0: i64 = undef
try.c: 0x563e1b559610: v4i64,ch = CopyFromReg 0x563e1b46e950, Register:v4i64 %vreg13
try.c: 0x563e1b55e2d0: v4i64 = Register %vreg13
try.c: 0x563e1b4fdc80: v16i32 = X86ISD::VBROADCAST 0x563e1b55dce0
try.c: 0x563e1b55dce0: i32,ch = load<LD4[ConstantPool]> 0x563e1b46e950, 0x563e1b501080, undef:i64
try.c: 0x563e1b501080: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x563e1b51f400: i64 = TargetConstantPool<i32 1> 0
try.c: 0x563e1b4fc2f0: i64 = undef
try.c: 0x563e1b5654f0: 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: 0x563e1b5653c0: i32 = Constant<0>
try.c: 0x563e1b5653c0: i32 = Constant<0>
try.c: 0x563e1b5653c0: i32 = Constant<0>
try.c: 0x563e1b5653c0: i32 = Constant<0>
try.c: 0x563e1b5653c0: i32 = Constant<0>
try.c: 0x563e1b5653c0: i32 = Constant<0>
try.c: 0x563e1b5653c0: i32 = Constant<0>
try.c: 0x563e1b5653c0: i32 = Constant<0>
try.c: 0x563e1b5653c0: 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: 0x55ed249e2e50: v4i64 = X86ISD::VTRUNC 0x55ed249e2d20
try.c: 0x55ed249e2d20: v16i32 = vselect 0x55ed24959510, 0x55ed2495f880, 0x55ed249e2bf0
try.c: 0x55ed24959510: v4i1 = X86ISD::PCMPGTM 0x55ed249c8e60, 0x55ed249c53f0
try.c: 0x55ed249c8e60: v4i64 = X86ISD::VBROADCAST 0x55ed2495fd40
try.c: 0x55ed2495fd40: i64,ch = load<LD8[%lsr.iv6971]> 0x55ed248c3a30, 0x55ed24964f50, undef:i64
try.c: 0x55ed24964f50: i64,ch = CopyFromReg 0x55ed248c3a30, Register:i64 %vreg50
try.c: 0x55ed249c5650: i64 = Register %vreg50
try.c: 0x55ed2496dab0: i64 = undef
try.c: 0x55ed249c53f0: v4i64,ch = CopyFromReg 0x55ed248c3a30, Register:v4i64 %vreg13
try.c: 0x55ed249c96b0: v4i64 = Register %vreg13
try.c: 0x55ed2495f880: v16i32 = X86ISD::VBROADCAST 0x55ed249c90c0
try.c: 0x55ed249c90c0: i32,ch = load<LD4[ConstantPool]> 0x55ed248c3a30, 0x55ed2496a9d0, undef:i64
try.c: 0x55ed2496a9d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55ed2496e430: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55ed2496dab0: i64 = undef
try.c: 0x55ed249e2bf0: 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: 0x55ed249e2ac0: i32 = Constant<0>
try.c: 0x55ed249e2ac0: i32 = Constant<0>
try.c: 0x55ed249e2ac0: i32 = Constant<0>
try.c: 0x55ed249e2ac0: i32 = Constant<0>
try.c: 0x55ed249e2ac0: i32 = Constant<0>
try.c: 0x55ed249e2ac0: i32 = Constant<0>
try.c: 0x55ed249e2ac0: i32 = Constant<0>
try.c: 0x55ed249e2ac0: i32 = Constant<0>
try.c: 0x55ed249e2ac0: 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: 0x561a4af50d50: v4i64 = X86ISD::VTRUNC 0x561a4af50c20
try.c: 0x561a4af50c20: v16i32 = vselect 0x561a4af4b720, 0x561a4af04650, 0x561a4af50af0
try.c: 0x561a4af4b720: v4i1 = X86ISD::PCMPGTM 0x561a4af4a710, 0x561a4af462a0
try.c: 0x561a4af4a710: v4i64 = X86ISD::VBROADCAST 0x561a4aef1cd0
try.c: 0x561a4aef1cd0: i64,ch = load<LD8[%lsr.iv6971]> 0x561a4ae5b950, 0x561a4af33fb0, undef:i64
try.c: 0x561a4af33fb0: i64,ch = CopyFromReg 0x561a4ae5b950, Register:i64 %vreg50
try.c: 0x561a4af46500: i64 = Register %vreg50
try.c: 0x561a4aef31a0: i64 = undef
try.c: 0x561a4af462a0: v4i64,ch = CopyFromReg 0x561a4ae5b950, Register:v4i64 %vreg13
try.c: 0x561a4af4af60: v4i64 = Register %vreg13
try.c: 0x561a4af04650: v16i32 = X86ISD::VBROADCAST 0x561a4af4a970
try.c: 0x561a4af4a970: i32,ch = load<LD4[ConstantPool]> 0x561a4ae5b950, 0x561a4aef12b0, undef:i64
try.c: 0x561a4aef12b0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x561a4af351b0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x561a4aef31a0: i64 = undef
try.c: 0x561a4af50af0: 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: 0x561a4af509c0: i32 = Constant<0>
try.c: 0x561a4af509c0: i32 = Constant<0>
try.c: 0x561a4af509c0: i32 = Constant<0>
try.c: 0x561a4af509c0: i32 = Constant<0>
try.c: 0x561a4af509c0: i32 = Constant<0>
try.c: 0x561a4af509c0: i32 = Constant<0>
try.c: 0x561a4af509c0: i32 = Constant<0>
try.c: 0x561a4af509c0: i32 = Constant<0>
try.c: 0x561a4af509c0: 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