Implementation notes: amd64, cel02, crypto_hash/knot256v2

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_hash
Primitive: knot256v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1132401228 127 010996 927 736T:optclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1165941221 127 012826 935 736T:optclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1335042096 127 013754 935 736T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1598061696 127 015829 959 808T:optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2169381700 127 012644 951 776T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2245821534 127 012412 951 776T:optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2340883472 127 017685 959 808T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2624341365 127 011188 927 736T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2696501320 127 010920 935 776T:optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3238861378 127 012012 951 776T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3245942078 127 012652 951 776T:optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3870641339 127 011000 935 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: 0x55bb95b4f120: v4i64 = X86ISD::VTRUNC 0x55bb95b4eff0
try.c: 0x55bb95b4eff0: v16i32 = vselect 0x55bb95b6c4a0, 0x55bb95ae9e70, 0x55bb95b4eec0
try.c: 0x55bb95b6c4a0: v4i1 = X86ISD::PCMPGTM 0x55bb95b4ab00, 0x55bb95b46690
try.c: 0x55bb95b4ab00: v4i64 = X86ISD::VBROADCAST 0x55bb95af07b0
try.c: 0x55bb95af07b0: i64,ch = load<LD8[%lsr.iv6971]> 0x55bb95a5b9c0, 0x55bb95b34cb0, undef:i64
try.c: 0x55bb95b34cb0: i64,ch = CopyFromReg 0x55bb95a5b9c0, Register:i64 %vreg50
try.c: 0x55bb95b468f0: i64 = Register %vreg50
try.c: 0x55bb95af1c80: i64 = undef
try.c: 0x55bb95b46690: v4i64,ch = CopyFromReg 0x55bb95a5b9c0, Register:v4i64 %vreg13
try.c: 0x55bb95b4b350: v4i64 = Register %vreg13
try.c: 0x55bb95ae9e70: v16i32 = X86ISD::VBROADCAST 0x55bb95b4ad60
try.c: 0x55bb95b4ad60: i32,ch = load<LD4[ConstantPool]> 0x55bb95a5b9c0, 0x55bb95aef290, undef:i64
try.c: 0x55bb95aef290: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55bb95b08b80: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55bb95af1c80: i64 = undef
try.c: 0x55bb95b4eec0: 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: 0x55bb95b4ed90: i32 = Constant<0>
try.c: 0x55bb95b4ed90: i32 = Constant<0>
try.c: 0x55bb95b4ed90: i32 = Constant<0>
try.c: 0x55bb95b4ed90: i32 = Constant<0>
try.c: 0x55bb95b4ed90: i32 = Constant<0>
try.c: 0x55bb95b4ed90: i32 = Constant<0>
try.c: 0x55bb95b4ed90: i32 = Constant<0>
try.c: 0x55bb95b4ed90: i32 = Constant<0>
try.c: 0x55bb95b4ed90: 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: 0x55efdd5f32d0: v4i64 = X86ISD::VTRUNC 0x55efdd5f31a0
try.c: 0x55efdd5f31a0: v16i32 = vselect 0x55efdd5d26f0, 0x55efdd578cb0, 0x55efdd5f3070
try.c: 0x55efdd5d26f0: v4i1 = X86ISD::PCMPGTM 0x55efdd5cdeb0, 0x55efdd5c9a40
try.c: 0x55efdd5cdeb0: v4i64 = X86ISD::VBROADCAST 0x55efdd579170
try.c: 0x55efdd579170: i64,ch = load<LD8[%lsr.iv6971]> 0x55efdd4c7a40, 0x55efdd570480, undef:i64
try.c: 0x55efdd570480: i64,ch = CopyFromReg 0x55efdd4c7a40, Register:i64 %vreg50
try.c: 0x55efdd5c9ca0: i64 = Register %vreg50
try.c: 0x55efdd5655a0: i64 = undef
try.c: 0x55efdd5c9a40: v4i64,ch = CopyFromReg 0x55efdd4c7a40, Register:v4i64 %vreg13
try.c: 0x55efdd5ce700: v4i64 = Register %vreg13
try.c: 0x55efdd578cb0: v16i32 = X86ISD::VBROADCAST 0x55efdd5ce110
try.c: 0x55efdd5ce110: i32,ch = load<LD4[ConstantPool]> 0x55efdd4c7a40, 0x55efdd56ea50, undef:i64
try.c: 0x55efdd56ea50: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55efdd565f20: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55efdd5655a0: i64 = undef
try.c: 0x55efdd5f3070: 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: 0x55efdd5f2f40: i32 = Constant<0>
try.c: 0x55efdd5f2f40: i32 = Constant<0>
try.c: 0x55efdd5f2f40: i32 = Constant<0>
try.c: 0x55efdd5f2f40: i32 = Constant<0>
try.c: 0x55efdd5f2f40: i32 = Constant<0>
try.c: 0x55efdd5f2f40: i32 = Constant<0>
try.c: 0x55efdd5f2f40: i32 = Constant<0>
try.c: 0x55efdd5f2f40: i32 = Constant<0>
try.c: 0x55efdd5f2f40: 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: 0x55e8e7340f10: v4i64 = X86ISD::VTRUNC 0x55e8e7340de0
try.c: 0x55e8e7340de0: v16i32 = vselect 0x55e8e7356f70, 0x55e8e72d9f00, 0x55e8e7340cb0
try.c: 0x55e8e7356f70: v4i1 = X86ISD::PCMPGTM 0x55e8e7337d20, 0x55e8e73330f0
try.c: 0x55e8e7337d20: v4i64 = X86ISD::VBROADCAST 0x55e8e72dc200
try.c: 0x55e8e72dc200: i64,ch = load<LD8[%lsr.iv6971]> 0x55e8e7248900, 0x55e8e731f5f0, undef:i64
try.c: 0x55e8e731f5f0: i64,ch = CopyFromReg 0x55e8e7248900, Register:i64 %vreg50
try.c: 0x55e8e7333350: i64 = Register %vreg50
try.c: 0x55e8e72d8570: i64 = undef
try.c: 0x55e8e73330f0: v4i64,ch = CopyFromReg 0x55e8e7248900, Register:v4i64 %vreg13
try.c: 0x55e8e7338570: v4i64 = Register %vreg13
try.c: 0x55e8e72d9f00: v16i32 = X86ISD::VBROADCAST 0x55e8e7337f80
try.c: 0x55e8e7337f80: i32,ch = load<LD4[ConstantPool]> 0x55e8e7248900, 0x55e8e72db7e0, undef:i64
try.c: 0x55e8e72db7e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e8e72d73c0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e8e72d8570: i64 = undef
try.c: 0x55e8e7340cb0: 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: 0x55e8e7340b80: i32 = Constant<0>
try.c: 0x55e8e7340b80: i32 = Constant<0>
try.c: 0x55e8e7340b80: i32 = Constant<0>
try.c: 0x55e8e7340b80: i32 = Constant<0>
try.c: 0x55e8e7340b80: i32 = Constant<0>
try.c: 0x55e8e7340b80: i32 = Constant<0>
try.c: 0x55e8e7340b80: i32 = Constant<0>
try.c: 0x55e8e7340b80: i32 = Constant<0>
try.c: 0x55e8e7340b80: 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: 0x5648c072c750: v4i64 = X86ISD::VTRUNC 0x5648c072c620
try.c: 0x5648c072c620: v16i32 = vselect 0x5648c0727120, 0x5648c06ce960, 0x5648c072c4f0
try.c: 0x5648c0727120: v4i1 = X86ISD::PCMPGTM 0x5648c07225b0, 0x5648c071e140
try.c: 0x5648c07225b0: v4i64 = X86ISD::VBROADCAST 0x5648c06c37b0
try.c: 0x5648c06c37b0: i64,ch = load<LD8[%lsr.iv6971]> 0x5648c0633950, 0x5648c070b610, undef:i64
try.c: 0x5648c070b610: i64,ch = CopyFromReg 0x5648c0633950, Register:i64 %vreg50
try.c: 0x5648c071e3a0: i64 = Register %vreg50
try.c: 0x5648c06c4c80: i64 = undef
try.c: 0x5648c071e140: v4i64,ch = CopyFromReg 0x5648c0633950, Register:v4i64 %vreg13
try.c: 0x5648c0722e00: v4i64 = Register %vreg13
try.c: 0x5648c06ce960: v16i32 = X86ISD::VBROADCAST 0x5648c0722810
try.c: 0x5648c0722810: i32,ch = load<LD4[ConstantPool]> 0x5648c0633950, 0x5648c06cb7c0, undef:i64
try.c: 0x5648c06cb7c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5648c0714e30: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5648c06c4c80: i64 = undef
try.c: 0x5648c072c4f0: 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: 0x5648c072c3c0: i32 = Constant<0>
try.c: 0x5648c072c3c0: i32 = Constant<0>
try.c: 0x5648c072c3c0: i32 = Constant<0>
try.c: 0x5648c072c3c0: i32 = Constant<0>
try.c: 0x5648c072c3c0: i32 = Constant<0>
try.c: 0x5648c072c3c0: i32 = Constant<0>
try.c: 0x5648c072c3c0: i32 = Constant<0>
try.c: 0x5648c072c3c0: i32 = Constant<0>
try.c: 0x5648c072c3c0: 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: 0x557590b3c660: v4i64 = X86ISD::VTRUNC 0x557590b3c530
try.c: 0x557590b3c530: v16i32 = vselect 0x557590b2c200, 0x557590ac79d0, 0x557590b3c400
try.c: 0x557590b2c200: v4i1 = X86ISD::PCMPGTM 0x557590b17270, 0x557590b13e10
try.c: 0x557590b17270: v4i64 = X86ISD::VBROADCAST 0x557590ac7e90
try.c: 0x557590ac7e90: i64,ch = load<LD8[%lsr.iv6971]> 0x557590a11a20, 0x557590ab2a40, undef:i64
try.c: 0x557590ab2a40: i64,ch = CopyFromReg 0x557590a11a20, Register:i64 %vreg50
try.c: 0x557590b14070: i64 = Register %vreg50
try.c: 0x557590aaf880: i64 = undef
try.c: 0x557590b13e10: v4i64,ch = CopyFromReg 0x557590a11a20, Register:v4i64 %vreg13
try.c: 0x557590b17ac0: v4i64 = Register %vreg13
try.c: 0x557590ac79d0: v16i32 = X86ISD::VBROADCAST 0x557590b174d0
try.c: 0x557590b174d0: i32,ch = load<LD4[ConstantPool]> 0x557590a11a20, 0x557590ab8340, undef:i64
try.c: 0x557590ab8340: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x557590ab0200: i64 = TargetConstantPool<i32 1> 0
try.c: 0x557590aaf880: i64 = undef
try.c: 0x557590b3c400: 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: 0x557590b3c2d0: i32 = Constant<0>
try.c: 0x557590b3c2d0: i32 = Constant<0>
try.c: 0x557590b3c2d0: i32 = Constant<0>
try.c: 0x557590b3c2d0: i32 = Constant<0>
try.c: 0x557590b3c2d0: i32 = Constant<0>
try.c: 0x557590b3c2d0: i32 = Constant<0>
try.c: 0x557590b3c2d0: i32 = Constant<0>
try.c: 0x557590b3c2d0: i32 = Constant<0>
try.c: 0x557590b3c2d0: 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: 0x564163fbd640: v4i64 = X86ISD::VTRUNC 0x564163fbd510
try.c: 0x564163fbd510: v16i32 = vselect 0x564163fb6410, 0x564163f3cc70, 0x564163fbd3e0
try.c: 0x564163fb6410: v4i1 = X86ISD::PCMPGTM 0x564163f9e090, 0x564163f99c20
try.c: 0x564163f9e090: v4i64 = X86ISD::VBROADCAST 0x564163f40a90
try.c: 0x564163f40a90: i64,ch = load<LD8[%lsr.iv6971]> 0x564163eae950, 0x564163f91500, undef:i64
try.c: 0x564163f91500: i64,ch = CopyFromReg 0x564163eae950, Register:i64 %vreg50
try.c: 0x564163f99e80: i64 = Register %vreg50
try.c: 0x564163f41f60: i64 = undef
try.c: 0x564163f99c20: v4i64,ch = CopyFromReg 0x564163eae950, Register:v4i64 %vreg13
try.c: 0x564163f9e8e0: v4i64 = Register %vreg13
try.c: 0x564163f3cc70: v16i32 = X86ISD::VBROADCAST 0x564163f9e2f0
try.c: 0x564163f9e2f0: i32,ch = load<LD4[ConstantPool]> 0x564163eae950, 0x564163f45bf0, undef:i64
try.c: 0x564163f45bf0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x564163f83f00: i64 = TargetConstantPool<i32 1> 0
try.c: 0x564163f41f60: i64 = undef
try.c: 0x564163fbd3e0: 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: 0x564163fbd2b0: i32 = Constant<0>
try.c: 0x564163fbd2b0: i32 = Constant<0>
try.c: 0x564163fbd2b0: i32 = Constant<0>
try.c: 0x564163fbd2b0: i32 = Constant<0>
try.c: 0x564163fbd2b0: i32 = Constant<0>
try.c: 0x564163fbd2b0: i32 = Constant<0>
try.c: 0x564163fbd2b0: i32 = Constant<0>
try.c: 0x564163fbd2b0: i32 = Constant<0>
try.c: 0x564163fbd2b0: 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