Implementation notes: amd64, oki, crypto_hash/sha1

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_hash
Primitive: sha1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
5812? ? ?? ? ?opensslgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018112720181123
5820? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018112720181123
5820? ? ?? ? ?opensslgcc_-march=k8_-O2_-fomit-frame-pointer2018112720181123
5824? ? ?? ? ?opensslclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2018112720181123
5824? ? ?? ? ?opensslgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018112720181123
5826? ? ?? ? ?opensslgcc_-O3_-fomit-frame-pointer2018112720181123
5826? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018112720181123
5826? ? ?? ? ?opensslgcc_-m64_-O3_-fomit-frame-pointer2018112720181123
5826? ? ?? ? ?opensslgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018112720181123
5826? ? ?? ? ?opensslgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018112720181123
5826? ? ?? ? ?opensslgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018112720181123
5826? ? ?? ? ?opensslgcc_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
5826? ? ?? ? ?opensslgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018112720181123
5828? ? ?? ? ?opensslclang_-O3_-fomit-frame-pointer_-Qunused-arguments2018112720181123
5828? ? ?? ? ?opensslclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
5828? ? ?? ? ?opensslgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112720181123
5828? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
5828? ? ?? ? ?opensslgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
5828? ? ?? ? ?opensslgcc_-m64_-Os_-fomit-frame-pointer2018112720181123
5828? ? ?? ? ?opensslgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018112720181123
5828? ? ?? ? ?opensslgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018112720181123
5828? ? ?? ? ?opensslgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018112720181123
5828? ? ?? ? ?opensslgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018112720181123
5828? ? ?? ? ?opensslgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018112720181123
5828? ? ?? ? ?opensslgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
5828? ? ?? ? ?opensslgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018112720181123
5828? ? ?? ? ?opensslgcc_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
5830? ? ?? ? ?opensslclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
5830? ? ?? ? ?opensslgcc_-O_-fomit-frame-pointer2018112720181123
5830? ? ?? ? ?opensslgcc_-Os_-fomit-frame-pointer2018112720181123
5830? ? ?? ? ?opensslgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112720181123
5830? ? ?? ? ?opensslgcc_-funroll-loops_-O3_-fomit-frame-pointer2018112720181123
5830? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
5830? ? ?? ? ?opensslgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
5830? ? ?? ? ?opensslgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018112720181123
5830? ? ?? ? ?opensslgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018112720181123
5830? ? ?? ? ?opensslgcc_-march=k8_-Os_-fomit-frame-pointer2018112720181123
5832? ? ?? ? ?opensslclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2018112720181123
5832? ? ?? ? ?opensslclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
5832? ? ?? ? ?opensslclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
5832? ? ?? ? ?opensslgcc2018112720181123
5832? ? ?? ? ?opensslgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112720181123
5832? ? ?? ? ?opensslgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112720181123
5832? ? ?? ? ?opensslgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
5832? ? ?? ? ?opensslgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018112720181123
5832? ? ?? ? ?opensslgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018112720181123
5832? ? ?? ? ?opensslgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018112720181123
5832? ? ?? ? ?opensslgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018112720181123
5832? ? ?? ? ?opensslgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018112720181123
5832? ? ?? ? ?opensslgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018112720181123
5832? ? ?? ? ?opensslgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018112720181123
5832? ? ?? ? ?opensslgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018112720181123
5832? ? ?? ? ?opensslgcc_-march=k8_-O_-fomit-frame-pointer2018112720181123
5832? ? ?? ? ?opensslgcc_-march=nocona_-O_-fomit-frame-pointer2018112720181123
5834? ? ?? ? ?opensslcc2018112720181123
5834? ? ?? ? ?opensslgcc_-funroll-loops_-O_-fomit-frame-pointer2018112720181123
5834? ? ?? ? ?opensslgcc_-m64_-O_-fomit-frame-pointer2018112720181123
5834? ? ?? ? ?opensslgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
5834? ? ?? ? ?opensslgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018112720181123
5834? ? ?? ? ?opensslgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018112720181123
5834? ? ?? ? ?opensslgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018112720181123
5834? ? ?? ? ?opensslgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018112720181123
5834? ? ?? ? ?opensslgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018112720181123
5834? ? ?? ? ?opensslgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
5834? ? ?? ? ?opensslgcc_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
5836? ? ?? ? ?opensslclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
5836? ? ?? ? ?opensslgcc_-funroll-loops2018112720181123
5836? ? ?? ? ?opensslgcc_-funroll-loops_-Os_-fomit-frame-pointer2018112720181123
5836? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
5836? ? ?? ? ?opensslgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
5836? ? ?? ? ?opensslgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018112720181123
5836? ? ?? ? ?opensslgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018112720181123
5836? ? ?? ? ?opensslgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018112720181123
5836? ? ?? ? ?opensslgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018112720181123
5836? ? ?? ? ?opensslgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018112720181123
5836? ? ?? ? ?opensslgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018112720181123
5836? ? ?? ? ?opensslgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018112720181123
5836? ? ?? ? ?opensslgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018112720181123
5836? ? ?? ? ?opensslgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
5836? ? ?? ? ?opensslgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018112720181123
5836? ? ?? ? ?opensslgcc_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
5836? ? ?? ? ?opensslgcc_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
5838? ? ?? ? ?opensslgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018112720181123
5838? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018112720181123
5838? ? ?? ? ?opensslgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018112720181123
5838? ? ?? ? ?opensslgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
5838? ? ?? ? ?opensslgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018112720181123
5838? ? ?? ? ?opensslgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018112720181123
5838? ? ?? ? ?opensslgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018112720181123
5838? ? ?? ? ?opensslgcc_-march=k8_-O3_-fomit-frame-pointer2018112720181123
5838? ? ?? ? ?opensslgcc_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
5840? ? ?? ? ?opensslgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112720181123
5840? ? ?? ? ?opensslgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018112720181123
5840? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018112720181123
5840? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
5840? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018112720181123
5840? ? ?? ? ?opensslgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018112720181123
5840? ? ?? ? ?opensslgcc_-m64_-O2_-fomit-frame-pointer2018112720181123
5840? ? ?? ? ?opensslgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018112720181123
5840? ? ?? ? ?opensslgcc_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
5842? ? ?? ? ?opensslgcc_-funroll-loops_-O2_-fomit-frame-pointer2018112720181123
5842? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018112720181123
5842? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018112720181123
5842? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018112720181123
5844? ? ?? ? ?opensslgcc_-O2_-fomit-frame-pointer2018112720181123
5844? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
5844? ? ?? ? ?opensslgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
5844? ? ?? ? ?opensslgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018112720181123
5844? ? ?? ? ?opensslgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018112720181123
5846? ? ?? ? ?opensslgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018112720181123
5848? ? ?? ? ?opensslgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112720181123
5848? ? ?? ? ?opensslgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
5850? ? ?? ? ?opensslgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
5850? ? ?? ? ?opensslgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
5852? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
5854? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
5858? ? ?? ? ?opensslgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
5860? ? ?? ? ?opensslgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018112720181123
5864? ? ?? ? ?opensslgcc_-funroll-loops_-march=k8_-O3_-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: 0x27f56a0: v4i64 = X86ISD::VTRUNC 0x27f54d0
try.c: 0x27f54d0: v16i32 = vselect 0x27f04e0, 0x2787090, 0x27f53a0
try.c: 0x27f04e0: v4i1 = X86ISD::PCMPGTM 0x27d7740, 0x276bf00
try.c: 0x27d7740: v4i64 = X86ISD::VBROADCAST 0x276c290
try.c: 0x276c290: i64,ch = load<LD8[%uglygep72]> 0x26d0dd0, 0x2780b30, undef:i64
try.c: 0x2780b30: i64 = add 0x27d8620, 0x27711a0
try.c: 0x27d8620: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x27ca970: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x27711a0: i64 = shl 0x27ca120, Constant:i8<3>
try.c: 0x27ca120: i64,ch = CopyFromReg 0x26d0dd0, Register:i64 %vreg50
try.c: 0x27d8ae0: i64 = Register %vreg50
try.c: 0x2789100: i8 = Constant<3>
try.c: 0x27d5db0: i64 = undef
try.c: 0x276bf00: v4i64,ch = CopyFromReg 0x26d0dd0, Register:v4i64 %vreg13
try.c: 0x27846a0: v4i64 = Register %vreg13
try.c: 0x2787090: v16i32 = X86ISD::VBROADCAST 0x27ca380
try.c: 0x27ca380: i32,ch = load<LD4[ConstantPool]> 0x26d0dd0, 0x27f5010, undef:i64
try.c: 0x27f5010: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x27821c0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x27d5db0: i64 = undef
try.c: 0x27f53a0: 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: 0x27f5270: i32 = Constant<0>
try.c: 0x27f5270: i32 = Constant<0>
try.c: 0x27f5270: i32 = Constant<0>
try.c: 0x27f5270: 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: 0x201b940: v4i64 = X86ISD::VTRUNC 0x201b770
try.c: 0x201b770: v16i32 = vselect 0x20183b0, 0x1f91ea0, 0x201b640
try.c: 0x20183b0: v4i1 = X86ISD::PCMPGTM 0x2016390, 0x1fb5ec0
try.c: 0x2016390: v4i64 = X86ISD::VBROADCAST 0x1fb6250
try.c: 0x1fb6250: i64,ch = load<LD8[%uglygep72]> 0x1f0fdd0, 0x1ff5070, undef:i64
try.c: 0x1ff5070: i64 = add 0x2017270, 0x1fbf420
try.c: 0x2017270: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x20064b0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1fbf420: i64 = shl 0x2005c60, Constant:i8<3>
try.c: 0x2005c60: i64,ch = CopyFromReg 0x1f0fdd0, Register:i64 %vreg50
try.c: 0x2017730: i64 = Register %vreg50
try.c: 0x1fb8f60: i8 = Constant<3>
try.c: 0x2014a00: i64 = undef
try.c: 0x1fb5ec0: v4i64,ch = CopyFromReg 0x1f0fdd0, Register:v4i64 %vreg13
try.c: 0x1faf290: v4i64 = Register %vreg13
try.c: 0x1f91ea0: v16i32 = X86ISD::VBROADCAST 0x2005ec0
try.c: 0x2005ec0: i32,ch = load<LD4[ConstantPool]> 0x1f0fdd0, 0x201b2b0, undef:i64
try.c: 0x201b2b0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1fbb4a0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x2014a00: i64 = undef
try.c: 0x201b640: 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: 0x201b510: i32 = Constant<0>
try.c: 0x201b510: i32 = Constant<0>
try.c: 0x201b510: i32 = Constant<0>
try.c: 0x201b510: 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