Implementation notes: amd64, oki, crypto_sort/uint32

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_sort
Primitive: uint32
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
5368? ? ?? ? ?useint32clang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
5378? ? ?? ? ?useint32gcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018112720181123
5382? ? ?? ? ?useint32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018112720181123
5404? ? ?? ? ?useint32clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2018112720181123
5448? ? ?? ? ?useint32clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2018112720181123
5526? ? ?? ? ?useint32clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
5622? ? ?? ? ?useint32clang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
5636? ? ?? ? ?useint32gcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018112720181123
5642? ? ?? ? ?useint32clang_-O3_-fomit-frame-pointer_-Qunused-arguments2018112720181123
5648? ? ?? ? ?useint32clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
5660? ? ?? ? ?useint32gcc_-funroll-loops_-O3_-fomit-frame-pointer2018112720181123
5678? ? ?? ? ?useint32gcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018112720181123
5684? ? ?? ? ?useint32clang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
5692? ? ?? ? ?useint32gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112720181123
5700? ? ?? ? ?useint32gcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018112720181123
5710? ? ?? ? ?useint32gcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
5712? ? ?? ? ?useint32gcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018112720181123
5716? ? ?? ? ?useint32gcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
5718? ? ?? ? ?useint32gcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
5732? ? ?? ? ?useint32gcc_-march=k8_-O3_-fomit-frame-pointer2018112720181123
5804? ? ?? ? ?useint32gcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018112720181123
5810? ? ?? ? ?useint32gcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018112720181123
5814? ? ?? ? ?useint32gcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
5820? ? ?? ? ?useint32gcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
5828? ? ?? ? ?useint32gcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018112720181123
5854? ? ?? ? ?useint32gcc_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
5900? ? ?? ? ?useint32gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112720181123
5936? ? ?? ? ?useint32gcc_-m64_-O3_-fomit-frame-pointer2018112720181123
5952? ? ?? ? ?useint32gcc_-O3_-fomit-frame-pointer2018112720181123
5952? ? ?? ? ?useint32gcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018112720181123
5970? ? ?? ? ?useint32gcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018112720181123
5982? ? ?? ? ?useint32gcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018112720181123
6036? ? ?? ? ?useint32gcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018112720181123
6126? ? ?? ? ?useint32gcc_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
6222? ? ?? ? ?useint32gcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
6824? ? ?? ? ?useint32gcc_-funroll-loops_-O2_-fomit-frame-pointer2018112720181123
6824? ? ?? ? ?useint32gcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018112720181123
6854? ? ?? ? ?useint32gcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018112720181123
6858? ? ?? ? ?useint32gcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
6874? ? ?? ? ?useint32gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018112720181123
6896? ? ?? ? ?useint32gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112720181123
6902? ? ?? ? ?useint32gcc_-funroll-loops_-O_-fomit-frame-pointer2018112720181123
6906? ? ?? ? ?useint32gcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018112720181123
6922? ? ?? ? ?useint32gcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
6938? ? ?? ? ?useint32gcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018112720181123
7042? ? ?? ? ?useint32gcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
7050? ? ?? ? ?useint32gcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018112720181123
7084? ? ?? ? ?useint32gcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018112720181123
7130? ? ?? ? ?useint32gcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
7222? ? ?? ? ?useint32gcc_-m64_-O_-fomit-frame-pointer2018112720181123
7228? ? ?? ? ?useint32gcc_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
7240? ? ?? ? ?useint32gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018112720181123
7250? ? ?? ? ?useint32gcc_-O_-fomit-frame-pointer2018112720181123
7260? ? ?? ? ?useint32gcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018112720181123
7280? ? ?? ? ?useint32gcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018112720181123
7290? ? ?? ? ?useint32gcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
7312? ? ?? ? ?useint32gcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018112720181123
7336? ? ?? ? ?useint32gcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
7350? ? ?? ? ?useint32gcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
7738? ? ?? ? ?useint32gcc_-march=k8_-O_-fomit-frame-pointer2018112720181123
7756? ? ?? ? ?useint32gcc_-m64_-march=k8_-O_-fomit-frame-pointer2018112720181123
7770? ? ?? ? ?useint32gcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018112720181123
7790? ? ?? ? ?useint32gcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018112720181123
7790? ? ?? ? ?useint32gcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018112720181123
7802? ? ?? ? ?useint32gcc_-march=nocona_-O_-fomit-frame-pointer2018112720181123
7804? ? ?? ? ?useint32gcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018112720181123
7804? ? ?? ? ?useint32gcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018112720181123
7806? ? ?? ? ?useint32gcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
7816? ? ?? ? ?useint32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018112720181123
7816? ? ?? ? ?useint32gcc_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
7826? ? ?? ? ?useint32gcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018112720181123
7836? ? ?? ? ?useint32gcc_-m64_-march=core2_-O_-fomit-frame-pointer2018112720181123
7846? ? ?? ? ?useint32gcc_-march=k8_-O2_-fomit-frame-pointer2018112720181123
7858? ? ?? ? ?useint32gcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018112720181123
7898? ? ?? ? ?useint32gcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018112720181123
8260? ? ?? ? ?useint32gcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018112720181123
8262? ? ?? ? ?useint32gcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
8266? ? ?? ? ?useint32gcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018112720181123
8276? ? ?? ? ?useint32gcc_-funroll-loops_-Os_-fomit-frame-pointer2018112720181123
8282? ? ?? ? ?useint32gcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018112720181123
8282? ? ?? ? ?useint32gcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
8284? ? ?? ? ?useint32gcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
8288? ? ?? ? ?useint32gcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
8296? ? ?? ? ?useint32gcc_-Os_-fomit-frame-pointer2018112720181123
8308? ? ?? ? ?useint32gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112720181123
8312? ? ?? ? ?useint32gcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018112720181123
8312? ? ?? ? ?useint32gcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018112720181123
8318? ? ?? ? ?useint32gcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018112720181123
8320? ? ?? ? ?useint32gcc_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
8324? ? ?? ? ?useint32gcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018112720181123
8326? ? ?? ? ?useint32gcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018112720181123
8326? ? ?? ? ?useint32gcc_-m64_-Os_-fomit-frame-pointer2018112720181123
8330? ? ?? ? ?useint32gcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018112720181123
8342? ? ?? ? ?useint32gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112720181123
8342? ? ?? ? ?useint32gcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018112720181123
8344? ? ?? ? ?useint32gcc_-m64_-O2_-fomit-frame-pointer2018112720181123
8346? ? ?? ? ?useint32gcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018112720181123
8346? ? ?? ? ?useint32gcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018112720181123
8348? ? ?? ? ?useint32gcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018112720181123
8352? ? ?? ? ?useint32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018112720181123
8358? ? ?? ? ?useint32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018112720181123
8364? ? ?? ? ?useint32gcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018112720181123
8366? ? ?? ? ?useint32gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112720181123
8366? ? ?? ? ?useint32gcc_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
8368? ? ?? ? ?useint32gcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
8370? ? ?? ? ?useint32gcc_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
8372? ? ?? ? ?useint32gcc_-O2_-fomit-frame-pointer2018112720181123
8376? ? ?? ? ?useint32gcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
8382? ? ?? ? ?useint32gcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018112720181123
8382? ? ?? ? ?useint32gcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018112720181123
8382? ? ?? ? ?useint32gcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018112720181123
8386? ? ?? ? ?useint32gcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018112720181123
8404? ? ?? ? ?useint32gcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018112720181123
8418? ? ?? ? ?useint32gcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
8418? ? ?? ? ?useint32gcc_-march=k8_-Os_-fomit-frame-pointer2018112720181123
8470? ? ?? ? ?useint32gcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018112720181123
14612? ? ?? ? ?useint32cc2018112720181123
16970? ? ?? ? ?useint32gcc_-funroll-loops2018112720181123
17132? ? ?? ? ?useint32gcc2018112720181123

Compiler output

Implementation: useint32
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x135b660: v4i64 = X86ISD::VTRUNC 0x135b490
try.c: 0x135b490: v16i32 = vselect 0x134c400, 0x13081c0, 0x135b360
try.c: 0x134c400: v4i1 = X86ISD::PCMPGTM 0x13453f0, 0x1308f70
try.c: 0x13453f0: v4i64 = X86ISD::VBROADCAST 0x1309300
try.c: 0x1309300: i64,ch = load<LD8[%uglygep72]> 0x123fdd0, 0x12fbd30, undef:i64
try.c: 0x12fbd30: i64 = add 0x13462d0, 0x12dfd90
try.c: 0x13462d0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x132c6f0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x12dfd90: i64 = shl 0x132bea0, Constant:i8<3>
try.c: 0x132bea0: i64,ch = CopyFromReg 0x123fdd0, Register:i64 %vreg50
try.c: 0x1346790: i64 = Register %vreg50
try.c: 0x12c18d0: i8 = Constant<3>
try.c: 0x1343250: i64 = undef
try.c: 0x1308f70: v4i64,ch = CopyFromReg 0x123fdd0, Register:v4i64 %vreg13
try.c: 0x1302f90: v4i64 = Register %vreg13
try.c: 0x13081c0: v16i32 = X86ISD::VBROADCAST 0x132c100
try.c: 0x132c100: i32,ch = load<LD4[ConstantPool]> 0x123fdd0, 0x135afd0, undef:i64
try.c: 0x135afd0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x12dd660: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1343250: i64 = undef
try.c: 0x135b360: 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: 0x135b230: i32 = Constant<0>
try.c: 0x135b230: i32 = Constant<0>
try.c: 0x135b230: i32 = Constant<0>
try.c: 0x135b230: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: useint32
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x226aa70: v4i64 = X86ISD::VTRUNC 0x226a8a0
try.c: 0x226a8a0: v16i32 = vselect 0x22684f0, 0x21fd3b0, 0x226a770
try.c: 0x22684f0: v4i1 = X86ISD::PCMPGTM 0x2253b60, 0x21eee20
try.c: 0x2253b60: v4i64 = X86ISD::VBROADCAST 0x21ef1b0
try.c: 0x21ef1b0: i64,ch = load<LD8[%uglygep72]> 0x214fdb0, 0x22102c0, undef:i64
try.c: 0x22102c0: i64 = add 0x2254a40, 0x21f9720
try.c: 0x2254a40: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x2244650: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x21f9720: i64 = shl 0x2243e00, Constant:i8<3>
try.c: 0x2243e00: i64,ch = CopyFromReg 0x214fdb0, Register:i64 %vreg50
try.c: 0x2254f00: i64 = Register %vreg50
try.c: 0x21ed500: i8 = Constant<3>
try.c: 0x22519c0: i64 = undef
try.c: 0x21eee20: v4i64,ch = CopyFromReg 0x214fdb0, Register:v4i64 %vreg13
try.c: 0x2206e60: v4i64 = Register %vreg13
try.c: 0x21fd3b0: v16i32 = X86ISD::VBROADCAST 0x2244060
try.c: 0x2244060: i32,ch = load<LD4[ConstantPool]> 0x214fdb0, 0x226a3e0, undef:i64
try.c: 0x226a3e0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x2204980: i64 = TargetConstantPool<i32 1> 0
try.c: 0x22519c0: i64 = undef
try.c: 0x226a770: 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: 0x226a640: i32 = Constant<0>
try.c: 0x226a640: i32 = Constant<0>
try.c: 0x226a640: i32 = Constant<0>
try.c: 0x226a640: i32 = Constant<0>
try.c: ...

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