Implementation notes: armeabi, bblack, crypto_scalarmult/nistp256

Computer: bblack
Microarchitecture: armeabi; Cortex-A8 (413fc082)
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20240425
Operation: crypto_scalarmult
Primitive: nistp256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1032992018152 30720 043355 31168 1512T:mj32clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024051120240425
1048462418440 30720 034675 31168 1504T:mj32clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024051120240425
1049008013608 30720 030811 31168 1496T:mj32clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024051120240425
1049032813608 30720 030811 31168 1496T:mj32clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024051120240425
1274164412752 30720 025878 31200 1496T:mj32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024051120240425
188735048708 30720 020806 31200 1496T:mj32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024051120240425
1907511611316 30720 026861 31164 1496T:mj32clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024051120240425
206298447830 30720 019062 31192 1496T:mj32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024051120240425
3208812810092 30720 022390 31200 1496T:mj32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024051120240425

Compiler output


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 (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:mj32clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:mj32clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:mj32clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:mj32clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:mj32clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))

Compiler output


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 (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:mj32gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0)
T:mj32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0)
T:mj32gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0)
T:mj32gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0)