Implementation notes: armeabi, flops, crypto_scalarmult/curve25519

Computer: flops
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20140622
Operation: crypto_scalarmult
Primitive: curve25519

Test failure

Implementation: crypto_scalarmult/curve25519/neon2
Compiler: cc
error 111

Number of similar (compiler,implementation) pairs: 145, namely:
CompilerImplementations
cc neon2 ref ref10
gcc neon2 ref ref10
gcc -O2 -fomit-frame-pointer neon2 ref ref10
gcc -O3 -fomit-frame-pointer neon2 ref ref10
gcc -O -fomit-frame-pointer neon2 ref ref10
gcc -Os -fomit-frame-pointer neon2 ref ref10
gcc -fno-schedule-insns -O2 -fomit-frame-pointer neon2 ref ref10
gcc -fno-schedule-insns -O3 -fomit-frame-pointer neon2 ref ref10
gcc -fno-schedule-insns -O -fomit-frame-pointer neon2 ref ref10
gcc -fno-schedule-insns -Os -fomit-frame-pointer neon2 ref ref10
gcc -funroll-loops neon2 ref ref10
gcc -funroll-loops -O2 -fomit-frame-pointer neon2 ref ref10
gcc -funroll-loops -O3 -fomit-frame-pointer neon2 ref ref10
gcc -funroll-loops -O -fomit-frame-pointer neon2 ref ref10
gcc -funroll-loops -Os -fomit-frame-pointer neon2 ref ref10
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer neon2 ref ref10
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer neon2 ref ref10
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer neon2 ref ref10
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer neon2 ref ref10
gcc -mcpu=arm810 -O2 -fomit-frame-pointer ref ref10
gcc -mcpu=arm810 -O3 -fomit-frame-pointer ref ref10
gcc -mcpu=arm810 -O -fomit-frame-pointer ref ref10
gcc -mcpu=arm810 -Os -fomit-frame-pointer ref ref10
gcc -mcpu=arm8 -O2 -fomit-frame-pointer ref ref10
gcc -mcpu=arm8 -O3 -fomit-frame-pointer ref ref10
gcc -mcpu=arm8 -O -fomit-frame-pointer ref ref10
gcc -mcpu=arm8 -Os -fomit-frame-pointer ref ref10
gcc -mcpu=cortex-a5 -O2 -fomit-frame-pointer neon2 ref ref10
gcc -mcpu=cortex-a5 -O3 -fomit-frame-pointer neon2 ref ref10
gcc -mcpu=cortex-a5 -O -fomit-frame-pointer neon2 ref ref10
gcc -mcpu=cortex-a5 -Os -fomit-frame-pointer neon2 ref ref10
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer neon2 ref ref10
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer neon2 ref ref10
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer neon2 ref ref10
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer neon2 ref ref10
gcc -mcpu=cortex-a9 -O2 -fomit-frame-pointer neon2 ref ref10
gcc -mcpu=cortex-a9 -O3 -fomit-frame-pointer neon2 ref ref10
gcc -mcpu=cortex-a9 -O -fomit-frame-pointer neon2 ref ref10
gcc -mcpu=cortex-a9 -Os -fomit-frame-pointer neon2 ref ref10
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer neon2 ref ref10
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer neon2 ref ref10
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer neon2 ref ref10
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer neon2 ref ref10
gcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer ref ref10
gcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer ref ref10
gcc -mcpu=strongarm1100 -O -fomit-frame-pointer ref ref10
gcc -mcpu=strongarm1100 -Os -fomit-frame-pointer ref ref10
gcc -mcpu=strongarm110 -O2 -fomit-frame-pointer ref ref10
gcc -mcpu=strongarm110 -O3 -fomit-frame-pointer ref ref10
gcc -mcpu=strongarm110 -O -fomit-frame-pointer ref ref10
gcc -mcpu=strongarm110 -Os -fomit-frame-pointer ref ref10
gcc -mcpu=strongarm -O2 -fomit-frame-pointer ref ref10
gcc -mcpu=strongarm -O3 -fomit-frame-pointer ref ref10
gcc -mcpu=strongarm -O -fomit-frame-pointer ref ref10
gcc -mcpu=strongarm -Os -fomit-frame-pointer ref ref10

Compiler output

Implementation: crypto_scalarmult/curve25519/donna_c64
Compiler: cc
smult.c: smult.c:34:1: error: unable to emulate 'TI'
smult.c: smult.c: In function 'fscalar_product':
smult.c: smult.c:76:3: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:79:3: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:82:3: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:85:3: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:88:3: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c: In function 'fmul':
smult.c: smult.c:132:19: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:133:3: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:134:3: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:135:3: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:136:3: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c: In function 'fsquare_times':
smult.c: smult.c:173:21: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:174:5: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:175:5: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:176:5: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:177:5: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c: In function 'fcontract':
smult.c: smult.c:213:3: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:214:3: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:215:3: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:216:3: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:217:3: warning: right shift count >gt;= width of type [enabled by default]
smult.c: ...

Number of similar (compiler,implementation) pairs: 35, namely:
CompilerImplementations
cc donna_c64
gcc donna_c64
gcc -O2 -fomit-frame-pointer donna_c64
gcc -O3 -fomit-frame-pointer donna_c64
gcc -O -fomit-frame-pointer donna_c64
gcc -Os -fomit-frame-pointer donna_c64
gcc -fno-schedule-insns -O2 -fomit-frame-pointer donna_c64
gcc -fno-schedule-insns -O3 -fomit-frame-pointer donna_c64
gcc -fno-schedule-insns -O -fomit-frame-pointer donna_c64
gcc -fno-schedule-insns -Os -fomit-frame-pointer donna_c64
gcc -funroll-loops donna_c64
gcc -funroll-loops -O2 -fomit-frame-pointer donna_c64
gcc -funroll-loops -O3 -fomit-frame-pointer donna_c64
gcc -funroll-loops -O -fomit-frame-pointer donna_c64
gcc -funroll-loops -Os -fomit-frame-pointer donna_c64
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer donna_c64
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer donna_c64
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer donna_c64
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer donna_c64
gcc -mcpu=cortex-a5 -O2 -fomit-frame-pointer donna_c64
gcc -mcpu=cortex-a5 -O3 -fomit-frame-pointer donna_c64
gcc -mcpu=cortex-a5 -O -fomit-frame-pointer donna_c64
gcc -mcpu=cortex-a5 -Os -fomit-frame-pointer donna_c64
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer donna_c64
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer donna_c64
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer donna_c64
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer donna_c64
gcc -mcpu=cortex-a9 -O2 -fomit-frame-pointer donna_c64
gcc -mcpu=cortex-a9 -O3 -fomit-frame-pointer donna_c64
gcc -mcpu=cortex-a9 -O -fomit-frame-pointer donna_c64
gcc -mcpu=cortex-a9 -Os -fomit-frame-pointer donna_c64
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer donna_c64
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer donna_c64
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer donna_c64
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer donna_c64

Compiler output

Implementation: crypto_scalarmult/curve25519/ref10
Compiler: gcc -mcpu=arm810 -O2 -fomit-frame-pointer
base.c: base.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
fe_0.c: fe_0.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
fe_1.c: fe_1.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
fe_add.c: fe_add.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
fe_copy.c: fe_copy.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
fe_cswap.c: fe_cswap.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
fe_frombytes.c: fe_frombytes.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
fe_invert.c: fe_invert.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
fe_mul.c: fe_mul.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
fe_mul121666.c: fe_mul121666.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
fe_sq.c: fe_sq.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
fe_sub.c: fe_sub.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
fe_tobytes.c: fe_tobytes.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
scalarmult.c: scalarmult.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
try.c: try.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
try.c: try-anything.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]

Number of similar (compiler,implementation) pairs: 20, namely:
CompilerImplementations
gcc -mcpu=arm810 -O2 -fomit-frame-pointer ref10
gcc -mcpu=arm810 -O3 -fomit-frame-pointer ref10
gcc -mcpu=arm810 -O -fomit-frame-pointer ref10
gcc -mcpu=arm810 -Os -fomit-frame-pointer ref10
gcc -mcpu=arm8 -O2 -fomit-frame-pointer ref10
gcc -mcpu=arm8 -O3 -fomit-frame-pointer ref10
gcc -mcpu=arm8 -O -fomit-frame-pointer ref10
gcc -mcpu=arm8 -Os -fomit-frame-pointer ref10
gcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer ref10
gcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer ref10
gcc -mcpu=strongarm1100 -O -fomit-frame-pointer ref10
gcc -mcpu=strongarm1100 -Os -fomit-frame-pointer ref10
gcc -mcpu=strongarm110 -O2 -fomit-frame-pointer ref10
gcc -mcpu=strongarm110 -O3 -fomit-frame-pointer ref10
gcc -mcpu=strongarm110 -O -fomit-frame-pointer ref10
gcc -mcpu=strongarm110 -Os -fomit-frame-pointer ref10
gcc -mcpu=strongarm -O2 -fomit-frame-pointer ref10
gcc -mcpu=strongarm -O3 -fomit-frame-pointer ref10
gcc -mcpu=strongarm -O -fomit-frame-pointer ref10
gcc -mcpu=strongarm -Os -fomit-frame-pointer ref10

Compiler output

Implementation: crypto_scalarmult/curve25519/neon2
Compiler: gcc -mcpu=arm810 -O2 -fomit-frame-pointer
base.c: base.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
scalarmult.s: scalarmult.s: Assembler messages:
scalarmult.s: scalarmult.s:520: Error: selected processor does not support ARM mode `strd r4,[sp,#0]'
scalarmult.s: scalarmult.s:525: Error: selected processor does not support ARM mode `strd r6,[sp,#8]'
scalarmult.s: scalarmult.s:530: Error: selected processor does not support ARM mode `strd r8,[sp,#16]'
scalarmult.s: scalarmult.s:535: Error: selected processor does not support ARM mode `strd r10,[sp,#24]'
scalarmult.s: scalarmult.s:11121: Error: selected processor does not support ARM mode `ldrd r4,[sp,#0]'
scalarmult.s: scalarmult.s:11126: Error: selected processor does not support ARM mode `ldrd r6,[sp,#8]'
scalarmult.s: scalarmult.s:11131: Error: selected processor does not support ARM mode `ldrd r8,[sp,#16]'
scalarmult.s: scalarmult.s:11136: Error: selected processor does not support ARM mode `ldrd r10,[sp,#24]'

Number of similar (compiler,implementation) pairs: 20, namely:
CompilerImplementations
gcc -mcpu=arm810 -O2 -fomit-frame-pointer neon2
gcc -mcpu=arm810 -O3 -fomit-frame-pointer neon2
gcc -mcpu=arm810 -O -fomit-frame-pointer neon2
gcc -mcpu=arm810 -Os -fomit-frame-pointer neon2
gcc -mcpu=arm8 -O2 -fomit-frame-pointer neon2
gcc -mcpu=arm8 -O3 -fomit-frame-pointer neon2
gcc -mcpu=arm8 -O -fomit-frame-pointer neon2
gcc -mcpu=arm8 -Os -fomit-frame-pointer neon2
gcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer neon2
gcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer neon2
gcc -mcpu=strongarm1100 -O -fomit-frame-pointer neon2
gcc -mcpu=strongarm1100 -Os -fomit-frame-pointer neon2
gcc -mcpu=strongarm110 -O2 -fomit-frame-pointer neon2
gcc -mcpu=strongarm110 -O3 -fomit-frame-pointer neon2
gcc -mcpu=strongarm110 -O -fomit-frame-pointer neon2
gcc -mcpu=strongarm110 -Os -fomit-frame-pointer neon2
gcc -mcpu=strongarm -O2 -fomit-frame-pointer neon2
gcc -mcpu=strongarm -O3 -fomit-frame-pointer neon2
gcc -mcpu=strongarm -O -fomit-frame-pointer neon2
gcc -mcpu=strongarm -Os -fomit-frame-pointer neon2

Compiler output

Implementation: crypto_scalarmult/curve25519/donna_c64
Compiler: gcc -mcpu=arm810 -O2 -fomit-frame-pointer
base.c: base.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
smult.c: smult.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
smult.c: smult.c:34:1: error: unable to emulate 'TI'
smult.c: smult.c: In function 'fscalar_product':
smult.c: smult.c:76:3: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:79:3: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:82:3: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:85:3: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:88:3: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c: In function 'fmul':
smult.c: smult.c:132:19: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:133:3: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:134:3: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:135:3: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:136:3: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c: In function 'fsquare_times':
smult.c: smult.c:173:21: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:174:5: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:175:5: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:176:5: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:177:5: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c: In function 'fcontract':
smult.c: smult.c:213:3: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:214:3: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:215:3: warning: right shift count >gt;= width of type [enabled by default]
smult.c: smult.c:216:3: warning: right shift count >gt;= width of type [enabled by default]
smult.c: ...

Number of similar (compiler,implementation) pairs: 20, namely:
CompilerImplementations
gcc -mcpu=arm810 -O2 -fomit-frame-pointer donna_c64
gcc -mcpu=arm810 -O3 -fomit-frame-pointer donna_c64
gcc -mcpu=arm810 -O -fomit-frame-pointer donna_c64
gcc -mcpu=arm810 -Os -fomit-frame-pointer donna_c64
gcc -mcpu=arm8 -O2 -fomit-frame-pointer donna_c64
gcc -mcpu=arm8 -O3 -fomit-frame-pointer donna_c64
gcc -mcpu=arm8 -O -fomit-frame-pointer donna_c64
gcc -mcpu=arm8 -Os -fomit-frame-pointer donna_c64
gcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer donna_c64
gcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer donna_c64
gcc -mcpu=strongarm1100 -O -fomit-frame-pointer donna_c64
gcc -mcpu=strongarm1100 -Os -fomit-frame-pointer donna_c64
gcc -mcpu=strongarm110 -O2 -fomit-frame-pointer donna_c64
gcc -mcpu=strongarm110 -O3 -fomit-frame-pointer donna_c64
gcc -mcpu=strongarm110 -O -fomit-frame-pointer donna_c64
gcc -mcpu=strongarm110 -Os -fomit-frame-pointer donna_c64
gcc -mcpu=strongarm -O2 -fomit-frame-pointer donna_c64
gcc -mcpu=strongarm -O3 -fomit-frame-pointer donna_c64
gcc -mcpu=strongarm -O -fomit-frame-pointer donna_c64
gcc -mcpu=strongarm -Os -fomit-frame-pointer donna_c64

Compiler output

Implementation: crypto_scalarmult/curve25519/ref
Compiler: gcc -mcpu=arm810 -O2 -fomit-frame-pointer
base.c: base.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
smult.c: smult.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
try.c: try.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
try.c: try-anything.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]

Number of similar (compiler,implementation) pairs: 20, namely:
CompilerImplementations
gcc -mcpu=arm810 -O2 -fomit-frame-pointer ref
gcc -mcpu=arm810 -O3 -fomit-frame-pointer ref
gcc -mcpu=arm810 -O -fomit-frame-pointer ref
gcc -mcpu=arm810 -Os -fomit-frame-pointer ref
gcc -mcpu=arm8 -O2 -fomit-frame-pointer ref
gcc -mcpu=arm8 -O3 -fomit-frame-pointer ref
gcc -mcpu=arm8 -O -fomit-frame-pointer ref
gcc -mcpu=arm8 -Os -fomit-frame-pointer ref
gcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer ref
gcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer ref
gcc -mcpu=strongarm1100 -O -fomit-frame-pointer ref
gcc -mcpu=strongarm1100 -Os -fomit-frame-pointer ref
gcc -mcpu=strongarm110 -O2 -fomit-frame-pointer ref
gcc -mcpu=strongarm110 -O3 -fomit-frame-pointer ref
gcc -mcpu=strongarm110 -O -fomit-frame-pointer ref
gcc -mcpu=strongarm110 -Os -fomit-frame-pointer ref
gcc -mcpu=strongarm -O2 -fomit-frame-pointer ref
gcc -mcpu=strongarm -O3 -fomit-frame-pointer ref
gcc -mcpu=strongarm -O -fomit-frame-pointer ref
gcc -mcpu=strongarm -Os -fomit-frame-pointer ref