Implementation notes: armeabi, pi2, crypto_stream/simon128192ctr

Computer: pi2
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20160731
Operation: crypto_stream
Primitive: simon128192ctr
TimeImplementationCompilerBenchmark dateSUPERCOP version
71216neongcc -mcpu=native -mfpu=neon -Os -fomit-frame-pointer -fwrapv2016080620160731
90886neongcc -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv2016080620160731
92535neongcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv2016080620160731
106110neongcc -mcpu=native -mfpu=neon -O -fomit-frame-pointer -fwrapv2016080620160731

Compiler output

Implementation: crypto_stream/simon128192ctr/avx2
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
stream.c: In file included from stream.c:20:
stream.c: In file included from ./Simon128192AVX2.h:17:
stream.c: In file included from ./Intrinsics_AVX2_128block.h:5:
stream.c: In file included from /usr/bin/../lib/clang/3.8.1/include/x86intrin.h:29:
stream.c: In file included from /usr/bin/../lib/clang/3.8.1/include/immintrin.h:27:
stream.c: /usr/bin/../lib/clang/3.8.1/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/bin/../lib/clang/3.8.1/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/bin/../lib/clang/3.8.1/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/bin/../lib/clang/3.8.1/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/bin/../lib/clang/3.8.1/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/bin/../lib/clang/3.8.1/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/bin/../lib/clang/3.8.1/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: 1, namely:
CompilerImplementations
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2

Compiler output

Implementation: crypto_stream/simon128192ctr/sse4
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
stream.c: In file included from stream.c:20:
stream.c: In file included from ./Simon128192SSE4.h:17:
stream.c: In file included from ./Intrinsics_SSE4_128block.h:5:
stream.c: In file included from /usr/bin/../lib/clang/3.8.1/include/x86intrin.h:29:
stream.c: In file included from /usr/bin/../lib/clang/3.8.1/include/immintrin.h:27:
stream.c: /usr/bin/../lib/clang/3.8.1/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/bin/../lib/clang/3.8.1/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/bin/../lib/clang/3.8.1/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/bin/../lib/clang/3.8.1/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/bin/../lib/clang/3.8.1/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/bin/../lib/clang/3.8.1/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/bin/../lib/clang/3.8.1/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: 1, namely:
CompilerImplementations
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments sse4

Compiler output

Implementation: crypto_stream/simon128192ctr/neon
Compiler: clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
stream.c: stream.c:42:3: warning: implicit declaration of function 'ExpandKey' is invalid in C99 [-Wimplicit-function-declaration]
stream.c: ExpandKey(K,rk,key);
stream.c: ^
stream.c: stream.c:55:5: warning: implicit declaration of function 'Encrypt' is invalid in C99 [-Wimplicit-function-declaration]
stream.c: Encrypt(out,nonce,rk,key,128);
stream.c: ^
stream.c: stream.c:102:13: error: passing 'uint64_t' (aka 'unsigned long long') to parameter of incompatible type 'uint64x1_t' (vector of 1 'uint64_t' value)
stream.c: SET1(X[0],nonce[1]);
stream.c: ^~~~~~~~
stream.c: ./Intrinsics_NEON_128block.h:22:26: note: expanded from macro 'SET1'
stream.c: #define SET1(X,c) (X=SET(c,c))
stream.c: ^
stream.c: /usr/bin/../lib/clang/3.8.1/include/arm_neon.h:4033:41: note: passing argument to parameter '__p0' here
stream.c: __ai uint64x2_t vcombine_u64(uint64x1_t __p0, uint64x1_t __p1) {
stream.c: ^
stream.c: stream.c:103:13: error: passing 'uint64_t' (aka 'unsigned long long') to parameter of incompatible type 'uint64x1_t' (vector of 1 'uint64_t' value)
stream.c: SET2(Y[0],nonce[0]);
stream.c: ~~~~~~~~~~^~~~~~~~~
stream.c: ./Intrinsics_NEON_128block.h:23:26: note: expanded from macro 'SET2'
stream.c: #define SET2(X,c) (X=SET(c++,c++))
stream.c: ^~~
stream.c: /usr/bin/../lib/clang/3.8.1/include/arm_neon.h:4033:41: note: passing argument to parameter '__p0' here
stream.c: __ai uint64x2_t vcombine_u64(uint64x1_t __p0, uint64x1_t __p1) {
stream.c: ^
stream.c: stream.c:108:15: error: passing 'uint64_t' (aka 'unsigned long long') to parameter of incompatible type 'uint64x1_t' (vector of 1 'uint64_t' value)
stream.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments neon

Compiler output

Implementation: crypto_stream/simon128192ctr/avx2
Compiler: gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv
stream.c: In file included from Simon128192AVX2.h:17:0,
stream.c: from stream.c:20:
stream.c: Intrinsics_AVX2_128block.h:5:23: fatal error: x86intrin.h: No such file or directory
stream.c: #include gt;
stream.c: ^
stream.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
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/simon128192ctr/sse4
Compiler: gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv
stream.c: In file included from Simon128192SSE4.h:17:0,
stream.c: from stream.c:20:
stream.c: Intrinsics_SSE4_128block.h:5:23: fatal error: x86intrin.h: No such file or directory
stream.c: #include gt;
stream.c: ^
stream.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
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/simon128192ctr/neon
Compiler: gcc -mcpu=native -mfpu=neon -O2 -fomit-frame-pointer -fwrapv
stream.c: stream.c: In function 'crypto_stream_simon128192ctr_neon':
stream.c: stream.c:42:3: warning: implicit declaration of function 'ExpandKey' [-Wimplicit-function-declaration]
stream.c: ExpandKey(K,rk,key);
stream.c: ^~~~~~~~~
stream.c: stream.c:55:5: warning: implicit declaration of function 'Encrypt' [-Wimplicit-function-declaration]
stream.c: Encrypt(out,nonce,rk,key,128);
stream.c: ^~~~~~~
stream.c: stream.c: In function 'crypto_stream_simon128192ctr_neon_xor':
stream.c: stream.c:165:5: warning: implicit declaration of function 'Encrypt_Xor' [-Wimplicit-function-declaration]
stream.c: Encrypt_Xor(out,in,nonce,rk,key,128);
stream.c: ^~~~~~~~~~~

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
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