Implementation notes: amd64, mace, crypto_aead/kiasuneq128v1

Computer: mace
Architecture: amd64
CPU ID: AuthenticAMD-00040fb2-178bfbff
SUPERCOP version: 20170105
Operation: crypto_aead
Primitive: kiasuneq128v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
229923? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2016110120161009
230202? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2016110120161009
230457? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2016110120161009
230714? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2016110120161009
231285? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2016110120161009
231417? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2016110120161009
233393? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2016110120161009
234645? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2016110120161009
234756? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2016110120161009
235086? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2016110120161009
235119? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2016110120161009
235594? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2016110120161009
235970? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2016110120161009
236388? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2016110120161009
252524? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2016110120161009
252695? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2016110120161009
252751? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2016110120161009
252753? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2016110120161009
252802? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2016110120161009
252894? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2016110120161009
253595? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2016110120161009
254276? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2016110120161009
254820? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2016110120161009
275376? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2016110120161009
275439? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2016110120161009
276692? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2016110120161009
276736? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2016110120161009
277924? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2016110120161009
278100? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2016110120161009
278193? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2016110120161009
278979? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2016110120161009
279051? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2016110120161009
279745? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2016110120161009
280564? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2016110120161009
288988? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2016110120161009
289057? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2016110120161009
297140? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2016110120161009
298580? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2016110120161009
298624? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2016110120161009
298857? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2016110120161009
298898? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2016110120161009
299075? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2016110120161009
299086? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2016110120161009
299116? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2016110120161009
299237? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2016110120161009
299953? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2016110120161009
300128? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2016110120161009
300605? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2016110120161009
300743? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2016110120161009
301375? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2016110120161009
301461? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2016110120161009
301566? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2016110120161009
301592? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2016110120161009
301622? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2016110120161009
301809? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2016110120161009
301861? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2016110120161009
302648? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2016110120161009
302959? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2016110120161009
303161? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2016110120161009
303273? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2016110120161009
303645? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2016110120161009
303832? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2016110120161009
304891? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2016110120161009
307309? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2016110120161009
307573? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2016110120161009
308412? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016110120161009
308717? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016110120161009
308719? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016110120161009
309932? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2016110120161009
310606? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2016110120161009
310809? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2016110120161009
311034? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2016110120161009
311293? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2016110120161009
311297? ? ?? ? ?refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2016110120161009
311473? ? ?? ? ?refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016110120161009
311712? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2016110120161009
312840? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2016110120161009
313035? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2016110120161009
314969? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2016110120161009
321781? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2016110120161009
323577? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2016110120161009
323939? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2016110120161009
324324? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2016110120161009
325321? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2016110120161009
325513? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2016110120161009
327711? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2016110120161009
327713? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2016110120161009
330736? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2016110120161009
331449? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2016110120161009
331461? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2016110120161009
332116? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2016110120161009
332348? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2016110120161009
332681? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2016110120161009
340927? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2016110120161009
342892? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2016110120161009
342901? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2016110120161009
343482? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2016110120161009
343487? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2016110120161009
1203929? ? ?? ? ?refgcc2016110120161009
1204027? ? ?? ? ?refgcc_-funroll-loops2016110120161009
1206011? ? ?? ? ?refcc2016110120161009

Test failure

Implementation: crypto_aead/kiasuneq128v1/bitslice
Compiler: cc
error 111

Number of similar (compiler,implementation) pairs: 99, namely:
CompilerImplementations
cc bitslice
clang -O3 -fomit-frame-pointer -Qunused-arguments bitslice
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments bitslice
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments bitslice
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments bitslice
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments bitslice
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments bitslice
gcc bitslice
gcc -O2 -fomit-frame-pointer bitslice
gcc -O3 -fomit-frame-pointer bitslice
gcc -O -fomit-frame-pointer bitslice
gcc -Os -fomit-frame-pointer bitslice
gcc -fno-schedule-insns -O2 -fomit-frame-pointer bitslice
gcc -fno-schedule-insns -O3 -fomit-frame-pointer bitslice
gcc -fno-schedule-insns -O -fomit-frame-pointer bitslice
gcc -fno-schedule-insns -Os -fomit-frame-pointer bitslice
gcc -funroll-loops bitslice
gcc -funroll-loops -O2 -fomit-frame-pointer bitslice
gcc -funroll-loops -O3 -fomit-frame-pointer bitslice
gcc -funroll-loops -O -fomit-frame-pointer bitslice
gcc -funroll-loops -Os -fomit-frame-pointer bitslice
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer bitslice
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer bitslice
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer bitslice
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer bitslice
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer bitslice
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer bitslice
gcc -funroll-loops -m64 -O -fomit-frame-pointer bitslice
gcc -funroll-loops -m64 -Os -fomit-frame-pointer bitslice
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer bitslice
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer bitslice
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer bitslice
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer bitslice
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer bitslice
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer bitslice
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer bitslice
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer bitslice
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer bitslice
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer bitslice
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer bitslice
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer bitslice
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer bitslice
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer bitslice
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer bitslice
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer bitslice
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer bitslice
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer bitslice
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer bitslice
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer bitslice
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer bitslice
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer bitslice
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer bitslice
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer bitslice
gcc -m64 -O2 -fomit-frame-pointer bitslice
gcc -m64 -O3 -fomit-frame-pointer bitslice
gcc -m64 -O -fomit-frame-pointer bitslice
gcc -m64 -Os -fomit-frame-pointer bitslice
gcc -m64 -march=core2 -O2 -fomit-frame-pointer bitslice
gcc -m64 -march=core2 -O3 -fomit-frame-pointer bitslice ref
gcc -m64 -march=core2 -O -fomit-frame-pointer bitslice
gcc -m64 -march=core2 -Os -fomit-frame-pointer bitslice
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer bitslice
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer bitslice
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer bitslice
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer bitslice
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer bitslice
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer bitslice
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer bitslice
gcc -m64 -march=corei7 -O -fomit-frame-pointer bitslice
gcc -m64 -march=corei7 -Os -fomit-frame-pointer bitslice
gcc -m64 -march=k8 -O2 -fomit-frame-pointer bitslice
gcc -m64 -march=k8 -O3 -fomit-frame-pointer bitslice
gcc -m64 -march=k8 -O -fomit-frame-pointer bitslice
gcc -m64 -march=k8 -Os -fomit-frame-pointer bitslice
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer bitslice
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer bitslice
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer bitslice
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer bitslice
gcc -m64 -march=nocona -O2 -fomit-frame-pointer bitslice
gcc -m64 -march=nocona -O3 -fomit-frame-pointer bitslice
gcc -m64 -march=nocona -O -fomit-frame-pointer bitslice
gcc -m64 -march=nocona -Os -fomit-frame-pointer bitslice
gcc -march=barcelona -O2 -fomit-frame-pointer bitslice
gcc -march=barcelona -O3 -fomit-frame-pointer bitslice
gcc -march=barcelona -O -fomit-frame-pointer bitslice
gcc -march=barcelona -Os -fomit-frame-pointer bitslice
gcc -march=k8 -O2 -fomit-frame-pointer bitslice
gcc -march=k8 -O3 -fomit-frame-pointer bitslice
gcc -march=k8 -O -fomit-frame-pointer bitslice
gcc -march=k8 -Os -fomit-frame-pointer bitslice
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv bitslice
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv bitslice
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv bitslice
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv bitslice
gcc -march=nocona -O2 -fomit-frame-pointer bitslice
gcc -march=nocona -O3 -fomit-frame-pointer bitslice
gcc -march=nocona -O -fomit-frame-pointer bitslice
gcc -march=nocona -Os -fomit-frame-pointer bitslice

Test failure

Implementation: crypto_aead/kiasuneq128v1/bitslice
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
error 111
error 111

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer bitslice
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer bitslice
gcc -m64 -march=barcelona -O -fomit-frame-pointer bitslice
gcc -m64 -march=barcelona -Os -fomit-frame-pointer bitslice

Compiler output

Implementation: crypto_aead/kiasuneq128v1/opt
Compiler: cc
kiasu.c: In file included from kiasu.c:28:0:
kiasu.c: kiasu.c: In function 'set_decryption_key':
kiasu.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/wmmintrin.h:77:1: error: inlining failed in call to always_inline '_mm_aesimc_si128': target specific option mismatch
kiasu.c: _mm_aesimc_si128 (__m128i __X)
kiasu.c: ^
kiasu.c: In file included from kiasu.c:30:0:
kiasu.c: aes_ni.macros:5:23: error: called from here
kiasu.c: #define mc_inv(a) _mm_aesimc_si128(a)
kiasu.c: ^
kiasu.c: kiasu.c:71:77: note: in expansion of macro 'mc_inv'
kiasu.c: tmp = assist128(tmp, _mm_aeskeygenassist_si128(tmp,0x1b)); subkeys[1] = mc_inv(tmp);
kiasu.c: ^
kiasu.c: In file included from kiasu.c:28:0:
kiasu.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/wmmintrin.h:77:1: error: inlining failed in call to always_inline '_mm_aesimc_si128': target specific option mismatch
kiasu.c: _mm_aesimc_si128 (__m128i __X)
kiasu.c: ^
kiasu.c: In file included from kiasu.c:30:0:
kiasu.c: aes_ni.macros:5:23: error: called from here
kiasu.c: #define mc_inv(a) _mm_aesimc_si128(a)
kiasu.c: ^
kiasu.c: kiasu.c:70:77: note: in expansion of macro 'mc_inv'
kiasu.c: tmp = assist128(tmp, _mm_aeskeygenassist_si128(tmp,0x80)); subkeys[2] = mc_inv(tmp);
kiasu.c: ^
kiasu.c: In file included from kiasu.c:28:0:
kiasu.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/wmmintrin.h:77:1: error: inlining failed in call to always_inline '_mm_aesimc_si128': target specific option mismatch
kiasu.c: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
cc opt
gcc opt
gcc -funroll-loops opt

Compiler output

Implementation: crypto_aead/kiasuneq128v1/opt
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
kiasu.c: kiasu.c:130:4: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'kiasu_aead_encrypt' that is compiled without support for 'aes'
kiasu.c: AES( State, subkeys, Tweak );
kiasu.c: ^
kiasu.c: ./aes_ni.macros:21:5: note: expanded from macro 'AES'
kiasu.c: s = enc( s , xor( subkeys[1] , tw ) );\
kiasu.c: ^
kiasu.c: ./aes_ni.macros:1:18: note: expanded from macro 'enc'
kiasu.c: #define enc(a,b) _mm_aesenc_si128(a,b)
kiasu.c: ^
kiasu.c: kiasu.c:130:4: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'kiasu_aead_encrypt' that is compiled without support for 'aes'
kiasu.c: ./aes_ni.macros:22:5: note: expanded from macro 'AES'
kiasu.c: s = enc( s , xor( subkeys[2] , tw ) );\
kiasu.c: ^
kiasu.c: ./aes_ni.macros:1:18: note: expanded from macro 'enc'
kiasu.c: #define enc(a,b) _mm_aesenc_si128(a,b)
kiasu.c: ^
kiasu.c: kiasu.c:130:4: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'kiasu_aead_encrypt' that is compiled without support for 'aes'
kiasu.c: ./aes_ni.macros:23:5: note: expanded from macro 'AES'
kiasu.c: s = enc( s , xor( subkeys[3] , tw ) );\
kiasu.c: ^
kiasu.c: ./aes_ni.macros:1:18: note: expanded from macro 'enc'
kiasu.c: #define enc(a,b) _mm_aesenc_si128(a,b)
kiasu.c: ^
kiasu.c: kiasu.c:130:4: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'kiasu_aead_encrypt' that is compiled without support for 'aes'
kiasu.c: ./aes_ni.macros:24:5: note: expanded from macro 'AES'
kiasu.c: ...

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments opt
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments opt
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments opt
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments opt
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments opt
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments opt

Compiler output

Implementation: crypto_aead/kiasuneq128v1/opt
Compiler: gcc -O2 -fomit-frame-pointer
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/5/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:55:19: error: called from here
kiasu.c: subkeys[10] = assist128(subkeys[9], _mm_aeskeygenassist_si128(subkeys[9],0x36));
kiasu.c: ^
kiasu.c: In file included from kiasu.c:28:0:
kiasu.c: /usr/lib/gcc/x86_64-linux-gnu/5/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:54:19: error: called from here
kiasu.c: subkeys[ 9] = assist128(subkeys[8], _mm_aeskeygenassist_si128(subkeys[8],0x1b));
kiasu.c: ^
kiasu.c: In file included from kiasu.c:28:0:
kiasu.c: /usr/lib/gcc/x86_64-linux-gnu/5/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:53:19: error: called from here
kiasu.c: subkeys[ 8] = assist128(subkeys[7], _mm_aeskeygenassist_si128(subkeys[7],0x80));
kiasu.c: ^
kiasu.c: In file included from kiasu.c:28:0:
kiasu.c: /usr/lib/gcc/x86_64-linux-gnu/5/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: 89, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer opt
gcc -O3 -fomit-frame-pointer opt
gcc -O -fomit-frame-pointer opt
gcc -Os -fomit-frame-pointer opt
gcc -fno-schedule-insns -O2 -fomit-frame-pointer opt
gcc -fno-schedule-insns -O3 -fomit-frame-pointer opt
gcc -fno-schedule-insns -O -fomit-frame-pointer opt
gcc -fno-schedule-insns -Os -fomit-frame-pointer opt
gcc -funroll-loops -O2 -fomit-frame-pointer opt
gcc -funroll-loops -O3 -fomit-frame-pointer opt
gcc -funroll-loops -O -fomit-frame-pointer opt
gcc -funroll-loops -Os -fomit-frame-pointer opt
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer opt
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer opt
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer opt
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer opt
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -O -fomit-frame-pointer opt
gcc -funroll-loops -m64 -Os -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer opt
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer opt
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer opt
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer opt
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer opt
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer opt
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer opt
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer opt
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer opt
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer opt
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer opt
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer opt
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer opt
gcc -m64 -O2 -fomit-frame-pointer opt
gcc -m64 -O3 -fomit-frame-pointer opt
gcc -m64 -O -fomit-frame-pointer opt
gcc -m64 -Os -fomit-frame-pointer opt
gcc -m64 -march=core2 -O2 -fomit-frame-pointer opt
gcc -m64 -march=core2 -O3 -fomit-frame-pointer opt
gcc -m64 -march=core2 -O -fomit-frame-pointer opt
gcc -m64 -march=core2 -Os -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer opt
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer opt
gcc -m64 -march=corei7 -O -fomit-frame-pointer opt
gcc -m64 -march=corei7 -Os -fomit-frame-pointer opt
gcc -m64 -march=k8 -O2 -fomit-frame-pointer opt
gcc -m64 -march=k8 -O3 -fomit-frame-pointer opt
gcc -m64 -march=k8 -O -fomit-frame-pointer opt
gcc -m64 -march=k8 -Os -fomit-frame-pointer opt
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer opt
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer opt
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer opt
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer opt
gcc -m64 -march=nocona -O2 -fomit-frame-pointer opt
gcc -m64 -march=nocona -O3 -fomit-frame-pointer opt
gcc -m64 -march=nocona -O -fomit-frame-pointer opt
gcc -m64 -march=nocona -Os -fomit-frame-pointer opt
gcc -march=barcelona -O2 -fomit-frame-pointer opt
gcc -march=barcelona -O3 -fomit-frame-pointer opt
gcc -march=barcelona -O -fomit-frame-pointer opt
gcc -march=barcelona -Os -fomit-frame-pointer opt
gcc -march=k8 -O2 -fomit-frame-pointer opt
gcc -march=k8 -O3 -fomit-frame-pointer opt
gcc -march=k8 -O -fomit-frame-pointer opt
gcc -march=k8 -Os -fomit-frame-pointer opt
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
gcc -march=nocona -O2 -fomit-frame-pointer opt
gcc -march=nocona -O3 -fomit-frame-pointer opt
gcc -march=nocona -O -fomit-frame-pointer opt
gcc -march=nocona -Os -fomit-frame-pointer opt

Compiler output

Implementation: crypto_aead/kiasuneq128v1/opt
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
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/5/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:55:19: error: called from here
kiasu.c: subkeys[10] = assist128(subkeys[9], _mm_aeskeygenassist_si128(subkeys[9],0x36));
kiasu.c: ^
kiasu.c: In file included from kiasu.c:28:0:
kiasu.c: /usr/lib/gcc/x86_64-linux-gnu/5/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:54:19: error: called from here
kiasu.c: subkeys[ 9] = assist128(subkeys[8], _mm_aeskeygenassist_si128(subkeys[8],0x1b));
kiasu.c: ^
kiasu.c: In file included from kiasu.c:28:0:
kiasu.c: /usr/lib/gcc/x86_64-linux-gnu/5/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:53:19: error: called from here
kiasu.c: subkeys[ 8] = assist128(subkeys[7], _mm_aeskeygenassist_si128(subkeys[7],0x80));
kiasu.c: ^
kiasu.c: In file included from kiasu.c:28:0:
kiasu.c: /usr/lib/gcc/x86_64-linux-gnu/5/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: 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/5/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:55:19: error: called from here
kiasu.c: subkeys[10] = assist128(subkeys[9], _mm_aeskeygenassist_si128(subkeys[9],0x36));
kiasu.c: ^
kiasu.c: In file included from kiasu.c:28:0:
kiasu.c: /usr/lib/gcc/x86_64-linux-gnu/5/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:54:19: error: called from here
kiasu.c: subkeys[ 9] = assist128(subkeys[8], _mm_aeskeygenassist_si128(subkeys[8],0x1b));
kiasu.c: ^
kiasu.c: In file included from kiasu.c:28:0:
kiasu.c: /usr/lib/gcc/x86_64-linux-gnu/5/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:53:19: error: called from here
kiasu.c: subkeys[ 8] = assist128(subkeys[7], _mm_aeskeygenassist_si128(subkeys[7],0x80));
kiasu.c: ^
kiasu.c: In file included from kiasu.c:28:0:
kiasu.c: /usr/lib/gcc/x86_64-linux-gnu/5/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 -m64 -march=barcelona -O2 -fomit-frame-pointer opt
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer opt
gcc -m64 -march=barcelona -O -fomit-frame-pointer opt
gcc -m64 -march=barcelona -Os -fomit-frame-pointer opt