Implementation notes: armeabi, h6dragon, crypto_encrypt/4hfe

Computer: h6dragon
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20141014
Operation: crypto_encrypt
Primitive: 4hfe

Compiler output

Implementation: crypto_encrypt/4hfe/ref
Compiler: clang++ -O3 -fomit-frame-pointer
HFE-test.cpp: In file included from HFE-test.cpp:18:
HFE-test.cpp: In file included from ./HFE.h:6:
HFE-test.cpp: In file included from ./tower.h:5:
HFE-test.cpp: In file included from ./gfv.h:3:
HFE-test.cpp: /usr/include/clang/3.2/include/emmintrin.h:28:2: error: "SSE2 instruction set not enabled"
HFE-test.cpp: #error "SSE2 instruction set not enabled"
HFE-test.cpp: ^
HFE-test.cpp: In file included from HFE-test.cpp:18:
HFE-test.cpp: In file included from ./HFE.h:6:
HFE-test.cpp: In file included from ./tower.h:5:
HFE-test.cpp: ./gfv.h:7:2: error: unknown type name '__m128i'
HFE-test.cpp: __m128i v;
HFE-test.cpp: ^
HFE-test.cpp: ./gfv.h:12:22: error: unknown type name '__m128i'
HFE-test.cpp: inline gfvgt;(const __m128i& a):v(a){}
HFE-test.cpp: ^
HFE-test.cpp: ./gfv.h:24:62: error: use of undeclared identifier '_mm_setzero_si128'
HFE-test.cpp: inline const gfvgt; operator-() const {return _mm_sub_epi16(_mm_setzero_si128(), this->gt;v);}
HFE-test.cpp: ^
HFE-test.cpp: ./gfv.h:34:79: error: use of undeclared identifier '_mm_set1_epi16'
HFE-test.cpp: return _mm_sub_epi16(a.v, _mm_mullo_epi16(_mm_mulhi_epi16(_mm_add_epi16(a.v, _mm_set1_epi16((p-1)/2)), _mm_set1_epi16(gfvgt;::R)), _mm_set1_epi16(p)));
HFE-test.cpp: ^
HFE-test.cpp: ./gfv.h:38:25: error: no member named 'v' in 'gfvgt;'
HFE-test.cpp: return _mm_sub_epi16(a.v, _mm_mullo_epi16(_mm_mulhi_epi16(_mm_add_epi16(a.v, _mm_set1_epi16(16)), _mm_set1_epi16(gfvgt;::R)), _mm_set1_epi16(31)));
HFE-test.cpp: ~ ^
HFE-test.cpp: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang++ -O3 -fomit-frame-pointer ref
clang++ -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=neon -fomit-frame-pointer ref
clang++ -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_encrypt/4hfe/ref
Compiler: clang++ -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=neon -fomit-frame-pointer -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive
HFE-test.cpp: clang: warning: argument unused during compilation: '-fpolly'
HFE-test.cpp: clang: warning: argument unused during compilation: '-fvectorize'
HFE-test.cpp: clang: warning: argument unused during compilation: '-fslp-vectorize'
HFE-test.cpp: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
HFE-test.cpp: In file included from HFE-test.cpp:18:
HFE-test.cpp: In file included from ./HFE.h:6:
HFE-test.cpp: In file included from ./tower.h:5:
HFE-test.cpp: In file included from ./gfv.h:3:
HFE-test.cpp: /usr/include/clang/3.2/include/emmintrin.h:28:2: error: "SSE2 instruction set not enabled"
HFE-test.cpp: #error "SSE2 instruction set not enabled"
HFE-test.cpp: ^
HFE-test.cpp: In file included from HFE-test.cpp:18:
HFE-test.cpp: In file included from ./HFE.h:6:
HFE-test.cpp: In file included from ./tower.h:5:
HFE-test.cpp: ./gfv.h:7:2: error: unknown type name '__m128i'
HFE-test.cpp: __m128i v;
HFE-test.cpp: ^
HFE-test.cpp: ./gfv.h:12:22: error: unknown type name '__m128i'
HFE-test.cpp: inline gfvgt;(const __m128i& a):v(a){}
HFE-test.cpp: ^
HFE-test.cpp: ./gfv.h:24:62: error: use of undeclared identifier '_mm_setzero_si128'
HFE-test.cpp: inline const gfvgt; operator-() const {return _mm_sub_epi16(_mm_setzero_si128(), this->gt;v);}
HFE-test.cpp: ^
HFE-test.cpp: ./gfv.h:34:79: error: use of undeclared identifier '_mm_set1_epi16'
HFE-test.cpp: return _mm_sub_epi16(a.v, _mm_mullo_epi16(_mm_mulhi_epi16(_mm_add_epi16(a.v, _mm_set1_epi16((p-1)/2)), _mm_set1_epi16(gfvgt;::R)), _mm_set1_epi16(p)));
HFE-test.cpp: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang++ -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=neon -fomit-frame-pointer -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive ref
clang++ -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -fomit-frame-pointer -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive ref

Compiler output

Implementation: crypto_encrypt/4hfe/ref
Compiler: clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer
HFE-test.cpp: clang: warning: argument unused during compilation: '-mavx2'
HFE-test.cpp: In file included from HFE-test.cpp:18:
HFE-test.cpp: In file included from ./HFE.h:6:
HFE-test.cpp: In file included from ./tower.h:5:
HFE-test.cpp: In file included from ./gfv.h:3:
HFE-test.cpp: /usr/include/clang/3.2/include/emmintrin.h:28:2: error: "SSE2 instruction set not enabled"
HFE-test.cpp: #error "SSE2 instruction set not enabled"
HFE-test.cpp: ^
HFE-test.cpp: In file included from HFE-test.cpp:18:
HFE-test.cpp: In file included from ./HFE.h:6:
HFE-test.cpp: In file included from ./tower.h:5:
HFE-test.cpp: ./gfv.h:7:2: error: unknown type name '__m128i'
HFE-test.cpp: __m128i v;
HFE-test.cpp: ^
HFE-test.cpp: ./gfv.h:12:22: error: unknown type name '__m128i'
HFE-test.cpp: inline gfvgt;(const __m128i& a):v(a){}
HFE-test.cpp: ^
HFE-test.cpp: ./gfv.h:24:62: error: use of undeclared identifier '_mm_setzero_si128'
HFE-test.cpp: inline const gfvgt; operator-() const {return _mm_sub_epi16(_mm_setzero_si128(), this->gt;v);}
HFE-test.cpp: ^
HFE-test.cpp: ./gfv.h:34:79: error: use of undeclared identifier '_mm_set1_epi16'
HFE-test.cpp: return _mm_sub_epi16(a.v, _mm_mullo_epi16(_mm_mulhi_epi16(_mm_add_epi16(a.v, _mm_set1_epi16((p-1)/2)), _mm_set1_epi16(gfvgt;::R)), _mm_set1_epi16(p)));
HFE-test.cpp: ^
HFE-test.cpp: ./gfv.h:38:25: error: no member named 'v' in 'gfvgt;'
HFE-test.cpp: return _mm_sub_epi16(a.v, _mm_mullo_epi16(_mm_mulhi_epi16(_mm_add_epi16(a.v, _mm_set1_epi16(16)), _mm_set1_epi16(gfvgt;::R)), _mm_set1_epi16(31)));
HFE-test.cpp: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_encrypt/4hfe/ref
Compiler: clang++ -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
HFE-test.cpp: clang: warning: argument unused during compilation: '-mavx2'
HFE-test.cpp: clang: warning: argument unused during compilation: '-fpolly'
HFE-test.cpp: clang: warning: argument unused during compilation: '-fvectorize'
HFE-test.cpp: clang: warning: argument unused during compilation: '-fslp-vectorize'
HFE-test.cpp: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
HFE-test.cpp: In file included from HFE-test.cpp:18:
HFE-test.cpp: In file included from ./HFE.h:6:
HFE-test.cpp: In file included from ./tower.h:5:
HFE-test.cpp: In file included from ./gfv.h:3:
HFE-test.cpp: /usr/include/clang/3.2/include/emmintrin.h:28:2: error: "SSE2 instruction set not enabled"
HFE-test.cpp: #error "SSE2 instruction set not enabled"
HFE-test.cpp: ^
HFE-test.cpp: In file included from HFE-test.cpp:18:
HFE-test.cpp: In file included from ./HFE.h:6:
HFE-test.cpp: In file included from ./tower.h:5:
HFE-test.cpp: ./gfv.h:7:2: error: unknown type name '__m128i'
HFE-test.cpp: __m128i v;
HFE-test.cpp: ^
HFE-test.cpp: ./gfv.h:12:22: error: unknown type name '__m128i'
HFE-test.cpp: inline gfvgt;(const __m128i& a):v(a){}
HFE-test.cpp: ^
HFE-test.cpp: ./gfv.h:24:62: error: use of undeclared identifier '_mm_setzero_si128'
HFE-test.cpp: inline const gfvgt; operator-() const {return _mm_sub_epi16(_mm_setzero_si128(), this->gt;v);}
HFE-test.cpp: ^
HFE-test.cpp: ./gfv.h:34:79: error: use of undeclared identifier '_mm_set1_epi16'
HFE-test.cpp: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref

Compiler output

Implementation: crypto_encrypt/4hfe/ref
Compiler: clang++ -O3 -fwrapv -mavx -fomit-frame-pointer
HFE-test.cpp: clang: warning: argument unused during compilation: '-mavx'
HFE-test.cpp: In file included from HFE-test.cpp:18:
HFE-test.cpp: In file included from ./HFE.h:6:
HFE-test.cpp: In file included from ./tower.h:5:
HFE-test.cpp: In file included from ./gfv.h:3:
HFE-test.cpp: /usr/include/clang/3.2/include/emmintrin.h:28:2: error: "SSE2 instruction set not enabled"
HFE-test.cpp: #error "SSE2 instruction set not enabled"
HFE-test.cpp: ^
HFE-test.cpp: In file included from HFE-test.cpp:18:
HFE-test.cpp: In file included from ./HFE.h:6:
HFE-test.cpp: In file included from ./tower.h:5:
HFE-test.cpp: ./gfv.h:7:2: error: unknown type name '__m128i'
HFE-test.cpp: __m128i v;
HFE-test.cpp: ^
HFE-test.cpp: ./gfv.h:12:22: error: unknown type name '__m128i'
HFE-test.cpp: inline gfvgt;(const __m128i& a):v(a){}
HFE-test.cpp: ^
HFE-test.cpp: ./gfv.h:24:62: error: use of undeclared identifier '_mm_setzero_si128'
HFE-test.cpp: inline const gfvgt; operator-() const {return _mm_sub_epi16(_mm_setzero_si128(), this->gt;v);}
HFE-test.cpp: ^
HFE-test.cpp: ./gfv.h:34:79: error: use of undeclared identifier '_mm_set1_epi16'
HFE-test.cpp: return _mm_sub_epi16(a.v, _mm_mullo_epi16(_mm_mulhi_epi16(_mm_add_epi16(a.v, _mm_set1_epi16((p-1)/2)), _mm_set1_epi16(gfvgt;::R)), _mm_set1_epi16(p)));
HFE-test.cpp: ^
HFE-test.cpp: ./gfv.h:38:25: error: no member named 'v' in 'gfvgt;'
HFE-test.cpp: return _mm_sub_epi16(a.v, _mm_mullo_epi16(_mm_mulhi_epi16(_mm_add_epi16(a.v, _mm_set1_epi16(16)), _mm_set1_epi16(gfvgt;::R)), _mm_set1_epi16(31)));
HFE-test.cpp: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -O3 -fwrapv -mavx -fomit-frame-pointer ref

Compiler output

Implementation: crypto_encrypt/4hfe/ref
Compiler: clang++ -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
HFE-test.cpp: clang: warning: argument unused during compilation: '-mavx'
HFE-test.cpp: clang: warning: argument unused during compilation: '-fpolly'
HFE-test.cpp: clang: warning: argument unused during compilation: '-fvectorize'
HFE-test.cpp: clang: warning: argument unused during compilation: '-fslp-vectorize'
HFE-test.cpp: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
HFE-test.cpp: In file included from HFE-test.cpp:18:
HFE-test.cpp: In file included from ./HFE.h:6:
HFE-test.cpp: In file included from ./tower.h:5:
HFE-test.cpp: In file included from ./gfv.h:3:
HFE-test.cpp: /usr/include/clang/3.2/include/emmintrin.h:28:2: error: "SSE2 instruction set not enabled"
HFE-test.cpp: #error "SSE2 instruction set not enabled"
HFE-test.cpp: ^
HFE-test.cpp: In file included from HFE-test.cpp:18:
HFE-test.cpp: In file included from ./HFE.h:6:
HFE-test.cpp: In file included from ./tower.h:5:
HFE-test.cpp: ./gfv.h:7:2: error: unknown type name '__m128i'
HFE-test.cpp: __m128i v;
HFE-test.cpp: ^
HFE-test.cpp: ./gfv.h:12:22: error: unknown type name '__m128i'
HFE-test.cpp: inline gfvgt;(const __m128i& a):v(a){}
HFE-test.cpp: ^
HFE-test.cpp: ./gfv.h:24:62: error: use of undeclared identifier '_mm_setzero_si128'
HFE-test.cpp: inline const gfvgt; operator-() const {return _mm_sub_epi16(_mm_setzero_si128(), this->gt;v);}
HFE-test.cpp: ^
HFE-test.cpp: ./gfv.h:34:79: error: use of undeclared identifier '_mm_set1_epi16'
HFE-test.cpp: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref

Compiler output

Implementation: crypto_encrypt/4hfe/ref
Compiler: clang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer
HFE-test.cpp: clang: warning: argument unused during compilation: '-mavx'
HFE-test.cpp: clang: warning: argument unused during compilation: '-maes'
HFE-test.cpp: clang: warning: argument unused during compilation: '-mpclmul'
HFE-test.cpp: In file included from HFE-test.cpp:18:
HFE-test.cpp: In file included from ./HFE.h:6:
HFE-test.cpp: In file included from ./tower.h:5:
HFE-test.cpp: In file included from ./gfv.h:3:
HFE-test.cpp: /usr/include/clang/3.2/include/emmintrin.h:28:2: error: "SSE2 instruction set not enabled"
HFE-test.cpp: #error "SSE2 instruction set not enabled"
HFE-test.cpp: ^
HFE-test.cpp: In file included from HFE-test.cpp:18:
HFE-test.cpp: In file included from ./HFE.h:6:
HFE-test.cpp: In file included from ./tower.h:5:
HFE-test.cpp: ./gfv.h:7:2: error: unknown type name '__m128i'
HFE-test.cpp: __m128i v;
HFE-test.cpp: ^
HFE-test.cpp: ./gfv.h:12:22: error: unknown type name '__m128i'
HFE-test.cpp: inline gfvgt;(const __m128i& a):v(a){}
HFE-test.cpp: ^
HFE-test.cpp: ./gfv.h:24:62: error: use of undeclared identifier '_mm_setzero_si128'
HFE-test.cpp: inline const gfvgt; operator-() const {return _mm_sub_epi16(_mm_setzero_si128(), this->gt;v);}
HFE-test.cpp: ^
HFE-test.cpp: ./gfv.h:34:79: error: use of undeclared identifier '_mm_set1_epi16'
HFE-test.cpp: return _mm_sub_epi16(a.v, _mm_mullo_epi16(_mm_mulhi_epi16(_mm_add_epi16(a.v, _mm_set1_epi16((p-1)/2)), _mm_set1_epi16(gfvgt;::R)), _mm_set1_epi16(p)));
HFE-test.cpp: ^
HFE-test.cpp: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer ref

Compiler output

Implementation: crypto_encrypt/4hfe/ref
Compiler: clang++ -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
HFE-test.cpp: clang: warning: argument unused during compilation: '-mavx'
HFE-test.cpp: clang: warning: argument unused during compilation: '-maes'
HFE-test.cpp: clang: warning: argument unused during compilation: '-mpclmul'
HFE-test.cpp: clang: warning: argument unused during compilation: '-fpolly'
HFE-test.cpp: clang: warning: argument unused during compilation: '-fvectorize'
HFE-test.cpp: clang: warning: argument unused during compilation: '-fslp-vectorize'
HFE-test.cpp: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
HFE-test.cpp: In file included from HFE-test.cpp:18:
HFE-test.cpp: In file included from ./HFE.h:6:
HFE-test.cpp: In file included from ./tower.h:5:
HFE-test.cpp: In file included from ./gfv.h:3:
HFE-test.cpp: /usr/include/clang/3.2/include/emmintrin.h:28:2: error: "SSE2 instruction set not enabled"
HFE-test.cpp: #error "SSE2 instruction set not enabled"
HFE-test.cpp: ^
HFE-test.cpp: In file included from HFE-test.cpp:18:
HFE-test.cpp: In file included from ./HFE.h:6:
HFE-test.cpp: In file included from ./tower.h:5:
HFE-test.cpp: ./gfv.h:7:2: error: unknown type name '__m128i'
HFE-test.cpp: __m128i v;
HFE-test.cpp: ^
HFE-test.cpp: ./gfv.h:12:22: error: unknown type name '__m128i'
HFE-test.cpp: inline gfvgt;(const __m128i& a):v(a){}
HFE-test.cpp: ^
HFE-test.cpp: ./gfv.h:24:62: error: use of undeclared identifier '_mm_setzero_si128'
HFE-test.cpp: inline const gfvgt; operator-() const {return _mm_sub_epi16(_mm_setzero_si128(), this->gt;v);}
HFE-test.cpp: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang++ -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref

Compiler output

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++
HFE-test.cpp: In file included from tower.h:5:0,
HFE-test.cpp: from HFE.h:6,
HFE-test.cpp: from HFE-test.cpp:18:
HFE-test.cpp: gfv.h:3:23: fatal error: emmintrin.h: No such file or directory
HFE-test.cpp: compilation terminated.

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

Compiler output

Implementation: crypto_encrypt/4hfe/ref
Compiler: g++ -mcpu=arm810 -O2 -fomit-frame-pointer
HFE-test.cpp: HFE-test.cpp:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
HFE-test.cpp: In file included from tower.h:5:0,
HFE-test.cpp: from HFE.h:6,
HFE-test.cpp: from HFE-test.cpp:18:
HFE-test.cpp: gfv.h:3:23: fatal error: emmintrin.h: No such file or directory
HFE-test.cpp: compilation terminated.

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