Implementation notes: amd64, bolero, crypto_dh/nistp256

Computer: bolero
Architecture: amd64
CPU ID: GenuineIntel-000406f1-bfebfbff
SUPERCOP version: 20190110
Operation: crypto_dh
Primitive: nistp256
TimeImplementationCompilerBenchmark dateSUPERCOP version
1887104wblclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018082120180818
1898096wblclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018082120180818
1929400wblclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2018082120180818
1935664wblclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018082120180818
1940288wblclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018082120180818
1940964wblclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018082120180818
1949116wblclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018082120180818
1949460wblclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018082120180818
1952152wblclang -O3 -fomit-frame-pointer -Qunused-arguments2018082120180818
1952972wblclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018082120180818
2219900wblgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018082120180818
2223336wblgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018082120180818
2238836wblgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018082120180818
2267880wblgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018082120180818
2271516wblgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018082120180818
2274772wblgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018082120180818
2276296wblgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018082120180818
2276488wblgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018082120180818
2278052wblgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018082120180818
2393688wblgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018082120180818
2394044wblgcc -funroll-loops -O3 -fomit-frame-pointer2018082120180818
2398312wblgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018082120180818
2401764wblgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018082120180818
2416248wblgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018082120180818
2433368wblgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018082120180818
2439024wblgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018082120180818
2463720wblgcc -m64 -O3 -fomit-frame-pointer2018082120180818
2488724wblgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018082120180818
2498188wblgcc -O3 -fomit-frame-pointer2018082120180818
2500384wblgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018082120180818
2503516wblgcc -march=k8 -O3 -fomit-frame-pointer2018082120180818
2513568wblgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018082120180818
2523532wblgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018082120180818
2529972wblgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018082120180818
2534428wblgcc -march=barcelona -O3 -fomit-frame-pointer2018082120180818
2541616wblgcc -march=nocona -O3 -fomit-frame-pointer2018082120180818
2552500wblgcc -funroll-loops -O2 -fomit-frame-pointer2018082120180818
2552664wblgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018082120180818
2553648wblgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018082120180818
2554896wblgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018082120180818
2563320wblgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018082120180818
2569544refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018082120180818
2570648refgcc -funroll-loops -m64 -O -fomit-frame-pointer2018082120180818
2570872refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018082120180818
2570948refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018082120180818
2571196refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018082120180818
2571272refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018082120180818
2571332refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018082120180818
2571584refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018082120180818
2571616refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018082120180818
2571992refgcc -march=barcelona -O -fomit-frame-pointer2018082120180818
2572308refgcc -Os -fomit-frame-pointer2018082120180818
2572456refgcc -m64 -march=core2 -Os -fomit-frame-pointer2018082120180818
2572564refgcc -m64 -Os -fomit-frame-pointer2018082120180818
2573136refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018082120180818
2573192refgcc -m64 -march=k8 -Os -fomit-frame-pointer2018082120180818
2573212refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018082120180818
2573280refgcc2018082120180818
2573312refgcc -m64 -march=nocona -Os -fomit-frame-pointer2018082120180818
2573436refgcc -m64 -O3 -fomit-frame-pointer2018082120180818
2573668wblgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018082120180818
2573808refgcc -funroll-loops -O -fomit-frame-pointer2018082120180818
2573820refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018082120180818
2574740refgcc -O -fomit-frame-pointer2018082120180818
2575280refgcc -march=k8 -O -fomit-frame-pointer2018082120180818
2575388refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018082120180818
2575968refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018082120180818
2576096refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018082120180818
2576636refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018082120180818
2577416refgcc -fno-schedule-insns -O -fomit-frame-pointer2018082120180818
2578300refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018082120180818
2579408refcc2018082120180818
2579596refclang -O3 -fomit-frame-pointer -Qunused-arguments2018082120180818
2579716refgcc -m64 -march=k8 -O -fomit-frame-pointer2018082120180818
2580056refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018082120180818
2580076refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018082120180818
2580404refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018082120180818
2580464refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018082120180818
2580764refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018082120180818
2580924refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018082120180818
2581392refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2018082120180818
2581400refgcc -O3 -fomit-frame-pointer2018082120180818
2581404refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018082120180818
2581540refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018082120180818
2581580refgcc -m64 -O2 -fomit-frame-pointer2018082120180818
2581752refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018082120180818
2581812refgcc -march=nocona -Os -fomit-frame-pointer2018082120180818
2582148refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018082120180818
2582176refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018082120180818
2582280refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018082120180818
2582396refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018082120180818
2582400refgcc -march=barcelona -O3 -fomit-frame-pointer2018082120180818
2582568refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018082120180818
2582688refgcc -funroll-loops -O3 -fomit-frame-pointer2018082120180818
2583984refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018082120180818
2584076refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018082120180818
2584076refgcc -m64 -march=corei7 -O -fomit-frame-pointer2018082120180818
2584116refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018082120180818
2584180refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018082120180818
2584284refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018082120180818
2584852refgcc -m64 -march=nocona -O -fomit-frame-pointer2018082120180818
2584960refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018082120180818
2585140refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018082120180818
2585264refgcc -march=nocona -O -fomit-frame-pointer2018082120180818
2585396refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018082120180818
2585576refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018082120180818
2585664refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018082120180818
2585756refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018082120180818
2585756refgcc -march=barcelona -Os -fomit-frame-pointer2018082120180818
2585820refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018082120180818
2585892refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018082120180818
2586156refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018082120180818
2586320refgcc -m64 -O -fomit-frame-pointer2018082120180818
2586924refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018082120180818
2587056wblgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018082120180818
2587128refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018082120180818
2587740refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018082120180818
2587996refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018082120180818
2588216refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018082120180818
2589700refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018082120180818
2589896refgcc -m64 -march=core2 -O -fomit-frame-pointer2018082120180818
2591200refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018082120180818
2591916refgcc -march=barcelona -O2 -fomit-frame-pointer2018082120180818
2592196refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018082120180818
2593044refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018082120180818
2593464refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018082120180818
2594520refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018082120180818
2595492refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018082120180818
2595704refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018082120180818
2596352refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018082120180818
2596496refgcc -O2 -fomit-frame-pointer2018082120180818
2597328refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018082120180818
2597372refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018082120180818
2597792refgcc -funroll-loops2018082120180818
2599200refgcc -march=nocona -O3 -fomit-frame-pointer2018082120180818
2600076refgcc -funroll-loops -O2 -fomit-frame-pointer2018082120180818
2600344refgcc -fno-schedule-insns -Os -fomit-frame-pointer2018082120180818
2602348refgcc -march=k8 -Os -fomit-frame-pointer2018082120180818
2603144refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018082120180818
2604396refgcc -march=k8 -O3 -fomit-frame-pointer2018082120180818
2605140refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018082120180818
2605668refgcc -funroll-loops -Os -fomit-frame-pointer2018082120180818
2608240refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018082120180818
2608316wblgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018082120180818
2608320refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018082120180818
2611536refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018082120180818
2611812refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018082120180818
2613120refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018082120180818
2614668refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018082120180818
2616692refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018082120180818
2617968wblgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018082120180818
2618588wblgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018082120180818
2620200refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018082120180818
2621052refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018082120180818
2621156wblgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018082120180818
2622876refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018082120180818
2624628refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018082120180818
2629836refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018082120180818
2630068refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018082120180818
2639460refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018082120180818
2641744refgcc -march=nocona -O2 -fomit-frame-pointer2018082120180818
2644584refgcc -m64 -march=barcelona -O -fomit-frame-pointer2018082120180818
2644780refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018082120180818
2662656refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018082120180818
2665368refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018082120180818
2699552refgcc -march=k8 -O2 -fomit-frame-pointer2018082120180818
2708300wblgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018082120180818
2710252wblgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018082120180818
2730028wblgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018082120180818
2739472wblgcc -march=k8 -O2 -fomit-frame-pointer2018082120180818
2740672refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018082120180818
2753196refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018082120180818
2787824wblgcc -O2 -fomit-frame-pointer2018082120180818
2788612wblgcc -m64 -O2 -fomit-frame-pointer2018082120180818
2790172wblgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018082120180818
2790932wblgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018082120180818
2791548wblgcc -funroll-loops -m64 -O -fomit-frame-pointer2018082120180818
2793044wblgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018082120180818
2793300wblgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018082120180818
2801288wblgcc -funroll-loops -O -fomit-frame-pointer2018082120180818
2802000wblgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018082120180818
2802048wblgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018082120180818
2802228wblgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018082120180818
2802560wblgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018082120180818
2807376wblgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018082120180818
2807772wblgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018082120180818
2808928wblgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018082120180818
2809348wblgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018082120180818
2810768wblgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018082120180818
2813820wblgcc -march=nocona -O2 -fomit-frame-pointer2018082120180818
2911812wblgcc -fno-schedule-insns -O -fomit-frame-pointer2018082120180818
2911996wblgcc -O -fomit-frame-pointer2018082120180818
2914476wblgcc -m64 -O -fomit-frame-pointer2018082120180818
2921704wblgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018082120180818
2925064wblgcc -m64 -march=core2 -O -fomit-frame-pointer2018082120180818
2926176wblgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018082120180818
2926212wblgcc -march=barcelona -O2 -fomit-frame-pointer2018082120180818
2926624wblgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018082120180818
2930932wblgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018082120180818
2939820wblgcc -m64 -march=corei7 -O -fomit-frame-pointer2018082120180818
2946324wblgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018082120180818
2946348wblgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018082120180818
2953248wblgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018082120180818
2966688wblgcc -march=k8 -O -fomit-frame-pointer2018082120180818
2970924wblgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018082120180818
2974036wblgcc -march=nocona -O -fomit-frame-pointer2018082120180818
2979192wblgcc -m64 -march=nocona -O -fomit-frame-pointer2018082120180818
2982800wblgcc -m64 -march=k8 -O -fomit-frame-pointer2018082120180818
3052720wblgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018082120180818
3060224wblgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018082120180818
3231288wblgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018082120180818
3231296wblgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018082120180818
3231488wblgcc -march=barcelona -O -fomit-frame-pointer2018082120180818
3236860wblgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018082120180818
3239348wblgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018082120180818
3248080wblgcc -m64 -march=nocona -Os -fomit-frame-pointer2018082120180818
3248524wblgcc -march=nocona -Os -fomit-frame-pointer2018082120180818
3253824wblgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018082120180818
3253904wblgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018082120180818
3258520wblgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018082120180818
3260104wblgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018082120180818
3261648wblgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018082120180818
3264304wblgcc -m64 -march=core2 -Os -fomit-frame-pointer2018082120180818
3264604wblgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018082120180818
3265012wblgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018082120180818
3266328wblgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018082120180818
3268332wblgcc -march=k8 -Os -fomit-frame-pointer2018082120180818
3271664wblgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018082120180818
3272520wblgcc -m64 -march=barcelona -O -fomit-frame-pointer2018082120180818
3276568wblgcc -funroll-loops -Os -fomit-frame-pointer2018082120180818
3280576wblgcc -m64 -march=k8 -Os -fomit-frame-pointer2018082120180818
3280616wblgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018082120180818
3280696wblgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018082120180818
3283192wblgcc -fno-schedule-insns -Os -fomit-frame-pointer2018082120180818
3284984wblgcc -m64 -Os -fomit-frame-pointer2018082120180818
3287184wblgcc -march=barcelona -Os -fomit-frame-pointer2018082120180818
3289176wblgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018082120180818
3301544wblgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018082120180818
3337616wblgcc -Os -fomit-frame-pointer2018082120180818
11988428wblgcc -funroll-loops2018082120180818
12049836wblgcc2018082120180818
12122188wblcc2018082120180818