Implementation notes: amd64, skylake, crypto_dh/nistp256

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_dh
Primitive: nistp256
TimeImplementationCompilerBenchmark dateSUPERCOP version
1806114wblclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121720161026
1810458wblclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
1810934wblclang -O3 -fomit-frame-pointer -Qunused-arguments2016121720161026
1811082wblclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
1816302wblclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121720161026
1816652wblclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121720161026
1820220wblclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121720161026
1822724wblclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121720161026
1840264wblclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
1853066wblclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
2066464wblgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121720161026
2072628wblgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121720161026
2072902wblgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121720161026
2075092wblgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121720161026
2082584wblgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121720161026
2090272wblgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121720161026
2092468wblgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121720161026
2100658wblgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121720161026
2100904wblgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121720161026
2218638wblgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121720161026
2228306wblgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121720161026
2233060wblgcc -funroll-loops -O3 -fomit-frame-pointer2016121720161026
2238002wblgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121720161026
2239106wblgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121720161026
2239406wblgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121720161026
2245196wblgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121720161026
2255554wblgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121720161026
2257240wblgcc -march=k8 -O3 -fomit-frame-pointer2016121720161026
2261322wblgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121720161026
2268610wblgcc -m64 -O3 -fomit-frame-pointer2016121720161026
2271562wblgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121720161026
2276794wblgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121720161026
2285498wblgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121720161026
2300812wblgcc -O3 -fomit-frame-pointer2016121720161026
2303350wblgcc -march=barcelona -O3 -fomit-frame-pointer2016121720161026
2374752wblgcc -march=nocona -O3 -fomit-frame-pointer2016121720161026
2397014wblgcc -funroll-loops -O2 -fomit-frame-pointer2016121720161026
2399504wblgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121720161026
2403794wblgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121720161026
2404264wblgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121720161026
2430244wblgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121720161026
2431010wblgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121720161026
2434438wblgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121720161026
2435084wblgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121720161026
2464414refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121720161026
2464862refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121720161026
2465392refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121720161026
2465496refgcc -O3 -fomit-frame-pointer2016121720161026
2465898refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121720161026
2465922refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121720161026
2466166refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121720161026
2466294refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121720161026
2466514refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121720161026
2466518refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121720161026
2466628refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121720161026
2466674refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121720161026
2466782refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121720161026
2467322refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
2467436refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121720161026
2467800refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
2467862refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121720161026
2467872refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121720161026
2469006refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121720161026
2469110refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121720161026
2469380refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121720161026
2469538refgcc -O2 -fomit-frame-pointer2016121720161026
2470120refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121720161026
2470258wblgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121720161026
2471076refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121720161026
2471144refgcc -march=k8 -O -fomit-frame-pointer2016121720161026
2471324refgcc -march=nocona -O -fomit-frame-pointer2016121720161026
2471560refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121720161026
2471690refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121720161026
2471820refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121720161026
2471868refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121720161026
2472016refgcc -march=barcelona -O2 -fomit-frame-pointer2016121720161026
2472406refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121720161026
2472406refgcc -march=barcelona -O -fomit-frame-pointer2016121720161026
2472654refgcc -march=barcelona -O3 -fomit-frame-pointer2016121720161026
2472976refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121720161026
2472980refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121720161026
2473050refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121720161026
2473088refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121720161026
2473354refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121720161026
2473566refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121720161026
2473628refgcc -m64 -O -fomit-frame-pointer2016121720161026
2473820refgcc -O -fomit-frame-pointer2016121720161026
2473940refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121720161026
2474026refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121720161026
2474040refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121720161026
2474160refgcc -funroll-loops -O -fomit-frame-pointer2016121720161026
2474480refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121720161026
2474830refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121720161026
2474838refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121720161026
2475322refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
2476106refgcc -funroll-loops -O3 -fomit-frame-pointer2016121720161026
2476348refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121720161026
2476624refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121720161026
2476762refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121720161026
2477416refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121720161026
2478078refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121720161026
2478274wblgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121720161026
2479018refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121720161026
2482008refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121720161026
2482264refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121720161026
2482802refgcc -march=k8 -O2 -fomit-frame-pointer2016121720161026
2482874refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121720161026
2483670refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121720161026
2484068refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121720161026
2484208refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121720161026
2485198refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121720161026
2485706refgcc -funroll-loops -O2 -fomit-frame-pointer2016121720161026
2486862refgcc2016121720161026
2487154refgcc -funroll-loops2016121720161026
2487472refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121720161026
2488332refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121720161026
2488772refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121720161026
2489310refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121720161026
2489780refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121720161026
2490710refgcc -m64 -O3 -fomit-frame-pointer2016121720161026
2491264refgcc -m64 -O2 -fomit-frame-pointer2016121720161026
2491298refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
2492216refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121720161026
2493544refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121720161026
2495002refgcc -march=nocona -O3 -fomit-frame-pointer2016121720161026
2495682refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121720161026
2496354refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121720161026
2498828refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121720161026
2499106refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121720161026
2503050refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121720161026
2503258refgcc -march=nocona -O2 -fomit-frame-pointer2016121720161026
2503396refgcc -march=k8 -O3 -fomit-frame-pointer2016121720161026
2503720refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121720161026
2509592refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121720161026
2510828refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121720161026
2512622refcc2016121720161026
2517562refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121720161026
2519304refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121720161026
2520428wblgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121720161026
2520818wblgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121720161026
2521482refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121720161026
2521996refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121720161026
2532562wblgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121720161026
2536984wblgcc -funroll-loops -O -fomit-frame-pointer2016121720161026
2539602wblgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121720161026
2541068wblgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121720161026
2543086wblgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121720161026
2555086wblgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121720161026
2555146wblgcc -O2 -fomit-frame-pointer2016121720161026
2555168wblgcc -m64 -O2 -fomit-frame-pointer2016121720161026
2556758wblgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121720161026
2556918refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121720161026
2556926refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121720161026
2557030refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121720161026
2557046refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121720161026
2557054refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121720161026
2557058refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121720161026
2557084refgcc -funroll-loops -Os -fomit-frame-pointer2016121720161026
2557114refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121720161026
2557166refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121720161026
2557212refgcc -m64 -Os -fomit-frame-pointer2016121720161026
2557214refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121720161026
2557432refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121720161026
2557592refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121720161026
2557596refgcc -Os -fomit-frame-pointer2016121720161026
2557812refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121720161026
2558020refgcc -march=barcelona -Os -fomit-frame-pointer2016121720161026
2559146wblgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121720161026
2560086refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121720161026
2560094refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121720161026
2560884refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121720161026
2561896wblgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121720161026
2563576refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121720161026
2564266wblgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121720161026
2564310refgcc -march=nocona -Os -fomit-frame-pointer2016121720161026
2564580refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121720161026
2564850refgcc -march=k8 -Os -fomit-frame-pointer2016121720161026
2564884refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121720161026
2566002refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121720161026
2568052refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121720161026
2575600wblgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121720161026
2575794wblgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121720161026
2576076wblgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121720161026
2576156wblgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121720161026
2576594wblgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121720161026
2581622refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121720161026
2602272wblgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121720161026
2615192wblgcc -march=k8 -O2 -fomit-frame-pointer2016121720161026
2641504wblgcc -march=barcelona -O2 -fomit-frame-pointer2016121720161026
2655094wblgcc -march=nocona -O2 -fomit-frame-pointer2016121720161026
2655692wblgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121720161026
2657770wblgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121720161026
2759146wblgcc -march=nocona -O -fomit-frame-pointer2016121720161026
2760934wblgcc -m64 -march=nocona -O -fomit-frame-pointer2016121720161026
2780518wblgcc -m64 -march=core2 -O -fomit-frame-pointer2016121720161026
2783364wblgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121720161026
2783444wblgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121720161026
2784950wblgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121720161026
2785680wblgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121720161026
2787088wblgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121720161026
2788878wblgcc -march=k8 -O -fomit-frame-pointer2016121720161026
2794062wblgcc -O -fomit-frame-pointer2016121720161026
2795628wblgcc -m64 -march=k8 -O -fomit-frame-pointer2016121720161026
2803838wblgcc -fno-schedule-insns -O -fomit-frame-pointer2016121720161026
2808786wblgcc -m64 -O -fomit-frame-pointer2016121720161026
2857214wblgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121720161026
2859756wblgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121720161026
2864770wblgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121720161026
3016924wblgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121720161026
3028160wblgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121720161026
3167222wblgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121720161026
3167630wblgcc -march=barcelona -O -fomit-frame-pointer2016121720161026
3168576wblgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121720161026
3182210wblgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121720161026
3192948wblgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121720161026
3207062wblgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121720161026
3207298wblgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121720161026
3226148wblgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121720161026
3238176wblgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121720161026
3238460wblgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121720161026
3240330wblgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121720161026
3240428wblgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121720161026
3243466wblgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121720161026
3243778wblgcc -march=nocona -Os -fomit-frame-pointer2016121720161026
3246516wblgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121720161026
3247680wblgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121720161026
3248868wblgcc -march=barcelona -Os -fomit-frame-pointer2016121720161026
3250364wblgcc -m64 -Os -fomit-frame-pointer2016121720161026
3254548wblgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121720161026
3254568wblgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121720161026
3255774wblgcc -march=k8 -Os -fomit-frame-pointer2016121720161026
3256478wblgcc -funroll-loops -Os -fomit-frame-pointer2016121720161026
3273234wblgcc -Os -fomit-frame-pointer2016121720161026
3275858wblgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121720161026
3280372wblgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121720161026
3282930wblgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121720161026
3284986wblgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121720161026
3289584wblgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121720161026
3297404wblgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121720161026
12084552wblgcc -funroll-loops2016121720161026
12091542wblgcc2016121720161026
12138594wblcc2016121720161026