Implementation notes: amd64, haswell, crypto_dh/surf127eps

Computer: haswell
Architecture: amd64
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20130419
Operation: crypto_dh
Primitive: surf127eps
TimeImplementationCompilerBenchmark dateSUPERCOP version
889236mpfqgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2013060920130419
891852mpfqgcc -m64 -march=k8 -O3 -fomit-frame-pointer2013060920130419
914708mpfqgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2013060920130419
915282mpfqgcc -O3 -fomit-frame-pointer2013060920130419
916139mpfqgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2013060920130419
917875mpfqgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2013060920130419
925953mpfqgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2013060920130419
927744mpfqgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2013060920130419
930734mpfqgcc -m64 -march=nocona -O2 -fomit-frame-pointer2013060920130419
930830mpfqgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2013060920130419
934140mpfqgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2013060920130419
934160mpfqgcc -march=barcelona -O2 -fomit-frame-pointer2013060920130419
935024mpfqclang -O3 -mavx2013060920130419
936116mpfqgcc -O2 -fomit-frame-pointer2013060920130419
939778mpfqgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2013060920130419
940992mpfqclang -O32013060920130419
941008mpfqgcc -m64 -march=corei7 -O -fomit-frame-pointer2013060920130419
943234mpfqgcc -funroll-loops -O -fomit-frame-pointer2013060920130419
943952mpfqgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2013060920130419
944184mpfqgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2013060920130419
945056mpfqgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2013060920130419
946866mpfqgcc -fno-schedule-insns -O -fomit-frame-pointer2013060920130419
947824mpfqgcc -m64 -march=nocona -O -fomit-frame-pointer2013060920130419
948300mpfqgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2013060920130419
951060mpfqgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2013060920130419
952640mpfqgcc -march=k8 -O2 -fomit-frame-pointer2013060920130419
956628mpfqgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2013060920130419
956692mpfqgcc -fno-schedule-insns -O3 -fomit-frame-pointer2013060920130419
956716mpfqgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2013060920130419
958124mpfqgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2013060920130419
958400mpfqgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2013060920130419
958720mpfqgcc -funroll-loops -O3 -fomit-frame-pointer2013060920130419
959968mpfqgcc -m64 -march=nocona -O3 -fomit-frame-pointer2013060920130419
960680mpfqgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2013060920130419
961332mpfqgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2013060920130419
961536mpfqgcc -m64 -march=k8 -O2 -fomit-frame-pointer2013060920130419
962748mpfqgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2013060920130419
966144mpfqgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2013060920130419
967616mpfqgcc -m64 -march=core2 -O2 -fomit-frame-pointer2013060920130419
970596mpfqgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2013060920130419
975980mpfqgcc -march=nocona -O3 -fomit-frame-pointer2013060920130419
985288mpfqgcc -march=nocona -O -fomit-frame-pointer2013060920130419
985362mpfqgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2013060920130419
985800mpfqgcc -m64 -march=k8 -O -fomit-frame-pointer2013060920130419
987566mpfqgcc -m64 -march=core2 -O3 -fomit-frame-pointer2013060920130419
988296mpfqgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2013060920130419
989058mpfqgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2013060920130419
991580mpfqgcc -march=k8 -O -fomit-frame-pointer2013060920130419
992264mpfqgcc -m64 -O3 -fomit-frame-pointer2013060920130419
994004mpfqgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2013060920130419
997106mpfqgcc -funroll-loops -O2 -fomit-frame-pointer2013060920130419
997576mpfqgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2013060920130419
998026mpfqgcc -m64 -O2 -fomit-frame-pointer2013060920130419
1001458mpfqgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2013060920130419
1006726mpfqgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2013060920130419
1007158mpfqgcc -m64 -march=barcelona -O -fomit-frame-pointer2013060920130419
1008528mpfqgcc -march=nocona -O2 -fomit-frame-pointer2013060920130419
1008890mpfqgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2013060920130419
1010572mpfqgcc -O -fomit-frame-pointer2013060920130419
1010986mpfqgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2013060920130419
1011072mpfqgcc -funroll-loops -m64 -O -fomit-frame-pointer2013060920130419
1015046mpfqgcc -march=barcelona -O -fomit-frame-pointer2013060920130419
1016818mpfqgcc -m64 -O -fomit-frame-pointer2013060920130419
1017092mpfqgcc -march=barcelona -O3 -fomit-frame-pointer2013060920130419
1018176mpfqgcc -march=k8 -O3 -fomit-frame-pointer2013060920130419
1022166mpfqgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2013060920130419
1027988mpfqgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2013060920130419
1029672mpfqgcc -fno-schedule-insns -O2 -fomit-frame-pointer2013060920130419
1043804mpfqgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2013060920130419
1046428mpfqgcc -m64 -march=core2 -O -fomit-frame-pointer2013060920130419
1058760mpfqgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2013060920130419
1064748mpfqgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2013060920130419
1069860mpfqgcc -m64 -Os -fomit-frame-pointer2013060920130419
1072925mpfqgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2013060920130419
1083291mpfqgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2013060920130419
1095736mpfqgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2013060920130419
1096920mpfqgcc -m64 -march=corei7 -Os -fomit-frame-pointer2013060920130419
1103694mpfqgcc -funroll-loops -m64 -Os -fomit-frame-pointer2013060920130419
1116147mpfqgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2013060920130419
1136152mpfqgcc -m64 -march=k8 -Os -fomit-frame-pointer2013060920130419
1137924mpfqgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2013060920130419
1138736mpfqgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2013060920130419
1140100mpfqgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2013060920130419
1140200mpfqgcc -m64 -march=nocona -Os -fomit-frame-pointer2013060920130419
1142280mpfqgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2013060920130419
1142832mpfqgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2013060920130419
1147880mpfqgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2013060920130419
1148528mpfqgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2013060920130419
1149952mpfqgcc -fno-schedule-insns -Os -fomit-frame-pointer2013060920130419
1152480mpfqgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2013060920130419
1172470mpfqgcc -m64 -march=barcelona -Os -fomit-frame-pointer2013060920130419
1172548mpfqgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2013060920130419
1175802mpfqgcc -Os -fomit-frame-pointer2013060920130419
1177088mpfqgcc -march=barcelona -Os -fomit-frame-pointer2013060920130419
1178220mpfqgcc -march=nocona -Os -fomit-frame-pointer2013060920130419
1184144mpfqgcc -funroll-loops -Os -fomit-frame-pointer2013060920130419
1202336mpfqgcc -march=k8 -Os -fomit-frame-pointer2013060920130419
1205925mpfqgcc -m64 -march=core2 -Os -fomit-frame-pointer2013060920130419
1237876mpfqgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2013060920130419

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
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: 2, namely:
CompilerImplementations
clang -O3 mpfq
clang -O3 -mavx mpfq

Compiler output

Implementation: crypto_dh/surf127eps/mpfq
Compiler: gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer
surf127eps.c: In file included from mpfq_p_127_735.h:5:0,
surf127eps.c: from surf127eps.c:18:
surf127eps.c: surf127eps.c: In function 'KShadamard':
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
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer mpfq
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer mpfq
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer mpfq