Implementation notes: x86, margaux, crypto_sign/pflash1

Computer: margaux
Architecture: x86
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20171218
Operation: crypto_sign
Primitive: pflash1
TimeImplementationCompilerBenchmark dateSUPERCOP version
1189341refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2017091620170904
1286145refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2017091620170904
1342161refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2017091620170904
1346238refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2017091620170904
1355481refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2017091620170904
1368378refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2017091620170904
1378584refgcc -funroll-loops -m32 -O -fomit-frame-pointer2017091620170904
1379331refgcc -m32 -march=nocona -O -fomit-frame-pointer2017091620170904
1389285refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2017091620170904
1394847refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2017091620170904
1406799refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2017091620170904
1410759refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2017091620170904
1411245refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2017091620170904
1417023refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2017091620170904
1427913refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2017091620170904
1431117refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2017091620170904
1433007refgcc -m32 -march=athlon -O -fomit-frame-pointer2017091620170904
1434006refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2017091620170904
1436814refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2017091620170904
1450719refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2017091620170904
1468395refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2017091620170904
1476243refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2017091620170904
1476999refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2017091620170904
1492731refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2017091620170904
1495377refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2017091620170904
1497366refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2017091620170904
1504395refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2017091620170904
1504647refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2017091620170904
1506303refgcc -m32 -march=core2 -O -fomit-frame-pointer2017091620170904
1507563refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2017091620170904
1512918refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2017091620170904
1518399refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2017091620170904
1523394refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2017091620170904
1524591refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2017091620170904
1531935refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2017091620170904
1547928refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2017091620170904
1557684refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2017091620170904
1564065refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2017091620170904
1567422refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2017091620170904
1578267refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2017091620170904
1580751refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2017091620170904
1593864refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2017091620170904
1598535refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2017091620170904
1603404refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2017091620170904
1604466refgcc -m32 -march=prescott -O -fomit-frame-pointer2017091620170904
1609731refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2017091620170904
1618425refgcc -m32 -O3 -fomit-frame-pointer2017091620170904
1625076refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2017091620170904
1625562refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2017091620170904
1628235refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2017091620170904
1632348refgcc -m32 -O2 -fomit-frame-pointer2017091620170904
1641375refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2017091620170904
1641834refgcc -m32 -O -fomit-frame-pointer2017091620170904
1644597refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017091620170904
1649376refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2017091620170904
1657782refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2017091620170904
1672092refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2017091620170904
1678401refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2017091620170904
1686951refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2017091620170904
1688958refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2017091620170904
1699452refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2017091620170904
1706103refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2017091620170904
1712853refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2017091620170904
1716201refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2017091620170904
1717056refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2017091620170904
1723941refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2017091620170904
1725399refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2017091620170904
1725993refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2017091620170904
1728171refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2017091620170904
1730313refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2017091620170904
1730358refgcc -m32 -march=i386 -O -fomit-frame-pointer2017091620170904
1737090refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2017091620170904
1738026refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2017091620170904
1740465refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2017091620170904
1749060refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2017091620170904
1750050refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2017091620170904
1756908refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2017091620170904
1760517refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2017091620170904
1761912refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2017091620170904
1773261refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2017091620170904
1774881refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2017091620170904
1776564refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2017091620170904
1783080refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2017091620170904
1792233refgcc -m32 -march=i486 -O -fomit-frame-pointer2017091620170904
1796211refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2017091620170904
1801962refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2017091620170904
1815390refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2017091620170904
1818585refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2017091620170904
1823841refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2017091620170904
1824246refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2017091620170904
1837269refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2017091620170904
1840419refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2017091620170904
1843821refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2017091620170904
1849419refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2017091620170904
1850175refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2017091620170904
1851597refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017091620170904
1861902refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2017091620170904
1862559refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2017091620170904
1885014refgcc -m32 -march=k8 -O -fomit-frame-pointer2017091620170904
1886778refgcc -m32 -march=corei7 -O -fomit-frame-pointer2017091620170904
1887003refgcc -m32 -march=k6 -O -fomit-frame-pointer2017091620170904
1896867refgcc -m32 -march=barcelona -O -fomit-frame-pointer2017091620170904
1898001refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2017091620170904
1901187refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2017091620170904
1929987refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2017091620170904
1931634refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2017091620170904
1937394refgcc -m32 -march=k8 -Os -fomit-frame-pointer2017091620170904
1941138refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2017091620170904
1943019refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2017091620170904
1947744refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2017091620170904
1950120refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2017091620170904
1953054refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2017091620170904
1955556refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2017091620170904
1958130refgcc -m32 -march=nocona -Os -fomit-frame-pointer2017091620170904
1959660refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2017091620170904
1962612refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2017091620170904
1965969refgcc -m32 -march=k6 -Os -fomit-frame-pointer2017091620170904
1971270refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2017091620170904
1972818refgcc -m32 -march=i386 -Os -fomit-frame-pointer2017091620170904
1979811refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2017091620170904
1993212refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2017091620170904
1995165refgcc -m32 -march=pentium -Os -fomit-frame-pointer2017091620170904
1999179refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2017091620170904
2004003refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2017091620170904
2035233refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2017091620170904
2043423refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2017091620170904
2051622refgcc -m32 -Os -fomit-frame-pointer2017091620170904
2059380refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2017091620170904
2061954refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2017091620170904
2068371refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2017091620170904
2075265refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2017091620170904
2078010refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2017091620170904
2095218refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2017091620170904
2100537refgcc -m32 -march=i486 -Os -fomit-frame-pointer2017091620170904
2103597refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2017091620170904
2105262refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2017091620170904
2119392refgcc -m32 -march=pentium -O -fomit-frame-pointer2017091620170904
2125656refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2017091620170904
2130237refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2017091620170904
2163384refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2017091620170904
2198007refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2017091620170904
2201904refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2017091620170904
2202975refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2017091620170904
2211624refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2017091620170904
2247273refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2017091620170904
2247525refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2017091620170904
2258172refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2017091620170904
2333349refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2017091620170904
2342160refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2017091620170904
2351781refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2017091620170904
2356479refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2017091620170904
2364084refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2017091620170904
2369457refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2017091620170904
2372346refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2017091620170904
2383533refgcc -m32 -march=prescott -Os -fomit-frame-pointer2017091620170904
2387034refgcc -m32 -march=athlon -Os -fomit-frame-pointer2017091620170904
2392947refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2017091620170904
2396781refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2017091620170904
2398869refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2017091620170904
2407896refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2017091620170904
2421504refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2017091620170904
2530953refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2017091620170904
2647557refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2017091620170904
2662479refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2017091620170904
2686653refgcc -m32 -march=core2 -Os -fomit-frame-pointer2017091620170904
2741409refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2017091620170904
3212091refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2017091620170904

Test failure

Implementation: crypto_sign/pflash1/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_sign/pflash1/ref
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
SignScheme.c: SignScheme.c: In function 'signatureofshorthash':
SignScheme.c: SignScheme.c:211:2: warning: passing argument 1 of 'SignScheme_sign' discards 'const' qualifier from pointer target type [enabled by default]
SignScheme.c: SignScheme_sign( sk , h , mlen , sm );
SignScheme.c: ^
SignScheme.c: SignScheme.c:95:5: note: expected 'byte *' but argument is of type 'const unsigned char *'
SignScheme.c: int SignScheme_sign( byte * pri , byte * Y , int Ylen , byte * outX )
SignScheme.c: ^
SignScheme.c: SignScheme.c: In function 'verification':
SignScheme.c: SignScheme.c:227:2: warning: passing argument 1 of 'SignScheme_GMap' discards 'const' qualifier from pointer target type [enabled by default]
SignScheme.c: SignScheme_GMap( pk , sm , h );
SignScheme.c: ^
SignScheme.c: SignScheme.c:152:5: note: expected 'byte *' but argument is of type 'const unsigned char *'
SignScheme.c: int SignScheme_GMap( byte * pub , byte * X , byte * outY )
SignScheme.c: ^
SignScheme.c: SignScheme.c:227:2: warning: passing argument 2 of 'SignScheme_GMap' discards 'const' qualifier from pointer target type [enabled by default]
SignScheme.c: SignScheme_GMap( pk , sm , h );
SignScheme.c: ^
SignScheme.c: SignScheme.c:152:5: note: expected 'byte *' but argument is of type 'const unsigned char *'
SignScheme.c: int SignScheme_GMap( byte * pub , byte * X , byte * outY )
SignScheme.c: ^

Number of similar (compiler,implementation) pairs: 166, namely:
CompilerImplementations
gcc -funroll-loops -m32 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer ref
gcc -m32 -O2 -fomit-frame-pointer ref
gcc -m32 -O3 -fomit-frame-pointer ref
gcc -m32 -O -fomit-frame-pointer ref
gcc -m32 -Os -fomit-frame-pointer ref
gcc -m32 -march=athlon -O2 -fomit-frame-pointer ref
gcc -m32 -march=athlon -O3 -fomit-frame-pointer ref
gcc -m32 -march=athlon -O -fomit-frame-pointer ref
gcc -m32 -march=athlon -Os -fomit-frame-pointer ref
gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer ref
gcc -m32 -march=core-avx-i -O -fomit-frame-pointer ref
gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer ref
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
gcc -m32 -march=core2 -O2 -fomit-frame-pointer ref
gcc -m32 -march=core2 -O3 -fomit-frame-pointer ref
gcc -m32 -march=core2 -O -fomit-frame-pointer ref
gcc -m32 -march=core2 -Os -fomit-frame-pointer ref
gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref
gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer ref
gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer ref
gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer ref
gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer ref
gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer ref
gcc -m32 -march=corei7-avx -O -fomit-frame-pointer ref
gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer ref
gcc -m32 -march=corei7 -O2 -fomit-frame-pointer ref
gcc -m32 -march=corei7 -O -fomit-frame-pointer ref
gcc -m32 -march=corei7 -Os -fomit-frame-pointer ref
gcc -m32 -march=i386 -O2 -fomit-frame-pointer ref
gcc -m32 -march=i386 -O3 -fomit-frame-pointer ref
gcc -m32 -march=i386 -O -fomit-frame-pointer ref
gcc -m32 -march=i386 -Os -fomit-frame-pointer ref
gcc -m32 -march=i486 -O2 -fomit-frame-pointer ref
gcc -m32 -march=i486 -O3 -fomit-frame-pointer ref
gcc -m32 -march=i486 -O -fomit-frame-pointer ref
gcc -m32 -march=i486 -Os -fomit-frame-pointer ref
gcc -m32 -march=k6-2 -O2 -fomit-frame-pointer ref
gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer ref
gcc -m32 -march=k6-2 -O -fomit-frame-pointer ref
gcc -m32 -march=k6-2 -Os -fomit-frame-pointer ref
gcc -m32 -march=k6-3 -O2 -fomit-frame-pointer ref
gcc -m32 -march=k6-3 -O3 -fomit-frame-pointer ref
gcc -m32 -march=k6-3 -O -fomit-frame-pointer ref
gcc -m32 -march=k6-3 -Os -fomit-frame-pointer ref
gcc -m32 -march=k6 -O2 -fomit-frame-pointer ref
gcc -m32 -march=k6 -O3 -fomit-frame-pointer ref
gcc -m32 -march=k6 -O -fomit-frame-pointer ref
gcc -m32 -march=k6 -Os -fomit-frame-pointer ref
gcc -m32 -march=k8 -O2 -fomit-frame-pointer ref
gcc -m32 -march=k8 -O3 -fomit-frame-pointer ref
gcc -m32 -march=k8 -O -fomit-frame-pointer ref
gcc -m32 -march=k8 -Os -fomit-frame-pointer ref
gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer ref
gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer ref
gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer ref
gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer ref
gcc -m32 -march=nocona -O2 -fomit-frame-pointer ref
gcc -m32 -march=nocona -O3 -fomit-frame-pointer ref
gcc -m32 -march=nocona -O -fomit-frame-pointer ref
gcc -m32 -march=nocona -Os -fomit-frame-pointer ref
gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer ref
gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer ref
gcc -m32 -march=pentium-m -O -fomit-frame-pointer ref
gcc -m32 -march=pentium-m -Os -fomit-frame-pointer ref
gcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer ref
gcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer ref
gcc -m32 -march=pentium-mmx -O -fomit-frame-pointer ref
gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer ref
gcc -m32 -march=pentium2 -O2 -fomit-frame-pointer ref
gcc -m32 -march=pentium2 -O3 -fomit-frame-pointer ref
gcc -m32 -march=pentium2 -O -fomit-frame-pointer ref
gcc -m32 -march=pentium2 -Os -fomit-frame-pointer ref
gcc -m32 -march=pentium3 -O2 -fomit-frame-pointer ref
gcc -m32 -march=pentium3 -O3 -fomit-frame-pointer ref
gcc -m32 -march=pentium3 -O -fomit-frame-pointer ref
gcc -m32 -march=pentium3 -Os -fomit-frame-pointer ref
gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer ref
gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer ref
gcc -m32 -march=pentium4 -O -fomit-frame-pointer ref
gcc -m32 -march=pentium4 -Os -fomit-frame-pointer ref
gcc -m32 -march=pentium -O2 -fomit-frame-pointer ref
gcc -m32 -march=pentium -O3 -fomit-frame-pointer ref
gcc -m32 -march=pentium -O -fomit-frame-pointer ref
gcc -m32 -march=pentium -Os -fomit-frame-pointer ref
gcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer ref
gcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer ref
gcc -m32 -march=pentiumpro -O -fomit-frame-pointer ref
gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer ref
gcc -m32 -march=prescott -O2 -fomit-frame-pointer ref
gcc -m32 -march=prescott -O3 -fomit-frame-pointer ref
gcc -m32 -march=prescott -O -fomit-frame-pointer ref
gcc -m32 -march=prescott -Os -fomit-frame-pointer ref

Compiler output

Implementation: crypto_sign/pflash1/ref
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
SignScheme.c: SignScheme.c: In function 'signatureofshorthash':
SignScheme.c: SignScheme.c:211:2: warning: passing argument 1 of 'SignScheme_sign' discards 'const' qualifier from pointer target type [enabled by default]
SignScheme.c: SignScheme_sign( sk , h , mlen , sm );
SignScheme.c: ^
SignScheme.c: SignScheme.c:95:5: note: expected 'byte *' but argument is of type 'const unsigned char *'
SignScheme.c: int SignScheme_sign( byte * pri , byte * Y , int Ylen , byte * outX )
SignScheme.c: ^
SignScheme.c: SignScheme.c: In function 'verification':
SignScheme.c: SignScheme.c:227:2: warning: passing argument 1 of 'SignScheme_GMap' discards 'const' qualifier from pointer target type [enabled by default]
SignScheme.c: SignScheme_GMap( pk , sm , h );
SignScheme.c: ^
SignScheme.c: SignScheme.c:152:5: note: expected 'byte *' but argument is of type 'const unsigned char *'
SignScheme.c: int SignScheme_GMap( byte * pub , byte * X , byte * outY )
SignScheme.c: ^
SignScheme.c: SignScheme.c:227:2: warning: passing argument 2 of 'SignScheme_GMap' discards 'const' qualifier from pointer target type [enabled by default]
SignScheme.c: SignScheme_GMap( pk , sm , h );
SignScheme.c: ^
SignScheme.c: SignScheme.c:152:5: note: expected 'byte *' but argument is of type 'const unsigned char *'
SignScheme.c: int SignScheme_GMap( byte * pub , byte * X , byte * outY )
SignScheme.c: ^
SignScheme.c: SignScheme.c: In function 'signatureofshorthash':
SignScheme.c: SignScheme.c:211:2: warning: passing argument 1 of 'SignScheme_sign' discards 'const' qualifier from pointer target type [enabled by default]
SignScheme.c: SignScheme_sign( sk , h , mlen , sm );
SignScheme.c: ^
SignScheme.c: SignScheme.c:95:5: note: expected 'byte *' but argument is of type 'const unsigned char *'
SignScheme.c: int SignScheme_sign( byte * pri , byte * Y , int Ylen , byte * outX )
SignScheme.c: ^
SignScheme.c: SignScheme.c: In function 'verification':
SignScheme.c: SignScheme.c:227:2: warning: passing argument 1 of 'SignScheme_GMap' discards 'const' qualifier from pointer target type [enabled by default]
SignScheme.c: SignScheme_GMap( pk , sm , h );
SignScheme.c: ^
SignScheme.c: SignScheme.c:152:5: note: expected 'byte *' but argument is of type 'const unsigned char *'
SignScheme.c: int SignScheme_GMap( byte * pub , byte * X , byte * outY )
SignScheme.c: ^
SignScheme.c: SignScheme.c:227:2: warning: passing argument 2 of 'SignScheme_GMap' discards 'const' qualifier from pointer target type [enabled by default]
SignScheme.c: SignScheme_GMap( pk , sm , h );
SignScheme.c: ^
SignScheme.c: SignScheme.c:152:5: note: expected 'byte *' but argument is of type 'const unsigned char *'
SignScheme.c: int SignScheme_GMap( byte * pub , byte * X , byte * outY )
SignScheme.c: ^

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