Implementation notes: armeabi, h7beagle, crypto_core/salsa2012

Computer: h7beagle
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20140622
Operation: crypto_core
Primitive: salsa2012
TimeImplementationCompilerBenchmark dateSUPERCOP version
1385armneongcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014060820140529
1398armneongcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014060820140529
1404armneon2gcc -fno-schedule-insns -Os -fomit-frame-pointer2014060820140529
1404armneon2gcc -mcpu=arm810 -O2 -fomit-frame-pointer2014060820140529
1404armneongcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014060820140529
1404armneongcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014060820140529
1406armneon2gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014060820140529
1413armneon2gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014060820140529
1418armneon2gcc -O3 -fomit-frame-pointer2014060820140529
1418armneon2gcc -Os -fomit-frame-pointer2014060820140529
1418armneon2gcc -mcpu=arm810 -O3 -fomit-frame-pointer2014060820140529
1418armneon2gcc -mcpu=cortex-a5 -O2 -fomit-frame-pointer2014060820140529
1418armneon2gcc -mcpu=cortex-a5 -O3 -fomit-frame-pointer2014060820140529
1418armneon2gcc -mcpu=cortex-a5 -O -fomit-frame-pointer2014060820140529
1418armneongcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014060820140529
1418armneon2gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014060820140529
1418armneon2gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014060820140529
1418armneongcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014060820140529
1418armneon2gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014060820140529
1418armneon2gcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer2014060820140529
1418armneon2gcc -mcpu=strongarm1100 -O -fomit-frame-pointer2014060820140529
1418armneon2gcc -mcpu=strongarm110 -O3 -fomit-frame-pointer2014060820140529
1418armneon2gcc -mcpu=strongarm -O2 -fomit-frame-pointer2014060820140529
1418armneon2gcc -mcpu=strongarm -O -fomit-frame-pointer2014060820140529
1420armneon2gcc -mcpu=cortex-a9 -Os -fomit-frame-pointer2014060820140529
1420armneon2gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014060820140529
1421armneon2gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014060820140529
1424armneon2gcc -mcpu=arm8 -O3 -fomit-frame-pointer2014060820140529
1424armneon2gcc -mcpu=cortex-a5 -Os -fomit-frame-pointer2014060820140529
1424armneon2gcc -mcpu=cortex-a9 -O2 -fomit-frame-pointer2014060820140529
1425armneon2gcc -mcpu=cortex-a9 -O3 -fomit-frame-pointer2014060820140529
1426armneon2gcc -O2 -fomit-frame-pointer2014060820140529
1426armneon2gcc -fno-schedule-insns -O2 -fomit-frame-pointer2014060820140529
1426armneon2gcc -fno-schedule-insns -O3 -fomit-frame-pointer2014060820140529
1426armneon2gcc -mcpu=arm810 -O -fomit-frame-pointer2014060820140529
1426armneon2gcc -mcpu=arm8 -O2 -fomit-frame-pointer2014060820140529
1426armneon2gcc -mcpu=arm8 -O -fomit-frame-pointer2014060820140529
1426armneon2gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014060820140529
1426armneon2gcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer2014060820140529
1426armneon2gcc -mcpu=strongarm110 -O2 -fomit-frame-pointer2014060820140529
1426armneon2gcc -mcpu=strongarm110 -O -fomit-frame-pointer2014060820140529
1426armneon2gcc -mcpu=strongarm -O3 -fomit-frame-pointer2014060820140529
1427armneon2gcc -funroll-loops -O2 -fomit-frame-pointer2014060820140529
1430armneon2gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014060820140529
1432armneon2gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014060820140529
1432armneon2gcc -mcpu=strongarm -Os -fomit-frame-pointer2014060820140529
1433armneon2gcc -funroll-loops -O -fomit-frame-pointer2014060820140529
1433armneon2gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014060820140529
1433armneon2gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014060820140529
1433armneon2gcc -mcpu=strongarm1100 -Os -fomit-frame-pointer2014060820140529
1438armneon2gcc -funroll-loops -O3 -fomit-frame-pointer2014060820140529
1439armneon2gcc -funroll-loops -Os -fomit-frame-pointer2014060820140529
1440armneon2gcc -mcpu=arm810 -Os -fomit-frame-pointer2014060820140529
1441armneon2gcc -mcpu=arm8 -Os -fomit-frame-pointer2014060820140529
1447armneon2gcc -mcpu=strongarm110 -Os -fomit-frame-pointer2014060820140529
1452armneon2gcc -O -fomit-frame-pointer2014060820140529
1454armneon2gcc -fno-schedule-insns -O -fomit-frame-pointer2014060820140529
1454armneon2gcc -mcpu=cortex-a9 -O -fomit-frame-pointer2014060820140529
1476armneon2cc2014060820140529
1476armneon2gcc2014060820140529
1476armneon2gcc -funroll-loops2014060820140529
1476armneongcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014060820140529
1476armneongcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014060820140529
1533refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014060820140529
1562refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014060820140529
1606refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014060820140529
1634refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014060820140529
1634refgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014060820140529
1648refgcc -O2 -fomit-frame-pointer2014060820140529
1694refgcc -funroll-loops -O3 -fomit-frame-pointer2014060820140529
1697refgcc -funroll-loops -O2 -fomit-frame-pointer2014060820140529
1708refgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014060820140529
1734refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014060820140529
1744refgcc -funroll-loops -Os -fomit-frame-pointer2014060820140529
1764refgcc -O3 -fomit-frame-pointer2014060820140529
1764refgcc -Os -fomit-frame-pointer2014060820140529
1764refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014060820140529
1778refgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014060820140529
1786refgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014060820140529
1788refgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014060820140529
1791refgcc -mcpu=cortex-a9 -O3 -fomit-frame-pointer2014060820140529
1792refgcc -mcpu=cortex-a5 -Os -fomit-frame-pointer2014060820140529
1792refgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014060820140529
1800refgcc -mcpu=cortex-a9 -O2 -fomit-frame-pointer2014060820140529
1800refgcc -mcpu=cortex-a9 -Os -fomit-frame-pointer2014060820140529
1828refgcc -mcpu=arm810 -Os -fomit-frame-pointer2014060820140529
1830refgcc -mcpu=strongarm -Os -fomit-frame-pointer2014060820140529
1836refgcc -mcpu=strongarm1100 -Os -fomit-frame-pointer2014060820140529
1836refgcc -mcpu=strongarm110 -Os -fomit-frame-pointer2014060820140529
1838refgcc -mcpu=cortex-a5 -O3 -fomit-frame-pointer2014060820140529
1842refgcc -mcpu=arm8 -Os -fomit-frame-pointer2014060820140529
1900refgcc -mcpu=cortex-a5 -O2 -fomit-frame-pointer2014060820140529
1936refgcc -mcpu=arm810 -O3 -fomit-frame-pointer2014060820140529
1936refgcc -mcpu=arm8 -O3 -fomit-frame-pointer2014060820140529
1936refgcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer2014060820140529
1938refgcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer2014060820140529
1944refgcc -mcpu=arm810 -O2 -fomit-frame-pointer2014060820140529
1944refgcc -mcpu=strongarm110 -O2 -fomit-frame-pointer2014060820140529
1944refgcc -mcpu=strongarm110 -O3 -fomit-frame-pointer2014060820140529
1946refgcc -mcpu=strongarm -O2 -fomit-frame-pointer2014060820140529
1950refgcc -mcpu=arm8 -O2 -fomit-frame-pointer2014060820140529
1950refgcc -mcpu=strongarm -O3 -fomit-frame-pointer2014060820140529
2580refgcc -mcpu=cortex-a5 -O -fomit-frame-pointer2014060820140529
2594refgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014060820140529
2614refgcc -O -fomit-frame-pointer2014060820140529
2614refgcc -mcpu=cortex-a9 -O -fomit-frame-pointer2014060820140529
2620refgcc -fno-schedule-insns -O -fomit-frame-pointer2014060820140529
2626refgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014060820140529
2646refgcc -funroll-loops -O -fomit-frame-pointer2014060820140529
2649refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014060820140529
2736refgcc -mcpu=arm810 -O -fomit-frame-pointer2014060820140529
2742refgcc -mcpu=arm8 -O -fomit-frame-pointer2014060820140529
2755refgcc -mcpu=strongarm -O -fomit-frame-pointer2014060820140529
2756refgcc -mcpu=strongarm1100 -O -fomit-frame-pointer2014060820140529
2756refgcc -mcpu=strongarm110 -O -fomit-frame-pointer2014060820140529
8093refgcc -funroll-loops2014060820140529
8100refcc2014060820140529
8101refgcc2014060820140529

Compiler output

Implementation: crypto_core/salsa2012/armneon
Compiler: cc
core.c: In file included from core.c:9: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_salsa2012_armneon':
core.c: core.c:21:3: error: unknown type name 'uint32x4_t'
core.c: core.c:21:3: warning: excess elements in scalar initializer [enabled by default]
core.c: core.c:21:3: warning: (near initialization for 'abab') [enabled by default]
core.c: core.c:21:3: warning: excess elements in scalar initializer [enabled by default]
core.c: core.c:21:3: warning: (near initialization for 'abab') [enabled by default]
core.c: core.c:21:3: warning: excess elements in scalar initializer [enabled by default]
core.c: core.c:21:3: warning: (near initialization for 'abab') [enabled by default]
core.c: core.c:23:3: error: unknown type name 'uint32x4_t'
core.c: core.c:23:26: error: 'uint32x4_t' undeclared (first use in this function)
core.c: core.c:23:26: note: each undeclared identifier is reported only once for each function it appears in
core.c: core.c:23:38: error: expected ',' or ';' before 'vld1q_u8'
core.c: core.c:24:14: error: expected ';' before 'k4k5k6k7'
core.c: core.c:25:14: error: expected ';' before 'c0c1c2c3'
core.c: core.c:26:14: error: expected ';' before 'n0n1n2n3'
core.c: core.c:28:14: error: expected ';' before 'n1n2n3n0'
core.c: core.c:29:3: error: unknown type name 'uint32x2_t'
core.c: core.c:29:34: error: 'n1n2n3n0' undeclared (first use in this function)
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:33:3: error: unknown type name 'uint32x2_t'
core.c: core.c:33: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/salsa2012/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:9: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_salsa2012_armneon':
core.c: core.c:21:3: error: unknown type name 'uint32x4_t'
core.c: core.c:21:3: warning: excess elements in scalar initializer [enabled by default]
core.c: core.c:21:3: warning: (near initialization for 'abab') [enabled by default]
core.c: core.c:21:3: warning: excess elements in scalar initializer [enabled by default]
core.c: core.c:21:3: warning: (near initialization for 'abab') [enabled by default]
core.c: core.c:21:3: warning: excess elements in scalar initializer [enabled by default]
core.c: core.c:21:3: warning: (near initialization for 'abab') [enabled by default]
core.c: core.c:23:3: error: unknown type name 'uint32x4_t'
core.c: core.c:23:26: error: 'uint32x4_t' undeclared (first use in this function)
core.c: core.c:23:26: note: each undeclared identifier is reported only once for each function it appears in
core.c: core.c:23:38: error: expected ',' or ';' before 'vld1q_u8'
core.c: core.c:24:14: error: expected ';' before 'k4k5k6k7'
core.c: core.c:25:14: error: expected ';' before 'c0c1c2c3'
core.c: core.c:26:14: error: expected ';' before 'n0n1n2n3'
core.c: core.c:28:14: error: expected ';' before 'n1n2n3n0'
core.c: core.c:29:3: error: unknown type name 'uint32x2_t'
core.c: core.c:29:34: error: 'n1n2n3n0' undeclared (first use in this function)
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:33: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/salsa2012/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/salsa2012/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