Implementation notes: armeabi, flops, crypto_core/salsa20

Computer: flops
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20140622
Operation: crypto_core
Primitive: salsa20
TimeImplementationCompilerBenchmark dateSUPERCOP version
1750armneon2gcc -fno-schedule-insns -Os -fomit-frame-pointer2014042720140425
1750armneongcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014042720140425
1757armneongcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014042720140425
1758armneon2gcc -mcpu=cortex-a9 -O2 -fomit-frame-pointer2014042720140425
1758armneon2gcc -mcpu=strongarm110 -O3 -fomit-frame-pointer2014042720140425
1760armneon2gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014042720140425
1762armneon2gcc -fno-schedule-insns -O2 -fomit-frame-pointer2014042720140425
1762armneon2gcc -mcpu=arm8 -Os -fomit-frame-pointer2014042720140425
1762armneongcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014042720140425
1763armneon2gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014042720140425
1764armneon2gcc -O3 -fomit-frame-pointer2014042720140425
1764armneon2gcc -Os -fomit-frame-pointer2014042720140425
1764armneon2gcc -funroll-loops -O2 -fomit-frame-pointer2014042720140425
1764armneon2gcc -mcpu=cortex-a5 -O2 -fomit-frame-pointer2014042720140425
1764armneon2gcc -mcpu=cortex-a5 -O3 -fomit-frame-pointer2014042720140425
1764armneongcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014042720140425
1764armneon2gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014042720140425
1764armneon2gcc -mcpu=strongarm110 -Os -fomit-frame-pointer2014042720140425
1765armneon2gcc -funroll-loops -O3 -fomit-frame-pointer2014042720140425
1766armneon2gcc -mcpu=strongarm110 -O2 -fomit-frame-pointer2014042720140425
1770armneon2gcc -fno-schedule-insns -O -fomit-frame-pointer2014042720140425
1770armneon2gcc -mcpu=arm810 -O2 -fomit-frame-pointer2014042720140425
1770armneon2gcc -mcpu=arm810 -O3 -fomit-frame-pointer2014042720140425
1770armneon2gcc -mcpu=cortex-a9 -O -fomit-frame-pointer2014042720140425
1770armneongcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014042720140425
1770armneon2gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014042720140425
1770armneongcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014042720140425
1770armneon2gcc -mcpu=strongarm -O2 -fomit-frame-pointer2014042720140425
1770armneon2gcc -mcpu=strongarm -O3 -fomit-frame-pointer2014042720140425
1770armneon2gcc -mcpu=strongarm -O -fomit-frame-pointer2014042720140425
1772armneon2gcc -fno-schedule-insns -O3 -fomit-frame-pointer2014042720140425
1772armneon2gcc -funroll-loops -Os -fomit-frame-pointer2014042720140425
1772armneon2gcc -mcpu=arm810 -O -fomit-frame-pointer2014042720140425
1772armneon2gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014042720140425
1772armneon2gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014042720140425
1772armneon2gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014042720140425
1773armneon2gcc -funroll-loops -O -fomit-frame-pointer2014042720140425
1778armneon2gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014042720140425
1778armneon2gcc -mcpu=arm8 -O2 -fomit-frame-pointer2014042720140425
1778armneon2gcc -mcpu=arm8 -O -fomit-frame-pointer2014042720140425
1778armneon2gcc -mcpu=cortex-a5 -Os -fomit-frame-pointer2014042720140425
1778armneon2gcc -mcpu=cortex-a9 -Os -fomit-frame-pointer2014042720140425
1778armneon2gcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer2014042720140425
1778armneon2gcc -mcpu=strongarm1100 -O -fomit-frame-pointer2014042720140425
1778armneon2gcc -mcpu=strongarm110 -O -fomit-frame-pointer2014042720140425
1779armneon2gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014042720140425
1781armneon2gcc -mcpu=cortex-a9 -O3 -fomit-frame-pointer2014042720140425
1784armneon2gcc -O -fomit-frame-pointer2014042720140425
1784armneon2gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014042720140425
1784armneon2gcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer2014042720140425
1785armneon2gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014042720140425
1785armneon2gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014042720140425
1786armneon2gcc -mcpu=arm810 -Os -fomit-frame-pointer2014042720140425
1786armneon2gcc -mcpu=arm8 -O3 -fomit-frame-pointer2014042720140425
1786armneon2gcc -mcpu=cortex-a5 -O -fomit-frame-pointer2014042720140425
1786armneon2gcc -mcpu=strongarm1100 -Os -fomit-frame-pointer2014042720140425
1786armneon2gcc -mcpu=strongarm -Os -fomit-frame-pointer2014042720140425
1788armneon2gcc -O2 -fomit-frame-pointer2014042720140425
1791refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014042720140425
1800refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014042720140425
1806armneon2gcc -funroll-loops2014042720140425
1819armneon2gcc2014042720140425
1820armneon2cc2014042720140425
1850armneongcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014042720140425
1850armneongcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014042720140425
1953refgcc -funroll-loops -O3 -fomit-frame-pointer2014042720140425
1958refgcc -funroll-loops -O2 -fomit-frame-pointer2014042720140425
1960refgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014042720140425
1964refgcc -O2 -fomit-frame-pointer2014042720140425
1964refgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014042720140425
1988refgcc -O3 -fomit-frame-pointer2014042720140425
2010refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014042720140425
2022refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014042720140425
2110refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014042720140425
2116refgcc -funroll-loops -Os -fomit-frame-pointer2014042720140425
2130refgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014042720140425
2152refgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014042720140425
2154refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014042720140425
2158refgcc -mcpu=cortex-a5 -Os -fomit-frame-pointer2014042720140425
2160refgcc -Os -fomit-frame-pointer2014042720140425
2162refgcc -mcpu=cortex-a9 -O3 -fomit-frame-pointer2014042720140425
2168refgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014042720140425
2188refgcc -mcpu=cortex-a5 -O2 -fomit-frame-pointer2014042720140425
2188refgcc -mcpu=cortex-a5 -O3 -fomit-frame-pointer2014042720140425
2188refgcc -mcpu=cortex-a9 -O2 -fomit-frame-pointer2014042720140425
2188refgcc -mcpu=cortex-a9 -Os -fomit-frame-pointer2014042720140425
2204refgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014042720140425
2210refgcc -mcpu=strongarm110 -Os -fomit-frame-pointer2014042720140425
2218refgcc -mcpu=arm810 -Os -fomit-frame-pointer2014042720140425
2224refgcc -mcpu=arm8 -Os -fomit-frame-pointer2014042720140425
2224refgcc -mcpu=strongarm1100 -Os -fomit-frame-pointer2014042720140425
2224refgcc -mcpu=strongarm -Os -fomit-frame-pointer2014042720140425
2290refgcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer2014042720140425
2298refgcc -mcpu=strongarm110 -O3 -fomit-frame-pointer2014042720140425
2302refgcc -mcpu=arm8 -O3 -fomit-frame-pointer2014042720140425
2302refgcc -mcpu=strongarm110 -O2 -fomit-frame-pointer2014042720140425
2306refgcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer2014042720140425
2310refgcc -mcpu=arm810 -O3 -fomit-frame-pointer2014042720140425
2310refgcc -mcpu=arm8 -O2 -fomit-frame-pointer2014042720140425
2310refgcc -mcpu=strongarm -O3 -fomit-frame-pointer2014042720140425
2312refgcc -mcpu=arm810 -O2 -fomit-frame-pointer2014042720140425
2312refgcc -mcpu=strongarm -O2 -fomit-frame-pointer2014042720140425
3462refgcc -fno-schedule-insns -O -fomit-frame-pointer2014042720140425
3462refgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014042720140425
3470refgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014042720140425
3472refgcc -mcpu=cortex-a5 -O -fomit-frame-pointer2014042720140425
3476refgcc -mcpu=cortex-a9 -O -fomit-frame-pointer2014042720140425
3478refgcc -O -fomit-frame-pointer2014042720140425
3494refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014042720140425
3497refgcc -funroll-loops -O -fomit-frame-pointer2014042720140425
3714refgcc -mcpu=arm810 -O -fomit-frame-pointer2014042720140425
3714refgcc -mcpu=arm8 -O -fomit-frame-pointer2014042720140425
3714refgcc -mcpu=strongarm -O -fomit-frame-pointer2014042720140425
3716refgcc -mcpu=strongarm1100 -O -fomit-frame-pointer2014042720140425
3724refgcc -mcpu=strongarm110 -O -fomit-frame-pointer2014042720140425
11696refcc2014042720140425
11701refgcc2014042720140425
11701refgcc -funroll-loops2014042720140425

Compiler output

Implementation: crypto_core/salsa20/armneon
Compiler: cc
core.c: In file included from core.c:8:0:
core.c: /usr/lib/gcc/arm-linux-gnueabihf/4.7/include/arm_neon.h:32:2: error: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
core.c: core.c: In function 'crypto_core_salsa20_armneon':
core.c: core.c:20:3: error: unknown type name 'uint32x4_t'
core.c: core.c:20:3: warning: excess elements in scalar initializer [enabled by default]
core.c: core.c:20:3: warning: (near initialization for 'abab') [enabled by default]
core.c: core.c:20:3: warning: excess elements in scalar initializer [enabled by default]
core.c: core.c:20:3: warning: (near initialization for 'abab') [enabled by default]
core.c: core.c:20:3: warning: excess elements in scalar initializer [enabled by default]
core.c: core.c:20:3: warning: (near initialization for 'abab') [enabled by default]
core.c: core.c:22:3: error: unknown type name 'uint32x4_t'
core.c: core.c:22:26: error: 'uint32x4_t' undeclared (first use in this function)
core.c: core.c:22:26: note: each undeclared identifier is reported only once for each function it appears in
core.c: core.c:22:38: error: expected ',' or ';' before 'vld1q_u8'
core.c: core.c:23:14: error: expected ';' before 'k4k5k6k7'
core.c: core.c:24:14: error: expected ';' before 'c0c1c2c3'
core.c: core.c:25:14: error: expected ';' before 'n0n1n2n3'
core.c: core.c:27:14: error: expected ';' before 'n1n2n3n0'
core.c: core.c:28:3: error: unknown type name 'uint32x2_t'
core.c: core.c:28:34: error: 'n1n2n3n0' undeclared (first use in this function)
core.c: core.c:29:3: error: unknown type name 'uint32x2_t'
core.c: core.c:30:3: error: unknown type name 'uint32x2_t'
core.c: core.c:31:3: error: unknown type name 'uint32x2_t'
core.c: core.c:32:3: error: unknown type name 'uint32x2_t'
core.c: core.c:32:34: error: 'k4k5k6k7' undeclared (first use in this function)
core.c: ...

Number of similar (compiler,implementation) pairs: 27, namely:
CompilerImplementations
cc armneon
gcc armneon
gcc -O2 -fomit-frame-pointer armneon
gcc -O3 -fomit-frame-pointer armneon
gcc -O -fomit-frame-pointer armneon
gcc -Os -fomit-frame-pointer armneon
gcc -fno-schedule-insns -O2 -fomit-frame-pointer armneon
gcc -fno-schedule-insns -O3 -fomit-frame-pointer armneon
gcc -fno-schedule-insns -O -fomit-frame-pointer armneon
gcc -fno-schedule-insns -Os -fomit-frame-pointer armneon
gcc -funroll-loops armneon
gcc -funroll-loops -O2 -fomit-frame-pointer armneon
gcc -funroll-loops -O3 -fomit-frame-pointer armneon
gcc -funroll-loops -O -fomit-frame-pointer armneon
gcc -funroll-loops -Os -fomit-frame-pointer armneon
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer armneon
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer armneon
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer armneon
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer armneon
gcc -mcpu=cortex-a5 -O2 -fomit-frame-pointer armneon
gcc -mcpu=cortex-a5 -O3 -fomit-frame-pointer armneon
gcc -mcpu=cortex-a5 -O -fomit-frame-pointer armneon
gcc -mcpu=cortex-a5 -Os -fomit-frame-pointer armneon
gcc -mcpu=cortex-a9 -O2 -fomit-frame-pointer armneon
gcc -mcpu=cortex-a9 -O3 -fomit-frame-pointer armneon
gcc -mcpu=cortex-a9 -O -fomit-frame-pointer armneon
gcc -mcpu=cortex-a9 -Os -fomit-frame-pointer armneon

Compiler output

Implementation: crypto_core/salsa20/armneon
Compiler: gcc -mcpu=arm810 -O2 -fomit-frame-pointer
core.c: core.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
core.c: In file included from core.c:8:0:
core.c: /usr/lib/gcc/arm-linux-gnueabihf/4.7/include/arm_neon.h:32:2: error: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
core.c: core.c: In function 'crypto_core_salsa20_armneon':
core.c: core.c:20:3: error: unknown type name 'uint32x4_t'
core.c: core.c:20:3: warning: excess elements in scalar initializer [enabled by default]
core.c: core.c:20:3: warning: (near initialization for 'abab') [enabled by default]
core.c: core.c:20:3: warning: excess elements in scalar initializer [enabled by default]
core.c: core.c:20:3: warning: (near initialization for 'abab') [enabled by default]
core.c: core.c:20:3: warning: excess elements in scalar initializer [enabled by default]
core.c: core.c:20:3: warning: (near initialization for 'abab') [enabled by default]
core.c: core.c:22:3: error: unknown type name 'uint32x4_t'
core.c: core.c:22:26: error: 'uint32x4_t' undeclared (first use in this function)
core.c: core.c:22:26: note: each undeclared identifier is reported only once for each function it appears in
core.c: core.c:22:38: error: expected ',' or ';' before 'vld1q_u8'
core.c: core.c:23:14: error: expected ';' before 'k4k5k6k7'
core.c: core.c:24:14: error: expected ';' before 'c0c1c2c3'
core.c: core.c:25:14: error: expected ';' before 'n0n1n2n3'
core.c: core.c:27:14: error: expected ';' before 'n1n2n3n0'
core.c: core.c:28:3: error: unknown type name 'uint32x2_t'
core.c: core.c:28:34: error: 'n1n2n3n0' undeclared (first use in this function)
core.c: core.c:29:3: error: unknown type name 'uint32x2_t'
core.c: core.c:30:3: error: unknown type name 'uint32x2_t'
core.c: core.c:31:3: error: unknown type name 'uint32x2_t'
core.c: core.c:32:3: error: unknown type name 'uint32x2_t'
core.c: ...

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

Compiler output

Implementation: crypto_core/salsa20/ref
Compiler: gcc -mcpu=arm810 -O2 -fomit-frame-pointer
core.c: core.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]
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]
measure.c: measure.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
measure.c: measure-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

Compiler output

Implementation: crypto_core/salsa20/armneon2
Compiler: gcc -mcpu=arm810 -O2 -fomit-frame-pointer
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]
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]
measure.c: measure.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
measure.c: measure-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 armneon2
gcc -mcpu=arm810 -O3 -fomit-frame-pointer armneon2
gcc -mcpu=arm810 -O -fomit-frame-pointer armneon2
gcc -mcpu=arm810 -Os -fomit-frame-pointer armneon2
gcc -mcpu=arm8 -O2 -fomit-frame-pointer armneon2
gcc -mcpu=arm8 -O3 -fomit-frame-pointer armneon2
gcc -mcpu=arm8 -O -fomit-frame-pointer armneon2
gcc -mcpu=arm8 -Os -fomit-frame-pointer armneon2
gcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer armneon2
gcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer armneon2
gcc -mcpu=strongarm1100 -O -fomit-frame-pointer armneon2
gcc -mcpu=strongarm1100 -Os -fomit-frame-pointer armneon2
gcc -mcpu=strongarm110 -O2 -fomit-frame-pointer armneon2
gcc -mcpu=strongarm110 -O3 -fomit-frame-pointer armneon2
gcc -mcpu=strongarm110 -O -fomit-frame-pointer armneon2
gcc -mcpu=strongarm110 -Os -fomit-frame-pointer armneon2
gcc -mcpu=strongarm -O2 -fomit-frame-pointer armneon2
gcc -mcpu=strongarm -O3 -fomit-frame-pointer armneon2
gcc -mcpu=strongarm -O -fomit-frame-pointer armneon2
gcc -mcpu=strongarm -Os -fomit-frame-pointer armneon2