Implementation notes: amd64, cel02, crypto_hash/prh42s512

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_hash
Primitive: prh42s512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
13163437 0 014324 816 776refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
15982208 0 011808 800 776refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
25444063 0 018205 824 808refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
28183377 0 013940 816 776refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: ref
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x557515ac0340: v4i64 = X86ISD::VTRUNC 0x557515ac0210
try.c: 0x557515ac0210: v16i32 = vselect 0x557515abad10, 0x557515a81090, 0x557515ac00e0
try.c: 0x557515abad10: v4i1 = X86ISD::PCMPGTM 0x557515ab6a80, 0x557515ab2610
try.c: 0x557515ab6a80: v4i64 = X86ISD::VBROADCAST 0x557515a55e10
try.c: 0x557515a55e10: i64,ch = load<LD8[%lsr.iv6971]> 0x5575159c7960, 0x557515aa9b10, undef:i64
try.c: 0x557515aa9b10: i64,ch = CopyFromReg 0x5575159c7960, Register:i64 %vreg50
try.c: 0x557515ab2870: i64 = Register %vreg50
try.c: 0x557515a572e0: i64 = undef
try.c: 0x557515ab2610: v4i64,ch = CopyFromReg 0x5575159c7960, Register:v4i64 %vreg13
try.c: 0x557515ab72d0: v4i64 = Register %vreg13
try.c: 0x557515a81090: v16i32 = X86ISD::VBROADCAST 0x557515ab6ce0
try.c: 0x557515ab6ce0: i32,ch = load<LD4[ConstantPool]> 0x5575159c7960, 0x557515a553f0, undef:i64
try.c: 0x557515a553f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x557515a7cd30: i64 = TargetConstantPool<i32 1> 0
try.c: 0x557515a572e0: i64 = undef
try.c: 0x557515ac00e0: 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: 0x557515abffb0: i32 = Constant<0>
try.c: 0x557515abffb0: i32 = Constant<0>
try.c: 0x557515abffb0: i32 = Constant<0>
try.c: 0x557515abffb0: i32 = Constant<0>
try.c: 0x557515abffb0: i32 = Constant<0>
try.c: 0x557515abffb0: i32 = Constant<0>
try.c: 0x557515abffb0: i32 = Constant<0>
try.c: 0x557515abffb0: i32 = Constant<0>
try.c: 0x557515abffb0: 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 ref

Compiler output

Implementation: ref
Security model: constbranchindex
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x5630bf6985e0: v4i64 = X86ISD::VTRUNC 0x5630bf6984b0
try.c: 0x5630bf6984b0: v16i32 = vselect 0x5630bf6a1430, 0x5630bf61be20, 0x5630bf698380
try.c: 0x5630bf6a1430: v4i1 = X86ISD::PCMPGTM 0x5630bf681840, 0x5630bf67d3d0
try.c: 0x5630bf681840: v4i64 = X86ISD::VBROADCAST 0x5630bf61c2e0
try.c: 0x5630bf61c2e0: i64,ch = load<LD8[%lsr.iv6971]> 0x5630bf57ba30, 0x5630bf623bd0, undef:i64
try.c: 0x5630bf623bd0: i64,ch = CopyFromReg 0x5630bf57ba30, Register:i64 %vreg50
try.c: 0x5630bf67d630: i64 = Register %vreg50
try.c: 0x5630bf61fb70: i64 = undef
try.c: 0x5630bf67d3d0: v4i64,ch = CopyFromReg 0x5630bf57ba30, Register:v4i64 %vreg13
try.c: 0x5630bf682090: v4i64 = Register %vreg13
try.c: 0x5630bf61be20: v16i32 = X86ISD::VBROADCAST 0x5630bf681aa0
try.c: 0x5630bf681aa0: i32,ch = load<LD4[ConstantPool]> 0x5630bf57ba30, 0x5630bf61e7c0, undef:i64
try.c: 0x5630bf61e7c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5630bf6204f0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5630bf61fb70: i64 = undef
try.c: 0x5630bf698380: 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: 0x5630bf698250: i32 = Constant<0>
try.c: 0x5630bf698250: i32 = Constant<0>
try.c: 0x5630bf698250: i32 = Constant<0>
try.c: 0x5630bf698250: i32 = Constant<0>
try.c: 0x5630bf698250: i32 = Constant<0>
try.c: 0x5630bf698250: i32 = Constant<0>
try.c: 0x5630bf698250: i32 = Constant<0>
try.c: 0x5630bf698250: i32 = Constant<0>
try.c: 0x5630bf698250: 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 ref

Compiler output

Implementation: ref
Security model: constbranchindex
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: fatal error: error in backend: Cannot select: 0x558d635646a0: v4i64 = X86ISD::VTRUNC 0x558d63564570
try.c: 0x558d63564570: v16i32 = vselect 0x558d63561080, 0x558d634fc6f0, 0x558d63564440
try.c: 0x558d63561080: v4i1 = X86ISD::PCMPGTM 0x558d63557c30, 0x558d63553a00
try.c: 0x558d63557c30: v4i64 = X86ISD::VBROADCAST 0x558d63510160
try.c: 0x558d63510160: i64,ch = load<LD8[%lsr.iv6971]> 0x558d63469950, 0x558d634e37f0, undef:i64
try.c: 0x558d634e37f0: i64,ch = CopyFromReg 0x558d63469950, Register:i64 %vreg50
try.c: 0x558d63553c60: i64 = Register %vreg50
try.c: 0x558d63511630: i64 = undef
try.c: 0x558d63553a00: v4i64,ch = CopyFromReg 0x558d63469950, Register:v4i64 %vreg13
try.c: 0x558d63558480: v4i64 = Register %vreg13
try.c: 0x558d634fc6f0: v16i32 = X86ISD::VBROADCAST 0x558d63557e90
try.c: 0x558d63557e90: i32,ch = load<LD4[ConstantPool]> 0x558d63469950, 0x558d63514120, undef:i64
try.c: 0x558d63514120: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x558d635510f0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x558d63511630: i64 = undef
try.c: 0x558d63564440: 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: 0x558d63564310: i32 = Constant<0>
try.c: 0x558d63564310: i32 = Constant<0>
try.c: 0x558d63564310: i32 = Constant<0>
try.c: 0x558d63564310: i32 = Constant<0>
try.c: 0x558d63564310: i32 = Constant<0>
try.c: 0x558d63564310: i32 = Constant<0>
try.c: 0x558d63564310: i32 = Constant<0>
try.c: 0x558d63564310: i32 = Constant<0>
try.c: 0x558d63564310: 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 ref

Compiler output

Implementation: ref
Security model: constbranchindex
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: crypto_hash_prh42s512.a(hash.o): In function `crypto_hash_prh42s512_ref_constbranchindex':
try.c: hash.c:(.text+0x...): undefined reference to `prvhash42s_init'
try.c: hash.c:(.text+0x...): undefined reference to `prvhash42s_update'
try.c: hash.c:(.text+0x...): undefined reference to `prvhash42s_final'
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref

Compiler output

Implementation: ref
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: crypto_hash_prh42s512.a(hash.o): In function `crypto_hash_prh42s512_ref_constbranchindex':
try.c: hash.c:(.text+0x...): undefined reference to `prvhash42s_oneshot'
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref