Implementation notes: amd64, oki, crypto_core/salsa2012

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_core
Primitive: salsa2012
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
310? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112720181123
310? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2018112720181123
310? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018112720181123
310? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018112720181123
310? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018112720181123
312? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2018112720181123
312? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2018112720181123
312? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018112720181123
312? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018112720181123
312? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018112720181123
312? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018112720181123
312? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018112720181123
312? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018112720181123
312? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018112720181123
312? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018112720181123
312? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
312? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018112720181123
314? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112720181123
314? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018112720181123
314? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2018112720181123
314? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
314? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018112720181123
314? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018112720181123
314? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018112720181123
314? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018112720181123
314? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2018112720181123
314? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018112720181123
316? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112720181123
316? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2018112720181123
316? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2018112720181123
316? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112720181123
316? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018112720181123
316? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
316? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
316? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
316? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
316? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
316? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018112720181123
316? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018112720181123
316? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
316? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
316? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
318? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
318? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018112720181123
318? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
318? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018112720181123
318? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
318? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018112720181123
318? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2018112720181123
318? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
320? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018112720181123
320? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
320? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018112720181123
320? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
328? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
332? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2018112720181123
332? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
342? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
398? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
400? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
400? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018112720181123
402? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2018112720181123
402? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018112720181123
404? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112720181123
404? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018112720181123
406? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2018112720181123
406? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018112720181123
406? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018112720181123
406? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
408? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112720181123
408? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018112720181123
408? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018112720181123
410? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
410? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
410? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018112720181123
410? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018112720181123
410? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018112720181123
410? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2018112720181123
410? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018112720181123
410? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
412? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018112720181123
412? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
412? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018112720181123
416? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018112720181123
416? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2018112720181123
416? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
418? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018112720181123
418? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2018112720181123
420? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2018112720181123
420? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018112720181123
420? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
420? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018112720181123
420? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2018112720181123
422? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018112720181123
422? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018112720181123
422? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018112720181123
422? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
424? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018112720181123
424? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018112720181123
424? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018112720181123
424? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018112720181123
426? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2018112720181123
426? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018112720181123
426? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018112720181123
426? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018112720181123
428? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018112720181123
428? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2018112720181123
430? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018112720181123
434? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018112720181123
436? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
438? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
438? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018112720181123
544? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2018112720181123
546? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
546? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
548? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2018112720181123
1890? ? ?? ? ?refcc2018112720181123
1912? ? ?? ? ?refgcc_-funroll-loops2018112720181123
1918? ? ?? ? ?refgcc2018112720181123

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x2079bf0: v4i64 = X86ISD::VTRUNC 0x2079a20
try.c: 0x2079a20: v16i32 = vselect 0x2076660, 0x1ffdcc0, 0x20798f0
try.c: 0x2076660: v4i1 = X86ISD::PCMPGTM 0x20624d0, 0x1ff8f20
try.c: 0x20624d0: v4i64 = X86ISD::VBROADCAST 0x1ff92b0
try.c: 0x1ff92b0: i64,ch = load<LD8[%uglygep72]> 0x1f5ddb0, 0x20439a0, undef:i64
try.c: 0x20439a0: i64 = add 0x20633b0, 0x1fae880
try.c: 0x20633b0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x200b2f0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1fae880: i64 = shl 0x200aaa0, Constant:i8<3>
try.c: 0x200aaa0: i64,ch = CopyFromReg 0x1f5ddb0, Register:i64 %vreg50
try.c: 0x2063870: i64 = Register %vreg50
try.c: 0x1fdf150: i8 = Constant<3>
try.c: 0x2060b40: i64 = undef
try.c: 0x1ff8f20: v4i64,ch = CopyFromReg 0x1f5ddb0, Register:v4i64 %vreg13
try.c: 0x200fb00: v4i64 = Register %vreg13
try.c: 0x1ffdcc0: v16i32 = X86ISD::VBROADCAST 0x200ad00
try.c: 0x200ad00: i32,ch = load<LD4[ConstantPool]> 0x1f5ddb0, 0x2079560, undef:i64
try.c: 0x2079560: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1fface0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x2060b40: i64 = undef
try.c: 0x20798f0: 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: 0x20797c0: i32 = Constant<0>
try.c: 0x20797c0: i32 = Constant<0>
try.c: 0x20797c0: i32 = Constant<0>
try.c: 0x20797c0: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0xd0d310: v4i64 = X86ISD::VTRUNC 0xd11170
try.c: 0xd11170: v16i32 = vselect 0xd030b0, 0xc8b0b0, 0xd11040
try.c: 0xd030b0: v4i1 = X86ISD::PCMPGTM 0xcf6c00, 0xc8be60
try.c: 0xcf6c00: v4i64 = X86ISD::VBROADCAST 0xc8c1f0
try.c: 0xc8c1f0: i64,ch = load<LD8[%uglygep72]> 0xbf0dd0, 0xce55b0, undef:i64
try.c: 0xce55b0: i64 = add 0xcf7ae0, 0xc889a0
try.c: 0xcf7ae0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0xce7960: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0xc889a0: i64 = shl 0xce7110, Constant:i8<3>
try.c: 0xce7110: i64,ch = CopyFromReg 0xbf0dd0, Register:i64 %vreg50
try.c: 0xcf7fa0: i64 = Register %vreg50
try.c: 0xcb2710: i8 = Constant<3>
try.c: 0xcf5270: i64 = undef
try.c: 0xc8be60: v4i64,ch = CopyFromReg 0xbf0dd0, Register:v4i64 %vreg13
try.c: 0xca0a20: v4i64 = Register %vreg13
try.c: 0xc8b0b0: v16i32 = X86ISD::VBROADCAST 0xce7370
try.c: 0xce7370: i32,ch = load<LD4[ConstantPool]> 0xbf0dd0, 0xd10cb0, undef:i64
try.c: 0xd10cb0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0xc8e850: i64 = TargetConstantPool<i32 1> 0
try.c: 0xcf5270: i64 = undef
try.c: 0xd11040: 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: 0xd10f10: i32 = Constant<0>
try.c: 0xd10f10: i32 = Constant<0>
try.c: 0xd10f10: i32 = Constant<0>
try.c: 0xd10f10: i32 = Constant<0>
try.c: ...

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