Implementation notes: x86, hydra8, crypto_dh/curve25519

Computer: hydra8
Architecture: x86
CPU ID: GenuineIntel-000306a9-bfebfbff
SUPERCOP version: 20171218
Operation: crypto_dh
Primitive: curve25519
TimeImplementationCompilerBenchmark dateSUPERCOP version
1727532refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2017072320170718
1727564refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2017072320170718
1728208refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2017072320170718
1728324refgcc -m32 -march=i486 -Os -fomit-frame-pointer2017072320170718
1728476refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2017072320170718
1728780refgcc -m32 -march=nocona -O -fomit-frame-pointer2017072320170718
1728992refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2017072320170718
1729396refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017072320170718
1729744refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2017072320170718
1730032refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2017072320170718
1731416refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2017072320170718
1731568refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2017072320170718
1731904refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2017072320170718
1732220refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2017072320170718
1732452refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2017072320170718
1732548refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2017072320170718
1732576refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2017072320170718
1732708refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2017072320170718
1732876refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2017072320170718
1732888refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2017072320170718
1732984refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2017072320170718
1733004refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2017072320170718
1733008refgcc -m32 -march=athlon -Os -fomit-frame-pointer2017072320170718
1733036refgcc -m32 -march=k6 -Os -fomit-frame-pointer2017072320170718
1733112refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2017072320170718
1733124refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2017072320170718
1733124refgcc -m32 -march=i386 -Os -fomit-frame-pointer2017072320170718
1733140refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2017072320170718
1733148refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2017072320170718
1733184refgcc -m32 -march=prescott -Os -fomit-frame-pointer2017072320170718
1733264refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2017072320170718
1733292refgcc -m32 -O -fomit-frame-pointer2017072320170718
1733312refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2017072320170718
1733316refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2017072320170718
1733328refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2017072320170718
1733368refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2017072320170718
1733388refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2017072320170718
1733392refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2017072320170718
1733400refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2017072320170718
1733416refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2017072320170718
1733452refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2017072320170718
1733460refgcc -m32 -march=i486 -O -fomit-frame-pointer2017072320170718
1733492refgcc -m32 -march=nocona -Os -fomit-frame-pointer2017072320170718
1733528refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2017072320170718
1733548refgcc -m32 -march=core2 -Os -fomit-frame-pointer2017072320170718
1733660refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2017072320170718
1733688refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2017072320170718
1733752refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2017072320170718
1733796refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2017072320170718
1733824refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2017072320170718
1733884refgcc -m32 -march=k6 -O -fomit-frame-pointer2017072320170718
1733888refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2017072320170718
1733940refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2017072320170718
1733956refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2017072320170718
1734048refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2017072320170718
1734064refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2017072320170718
1734092refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2017072320170718
1734104refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2017072320170718
1734172refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2017072320170718
1734380refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2017072320170718
1734448refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2017072320170718
1734516refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2017072320170718
1734556refgcc -m32 -march=barcelona -O -fomit-frame-pointer2017072320170718
1734672refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2017072320170718
1734676refgcc -m32 -march=prescott -O -fomit-frame-pointer2017072320170718
1734840refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2017072320170718
1734884refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2017072320170718
1734912refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2017072320170718
1734964refgcc -m32 -march=i386 -O -fomit-frame-pointer2017072320170718
1734988refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2017072320170718
1735040refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2017072320170718
1735068refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2017072320170718
1735080refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2017072320170718
1735088refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2017072320170718
1735092refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2017072320170718
1735164refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2017072320170718
1735188refgcc -m32 -march=corei7 -O -fomit-frame-pointer2017072320170718
1735288refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2017072320170718
1735504refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2017072320170718
1735512refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2017072320170718
1735628refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2017072320170718
1735732refgcc -m32 -march=pentium -Os -fomit-frame-pointer2017072320170718
1735844refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2017072320170718
1736288refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2017072320170718
1736340refgcc -m32 -Os -fomit-frame-pointer2017072320170718
1736416refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2017072320170718
1736444refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2017072320170718
1736748refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2017072320170718
1736876refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2017072320170718
1737152refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2017072320170718
1737216refgcc -m32 -march=pentium -O -fomit-frame-pointer2017072320170718
1737392refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2017072320170718
1737944refgcc -m32 -march=k8 -O -fomit-frame-pointer2017072320170718
1738052refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2017072320170718
1738224refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2017072320170718
1738268refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2017072320170718
1738448refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2017072320170718
1738456refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2017072320170718
1738908refgcc -m32 -march=core2 -O -fomit-frame-pointer2017072320170718
1738956refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2017072320170718
1739212refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2017072320170718
1739272refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2017072320170718
1739352refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2017072320170718
1739412refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2017072320170718
1739480refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2017072320170718
1739688refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2017072320170718
1739796refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2017072320170718
1739924refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2017072320170718
1740184refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2017072320170718
1740456refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2017072320170718
1740552refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2017072320170718
1740756refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2017072320170718
1741112refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2017072320170718
1741404refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2017072320170718
1741884refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2017072320170718
1741932refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2017072320170718
1742452refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2017072320170718
1742740refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2017072320170718
1742828refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2017072320170718
1742888refgcc -m32 -O3 -fomit-frame-pointer2017072320170718
1742916refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2017072320170718
1743464refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2017072320170718
1743484refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2017072320170718
1743704refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2017072320170718
1743824refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2017072320170718
1744088refgcc -funroll-loops -m32 -O -fomit-frame-pointer2017072320170718
1744860refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2017072320170718
1745696refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2017072320170718
1745788refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2017072320170718
1745936refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2017072320170718
1746200refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2017072320170718
1746208refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017072320170718
1746284refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2017072320170718
1746372refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2017072320170718
1746592refgcc -m32 -O2 -fomit-frame-pointer2017072320170718
1747056refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2017072320170718
1747208refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2017072320170718
1747528refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2017072320170718
1747700refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2017072320170718
1747912refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2017072320170718
1747980refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2017072320170718
1748008refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2017072320170718
1749196refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2017072320170718
1749428refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2017072320170718
1749820refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2017072320170718
1749856refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2017072320170718
1750088refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2017072320170718
1750380refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2017072320170718
1750760refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2017072320170718
1751264refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2017072320170718
1751748refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2017072320170718
1751788refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2017072320170718
1752300refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2017072320170718
1752372refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2017072320170718
1752440refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2017072320170718
1752676refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2017072320170718
1753288refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2017072320170718
1753880refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2017072320170718
1754080refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2017072320170718
1754332refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017072320170718
1754532refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2017072320170718
1754932refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2017072320170718
1755152refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2017072320170718
1755264refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2017072320170718
1755748refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2017072320170718
1755880refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2017072320170718
1756480refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2017072320170718
1757880refgcc -m32 -march=athlon -O -fomit-frame-pointer2017072320170718
1758184refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2017072320170718
1758200refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2017072320170718
1758380refgcc -m32 -march=k8 -Os -fomit-frame-pointer2017072320170718
1768252refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2017072320170718

Test failure

Implementation: crypto_dh/curve25519/ref
Compiler: gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer ref
gcc -m32 -march=core-avx2 -O -fomit-frame-pointer ref
gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer ref

Compiler output

Implementation: crypto_dh/curve25519/mpfq
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
curve25519.c: curve25519.c:18:17: fatal error: gmp.h: No such file or directory
curve25519.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 171, 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=barcelona -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=barcelona -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=k8 -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium-m -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=pentium4 -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=pentium4 -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 -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer mpfq
gcc -funroll-loops -m32 -march=prescott -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=core-avx-i -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=core-avx-i -O -fomit-frame-pointer mpfq
gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer mpfq
gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=core-avx2 -O -fomit-frame-pointer mpfq
gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer mpfq
gcc -m32 -march=core2 -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=core2 -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=core2 -O -fomit-frame-pointer mpfq
gcc -m32 -march=core2 -Os -fomit-frame-pointer mpfq
gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer mpfq
gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer mpfq
gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer mpfq
gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer mpfq
gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=corei7-avx -O -fomit-frame-pointer mpfq
gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer mpfq
gcc -m32 -march=corei7 -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=corei7 -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=corei7 -O -fomit-frame-pointer mpfq
gcc -m32 -march=corei7 -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=k8 -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=k8 -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=k8 -O -fomit-frame-pointer mpfq
gcc -m32 -march=k8 -Os -fomit-frame-pointer mpfq
gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer mpfq
gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer mpfq
gcc -m32 -march=nocona -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=nocona -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=nocona -O -fomit-frame-pointer mpfq
gcc -m32 -march=nocona -Os -fomit-frame-pointer mpfq
gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=pentium-m -O -fomit-frame-pointer mpfq
gcc -m32 -march=pentium-m -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=pentium4 -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=pentium4 -O -fomit-frame-pointer mpfq
gcc -m32 -march=pentium4 -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
gcc -m32 -march=prescott -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=prescott -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=prescott -O -fomit-frame-pointer mpfq
gcc -m32 -march=prescott -Os -fomit-frame-pointer mpfq

Compiler output

Implementation: crypto_dh/curve25519/mpfq
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
curve25519.c: curve25519.c:18:17: fatal error: gmp.h: No such file or directory
curve25519.c: compilation terminated.
curve25519.c: curve25519.c:18:17: fatal error: gmp.h: No such file or directory
curve25519.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m32 -march=barcelona -O2 -fomit-frame-pointer mpfq
gcc -m32 -march=barcelona -O3 -fomit-frame-pointer mpfq
gcc -m32 -march=barcelona -O -fomit-frame-pointer mpfq
gcc -m32 -march=barcelona -Os -fomit-frame-pointer mpfq