Implementation notes: amd64, oki, crypto_hash/ripemd160

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_hash
Primitive: ripemd160
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
20830? ? ?? ? ?opensslgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018112720181123
20846? ? ?? ? ?opensslgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018112720181123
20874? ? ?? ? ?opensslclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
20878? ? ?? ? ?opensslgcc_-O2_-fomit-frame-pointer2018112720181123
20880? ? ?? ? ?opensslgcc_-m64_-O3_-fomit-frame-pointer2018112720181123
20882? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
20884? ? ?? ? ?opensslgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112720181123
20884? ? ?? ? ?opensslgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
20884? ? ?? ? ?opensslgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
20886? ? ?? ? ?opensslclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2018112720181123
20886? ? ?? ? ?opensslclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
20886? ? ?? ? ?opensslgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018112720181123
20886? ? ?? ? ?opensslgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018112720181123
20886? ? ?? ? ?opensslgcc_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
20888? ? ?? ? ?opensslclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
20888? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018112720181123
20888? ? ?? ? ?opensslgcc_-m64_-O2_-fomit-frame-pointer2018112720181123
20888? ? ?? ? ?opensslgcc_-m64_-O_-fomit-frame-pointer2018112720181123
20888? ? ?? ? ?opensslgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018112720181123
20888? ? ?? ? ?opensslgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018112720181123
20888? ? ?? ? ?opensslgcc_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
20888? ? ?? ? ?opensslgcc_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
20888? ? ?? ? ?opensslgcc_-march=nocona_-O_-fomit-frame-pointer2018112720181123
20890? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
20890? ? ?? ? ?opensslgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
20890? ? ?? ? ?opensslgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018112720181123
20890? ? ?? ? ?opensslgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018112720181123
20890? ? ?? ? ?opensslgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018112720181123
20892? ? ?? ? ?opensslclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2018112720181123
20892? ? ?? ? ?opensslclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
20892? ? ?? ? ?opensslgcc_-funroll-loops_-Os_-fomit-frame-pointer2018112720181123
20892? ? ?? ? ?opensslgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018112720181123
20892? ? ?? ? ?opensslgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018112720181123
20892? ? ?? ? ?opensslgcc_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
20892? ? ?? ? ?opensslgcc_-march=k8_-O_-fomit-frame-pointer2018112720181123
20894? ? ?? ? ?opensslcc2018112720181123
20894? ? ?? ? ?opensslgcc_-funroll-loops2018112720181123
20894? ? ?? ? ?opensslgcc_-funroll-loops_-O3_-fomit-frame-pointer2018112720181123
20894? ? ?? ? ?opensslgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112720181123
20894? ? ?? ? ?opensslgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
20894? ? ?? ? ?opensslgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018112720181123
20894? ? ?? ? ?opensslgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018112720181123
20894? ? ?? ? ?opensslgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
20894? ? ?? ? ?opensslgcc_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
20894? ? ?? ? ?opensslgcc_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
20894? ? ?? ? ?opensslgcc_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
20896? ? ?? ? ?opensslgcc_-O3_-fomit-frame-pointer2018112720181123
20896? ? ?? ? ?opensslgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112720181123
20896? ? ?? ? ?opensslgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112720181123
20896? ? ?? ? ?opensslgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112720181123
20896? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018112720181123
20896? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018112720181123
20896? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
20896? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
20896? ? ?? ? ?opensslgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018112720181123
20896? ? ?? ? ?opensslgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018112720181123
20896? ? ?? ? ?opensslgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
20898? ? ?? ? ?opensslgcc_-O_-fomit-frame-pointer2018112720181123
20898? ? ?? ? ?opensslgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018112720181123
20898? ? ?? ? ?opensslgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018112720181123
20898? ? ?? ? ?opensslgcc_-m64_-Os_-fomit-frame-pointer2018112720181123
20898? ? ?? ? ?opensslgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018112720181123
20898? ? ?? ? ?opensslgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018112720181123
20898? ? ?? ? ?opensslgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018112720181123
20898? ? ?? ? ?opensslgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018112720181123
20898? ? ?? ? ?opensslgcc_-march=k8_-Os_-fomit-frame-pointer2018112720181123
20898? ? ?? ? ?opensslgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018112720181123
20900? ? ?? ? ?opensslgcc2018112720181123
20900? ? ?? ? ?opensslgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
20900? ? ?? ? ?opensslgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018112720181123
20902? ? ?? ? ?opensslgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112720181123
20902? ? ?? ? ?opensslgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
20902? ? ?? ? ?opensslgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018112720181123
20902? ? ?? ? ?opensslgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018112720181123
20902? ? ?? ? ?opensslgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
20902? ? ?? ? ?opensslgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
20902? ? ?? ? ?opensslgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018112720181123
20902? ? ?? ? ?opensslgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018112720181123
20902? ? ?? ? ?opensslgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018112720181123
20904? ? ?? ? ?opensslclang_-O3_-fomit-frame-pointer_-Qunused-arguments2018112720181123
20904? ? ?? ? ?opensslgcc_-funroll-loops_-O_-fomit-frame-pointer2018112720181123
20904? ? ?? ? ?opensslgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018112720181123
20904? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018112720181123
20904? ? ?? ? ?opensslgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
20904? ? ?? ? ?opensslgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
20904? ? ?? ? ?opensslgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018112720181123
20904? ? ?? ? ?opensslgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018112720181123
20904? ? ?? ? ?opensslgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018112720181123
20904? ? ?? ? ?opensslgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018112720181123
20904? ? ?? ? ?opensslgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018112720181123
20906? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018112720181123
20906? ? ?? ? ?opensslgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018112720181123
20906? ? ?? ? ?opensslgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018112720181123
20908? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018112720181123
20908? ? ?? ? ?opensslgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018112720181123
20910? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018112720181123
20910? ? ?? ? ?opensslgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
20910? ? ?? ? ?opensslgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018112720181123
20912? ? ?? ? ?opensslgcc_-Os_-fomit-frame-pointer2018112720181123
20918? ? ?? ? ?opensslgcc_-funroll-loops_-O2_-fomit-frame-pointer2018112720181123
20918? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018112720181123
20918? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
20920? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018112720181123
20920? ? ?? ? ?opensslgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018112720181123
20920? ? ?? ? ?opensslgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018112720181123
20922? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
20924? ? ?? ? ?opensslgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018112720181123
20924? ? ?? ? ?opensslgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018112720181123
20928? ? ?? ? ?opensslgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018112720181123
20934? ? ?? ? ?opensslclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
20934? ? ?? ? ?opensslgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018112720181123
20934? ? ?? ? ?opensslgcc_-march=k8_-O3_-fomit-frame-pointer2018112720181123
20940? ? ?? ? ?opensslgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018112720181123
20940? ? ?? ? ?opensslgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018112720181123
20942? ? ?? ? ?opensslgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018112720181123
20942? ? ?? ? ?opensslgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018112720181123
20948? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
20950? ? ?? ? ?opensslgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
20998? ? ?? ? ?opensslgcc_-march=k8_-O2_-fomit-frame-pointer2018112720181123

Compiler output

Implementation: openssl
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x1f5b500: v4i64 = X86ISD::VTRUNC 0x1f5b330
try.c: 0x1f5b330: v16i32 = vselect 0x1f57f70, 0x1eda510, 0x1f5b200
try.c: 0x1f57f70: v4i1 = X86ISD::PCMPGTM 0x1f43de0, 0x1ef1ea0
try.c: 0x1f43de0: v4i64 = X86ISD::VBROADCAST 0x1ef2230
try.c: 0x1ef2230: i64,ch = load<LD8[%uglygep72]> 0x1e3edd0, 0x1f2a360, undef:i64
try.c: 0x1f2a360: i64 = add 0x1f44cc0, 0x1e9f180
try.c: 0x1f44cc0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1eec750: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1e9f180: i64 = shl 0x1eebf00, Constant:i8<3>
try.c: 0x1eebf00: i64,ch = CopyFromReg 0x1e3edd0, Register:i64 %vreg50
try.c: 0x1f45180: i64 = Register %vreg50
try.c: 0x1ef6060: i8 = Constant<3>
try.c: 0x1f42450: i64 = undef
try.c: 0x1ef1ea0: v4i64,ch = CopyFromReg 0x1e3edd0, Register:v4i64 %vreg13
try.c: 0x1ee8be0: v4i64 = Register %vreg13
try.c: 0x1eda510: v16i32 = X86ISD::VBROADCAST 0x1eec160
try.c: 0x1eec160: i32,ch = load<LD4[ConstantPool]> 0x1e3edd0, 0x1f5ae70, undef:i64
try.c: 0x1f5ae70: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1f06b30: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1f42450: i64 = undef
try.c: 0x1f5b200: 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: 0x1f5b0d0: i32 = Constant<0>
try.c: 0x1f5b0d0: i32 = Constant<0>
try.c: 0x1f5b0d0: i32 = Constant<0>
try.c: 0x1f5b0d0: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: openssl
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x1f95e60: v4i64 = X86ISD::VTRUNC 0x1f95c90
try.c: 0x1f95c90: v16i32 = vselect 0x1fa8260, 0x1f51e70, 0x1f95b60
try.c: 0x1fa8260: v4i1 = X86ISD::PCMPGTM 0x1f918c0, 0x1f52c20
try.c: 0x1f918c0: v4i64 = X86ISD::VBROADCAST 0x1f52fb0
try.c: 0x1f52fb0: i64,ch = load<LD8[%uglygep72]> 0x1e8bdb0, 0x1f45800, undef:i64
try.c: 0x1f45800: i64 = add 0x1f927a0, 0x1f29bd0
try.c: 0x1f927a0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1f88670: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1f29bd0: i64 = shl 0x1f87e20, Constant:i8<3>
try.c: 0x1f87e20: i64,ch = CopyFromReg 0x1e8bdb0, Register:i64 %vreg50
try.c: 0x1f92c60: i64 = Register %vreg50
try.c: 0x1f25b20: i8 = Constant<3>
try.c: 0x1f8ff30: i64 = undef
try.c: 0x1f52c20: v4i64,ch = CopyFromReg 0x1e8bdb0, Register:v4i64 %vreg13
try.c: 0x1f37030: v4i64 = Register %vreg13
try.c: 0x1f51e70: v16i32 = X86ISD::VBROADCAST 0x1f88080
try.c: 0x1f88080: i32,ch = load<LD4[ConstantPool]> 0x1e8bdb0, 0x1f957d0, undef:i64
try.c: 0x1f957d0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1f34b50: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1f8ff30: i64 = undef
try.c: 0x1f95b60: 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: 0x1f95a30: i32 = Constant<0>
try.c: 0x1f95a30: i32 = Constant<0>
try.c: 0x1f95a30: i32 = Constant<0>
try.c: 0x1f95a30: i32 = Constant<0>
try.c: ...

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