Implementation notes: amd64, oki, crypto_hash/sha224

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_hash
Primitive: sha224
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
12396? ? ?? ? ?opensslgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018112720181123
12400? ? ?? ? ?opensslgcc_-O_-fomit-frame-pointer2018112720181123
12408? ? ?? ? ?opensslgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018112720181123
12410? ? ?? ? ?opensslgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018112720181123
12416? ? ?? ? ?opensslgcc_-march=nocona_-O_-fomit-frame-pointer2018112720181123
12418? ? ?? ? ?opensslgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018112720181123
12418? ? ?? ? ?opensslgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018112720181123
12420? ? ?? ? ?opensslclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2018112720181123
12420? ? ?? ? ?opensslgcc_-O3_-fomit-frame-pointer2018112720181123
12420? ? ?? ? ?opensslgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018112720181123
12422? ? ?? ? ?opensslgcc_-funroll-loops_-O2_-fomit-frame-pointer2018112720181123
12422? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018112720181123
12422? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018112720181123
12422? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
12422? ? ?? ? ?opensslgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
12422? ? ?? ? ?opensslgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018112720181123
12422? ? ?? ? ?opensslgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018112720181123
12422? ? ?? ? ?opensslgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018112720181123
12424? ? ?? ? ?opensslclang_-O3_-fomit-frame-pointer_-Qunused-arguments2018112720181123
12424? ? ?? ? ?opensslclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
12424? ? ?? ? ?opensslclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
12424? ? ?? ? ?opensslgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018112720181123
12424? ? ?? ? ?opensslgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018112720181123
12424? ? ?? ? ?opensslgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018112720181123
12424? ? ?? ? ?opensslgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018112720181123
12424? ? ?? ? ?opensslgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018112720181123
12424? ? ?? ? ?opensslgcc_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
12424? ? ?? ? ?opensslgcc_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
12426? ? ?? ? ?opensslgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018112720181123
12426? ? ?? ? ?opensslgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018112720181123
12426? ? ?? ? ?opensslgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018112720181123
12426? ? ?? ? ?opensslgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018112720181123
12426? ? ?? ? ?opensslgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
12428? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018112720181123
12428? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
12428? ? ?? ? ?opensslgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
12428? ? ?? ? ?opensslgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018112720181123
12428? ? ?? ? ?opensslgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018112720181123
12430? ? ?? ? ?opensslgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018112720181123
12430? ? ?? ? ?opensslgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018112720181123
12432? ? ?? ? ?opensslclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
12432? ? ?? ? ?opensslclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
12432? ? ?? ? ?opensslgcc_-O2_-fomit-frame-pointer2018112720181123
12432? ? ?? ? ?opensslgcc_-funroll-loops_-O3_-fomit-frame-pointer2018112720181123
12432? ? ?? ? ?opensslgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
12434? ? ?? ? ?opensslgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112720181123
12434? ? ?? ? ?opensslgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018112720181123
12434? ? ?? ? ?opensslgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
12434? ? ?? ? ?opensslgcc_-m64_-Os_-fomit-frame-pointer2018112720181123
12434? ? ?? ? ?opensslgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
12434? ? ?? ? ?opensslgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018112720181123
12434? ? ?? ? ?opensslgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018112720181123
12434? ? ?? ? ?opensslgcc_-march=k8_-O2_-fomit-frame-pointer2018112720181123
12436? ? ?? ? ?opensslgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018112720181123
12436? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018112720181123
12436? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018112720181123
12436? ? ?? ? ?opensslgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018112720181123
12436? ? ?? ? ?opensslgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
12436? ? ?? ? ?opensslgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018112720181123
12436? ? ?? ? ?opensslgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018112720181123
12436? ? ?? ? ?opensslgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018112720181123
12436? ? ?? ? ?opensslgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018112720181123
12436? ? ?? ? ?opensslgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
12436? ? ?? ? ?opensslgcc_-march=k8_-O_-fomit-frame-pointer2018112720181123
12438? ? ?? ? ?opensslgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112720181123
12438? ? ?? ? ?opensslgcc_-funroll-loops_-O_-fomit-frame-pointer2018112720181123
12438? ? ?? ? ?opensslgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
12438? ? ?? ? ?opensslgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018112720181123
12438? ? ?? ? ?opensslgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018112720181123
12438? ? ?? ? ?opensslgcc_-m64_-O2_-fomit-frame-pointer2018112720181123
12438? ? ?? ? ?opensslgcc_-m64_-O_-fomit-frame-pointer2018112720181123
12438? ? ?? ? ?opensslgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018112720181123
12438? ? ?? ? ?opensslgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018112720181123
12438? ? ?? ? ?opensslgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018112720181123
12438? ? ?? ? ?opensslgcc_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
12438? ? ?? ? ?opensslgcc_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
12440? ? ?? ? ?opensslclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
12440? ? ?? ? ?opensslgcc_-Os_-fomit-frame-pointer2018112720181123
12440? ? ?? ? ?opensslgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112720181123
12440? ? ?? ? ?opensslgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
12440? ? ?? ? ?opensslgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018112720181123
12442? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
12442? ? ?? ? ?opensslgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018112720181123
12442? ? ?? ? ?opensslgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018112720181123
12442? ? ?? ? ?opensslgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018112720181123
12442? ? ?? ? ?opensslgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018112720181123
12442? ? ?? ? ?opensslgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018112720181123
12444? ? ?? ? ?opensslgcc2018112720181123
12444? ? ?? ? ?opensslgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112720181123
12444? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
12444? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
12444? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018112720181123
12444? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018112720181123
12444? ? ?? ? ?opensslgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018112720181123
12444? ? ?? ? ?opensslgcc_-m64_-O3_-fomit-frame-pointer2018112720181123
12444? ? ?? ? ?opensslgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018112720181123
12444? ? ?? ? ?opensslgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018112720181123
12444? ? ?? ? ?opensslgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
12444? ? ?? ? ?opensslgcc_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
12444? ? ?? ? ?opensslgcc_-march=k8_-Os_-fomit-frame-pointer2018112720181123
12446? ? ?? ? ?opensslgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
12448? ? ?? ? ?opensslgcc_-funroll-loops_-Os_-fomit-frame-pointer2018112720181123
12448? ? ?? ? ?opensslgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018112720181123
12450? ? ?? ? ?opensslgcc_-funroll-loops2018112720181123
12450? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
12450? ? ?? ? ?opensslgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018112720181123
12452? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018112720181123
12452? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
12452? ? ?? ? ?opensslgcc_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
12452? ? ?? ? ?opensslgcc_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
12454? ? ?? ? ?opensslclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2018112720181123
12454? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018112720181123
12454? ? ?? ? ?opensslgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
12454? ? ?? ? ?opensslgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018112720181123
12456? ? ?? ? ?opensslcc2018112720181123
12456? ? ?? ? ?opensslgcc_-march=k8_-O3_-fomit-frame-pointer2018112720181123
12552? ? ?? ? ?opensslgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112720181123
12586? ? ?? ? ?opensslgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
12594? ? ?? ? ?opensslgcc_-fno-schedule-insns_-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: 0x2908510: v4i64 = X86ISD::VTRUNC 0x2908340
try.c: 0x2908340: v16i32 = vselect 0x28e5740, 0x28b38a0, 0x2908210
try.c: 0x28e5740: v4i1 = X86ISD::PCMPGTM 0x28ee5e0, 0x2893200
try.c: 0x28ee5e0: v4i64 = X86ISD::VBROADCAST 0x2893590
try.c: 0x2893590: i64,ch = load<LD8[%uglygep72]> 0x27e9df0, 0x28d5e30, undef:i64
try.c: 0x28d5e30: i64 = add 0x28ef4c0, 0x28829a0
try.c: 0x28ef4c0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x289efe0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x28829a0: i64 = shl 0x289e790, Constant:i8<3>
try.c: 0x289e790: i64,ch = CopyFromReg 0x27e9df0, Register:i64 %vreg50
try.c: 0x28ef980: i64 = Register %vreg50
try.c: 0x2884f10: i8 = Constant<3>
try.c: 0x28ec440: i64 = undef
try.c: 0x2893200: v4i64,ch = CopyFromReg 0x27e9df0, Register:v4i64 %vreg13
try.c: 0x289af10: v4i64 = Register %vreg13
try.c: 0x28b38a0: v16i32 = X86ISD::VBROADCAST 0x289e9f0
try.c: 0x289e9f0: i32,ch = load<LD4[ConstantPool]> 0x27e9df0, 0x2907e80, undef:i64
try.c: 0x2907e80: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x2894fc0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x28ec440: i64 = undef
try.c: 0x2908210: 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: 0x29080e0: i32 = Constant<0>
try.c: 0x29080e0: i32 = Constant<0>
try.c: 0x29080e0: i32 = Constant<0>
try.c: 0x29080e0: 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: 0xa2cb20: v4i64 = X86ISD::VTRUNC 0xa2c950
try.c: 0xa2c950: v16i32 = vselect 0xa29590, 0x9bc4d0, 0xa2c820
try.c: 0xa29590: v4i1 = X86ISD::PCMPGTM 0xa14440, 0x9bd280
try.c: 0xa14440: v4i64 = X86ISD::VBROADCAST 0x9bd610
try.c: 0x9bd610: i64,ch = load<LD8[%uglygep72]> 0x90fdb0, 0xa0e530, undef:i64
try.c: 0xa0e530: i64 = add 0xa15320, 0x9912f0
try.c: 0xa15320: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0xa0b6c0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x9912f0: i64 = shl 0xa0ae70, Constant:i8<3>
try.c: 0xa0ae70: i64,ch = CopyFromReg 0x90fdb0, Register:i64 %vreg50
try.c: 0xa157e0: i64 = Register %vreg50
try.c: 0x9aac00: i8 = Constant<3>
try.c: 0xa122a0: i64 = undef
try.c: 0x9bd280: v4i64,ch = CopyFromReg 0x90fdb0, Register:v4i64 %vreg13
try.c: 0x9d49f0: v4i64 = Register %vreg13
try.c: 0x9bc4d0: v16i32 = X86ISD::VBROADCAST 0xa0b0d0
try.c: 0xa0b0d0: i32,ch = load<LD4[ConstantPool]> 0x90fdb0, 0xa2c490, undef:i64
try.c: 0xa2c490: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x9aed80: i64 = TargetConstantPool<i32 1> 0
try.c: 0xa122a0: i64 = undef
try.c: 0xa2c820: 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: 0xa2c6f0: i32 = Constant<0>
try.c: 0xa2c6f0: i32 = Constant<0>
try.c: 0xa2c6f0: i32 = Constant<0>
try.c: 0xa2c6f0: 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