Implementation notes: amd64, rumba5, crypto_dh/surf127eps

Computer: rumba5
Architecture: amd64
CPU ID: AuthenticAMD-00800f11-178bfbff
SUPERCOP version: 20181216
Operation: crypto_dh
Primitive: surf127eps
TimeImplementationCompilerBenchmark dateSUPERCOP version
796352mpfqgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018081920180818
796992mpfqgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018081920180818
797472mpfqgcc -funroll-loops -O2 -fomit-frame-pointer2018081920180818
797632mpfqclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2018081920180818
797792mpfqclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018081920180818
797920mpfqclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2018081920180818
798048mpfqclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018081920180818
798240mpfqclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2018081920180818
798304mpfqgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018081920180818
798432mpfqgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018081920180818
798880mpfqgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
799136mpfqclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018081920180818
799424mpfqgcc -march=k8 -O3 -fomit-frame-pointer2018081920180818
799552mpfqgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818
799744mpfqgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018081920180818
799840mpfqgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
799840mpfqgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018081920180818
800064mpfqgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
800224mpfqgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018081920180818
800384mpfqgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018081920180818
800416mpfqclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018081920180818
800512mpfqgcc -funroll-loops -O3 -fomit-frame-pointer2018081920180818
800640mpfqclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2018081920180818
800864mpfqgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
801120mpfqgcc -m64 -O2 -fomit-frame-pointer2018081920180818
801152mpfqgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018081920180818
801184mpfqgcc -march=k8 -O2 -fomit-frame-pointer2018081920180818
801376mpfqgcc -O2 -fomit-frame-pointer2018081920180818
801536mpfqclang -O3 -fomit-frame-pointer -Qunused-arguments2018081920180818
801536mpfqgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
801888mpfqgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818
801984mpfqgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018081920180818
802016mpfqgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018081920180818
802048mpfqgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018081920180818
802336mpfqgcc -march=nocona -O2 -fomit-frame-pointer2018081920180818
802368mpfqgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018081920180818
802464mpfqgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
802624mpfqgcc -march=barcelona -O2 -fomit-frame-pointer2018081920180818
802880mpfqgcc -march=barcelona -O3 -fomit-frame-pointer2018081920180818
803232mpfqgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
803328mpfqgcc -O3 -fomit-frame-pointer2018081920180818
803680mpfqgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018081920180818
803744mpfqgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018081920180818
804832mpfqgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018081920180818
804896mpfqgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018081920180818
805344mpfqgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018081920180818
805504mpfqgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018081920180818
805536mpfqgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018081920180818
805536mpfqgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018081920180818
805632mpfqgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018081920180818
806144mpfqgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018081920180818
806464mpfqgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018081920180818
806464mpfqgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018081920180818
807968mpfqgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018081920180818
808000mpfqgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018081920180818
808160mpfqgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
808320mpfqgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018081920180818
808896mpfqgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
809216mpfqclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2018081920180818
809280mpfqgcc -m64 -O3 -fomit-frame-pointer2018081920180818
809664mpfqgcc -march=nocona -O3 -fomit-frame-pointer2018081920180818
811328mpfqgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018081920180818
828096mpfqgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
847520mpfqgcc -march=barcelona -O -fomit-frame-pointer2018081920180818
848192mpfqgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018081920180818
849728mpfqgcc -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
849952mpfqgcc -funroll-loops -O -fomit-frame-pointer2018081920180818
850432mpfqgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
850560mpfqgcc -funroll-loops -m64 -O -fomit-frame-pointer2018081920180818
852480mpfqgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018081920180818
853088mpfqgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018081920180818
853120mpfqgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
853152mpfqgcc -O -fomit-frame-pointer2018081920180818
853376mpfqgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018081920180818
853376mpfqgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018081920180818
853632mpfqgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018081920180818
853696mpfqgcc -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
853824mpfqgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
853856mpfqgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018081920180818
853888mpfqgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018081920180818
854048mpfqgcc -m64 -O -fomit-frame-pointer2018081920180818
854240mpfqgcc -march=k8 -O -fomit-frame-pointer2018081920180818
855040mpfqgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018081920180818
855200mpfqgcc -m64 -march=corei7 -O -fomit-frame-pointer2018081920180818
855616mpfqgcc -m64 -march=k8 -O -fomit-frame-pointer2018081920180818
855648mpfqgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018081920180818
855648mpfqgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018081920180818
855808mpfqgcc -m64 -march=core2 -O -fomit-frame-pointer2018081920180818
857664mpfqgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018081920180818
858144mpfqgcc -march=nocona -O -fomit-frame-pointer2018081920180818
859392mpfqgcc -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
979136mpfqgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018081920180818
979168mpfqgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018081920180818
979328mpfqgcc -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
979488mpfqgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018081920180818
979744mpfqgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
979840mpfqgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018081920180818
979904mpfqgcc -march=k8 -Os -fomit-frame-pointer2018081920180818
979936mpfqgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
979968mpfqgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
980032mpfqgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018081920180818
980064mpfqgcc -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
980384mpfqgcc -march=nocona -Os -fomit-frame-pointer2018081920180818
980704mpfqgcc -funroll-loops -Os -fomit-frame-pointer2018081920180818
980704mpfqgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
981056mpfqgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018081920180818
981120mpfqgcc -Os -fomit-frame-pointer2018081920180818
981312mpfqgcc -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
981568mpfqgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018081920180818
981792mpfqgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018081920180818
982080mpfqgcc -march=barcelona -Os -fomit-frame-pointer2018081920180818
982752mpfqgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018081920180818
983136mpfqgcc -m64 -Os -fomit-frame-pointer2018081920180818
983264mpfqgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
983392mpfqgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018081920180818
983808mpfqgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018081920180818
985280mpfqgcc -m64 -march=core2 -Os -fomit-frame-pointer2018081920180818
985344mpfqgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018081920180818

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