Implementation notes: x86, katana, crypto_scalarmult/nistp256

Computer: katana
Architecture: x86
CPU ID: GenuineIntel-000006f6-bfebfbff
SUPERCOP version: 20170105
Operation: crypto_scalarmult
Primitive: nistp256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
8298792? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentiumpro_-O2_-fomit-frame-pointer2016102920161009
8314904? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentium3_-O2_-fomit-frame-pointer2016102920161009
8322768? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentium-m_-O2_-fomit-frame-pointer2016102920161009
8339400? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentium2_-O2_-fomit-frame-pointer2016102920161009
8342448? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=barcelona_-O2_-fomit-frame-pointer2016102920161009
8363448? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=k8_-O2_-fomit-frame-pointer2016102920161009
8391224? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-O2_-fomit-frame-pointer2016102920161009
8474392? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=athlon_-O2_-fomit-frame-pointer2016102920161009
8521672? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentium4_-O2_-fomit-frame-pointer2016102920161009
8532048? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=nocona_-O2_-fomit-frame-pointer2016102920161009
8539928? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=prescott_-O2_-fomit-frame-pointer2016102920161009
8555104? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=k6-3_-O2_-fomit-frame-pointer2016102920161009
8570080? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentium-mmx_-O2_-fomit-frame-pointer2016102920161009
8581416? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=k6-2_-O2_-fomit-frame-pointer2016102920161009
8581984? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=k6_-O2_-fomit-frame-pointer2016102920161009
8588856? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentium_-O2_-fomit-frame-pointer2016102920161009
8707104? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=i386_-O2_-fomit-frame-pointer2016102920161009
8744472? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=i486_-O2_-fomit-frame-pointer2016102920161009
8922944? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-O3_-fomit-frame-pointer2016102920161009
8943504? ? ?? ? ?mj32gcc_-m32_-march=athlon_-O3_-fomit-frame-pointer2016102920161009
8957736? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=athlon_-O3_-fomit-frame-pointer2016102920161009
8959816? ? ?? ? ?mj32gcc_-m32_-O3_-fomit-frame-pointer2016102920161009
8999272? ? ?? ? ?mj32gcc_-m32_-march=native_-mtune=native_-O3_-fomit-frame-pointer2016102920161009
9005336? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentiumpro_-O3_-fomit-frame-pointer2016102920161009
9020736? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentium2_-O3_-fomit-frame-pointer2016102920161009
9047208? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentium3_-O3_-fomit-frame-pointer2016102920161009
9054680? ? ?? ? ?mj32gcc_-m32_-march=pentiumpro_-O3_-fomit-frame-pointer2016102920161009
9080248? ? ?? ? ?mj32gcc_-m32_-march=pentium2_-O3_-fomit-frame-pointer2016102920161009
9137664? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentium_-O3_-fomit-frame-pointer2016102920161009
9139488? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentium-m_-O3_-fomit-frame-pointer2016102920161009
9144608? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentium-mmx_-O3_-fomit-frame-pointer2016102920161009
9156160? ? ?? ? ?mj32gcc_-m32_-march=core2_-O3_-fomit-frame-pointer2016102920161009
9179808? ? ?? ? ?mj32gcc_-m32_-march=pentium-mmx_-O3_-fomit-frame-pointer2016102920161009
9184048? ? ?? ? ?mj32gcc_-m32_-march=pentium_-O3_-fomit-frame-pointer2016102920161009
9215800? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=barcelona_-O3_-fomit-frame-pointer2016102920161009
9246936? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentium4_-O3_-fomit-frame-pointer2016102920161009
9254712? ? ?? ? ?mj32gcc_-m32_-march=prescott_-O3_-fomit-frame-pointer2016102920161009
9263312? ? ?? ? ?mj32gcc_-m32_-march=k8_-O3_-fomit-frame-pointer2016102920161009
9264584? ? ?? ? ?mj32gcc_-m32_-march=pentium4_-O3_-fomit-frame-pointer2016102920161009
9286672? ? ?? ? ?mj32gcc_-m32_-march=nocona_-O3_-fomit-frame-pointer2016102920161009
9287360? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=i386_-O3_-fomit-frame-pointer2016102920161009
9298992? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=k8_-O3_-fomit-frame-pointer2016102920161009
9302112? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=k6-3_-O3_-fomit-frame-pointer2016102920161009
9318184? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=k6-2_-O3_-fomit-frame-pointer2016102920161009
9322984? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=k6_-O3_-fomit-frame-pointer2016102920161009
9326952? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=i486_-O3_-fomit-frame-pointer2016102920161009
9336424? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=prescott_-O3_-fomit-frame-pointer2016102920161009
9343376? ? ?? ? ?mj32gcc_-m32_-march=k6-2_-O3_-fomit-frame-pointer2016102920161009
9349288? ? ?? ? ?mj32gcc_-m32_-march=k6_-O3_-fomit-frame-pointer2016102920161009
9361280? ? ?? ? ?mj32gcc_-m32_-march=k6-3_-O3_-fomit-frame-pointer2016102920161009
9377600? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=nocona_-O3_-fomit-frame-pointer2016102920161009
9381280? ? ?? ? ?mj32gcc_-m32_-march=i486_-O3_-fomit-frame-pointer2016102920161009
9382016? ? ?? ? ?mj32gcc_-m32_-march=i386_-O3_-fomit-frame-pointer2016102920161009
9391392? ? ?? ? ?mj32gcc_-m32_-march=pentium-m_-O3_-fomit-frame-pointer2016102920161009
9467200? ? ?? ? ?mj32gcc_-m32_-march=barcelona_-O3_-fomit-frame-pointer2016102920161009
10736792? ? ?? ? ?mj32gcc_-m32_-march=pentium3_-O3_-fomit-frame-pointer2016102920161009
11112400? ? ?? ? ?mj32gcc_-m32_-march=athlon_-O2_-fomit-frame-pointer2016102920161009
11163360? ? ?? ? ?mj32gcc_-m32_-march=prescott_-O2_-fomit-frame-pointer2016102920161009
11187984? ? ?? ? ?mj32gcc_-m32_-march=pentium2_-O2_-fomit-frame-pointer2016102920161009
11189136? ? ?? ? ?mj32gcc_-m32_-march=pentiumpro_-O2_-fomit-frame-pointer2016102920161009
11190248? ? ?? ? ?mj32gcc_-m32_-march=pentium-m_-O2_-fomit-frame-pointer2016102920161009
11195936? ? ?? ? ?mj32gcc_-m32_-march=nocona_-O2_-fomit-frame-pointer2016102920161009
11202256? ? ?? ? ?mj32gcc_-m32_-march=k8_-O2_-fomit-frame-pointer2016102920161009
11207576? ? ?? ? ?mj32gcc_-m32_-march=pentium3_-O2_-fomit-frame-pointer2016102920161009
11211352? ? ?? ? ?mj32gcc_-m32_-march=barcelona_-O2_-fomit-frame-pointer2016102920161009
11243672? ? ?? ? ?mj32gcc_-m32_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2016102920161009
11248528? ? ?? ? ?mj32gcc_-m32_-march=corei7_-O2_-fomit-frame-pointer2016102920161009
11276320? ? ?? ? ?mj32gcc_-m32_-march=i486_-O2_-fomit-frame-pointer2016102920161009
11283848? ? ?? ? ?mj32gcc_-m32_-march=native_-mtune=native_-O2_-fomit-frame-pointer2016102920161009
11287512? ? ?? ? ?mj32gcc_-m32_-march=pentium4_-O2_-fomit-frame-pointer2016102920161009
11288424? ? ?? ? ?mj32gcc_-m32_-O2_-fomit-frame-pointer2016102920161009
11288608? ? ?? ? ?mj32gcc_-m32_-march=core2_-msse4_-O2_-fomit-frame-pointer2016102920161009
11297144? ? ?? ? ?mj32gcc_-m32_-march=core2_-O2_-fomit-frame-pointer2016102920161009
11330136? ? ?? ? ?mj32gcc_-m32_-march=i386_-O2_-fomit-frame-pointer2016102920161009
11349960? ? ?? ? ?mj32gcc_-m32_-march=pentium_-O2_-fomit-frame-pointer2016102920161009
11390456? ? ?? ? ?mj32gcc_-m32_-march=pentium-mmx_-O2_-fomit-frame-pointer2016102920161009
11506264? ? ?? ? ?mj32gcc_-m32_-march=pentium3_-Os_-fomit-frame-pointer2016102920161009
11532488? ? ?? ? ?mj32gcc_-m32_-march=barcelona_-Os_-fomit-frame-pointer2016102920161009
11542856? ? ?? ? ?mj32gcc_-m32_-Os_-fomit-frame-pointer2016102920161009
11552920? ? ?? ? ?mj32gcc_-m32_-march=pentium-m_-Os_-fomit-frame-pointer2016102920161009
11562688? ? ?? ? ?mj32gcc_-m32_-march=core2_-Os_-fomit-frame-pointer2016102920161009
11575944? ? ?? ? ?mj32gcc_-m32_-march=k8_-Os_-fomit-frame-pointer2016102920161009
11578848? ? ?? ? ?mj32gcc_-m32_-march=core2_-msse4_-Os_-fomit-frame-pointer2016102920161009
11580064? ? ?? ? ?mj32gcc_-m32_-march=corei7_-Os_-fomit-frame-pointer2016102920161009
11588536? ? ?? ? ?mj32gcc_-m32_-march=native_-mtune=native_-Os_-fomit-frame-pointer2016102920161009
11601680? ? ?? ? ?mj32gcc_-m32_-march=pentiumpro_-Os_-fomit-frame-pointer2016102920161009
11602872? ? ?? ? ?mj32gcc_-m32_-march=pentium2_-Os_-fomit-frame-pointer2016102920161009
11613000? ? ?? ? ?mj32gcc_-m32_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2016102920161009
11613096? ? ?? ? ?mj32gcc_-m32_-march=athlon_-Os_-fomit-frame-pointer2016102920161009
11627864? ? ?? ? ?mj32gcc_-m32_-march=nocona_-Os_-fomit-frame-pointer2016102920161009
11651928? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=athlon_-Os_-fomit-frame-pointer2016102920161009
11660976? ? ?? ? ?mj32gcc_-m32_-march=pentium4_-Os_-fomit-frame-pointer2016102920161009
11664168? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-Os_-fomit-frame-pointer2016102920161009
11669528? ? ?? ? ?mj32gcc_-m32_-march=pentium-mmx_-Os_-fomit-frame-pointer2016102920161009
11671456? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentium3_-Os_-fomit-frame-pointer2016102920161009
11689376? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentiumpro_-Os_-fomit-frame-pointer2016102920161009
11698096? ? ?? ? ?mj32gcc_-m32_-march=pentium_-Os_-fomit-frame-pointer2016102920161009
11702184? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentium-m_-Os_-fomit-frame-pointer2016102920161009
11703304? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=barcelona_-Os_-fomit-frame-pointer2016102920161009
11705032? ? ?? ? ?mj32gcc_-m32_-march=prescott_-Os_-fomit-frame-pointer2016102920161009
11717896? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentium2_-Os_-fomit-frame-pointer2016102920161009
11790272? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=k8_-Os_-fomit-frame-pointer2016102920161009
11796992? ? ?? ? ?mj32gcc_-m32_-march=k6_-O2_-fomit-frame-pointer2016102920161009
11805048? ? ?? ? ?mj32gcc_-m32_-march=k6-2_-O2_-fomit-frame-pointer2016102920161009
11810504? ? ?? ? ?mj32gcc_-m32_-march=k6-3_-O2_-fomit-frame-pointer2016102920161009
11821952? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentium4_-Os_-fomit-frame-pointer2016102920161009
11833256? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=nocona_-Os_-fomit-frame-pointer2016102920161009
11843600? ? ?? ? ?mj32gcc_-m32_-march=i486_-Os_-fomit-frame-pointer2016102920161009
11845448? ? ?? ? ?mj32gcc_-m32_-march=i386_-Os_-fomit-frame-pointer2016102920161009
11868976? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=prescott_-Os_-fomit-frame-pointer2016102920161009
11880240? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentium-mmx_-Os_-fomit-frame-pointer2016102920161009
11885288? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentium_-Os_-fomit-frame-pointer2016102920161009
11914456? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=i386_-Os_-fomit-frame-pointer2016102920161009
12001128? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=i486_-Os_-fomit-frame-pointer2016102920161009
12019568? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=athlon_-O_-fomit-frame-pointer2016102920161009
12029704? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=barcelona_-O_-fomit-frame-pointer2016102920161009
12056048? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-O_-fomit-frame-pointer2016102920161009
12077864? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentium2_-O_-fomit-frame-pointer2016102920161009
12087944? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=k8_-O_-fomit-frame-pointer2016102920161009
12099344? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentiumpro_-O_-fomit-frame-pointer2016102920161009
12103800? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentium-m_-O_-fomit-frame-pointer2016102920161009
12134944? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentium3_-O_-fomit-frame-pointer2016102920161009
12220408? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=prescott_-O_-fomit-frame-pointer2016102920161009
12232952? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=nocona_-O_-fomit-frame-pointer2016102920161009
12330480? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=k6-3_-O_-fomit-frame-pointer2016102920161009
12348032? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=k6_-O_-fomit-frame-pointer2016102920161009
12350184? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentium4_-O_-fomit-frame-pointer2016102920161009
12397824? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=k6-2_-O_-fomit-frame-pointer2016102920161009
12410176? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentium_-O_-fomit-frame-pointer2016102920161009
12435632? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=pentium-mmx_-O_-fomit-frame-pointer2016102920161009
12473120? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=i486_-O_-fomit-frame-pointer2016102920161009
12521520? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=i386_-O_-fomit-frame-pointer2016102920161009
12629192? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=k6-2_-Os_-fomit-frame-pointer2016102920161009
12705088? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=k6-3_-Os_-fomit-frame-pointer2016102920161009
12744736? ? ?? ? ?mj32gcc_-funroll-loops_-m32_-march=k6_-Os_-fomit-frame-pointer2016102920161009
13847208? ? ?? ? ?mj32gcc_-m32_-march=k6-3_-Os_-fomit-frame-pointer2016102920161009
13867968? ? ?? ? ?mj32gcc_-m32_-march=k6-2_-Os_-fomit-frame-pointer2016102920161009
13870544? ? ?? ? ?mj32gcc_-m32_-march=k6_-Os_-fomit-frame-pointer2016102920161009
16962360? ? ?? ? ?mj32gcc_-m32_-march=prescott_-O_-fomit-frame-pointer2016102920161009
16974712? ? ?? ? ?mj32gcc_-m32_-march=nocona_-O_-fomit-frame-pointer2016102920161009
17045080? ? ?? ? ?mj32gcc_-m32_-march=pentium-m_-O_-fomit-frame-pointer2016102920161009
17052800? ? ?? ? ?mj32gcc_-m32_-march=pentium-mmx_-O_-fomit-frame-pointer2016102920161009
17088064? ? ?? ? ?mj32gcc_-m32_-march=k8_-O_-fomit-frame-pointer2016102920161009
17088520? ? ?? ? ?mj32gcc_-m32_-march=pentium3_-O_-fomit-frame-pointer2016102920161009
17129736? ? ?? ? ?mj32gcc_-m32_-march=athlon_-O_-fomit-frame-pointer2016102920161009
17149040? ? ?? ? ?mj32gcc_-m32_-march=core2_-msse4.1_-O_-fomit-frame-pointer2016102920161009
17175568? ? ?? ? ?mj32gcc_-m32_-march=core2_-msse4_-O_-fomit-frame-pointer2016102920161009
17180888? ? ?? ? ?mj32gcc_-m32_-march=native_-mtune=native_-O_-fomit-frame-pointer2016102920161009
17249344? ? ?? ? ?mj32gcc_-m32_-march=pentium_-O_-fomit-frame-pointer2016102920161009
17251016? ? ?? ? ?mj32gcc_-m32_-march=core2_-O_-fomit-frame-pointer2016102920161009
17348904? ? ?? ? ?mj32gcc_-m32_-march=i386_-O_-fomit-frame-pointer2016102920161009
17442112? ? ?? ? ?mj32gcc_-m32_-march=k6-3_-O_-fomit-frame-pointer2016102920161009
17446928? ? ?? ? ?mj32gcc_-m32_-march=k6_-O_-fomit-frame-pointer2016102920161009
17458176? ? ?? ? ?mj32gcc_-m32_-march=pentiumpro_-O_-fomit-frame-pointer2016102920161009
17459224? ? ?? ? ?mj32gcc_-m32_-march=pentium2_-O_-fomit-frame-pointer2016102920161009
17462088? ? ?? ? ?mj32gcc_-m32_-march=k6-2_-O_-fomit-frame-pointer2016102920161009
17534088? ? ?? ? ?mj32gcc_-m32_-march=pentium4_-O_-fomit-frame-pointer2016102920161009
17652160? ? ?? ? ?mj32gcc_-m32_-march=barcelona_-O_-fomit-frame-pointer2016102920161009
17660632? ? ?? ? ?mj32gcc_-m32_-march=i486_-O_-fomit-frame-pointer2016102920161009
18028200? ? ?? ? ?mj32gcc_-m32_-march=corei7_-O_-fomit-frame-pointer2016102920161009
18231768? ? ?? ? ?mj32gcc_-m32_-O_-fomit-frame-pointer2016102920161009

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 < sizeof p; ++i) x |= ((unsigned char *)p)[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 < sizeof p; ++i) x |= ((unsigned char *)p)[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 < sizeof p; ++i) x |= ((unsigned char *)p)[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 < sizeof p; ++i) x |= ((unsigned char *)p)[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 < sizeof p; ++i) x |= ((unsigned char *)p)[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 < sizeof p; ++i) x |= ((unsigned char *)p)[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