Implementation notes: amd64, skylake, crypto_aead/aesjambuv1

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: aesjambuv1
TimeImplementationCompilerBenchmark dateSUPERCOP version
36748aesnigcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
36762aesnigcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
36778aesnigcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
36892aesnigcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
37110aesnigcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
41998aesnigcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
42004aesnigcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
42080aesnigcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
42082aesnigcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
42098aesnigcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
42116aesnigcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
42230aesnigcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
42254aesnigcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
42260aesnigcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
42352aesnigcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
42604aesniclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
42654aesniclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
42722aesniclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
42782aesnigcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
42784aesnigcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
42802aesnigcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
42804aesnigcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
42804aesnigcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
43000aesniclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
122254refgcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
122422refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
122534refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
122556refgcc -O3 -fomit-frame-pointer2016121620161026
122558refgcc -march=k8 -Os -fomit-frame-pointer2016121620161026
122640refgcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
122668refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
122678refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
122796refgcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
122810refgcc -m64 -Os -fomit-frame-pointer2016121620161026
122868refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
122992refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
123014refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
123020refgcc -m64 -O2 -fomit-frame-pointer2016121620161026
123044refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
123066refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
123114refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
123152refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
123258refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
123346refgcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
123458refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
123462refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
123462refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
123570refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
123602refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
123634refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
123654refgcc -O2 -fomit-frame-pointer2016121620161026
123676refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
123732refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
123800refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
123806refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
123846refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
123926refgcc -Os -fomit-frame-pointer2016121620161026
123940refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
124062refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
124064refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
124172refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
124212refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
124228refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
124328refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
124442refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
124476refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
124516refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
124668refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
124676refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
124762refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
124816refgcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
124858refgcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
124898refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
124900refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
124906refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
124910refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
124910refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
125026refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
125060refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
125088refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
125168refgcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
125194refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
125222refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
125260refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
125270refgcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
125314refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
125406refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
125594refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
125906refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
125910refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
126032refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
126074refgcc -m64 -O3 -fomit-frame-pointer2016121620161026
126186refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
126194refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
126358refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
126578refgcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
126814refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
127174refgcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
127282refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
127308refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
127334refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
127352refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
127420refgcc -march=nocona -Os -fomit-frame-pointer2016121620161026
127898refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
127960refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
132796refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
132850refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
132868refgcc -funroll-loops -O -fomit-frame-pointer2016121620161026
133520refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
133894refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
134078refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
134212refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
134272refgcc -O -fomit-frame-pointer2016121620161026
134428refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
134528refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
134574refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
134670refgcc -m64 -O -fomit-frame-pointer2016121620161026
134704refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
135114refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
135146refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
135208refgcc -march=nocona -O -fomit-frame-pointer2016121620161026
135240refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
135332refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
135376refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
135478refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
135518refgcc -march=barcelona -O -fomit-frame-pointer2016121620161026
135550refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
135898refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
135900refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
136258refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
136764refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
137804refgcc -march=k8 -O -fomit-frame-pointer2016121620161026
143980refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
144310refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
144438refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
144468refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
144710refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
145490refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
145864refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
146058refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
146114refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
147494refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
262154refcc2016121620161026
264116refgcc2016121620161026
268230refgcc -funroll-loops2016121620161026

Compiler output

Implementation: crypto_aead/aesjambuv1/aesni
Compiler: cc
encrypt.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:3:
encrypt.c: encrypt.c: In function 'aes_enc_128':
encrypt.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/wmmintrin.h:69:1: error: inlining failed in call to always_inline '_mm_aesenclast_si128': target specific option mismatch
encrypt.c: _mm_aesenclast_si128 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:57:11: note: called from here
encrypt.c: *state = _mm_aesenclast_si128(*state, key[10]);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
encrypt.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:55:11: note: called from here
encrypt.c: *state = _mm_aesenc_si128(*state, key[9]);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
encrypt.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:53:11: note: called from here
encrypt.c: *state = _mm_aesenc_si128(*state, key[8]);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 87, namely:
CompilerImplementations
cc aesni
gcc aesni
gcc -O2 -fomit-frame-pointer aesni
gcc -O3 -fomit-frame-pointer aesni
gcc -O -fomit-frame-pointer aesni
gcc -Os -fomit-frame-pointer aesni
gcc -fno-schedule-insns -O2 -fomit-frame-pointer aesni
gcc -fno-schedule-insns -O3 -fomit-frame-pointer aesni
gcc -fno-schedule-insns -O -fomit-frame-pointer aesni
gcc -fno-schedule-insns -Os -fomit-frame-pointer aesni
gcc -funroll-loops aesni
gcc -funroll-loops -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -O -fomit-frame-pointer aesni
gcc -funroll-loops -Os -fomit-frame-pointer aesni
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer aesni
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -O -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -Os -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer aesni
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer aesni
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer aesni
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer aesni
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer aesni
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer aesni
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer aesni
gcc -m64 -O2 -fomit-frame-pointer aesni
gcc -m64 -O3 -fomit-frame-pointer aesni
gcc -m64 -O -fomit-frame-pointer aesni
gcc -m64 -Os -fomit-frame-pointer aesni
gcc -m64 -march=core2 -O2 -fomit-frame-pointer aesni
gcc -m64 -march=core2 -O3 -fomit-frame-pointer aesni
gcc -m64 -march=core2 -O -fomit-frame-pointer aesni
gcc -m64 -march=core2 -Os -fomit-frame-pointer aesni
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer aesni
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer aesni
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer aesni
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer aesni
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer aesni
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer aesni
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer aesni
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer aesni
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer aesni
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer aesni
gcc -m64 -march=corei7 -O -fomit-frame-pointer aesni
gcc -m64 -march=corei7 -Os -fomit-frame-pointer aesni
gcc -m64 -march=k8 -O2 -fomit-frame-pointer aesni
gcc -m64 -march=k8 -O3 -fomit-frame-pointer aesni
gcc -m64 -march=k8 -O -fomit-frame-pointer aesni
gcc -m64 -march=k8 -Os -fomit-frame-pointer aesni
gcc -m64 -march=nocona -O2 -fomit-frame-pointer aesni
gcc -m64 -march=nocona -O3 -fomit-frame-pointer aesni
gcc -m64 -march=nocona -O -fomit-frame-pointer aesni
gcc -m64 -march=nocona -Os -fomit-frame-pointer aesni
gcc -march=barcelona -O2 -fomit-frame-pointer aesni
gcc -march=barcelona -O3 -fomit-frame-pointer aesni
gcc -march=barcelona -O -fomit-frame-pointer aesni
gcc -march=barcelona -Os -fomit-frame-pointer aesni
gcc -march=k8 -O2 -fomit-frame-pointer aesni
gcc -march=k8 -O3 -fomit-frame-pointer aesni
gcc -march=k8 -O -fomit-frame-pointer aesni
gcc -march=k8 -Os -fomit-frame-pointer aesni
gcc -march=nocona -O2 -fomit-frame-pointer aesni
gcc -march=nocona -O3 -fomit-frame-pointer aesni
gcc -march=nocona -O -fomit-frame-pointer aesni
gcc -march=nocona -Os -fomit-frame-pointer aesni

Compiler output

Implementation: crypto_aead/aesjambuv1/aesni
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:277:9: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
encrypt.c: K[1] = KEYEXP(K[0], 0x01);
encrypt.c: ^
encrypt.c: encrypt.c:19:42: note: expanded from macro 'KEYEXP'
encrypt.c: #define KEYEXP(K, I) aes128_keyexpand(K, _mm_aeskeygenassist_si128(K, I))
encrypt.c: ^
encrypt.c: /usr/bin/../lib/clang/3.9.0/include/__wmmintrin_aes.h:147:12: note: expanded from macro '_mm_aeskeygenassist_si128'
encrypt.c: (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
encrypt.c: ^
encrypt.c: encrypt.c:278:9: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
encrypt.c: K[2] = KEYEXP(K[1], 0x02);
encrypt.c: ^
encrypt.c: encrypt.c:19:42: note: expanded from macro 'KEYEXP'
encrypt.c: #define KEYEXP(K, I) aes128_keyexpand(K, _mm_aeskeygenassist_si128(K, I))
encrypt.c: ^
encrypt.c: /usr/bin/../lib/clang/3.9.0/include/__wmmintrin_aes.h:147:12: note: expanded from macro '_mm_aeskeygenassist_si128'
encrypt.c: (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
encrypt.c: ^
encrypt.c: encrypt.c:279:9: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
encrypt.c: K[3] = KEYEXP(K[2], 0x04);
encrypt.c: ^
encrypt.c: encrypt.c:19:42: note: expanded from macro 'KEYEXP'
encrypt.c: #define KEYEXP(K, I) aes128_keyexpand(K, _mm_aeskeygenassist_si128(K, I))
encrypt.c: ^
encrypt.c: /usr/bin/../lib/clang/3.9.0/include/__wmmintrin_aes.h:147:12: note: expanded from macro '_mm_aeskeygenassist_si128'
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/aesjambuv1/aesni
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:3:
encrypt.c: encrypt.c: In function 'aes_enc_128':
encrypt.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/wmmintrin.h:69:1: error: inlining failed in call to always_inline '_mm_aesenclast_si128': target specific option mismatch
encrypt.c: _mm_aesenclast_si128 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:57:11: note: called from here
encrypt.c: *state = _mm_aesenclast_si128(*state, key[10]);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
encrypt.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:55:11: note: called from here
encrypt.c: *state = _mm_aesenc_si128(*state, key[9]);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
encrypt.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:53:11: note: called from here
encrypt.c: *state = _mm_aesenc_si128(*state, key[8]);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: ...
encrypt.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:3:
encrypt.c: encrypt.c: In function 'aes_enc_128':
encrypt.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/wmmintrin.h:69:1: error: inlining failed in call to always_inline '_mm_aesenclast_si128': target specific option mismatch
encrypt.c: _mm_aesenclast_si128 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:57:11: note: called from here
encrypt.c: *state = _mm_aesenclast_si128(*state, key[10]);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
encrypt.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:55:11: note: called from here
encrypt.c: *state = _mm_aesenc_si128(*state, key[9]);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
encrypt.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:53:11: note: called from here
encrypt.c: *state = _mm_aesenc_si128(*state, key[8]);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: ...

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