Implementation notes: amd64, oki, crypto_stream/xsalsa20

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_stream
Primitive: xsalsa20
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1902? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011020181123
1902? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
1904? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
1906? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011020181123
1906? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019011020181123
1906? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019011020181123
1906? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019011020181123
1908? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019011020181123
1908? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011020181123
1908? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019011020181123
1908? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011020181123
1908? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011020181123
1908? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011020181123
1908? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011020181123
1908? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
1908? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011020181123
1908? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011020181123
1908? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011020181123
1908? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011020181123
1908? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011020181123
1908? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011020181123
1908? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011020181123
1910? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011020181123
1910? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011020181123
1910? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011020181123
1910? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011020181123
1910? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011020181123
1910? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011020181123
1910? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
1910? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011020181123
1910? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
1910? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011020181123
1910? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011020181123
1910? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011020181123
1910? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011020181123
1910? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019011020181123
1910? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019011020181123
1912? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011020181123
1912? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011020181123
1912? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011020181123
1912? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019011020181123
1912? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011020181123
1912? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011020181123
1912? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
1912? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
1912? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011020181123
1912? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011020181123
1912? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011020181123
1912? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011020181123
1912? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011020181123
1912? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011020181123
1912? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011020181123
1912? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
1912? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019011020181123
1912? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019011020181123
1912? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011020181123
1914? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019011020181123
1914? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019011020181123
1914? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011020181123
1914? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011020181123
1914? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019011020181123
1914? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011020181123
1914? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011020181123
1914? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
1914? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
1914? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
1914? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011020181123
1914? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011020181123
1914? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011020181123
1914? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011020181123
1914? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011020181123
1914? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011020181123
1914? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
1914? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
1914? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019011020181123
1914? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011020181123
1914? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011020181123
1914? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
1916? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019011020181123
1916? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011020181123
1916? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011020181123
1916? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
1916? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
1916? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
1916? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011020181123
1916? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
1916? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
1916? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011020181123
1916? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011020181123
1916? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011020181123
1916? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
1916? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
1918? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011020181123
1918? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
1918? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
1918? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011020181123
1918? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
1918? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011020181123
1918? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
1918? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011020181123
1918? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011020181123
1918? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011020181123
1918? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011020181123
1920? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019011020181123
1920? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011020181123
1920? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019011020181123
1920? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011020181123
1920? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011020181123
1920? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
1922? ? ?? ? ?refcc2019011020181123
1922? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011020181123
1922? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011020181123
1922? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011020181123
1922? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011020181123
1926? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
1934? ? ?? ? ?refgcc2019011020181123
1948? ? ?? ? ?refgcc_-funroll-loops2019011020181123
2058? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
2068? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011020181123

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: 0xc2abd0: v4i64 = X86ISD::VTRUNC 0xc2aa00
try.c: 0xc2aa00: v16i32 = vselect 0xc21610, 0xbae8e0, 0xc2a8d0
try.c: 0xc21610: v4i1 = X86ISD::PCMPGTM 0xc144c0, 0xbaa700
try.c: 0xc144c0: v4i64 = X86ISD::VBROADCAST 0xbaaa90
try.c: 0xbaaa90: i64,ch = load<LD8[%uglygep72]> 0xb0edd0, 0xb968f0, undef:i64
try.c: 0xb968f0: i64 = add 0xc153a0, 0xbd04c0
try.c: 0xc153a0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0xc09da0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0xbd04c0: i64 = shl 0xc09550, Constant:i8<3>
try.c: 0xc09550: i64,ch = CopyFromReg 0xb0edd0, Register:i64 %vreg50
try.c: 0xc15860: i64 = Register %vreg50
try.c: 0xbb4600: i8 = Constant<3>
try.c: 0xc12b30: i64 = undef
try.c: 0xbaa700: v4i64,ch = CopyFromReg 0xb0edd0, Register:v4i64 %vreg13
try.c: 0xbd5ba0: v4i64 = Register %vreg13
try.c: 0xbae8e0: v16i32 = X86ISD::VBROADCAST 0xc097b0
try.c: 0xc097b0: i32,ch = load<LD4[ConstantPool]> 0xb0edd0, 0xc2a540, undef:i64
try.c: 0xc2a540: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0xbd36c0: i64 = TargetConstantPool<i32 1> 0
try.c: 0xc12b30: i64 = undef
try.c: 0xc2a8d0: 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: 0xc2a7a0: i32 = Constant<0>
try.c: 0xc2a7a0: i32 = Constant<0>
try.c: 0xc2a7a0: i32 = Constant<0>
try.c: 0xc2a7a0: 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: 0x19070d0: v4i64 = X86ISD::VTRUNC 0x1906f00
try.c: 0x1906f00: v16i32 = vselect 0x19112b0, 0x18a37a0, 0x1906dd0
try.c: 0x19112b0: v4i1 = X86ISD::PCMPGTM 0x18f29e0, 0x18a4550
try.c: 0x18f29e0: v4i64 = X86ISD::VBROADCAST 0x18a48e0
try.c: 0x18a48e0: i64,ch = load<LD8[%uglygep72]> 0x17ecda0, 0x18ed960, undef:i64
try.c: 0x18ed960: i64 = add 0x18f38c0, 0x1883e00
try.c: 0x18f38c0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x18b6670: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1883e00: i64 = shl 0x18b5e20, Constant:i8<3>
try.c: 0x18b5e20: i64,ch = CopyFromReg 0x17ecda0, Register:i64 %vreg50
try.c: 0x18f3d80: i64 = Register %vreg50
try.c: 0x18ae3b0: i8 = Constant<3>
try.c: 0x18f1050: i64 = undef
try.c: 0x18a4550: v4i64,ch = CopyFromReg 0x17ecda0, Register:v4i64 %vreg13
try.c: 0x188c160: v4i64 = Register %vreg13
try.c: 0x18a37a0: v16i32 = X86ISD::VBROADCAST 0x18b6080
try.c: 0x18b6080: i32,ch = load<LD4[ConstantPool]> 0x17ecda0, 0x1906a40, undef:i64
try.c: 0x1906a40: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x18a0ae0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x18f1050: i64 = undef
try.c: 0x1906dd0: 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: 0x1906ca0: i32 = Constant<0>
try.c: 0x1906ca0: i32 = Constant<0>
try.c: 0x1906ca0: i32 = Constant<0>
try.c: 0x1906ca0: 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