Implementation notes: amd64, oki, crypto_core/salsa208

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_core
Primitive: salsa208
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
234? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
234? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018112720181123
234? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
236? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018112720181123
236? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018112720181123
236? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018112720181123
236? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018112720181123
236? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018112720181123
236? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2018112720181123
236? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018112720181123
238? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2018112720181123
238? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112720181123
238? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112720181123
238? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018112720181123
238? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
238? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018112720181123
238? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
238? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2018112720181123
238? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018112720181123
238? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018112720181123
238? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018112720181123
238? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018112720181123
238? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018112720181123
238? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018112720181123
238? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018112720181123
238? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2018112720181123
238? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018112720181123
240? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2018112720181123
240? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2018112720181123
240? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2018112720181123
240? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112720181123
240? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112720181123
240? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018112720181123
240? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018112720181123
240? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
240? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018112720181123
240? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
240? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018112720181123
240? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018112720181123
240? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018112720181123
240? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018112720181123
240? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
240? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
242? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
242? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018112720181123
242? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
242? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2018112720181123
242? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
242? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
242? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
242? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
244? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
246? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
246? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018112720181123
258? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2018112720181123
258? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
258? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
258? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
320? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
320? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
322? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018112720181123
322? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018112720181123
326? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112720181123
326? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2018112720181123
326? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018112720181123
328? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018112720181123
328? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018112720181123
328? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018112720181123
328? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
328? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
330? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2018112720181123
330? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112720181123
330? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018112720181123
330? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018112720181123
330? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018112720181123
330? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018112720181123
332? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018112720181123
332? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
332? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
332? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018112720181123
332? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
332? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2018112720181123
334? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2018112720181123
334? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018112720181123
336? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
336? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018112720181123
338? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018112720181123
340? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2018112720181123
340? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018112720181123
340? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2018112720181123
340? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018112720181123
340? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018112720181123
340? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018112720181123
340? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2018112720181123
342? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
342? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018112720181123
342? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018112720181123
342? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018112720181123
342? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
342? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2018112720181123
344? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018112720181123
344? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018112720181123
344? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018112720181123
346? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018112720181123
348? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2018112720181123
350? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018112720181123
350? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018112720181123
350? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
350? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018112720181123
350? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
352? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018112720181123
370? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018112720181123
402? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
402? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2018112720181123
402? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
404? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2018112720181123
1422? ? ?? ? ?refcc2018112720181123
1448? ? ?? ? ?refgcc2018112720181123
1456? ? ?? ? ?refgcc_-funroll-loops2018112720181123

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: 0x1998ff0: v4i64 = X86ISD::VTRUNC 0x1998e20
try.c: 0x1998e20: v16i32 = vselect 0x1987530, 0x192b0f0, 0x1998cf0
try.c: 0x1987530: v4i1 = X86ISD::PCMPGTM 0x1984500, 0x1926fc0
try.c: 0x1984500: v4i64 = X86ISD::VBROADCAST 0x1927350
try.c: 0x1927350: i64,ch = load<LD8[%uglygep72]> 0x187ddd0, 0x1940540, undef:i64
try.c: 0x1940540: i64 = add 0x19853e0, 0x19167f0
try.c: 0x19853e0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1934cb0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x19167f0: i64 = shl 0x1934460, Constant:i8<3>
try.c: 0x1934460: i64,ch = CopyFromReg 0x187ddd0, Register:i64 %vreg50
try.c: 0x19858a0: i64 = Register %vreg50
try.c: 0x1917df0: i8 = Constant<3>
try.c: 0x1982b70: i64 = undef
try.c: 0x1926fc0: v4i64,ch = CopyFromReg 0x187ddd0, Register:v4i64 %vreg13
try.c: 0x193e480: v4i64 = Register %vreg13
try.c: 0x192b0f0: v16i32 = X86ISD::VBROADCAST 0x19346c0
try.c: 0x19346c0: i32,ch = load<LD4[ConstantPool]> 0x187ddd0, 0x1998960, undef:i64
try.c: 0x1998960: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x193bfa0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1982b70: i64 = undef
try.c: 0x1998cf0: 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: 0x1998bc0: i32 = Constant<0>
try.c: 0x1998bc0: i32 = Constant<0>
try.c: 0x1998bc0: i32 = Constant<0>
try.c: 0x1998bc0: 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: 0x250bfe0: v4i64 = X86ISD::VTRUNC 0x250be10
try.c: 0x250be10: v16i32 = vselect 0x25129a0, 0x246da40, 0x250bce0
try.c: 0x25129a0: v4i1 = X86ISD::PCMPGTM 0x24f68e0, 0x246e7f0
try.c: 0x24f68e0: v4i64 = X86ISD::VBROADCAST 0x246eb80
try.c: 0x246eb80: i64,ch = load<LD8[%uglygep72]> 0x23f0dd0, 0x24f0830, undef:i64
try.c: 0x24f0830: i64 = add 0x24f77c0, 0x2472310
try.c: 0x24f77c0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x24ea7d0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x2472310: i64 = shl 0x24e9f80, Constant:i8<3>
try.c: 0x24e9f80: i64,ch = CopyFromReg 0x23f0dd0, Register:i64 %vreg50
try.c: 0x24f7c80: i64 = Register %vreg50
try.c: 0x2497500: i8 = Constant<3>
try.c: 0x24f4f50: i64 = undef
try.c: 0x246e7f0: v4i64,ch = CopyFromReg 0x23f0dd0, Register:v4i64 %vreg13
try.c: 0x24a2020: v4i64 = Register %vreg13
try.c: 0x246da40: v16i32 = X86ISD::VBROADCAST 0x24ea1e0
try.c: 0x24ea1e0: i32,ch = load<LD4[ConstantPool]> 0x23f0dd0, 0x250b950, undef:i64
try.c: 0x250b950: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x248ceb0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x24f4f50: i64 = undef
try.c: 0x250bce0: 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: 0x250bbb0: i32 = Constant<0>
try.c: 0x250bbb0: i32 = Constant<0>
try.c: 0x250bbb0: i32 = Constant<0>
try.c: 0x250bbb0: 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