Implementation notes: amd64, bolero, crypto_dh/surf127eps

Computer: bolero
Architecture: amd64
CPU ID: GenuineIntel-000406f1-bfebfbff
SUPERCOP version: 20190110
Operation: crypto_dh
Primitive: surf127eps
TimeImplementationCompilerBenchmark dateSUPERCOP version
790888mpfqgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018082120180818
792344mpfqgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018082120180818
792392mpfqgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018082120180818
794696mpfqgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018082120180818
794884mpfqgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018082120180818
794892mpfqgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018082120180818
794952mpfqgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018082120180818
795492mpfqgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018082120180818
795612mpfqgcc -O2 -fomit-frame-pointer2018082120180818
795640mpfqgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018082120180818
795708mpfqgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018082120180818
795872mpfqgcc -funroll-loops -O2 -fomit-frame-pointer2018082120180818
796424mpfqgcc -funroll-loops -O3 -fomit-frame-pointer2018082120180818
796428mpfqgcc -march=k8 -O2 -fomit-frame-pointer2018082120180818
796548mpfqgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018082120180818
796952mpfqgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018082120180818
796956mpfqgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018082120180818
797388mpfqgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018082120180818
797668mpfqgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018082120180818
798084mpfqgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018082120180818
798168mpfqgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018082120180818
798292mpfqgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018082120180818
798472mpfqgcc -march=barcelona -O2 -fomit-frame-pointer2018082120180818
799020mpfqgcc -m64 -O2 -fomit-frame-pointer2018082120180818
799232mpfqgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018082120180818
799248mpfqclang -O3 -fomit-frame-pointer -Qunused-arguments2018082120180818
799316mpfqgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018082120180818
799576mpfqclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018082120180818
799756mpfqgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018082120180818
799800mpfqgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018082120180818
800076mpfqgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018082120180818
800368mpfqgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018082120180818
800372mpfqgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018082120180818
800432mpfqgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018082120180818
800492mpfqclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018082120180818
800528mpfqgcc -march=barcelona -O3 -fomit-frame-pointer2018082120180818
800556mpfqgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018082120180818
800920mpfqgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018082120180818
801032mpfqclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2018082120180818
801056mpfqclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018082120180818
801340mpfqgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018082120180818
801372mpfqclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018082120180818
801512mpfqgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018082120180818
801716mpfqgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018082120180818
801724mpfqclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018082120180818
802036mpfqgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018082120180818
802368mpfqgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018082120180818
802484mpfqgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018082120180818
803692mpfqclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018082120180818
803692mpfqgcc -march=nocona -O2 -fomit-frame-pointer2018082120180818
804532mpfqgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018082120180818
804996mpfqgcc -m64 -O3 -fomit-frame-pointer2018082120180818
805056mpfqgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018082120180818
805364mpfqgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018082120180818
806048mpfqgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018082120180818
806860mpfqgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018082120180818
807044mpfqgcc -march=k8 -O3 -fomit-frame-pointer2018082120180818
807396mpfqgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018082120180818
808296mpfqclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018082120180818
808592mpfqclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018082120180818
810676mpfqgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018082120180818
810872mpfqgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018082120180818
813520mpfqgcc -march=nocona -O3 -fomit-frame-pointer2018082120180818
819360mpfqgcc -O3 -fomit-frame-pointer2018082120180818
829136mpfqgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018082120180818
830908mpfqgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018082120180818
833856mpfqgcc -O -fomit-frame-pointer2018082120180818
834208mpfqgcc -m64 -march=corei7 -O -fomit-frame-pointer2018082120180818
834572mpfqgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018082120180818
835236mpfqgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018082120180818
835720mpfqgcc -fno-schedule-insns -O -fomit-frame-pointer2018082120180818
835984mpfqgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018082120180818
836084mpfqgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018082120180818
838220mpfqgcc -march=nocona -O -fomit-frame-pointer2018082120180818
838244mpfqgcc -funroll-loops -O -fomit-frame-pointer2018082120180818
839136mpfqgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018082120180818
839268mpfqgcc -march=k8 -O -fomit-frame-pointer2018082120180818
839408mpfqgcc -m64 -march=k8 -O -fomit-frame-pointer2018082120180818
839588mpfqgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018082120180818
840172mpfqgcc -m64 -O -fomit-frame-pointer2018082120180818
842212mpfqgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018082120180818
842276mpfqgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018082120180818
842348mpfqgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018082120180818
842352mpfqgcc -march=barcelona -O -fomit-frame-pointer2018082120180818
842424mpfqgcc -m64 -march=barcelona -O -fomit-frame-pointer2018082120180818
842448mpfqgcc -m64 -march=nocona -O -fomit-frame-pointer2018082120180818
842460mpfqgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018082120180818
842700mpfqgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018082120180818
845304mpfqgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018082120180818
846012mpfqgcc -funroll-loops -m64 -O -fomit-frame-pointer2018082120180818
847460mpfqgcc -m64 -march=core2 -O -fomit-frame-pointer2018082120180818
982476mpfqgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018082120180818
983120mpfqgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018082120180818
984676mpfqgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018082120180818
985908mpfqgcc -m64 -march=k8 -Os -fomit-frame-pointer2018082120180818
986720mpfqgcc -funroll-loops -Os -fomit-frame-pointer2018082120180818
986732mpfqgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018082120180818
986988mpfqgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018082120180818
987092mpfqgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018082120180818
987096mpfqgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018082120180818
987276mpfqgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018082120180818
987344mpfqgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018082120180818
987576mpfqgcc -m64 -Os -fomit-frame-pointer2018082120180818
987744mpfqgcc -Os -fomit-frame-pointer2018082120180818
987968mpfqgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018082120180818
988000mpfqgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018082120180818
988012mpfqgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018082120180818
988012mpfqgcc -march=k8 -Os -fomit-frame-pointer2018082120180818
988272mpfqgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018082120180818
988828mpfqgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018082120180818
988836mpfqgcc -fno-schedule-insns -Os -fomit-frame-pointer2018082120180818
989008mpfqgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018082120180818
989376mpfqgcc -march=barcelona -Os -fomit-frame-pointer2018082120180818
990660mpfqgcc -march=nocona -Os -fomit-frame-pointer2018082120180818
991004mpfqgcc -m64 -march=core2 -Os -fomit-frame-pointer2018082120180818
991996mpfqgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018082120180818
992448mpfqgcc -m64 -march=nocona -Os -fomit-frame-pointer2018082120180818
996924mpfqgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018082120180818

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