Implementation notes: armeabi, berry2, crypto_hash/sha3384

Computer: berry2
Microarchitecture: armeabi; Cortex-A7 (410fc075)
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20240107
Operation: crypto_hash
Primitive: sha3384
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
844287336 0 015267 380 744kcp/optimized1600ARMv7Agcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
844307408 0 017344 384 744kcp/optimized1600ARMv7Agcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
844587304 0 015267 380 744kcp/optimized1600ARMv7Agcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
845467096 0 014594 372 744kcp/optimized1600ARMv7Agcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
160478168 0 08496 408 744opensslgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
160489172 0 08508 408 744opensslgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
160577156 0 07963 400 744opensslgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
160694168 0 010373 412 744opensslgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
160740180 0 019989 412 760opensslclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
1761871656 0 032282 384 760oncore32bitsclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
1769341508 0 020740 384 744oncore32bitsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
1769621508 0 022568 384 744oncore32bitsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
1806961444 0 020168 376 744oncore32bitsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
1833801636 0 020876 384 744oncore32bitsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
2150791172 0 067332 384 744oncore64bitsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
2151341044 0 065372 384 744oncore64bitsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
2151541008 0 065344 384 744oncore64bitsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
215247876 0 064700 376 744oncore64bitsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
2155741164 0 076890 384 760oncore64bitsclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107

Compiler output

Implementation: kcp/optimized1600ARMv7A
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
keccak.s: keccak.s:638:6: error: expected absolute expression
keccak.s: .if FastLoop != 0
keccak.s: ^

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE kcp/optimized1600ARMv7A

Compiler output

Implementation: kcp/optimized1600ARMv8A
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
keccak.s: keccak.s:258:5: error: invalid instruction, did you mean: mov, vmov?
keccak.s: movi v0.2d, #0
keccak.s: ^
keccak.s: keccak.s:259:5: error: invalid instruction, did you mean: mov, vmov?
keccak.s: movi v1.2d, #0
keccak.s: ^
keccak.s: keccak.s:260:5: error: invalid instruction, did you mean: mov, vmov?
keccak.s: movi v2.2d, #0
keccak.s: ^
keccak.s: keccak.s:261:5: error: invalid instruction, did you mean: mov, vmov?
keccak.s: movi v3.2d, #0
keccak.s: ^
keccak.s: keccak.s:262:15: error: register expected
keccak.s: st4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64 // Clear 8lanes=64 bytes at a time
keccak.s: ^
keccak.s: keccak.s:263:15: error: register expected
keccak.s: st4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64
keccak.s: ^
keccak.s: keccak.s:264:15: error: register expected
keccak.s: st4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64
keccak.s: ^
keccak.s: keccak.s:265:15: error: register expected
keccak.s: st1 { v0.d }[0], [x0], #8
keccak.s: ^
keccak.s: keccak.s:266:5: error: invalid instruction, did you mean: rev?
keccak.s: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE kcp/optimized1600ARMv8A

Compiler output

Implementation: kcp/optimized1600ARMv8A
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
keccak.s: keccak.s: Assembler messages:
keccak.s: keccak.s:258: Error: bad instruction `movi v0.2d,#0'
keccak.s: keccak.s:259: Error: bad instruction `movi v1.2d,#0'
keccak.s: keccak.s:260: Error: bad instruction `movi v2.2d,#0'
keccak.s: keccak.s:261: Error: bad instruction `movi v3.2d,#0'
keccak.s: keccak.s:262: Error: bad instruction `st4 { v0.2d,v1.2d,v2.2d,v3.2d },[x0],#64'
keccak.s: keccak.s:263: Error: bad instruction `st4 { v0.2d,v1.2d,v2.2d,v3.2d },[x0],#64'
keccak.s: keccak.s:264: Error: bad instruction `st4 { v0.2d,v1.2d,v2.2d,v3.2d },[x0],#64'
keccak.s: keccak.s:265: Error: bad instruction `st1 { v0.d }[0],[x0],#8'
keccak.s: keccak.s:266: Error: bad instruction `ret'
keccak.s: keccak.s:276: Error: ARM register expected -- `ldrb w3,[x0,x2]'
keccak.s: keccak.s:277: Error: ARM register expected -- `eor w3,w3,w1'
keccak.s: keccak.s:278: Error: ARM register expected -- `strb w3,[x0,x2]'
keccak.s: keccak.s:279: Error: bad instruction `ret'
keccak.s: keccak.s:289: Error: ARM register expected -- `add x0,x0,x2'
keccak.s: keccak.s:290: Error: ARM register expected -- `subs w4,w3,#1'
keccak.s: keccak.s:291: Error: unexpected character `c' in type specifier
keccak.s: keccak.s:291: Error: bad instruction `b.cc KeccakP1600_AddBytes_Exit'
keccak.s: keccak.s:293: Error: ARM register expected -- `subs w3,w3,#64'
keccak.s: keccak.s:294: Error: unexpected character `c' in type specifier
keccak.s: keccak.s:294: Error: bad instruction `b.cc KeccakP1600_AddBytes_Lanes'
keccak.s: keccak.s:295: Error: bad instruction `ld4 { v0.2d,v1.2d,v2.2d,v3.2d },[x0]'
keccak.s: keccak.s:296: Error: bad instruction `ld4 { v4.2d,v5.2d,v6.2d,v7.2d },[x1],#64'
keccak.s: keccak.s:297: Error: ARM register expected -- `eor v0.16b,v0.16b,v4.16b'
keccak.s: keccak.s:298: Error: bad arguments to instruction -- `eor v1.16b,v1.16b,v5.16b'
keccak.s: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE kcp/optimized1600ARMv8A
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE kcp/optimized1600ARMv8A
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE kcp/optimized1600ARMv8A
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE kcp/optimized1600ARMv8A

Compiler output

Implementation: kcp/optimized1600AVX2
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-1600-AVX2.c: In file included from KeccakP-1600-AVX2.c:20:
KeccakP-1600-AVX2.c: In file included from /usr/lib/llvm-7/lib/clang/7.0.1/include/x86intrin.h:29:
KeccakP-1600-AVX2.c: In file included from /usr/lib/llvm-7/lib/clang/7.0.1/include/immintrin.h:28:
KeccakP-1600-AVX2.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:64:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
KeccakP-1600-AVX2.c: return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
KeccakP-1600-AVX2.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX2.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:143:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
KeccakP-1600-AVX2.c: return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
KeccakP-1600-AVX2.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX2.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:173:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
KeccakP-1600-AVX2.c: return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
KeccakP-1600-AVX2.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX2.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:203:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
KeccakP-1600-AVX2.c: return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
KeccakP-1600-AVX2.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX2.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:230:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
KeccakP-1600-AVX2.c: return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
KeccakP-1600-AVX2.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX2.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:253:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
KeccakP-1600-AVX2.c: return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
KeccakP-1600-AVX2.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX2.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:274:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
KeccakP-1600-AVX2.c: return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
KeccakP-1600-AVX2.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX2.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:301:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
KeccakP-1600-AVX2.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE kcp/optimized1600AVX2

Compiler output

Implementation: kcp/optimized1600AVX2
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:20:14: fatal error: x86intrin.h: No such file or directory
KeccakP-1600-AVX2.c: #include <x86intrin.h>
KeccakP-1600-AVX2.c: ^~~~~~~~~~~~~
KeccakP-1600-AVX2.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE kcp/optimized1600AVX2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE kcp/optimized1600AVX2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE kcp/optimized1600AVX2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE kcp/optimized1600AVX2

Compiler output

Implementation: kcp/optimized1600AVX512
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-1600-AVX512.c: In file included from KeccakP-1600-AVX512.c:24:
KeccakP-1600-AVX512.c: In file included from /usr/lib/llvm-7/lib/clang/7.0.1/include/smmintrin.h:27:
KeccakP-1600-AVX512.c: In file included from /usr/lib/llvm-7/lib/clang/7.0.1/include/tmmintrin.h:27:
KeccakP-1600-AVX512.c: In file included from /usr/lib/llvm-7/lib/clang/7.0.1/include/pmmintrin.h:27:
KeccakP-1600-AVX512.c: In file included from /usr/lib/llvm-7/lib/clang/7.0.1/include/emmintrin.h:27:
KeccakP-1600-AVX512.c: In file included from /usr/lib/llvm-7/lib/clang/7.0.1/include/xmmintrin.h:27:
KeccakP-1600-AVX512.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:64:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
KeccakP-1600-AVX512.c: return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
KeccakP-1600-AVX512.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX512.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:143:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
KeccakP-1600-AVX512.c: return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
KeccakP-1600-AVX512.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX512.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:173:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
KeccakP-1600-AVX512.c: return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
KeccakP-1600-AVX512.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX512.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:203:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
KeccakP-1600-AVX512.c: return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
KeccakP-1600-AVX512.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX512.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:230:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
KeccakP-1600-AVX512.c: return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
KeccakP-1600-AVX512.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX512.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:253:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
KeccakP-1600-AVX512.c: return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
KeccakP-1600-AVX512.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX512.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:274:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
KeccakP-1600-AVX512.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE kcp/optimized1600AVX512

Compiler output

Implementation: kcp/optimized1600AVX512
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:24:10: fatal error: smmintrin.h: No such file or directory
KeccakP-1600-AVX512.c: #include <smmintrin.h>
KeccakP-1600-AVX512.c: ^~~~~~~~~~~~~
KeccakP-1600-AVX512.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE kcp/optimized1600AVX512
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE kcp/optimized1600AVX512
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE kcp/optimized1600AVX512
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE kcp/optimized1600AVX512

Namespace violations

Implementation: kcp/optimized1600ARMv7A
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakSpongeWidth1600.o KeccakWidth1600_12rounds_Sponge T
KeccakSpongeWidth1600.o KeccakWidth1600_12rounds_SpongeAbsorb T
KeccakSpongeWidth1600.o KeccakWidth1600_12rounds_SpongeAbsorbLastFewBits T
KeccakSpongeWidth1600.o KeccakWidth1600_12rounds_SpongeInitialize T
KeccakSpongeWidth1600.o KeccakWidth1600_12rounds_SpongeSqueeze T
KeccakSpongeWidth1600.o KeccakWidth1600_Sponge T
KeccakSpongeWidth1600.o KeccakWidth1600_SpongeAbsorb T
KeccakSpongeWidth1600.o KeccakWidth1600_SpongeAbsorbLastFewBits T
KeccakSpongeWidth1600.o KeccakWidth1600_SpongeInitialize T
KeccakSpongeWidth1600.o KeccakWidth1600_SpongeSqueeze T
keccak.o KeccakF1600_FastLoop_Absorb T
keccak.o KeccakP1600_AddByte T
keccak.o KeccakP1600_AddBytes T
keccak.o KeccakP1600_ExtractAndAddBytes T
keccak.o KeccakP1600_ExtractBytes T
keccak.o KeccakP1600_Initialize T
keccak.o KeccakP1600_OverwriteBytes T
keccak.o KeccakP1600_OverwriteWithZeroes T
keccak.o KeccakP1600_Permute T
keccak.o KeccakP1600_Permute_12rounds T
keccak.o KeccakP1600_Permute_24rounds T
keccak.o KeccakP1600_Permute_Nrounds T
keccak.o KeccakP1600_StaticInitialize T
keccak.o LoopUnroll a
keccak.o _ba a
keccak.o _be a
keccak.o _bi a
keccak.o _bo a
keccak.o _bu a
keccak.o _ga a
keccak.o _ge a
keccak.o _gi a
keccak.o _go a
keccak.o _gu a
keccak.o _ka a
keccak.o _ke a
keccak.o _ki a
keccak.o _ko a
keccak.o _ku a
keccak.o _ma a
keccak.o _me a
keccak.o _mi a
keccak.o _mo a
keccak.o _mu a
keccak.o _sa a
keccak.o _se a
keccak.o _si a
keccak.o _so a
keccak.o _su a

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE kcp/optimized1600ARMv7A
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE kcp/optimized1600ARMv7A
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE kcp/optimized1600ARMv7A
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE kcp/optimized1600ARMv7A