Implementation notes: armeabi, c1, crypto_scalarmult/curve25519

Computer: c1
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20161026
Operation: crypto_scalarmult
Primitive: curve25519
TimeImplementationCompilerBenchmark dateSUPERCOP version
4097346neon2gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os2016121120161026
4105206neon2gcc -mcpu=native -mfpu=neon-vfpv4 -O32016121120161026
4105919neon2gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O22016121120161026
4126339neon2gcc -mcpu=native -mfpu=neon-vfpv4 -O22016121120161026
4336994neon2gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O32016121120161026
4345020neon2gcc -mcpu=native -mfpu=neon-vfpv4 -Os2016121120161026
7548679ref10gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os2016121120161026
7708255ref10gcc -mcpu=native -mfpu=neon-vfpv4 -Os2016121120161026
10019659ref10gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O22016121120161026
10201185ref10gcc -mcpu=native -mfpu=neon-vfpv4 -O22016121120161026
10648631ref10gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O32016121120161026
12241270ref10gcc -mcpu=native -mfpu=neon-vfpv4 -O32016121120161026
78382867refgcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O22016121120161026
82695288refgcc -mcpu=native -mfpu=neon-vfpv4 -Os2016121120161026
83581222refgcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O32016121120161026
84289144refgcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os2016121120161026
85416151refgcc -mcpu=native -mfpu=neon-vfpv4 -O32016121120161026
91751646refgcc -mcpu=native -mfpu=neon-vfpv4 -O22016121120161026

Compiler output

Implementation: crypto_scalarmult/curve25519/donna_c64
Compiler: gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O2
smult.c: smult.c:34:1: error: unable to emulate 'TI'
smult.c: typedef unsigned uint128_t __attribute__((mode(TI)));
smult.c: ^~~~~~~
smult.c: smult.c: In function 'fscalar_product':
smult.c: smult.c:76:49: warning: right shift count >gt;= width of type [-Wshift-count-overflow]
smult.c: a = ((uint128_t) in[1]) * scalar + ((limb) (a >gt;>gt; 51));
smult.c: ^~
smult.c: smult.c:79:49: warning: right shift count >gt;= width of type [-Wshift-count-overflow]
smult.c: a = ((uint128_t) in[2]) * scalar + ((limb) (a >gt;>gt; 51));
smult.c: ^~
smult.c: smult.c:82:49: warning: right shift count >gt;= width of type [-Wshift-count-overflow]
smult.c: a = ((uint128_t) in[3]) * scalar + ((limb) (a >gt;>gt; 51));
smult.c: ^~
smult.c: smult.c:85:49: warning: right shift count >gt;= width of type [-Wshift-count-overflow]
smult.c: a = ((uint128_t) in[4]) * scalar + ((limb) (a >gt;>gt; 51));
smult.c: ^~
smult.c: smult.c:88:19: warning: right shift count >gt;= width of type [-Wshift-count-overflow]
smult.c: output[0] += (a >gt;>gt; 51) * 19;
smult.c: ^~
smult.c: smult.c: In function 'fmul':
smult.c: smult.c:132:70: warning: right shift count >gt;= width of type [-Wshift-count-overflow]
smult.c: r0 = (limb)t[0] & 0x7ffffffffffff; c = (limb)(t[0] >gt;>gt; 51);
smult.c: ^~
smult.c: smult.c:133:70: warning: right shift count >gt;= width of type [-Wshift-count-overflow]
smult.c: t[1] += c; r1 = (limb)t[1] & 0x7ffffffffffff; c = (limb)(t[1] >gt;>gt; 51);
smult.c: ...

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O2 donna_c64
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -O3 donna_c64
gcc -funroll-loops -mcpu=native -mfpu=neon-vfpv4 -Os donna_c64
gcc -mcpu=native -mfpu=neon-vfpv4 -O2 donna_c64
gcc -mcpu=native -mfpu=neon-vfpv4 -O3 donna_c64
gcc -mcpu=native -mfpu=neon-vfpv4 -Os donna_c64