Implementation notes: amd64, cel02, crypto_hash/prh42s256

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_hash
Primitive: prh42s256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
11084008 0 018149 824 808refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
14323361 0 013924 816 776refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
14822180 0 011776 800 776refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
22263437 0 014324 816 776refgcc_-march=native_-mtune=native_-O2_-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: 0x55b983b87b20: v4i64 = X86ISD::VTRUNC 0x55b983b879f0
try.c: 0x55b983b879f0: v16i32 = vselect 0x55b983b85940, 0x55b983b266e0, 0x55b983b878c0
try.c: 0x55b983b85940: v4i1 = X86ISD::PCMPGTM 0x55b983b82920, 0x55b983b7e4b0
try.c: 0x55b983b82920: v4i64 = X86ISD::VBROADCAST 0x55b983b22860
try.c: 0x55b983b22860: i64,ch = load<LD8[%lsr.iv6971]> 0x55b983a93950, 0x55b983b2e150, undef:i64
try.c: 0x55b983b2e150: i64,ch = CopyFromReg 0x55b983a93950, Register:i64 %vreg50
try.c: 0x55b983b7e710: i64 = Register %vreg50
try.c: 0x55b983b23d30: i64 = undef
try.c: 0x55b983b7e4b0: v4i64,ch = CopyFromReg 0x55b983a93950, Register:v4i64 %vreg13
try.c: 0x55b983b83170: v4i64 = Register %vreg13
try.c: 0x55b983b266e0: v16i32 = X86ISD::VBROADCAST 0x55b983b82b80
try.c: 0x55b983b82b80: i32,ch = load<LD4[ConstantPool]> 0x55b983a93950, 0x55b983b29fc0, undef:i64
try.c: 0x55b983b29fc0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55b983b6dab0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55b983b23d30: i64 = undef
try.c: 0x55b983b878c0: 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: 0x55b983b87790: i32 = Constant<0>
try.c: 0x55b983b87790: i32 = Constant<0>
try.c: 0x55b983b87790: i32 = Constant<0>
try.c: 0x55b983b87790: i32 = Constant<0>
try.c: 0x55b983b87790: i32 = Constant<0>
try.c: 0x55b983b87790: i32 = Constant<0>
try.c: 0x55b983b87790: i32 = Constant<0>
try.c: 0x55b983b87790: i32 = Constant<0>
try.c: 0x55b983b87790: 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: 0x564fe45dc0b0: v4i64 = X86ISD::VTRUNC 0x564fe45dbf80
try.c: 0x564fe45dbf80: v16i32 = vselect 0x564fe45cc7b0, 0x564fe4562740, 0x564fe45dbe50
try.c: 0x564fe45cc7b0: v4i1 = X86ISD::PCMPGTM 0x564fe45b55d0, 0x564fe45b13a0
try.c: 0x564fe45b55d0: v4i64 = X86ISD::VBROADCAST 0x564fe4562c00
try.c: 0x564fe4562c00: i64,ch = load<LD8[%lsr.iv6971]> 0x564fe44afa30, 0x564fe454a220, undef:i64
try.c: 0x564fe454a220: i64,ch = CopyFromReg 0x564fe44afa30, Register:i64 %vreg50
try.c: 0x564fe45b1600: i64 = Register %vreg50
try.c: 0x564fe455f670: i64 = undef
try.c: 0x564fe45b13a0: v4i64,ch = CopyFromReg 0x564fe44afa30, Register:v4i64 %vreg13
try.c: 0x564fe45b5e20: v4i64 = Register %vreg13
try.c: 0x564fe4562740: v16i32 = X86ISD::VBROADCAST 0x564fe45b5830
try.c: 0x564fe45b5830: i32,ch = load<LD4[ConstantPool]> 0x564fe44afa30, 0x564fe45658e0, undef:i64
try.c: 0x564fe45658e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x564fe455fff0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x564fe455f670: i64 = undef
try.c: 0x564fe45dbe50: 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: 0x564fe45dbd20: i32 = Constant<0>
try.c: 0x564fe45dbd20: i32 = Constant<0>
try.c: 0x564fe45dbd20: i32 = Constant<0>
try.c: 0x564fe45dbd20: i32 = Constant<0>
try.c: 0x564fe45dbd20: i32 = Constant<0>
try.c: 0x564fe45dbd20: i32 = Constant<0>
try.c: 0x564fe45dbd20: i32 = Constant<0>
try.c: 0x564fe45dbd20: i32 = Constant<0>
try.c: 0x564fe45dbd20: 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: 0x55d2e5f494b0: v4i64 = X86ISD::VTRUNC 0x55d2e5f49380
try.c: 0x55d2e5f49380: v16i32 = vselect 0x55d2e5f5daf0, 0x55d2e5ee2da0, 0x55d2e5f49250
try.c: 0x55d2e5f5daf0: v4i1 = X86ISD::PCMPGTM 0x55d2e5f41250, 0x55d2e5f3cde0
try.c: 0x55d2e5f41250: v4i64 = X86ISD::VBROADCAST 0x55d2e5edff40
try.c: 0x55d2e5edff40: i64,ch = load<LD8[%lsr.iv6971]> 0x55d2e5e51950, 0x55d2e5f345b0, undef:i64
try.c: 0x55d2e5f345b0: i64,ch = CopyFromReg 0x55d2e5e51950, Register:i64 %vreg50
try.c: 0x55d2e5f3d040: i64 = Register %vreg50
try.c: 0x55d2e5ee1410: i64 = undef
try.c: 0x55d2e5f3cde0: v4i64,ch = CopyFromReg 0x55d2e5e51950, Register:v4i64 %vreg13
try.c: 0x55d2e5f41aa0: v4i64 = Register %vreg13
try.c: 0x55d2e5ee2da0: v16i32 = X86ISD::VBROADCAST 0x55d2e5f414b0
try.c: 0x55d2e5f414b0: i32,ch = load<LD4[ConstantPool]> 0x55d2e5e51950, 0x55d2e5ee51d0, undef:i64
try.c: 0x55d2e5ee51d0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55d2e5f272a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55d2e5ee1410: i64 = undef
try.c: 0x55d2e5f49250: 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: 0x55d2e5f49120: i32 = Constant<0>
try.c: 0x55d2e5f49120: i32 = Constant<0>
try.c: 0x55d2e5f49120: i32 = Constant<0>
try.c: 0x55d2e5f49120: i32 = Constant<0>
try.c: 0x55d2e5f49120: i32 = Constant<0>
try.c: 0x55d2e5f49120: i32 = Constant<0>
try.c: 0x55d2e5f49120: i32 = Constant<0>
try.c: 0x55d2e5f49120: i32 = Constant<0>
try.c: 0x55d2e5f49120: 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_prh42s256.a(hash.o): In function `crypto_hash_prh42s256_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_prh42s256.a(hash.o): In function `crypto_hash_prh42s256_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