Implementation notes: amd64, oki, crypto_core/salsa20

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_core
Primitive: salsa20
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
444? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018112720181123
444? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018112720181123
446? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112720181123
446? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018112720181123
446? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018112720181123
446? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018112720181123
446? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018112720181123
448? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2018112720181123
448? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2018112720181123
448? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112720181123
448? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
448? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2018112720181123
448? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
448? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
448? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018112720181123
448? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018112720181123
448? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018112720181123
448? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018112720181123
448? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018112720181123
448? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018112720181123
448? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018112720181123
448? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018112720181123
448? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018112720181123
448? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
448? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2018112720181123
448? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2018112720181123
450? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
450? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018112720181123
450? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018112720181123
450? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2018112720181123
450? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018112720181123
450? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018112720181123
450? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018112720181123
452? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2018112720181123
452? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2018112720181123
452? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112720181123
452? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112720181123
452? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018112720181123
452? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018112720181123
452? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018112720181123
452? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
452? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
452? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018112720181123
452? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
452? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
454? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
454? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
456? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018112720181123
456? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
456? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
456? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018112720181123
458? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
458? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
464? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
476? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
482? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2018112720181123
482? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
482? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
548? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
556? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018112720181123
556? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018112720181123
558? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112720181123
558? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
558? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018112720181123
558? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018112720181123
560? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2018112720181123
562? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2018112720181123
562? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018112720181123
562? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018112720181123
562? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
564? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112720181123
564? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
564? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018112720181123
564? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
566? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018112720181123
566? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018112720181123
566? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018112720181123
566? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018112720181123
568? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
568? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018112720181123
568? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018112720181123
568? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018112720181123
568? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018112720181123
568? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018112720181123
568? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018112720181123
568? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
570? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2018112720181123
570? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
570? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2018112720181123
570? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018112720181123
570? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018112720181123
570? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2018112720181123
570? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2018112720181123
572? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018112720181123
572? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
572? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018112720181123
574? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018112720181123
574? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018112720181123
574? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018112720181123
576? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
576? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2018112720181123
580? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018112720181123
580? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018112720181123
582? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018112720181123
582? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018112720181123
582? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
584? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2018112720181123
584? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018112720181123
584? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018112720181123
586? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
590? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2018112720181123
592? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018112720181123
834? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
834? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2018112720181123
834? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
836? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2018112720181123
2808? ? ?? ? ?refcc2018112720181123
2868? ? ?? ? ?refgcc_-funroll-loops2018112720181123
2888? ? ?? ? ?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: 0x1471c00: v4i64 = X86ISD::VTRUNC 0x1471a30
try.c: 0x1471a30: v16i32 = vselect 0x1479940, 0x140bd20, 0x1471900
try.c: 0x1479940: v4i1 = X86ISD::PCMPGTM 0x145bd00, 0x140cad0
try.c: 0x145bd00: v4i64 = X86ISD::VBROADCAST 0x140ce60
try.c: 0x140ce60: i64,ch = load<LD8[%uglygep72]> 0x1356de0, 0x1441e90, undef:i64
try.c: 0x1441e90: i64 = add 0x145cbe0, 0x13f5910
try.c: 0x145cbe0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x14460d0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x13f5910: i64 = shl 0x1445880, Constant:i8<3>
try.c: 0x1445880: i64,ch = CopyFromReg 0x1356de0, Register:i64 %vreg50
try.c: 0x145d0a0: i64 = Register %vreg50
try.c: 0x13f6f10: i8 = Constant<3>
try.c: 0x145a370: i64 = undef
try.c: 0x140cad0: v4i64,ch = CopyFromReg 0x1356de0, Register:v4i64 %vreg13
try.c: 0x141f230: v4i64 = Register %vreg13
try.c: 0x140bd20: v16i32 = X86ISD::VBROADCAST 0x1445ae0
try.c: 0x1445ae0: i32,ch = load<LD4[ConstantPool]> 0x1356de0, 0x1471570, undef:i64
try.c: 0x1471570: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x141c540: i64 = TargetConstantPool<i32 1> 0
try.c: 0x145a370: i64 = undef
try.c: 0x1471900: 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: 0x14717d0: i32 = Constant<0>
try.c: 0x14717d0: i32 = Constant<0>
try.c: 0x14717d0: i32 = Constant<0>
try.c: 0x14717d0: 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: 0xe0b130: v4i64 = X86ISD::VTRUNC 0xe0af60
try.c: 0xe0af60: v16i32 = vselect 0xdfaa40, 0xd8c800, 0xe0ae30
try.c: 0xdfaa40: v4i1 = X86ISD::PCMPGTM 0xdf2a10, 0xd8d5b0
try.c: 0xdf2a10: v4i64 = X86ISD::VBROADCAST 0xd8d940
try.c: 0xd8d940: i64,ch = load<LD8[%uglygep72]> 0xcecda0, 0xdad5b0, undef:i64
try.c: 0xdad5b0: i64 = add 0xdf38f0, 0xd82160
try.c: 0xdf38f0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0xde3c30: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0xd82160: i64 = shl 0xde33e0, Constant:i8<3>
try.c: 0xde33e0: i64,ch = CopyFromReg 0xcecda0, Register:i64 %vreg50
try.c: 0xdf3db0: i64 = Register %vreg50
try.c: 0xd9fc20: i8 = Constant<3>
try.c: 0xdf1080: i64 = undef
try.c: 0xd8d5b0: v4i64,ch = CopyFromReg 0xcecda0, Register:v4i64 %vreg13
try.c: 0xdb1ba0: v4i64 = Register %vreg13
try.c: 0xd8c800: v16i32 = X86ISD::VBROADCAST 0xde3640
try.c: 0xde3640: i32,ch = load<LD4[ConstantPool]> 0xcecda0, 0xe0aaa0, undef:i64
try.c: 0xe0aaa0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0xd87ef0: i64 = TargetConstantPool<i32 1> 0
try.c: 0xdf1080: i64 = undef
try.c: 0xe0ae30: 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: 0xe0ad00: i32 = Constant<0>
try.c: 0xe0ad00: i32 = Constant<0>
try.c: 0xe0ad00: i32 = Constant<0>
try.c: 0xe0ad00: 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