Implementation notes: amd64, hydra6, crypto_scalarmult/nistp256

Computer: hydra6
Architecture: amd64
CPU ID: AuthenticAMD-00600f12-178bfbff
SUPERCOP version: 20171218
Operation: crypto_scalarmult
Primitive: nistp256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
5376412? ? ?? ? ?mj32clang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017111320171020
5397858? ? ?? ? ?mj32clang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017111320171020
5413549? ? ?? ? ?mj32clang_-O3_-fomit-frame-pointer_-Qunused-arguments2017111320171020
5440336? ? ?? ? ?mj32clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017111320171020
5531625? ? ?? ? ?mj32clang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017111320171020
5541521? ? ?? ? ?mj32clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017111320171020
5585612? ? ?? ? ?mj32clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017111320171020
5592920? ? ?? ? ?mj32clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2017111320171020
5839294? ? ?? ? ?mj32gcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017111320171020
5900437? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017111320171020
5936182? ? ?? ? ?mj32gcc_-march=nocona_-O3_-fomit-frame-pointer2017111320171020
5942892? ? ?? ? ?mj32gcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017111320171020
5952898? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017111320171020
5975981? ? ?? ? ?mj32gcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017111320171020
6019595? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017111320171020
6021573? ? ?? ? ?mj32gcc_-funroll-loops_-O2_-fomit-frame-pointer2017111320171020
6043269? ? ?? ? ?mj32gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017111320171020
6045325? ? ?? ? ?mj32gcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017111320171020
6051335? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017111320171020
6100170? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017111320171020
6156038? ? ?? ? ?mj32gcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017111320171020
6207133? ? ?? ? ?mj32gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017111320171020
6219407? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017111320171020
6227512? ? ?? ? ?mj32gcc_-funroll-loops_-O3_-fomit-frame-pointer2017111320171020
6254083? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017111320171020
6263282? ? ?? ? ?mj32gcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017111320171020
6272637? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017111320171020
6279643? ? ?? ? ?mj32gcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017111320171020
6282299? ? ?? ? ?mj32gcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017111320171020
6302843? ? ?? ? ?mj32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017111320171020
6345617? ? ?? ? ?mj32gcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2017111320171020
6356874? ? ?? ? ?mj32gcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2017111320171020
6363859? ? ?? ? ?mj32gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017111320171020
6368068? ? ?? ? ?mj32gcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017111320171020
6371123? ? ?? ? ?mj32gcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2017111320171020
6379595? ? ?? ? ?mj32gcc_-m64_-O3_-fomit-frame-pointer2017111320171020
6391988? ? ?? ? ?mj32gcc_-O3_-fomit-frame-pointer2017111320171020
6415222? ? ?? ? ?mj32gcc_-march=barcelona_-O3_-fomit-frame-pointer2017111320171020
6430368? ? ?? ? ?mj32gcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017111320171020
6434248? ? ?? ? ?mj32gcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017111320171020
6458942? ? ?? ? ?mj32gcc_-march=k8_-O3_-fomit-frame-pointer2017111320171020
6927086? ? ?? ? ?mj32gcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2017111320171020
6934623? ? ?? ? ?mj32gcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2017111320171020
7034408? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017111320171020
7103401? ? ?? ? ?mj32gcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017111320171020
7108863? ? ?? ? ?mj32gcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017111320171020
7115680? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017111320171020
7244380? ? ?? ? ?mj32gcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017111320171020
7251438? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017111320171020
7269215? ? ?? ? ?mj32gcc_-funroll-loops_-O_-fomit-frame-pointer2017111320171020
7276425? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017111320171020
7310263? ? ?? ? ?mj32gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017111320171020
8982661? ? ?? ? ?mj32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017111320171020
9000150? ? ?? ? ?mj32gcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017111320171020
9023929? ? ?? ? ?mj32gcc_-march=barcelona_-O2_-fomit-frame-pointer2017111320171020
9026456? ? ?? ? ?mj32gcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017111320171020
9189104? ? ?? ? ?mj32gcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017111320171020
9205817? ? ?? ? ?mj32gcc_-march=nocona_-O2_-fomit-frame-pointer2017111320171020
9286310? ? ?? ? ?mj32gcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017111320171020
9333010? ? ?? ? ?mj32gcc_-march=k8_-O2_-fomit-frame-pointer2017111320171020
9339385? ? ?? ? ?mj32gcc_-O2_-fomit-frame-pointer2017111320171020
9389814? ? ?? ? ?mj32gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017111320171020
9398169? ? ?? ? ?mj32gcc_-m64_-O2_-fomit-frame-pointer2017111320171020
9409425? ? ?? ? ?mj32gcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2017111320171020
9425811? ? ?? ? ?mj32gcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017111320171020
9453643? ? ?? ? ?mj32gcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2017111320171020
9473649? ? ?? ? ?mj32gcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017111320171020
9477318? ? ?? ? ?mj32gcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017111320171020
9487803? ? ?? ? ?mj32gcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017111320171020
9692022? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017111320171020
9716287? ? ?? ? ?mj32gcc_-funroll-loops_-Os_-fomit-frame-pointer2017111320171020
9728943? ? ?? ? ?mj32gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017111320171020
9749987? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017111320171020
9753822? ? ?? ? ?mj32gcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017111320171020
9756811? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017111320171020
9761441? ? ?? ? ?mj32gcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017111320171020
9884643? ? ?? ? ?mj32gcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017111320171020
9958801? ? ?? ? ?mj32gcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017111320171020
9978226? ? ?? ? ?mj32gcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017111320171020
10009433? ? ?? ? ?mj32gcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017111320171020
10026571? ? ?? ? ?mj32gcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017111320171020
10029169? ? ?? ? ?mj32gcc_-march=nocona_-Os_-fomit-frame-pointer2017111320171020
10029240? ? ?? ? ?mj32gcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017111320171020
10130107? ? ?? ? ?mj32gcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2017111320171020
10132874? ? ?? ? ?mj32gcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017111320171020
10136508? ? ?? ? ?mj32gcc_-m64_-Os_-fomit-frame-pointer2017111320171020
10141480? ? ?? ? ?mj32gcc_-march=barcelona_-Os_-fomit-frame-pointer2017111320171020
10159731? ? ?? ? ?mj32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017111320171020
10177259? ? ?? ? ?mj32gcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017111320171020
10177862? ? ?? ? ?mj32gcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2017111320171020
10194436? ? ?? ? ?mj32gcc_-Os_-fomit-frame-pointer2017111320171020
10202406? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017111320171020
10203667? ? ?? ? ?mj32gcc_-march=k8_-Os_-fomit-frame-pointer2017111320171020
10225404? ? ?? ? ?mj32gcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017111320171020
10260275? ? ?? ? ?mj32gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017111320171020
14804282? ? ?? ? ?mj32gcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017111320171020
14813604? ? ?? ? ?mj32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017111320171020
15253747? ? ?? ? ?mj32gcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017111320171020
15293672? ? ?? ? ?mj32gcc_-m64_-march=k8_-O_-fomit-frame-pointer2017111320171020
15333173? ? ?? ? ?mj32gcc_-march=barcelona_-O_-fomit-frame-pointer2017111320171020
15338706? ? ?? ? ?mj32gcc_-march=k8_-O_-fomit-frame-pointer2017111320171020
15408797? ? ?? ? ?mj32gcc_-O_-fomit-frame-pointer2017111320171020
15467539? ? ?? ? ?mj32gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017111320171020
15518453? ? ?? ? ?mj32gcc_-m64_-O_-fomit-frame-pointer2017111320171020
15612461? ? ?? ? ?mj32gcc_-march=nocona_-O_-fomit-frame-pointer2017111320171020
15616163? ? ?? ? ?mj32gcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2017111320171020
15648349? ? ?? ? ?mj32gcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017111320171020
15655560? ? ?? ? ?mj32gcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2017111320171020
15666274? ? ?? ? ?mj32gcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017111320171020
15679012? ? ?? ? ?mj32gcc_-m64_-march=core2_-O_-fomit-frame-pointer2017111320171020
15687203? ? ?? ? ?mj32gcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017111320171020
15762696? ? ?? ? ?mj32gcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017111320171020
62582490? ? ?? ? ?mj32gcc_-funroll-loops2017111320171020
63466922? ? ?? ? ?mj32gcc2017111320171020
63673978? ? ?? ? ?mj32cc2017111320171020

Test failure

Implementation: crypto_scalarmult/nistp256/mj32
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

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

Compiler output

Implementation: crypto_scalarmult/nistp256/mj32
Compiler: cc
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: 106, namely:
CompilerImplementations
cc mj32
gcc mj32
gcc -O2 -fomit-frame-pointer mj32
gcc -O3 -fomit-frame-pointer mj32
gcc -O -fomit-frame-pointer mj32
gcc -Os -fomit-frame-pointer mj32
gcc -fno-schedule-insns -O2 -fomit-frame-pointer mj32
gcc -fno-schedule-insns -O3 -fomit-frame-pointer mj32
gcc -fno-schedule-insns -O -fomit-frame-pointer mj32
gcc -fno-schedule-insns -Os -fomit-frame-pointer mj32
gcc -funroll-loops mj32
gcc -funroll-loops -O2 -fomit-frame-pointer mj32
gcc -funroll-loops -O3 -fomit-frame-pointer mj32
gcc -funroll-loops -O -fomit-frame-pointer mj32
gcc -funroll-loops -Os -fomit-frame-pointer mj32
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer mj32
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer mj32
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer mj32
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -O -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -Os -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer mj32
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer mj32
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer mj32
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer mj32
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer mj32
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer mj32
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer mj32
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer mj32
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer mj32
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer mj32
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer mj32
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer mj32
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer mj32
gcc -m64 -O2 -fomit-frame-pointer mj32
gcc -m64 -O3 -fomit-frame-pointer mj32
gcc -m64 -O -fomit-frame-pointer mj32
gcc -m64 -Os -fomit-frame-pointer mj32
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer mj32
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer mj32
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer mj32
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer mj32
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer mj32
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer mj32
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer mj32
gcc -m64 -march=core2 -O2 -fomit-frame-pointer mj32
gcc -m64 -march=core2 -O3 -fomit-frame-pointer mj32
gcc -m64 -march=core2 -O -fomit-frame-pointer mj32
gcc -m64 -march=core2 -Os -fomit-frame-pointer mj32
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer mj32
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer mj32
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer mj32
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer mj32
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer mj32
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer mj32
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer mj32
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer mj32
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer mj32
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer mj32
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer mj32
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer mj32
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer mj32
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer mj32
gcc -m64 -march=corei7 -O -fomit-frame-pointer mj32
gcc -m64 -march=corei7 -Os -fomit-frame-pointer mj32
gcc -m64 -march=k8 -O2 -fomit-frame-pointer mj32
gcc -m64 -march=k8 -O3 -fomit-frame-pointer mj32
gcc -m64 -march=k8 -O -fomit-frame-pointer mj32
gcc -m64 -march=k8 -Os -fomit-frame-pointer mj32
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer mj32
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer mj32
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer mj32
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer mj32
gcc -m64 -march=nocona -O2 -fomit-frame-pointer mj32
gcc -m64 -march=nocona -O3 -fomit-frame-pointer mj32
gcc -m64 -march=nocona -O -fomit-frame-pointer mj32
gcc -m64 -march=nocona -Os -fomit-frame-pointer mj32
gcc -march=barcelona -O2 -fomit-frame-pointer mj32
gcc -march=barcelona -O3 -fomit-frame-pointer mj32
gcc -march=barcelona -O -fomit-frame-pointer mj32
gcc -march=barcelona -Os -fomit-frame-pointer mj32
gcc -march=k8 -O2 -fomit-frame-pointer mj32
gcc -march=k8 -O3 -fomit-frame-pointer mj32
gcc -march=k8 -O -fomit-frame-pointer mj32
gcc -march=k8 -Os -fomit-frame-pointer mj32
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv mj32
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv mj32
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv mj32
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv mj32
gcc -march=nocona -O2 -fomit-frame-pointer mj32
gcc -march=nocona -O3 -fomit-frame-pointer mj32
gcc -march=nocona -O -fomit-frame-pointer mj32
gcc -march=nocona -Os -fomit-frame-pointer mj32

Compiler output

Implementation: crypto_scalarmult/nistp256/mj32
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
gep256.c: gep256.c:83:28: warning: sizeof on array function parameter will return size of 'fe *' (aka 'crypto_uint32 (*)[8]') instead of 'gep256' (aka 'fe [3]') [-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:92:28: warning: sizeof on array function parameter will return size of 'fe *' (aka 'crypto_uint32 (*)[8]') instead of 'gep256_precomp' (aka 'fe [2]') [-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: 2 warnings generated.

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments mj32
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments mj32
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments mj32
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments mj32
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments mj32
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments mj32
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments mj32
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments mj32

Compiler output

Implementation: crypto_scalarmult/nistp256/mj32
Compiler: gcc -m64 -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 -m64 -march=barcelona -O2 -fomit-frame-pointer mj32
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer mj32
gcc -m64 -march=barcelona -O -fomit-frame-pointer mj32
gcc -m64 -march=barcelona -Os -fomit-frame-pointer mj32