Implementation notes: amd64, skylake, crypto_dh/surf127eps

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_dh
Primitive: surf127eps
TimeImplementationCompilerBenchmark dateSUPERCOP version
727418mpfqgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121720161026
733240mpfqclang -O3 -fomit-frame-pointer -Qunused-arguments2016121720161026
735096mpfqgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121720161026
736136mpfqclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121720161026
736846mpfqclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121720161026
738346mpfqclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
740088mpfqgcc -funroll-loops -O2 -fomit-frame-pointer2016121720161026
740250mpfqgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121720161026
740570mpfqgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121720161026
740740mpfqgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121720161026
741690mpfqclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121720161026
743192mpfqgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121720161026
743200mpfqclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
743360mpfqclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
743554mpfqgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121720161026
744148mpfqgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121720161026
745118mpfqgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121720161026
745264mpfqgcc -O2 -fomit-frame-pointer2016121720161026
745340mpfqgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121720161026
745390mpfqclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121720161026
745680mpfqgcc -march=nocona -O3 -fomit-frame-pointer2016121720161026
746092mpfqgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121720161026
746276mpfqgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121720161026
746516mpfqgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121720161026
746562mpfqgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121720161026
746878mpfqgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121720161026
746882mpfqclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121720161026
746912mpfqclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121720161026
747172mpfqgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121720161026
747324mpfqgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121720161026
747528mpfqgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121720161026
748004mpfqgcc -march=k8 -O2 -fomit-frame-pointer2016121720161026
748518mpfqgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121720161026
749080mpfqgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121720161026
749672mpfqgcc -funroll-loops -O3 -fomit-frame-pointer2016121720161026
750654mpfqgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121720161026
751520mpfqgcc -march=nocona -O2 -fomit-frame-pointer2016121720161026
751998mpfqgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121720161026
752056mpfqgcc -m64 -O2 -fomit-frame-pointer2016121720161026
752068mpfqgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121720161026
752322mpfqgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121720161026
752696mpfqgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121720161026
753586mpfqgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121720161026
754316mpfqgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121720161026
754482mpfqgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121720161026
755390mpfqgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121720161026
755504mpfqgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121720161026
756008mpfqgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121720161026
756086mpfqgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121720161026
756374mpfqgcc -march=barcelona -O2 -fomit-frame-pointer2016121720161026
758628mpfqgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121720161026
758856mpfqgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121720161026
758978mpfqgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121720161026
759412mpfqgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121720161026
759534mpfqgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121720161026
759984mpfqgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121720161026
760036mpfqgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121720161026
760642mpfqgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121720161026
761526mpfqgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121720161026
761758mpfqgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121720161026
762400mpfqgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121720161026
762612mpfqgcc -m64 -O3 -fomit-frame-pointer2016121720161026
763402mpfqgcc -m64 -march=k8 -O -fomit-frame-pointer2016121720161026
764744mpfqgcc -march=barcelona -O3 -fomit-frame-pointer2016121720161026
766332mpfqgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121720161026
766352mpfqgcc -m64 -march=core2 -O -fomit-frame-pointer2016121720161026
766898mpfqgcc -fno-schedule-insns -O -fomit-frame-pointer2016121720161026
767044mpfqgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121720161026
767190mpfqgcc -march=k8 -O -fomit-frame-pointer2016121720161026
767420mpfqgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121720161026
767472mpfqgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121720161026
768512mpfqgcc -march=k8 -O3 -fomit-frame-pointer2016121720161026
768602mpfqgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121720161026
768610mpfqgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121720161026
769866mpfqgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121720161026
770302mpfqgcc -m64 -march=nocona -O -fomit-frame-pointer2016121720161026
770502mpfqgcc -O -fomit-frame-pointer2016121720161026
770570mpfqgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121720161026
771008mpfqgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121720161026
771248mpfqgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121720161026
771358mpfqgcc -march=nocona -O -fomit-frame-pointer2016121720161026
771870mpfqgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121720161026
774756mpfqgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121720161026
775410mpfqgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121720161026
777528mpfqgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121720161026
779372mpfqgcc -funroll-loops -O -fomit-frame-pointer2016121720161026
781204mpfqgcc -O3 -fomit-frame-pointer2016121720161026
783006mpfqgcc -m64 -O -fomit-frame-pointer2016121720161026
783224mpfqgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121720161026
791752mpfqgcc -march=barcelona -O -fomit-frame-pointer2016121720161026
792226mpfqgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121720161026
877108mpfqgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121720161026
877552mpfqgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121720161026
877586mpfqgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121720161026
877786mpfqgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121720161026
877812mpfqgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121720161026
877822mpfqgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121720161026
878598mpfqgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121720161026
878828mpfqgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121720161026
879586mpfqgcc -funroll-loops -Os -fomit-frame-pointer2016121720161026
879842mpfqgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121720161026
879908mpfqgcc -march=nocona -Os -fomit-frame-pointer2016121720161026
879958mpfqgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121720161026
880296mpfqgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121720161026
880316mpfqgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121720161026
881394mpfqgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121720161026
882832mpfqgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121720161026
883122mpfqgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121720161026
883190mpfqgcc -march=barcelona -Os -fomit-frame-pointer2016121720161026
883210mpfqgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121720161026
883240mpfqgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121720161026
883268mpfqgcc -march=k8 -Os -fomit-frame-pointer2016121720161026
884440mpfqgcc -Os -fomit-frame-pointer2016121720161026
885028mpfqgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121720161026
886430mpfqgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121720161026
886658mpfqgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121720161026
887222mpfqgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121720161026
889388mpfqgcc -m64 -Os -fomit-frame-pointer2016121720161026

Compiler output

Implementation: crypto_dh/surf127eps/mpfq
Compiler: cc
surf127eps.c: In file included from mpfq_p_127_735.h:5:0,
surf127eps.c: from surf127eps.c:18:
surf127eps.c: x86_64/mpfq_p_127_735.h: In function 'mpfq_p_127_735_hadamard':
surf127eps.c: x86_64/mpfq_p_127_735.h:360:3: error: 'asm' operand has impossible constraints
surf127eps.c: __asm__ volatile (
surf127eps.c: ^~~~~~~

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
cc mpfq
gcc mpfq
gcc -funroll-loops mpfq

Compiler output

Implementation: crypto_dh/surf127eps/mpfq
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
mpfq_p_127_735.c: In file included from mpfq_p_127_735.c:5:
mpfq_p_127_735.c: ./x86_64/mpfq_p_127_735.c:111:1: warning: control reaches end of non-void function [-Wreturn-type]
mpfq_p_127_735.c: }
mpfq_p_127_735.c: ^
mpfq_p_127_735.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments mpfq
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments mpfq
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments mpfq
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments mpfq
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments mpfq
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments mpfq
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments mpfq
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments mpfq
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments mpfq
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments mpfq