Implementation notes: amd64, morningstar, crypto_aead/kiasuneq128v1

Computer: morningstar
Architecture: amd64
CPU ID: AuthenticAMD-00100f42-178bfbff
SUPERCOP version: 20170904
Operation: crypto_aead
Primitive: kiasuneq128v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
220125? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017072820170718
221073? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017072820170718
222085? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2017072820170718
222104? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017072820170718
222493? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017072820170718
224498? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017072820170718
226248? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017072820170718
226520? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017072820170718
226624? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2017072820170718
226898? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017072820170718
227972? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017072820170718
229296? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017072820170718
229639? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017072820170718
229942? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017072820170718
234328? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2017072820170718
234507? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017072820170718
234911? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2017072820170718
235153? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2017072820170718
235355? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017072820170718
236893? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017072820170718
237040? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017072820170718
237159? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2017072820170718
237215? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017072820170718
239789? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017072820170718
240145? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017072820170718
242820? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2017072820170718
243712? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017072820170718
246744? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017072820170718
246933? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017072820170718
251080? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2017090720170904
253053? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017090720170904
253710? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017090720170904
253925? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017090720170904
255205? ? ?? ? ?refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017090720170904
255832? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017072820170718
255837? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017072820170718
256074? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2017072820170718
256262? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017072820170718
256311? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017072820170718
256352? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017072820170718
256419? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2017072820170718
256746? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2017072820170718
256834? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017072820170718
256960? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017072820170718
256981? ? ?? ? ?refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017090720170904
257173? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2017072820170718
257410? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017072820170718
259927? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017072820170718
260483? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017072820170718
260691? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017072820170718
261706? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2017072820170718
261805? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017072820170718
261813? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017072820170718
263613? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017072820170718
267149? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017072820170718
267284? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017072820170718
268440? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017072820170718
268448? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017072820170718
268677? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017072820170718
269040? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017072820170718
271964? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017072820170718
271978? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017072820170718
272102? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2017072820170718
272749? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017072820170718
273266? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2017072820170718
273465? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017072820170718
274069? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017072820170718
274413? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2017072820170718
274429? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017072820170718
274640? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017072820170718
274683? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2017072820170718
274762? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2017072820170718
274837? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017072820170718
274889? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017072820170718
275074? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017072820170718
275770? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017072820170718
275855? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2017072820170718
276059? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017072820170718
276129? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017072820170718
276188? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017072820170718
277781? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017072820170718
279127? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2017072820170718
279365? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017072820170718
279775? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2017072820170718
282378? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017072820170718
282755? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2017072820170718
283022? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017072820170718
283184? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017072820170718
283363? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017072820170718
283389? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017072820170718
283536? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2017072820170718
283861? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2017072820170718
284434? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2017072820170718
284688? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2017072820170718
284749? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017072820170718
286429? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017072820170718
293358? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2017072820170718
295037? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017072820170718
790069? ? ?? ? ?refcc2017072820170718
791896? ? ?? ? ?refgcc_-funroll-loops2017072820170718
794149? ? ?? ? ?refgcc2017072820170718

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