Implementation notes: amd64, skylake, crypto_dh/kummer

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_dh
Primitive: kummer
TimeImplementationCompilerBenchmark dateSUPERCOP version
195998refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121720161026
196002refgcc -funroll-loops -O3 -fomit-frame-pointer2016121720161026
196110refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121720161026
196364refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121720161026
196634refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121720161026
196732refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121720161026
196826refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121720161026
196904refgcc -funroll-loops -O -fomit-frame-pointer2016121720161026
197312refgcc -m64 -O3 -fomit-frame-pointer2016121720161026
197388refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121720161026
197394refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121720161026
197418refgcc -march=barcelona -O3 -fomit-frame-pointer2016121720161026
197642refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121720161026
197726refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121720161026
197782refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
197818refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121720161026
197840refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121720161026
197852refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
198158refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121720161026
198360refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121720161026
198376refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121720161026
198384refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121720161026
198476refgcc -funroll-loops -O2 -fomit-frame-pointer2016121720161026
198500refgcc -march=nocona -O3 -fomit-frame-pointer2016121720161026
198628refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121720161026
198774refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121720161026
198968refgcc -march=k8 -O3 -fomit-frame-pointer2016121720161026
199030refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121720161026
199128refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121720161026
199132refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121720161026
199256refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121720161026
199322refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121720161026
199450refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121720161026
199560refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121720161026
199620refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121720161026
199834refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121720161026
199892refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121720161026
199900refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121720161026
199964refgcc -O3 -fomit-frame-pointer2016121720161026
200012refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121720161026
200042refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121720161026
200408refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121720161026
200454refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121720161026
200742refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121720161026
200932refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121720161026
200946refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121720161026
200992refgcc -march=nocona -Os -fomit-frame-pointer2016121720161026
201434refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121720161026
201584refgcc -Os -fomit-frame-pointer2016121720161026
201800refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121720161026
201898refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121720161026
201970refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121720161026
201972refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121720161026
201974refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121720161026
202084refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121720161026
202108refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121720161026
202242refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121720161026
202274refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121720161026
202322refgcc -march=barcelona -Os -fomit-frame-pointer2016121720161026
202328refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121720161026
202374refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121720161026
202564refgcc -m64 -Os -fomit-frame-pointer2016121720161026
202638refgcc -march=k8 -O2 -fomit-frame-pointer2016121720161026
202684refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121720161026
202740refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121720161026
202762refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121720161026
202772refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121720161026
202790refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121720161026
202804refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121720161026
202808refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121720161026
202854refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121720161026
202880refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121720161026
202892refgcc -O -fomit-frame-pointer2016121720161026
202902refgcc -O2 -fomit-frame-pointer2016121720161026
202914refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121720161026
202920refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121720161026
202936refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121720161026
202964refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121720161026
202966refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121720161026
202976refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121720161026
203002refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121720161026
203030refgcc -m64 -O2 -fomit-frame-pointer2016121720161026
203168refgcc -funroll-loops -Os -fomit-frame-pointer2016121720161026
203198refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
203356refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121720161026
203374refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121720161026
203410refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121720161026
203620refgcc -march=nocona -O -fomit-frame-pointer2016121720161026
203670refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121720161026
203756refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121720161026
203758refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121720161026
203834refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121720161026
203866refgcc -march=k8 -Os -fomit-frame-pointer2016121720161026
203928refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121720161026
203992refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121720161026
204206refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121720161026
204236refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121720161026
204282refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121720161026
204338refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121720161026
204546refgcc -march=barcelona -O2 -fomit-frame-pointer2016121720161026
204654refgcc -m64 -O -fomit-frame-pointer2016121720161026
204690refgcc -march=nocona -O2 -fomit-frame-pointer2016121720161026
204698refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121720161026
204740refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121720161026
204766refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121720161026
204784refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121720161026
205166refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121720161026
205326refgcc -march=barcelona -O -fomit-frame-pointer2016121720161026
206418refgcc -march=k8 -O -fomit-frame-pointer2016121720161026
206610refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121720161026
207220refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121720161026
207700refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121720161026
208958refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121720161026
216352refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121720161026
219034refcc2016121720161026
219074refgcc2016121720161026
222050refgcc -funroll-loops2016121720161026
224666refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121720161026
244076refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
250986refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121720161026
253066refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121720161026