Implementation notes: amd64, cel02, crypto_hash/prh42s1024

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_hash
Primitive: prh42s1024
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
16864223 0 018365 824 808refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
30903549 0 014436 816 776refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
39622186 0 011776 800 776refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
50223473 0 014036 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: 0x5588900c4ad0: v4i64 = X86ISD::VTRUNC 0x5588900c49a0
try.c: 0x5588900c49a0: v16i32 = vselect 0x5588900bf4a0, 0x55889005c630, 0x5588900c4870
try.c: 0x5588900bf4a0: v4i1 = X86ISD::PCMPGTM 0x5588900baa90, 0x5588900b6620
try.c: 0x5588900baa90: v4i64 = X86ISD::VBROADCAST 0x5588900597d0
try.c: 0x5588900597d0: i64,ch = load<LD8[%lsr.iv6971]> 0x55888ffcb9d0, 0x5588900ad690, undef:i64
try.c: 0x5588900ad690: i64,ch = CopyFromReg 0x55888ffcb9d0, Register:i64 %vreg50
try.c: 0x5588900b6880: i64 = Register %vreg50
try.c: 0x55889005aca0: i64 = undef
try.c: 0x5588900b6620: v4i64,ch = CopyFromReg 0x55888ffcb9d0, Register:v4i64 %vreg13
try.c: 0x5588900bb2e0: v4i64 = Register %vreg13
try.c: 0x55889005c630: v16i32 = X86ISD::VBROADCAST 0x5588900bacf0
try.c: 0x5588900bacf0: i32,ch = load<LD4[ConstantPool]> 0x55888ffcb9d0, 0x55889005fa70, undef:i64
try.c: 0x55889005fa70: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x558890081290: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55889005aca0: i64 = undef
try.c: 0x5588900c4870: 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: 0x5588900c4740: i32 = Constant<0>
try.c: 0x5588900c4740: i32 = Constant<0>
try.c: 0x5588900c4740: i32 = Constant<0>
try.c: 0x5588900c4740: i32 = Constant<0>
try.c: 0x5588900c4740: i32 = Constant<0>
try.c: 0x5588900c4740: i32 = Constant<0>
try.c: 0x5588900c4740: i32 = Constant<0>
try.c: 0x5588900c4740: i32 = Constant<0>
try.c: 0x5588900c4740: 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: 0x55ff69617eb0: v4i64 = X86ISD::VTRUNC 0x55ff69617d80
try.c: 0x55ff69617d80: v16i32 = vselect 0x55ff6960bef0, 0x55ff6959e9f0, 0x55ff69617c50
try.c: 0x55ff6960bef0: v4i1 = X86ISD::PCMPGTM 0x55ff695fff20, 0x55ff695fc0b0
try.c: 0x55ff695fff20: v4i64 = X86ISD::VBROADCAST 0x55ff6959eeb0
try.c: 0x55ff6959eeb0: i64,ch = load<LD8[%lsr.iv6971]> 0x55ff694f9a00, 0x55ff6959b1a0, undef:i64
try.c: 0x55ff6959b1a0: i64,ch = CopyFromReg 0x55ff694f9a00, Register:i64 %vreg50
try.c: 0x55ff695fc310: i64 = Register %vreg50
try.c: 0x55ff69597ed0: i64 = undef
try.c: 0x55ff695fc0b0: v4i64,ch = CopyFromReg 0x55ff694f9a00, Register:v4i64 %vreg13
try.c: 0x55ff69600770: v4i64 = Register %vreg13
try.c: 0x55ff6959e9f0: v16i32 = X86ISD::VBROADCAST 0x55ff69600180
try.c: 0x55ff69600180: i32,ch = load<LD4[ConstantPool]> 0x55ff694f9a00, 0x55ff695a1390, undef:i64
try.c: 0x55ff695a1390: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55ff69598850: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55ff69597ed0: i64 = undef
try.c: 0x55ff69617c50: 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: 0x55ff69617b20: i32 = Constant<0>
try.c: 0x55ff69617b20: i32 = Constant<0>
try.c: 0x55ff69617b20: i32 = Constant<0>
try.c: 0x55ff69617b20: i32 = Constant<0>
try.c: 0x55ff69617b20: i32 = Constant<0>
try.c: 0x55ff69617b20: i32 = Constant<0>
try.c: 0x55ff69617b20: i32 = Constant<0>
try.c: 0x55ff69617b20: i32 = Constant<0>
try.c: 0x55ff69617b20: 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: 0x55c506f71950: v4i64 = X86ISD::VTRUNC 0x55c506f71820
try.c: 0x55c506f71820: v16i32 = vselect 0x55c506f5a370, 0x55c506f01160, 0x55c506f716f0
try.c: 0x55c506f5a370: v4i1 = X86ISD::PCMPGTM 0x55c506f57b50, 0x55c506f536e0
try.c: 0x55c506f57b50: v4i64 = X86ISD::VBROADCAST 0x55c506efe300
try.c: 0x55c506efe300: i64,ch = load<LD8[%lsr.iv6971]> 0x55c506e68950, 0x55c506f3d5b0, undef:i64
try.c: 0x55c506f3d5b0: i64,ch = CopyFromReg 0x55c506e68950, Register:i64 %vreg50
try.c: 0x55c506f53940: i64 = Register %vreg50
try.c: 0x55c506eff7d0: i64 = undef
try.c: 0x55c506f536e0: v4i64,ch = CopyFromReg 0x55c506e68950, Register:v4i64 %vreg13
try.c: 0x55c506f583a0: v4i64 = Register %vreg13
try.c: 0x55c506f01160: v16i32 = X86ISD::VBROADCAST 0x55c506f57db0
try.c: 0x55c506f57db0: i32,ch = load<LD4[ConstantPool]> 0x55c506e68950, 0x55c506f06970, undef:i64
try.c: 0x55c506f06970: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c506f4f690: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c506eff7d0: i64 = undef
try.c: 0x55c506f716f0: 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: 0x55c506f715c0: i32 = Constant<0>
try.c: 0x55c506f715c0: i32 = Constant<0>
try.c: 0x55c506f715c0: i32 = Constant<0>
try.c: 0x55c506f715c0: i32 = Constant<0>
try.c: 0x55c506f715c0: i32 = Constant<0>
try.c: 0x55c506f715c0: i32 = Constant<0>
try.c: 0x55c506f715c0: i32 = Constant<0>
try.c: 0x55c506f715c0: i32 = Constant<0>
try.c: 0x55c506f715c0: 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_prh42s1024.a(hash.o): In function `crypto_hash_prh42s1024_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_prh42s1024.a(hash.o): In function `crypto_hash_prh42s1024_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