Implementation notes: amd64, hydra3, crypto_aead/kiasuneq128v1

Computer: hydra3
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20171218
Operation: crypto_aead
Primitive: kiasuneq128v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
196373? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017091520170725
197104? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017091520170725
197726? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017091520170725
198007? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2017091520170725
198104? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017091520170725
198824? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017091520170725
199189? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017091520170725
201668? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017091520170725
201912? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2017091520170725
202274? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017091520170725
202764? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017091520170725
203067? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017091520170725
204412? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017091520170725
204735? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017091520170725
208832? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017091520170725
209200? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2017091520170725
209545? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2017091520170725
209583? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017091520170725
210545? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017091520170725
210628? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2017091520170725
211116? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017091520170725
211143? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017091520170725
211456? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2017091520170725
214741? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017091520170725
215226? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017091520170725
217198? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017091520170725
217725? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2017091520170725
219816? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017091520170725
219866? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017091520170725
223047? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2017091520170725
225189? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017091520170725
226600? ? ?? ? ?refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017091520170725
226782? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017091520170725
227301? ? ?? ? ?refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017091520170725
227364? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017091520170725
228525? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017091520170725
228679? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017091520170725
228788? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017091520170725
228899? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2017091520170725
228961? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017091520170725
228965? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017091520170725
229177? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017091520170725
229297? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017091520170725
229297? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2017091520170725
229664? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2017091520170725
230113? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2017091520170725
231099? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017091520170725
231757? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017091520170725
232115? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017091520170725
232116? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2017091520170725
232140? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017091520170725
232565? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017091520170725
233038? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017091520170725
233046? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017091520170725
237504? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017091520170725
238024? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017091520170725
238532? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017091520170725
239207? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017091520170725
239813? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017091520170725
240785? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017091520170725
241428? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017091520170725
242617? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017091520170725
242880? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2017091520170725
243007? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017091520170725
243885? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017091520170725
244187? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2017091520170725
244697? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017091520170725
244799? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017091520170725
244812? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017091520170725
244818? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2017091520170725
244825? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017091520170725
244909? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017091520170725
244911? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017091520170725
245150? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2017091520170725
245208? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2017091520170725
245262? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017091520170725
245376? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2017091520170725
245840? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017091520170725
245847? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017091520170725
245860? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017091520170725
247635? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2017091520170725
247723? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017091520170725
248021? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017091520170725
248238? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017091520170725
248650? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017091520170725
249268? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2017091520170725
249422? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2017091520170725
250453? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2017091520170725
250627? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017091520170725
250810? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2017091520170725
252300? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017091520170725
252681? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017091520170725
252681? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017091520170725
253065? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2017091520170725
254326? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017091520170725
255796? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2017091520170725
263347? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017091520170725
263481? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2017091520170725
705276? ? ?? ? ?refgcc_-funroll-loops2017091520170725
705992? ? ?? ? ?refcc2017091520170725
707990? ? ?? ? ?refgcc2017091520170725

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