Implementation notes: x86, h2atom, crypto_scalarmult/nistp256

Computer: h2atom
Architecture: x86
CPU ID: GenuineIntel-000106ca-bfe9fbff
SUPERCOP version: 20161009
Operation: crypto_scalarmult
Primitive: nistp256
TimeImplementationCompilerBenchmark dateSUPERCOP version
17143510mj32gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2016120920161009
17187360mj32gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2016120920161009
17208710mj32gcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2016120920161009
17210920mj32gcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2016120920161009
17365540mj32gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2016120920161009
17366780mj32gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2016120920161009
17371750mj32gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2016120920161009
17385140mj32gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2016120920161009
17412050mj32gcc -funroll-loops -m32 -O2 -fomit-frame-pointer2016120920161009
17466240mj32gcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2016120920161009
17466410mj32gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2016120920161009
17466810mj32gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2016120920161009
17467220mj32gcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2016120920161009
17722170mj32gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2016120920161009
17907760mj32gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2016120920161009
18021100mj32gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2016120920161009
18022410mj32gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2016120920161009
18157270mj32gcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2016120920161009
18157280mj32gcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2016120920161009
18257830mj32gcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2016120920161009
18267720mj32gcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2016120920161009
18268390mj32gcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2016120920161009
18299350mj32gcc -m32 -march=core2 -O3 -fomit-frame-pointer2016120920161009
18332060mj32gcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2016120920161009
18332090mj32gcc -m32 -march=pentium -O3 -fomit-frame-pointer2016120920161009
18394060mj32gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2016120920161009
18404640mj32gcc -funroll-loops -m32 -O3 -fomit-frame-pointer2016120920161009
18458120mj32gcc -m32 -march=athlon -O3 -fomit-frame-pointer2016120920161009
18527170mj32gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2016120920161009
18527370mj32gcc -m32 -O3 -fomit-frame-pointer2016120920161009
18548370mj32gcc -m32 -march=k8 -O3 -fomit-frame-pointer2016120920161009
18601710mj32gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2016120920161009
18613170mj32gcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2016120920161009
18616480mj32gcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2016120920161009
18670310mj32gcc -m32 -march=barcelona -O3 -fomit-frame-pointer2016120920161009
18709870mj32gcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2016120920161009
18832960mj32gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2016120920161009
18837900mj32gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2016120920161009
18842790mj32gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2016120920161009
18874770mj32gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2016120920161009
18931230mj32gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2016120920161009
18942180mj32gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2016120920161009
18944840mj32gcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2016120920161009
18946190mj32gcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2016120920161009
18994970mj32gcc -m32 -march=prescott -O3 -fomit-frame-pointer2016120920161009
18997860mj32gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2016120920161009
18997870mj32gcc -m32 -march=k6 -O3 -fomit-frame-pointer2016120920161009
18998090mj32gcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2016120920161009
19026450mj32gcc -m32 -march=nocona -O3 -fomit-frame-pointer2016120920161009
19044090mj32gcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2016120920161009
19116930mj32gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2016120920161009
19123110mj32gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2016120920161009
19331680mj32gcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2016120920161009
19333300mj32gcc -m32 -march=i386 -O3 -fomit-frame-pointer2016120920161009
19386750mj32gcc -m32 -march=i486 -O3 -fomit-frame-pointer2016120920161009
19387040mj32gcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2016120920161009
24015960mj32gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2016120920161009
24719700mj32gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2016120920161009
24766580mj32gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2016120920161009
24770600mj32gcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2016120920161009
24782370mj32gcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2016120920161009
24783590mj32gcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2016120920161009
24790650mj32gcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2016120920161009
24800470mj32gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2016120920161009
25091800mj32gcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2016120920161009
25113540mj32gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2016120920161009
25117510mj32gcc -funroll-loops -m32 -O -fomit-frame-pointer2016120920161009
25119960mj32gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2016120920161009
25135450mj32gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2016120920161009
25139620mj32gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2016120920161009
25228220mj32gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2016120920161009
25232490mj32gcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2016120920161009
25251310mj32gcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2016120920161009
25487300mj32gcc -m32 -march=athlon -O2 -fomit-frame-pointer2016120920161009
25673150mj32gcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2016120920161009
25674010mj32gcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2016120920161009
25733870mj32gcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2016120920161009
25733910mj32gcc -m32 -march=pentium -O2 -fomit-frame-pointer2016120920161009
25790810mj32gcc -m32 -march=k8 -O2 -fomit-frame-pointer2016120920161009
25843870mj32gcc -m32 -march=barcelona -O2 -fomit-frame-pointer2016120920161009
25896960mj32gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2016120920161009
25905950mj32gcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2016120920161009
25915760mj32gcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2016120920161009
25917340mj32gcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2016120920161009
26023370mj32gcc -m32 -O2 -fomit-frame-pointer2016120920161009
26128620mj32gcc -m32 -march=core2 -O2 -fomit-frame-pointer2016120920161009
26133170mj32gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2016120920161009
26151810mj32gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016120920161009
26285990mj32gcc -m32 -march=corei7 -O2 -fomit-frame-pointer2016120920161009
26459910mj32gcc -m32 -march=prescott -O2 -fomit-frame-pointer2016120920161009
26460620mj32gcc -m32 -march=nocona -O2 -fomit-frame-pointer2016120920161009
26479850mj32gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2016120920161009
26592910mj32gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2016120920161009
26752080mj32gcc -m32 -Os -fomit-frame-pointer2016120920161009
26752380mj32gcc -m32 -march=athlon -Os -fomit-frame-pointer2016120920161009
26780300mj32gcc -m32 -march=barcelona -Os -fomit-frame-pointer2016120920161009
26781210mj32gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2016120920161009
26783590mj32gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2016120920161009
26791660mj32gcc -m32 -march=k8 -Os -fomit-frame-pointer2016120920161009
26822390mj32gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2016120920161009
26822580mj32gcc -m32 -march=pentium -Os -fomit-frame-pointer2016120920161009
26848590mj32gcc -funroll-loops -m32 -Os -fomit-frame-pointer2016120920161009
26861220mj32gcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2016120920161009
26905530mj32gcc -m32 -march=i386 -O2 -fomit-frame-pointer2016120920161009
26946900mj32gcc -m32 -march=core2 -Os -fomit-frame-pointer2016120920161009
26947440mj32gcc -m32 -march=corei7 -Os -fomit-frame-pointer2016120920161009
26947680mj32gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2016120920161009
26949250mj32gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016120920161009
26980560mj32gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2016120920161009
26981000mj32gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2016120920161009
26982340mj32gcc -m32 -march=pentium2 -Os -fomit-frame-pointer2016120920161009
26982430mj32gcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2016120920161009
26983090mj32gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2016120920161009
26993890mj32gcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2016120920161009
27016550mj32gcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2016120920161009
27017200mj32gcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2016120920161009
27017950mj32gcc -m32 -march=k6 -O2 -fomit-frame-pointer2016120920161009
27024370mj32gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2016120920161009
27036280mj32gcc -m32 -march=pentium-m -Os -fomit-frame-pointer2016120920161009
27037280mj32gcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2016120920161009
27037650mj32gcc -m32 -march=pentium3 -Os -fomit-frame-pointer2016120920161009
27086230mj32gcc -m32 -march=i486 -O2 -fomit-frame-pointer2016120920161009
27979690mj32gcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2016120920161009
27980250mj32gcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2016120920161009
27982470mj32gcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2016120920161009
27984550mj32gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2016120920161009
27986610mj32gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2016120920161009
27988430mj32gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2016120920161009
27990650mj32gcc -m32 -march=prescott -Os -fomit-frame-pointer2016120920161009
27991460mj32gcc -m32 -march=pentium4 -Os -fomit-frame-pointer2016120920161009
27992510mj32gcc -m32 -march=nocona -Os -fomit-frame-pointer2016120920161009
28265280mj32gcc -m32 -march=i386 -Os -fomit-frame-pointer2016120920161009
28266040mj32gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2016120920161009
28267090mj32gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2016120920161009
28269550mj32gcc -m32 -march=i486 -Os -fomit-frame-pointer2016120920161009
28351110mj32gcc -m32 -march=k6-3 -Os -fomit-frame-pointer2016120920161009
28352360mj32gcc -m32 -march=k6 -Os -fomit-frame-pointer2016120920161009
28387770mj32gcc -m32 -march=k6-2 -Os -fomit-frame-pointer2016120920161009
37216780mj32gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2016120920161009
37790860mj32gcc -m32 -march=athlon -O -fomit-frame-pointer2016120920161009
37835590mj32gcc -m32 -march=pentium4 -O -fomit-frame-pointer2016120920161009
38022810mj32gcc -m32 -march=prescott -O -fomit-frame-pointer2016120920161009
38025330mj32gcc -m32 -march=nocona -O -fomit-frame-pointer2016120920161009
38184700mj32gcc -m32 -march=pentium -O -fomit-frame-pointer2016120920161009
38191450mj32gcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2016120920161009
38241380mj32gcc -m32 -march=pentium-m -O -fomit-frame-pointer2016120920161009
38241690mj32gcc -m32 -march=pentium2 -O -fomit-frame-pointer2016120920161009
38242010mj32gcc -m32 -march=pentium3 -O -fomit-frame-pointer2016120920161009
38242540mj32gcc -m32 -march=pentiumpro -O -fomit-frame-pointer2016120920161009
38362140mj32gcc -m32 -march=i386 -O -fomit-frame-pointer2016120920161009
38411240mj32gcc -m32 -march=core2 -O -fomit-frame-pointer2016120920161009
38413700mj32gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2016120920161009
38427620mj32gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2016120920161009
38449770mj32gcc -m32 -march=k8 -O -fomit-frame-pointer2016120920161009
38629340mj32gcc -m32 -march=k6-3 -O -fomit-frame-pointer2016120920161009
38629910mj32gcc -m32 -march=k6-2 -O -fomit-frame-pointer2016120920161009
38638960mj32gcc -m32 -march=k6 -O -fomit-frame-pointer2016120920161009
38848600mj32gcc -m32 -O -fomit-frame-pointer2016120920161009
39065650mj32gcc -m32 -march=i486 -O -fomit-frame-pointer2016120920161009
39382320mj32gcc -m32 -march=barcelona -O -fomit-frame-pointer2016120920161009
39640010mj32gcc -m32 -march=corei7 -O -fomit-frame-pointer2016120920161009

Test failure

Implementation: crypto_scalarmult/nistp256/mj32
Compiler: gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer mj32
gcc -m32 -march=core-avx-i -O -fomit-frame-pointer mj32
gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer mj32
gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer mj32
gcc -m32 -march=core-avx2 -O -fomit-frame-pointer mj32
gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer mj32
gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer mj32
gcc -m32 -march=corei7-avx -O -fomit-frame-pointer mj32
gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer mj32

Compiler output

Implementation: crypto_scalarmult/nistp256/mj32
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
gep256.c: gep256.c: In function 'isneutral':
gep256.c: gep256.c:83:28: warning: 'sizeof' on array function parameter 'p' will return size of 'crypto_uint32 (*)[8] {aka unsigned int (*)[8]}' [-Wsizeof-array-argument]
gep256.c: for (i = 0; i gep256.c: ^
gep256.c: gep256.c:78:29: note: declared here
gep256.c: static int isneutral(gep256 p) {
gep256.c: ^
gep256.c: gep256.c: In function 'isneutral_precomp':
gep256.c: gep256.c:92:28: warning: 'sizeof' on array function parameter 'p' will return size of 'crypto_uint32 (*)[8] {aka unsigned int (*)[8]}' [-Wsizeof-array-argument]
gep256.c: for (i = 0; i gep256.c: ^
gep256.c: gep256.c:87:45: note: declared here
gep256.c: static int isneutral_precomp(gep256_precomp p) {
gep256.c: ^

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

Compiler output

Implementation: crypto_scalarmult/nistp256/mj32
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
gep256.c: gep256.c: In function 'isneutral':
gep256.c: gep256.c:83:28: warning: 'sizeof' on array function parameter 'p' will return size of 'crypto_uint32 (*)[8] {aka unsigned int (*)[8]}' [-Wsizeof-array-argument]
gep256.c: for (i = 0; i gep256.c: ^
gep256.c: gep256.c:78:29: note: declared here
gep256.c: static int isneutral(gep256 p) {
gep256.c: ^
gep256.c: gep256.c: In function 'isneutral_precomp':
gep256.c: gep256.c:92:28: warning: 'sizeof' on array function parameter 'p' will return size of 'crypto_uint32 (*)[8] {aka unsigned int (*)[8]}' [-Wsizeof-array-argument]
gep256.c: for (i = 0; i gep256.c: ^
gep256.c: gep256.c:87:45: note: declared here
gep256.c: static int isneutral_precomp(gep256_precomp p) {
gep256.c: ^
gep256.c: gep256.c: In function 'isneutral':
gep256.c: gep256.c:83:28: warning: 'sizeof' on array function parameter 'p' will return size of 'crypto_uint32 (*)[8] {aka unsigned int (*)[8]}' [-Wsizeof-array-argument]
gep256.c: for (i = 0; i gep256.c: ^
gep256.c: gep256.c:78:29: note: declared here
gep256.c: static int isneutral(gep256 p) {
gep256.c: ^
gep256.c: gep256.c: In function 'isneutral_precomp':
gep256.c: gep256.c:92:28: warning: 'sizeof' on array function parameter 'p' will return size of 'crypto_uint32 (*)[8] {aka unsigned int (*)[8]}' [-Wsizeof-array-argument]
gep256.c: for (i = 0; i gep256.c: ^
gep256.c: gep256.c:87:45: note: declared here
gep256.c: static int isneutral_precomp(gep256_precomp p) {
gep256.c: ^

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