Implementation notes: amd64, oki, crypto_hash/lane512

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_hash
Primitive: lane512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
54642? ? ?? ? ?cgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018112720181123
54718? ? ?? ? ?cgcc_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
54720? ? ?? ? ?cgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
54852? ? ?? ? ?cgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018112720181123
54860? ? ?? ? ?cgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018112720181123
54886? ? ?? ? ?cgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018112720181123
54890? ? ?? ? ?cgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018112720181123
54896? ? ?? ? ?cgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018112720181123
54972? ? ?? ? ?cgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018112720181123
54972? ? ?? ? ?cgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018112720181123
54992? ? ?? ? ?cgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018112720181123
55152? ? ?? ? ?cgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
55158? ? ?? ? ?cgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018112720181123
55160? ? ?? ? ?cgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112720181123
55160? ? ?? ? ?cgcc_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
55160? ? ?? ? ?cgcc_-march=k8_-Os_-fomit-frame-pointer2018112720181123
55178? ? ?? ? ?cgcc_-m64_-Os_-fomit-frame-pointer2018112720181123
55190? ? ?? ? ?cgcc_-Os_-fomit-frame-pointer2018112720181123
55750? ? ?? ? ?cgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
55752? ? ?? ? ?cgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
55766? ? ?? ? ?cgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
55790? ? ?? ? ?cgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
56190? ? ?? ? ?cgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018112720181123
56208? ? ?? ? ?cgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018112720181123
56252? ? ?? ? ?cgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018112720181123
56266? ? ?? ? ?cgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018112720181123
56276? ? ?? ? ?cgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
56280? ? ?? ? ?cgcc_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
56284? ? ?? ? ?cgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018112720181123
56284? ? ?? ? ?cgcc_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
56294? ? ?? ? ?cgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
56294? ? ?? ? ?cgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018112720181123
56420? ? ?? ? ?cgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
56420? ? ?? ? ?cgcc_-march=k8_-O3_-fomit-frame-pointer2018112720181123
56422? ? ?? ? ?cgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
56424? ? ?? ? ?cgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
56426? ? ?? ? ?cgcc_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
56430? ? ?? ? ?cgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018112720181123
56434? ? ?? ? ?cgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018112720181123
56436? ? ?? ? ?cgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018112720181123
56440? ? ?? ? ?cgcc_-march=k8_-O2_-fomit-frame-pointer2018112720181123
56442? ? ?? ? ?cgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018112720181123
56444? ? ?? ? ?cgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018112720181123
56444? ? ?? ? ?cgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018112720181123
56448? ? ?? ? ?cgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018112720181123
56452? ? ?? ? ?cgcc_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
56468? ? ?? ? ?cgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018112720181123
56482? ? ?? ? ?cgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
56486? ? ?? ? ?cgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018112720181123
56494? ? ?? ? ?cgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018112720181123
56496? ? ?? ? ?cgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018112720181123
56496? ? ?? ? ?cgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018112720181123
56496? ? ?? ? ?cgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018112720181123
56518? ? ?? ? ?cgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018112720181123
56852? ? ?? ? ?cgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112720181123
56856? ? ?? ? ?cgcc_-O2_-fomit-frame-pointer2018112720181123
56860? ? ?? ? ?cgcc_-m64_-O2_-fomit-frame-pointer2018112720181123
56862? ? ?? ? ?cgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018112720181123
56864? ? ?? ? ?cgcc_-O3_-fomit-frame-pointer2018112720181123
56864? ? ?? ? ?cgcc_-funroll-loops_-Os_-fomit-frame-pointer2018112720181123
56864? ? ?? ? ?cgcc_-m64_-O3_-fomit-frame-pointer2018112720181123
56866? ? ?? ? ?cgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112720181123
56866? ? ?? ? ?cgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112720181123
56902? ? ?? ? ?cgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
56904? ? ?? ? ?cgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018112720181123
56906? ? ?? ? ?cgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
56908? ? ?? ? ?cgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018112720181123
56924? ? ?? ? ?cgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018112720181123
56928? ? ?? ? ?cgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
56928? ? ?? ? ?cgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018112720181123
56950? ? ?? ? ?cgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018112720181123
56954? ? ?? ? ?cgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
56956? ? ?? ? ?cgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018112720181123
56958? ? ?? ? ?cgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
56968? ? ?? ? ?cgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018112720181123
56968? ? ?? ? ?cgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
56972? ? ?? ? ?cgcc_-funroll-loops_-O2_-fomit-frame-pointer2018112720181123
56972? ? ?? ? ?cgcc_-funroll-loops_-O3_-fomit-frame-pointer2018112720181123
57010? ? ?? ? ?cgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112720181123
57010? ? ?? ? ?cgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018112720181123
57014? ? ?? ? ?cgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112720181123
57948? ? ?? ? ?cgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
57952? ? ?? ? ?cgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
58014? ? ?? ? ?cgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018112720181123
58016? ? ?? ? ?cgcc_-funroll-loops_-O_-fomit-frame-pointer2018112720181123
58022? ? ?? ? ?cgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018112720181123
58184? ? ?? ? ?cgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018112720181123
58194? ? ?? ? ?cgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018112720181123
58348? ? ?? ? ?cgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018112720181123
58366? ? ?? ? ?cgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018112720181123
58864? ? ?? ? ?cgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018112720181123
58866? ? ?? ? ?cgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018112720181123
58876? ? ?? ? ?cgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018112720181123
58882? ? ?? ? ?cgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
58882? ? ?? ? ?cgcc_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
58918? ? ?? ? ?cgcc_-march=k8_-O_-fomit-frame-pointer2018112720181123
58946? ? ?? ? ?cgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018112720181123
58946? ? ?? ? ?cgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018112720181123
58948? ? ?? ? ?cgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018112720181123
58970? ? ?? ? ?cgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018112720181123
58998? ? ?? ? ?cgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018112720181123
59080? ? ?? ? ?cgcc_-O_-fomit-frame-pointer2018112720181123
59102? ? ?? ? ?cgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018112720181123
59108? ? ?? ? ?cgcc_-m64_-O_-fomit-frame-pointer2018112720181123
59114? ? ?? ? ?cgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018112720181123
59114? ? ?? ? ?cgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018112720181123
59122? ? ?? ? ?cgcc_-march=nocona_-O_-fomit-frame-pointer2018112720181123
60178? ? ?? ? ?cgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018112720181123
77576? ? ?? ? ?cclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
77580? ? ?? ? ?cclang_-O3_-fomit-frame-pointer_-Qunused-arguments2018112720181123
77612? ? ?? ? ?cclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
77618? ? ?? ? ?cclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
78800? ? ?? ? ?cclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2018112720181123
78806? ? ?? ? ?cclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
78816? ? ?? ? ?cclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2018112720181123
78822? ? ?? ? ?cclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
87984? ? ?? ? ?ccc2018112720181123
88342? ? ?? ? ?cgcc2018112720181123
88366? ? ?? ? ?cgcc_-funroll-loops2018112720181123

Compiler output

Implementation: c
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x2998fc0: v4i64 = X86ISD::VTRUNC 0x2998df0
try.c: 0x2998df0: v16i32 = vselect 0x29b1fb0, 0x2928d30, 0x2998cc0
try.c: 0x29b1fb0: v4i1 = X86ISD::PCMPGTM 0x2992a10, 0x2929ae0
try.c: 0x2992a10: v4i64 = X86ISD::VBROADCAST 0x2929e70
try.c: 0x2929e70: i64,ch = load<LD8[%uglygep72]> 0x288ddd0, 0x294a800, undef:i64
try.c: 0x294a800: i64 = add 0x29938f0, 0x29327f0
try.c: 0x29938f0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x292c180: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x29327f0: i64 = shl 0x292b930, Constant:i8<3>
try.c: 0x292b930: i64,ch = CopyFromReg 0x288ddd0, Register:i64 %vreg50
try.c: 0x2993db0: i64 = Register %vreg50
try.c: 0x2951780: i8 = Constant<3>
try.c: 0x2989a70: i64 = undef
try.c: 0x2929ae0: v4i64,ch = CopyFromReg 0x288ddd0, Register:v4i64 %vreg13
try.c: 0x2954250: v4i64 = Register %vreg13
try.c: 0x2928d30: v16i32 = X86ISD::VBROADCAST 0x292bb90
try.c: 0x292bb90: i32,ch = load<LD4[ConstantPool]> 0x288ddd0, 0x2998930, undef:i64
try.c: 0x2998930: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x29425d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x2989a70: i64 = undef
try.c: 0x2998cc0: 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: 0x2998b90: i32 = Constant<0>
try.c: 0x2998b90: i32 = Constant<0>
try.c: 0x2998b90: i32 = Constant<0>
try.c: 0x2998b90: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: c
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x132b810: v4i64 = X86ISD::VTRUNC 0x132b640
try.c: 0x132b640: v16i32 = vselect 0x1328280, 0x12d2ef0, 0x132b510
try.c: 0x1328280: v4i1 = X86ISD::PCMPGTM 0x13120e0, 0x12d3ca0
try.c: 0x13120e0: v4i64 = X86ISD::VBROADCAST 0x12d4030
try.c: 0x12d4030: i64,ch = load<LD8[%uglygep72]> 0x120ddd0, 0x12c16b0, undef:i64
try.c: 0x12c16b0: i64 = add 0x1312fc0, 0x12ba870
try.c: 0x1312fc0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x12fa890: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x12ba870: i64 = shl 0x12fa040, Constant:i8<3>
try.c: 0x12fa040: i64,ch = CopyFromReg 0x120ddd0, Register:i64 %vreg50
try.c: 0x1313480: i64 = Register %vreg50
try.c: 0x12abbb0: i8 = Constant<3>
try.c: 0x1310750: i64 = undef
try.c: 0x12d3ca0: v4i64,ch = CopyFromReg 0x120ddd0, Register:v4i64 %vreg13
try.c: 0x12c5730: v4i64 = Register %vreg13
try.c: 0x12d2ef0: v16i32 = X86ISD::VBROADCAST 0x12fa2a0
try.c: 0x12fa2a0: i32,ch = load<LD4[ConstantPool]> 0x120ddd0, 0x132b180, undef:i64
try.c: 0x132b180: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x12c3250: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1310750: i64 = undef
try.c: 0x132b510: 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: 0x132b3e0: i32 = Constant<0>
try.c: 0x132b3e0: i32 = Constant<0>
try.c: 0x132b3e0: i32 = Constant<0>
try.c: 0x132b3e0: i32 = Constant<0>
try.c: ...

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