Implementation notes: amd64, oki, crypto_sign/ntrumls593x

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_sign
Primitive: ntrumls593x
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1409670? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011420181123
1430628? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011420181123
1613138? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011420181123
1614684? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011420181123
1623814? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011420181123
1793592? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011420181123
1795468? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011420181123
1994958? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
1999242? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
2071624? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011420181123
2075804? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019011420181123
2078036? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011420181123
2105126? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011420181123
2110830? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011420181123
2111290? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011420181123
2111310? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011420181123
2111684? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011420181123
2120224? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011420181123
2122650? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019011420181123
2124100? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011420181123
2126852? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019011420181123
2128154? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019011420181123
2129542? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011420181123
2131150? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011420181123
2136610? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011420181123
2245318? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011420181123
2254740? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011420181123
2259732? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
2261660? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
2266052? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
2270670? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
2295714? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
2297572? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
2332894? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011420181123
2333804? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011420181123
2338082? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011420181123
2352160? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011420181123
2359960? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011420181123
2365434? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011420181123
2367104? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019011420181123
2373348? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011420181123
2477544? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
2485348? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
2497396? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011420181123
2506324? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011420181123
2508898? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011420181123
2514172? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011420181123
2518912? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011420181123
2522022? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011420181123
2536008? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019011420181123
2538022? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011420181123
2545492? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011420181123
2545750? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011420181123
2546114? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011420181123
2546790? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011420181123
2549192? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011420181123
2550620? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019011420181123
2571134? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011420181123
2582266? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011420181123
2582914? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019011420181123
2582954? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011420181123
2585828? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
2586140? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011420181123
2587354? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011420181123
2588888? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
2591054? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011420181123
2591578? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
2591964? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011420181123
2594030? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
2594330? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011420181123
2594630? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019011420181123
2596118? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011420181123
2596702? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011420181123
2596758? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011420181123
2597092? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019011420181123
2597254? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
2598248? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011420181123
2598966? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
2599280? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019011420181123
2600326? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011420181123
2603854? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011420181123
2604586? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019011420181123
2607900? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011420181123
2611366? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011420181123
2613538? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011420181123
2641802? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019011420181123
2643628? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
2645142? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
2665330? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011420181123
2665842? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019011420181123
2708938? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
2715502? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
2728856? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
2734032? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
2860414? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
2862084? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
2870880? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011420181123
2902046? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011420181123
2902312? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011420181123
3461992? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011420181123
3462872? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011420181123
3464052? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011420181123
3465736? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011420181123
3694694? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011420181123
3709838? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011420181123
3713388? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011420181123
3717926? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019011420181123
3718294? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019011420181123
3727438? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019011420181123
3752448? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011420181123
3774416? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011420181123
3775974? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
3776872? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
3785866? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011420181123
3818276? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
3819662? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
9082210? ? ?? ? ?refcc2019011420181123
9109476? ? ?? ? ?refgcc2019011420181123
9146672? ? ?? ? ?refgcc_-funroll-loops2019011420181123

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: 0x245b4c0: v4i64 = X86ISD::VTRUNC 0x245b2f0
try.c: 0x245b2f0: v16i32 = vselect 0x24368a0, 0x23da170, 0x245b1c0
try.c: 0x24368a0: v4i1 = X86ISD::PCMPGTM 0x243f0b0, 0x23eb220
try.c: 0x243f0b0: v4i64 = X86ISD::VBROADCAST 0x23eb5b0
try.c: 0x23eb5b0: i64,ch = load<LD8[%uglygep72]> 0x2339dd0, 0x23e3c10, undef:i64
try.c: 0x23e3c10: i64 = add 0x243ff90, 0x23df7d0
try.c: 0x243ff90: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x2429d10: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x23df7d0: i64 = shl 0x24294c0, Constant:i8<3>
try.c: 0x24294c0: i64,ch = CopyFromReg 0x2339dd0, Register:i64 %vreg50
try.c: 0x2440450: i64 = Register %vreg50
try.c: 0x23d7b60: i8 = Constant<3>
try.c: 0x243d720: i64 = undef
try.c: 0x23eb220: v4i64,ch = CopyFromReg 0x2339dd0, Register:v4i64 %vreg13
try.c: 0x23d4500: v4i64 = Register %vreg13
try.c: 0x23da170: v16i32 = X86ISD::VBROADCAST 0x2429720
try.c: 0x2429720: i32,ch = load<LD4[ConstantPool]> 0x2339dd0, 0x245ae30, undef:i64
try.c: 0x245ae30: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x23ecfe0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x243d720: i64 = undef
try.c: 0x245b1c0: 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: 0x245b090: i32 = Constant<0>
try.c: 0x245b090: i32 = Constant<0>
try.c: 0x245b090: i32 = Constant<0>
try.c: 0x245b090: 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: 0x149fb20: v4i64 = X86ISD::VTRUNC 0x149f950
try.c: 0x149f950: v16i32 = vselect 0x14a81d0, 0x1423b60, 0x149f820
try.c: 0x14a81d0: v4i1 = X86ISD::PCMPGTM 0x1488c20, 0x141ece0
try.c: 0x1488c20: v4i64 = X86ISD::VBROADCAST 0x141f070
try.c: 0x141f070: i64,ch = load<LD8[%uglygep72]> 0x1383db0, 0x143f440, undef:i64
try.c: 0x143f440: i64 = add 0x1489b00, 0x14292e0
try.c: 0x1489b00: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1443740: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x14292e0: i64 = shl 0x1442ef0, Constant:i8<3>
try.c: 0x1442ef0: i64,ch = CopyFromReg 0x1383db0, Register:i64 %vreg50
try.c: 0x1489fc0: i64 = Register %vreg50
try.c: 0x1406920: i8 = Constant<3>
try.c: 0x1487290: i64 = undef
try.c: 0x141ece0: v4i64,ch = CopyFromReg 0x1383db0, Register:v4i64 %vreg13
try.c: 0x1437170: v4i64 = Register %vreg13
try.c: 0x1423b60: v16i32 = X86ISD::VBROADCAST 0x1443150
try.c: 0x1443150: i32,ch = load<LD4[ConstantPool]> 0x1383db0, 0x149f490, undef:i64
try.c: 0x149f490: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1434480: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1487290: i64 = undef
try.c: 0x149f820: 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: 0x149f6f0: i32 = Constant<0>
try.c: 0x149f6f0: i32 = Constant<0>
try.c: 0x149f6f0: i32 = Constant<0>
try.c: 0x149f6f0: 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