Implementation notes: amd64, cel02, crypto_hash/ripemd160

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_hash
Primitive: ripemd160
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2197276 0 014335 832 808T:opensslgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2212870 0 011808 808 736T:opensslclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2270679 0 010774 824 776T:opensslgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2310276 0 011078 824 776T:opensslgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2312670 0 09962 800 736T:opensslclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2320873 0 09794 808 776T:opensslgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:openssl
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: 0x555f8a8dd2c0: v4i64 = X86ISD::VTRUNC 0x555f8a8dd190
try.c: 0x555f8a8dd190: v16i32 = vselect 0x555f8a8e4930, 0x555f8a865840, 0x555f8a8dd060
try.c: 0x555f8a8e4930: v4i1 = X86ISD::PCMPGTM 0x555f8a8c5960, 0x555f8a8c14f0
try.c: 0x555f8a8c5960: v4i64 = X86ISD::VBROADCAST 0x555f8a86c7e0
try.c: 0x555f8a86c7e0: i64,ch = load<LD8[%lsr.iv6971]> 0x555f8a7d6950, 0x555f8a8b84b0, undef:i64
try.c: 0x555f8a8b84b0: i64,ch = CopyFromReg 0x555f8a7d6950, Register:i64 %vreg50
try.c: 0x555f8a8c1750: i64 = Register %vreg50
try.c: 0x555f8a86dcb0: i64 = undef
try.c: 0x555f8a8c14f0: v4i64,ch = CopyFromReg 0x555f8a7d6950, Register:v4i64 %vreg13
try.c: 0x555f8a8c61b0: v4i64 = Register %vreg13
try.c: 0x555f8a865840: v16i32 = X86ISD::VBROADCAST 0x555f8a8c5bc0
try.c: 0x555f8a8c5bc0: i32,ch = load<LD4[ConstantPool]> 0x555f8a7d6950, 0x555f8a86bdc0, undef:i64
try.c: 0x555f8a86bdc0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x555f8a8a5da0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x555f8a86dcb0: i64 = undef
try.c: 0x555f8a8dd060: 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: 0x555f8a8dcf30: i32 = Constant<0>
try.c: 0x555f8a8dcf30: i32 = Constant<0>
try.c: 0x555f8a8dcf30: i32 = Constant<0>
try.c: 0x555f8a8dcf30: i32 = Constant<0>
try.c: 0x555f8a8dcf30: i32 = Constant<0>
try.c: 0x555f8a8dcf30: i32 = Constant<0>
try.c: 0x555f8a8dcf30: i32 = Constant<0>
try.c: 0x555f8a8dcf30: i32 = Constant<0>
try.c: 0x555f8a8dcf30: 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:openssl

Compiler output

Implementation: T:openssl
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: 0x5608a025d960: v4i64 = X86ISD::VTRUNC 0x5608a025d830
try.c: 0x5608a025d830: v16i32 = vselect 0x5608a025a340, 0x5608a01e10f0, 0x5608a025d700
try.c: 0x5608a025a340: v4i1 = X86ISD::PCMPGTM 0x5608a02447a0, 0x5608a0241340
try.c: 0x5608a02447a0: v4i64 = X86ISD::VBROADCAST 0x5608a01e15b0
try.c: 0x5608a01e15b0: i64,ch = load<LD8[%lsr.iv6971]> 0x5608a013ea30, 0x5608a01f3f30, undef:i64
try.c: 0x5608a01f3f30: i64,ch = CopyFromReg 0x5608a013ea30, Register:i64 %vreg50
try.c: 0x5608a02415a0: i64 = Register %vreg50
try.c: 0x5608a01dc1a0: i64 = undef
try.c: 0x5608a0241340: v4i64,ch = CopyFromReg 0x5608a013ea30, Register:v4i64 %vreg13
try.c: 0x5608a0244ff0: v4i64 = Register %vreg13
try.c: 0x5608a01e10f0: v16i32 = X86ISD::VBROADCAST 0x5608a0244a00
try.c: 0x5608a0244a00: i32,ch = load<LD4[ConstantPool]> 0x5608a013ea30, 0x5608a01e3a90, undef:i64
try.c: 0x5608a01e3a90: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5608a01dcb20: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5608a01dc1a0: i64 = undef
try.c: 0x5608a025d700: 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: 0x5608a025d5d0: i32 = Constant<0>
try.c: 0x5608a025d5d0: i32 = Constant<0>
try.c: 0x5608a025d5d0: i32 = Constant<0>
try.c: 0x5608a025d5d0: i32 = Constant<0>
try.c: 0x5608a025d5d0: i32 = Constant<0>
try.c: 0x5608a025d5d0: i32 = Constant<0>
try.c: 0x5608a025d5d0: i32 = Constant<0>
try.c: 0x5608a025d5d0: i32 = Constant<0>
try.c: 0x5608a025d5d0: 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:openssl

Compiler output

Implementation: T:openssl
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: 0x55f0e48ccf90: v4i64 = X86ISD::VTRUNC 0x55f0e48cce60
try.c: 0x55f0e48cce60: v16i32 = vselect 0x55f0e48c7960, 0x55f0e4875c90, 0x55f0e48ccd30
try.c: 0x55f0e48c7960: v4i1 = X86ISD::PCMPGTM 0x55f0e48c6950, 0x55f0e48c24e0
try.c: 0x55f0e48c6950: v4i64 = X86ISD::VBROADCAST 0x55f0e4872e30
try.c: 0x55f0e4872e30: i64,ch = load<LD8[%lsr.iv6971]> 0x55f0e47d7950, 0x55f0e48b01c0, undef:i64
try.c: 0x55f0e48b01c0: i64,ch = CopyFromReg 0x55f0e47d7950, Register:i64 %vreg50
try.c: 0x55f0e48c2740: i64 = Register %vreg50
try.c: 0x55f0e4874300: i64 = undef
try.c: 0x55f0e48c24e0: v4i64,ch = CopyFromReg 0x55f0e47d7950, Register:v4i64 %vreg13
try.c: 0x55f0e48c71a0: v4i64 = Register %vreg13
try.c: 0x55f0e4875c90: v16i32 = X86ISD::VBROADCAST 0x55f0e48c6bb0
try.c: 0x55f0e48c6bb0: i32,ch = load<LD4[ConstantPool]> 0x55f0e47d7950, 0x55f0e486e9e0, undef:i64
try.c: 0x55f0e486e9e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55f0e4864ec0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55f0e4874300: i64 = undef
try.c: 0x55f0e48ccd30: 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: 0x55f0e48ccc00: i32 = Constant<0>
try.c: 0x55f0e48ccc00: i32 = Constant<0>
try.c: 0x55f0e48ccc00: i32 = Constant<0>
try.c: 0x55f0e48ccc00: i32 = Constant<0>
try.c: 0x55f0e48ccc00: i32 = Constant<0>
try.c: 0x55f0e48ccc00: i32 = Constant<0>
try.c: 0x55f0e48ccc00: i32 = Constant<0>
try.c: 0x55f0e48ccc00: i32 = Constant<0>
try.c: 0x55f0e48ccc00: 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:openssl