Implementation notes: armeabi, sachr, crypto_core/salsa208

Computer: sachr
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20140514
Operation: crypto_core
Primitive: salsa208
TimeImplementationCompilerBenchmark dateSUPERCOP version
2869refgcc -mcpu=arm810 -Os -fomit-frame-pointer2014051520140514
2875armneon2gcc -mcpu=arm8 -O3 -fomit-frame-pointer2014051520140514
2887armneon2gcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer2014051520140514
2888armneon2gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014051520140514
2892armneon2gcc -mcpu=strongarm -Os -fomit-frame-pointer2014051520140514
2907armneon2gcc -mcpu=strongarm -O2 -fomit-frame-pointer2014051520140514
2910armneon2gcc -mcpu=strongarm -O -fomit-frame-pointer2014051520140514
2911refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014051520140514
2921armneon2gcc -funroll-loops -O2 -fomit-frame-pointer2014051520140514
2922refgcc -mcpu=arm8 -Os -fomit-frame-pointer2014051520140514
2927refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014051520140514
2935refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014051520140514
2935refgcc -mcpu=strongarm110 -Os -fomit-frame-pointer2014051520140514
2936armneongcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014051520140514
2937armneon2gcc2014051520140514
2940armneon2gcc -mcpu=arm810 -O2 -fomit-frame-pointer2014051520140514
2941armneon2gcc -mcpu=arm8 -Os -fomit-frame-pointer2014051520140514
2947armneon2gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014051520140514
2959armneon2gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014051520140514
2961armneon2gcc -mcpu=strongarm1100 -Os -fomit-frame-pointer2014051520140514
2961armneon2gcc -mcpu=strongarm110 -Os -fomit-frame-pointer2014051520140514
2963armneon2gcc -mcpu=cortex-a5 -Os -fomit-frame-pointer2014051520140514
2966armneon2gcc -mcpu=arm810 -Os -fomit-frame-pointer2014051520140514
2968armneon2gcc -mcpu=arm8 -O2 -fomit-frame-pointer2014051520140514
2979armneon2gcc -mcpu=cortex-a5 -O -fomit-frame-pointer2014051520140514
2983armneon2gcc -mcpu=arm8 -O -fomit-frame-pointer2014051520140514
2988armneon2gcc -funroll-loops2014051520140514
2988armneon2gcc -mcpu=strongarm110 -O2 -fomit-frame-pointer2014051520140514
2990armneon2gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014051520140514
2996armneon2gcc -funroll-loops -O3 -fomit-frame-pointer2014051520140514
3000armneon2gcc -mcpu=cortex-a5 -O2 -fomit-frame-pointer2014051520140514
3007armneon2cc2014051520140514
3007armneon2gcc -mcpu=cortex-a9 -O3 -fomit-frame-pointer2014051520140514
3008refgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014051520140514
3010armneon2gcc -mcpu=strongarm -O3 -fomit-frame-pointer2014051520140514
3014armneongcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014051520140514
3015armneongcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014051520140514
3029armneon2gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014051520140514
3030armneon2gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014051520140514
3039refgcc -O3 -fomit-frame-pointer2014051520140514
3042armneon2gcc -Os -fomit-frame-pointer2014051520140514
3047armneon2gcc -funroll-loops -Os -fomit-frame-pointer2014051520140514
3049armneon2gcc -O2 -fomit-frame-pointer2014051520140514
3053armneon2gcc -fno-schedule-insns -O -fomit-frame-pointer2014051520140514
3061armneon2gcc -mcpu=arm810 -O3 -fomit-frame-pointer2014051520140514
3063refgcc -mcpu=arm810 -O3 -fomit-frame-pointer2014051520140514
3064refgcc -mcpu=strongarm1100 -Os -fomit-frame-pointer2014051520140514
3065armneon2gcc -mcpu=cortex-a9 -O2 -fomit-frame-pointer2014051520140514
3068armneon2gcc -fno-schedule-insns -O3 -fomit-frame-pointer2014051520140514
3085armneon2gcc -mcpu=strongarm110 -O3 -fomit-frame-pointer2014051520140514
3086refgcc -mcpu=cortex-a9 -O3 -fomit-frame-pointer2014051520140514
3091refgcc -mcpu=strongarm110 -O3 -fomit-frame-pointer2014051520140514
3095armneon2gcc -mcpu=cortex-a9 -Os -fomit-frame-pointer2014051520140514
3098armneon2gcc -mcpu=strongarm1100 -O -fomit-frame-pointer2014051520140514
3102armneon2gcc -O -fomit-frame-pointer2014051520140514
3104armneon2gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014051520140514
3112armneongcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014051520140514
3114armneongcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014051520140514
3118armneon2gcc -mcpu=cortex-a5 -O3 -fomit-frame-pointer2014051520140514
3128armneon2gcc -mcpu=arm810 -O -fomit-frame-pointer2014051520140514
3129refgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014051520140514
3134armneon2gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014051520140514
3142refgcc -mcpu=cortex-a9 -O2 -fomit-frame-pointer2014051520140514
3151armneon2gcc -funroll-loops -O -fomit-frame-pointer2014051520140514
3153refgcc -mcpu=cortex-a5 -O2 -fomit-frame-pointer2014051520140514
3155refgcc -mcpu=strongarm110 -O2 -fomit-frame-pointer2014051520140514
3162refgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014051520140514
3191refgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014051520140514
3195refgcc -mcpu=arm8 -O2 -fomit-frame-pointer2014051520140514
3196refgcc -mcpu=strongarm -Os -fomit-frame-pointer2014051520140514
3207refgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014051520140514
3214refgcc -funroll-loops -O2 -fomit-frame-pointer2014051520140514
3224refgcc -mcpu=arm810 -O2 -fomit-frame-pointer2014051520140514
3236armneon2gcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer2014051520140514
3243refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014051520140514
3249armneon2gcc -mcpu=cortex-a9 -O -fomit-frame-pointer2014051520140514
3254refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014051520140514
3258armneongcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014051520140514
3261refgcc -funroll-loops -O3 -fomit-frame-pointer2014051520140514
3269refgcc -Os -fomit-frame-pointer2014051520140514
3290armneon2gcc -fno-schedule-insns -Os -fomit-frame-pointer2014051520140514
3292refgcc -O2 -fomit-frame-pointer2014051520140514
3304refgcc -mcpu=cortex-a5 -O3 -fomit-frame-pointer2014051520140514
3316refgcc -mcpu=cortex-a9 -Os -fomit-frame-pointer2014051520140514
3343armneon2gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014051520140514
3350refgcc -funroll-loops -Os -fomit-frame-pointer2014051520140514
3377refgcc -mcpu=cortex-a5 -Os -fomit-frame-pointer2014051520140514
3394refgcc -mcpu=strongarm1100 -O -fomit-frame-pointer2014051520140514
3412armneon2gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014051520140514
3419armneon2gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014051520140514
3434armneon2gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014051520140514
3477refgcc -mcpu=strongarm -O3 -fomit-frame-pointer2014051520140514
3499refgcc -O -fomit-frame-pointer2014051520140514
3522refgcc -fno-schedule-insns -O -fomit-frame-pointer2014051520140514
3542refgcc -mcpu=arm810 -O -fomit-frame-pointer2014051520140514
3570refgcc -mcpu=strongarm110 -O -fomit-frame-pointer2014051520140514
3576refgcc -mcpu=cortex-a5 -O -fomit-frame-pointer2014051520140514
3576refgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014051520140514
3611refgcc -funroll-loops -O -fomit-frame-pointer2014051520140514
3613armneon2gcc -fno-schedule-insns -O2 -fomit-frame-pointer2014051520140514
3647refgcc -mcpu=strongarm -O -fomit-frame-pointer2014051520140514
3752refgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014051520140514
3806armneongcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014051520140514
3855refgcc -mcpu=strongarm -O2 -fomit-frame-pointer2014051520140514
3873refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014051520140514
3898refgcc -mcpu=arm8 -O -fomit-frame-pointer2014051520140514
4046refgcc -mcpu=cortex-a9 -O -fomit-frame-pointer2014051520140514
4110armneon2gcc -mcpu=strongarm110 -O -fomit-frame-pointer2014051520140514
4124armneongcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014051520140514
4172refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014051520140514
4210refgcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer2014051520140514
4259armneon2gcc -O3 -fomit-frame-pointer2014051520140514
4388refgcc -mcpu=arm8 -O3 -fomit-frame-pointer2014051520140514
4694refgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014051520140514
4951refgcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer2014051520140514
5591refgcc -funroll-loops2014051520140514
5609refcc2014051520140514
5713refgcc2014051520140514

Compiler output

Implementation: crypto_core/salsa208/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_salsa208_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/salsa208/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_salsa208_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/salsa208/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/salsa208/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