Implementation notes: x86, cryptologic, crypto_dh/surf2113

Computer: cryptologic
Architecture: x86
CPU ID: GenuineIntel-000206c2-bfebfbff
SUPERCOP version: 20140517
Operation: crypto_dh
Primitive: surf2113
TimeImplementationCompilerBenchmark dateSUPERCOP version
3759594mpfqgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2014060320140517
3764976mpfqgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2014060320140517
3768297mpfqgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2014060320140517
3782718mpfqgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2014060320140517
3907797mpfqgcc -m32 -march=nocona -O -fomit-frame-pointer2014060320140517
3909861mpfqgcc -m32 -march=prescott -O -fomit-frame-pointer2014060320140517
3913718mpfqgcc -m32 -march=k8 -O -fomit-frame-pointer2014060320140517
3925558mpfqgcc -m32 -march=core2 -O -fomit-frame-pointer2014060320140517
3951812mpfqgcc -m32 -march=pentium-m -O -fomit-frame-pointer2014060320140517
3978309mpfqgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2014060320140517
4136876mpfqgcc -m32 -march=pentium4 -O -fomit-frame-pointer2014060320140517
4306512mpfqgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2014060320140517
4309606mpfqgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2014060320140517
4342467mpfqgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2014060320140517
4353445mpfqgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2014060320140517
4354530mpfqgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2014060320140517
4382121mpfqgcc -m32 -march=k8 -O3 -fomit-frame-pointer2014060320140517
4471097mpfqgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2014060320140517
4537468mpfqgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2014060320140517
4538627mpfqgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2014060320140517
4546933mpfqgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2014060320140517
4546962mpfqgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2014060320140517
4549409mpfqgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2014060320140517
4550973mpfqgcc -m32 -march=prescott -O3 -fomit-frame-pointer2014060320140517
4551494mpfqgcc -m32 -march=k8 -O2 -fomit-frame-pointer2014060320140517
4555173mpfqgcc -m32 -march=nocona -O3 -fomit-frame-pointer2014060320140517
4555185mpfqgcc -m32 -march=core2 -O3 -fomit-frame-pointer2014060320140517
4574385mpfqgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2014060320140517
4589554mpfqgcc -m32 -march=core2 -O2 -fomit-frame-pointer2014060320140517
4637830mpfqgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2014060320140517
4669439mpfqgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2014060320140517
4682967mpfqgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2014060320140517
4699758mpfqgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2014060320140517
4717855mpfqgcc -m32 -march=prescott -O2 -fomit-frame-pointer2014060320140517
4732618mpfqgcc -m32 -march=nocona -O2 -fomit-frame-pointer2014060320140517
4802747mpfqgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2014060320140517
4816573mpfqgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2014060320140517
4819100mpfqgcc -m32 -march=k8 -Os -fomit-frame-pointer2014060320140517
4821853mpfqgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2014060320140517
4826624mpfqgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2014060320140517
4863439mpfqgcc -m32 -march=core2 -Os -fomit-frame-pointer2014060320140517
4916454mpfqgcc -m32 -march=prescott -Os -fomit-frame-pointer2014060320140517
4921780mpfqgcc -m32 -march=nocona -Os -fomit-frame-pointer2014060320140517
4943886mpfqgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2014060320140517

Compiler output

Implementation: crypto_dh/surf2113/mpfq
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
Surf2_113.c: In file included from x86_32/mpfq_2_113.h:11,
Surf2_113.c: from mpfq_2_113.h:3,
Surf2_113.c: from field.h:1,
Surf2_113.c: from Surf2_113.c:11:
Surf2_113.c: /usr/lib/gcc/x86_64-redhat-linux/4.1.2/include/emmintrin.h:34:3: error: #error "SSE2 instruction set not enabled"
Surf2_113.c: In file included from mpfq_2_113.h:3,
Surf2_113.c: from field.h:1,
Surf2_113.c: from Surf2_113.c:11:
Surf2_113.c: x86_32/mpfq_2_113.h: In function 'mpfq_2_113_mul_ur':
Surf2_113.c: x86_32/mpfq_2_113.h:586: error: can't convert between vector values of different size
Surf2_113.c: ...
Surf2_113.c: x86_32/mpfq_2_113.h:707: error: can't convert between vector values of different size
Surf2_113.c: x86_32/mpfq_2_113.h:708: error: can't convert between vector values of different size
Surf2_113.c: x86_32/mpfq_2_113.h:709: error: can't convert between vector values of different size
Surf2_113.c: x86_32/mpfq_2_113.h:710: error: can't convert between vector values of different size
Surf2_113.c: x86_32/mpfq_2_113.h:711: error: can't convert between vector values of different size
Surf2_113.c: x86_32/mpfq_2_113.h:712: error: can't convert between vector values of different size
Surf2_113.c: x86_32/mpfq_2_113.h:713: error: can't convert between vector values of different size
Surf2_113.c: x86_32/mpfq_2_113.h:714: error: can't convert between vector values of different size
Surf2_113.c: x86_32/mpfq_2_113.h:719: error: can't convert between vector values of different size
Surf2_113.c: x86_32/mpfq_2_113.h:728: error: can't convert between vector values of different size

Number of similar (compiler,implementation) pairs: 96, namely:
CompilerImplementations
gcc -funroll-loops -m32 -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer mpfq
gcc -m32 -O2 -fomit-frame-pointer mpfq
gcc -m32 -O3 -fomit-frame-pointer mpfq
gcc -m32 -O -fomit-frame-pointer mpfq
gcc -m32 -Os -fomit-frame-pointer mpfq
gcc -m32 -march=athlon -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=athlon -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=athlon -O -fomit-frame-pointer mpfq
gcc -m32 -march=athlon -Os -fomit-frame-pointer mpfq
gcc -m32 -march=i386 -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=i386 -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=i386 -O -fomit-frame-pointer mpfq
gcc -m32 -march=i386 -Os -fomit-frame-pointer mpfq
gcc -m32 -march=i486 -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=i486 -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=i486 -O -fomit-frame-pointer mpfq
gcc -m32 -march=i486 -Os -fomit-frame-pointer mpfq
gcc -m32 -march=k6-2 -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=k6-2 -O -fomit-frame-pointer mpfq
gcc -m32 -march=k6-2 -Os -fomit-frame-pointer mpfq
gcc -m32 -march=k6-3 -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=k6-3 -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=k6-3 -O -fomit-frame-pointer mpfq
gcc -m32 -march=k6-3 -Os -fomit-frame-pointer mpfq
gcc -m32 -march=k6 -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=k6 -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=k6 -O -fomit-frame-pointer mpfq
gcc -m32 -march=k6 -Os -fomit-frame-pointer mpfq
gcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=pentium-mmx -O -fomit-frame-pointer mpfq
gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer mpfq
gcc -m32 -march=pentium2 -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=pentium2 -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=pentium2 -O -fomit-frame-pointer mpfq
gcc -m32 -march=pentium2 -Os -fomit-frame-pointer mpfq
gcc -m32 -march=pentium3 -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=pentium3 -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=pentium3 -O -fomit-frame-pointer mpfq
gcc -m32 -march=pentium3 -Os -fomit-frame-pointer mpfq
gcc -m32 -march=pentium -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=pentium -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=pentium -O -fomit-frame-pointer mpfq
gcc -m32 -march=pentium -Os -fomit-frame-pointer mpfq
gcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=pentiumpro -O -fomit-frame-pointer mpfq
gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer mpfq