Implementation notes: amd64, cel02, crypto_hash/knot384

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_hash
Primitive: knot384
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
5007403383 127 017589 959 808T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6533941403 127 011220 927 736T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
8248981958 127 013626 935 736T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
10928081716 127 012660 951 776T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
12458321346 127 011000 935 776T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
13032581429 127 012044 951 776T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Test failure

Implementation: T:opt
Security model: timingleaks
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111
crypto_hash is nondeterministic

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

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: 0x55b21ee19210: v4i64 = X86ISD::VTRUNC 0x55b21ee190e0
try.c: 0x55b21ee190e0: v16i32 = vselect 0x55b21ee224d0, 0x55b21edaab10, 0x55b21ee18fb0
try.c: 0x55b21ee224d0: v4i1 = X86ISD::PCMPGTM 0x55b21edfe890, 0x55b21edfa420
try.c: 0x55b21edfe890: v4i64 = X86ISD::VBROADCAST 0x55b21eda0f60
try.c: 0x55b21eda0f60: i64,ch = load<LD8[%lsr.iv6971]> 0x55b21ed0f940, 0x55b21ede82f0, undef:i64
try.c: 0x55b21ede82f0: i64,ch = CopyFromReg 0x55b21ed0f940, Register:i64 %vreg50
try.c: 0x55b21edfa680: i64 = Register %vreg50
try.c: 0x55b21eda2430: i64 = undef
try.c: 0x55b21edfa420: v4i64,ch = CopyFromReg 0x55b21ed0f940, Register:v4i64 %vreg13
try.c: 0x55b21edff0e0: v4i64 = Register %vreg13
try.c: 0x55b21edaab10: v16i32 = X86ISD::VBROADCAST 0x55b21edfeaf0
try.c: 0x55b21edfeaf0: i32,ch = load<LD4[ConstantPool]> 0x55b21ed0f940, 0x55b21eda7bb0, undef:i64
try.c: 0x55b21eda7bb0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55b21ede94f0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55b21eda2430: i64 = undef
try.c: 0x55b21ee18fb0: 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: 0x55b21ee18e80: i32 = Constant<0>
try.c: 0x55b21ee18e80: i32 = Constant<0>
try.c: 0x55b21ee18e80: i32 = Constant<0>
try.c: 0x55b21ee18e80: i32 = Constant<0>
try.c: 0x55b21ee18e80: i32 = Constant<0>
try.c: 0x55b21ee18e80: i32 = Constant<0>
try.c: 0x55b21ee18e80: i32 = Constant<0>
try.c: 0x55b21ee18e80: i32 = Constant<0>
try.c: 0x55b21ee18e80: 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: 0x561a25a375b0: v4i64 = X86ISD::VTRUNC 0x561a25a37480
try.c: 0x561a25a37480: v16i32 = vselect 0x561a25a21890, 0x561a259c1460, 0x561a25a37350
try.c: 0x561a25a21890: v4i1 = X86ISD::PCMPGTM 0x561a25a1d850, 0x561a25a193e0
try.c: 0x561a25a1d850: v4i64 = X86ISD::VBROADCAST 0x561a259c1920
try.c: 0x561a259c1920: i64,ch = load<LD8[%lsr.iv6971]> 0x561a259179f0, 0x561a259b8fc0, undef:i64
try.c: 0x561a259b8fc0: i64,ch = CopyFromReg 0x561a259179f0, Register:i64 %vreg50
try.c: 0x561a25a19640: i64 = Register %vreg50
try.c: 0x561a259bc4d0: i64 = undef
try.c: 0x561a25a193e0: v4i64,ch = CopyFromReg 0x561a259179f0, Register:v4i64 %vreg13
try.c: 0x561a25a1e0a0: v4i64 = Register %vreg13
try.c: 0x561a259c1460: v16i32 = X86ISD::VBROADCAST 0x561a25a1dab0
try.c: 0x561a25a1dab0: i32,ch = load<LD4[ConstantPool]> 0x561a259179f0, 0x561a259b6ac0, undef:i64
try.c: 0x561a259b6ac0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x561a259bce50: i64 = TargetConstantPool<i32 1> 0
try.c: 0x561a259bc4d0: i64 = undef
try.c: 0x561a25a37350: 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: 0x561a25a37220: i32 = Constant<0>
try.c: 0x561a25a37220: i32 = Constant<0>
try.c: 0x561a25a37220: i32 = Constant<0>
try.c: 0x561a25a37220: i32 = Constant<0>
try.c: 0x561a25a37220: i32 = Constant<0>
try.c: 0x561a25a37220: i32 = Constant<0>
try.c: 0x561a25a37220: i32 = Constant<0>
try.c: 0x561a25a37220: i32 = Constant<0>
try.c: 0x561a25a37220: 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: 0x559a6c09b7d0: v4i64 = X86ISD::VTRUNC 0x559a6c09b6a0
try.c: 0x559a6c09b6a0: v16i32 = vselect 0x559a6c0981b0, 0x559a6c040420, 0x559a6c09b570
try.c: 0x559a6c0981b0: v4i1 = X86ISD::PCMPGTM 0x559a6c078a70, 0x559a6c073ff0
try.c: 0x559a6c078a70: v4i64 = X86ISD::VBROADCAST 0x559a6c0232f0
try.c: 0x559a6c0232f0: i64,ch = load<LD8[%lsr.iv6971]> 0x559a6bf89930, 0x559a6c0393e0, undef:i64
try.c: 0x559a6c0393e0: i64,ch = CopyFromReg 0x559a6bf89930, Register:i64 %vreg50
try.c: 0x559a6c074250: i64 = Register %vreg50
try.c: 0x559a6c03ea90: i64 = undef
try.c: 0x559a6c073ff0: v4i64,ch = CopyFromReg 0x559a6bf89930, Register:v4i64 %vreg13
try.c: 0x559a6c0792c0: v4i64 = Register %vreg13
try.c: 0x559a6c040420: v16i32 = X86ISD::VBROADCAST 0x559a6c078cd0
try.c: 0x559a6c078cd0: i32,ch = load<LD4[ConstantPool]> 0x559a6bf89930, 0x559a6c0228d0, undef:i64
try.c: 0x559a6c0228d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x559a6c059240: i64 = TargetConstantPool<i32 1> 0
try.c: 0x559a6c03ea90: i64 = undef
try.c: 0x559a6c09b570: 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: 0x559a6c09b440: i32 = Constant<0>
try.c: 0x559a6c09b440: i32 = Constant<0>
try.c: 0x559a6c09b440: i32 = Constant<0>
try.c: 0x559a6c09b440: i32 = Constant<0>
try.c: 0x559a6c09b440: i32 = Constant<0>
try.c: 0x559a6c09b440: i32 = Constant<0>
try.c: 0x559a6c09b440: i32 = Constant<0>
try.c: 0x559a6c09b440: i32 = Constant<0>
try.c: 0x559a6c09b440: 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: 0x5630d89ae500: v4i64 = X86ISD::VTRUNC 0x5630d89ae3d0
try.c: 0x5630d89ae3d0: v16i32 = vselect 0x5630d8995ba0, 0x5630d893e200, 0x5630d89ae2a0
try.c: 0x5630d8995ba0: v4i1 = X86ISD::PCMPGTM 0x5630d8994b90, 0x5630d8990720
try.c: 0x5630d8994b90: v4i64 = X86ISD::VBROADCAST 0x5630d893b3a0
try.c: 0x5630d893b3a0: i64,ch = load<LD8[%lsr.iv6971]> 0x5630d88a5920, 0x5630d897fe30, undef:i64
try.c: 0x5630d897fe30: i64,ch = CopyFromReg 0x5630d88a5920, Register:i64 %vreg50
try.c: 0x5630d8990980: i64 = Register %vreg50
try.c: 0x5630d893c870: i64 = undef
try.c: 0x5630d8990720: v4i64,ch = CopyFromReg 0x5630d88a5920, Register:v4i64 %vreg13
try.c: 0x5630d89953e0: v4i64 = Register %vreg13
try.c: 0x5630d893e200: v16i32 = X86ISD::VBROADCAST 0x5630d8994df0
try.c: 0x5630d8994df0: i32,ch = load<LD4[ConstantPool]> 0x5630d88a5920, 0x5630d8936160, undef:i64
try.c: 0x5630d8936160: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5630d897e680: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5630d893c870: i64 = undef
try.c: 0x5630d89ae2a0: 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: 0x5630d89ae170: i32 = Constant<0>
try.c: 0x5630d89ae170: i32 = Constant<0>
try.c: 0x5630d89ae170: i32 = Constant<0>
try.c: 0x5630d89ae170: i32 = Constant<0>
try.c: 0x5630d89ae170: i32 = Constant<0>
try.c: 0x5630d89ae170: i32 = Constant<0>
try.c: 0x5630d89ae170: i32 = Constant<0>
try.c: 0x5630d89ae170: i32 = Constant<0>
try.c: 0x5630d89ae170: 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: 0x559eb797e910: v4i64 = X86ISD::VTRUNC 0x559eb797e7e0
try.c: 0x559eb797e7e0: v16i32 = vselect 0x559eb7982810, 0x559eb7915b40, 0x559eb797e6b0
try.c: 0x559eb7982810: v4i1 = X86ISD::PCMPGTM 0x559eb7963b10, 0x559eb795f6a0
try.c: 0x559eb7963b10: v4i64 = X86ISD::VBROADCAST 0x559eb7916000
try.c: 0x559eb7916000: i64,ch = load<LD8[%lsr.iv6971]> 0x559eb785da00, 0x559eb790efc0, undef:i64
try.c: 0x559eb790efc0: i64,ch = CopyFromReg 0x559eb785da00, Register:i64 %vreg50
try.c: 0x559eb795f900: i64 = Register %vreg50
try.c: 0x559eb78fbea0: i64 = undef
try.c: 0x559eb795f6a0: v4i64,ch = CopyFromReg 0x559eb785da00, Register:v4i64 %vreg13
try.c: 0x559eb7964360: v4i64 = Register %vreg13
try.c: 0x559eb7915b40: v16i32 = X86ISD::VBROADCAST 0x559eb7963d70
try.c: 0x559eb7963d70: i32,ch = load<LD4[ConstantPool]> 0x559eb785da00, 0x559eb78f9a50, undef:i64
try.c: 0x559eb78f9a50: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x559eb78fc820: i64 = TargetConstantPool<i32 1> 0
try.c: 0x559eb78fbea0: i64 = undef
try.c: 0x559eb797e6b0: 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: 0x559eb797e580: i32 = Constant<0>
try.c: 0x559eb797e580: i32 = Constant<0>
try.c: 0x559eb797e580: i32 = Constant<0>
try.c: 0x559eb797e580: i32 = Constant<0>
try.c: 0x559eb797e580: i32 = Constant<0>
try.c: 0x559eb797e580: i32 = Constant<0>
try.c: 0x559eb797e580: i32 = Constant<0>
try.c: 0x559eb797e580: i32 = Constant<0>
try.c: 0x559eb797e580: 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: 0x560205643c80: v4i64 = X86ISD::VTRUNC 0x560205643b50
try.c: 0x560205643b50: v16i32 = vselect 0x560205640660, 0x5602055f6090, 0x560205643a20
try.c: 0x560205640660: v4i1 = X86ISD::PCMPGTM 0x56020563ba10, 0x5602056375a0
try.c: 0x56020563ba10: v4i64 = X86ISD::VBROADCAST 0x5602055e3f10
try.c: 0x5602055e3f10: i64,ch = load<LD8[%lsr.iv6971]> 0x56020554c920, 0x56020562eef0, undef:i64
try.c: 0x56020562eef0: i64,ch = CopyFromReg 0x56020554c920, Register:i64 %vreg50
try.c: 0x560205637800: i64 = Register %vreg50
try.c: 0x5602055f4700: i64 = undef
try.c: 0x5602056375a0: v4i64,ch = CopyFromReg 0x56020554c920, Register:v4i64 %vreg13
try.c: 0x56020563c260: v4i64 = Register %vreg13
try.c: 0x5602055f6090: v16i32 = X86ISD::VBROADCAST 0x56020563bc70
try.c: 0x56020563bc70: i32,ch = load<LD4[ConstantPool]> 0x56020554c920, 0x5602055e34f0, undef:i64
try.c: 0x5602055e34f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5602055e7150: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5602055f4700: i64 = undef
try.c: 0x560205643a20: 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: 0x5602056438f0: i32 = Constant<0>
try.c: 0x5602056438f0: i32 = Constant<0>
try.c: 0x5602056438f0: i32 = Constant<0>
try.c: 0x5602056438f0: i32 = Constant<0>
try.c: 0x5602056438f0: i32 = Constant<0>
try.c: 0x5602056438f0: i32 = Constant<0>
try.c: 0x5602056438f0: i32 = Constant<0>
try.c: 0x5602056438f0: i32 = Constant<0>
try.c: 0x5602056438f0: 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