Implementation notes: amd64, waldorf, crypto_aead/kiasuneq128v1

Computer: waldorf
Architecture: amd64
CPU ID: GenuineIntel-000106e5-bfebfbff
SUPERCOP version: 20160715
Operation: crypto_aead
Primitive: kiasuneq128v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
145444bitslicegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
149684bitslicegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
151888bitslicegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
153416bitslicegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
158640bitsliceclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
348404refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
348860refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
381456refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
388068refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
452564refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715

Compiler output

Implementation: crypto_aead/kiasuneq128v1/opt
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
kiasu.c: In file included from kiasu.c:28:
kiasu.c: /usr/include/clang/3.5.0/include/wmmintrin.h:30:3: error: "AES/PCLMUL instructions not enabled"
kiasu.c: # error "AES/PCLMUL instructions not enabled"
kiasu.c: ^
kiasu.c: kiasu.c:46:41: warning: implicit declaration of function '_mm_aeskeygenassist_si128' is invalid in C99 [-Wimplicit-function-declaration]
kiasu.c: subkeys[ 1] = assist128(subkeys[0], _mm_aeskeygenassist_si128(subkeys[0],0x1));
kiasu.c: ^
kiasu.c: kiasu.c:46:41: error: passing 'int' to parameter of incompatible type '__m128i' (vector of 2 'long long' values)
kiasu.c: subkeys[ 1] = assist128(subkeys[0], _mm_aeskeygenassist_si128(subkeys[0],0x1));
kiasu.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kiasu.c: kiasu.c:35:45: note: passing argument to parameter 'b' here
kiasu.c: static __m128i assist128(__m128i a, __m128i b)
kiasu.c: ^
kiasu.c: kiasu.c:47:41: error: passing 'int' to parameter of incompatible type '__m128i' (vector of 2 'long long' values)
kiasu.c: subkeys[ 2] = assist128(subkeys[1], _mm_aeskeygenassist_si128(subkeys[1],0x2));
kiasu.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kiasu.c: kiasu.c:35:45: note: passing argument to parameter 'b' here
kiasu.c: static __m128i assist128(__m128i a, __m128i b)
kiasu.c: ^
kiasu.c: kiasu.c:48:41: error: passing 'int' to parameter of incompatible type '__m128i' (vector of 2 'long long' values)
kiasu.c: subkeys[ 3] = assist128(subkeys[2], _mm_aeskeygenassist_si128(subkeys[2],0x4));
kiasu.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kiasu.c: kiasu.c:35:45: note: passing argument to parameter 'b' here
kiasu.c: static __m128i assist128(__m128i a, __m128i b)
kiasu.c: ^
kiasu.c: ...

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

Compiler output

Implementation: crypto_aead/kiasuneq128v1/opt
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
kiasu.c: In file included from kiasu.c:28:0:
kiasu.c: kiasu.c: In function 'set_encryption_key':
kiasu.c: /usr/lib/gcc/x86_64-linux-gnu/4.9/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
kiasu.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
kiasu.c: ^
kiasu.c: kiasu.c:46:19: error: called from here
kiasu.c: subkeys[ 1] = assist128(subkeys[0], _mm_aeskeygenassist_si128(subkeys[0],0x1));
kiasu.c: ^
kiasu.c: In file included from kiasu.c:28:0:
kiasu.c: /usr/lib/gcc/x86_64-linux-gnu/4.9/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
kiasu.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
kiasu.c: ^
kiasu.c: kiasu.c:47:19: error: called from here
kiasu.c: subkeys[ 2] = assist128(subkeys[1], _mm_aeskeygenassist_si128(subkeys[1],0x2));
kiasu.c: ^
kiasu.c: In file included from kiasu.c:28:0:
kiasu.c: /usr/lib/gcc/x86_64-linux-gnu/4.9/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
kiasu.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
kiasu.c: ^
kiasu.c: kiasu.c:48:19: error: called from here
kiasu.c: subkeys[ 3] = assist128(subkeys[2], _mm_aeskeygenassist_si128(subkeys[2],0x4));
kiasu.c: ^
kiasu.c: In file included from kiasu.c:28:0:
kiasu.c: /usr/lib/gcc/x86_64-linux-gnu/4.9/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
kiasu.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
kiasu.c: ...

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