Implementation notes: amd64, katana, crypto_scalarmult/nistp256

Computer: katana
Architecture: amd64
CPU ID: GenuineIntel-000006f6-bfebfbff
SUPERCOP version: 20170105
Operation: crypto_scalarmult
Primitive: nistp256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3912976? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2016102920161009
3928968? ? ?? ? ?mj32gcc_-funroll-loops_-O2_-fomit-frame-pointer2016102920161009
3932272? ? ?? ? ?mj32gcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2016102920161009
3958160? ? ?? ? ?mj32gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2016102920161009
3971568? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2016102920161009
3978800? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2016102920161009
3987328? ? ?? ? ?mj32gcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2016102920161009
3993408? ? ?? ? ?mj32gcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2016102920161009
3995104? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2016102920161009
4128560? ? ?? ? ?mj32gcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2016102920161009
4134304? ? ?? ? ?mj32gcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2016102920161009
4135688? ? ?? ? ?mj32gcc_-march=nocona_-O3_-fomit-frame-pointer2016102920161009
4190840? ? ?? ? ?mj32clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016102920161009
4192896? ? ?? ? ?mj32gcc_-march=barcelona_-O3_-fomit-frame-pointer2016102920161009
4193872? ? ?? ? ?mj32gcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2016102920161009
4194656? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2016102920161009
4212296? ? ?? ? ?mj32clang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2016102920161009
4227424? ? ?? ? ?mj32gcc_-O3_-fomit-frame-pointer2016102920161009
4228216? ? ?? ? ?mj32gcc_-funroll-loops_-O3_-fomit-frame-pointer2016102920161009
4229240? ? ?? ? ?mj32gcc_-m64_-march=core2_-O3_-fomit-frame-pointer2016102920161009
4233624? ? ?? ? ?mj32gcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2016102920161009
4236544? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2016102920161009
4236856? ? ?? ? ?mj32gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2016102920161009
4238712? ? ?? ? ?mj32gcc_-march=k8_-O3_-fomit-frame-pointer2016102920161009
4242568? ? ?? ? ?mj32gcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2016102920161009
4242896? ? ?? ? ?mj32gcc_-m64_-march=k8_-O3_-fomit-frame-pointer2016102920161009
4244216? ? ?? ? ?mj32gcc_-m64_-O3_-fomit-frame-pointer2016102920161009
4248496? ? ?? ? ?mj32gcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2016102920161009
4267152? ? ?? ? ?mj32clang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016102920161009
4270424? ? ?? ? ?mj32clang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016102920161009
4271928? ? ?? ? ?mj32clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016102920161009
4274320? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2016102920161009
4276584? ? ?? ? ?mj32clang_-O3_-fomit-frame-pointer_-Qunused-arguments2016102920161009
4286424? ? ?? ? ?mj32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2016102920161009
4289472? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2016102920161009
4289496? ? ?? ? ?mj32gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2016102920161009
5313440? ? ?? ? ?mj32gcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2016102920161009
5334280? ? ?? ? ?mj32gcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2016102920161009
5334672? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2016102920161009
5364040? ? ?? ? ?mj32gcc_-funroll-loops_-O_-fomit-frame-pointer2016102920161009
5372560? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2016102920161009
5403576? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2016102920161009
5434280? ? ?? ? ?mj32gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2016102920161009
5588928? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2016102920161009
5623568? ? ?? ? ?mj32gcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2016102920161009
5631144? ? ?? ? ?mj32gcc_-march=k8_-O2_-fomit-frame-pointer2016102920161009
5631552? ? ?? ? ?mj32gcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2016102920161009
5679792? ? ?? ? ?mj32gcc_-m64_-march=k8_-O2_-fomit-frame-pointer2016102920161009
5698280? ? ?? ? ?mj32gcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2016102920161009
5758984? ? ?? ? ?mj32gcc_-O2_-fomit-frame-pointer2016102920161009
5759144? ? ?? ? ?mj32gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2016102920161009
5764232? ? ?? ? ?mj32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2016102920161009
5766792? ? ?? ? ?mj32gcc_-m64_-march=core2_-O2_-fomit-frame-pointer2016102920161009
5769528? ? ?? ? ?mj32gcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2016102920161009
5786120? ? ?? ? ?mj32gcc_-m64_-O2_-fomit-frame-pointer2016102920161009
5787096? ? ?? ? ?mj32gcc_-march=barcelona_-O2_-fomit-frame-pointer2016102920161009
5787560? ? ?? ? ?mj32gcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2016102920161009
5798976? ? ?? ? ?mj32gcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2016102920161009
5907472? ? ?? ? ?mj32gcc_-march=nocona_-O2_-fomit-frame-pointer2016102920161009
5929960? ? ?? ? ?mj32gcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2016102920161009
6372480? ? ?? ? ?mj32gcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2016102920161009
6379800? ? ?? ? ?mj32gcc_-m64_-march=core2_-Os_-fomit-frame-pointer2016102920161009
6384512? ? ?? ? ?mj32gcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2016102920161009
6387800? ? ?? ? ?mj32gcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2016102920161009
6495968? ? ?? ? ?mj32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2016102920161009
6503592? ? ?? ? ?mj32gcc_-Os_-fomit-frame-pointer2016102920161009
6540064? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2016102920161009
6543760? ? ?? ? ?mj32gcc_-march=nocona_-Os_-fomit-frame-pointer2016102920161009
6546408? ? ?? ? ?mj32gcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2016102920161009
6548512? ? ?? ? ?mj32gcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2016102920161009
6556600? ? ?? ? ?mj32gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2016102920161009
6556720? ? ?? ? ?mj32gcc_-m64_-Os_-fomit-frame-pointer2016102920161009
6559712? ? ?? ? ?mj32gcc_-march=k8_-Os_-fomit-frame-pointer2016102920161009
6561304? ? ?? ? ?mj32gcc_-march=barcelona_-Os_-fomit-frame-pointer2016102920161009
6574112? ? ?? ? ?mj32gcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2016102920161009
6582208? ? ?? ? ?mj32gcc_-m64_-march=k8_-Os_-fomit-frame-pointer2016102920161009
6626048? ? ?? ? ?mj32gcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2016102920161009
6638968? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2016102920161009
6642064? ? ?? ? ?mj32gcc_-funroll-loops_-Os_-fomit-frame-pointer2016102920161009
6649368? ? ?? ? ?mj32gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2016102920161009
6652472? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2016102920161009
6655808? ? ?? ? ?mj32gcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2016102920161009
6706760? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2016102920161009
6707032? ? ?? ? ?mj32gcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2016102920161009
9684816? ? ?? ? ?mj32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2016102920161009
9736152? ? ?? ? ?mj32gcc_-m64_-march=nocona_-O_-fomit-frame-pointer2016102920161009
9739016? ? ?? ? ?mj32gcc_-march=nocona_-O_-fomit-frame-pointer2016102920161009
9938576? ? ?? ? ?mj32gcc_-O_-fomit-frame-pointer2016102920161009
9940168? ? ?? ? ?mj32gcc_-m64_-O_-fomit-frame-pointer2016102920161009
9942704? ? ?? ? ?mj32gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2016102920161009
10128664? ? ?? ? ?mj32gcc_-march=barcelona_-O_-fomit-frame-pointer2016102920161009
10282624? ? ?? ? ?mj32gcc_-m64_-march=k8_-O_-fomit-frame-pointer2016102920161009
10283024? ? ?? ? ?mj32gcc_-march=k8_-O_-fomit-frame-pointer2016102920161009
10298096? ? ?? ? ?mj32gcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2016102920161009
10317520? ? ?? ? ?mj32gcc_-m64_-march=corei7_-O_-fomit-frame-pointer2016102920161009
10410912? ? ?? ? ?mj32gcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2016102920161009
10435440? ? ?? ? ?mj32gcc_-m64_-march=core2_-O_-fomit-frame-pointer2016102920161009
10436808? ? ?? ? ?mj32gcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2016102920161009
10437536? ? ?? ? ?mj32gcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2016102920161009
54661896? ? ?? ? ?mj32gcc2016102920161009
54778928? ? ?? ? ?mj32gcc_-funroll-loops2016102920161009
55739976? ? ?? ? ?mj32cc2016102920161009

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: 92, 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=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 -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 -O -fomit-frame-pointer mj32
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer mj32
gcc -m64 -march=corei7 -O2 -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: 6, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments mj32
clang -O3 -fwrapv -march=native -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