Implementation notes: armeabi, jetsontk1, crypto_stream/speck64128ctr

Computer: jetsontk1
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20170725
Operation: crypto_stream
Primitive: speck64128ctr
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
9195? ? ?? ? ?neonclang_-O3_-fwrapv_-march=armv7-a_-mfloat-abi=hard_-mfpu=neon_-fomit-frame-pointer_-Qunused-arguments2017082120170725
9197? ? ?? ? ?neonclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2017082120170725
9197? ? ?? ? ?neonclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017082120170725
9198? ? ?? ? ?neonclang_-O3_-fomit-frame-pointer_-Qunused-arguments2017082120170725
9217? ? ?? ? ?neonclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017082120170725
9220? ? ?? ? ?neonclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2017082120170725
9294? ? ?? ? ?neonclang_-mcpu=cortex-a15_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017082120170725
9346? ? ?? ? ?neonclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017082120170725
9697? ? ?? ? ?neonclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017082120170725
10036? ? ?? ? ?neonclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017082120170725
10105? ? ?? ? ?neonclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2017082120170725

Compiler output

Implementation: crypto_stream/speck64128ctr/avx2
Compiler: cc
stream.c: In file included from Speck64128AVX2.h:17:0,
stream.c: from stream.c:20:
stream.c: Intrinsics_AVX2_64block.h:5:23: fatal error: x86intrin.h: No such file or directory
stream.c: #include <x86intrin.h>
stream.c: ^
stream.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 63, namely:
CompilerImplementations
cc avx2
gcc avx2
gcc -O2 -fomit-frame-pointer avx2
gcc -O3 -fomit-frame-pointer avx2
gcc -O -fomit-frame-pointer avx2
gcc -Os -fomit-frame-pointer avx2
gcc -fno-schedule-insns -O2 -fomit-frame-pointer avx2
gcc -fno-schedule-insns -O3 -fomit-frame-pointer avx2
gcc -fno-schedule-insns -O -fomit-frame-pointer avx2
gcc -fno-schedule-insns -Os -fomit-frame-pointer avx2
gcc -funroll-loops avx2
gcc -funroll-loops -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -O -fomit-frame-pointer avx2
gcc -funroll-loops -Os -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer avx2
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv avx2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv avx2
gcc -mcpu=cortex-a15 -O2 -fomit-frame-pointer avx2
gcc -mcpu=cortex-a15 -O3 -fomit-frame-pointer avx2
gcc -mcpu=cortex-a15 -O -fomit-frame-pointer avx2
gcc -mcpu=cortex-a15 -Os -fomit-frame-pointer avx2
gcc -mcpu=cortex-a15 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer avx2
gcc -mcpu=cortex-a15 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer avx2
gcc -mcpu=cortex-a15 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer avx2
gcc -mcpu=cortex-a15 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer avx2
gcc -mcpu=cortex-a15 -mfpu=neon -O2 -fomit-frame-pointer -fwrapv avx2
gcc -mcpu=cortex-a15 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv avx2
gcc -mcpu=cortex-a15 -mfpu=neon -O -fomit-frame-pointer -fwrapv avx2
gcc -mcpu=cortex-a15 -mfpu=neon -Os -fomit-frame-pointer -fwrapv avx2
gcc -mcpu=cortex-a5 -O2 -fomit-frame-pointer avx2
gcc -mcpu=cortex-a5 -O3 -fomit-frame-pointer avx2
gcc -mcpu=cortex-a5 -O -fomit-frame-pointer avx2
gcc -mcpu=cortex-a5 -Os -fomit-frame-pointer avx2
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer avx2
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer avx2
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer avx2
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer avx2
gcc -mcpu=cortex-a8 -mfpu=neon -O2 -fomit-frame-pointer -fwrapv avx2
gcc -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv avx2
gcc -mcpu=cortex-a8 -mfpu=neon -O -fomit-frame-pointer -fwrapv avx2
gcc -mcpu=cortex-a8 -mfpu=neon -Os -fomit-frame-pointer -fwrapv avx2
gcc -mcpu=cortex-a9 -O2 -fomit-frame-pointer avx2
gcc -mcpu=cortex-a9 -O3 -fomit-frame-pointer avx2
gcc -mcpu=cortex-a9 -O -fomit-frame-pointer avx2
gcc -mcpu=cortex-a9 -Os -fomit-frame-pointer avx2
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer avx2
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer avx2
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer avx2
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer avx2
gcc -mcpu=cortex-a9 -mfpu=neon -O2 -fomit-frame-pointer -fwrapv avx2
gcc -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv avx2
gcc -mcpu=cortex-a9 -mfpu=neon -O -fomit-frame-pointer -fwrapv avx2
gcc -mcpu=cortex-a9 -mfpu=neon -Os -fomit-frame-pointer -fwrapv avx2
gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv avx2
gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv avx2
gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv avx2
gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv avx2

Compiler output

Implementation: crypto_stream/speck64128ctr/sse4
Compiler: cc
stream.c: In file included from Speck64128SSE4.h:17:0,
stream.c: from stream.c:20:
stream.c: Intrinsics_SSE4_64block.h:5:23: fatal error: x86intrin.h: No such file or directory
stream.c: #include <x86intrin.h>
stream.c: ^
stream.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 63, namely:
CompilerImplementations
cc sse4
gcc sse4
gcc -O2 -fomit-frame-pointer sse4
gcc -O3 -fomit-frame-pointer sse4
gcc -O -fomit-frame-pointer sse4
gcc -Os -fomit-frame-pointer sse4
gcc -fno-schedule-insns -O2 -fomit-frame-pointer sse4
gcc -fno-schedule-insns -O3 -fomit-frame-pointer sse4
gcc -fno-schedule-insns -O -fomit-frame-pointer sse4
gcc -fno-schedule-insns -Os -fomit-frame-pointer sse4
gcc -funroll-loops sse4
gcc -funroll-loops -O2 -fomit-frame-pointer sse4
gcc -funroll-loops -O3 -fomit-frame-pointer sse4
gcc -funroll-loops -O -fomit-frame-pointer sse4
gcc -funroll-loops -Os -fomit-frame-pointer sse4
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer sse4
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer sse4
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer sse4
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer sse4
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv sse4
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv sse4
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv sse4
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv sse4
gcc -mcpu=cortex-a15 -O2 -fomit-frame-pointer sse4
gcc -mcpu=cortex-a15 -O3 -fomit-frame-pointer sse4
gcc -mcpu=cortex-a15 -O -fomit-frame-pointer sse4
gcc -mcpu=cortex-a15 -Os -fomit-frame-pointer sse4
gcc -mcpu=cortex-a15 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer sse4
gcc -mcpu=cortex-a15 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer sse4
gcc -mcpu=cortex-a15 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer sse4
gcc -mcpu=cortex-a15 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer sse4
gcc -mcpu=cortex-a15 -mfpu=neon -O2 -fomit-frame-pointer -fwrapv sse4
gcc -mcpu=cortex-a15 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv sse4
gcc -mcpu=cortex-a15 -mfpu=neon -O -fomit-frame-pointer -fwrapv sse4
gcc -mcpu=cortex-a15 -mfpu=neon -Os -fomit-frame-pointer -fwrapv sse4
gcc -mcpu=cortex-a5 -O2 -fomit-frame-pointer sse4
gcc -mcpu=cortex-a5 -O3 -fomit-frame-pointer sse4
gcc -mcpu=cortex-a5 -O -fomit-frame-pointer sse4
gcc -mcpu=cortex-a5 -Os -fomit-frame-pointer sse4
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer sse4
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer sse4
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer sse4
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer sse4
gcc -mcpu=cortex-a8 -mfpu=neon -O2 -fomit-frame-pointer -fwrapv sse4
gcc -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv sse4
gcc -mcpu=cortex-a8 -mfpu=neon -O -fomit-frame-pointer -fwrapv sse4
gcc -mcpu=cortex-a8 -mfpu=neon -Os -fomit-frame-pointer -fwrapv sse4
gcc -mcpu=cortex-a9 -O2 -fomit-frame-pointer sse4
gcc -mcpu=cortex-a9 -O3 -fomit-frame-pointer sse4
gcc -mcpu=cortex-a9 -O -fomit-frame-pointer sse4
gcc -mcpu=cortex-a9 -Os -fomit-frame-pointer sse4
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer sse4
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer sse4
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer sse4
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer sse4
gcc -mcpu=cortex-a9 -mfpu=neon -O2 -fomit-frame-pointer -fwrapv sse4
gcc -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv sse4
gcc -mcpu=cortex-a9 -mfpu=neon -O -fomit-frame-pointer -fwrapv sse4
gcc -mcpu=cortex-a9 -mfpu=neon -Os -fomit-frame-pointer -fwrapv sse4
gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv sse4
gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv sse4
gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv sse4
gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv sse4

Compiler output

Implementation: crypto_stream/speck64128ctr/neon
Compiler: cc
stream.c: In file included from Intrinsics_NEON_64block.h:5:0,
stream.c: from Speck64128NEON.h:16,
stream.c: from stream.c:20:
stream.c: /usr/lib/gcc/arm-linux-gnueabihf/4.8/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
stream.c: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
stream.c: ^
stream.c: In file included from Speck64128NEON.h:16:0,
stream.c: from stream.c:20:
stream.c: Intrinsics_NEON_64block.h:10:14: error: unknown type name 'uint32x4_t'
stream.c: #define u128 uint32x4_t
stream.c: ^
stream.c: stream.c:22:84: note: in expansion of macro 'u128'
stream.c: inline __attribute__((always_inline)) int Encrypt(unsigned char *out, u32 nonce[], u128 rk[], u32 key[], int numbytes);
stream.c: ^
stream.c: Intrinsics_NEON_64block.h:10:14: error: unknown type name 'uint32x4_t'
stream.c: #define u128 uint32x4_t
stream.c: ^
stream.c: stream.c:23:113: note: in expansion of macro 'u128'
stream.c: inline __attribute__((always_inline)) int Encrypt_Xor(unsigned char *out, const unsigned char *in, u32 nonce[], u128 rk[], u32 key[], int numbytes);
stream.c: ^
stream.c: Intrinsics_NEON_64block.h:10:14: error: unknown type name 'uint32x4_t'
stream.c: #define u128 uint32x4_t
stream.c: ^
stream.c: stream.c:24:24: note: in expansion of macro 'u128'
stream.c: int ExpandKey(u32 K[], u128 rk[], u32 key[]);
stream.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
cc neon

Compiler output

Implementation: crypto_stream/speck64128ctr/avx2
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
stream.c: In file included from stream.c:20:
stream.c: In file included from ./Speck64128AVX2.h:17:
stream.c: In file included from ./Intrinsics_AVX2_64block.h:5:
stream.c: In file included from /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/x86intrin.h:29:
stream.c: In file included from /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/immintrin.h:27:
stream.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/mmintrin.h:45:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/mmintrin.h:69:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/mmintrin.h:75:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/mmintrin.h:81:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/mmintrin.h:87:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/mmintrin.h:93:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/mmintrin.h:99:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
stream.c: ...

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=neon -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments avx2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2
clang -mcpu=cortex-a15 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2

Compiler output

Implementation: crypto_stream/speck64128ctr/sse4
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
stream.c: In file included from stream.c:20:
stream.c: In file included from ./Speck64128SSE4.h:17:
stream.c: In file included from ./Intrinsics_SSE4_64block.h:5:
stream.c: In file included from /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/x86intrin.h:29:
stream.c: In file included from /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/immintrin.h:27:
stream.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/mmintrin.h:45:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/mmintrin.h:69:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/mmintrin.h:75:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/mmintrin.h:81:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/mmintrin.h:87:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/mmintrin.h:93:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
stream.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/mmintrin.h:99:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
stream.c: ...

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments sse4
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=neon -fomit-frame-pointer -Qunused-arguments sse4
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -fomit-frame-pointer -Qunused-arguments sse4
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments sse4
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments sse4
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments sse4
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments sse4
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments sse4
clang -mcpu=cortex-a15 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments sse4
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments sse4
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments sse4
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments sse4

Compiler output

Implementation: crypto_stream/speck64128ctr/neon
Compiler: clang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -fomit-frame-pointer -Qunused-arguments
stream.c: In file included from stream.c:20:
stream.c: In file included from ./Speck64128NEON.h:16:
stream.c: In file included from ./Intrinsics_NEON_64block.h:5:
stream.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/arm_neon.h:28:2: error: "NEON support not enabled"
stream.c: #error "NEON support not enabled"
stream.c: ^
stream.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/arm_neon.h:48:24: error: 'neon_vector_type' attribute is not supported for this target
stream.c: typedef __attribute__((neon_vector_type(8))) int8_t int8x8_t;
stream.c: ^
stream.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/arm_neon.h:49:24: error: 'neon_vector_type' attribute is not supported for this target
stream.c: typedef __attribute__((neon_vector_type(16))) int8_t int8x16_t;
stream.c: ^
stream.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/arm_neon.h:50:24: error: 'neon_vector_type' attribute is not supported for this target
stream.c: typedef __attribute__((neon_vector_type(4))) int16_t int16x4_t;
stream.c: ^
stream.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/arm_neon.h:51:24: error: 'neon_vector_type' attribute is not supported for this target
stream.c: typedef __attribute__((neon_vector_type(8))) int16_t int16x8_t;
stream.c: ^
stream.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/arm_neon.h:52:24: error: 'neon_vector_type' attribute is not supported for this target
stream.c: typedef __attribute__((neon_vector_type(2))) int32_t int32x2_t;
stream.c: ^
stream.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/arm_neon.h:53:24: error: 'neon_vector_type' attribute is not supported for this target
stream.c: typedef __attribute__((neon_vector_type(4))) int32_t int32x4_t;
stream.c: ^
stream.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include/arm_neon.h:54:24: error: 'neon_vector_type' attribute is not supported for this target
stream.c: ...

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

Compiler output

Implementation: crypto_stream/speck64128ctr/neon
Compiler: gcc
stream.c: In file included from Speck64128NEON.h:16:0,
stream.c: from stream.c:20:
stream.c: Intrinsics_NEON_64block.h:27:18: warning: 'vld1q_u32' is static but used in inline function 'Encrypt_Xor' which is not static
stream.c: #define LD16(ip) vld1q_u32((u32 *)(ip))
stream.c: ^
stream.c: Intrinsics_NEON_64block.h:26:42: note: in definition of macro 'ST16'
stream.c: #define ST16(ip,X) vst1q_u32((u32 *)(ip),X)
stream.c: ^
stream.c: Intrinsics_NEON_64block.h:30:105: note: in expansion of macro 'LD16'
stream.c: #define XOR_STORE(in,out,X,Y) (ST16(out,XOR(Tps(Y,X).val[0],LD16(in))), ST16(out+16,XOR(Tps(Y,X).val[1],LD16(in+16))))
stream.c: ^~~~
stream.c: stream.c:278:22: note: in expansion of macro 'XOR_STORE'
stream.c: if (numbytes>=128) XOR_STORE(in+96,out+96,X[3],Y[3]);
stream.c: ^~~~~~~~~
stream.c: Intrinsics_NEON_64block.h:28:13: warning: 'vtrnq_u32' is static but used in inline function 'Encrypt_Xor' which is not static
stream.c: #define Tps vtrnq_u32
stream.c: ^
stream.c: Intrinsics_NEON_64block.h:26:42: note: in definition of macro 'ST16'
stream.c: #define ST16(ip,X) vst1q_u32((u32 *)(ip),X)
stream.c: ^
stream.c: Intrinsics_NEON_64block.h:30:89: note: in expansion of macro 'Tps'
stream.c: #define XOR_STORE(in,out,X,Y) (ST16(out,XOR(Tps(Y,X).val[0],LD16(in))), ST16(out+16,XOR(Tps(Y,X).val[1],LD16(in+16))))
stream.c: ^~~
stream.c: stream.c:278:22: note: in expansion of macro 'XOR_STORE'
stream.c: if (numbytes>=128) XOR_STORE(in+96,out+96,X[3],Y[3]);
stream.c: ...

Number of similar (compiler,implementation) pairs: 62, namely:
CompilerImplementations
gcc neon
gcc -O2 -fomit-frame-pointer neon
gcc -O3 -fomit-frame-pointer neon
gcc -O -fomit-frame-pointer neon
gcc -Os -fomit-frame-pointer neon
gcc -fno-schedule-insns -O2 -fomit-frame-pointer neon
gcc -fno-schedule-insns -O3 -fomit-frame-pointer neon
gcc -fno-schedule-insns -O -fomit-frame-pointer neon
gcc -fno-schedule-insns -Os -fomit-frame-pointer neon
gcc -funroll-loops neon
gcc -funroll-loops -O2 -fomit-frame-pointer neon
gcc -funroll-loops -O3 -fomit-frame-pointer neon
gcc -funroll-loops -O -fomit-frame-pointer neon
gcc -funroll-loops -Os -fomit-frame-pointer neon
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer neon
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer neon
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer neon
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer neon
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv neon
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv neon
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv neon
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv neon
gcc -mcpu=cortex-a15 -O2 -fomit-frame-pointer neon
gcc -mcpu=cortex-a15 -O3 -fomit-frame-pointer neon
gcc -mcpu=cortex-a15 -O -fomit-frame-pointer neon
gcc -mcpu=cortex-a15 -Os -fomit-frame-pointer neon
gcc -mcpu=cortex-a15 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer neon
gcc -mcpu=cortex-a15 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer neon
gcc -mcpu=cortex-a15 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer neon
gcc -mcpu=cortex-a15 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer neon
gcc -mcpu=cortex-a15 -mfpu=neon -O2 -fomit-frame-pointer -fwrapv neon
gcc -mcpu=cortex-a15 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv neon
gcc -mcpu=cortex-a15 -mfpu=neon -O -fomit-frame-pointer -fwrapv neon
gcc -mcpu=cortex-a15 -mfpu=neon -Os -fomit-frame-pointer -fwrapv neon
gcc -mcpu=cortex-a5 -O2 -fomit-frame-pointer neon
gcc -mcpu=cortex-a5 -O3 -fomit-frame-pointer neon
gcc -mcpu=cortex-a5 -O -fomit-frame-pointer neon
gcc -mcpu=cortex-a5 -Os -fomit-frame-pointer neon
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer neon
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer neon
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer neon
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer neon
gcc -mcpu=cortex-a8 -mfpu=neon -O2 -fomit-frame-pointer -fwrapv neon
gcc -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv neon
gcc -mcpu=cortex-a8 -mfpu=neon -O -fomit-frame-pointer -fwrapv neon
gcc -mcpu=cortex-a8 -mfpu=neon -Os -fomit-frame-pointer -fwrapv neon
gcc -mcpu=cortex-a9 -O2 -fomit-frame-pointer neon
gcc -mcpu=cortex-a9 -O3 -fomit-frame-pointer neon
gcc -mcpu=cortex-a9 -O -fomit-frame-pointer neon
gcc -mcpu=cortex-a9 -Os -fomit-frame-pointer neon
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer neon
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer neon
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer neon
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer neon
gcc -mcpu=cortex-a9 -mfpu=neon -O2 -fomit-frame-pointer -fwrapv neon
gcc -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv neon
gcc -mcpu=cortex-a9 -mfpu=neon -O -fomit-frame-pointer -fwrapv neon
gcc -mcpu=cortex-a9 -mfpu=neon -Os -fomit-frame-pointer -fwrapv neon
gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv neon
gcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv neon
gcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv neon
gcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv neon

Compiler output

Implementation: crypto_stream/speck64128ctr/avx2
Compiler: gcc -mcpu=arm250 -O2 -fomit-frame-pointer
stream.c: stream.c:1:0: warning: target CPU does not support THUMB instructions
stream.c: //AVX2 C code for SPECK 64/128
stream.c:
stream.c: In file included from Speck64128AVX2.h:17:0,
stream.c: from stream.c:20:
stream.c: Intrinsics_AVX2_64block.h:5:23: fatal error: x86intrin.h: No such file or directory
stream.c: #include <x86intrin.h>
stream.c: ^
stream.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 108, namely:
CompilerImplementations
gcc -mcpu=arm250 -O2 -fomit-frame-pointer avx2
gcc -mcpu=arm250 -O3 -fomit-frame-pointer avx2
gcc -mcpu=arm250 -O -fomit-frame-pointer avx2
gcc -mcpu=arm250 -Os -fomit-frame-pointer avx2
gcc -mcpu=arm2 -O2 -fomit-frame-pointer avx2
gcc -mcpu=arm2 -O3 -fomit-frame-pointer avx2
gcc -mcpu=arm2 -O -fomit-frame-pointer avx2
gcc -mcpu=arm2 -Os -fomit-frame-pointer avx2
gcc -mcpu=arm3 -O2 -fomit-frame-pointer avx2
gcc -mcpu=arm3 -O3 -fomit-frame-pointer avx2
gcc -mcpu=arm3 -O -fomit-frame-pointer avx2
gcc -mcpu=arm3 -Os -fomit-frame-pointer avx2
gcc -mcpu=arm600 -O2 -fomit-frame-pointer avx2
gcc -mcpu=arm600 -O3 -fomit-frame-pointer avx2
gcc -mcpu=arm600 -O -fomit-frame-pointer avx2
gcc -mcpu=arm600 -Os -fomit-frame-pointer avx2
gcc -mcpu=arm60 -O2 -fomit-frame-pointer avx2
gcc -mcpu=arm60 -O3 -fomit-frame-pointer avx2
gcc -mcpu=arm60 -O -fomit-frame-pointer avx2
gcc -mcpu=arm60 -Os -fomit-frame-pointer avx2
gcc -mcpu=arm610 -O2 -fomit-frame-pointer avx2
gcc -mcpu=arm610 -O3 -fomit-frame-pointer avx2
gcc -mcpu=arm610 -O -fomit-frame-pointer avx2
gcc -mcpu=arm610 -Os -fomit-frame-pointer avx2
gcc -mcpu=arm620 -O2 -fomit-frame-pointer avx2
gcc -mcpu=arm620 -O3 -fomit-frame-pointer avx2
gcc -mcpu=arm620 -O -fomit-frame-pointer avx2
gcc -mcpu=arm620 -Os -fomit-frame-pointer avx2
gcc -mcpu=arm6 -O2 -fomit-frame-pointer avx2
gcc -mcpu=arm6 -O3 -fomit-frame-pointer avx2
gcc -mcpu=arm6 -O -fomit-frame-pointer avx2
gcc -mcpu=arm6 -Os -fomit-frame-pointer avx2
gcc -mcpu=arm700 -O2 -fomit-frame-pointer avx2
gcc -mcpu=arm700 -O3 -fomit-frame-pointer avx2
gcc -mcpu=arm700 -O -fomit-frame-pointer avx2
gcc -mcpu=arm700 -Os -fomit-frame-pointer avx2
gcc -mcpu=arm700i -O2 -fomit-frame-pointer avx2
gcc -mcpu=arm700i -O3 -fomit-frame-pointer avx2
gcc -mcpu=arm700i -O -fomit-frame-pointer avx2
gcc -mcpu=arm700i -Os -fomit-frame-pointer avx2
gcc -mcpu=arm70 -O2 -fomit-frame-pointer avx2
gcc -mcpu=arm70 -O3 -fomit-frame-pointer avx2
gcc -mcpu=arm70 -O -fomit-frame-pointer avx2
gcc -mcpu=arm70 -Os -fomit-frame-pointer avx2
gcc -mcpu=arm7100 -O2 -fomit-frame-pointer avx2
gcc -mcpu=arm7100 -O3 -fomit-frame-pointer avx2
gcc -mcpu=arm7100 -O -fomit-frame-pointer avx2
gcc -mcpu=arm7100 -Os -fomit-frame-pointer avx2
gcc -mcpu=arm710 -O2 -fomit-frame-pointer avx2
gcc -mcpu=arm710 -O3 -fomit-frame-pointer avx2
gcc -mcpu=arm710 -O -fomit-frame-pointer avx2
gcc -mcpu=arm710 -Os -fomit-frame-pointer avx2
gcc -mcpu=arm710c -O2 -fomit-frame-pointer avx2
gcc -mcpu=arm710c -O3 -fomit-frame-pointer avx2
gcc -mcpu=arm710c -O -fomit-frame-pointer avx2
gcc -mcpu=arm710c -Os -fomit-frame-pointer avx2
gcc -mcpu=arm7500 -O2 -fomit-frame-pointer avx2
gcc -mcpu=arm7500 -O3 -fomit-frame-pointer avx2
gcc -mcpu=arm7500 -O -fomit-frame-pointer avx2
gcc -mcpu=arm7500 -Os -fomit-frame-pointer avx2
gcc -mcpu=arm7500fe -O2 -fomit-frame-pointer avx2
gcc -mcpu=arm7500fe -O3 -fomit-frame-pointer avx2
gcc -mcpu=arm7500fe -O -fomit-frame-pointer avx2
gcc -mcpu=arm7500fe -Os -fomit-frame-pointer avx2
gcc -mcpu=arm7 -O2 -fomit-frame-pointer avx2
gcc -mcpu=arm7 -O3 -fomit-frame-pointer avx2
gcc -mcpu=arm7 -O -fomit-frame-pointer avx2
gcc -mcpu=arm7 -Os -fomit-frame-pointer avx2
gcc -mcpu=arm7d -O2 -fomit-frame-pointer avx2
gcc -mcpu=arm7d -O3 -fomit-frame-pointer avx2
gcc -mcpu=arm7d -O -fomit-frame-pointer avx2
gcc -mcpu=arm7d -Os -fomit-frame-pointer avx2
gcc -mcpu=arm7di -O2 -fomit-frame-pointer avx2
gcc -mcpu=arm7di -O3 -fomit-frame-pointer avx2
gcc -mcpu=arm7di -O -fomit-frame-pointer avx2
gcc -mcpu=arm7di -Os -fomit-frame-pointer avx2
gcc -mcpu=arm7dm -O2 -fomit-frame-pointer avx2
gcc -mcpu=arm7dm -O3 -fomit-frame-pointer avx2
gcc -mcpu=arm7dm -O -fomit-frame-pointer avx2
gcc -mcpu=arm7dm -Os -fomit-frame-pointer avx2
gcc -mcpu=arm7dmi -O2 -fomit-frame-pointer avx2
gcc -mcpu=arm7dmi -O3 -fomit-frame-pointer avx2
gcc -mcpu=arm7dmi -O -fomit-frame-pointer avx2
gcc -mcpu=arm7dmi -Os -fomit-frame-pointer avx2
gcc -mcpu=arm7m -O2 -fomit-frame-pointer avx2
gcc -mcpu=arm7m -O3 -fomit-frame-pointer avx2
gcc -mcpu=arm7m -O -fomit-frame-pointer avx2
gcc -mcpu=arm7m -Os -fomit-frame-pointer avx2
gcc -mcpu=arm810 -O2 -fomit-frame-pointer avx2
gcc -mcpu=arm810 -O3 -fomit-frame-pointer avx2
gcc -mcpu=arm810 -O -fomit-frame-pointer avx2
gcc -mcpu=arm810 -Os -fomit-frame-pointer avx2
gcc -mcpu=arm8 -O2 -fomit-frame-pointer avx2
gcc -mcpu=arm8 -O3 -fomit-frame-pointer avx2
gcc -mcpu=arm8 -O -fomit-frame-pointer avx2
gcc -mcpu=arm8 -Os -fomit-frame-pointer avx2
gcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer avx2
gcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer avx2
gcc -mcpu=strongarm1100 -O -fomit-frame-pointer avx2
gcc -mcpu=strongarm1100 -Os -fomit-frame-pointer avx2
gcc -mcpu=strongarm110 -O2 -fomit-frame-pointer avx2
gcc -mcpu=strongarm110 -O3 -fomit-frame-pointer avx2
gcc -mcpu=strongarm110 -O -fomit-frame-pointer avx2
gcc -mcpu=strongarm110 -Os -fomit-frame-pointer avx2
gcc -mcpu=strongarm -O2 -fomit-frame-pointer avx2
gcc -mcpu=strongarm -O3 -fomit-frame-pointer avx2
gcc -mcpu=strongarm -O -fomit-frame-pointer avx2
gcc -mcpu=strongarm -Os -fomit-frame-pointer avx2

Compiler output

Implementation: crypto_stream/speck64128ctr/sse4
Compiler: gcc -mcpu=arm250 -O2 -fomit-frame-pointer
stream.c: stream.c:1:0: warning: target CPU does not support THUMB instructions
stream.c: //SSE4 C code for SPECK 64/128
stream.c:
stream.c: In file included from Speck64128SSE4.h:17:0,
stream.c: from stream.c:20:
stream.c: Intrinsics_SSE4_64block.h:5:23: fatal error: x86intrin.h: No such file or directory
stream.c: #include <x86intrin.h>
stream.c: ^
stream.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 108, namely:
CompilerImplementations
gcc -mcpu=arm250 -O2 -fomit-frame-pointer sse4
gcc -mcpu=arm250 -O3 -fomit-frame-pointer sse4
gcc -mcpu=arm250 -O -fomit-frame-pointer sse4
gcc -mcpu=arm250 -Os -fomit-frame-pointer sse4
gcc -mcpu=arm2 -O2 -fomit-frame-pointer sse4
gcc -mcpu=arm2 -O3 -fomit-frame-pointer sse4
gcc -mcpu=arm2 -O -fomit-frame-pointer sse4
gcc -mcpu=arm2 -Os -fomit-frame-pointer sse4
gcc -mcpu=arm3 -O2 -fomit-frame-pointer sse4
gcc -mcpu=arm3 -O3 -fomit-frame-pointer sse4
gcc -mcpu=arm3 -O -fomit-frame-pointer sse4
gcc -mcpu=arm3 -Os -fomit-frame-pointer sse4
gcc -mcpu=arm600 -O2 -fomit-frame-pointer sse4
gcc -mcpu=arm600 -O3 -fomit-frame-pointer sse4
gcc -mcpu=arm600 -O -fomit-frame-pointer sse4
gcc -mcpu=arm600 -Os -fomit-frame-pointer sse4
gcc -mcpu=arm60 -O2 -fomit-frame-pointer sse4
gcc -mcpu=arm60 -O3 -fomit-frame-pointer sse4
gcc -mcpu=arm60 -O -fomit-frame-pointer sse4
gcc -mcpu=arm60 -Os -fomit-frame-pointer sse4
gcc -mcpu=arm610 -O2 -fomit-frame-pointer sse4
gcc -mcpu=arm610 -O3 -fomit-frame-pointer sse4
gcc -mcpu=arm610 -O -fomit-frame-pointer sse4
gcc -mcpu=arm610 -Os -fomit-frame-pointer sse4
gcc -mcpu=arm620 -O2 -fomit-frame-pointer sse4
gcc -mcpu=arm620 -O3 -fomit-frame-pointer sse4
gcc -mcpu=arm620 -O -fomit-frame-pointer sse4
gcc -mcpu=arm620 -Os -fomit-frame-pointer sse4
gcc -mcpu=arm6 -O2 -fomit-frame-pointer sse4
gcc -mcpu=arm6 -O3 -fomit-frame-pointer sse4
gcc -mcpu=arm6 -O -fomit-frame-pointer sse4
gcc -mcpu=arm6 -Os -fomit-frame-pointer sse4
gcc -mcpu=arm700 -O2 -fomit-frame-pointer sse4
gcc -mcpu=arm700 -O3 -fomit-frame-pointer sse4
gcc -mcpu=arm700 -O -fomit-frame-pointer sse4
gcc -mcpu=arm700 -Os -fomit-frame-pointer sse4
gcc -mcpu=arm700i -O2 -fomit-frame-pointer sse4
gcc -mcpu=arm700i -O3 -fomit-frame-pointer sse4
gcc -mcpu=arm700i -O -fomit-frame-pointer sse4
gcc -mcpu=arm700i -Os -fomit-frame-pointer sse4
gcc -mcpu=arm70 -O2 -fomit-frame-pointer sse4
gcc -mcpu=arm70 -O3 -fomit-frame-pointer sse4
gcc -mcpu=arm70 -O -fomit-frame-pointer sse4
gcc -mcpu=arm70 -Os -fomit-frame-pointer sse4
gcc -mcpu=arm7100 -O2 -fomit-frame-pointer sse4
gcc -mcpu=arm7100 -O3 -fomit-frame-pointer sse4
gcc -mcpu=arm7100 -O -fomit-frame-pointer sse4
gcc -mcpu=arm7100 -Os -fomit-frame-pointer sse4
gcc -mcpu=arm710 -O2 -fomit-frame-pointer sse4
gcc -mcpu=arm710 -O3 -fomit-frame-pointer sse4
gcc -mcpu=arm710 -O -fomit-frame-pointer sse4
gcc -mcpu=arm710 -Os -fomit-frame-pointer sse4
gcc -mcpu=arm710c -O2 -fomit-frame-pointer sse4
gcc -mcpu=arm710c -O3 -fomit-frame-pointer sse4
gcc -mcpu=arm710c -O -fomit-frame-pointer sse4
gcc -mcpu=arm710c -Os -fomit-frame-pointer sse4
gcc -mcpu=arm7500 -O2 -fomit-frame-pointer sse4
gcc -mcpu=arm7500 -O3 -fomit-frame-pointer sse4
gcc -mcpu=arm7500 -O -fomit-frame-pointer sse4
gcc -mcpu=arm7500 -Os -fomit-frame-pointer sse4
gcc -mcpu=arm7500fe -O2 -fomit-frame-pointer sse4
gcc -mcpu=arm7500fe -O3 -fomit-frame-pointer sse4
gcc -mcpu=arm7500fe -O -fomit-frame-pointer sse4
gcc -mcpu=arm7500fe -Os -fomit-frame-pointer sse4
gcc -mcpu=arm7 -O2 -fomit-frame-pointer sse4
gcc -mcpu=arm7 -O3 -fomit-frame-pointer sse4
gcc -mcpu=arm7 -O -fomit-frame-pointer sse4
gcc -mcpu=arm7 -Os -fomit-frame-pointer sse4
gcc -mcpu=arm7d -O2 -fomit-frame-pointer sse4
gcc -mcpu=arm7d -O3 -fomit-frame-pointer sse4
gcc -mcpu=arm7d -O -fomit-frame-pointer sse4
gcc -mcpu=arm7d -Os -fomit-frame-pointer sse4
gcc -mcpu=arm7di -O2 -fomit-frame-pointer sse4
gcc -mcpu=arm7di -O3 -fomit-frame-pointer sse4
gcc -mcpu=arm7di -O -fomit-frame-pointer sse4
gcc -mcpu=arm7di -Os -fomit-frame-pointer sse4
gcc -mcpu=arm7dm -O2 -fomit-frame-pointer sse4
gcc -mcpu=arm7dm -O3 -fomit-frame-pointer sse4
gcc -mcpu=arm7dm -O -fomit-frame-pointer sse4
gcc -mcpu=arm7dm -Os -fomit-frame-pointer sse4
gcc -mcpu=arm7dmi -O2 -fomit-frame-pointer sse4
gcc -mcpu=arm7dmi -O3 -fomit-frame-pointer sse4
gcc -mcpu=arm7dmi -O -fomit-frame-pointer sse4
gcc -mcpu=arm7dmi -Os -fomit-frame-pointer sse4
gcc -mcpu=arm7m -O2 -fomit-frame-pointer sse4
gcc -mcpu=arm7m -O3 -fomit-frame-pointer sse4
gcc -mcpu=arm7m -O -fomit-frame-pointer sse4
gcc -mcpu=arm7m -Os -fomit-frame-pointer sse4
gcc -mcpu=arm810 -O2 -fomit-frame-pointer sse4
gcc -mcpu=arm810 -O3 -fomit-frame-pointer sse4
gcc -mcpu=arm810 -O -fomit-frame-pointer sse4
gcc -mcpu=arm810 -Os -fomit-frame-pointer sse4
gcc -mcpu=arm8 -O2 -fomit-frame-pointer sse4
gcc -mcpu=arm8 -O3 -fomit-frame-pointer sse4
gcc -mcpu=arm8 -O -fomit-frame-pointer sse4
gcc -mcpu=arm8 -Os -fomit-frame-pointer sse4
gcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer sse4
gcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer sse4
gcc -mcpu=strongarm1100 -O -fomit-frame-pointer sse4
gcc -mcpu=strongarm1100 -Os -fomit-frame-pointer sse4
gcc -mcpu=strongarm110 -O2 -fomit-frame-pointer sse4
gcc -mcpu=strongarm110 -O3 -fomit-frame-pointer sse4
gcc -mcpu=strongarm110 -O -fomit-frame-pointer sse4
gcc -mcpu=strongarm110 -Os -fomit-frame-pointer sse4
gcc -mcpu=strongarm -O2 -fomit-frame-pointer sse4
gcc -mcpu=strongarm -O3 -fomit-frame-pointer sse4
gcc -mcpu=strongarm -O -fomit-frame-pointer sse4
gcc -mcpu=strongarm -Os -fomit-frame-pointer sse4

Compiler output

Implementation: crypto_stream/speck64128ctr/neon
Compiler: gcc -mcpu=arm250 -O2 -fomit-frame-pointer
stream.c: stream.c:1:0: warning: target CPU does not support THUMB instructions
stream.c: //NEON C code for SPECK 64/128.
stream.c:
stream.c: In file included from Speck64128NEON.h:16:0,
stream.c: from stream.c:20:
stream.c: Intrinsics_NEON_64block.h:27:18: warning: 'vld1q_u32' is static but used in inline function 'Encrypt_Xor' which is not static
stream.c: #define LD16(ip) vld1q_u32((u32 *)(ip))
stream.c: ^
stream.c: Intrinsics_NEON_64block.h:26:42: note: in definition of macro 'ST16'
stream.c: #define ST16(ip,X) vst1q_u32((u32 *)(ip),X)
stream.c: ^
stream.c: Intrinsics_NEON_64block.h:30:105: note: in expansion of macro 'LD16'
stream.c: #define XOR_STORE(in,out,X,Y) (ST16(out,XOR(Tps(Y,X).val[0],LD16(in))), ST16(out+16,XOR(Tps(Y,X).val[1],LD16(in+16))))
stream.c: ^~~~
stream.c: stream.c:278:22: note: in expansion of macro 'XOR_STORE'
stream.c: if (numbytes>=128) XOR_STORE(in+96,out+96,X[3],Y[3]);
stream.c: ^~~~~~~~~
stream.c: Intrinsics_NEON_64block.h:28:13: warning: 'vtrnq_u32' is static but used in inline function 'Encrypt_Xor' which is not static
stream.c: #define Tps vtrnq_u32
stream.c: ^
stream.c: Intrinsics_NEON_64block.h:26:42: note: in definition of macro 'ST16'
stream.c: #define ST16(ip,X) vst1q_u32((u32 *)(ip),X)
stream.c: ^
stream.c: Intrinsics_NEON_64block.h:30:89: note: in expansion of macro 'Tps'
stream.c: #define XOR_STORE(in,out,X,Y) (ST16(out,XOR(Tps(Y,X).val[0],LD16(in))), ST16(out+16,XOR(Tps(Y,X).val[1],LD16(in+16))))
stream.c: ...

Number of similar (compiler,implementation) pairs: 108, namely:
CompilerImplementations
gcc -mcpu=arm250 -O2 -fomit-frame-pointer neon
gcc -mcpu=arm250 -O3 -fomit-frame-pointer neon
gcc -mcpu=arm250 -O -fomit-frame-pointer neon
gcc -mcpu=arm250 -Os -fomit-frame-pointer neon
gcc -mcpu=arm2 -O2 -fomit-frame-pointer neon
gcc -mcpu=arm2 -O3 -fomit-frame-pointer neon
gcc -mcpu=arm2 -O -fomit-frame-pointer neon
gcc -mcpu=arm2 -Os -fomit-frame-pointer neon
gcc -mcpu=arm3 -O2 -fomit-frame-pointer neon
gcc -mcpu=arm3 -O3 -fomit-frame-pointer neon
gcc -mcpu=arm3 -O -fomit-frame-pointer neon
gcc -mcpu=arm3 -Os -fomit-frame-pointer neon
gcc -mcpu=arm600 -O2 -fomit-frame-pointer neon
gcc -mcpu=arm600 -O3 -fomit-frame-pointer neon
gcc -mcpu=arm600 -O -fomit-frame-pointer neon
gcc -mcpu=arm600 -Os -fomit-frame-pointer neon
gcc -mcpu=arm60 -O2 -fomit-frame-pointer neon
gcc -mcpu=arm60 -O3 -fomit-frame-pointer neon
gcc -mcpu=arm60 -O -fomit-frame-pointer neon
gcc -mcpu=arm60 -Os -fomit-frame-pointer neon
gcc -mcpu=arm610 -O2 -fomit-frame-pointer neon
gcc -mcpu=arm610 -O3 -fomit-frame-pointer neon
gcc -mcpu=arm610 -O -fomit-frame-pointer neon
gcc -mcpu=arm610 -Os -fomit-frame-pointer neon
gcc -mcpu=arm620 -O2 -fomit-frame-pointer neon
gcc -mcpu=arm620 -O3 -fomit-frame-pointer neon
gcc -mcpu=arm620 -O -fomit-frame-pointer neon
gcc -mcpu=arm620 -Os -fomit-frame-pointer neon
gcc -mcpu=arm6 -O2 -fomit-frame-pointer neon
gcc -mcpu=arm6 -O3 -fomit-frame-pointer neon
gcc -mcpu=arm6 -O -fomit-frame-pointer neon
gcc -mcpu=arm6 -Os -fomit-frame-pointer neon
gcc -mcpu=arm700 -O2 -fomit-frame-pointer neon
gcc -mcpu=arm700 -O3 -fomit-frame-pointer neon
gcc -mcpu=arm700 -O -fomit-frame-pointer neon
gcc -mcpu=arm700 -Os -fomit-frame-pointer neon
gcc -mcpu=arm700i -O2 -fomit-frame-pointer neon
gcc -mcpu=arm700i -O3 -fomit-frame-pointer neon
gcc -mcpu=arm700i -O -fomit-frame-pointer neon
gcc -mcpu=arm700i -Os -fomit-frame-pointer neon
gcc -mcpu=arm70 -O2 -fomit-frame-pointer neon
gcc -mcpu=arm70 -O3 -fomit-frame-pointer neon
gcc -mcpu=arm70 -O -fomit-frame-pointer neon
gcc -mcpu=arm70 -Os -fomit-frame-pointer neon
gcc -mcpu=arm7100 -O2 -fomit-frame-pointer neon
gcc -mcpu=arm7100 -O3 -fomit-frame-pointer neon
gcc -mcpu=arm7100 -O -fomit-frame-pointer neon
gcc -mcpu=arm7100 -Os -fomit-frame-pointer neon
gcc -mcpu=arm710 -O2 -fomit-frame-pointer neon
gcc -mcpu=arm710 -O3 -fomit-frame-pointer neon
gcc -mcpu=arm710 -O -fomit-frame-pointer neon
gcc -mcpu=arm710 -Os -fomit-frame-pointer neon
gcc -mcpu=arm710c -O2 -fomit-frame-pointer neon
gcc -mcpu=arm710c -O3 -fomit-frame-pointer neon
gcc -mcpu=arm710c -O -fomit-frame-pointer neon
gcc -mcpu=arm710c -Os -fomit-frame-pointer neon
gcc -mcpu=arm7500 -O2 -fomit-frame-pointer neon
gcc -mcpu=arm7500 -O3 -fomit-frame-pointer neon
gcc -mcpu=arm7500 -O -fomit-frame-pointer neon
gcc -mcpu=arm7500 -Os -fomit-frame-pointer neon
gcc -mcpu=arm7500fe -O2 -fomit-frame-pointer neon
gcc -mcpu=arm7500fe -O3 -fomit-frame-pointer neon
gcc -mcpu=arm7500fe -O -fomit-frame-pointer neon
gcc -mcpu=arm7500fe -Os -fomit-frame-pointer neon
gcc -mcpu=arm7 -O2 -fomit-frame-pointer neon
gcc -mcpu=arm7 -O3 -fomit-frame-pointer neon
gcc -mcpu=arm7 -O -fomit-frame-pointer neon
gcc -mcpu=arm7 -Os -fomit-frame-pointer neon
gcc -mcpu=arm7d -O2 -fomit-frame-pointer neon
gcc -mcpu=arm7d -O3 -fomit-frame-pointer neon
gcc -mcpu=arm7d -O -fomit-frame-pointer neon
gcc -mcpu=arm7d -Os -fomit-frame-pointer neon
gcc -mcpu=arm7di -O2 -fomit-frame-pointer neon
gcc -mcpu=arm7di -O3 -fomit-frame-pointer neon
gcc -mcpu=arm7di -O -fomit-frame-pointer neon
gcc -mcpu=arm7di -Os -fomit-frame-pointer neon
gcc -mcpu=arm7dm -O2 -fomit-frame-pointer neon
gcc -mcpu=arm7dm -O3 -fomit-frame-pointer neon
gcc -mcpu=arm7dm -O -fomit-frame-pointer neon
gcc -mcpu=arm7dm -Os -fomit-frame-pointer neon
gcc -mcpu=arm7dmi -O2 -fomit-frame-pointer neon
gcc -mcpu=arm7dmi -O3 -fomit-frame-pointer neon
gcc -mcpu=arm7dmi -O -fomit-frame-pointer neon
gcc -mcpu=arm7dmi -Os -fomit-frame-pointer neon
gcc -mcpu=arm7m -O2 -fomit-frame-pointer neon
gcc -mcpu=arm7m -O3 -fomit-frame-pointer neon
gcc -mcpu=arm7m -O -fomit-frame-pointer neon
gcc -mcpu=arm7m -Os -fomit-frame-pointer neon
gcc -mcpu=arm810 -O2 -fomit-frame-pointer neon
gcc -mcpu=arm810 -O3 -fomit-frame-pointer neon
gcc -mcpu=arm810 -O -fomit-frame-pointer neon
gcc -mcpu=arm810 -Os -fomit-frame-pointer neon
gcc -mcpu=arm8 -O2 -fomit-frame-pointer neon
gcc -mcpu=arm8 -O3 -fomit-frame-pointer neon
gcc -mcpu=arm8 -O -fomit-frame-pointer neon
gcc -mcpu=arm8 -Os -fomit-frame-pointer neon
gcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer neon
gcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer neon
gcc -mcpu=strongarm1100 -O -fomit-frame-pointer neon
gcc -mcpu=strongarm1100 -Os -fomit-frame-pointer neon
gcc -mcpu=strongarm110 -O2 -fomit-frame-pointer neon
gcc -mcpu=strongarm110 -O3 -fomit-frame-pointer neon
gcc -mcpu=strongarm110 -O -fomit-frame-pointer neon
gcc -mcpu=strongarm110 -Os -fomit-frame-pointer neon
gcc -mcpu=strongarm -O2 -fomit-frame-pointer neon
gcc -mcpu=strongarm -O3 -fomit-frame-pointer neon
gcc -mcpu=strongarm -O -fomit-frame-pointer neon
gcc -mcpu=strongarm -Os -fomit-frame-pointer neon