Implementation notes: amd64, glyme, crypto_aead/aesjambuv1

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_aead
Primitive: aesjambuv1
TimeImplementationCompilerBenchmark dateSUPERCOP version
53324aesniclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020320170105
53884aesnigcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020320170105
53884aesnigcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020320170105
53892aesnigcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020320170105
53892aesnigcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020320170105
54212aesnigcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020320170105
54212aesnigcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020320170105
61700aesnigcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020320170105
61704aesnigcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020320170105
171948refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020320170105
172232refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020320170105
172240refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020320170105
172244refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020320170105
172276refgcc -funroll-loops -O2 -fomit-frame-pointer2017020320170105
172276refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020320170105
172320refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020320170105
172344refgcc -funroll-loops -O3 -fomit-frame-pointer2017020320170105
172344refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020320170105
172344refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020320170105
172388refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020320170105
172412refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020320170105
172412refgcc -march=nocona -O2 -fomit-frame-pointer2017020320170105
172420refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020320170105
172424refgcc -march=nocona -O3 -fomit-frame-pointer2017020320170105
172476refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020320170105
172476refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020320170105
172524refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020320170105
172716refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020320170105
172840refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020320170105
172852refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020320170105
172852refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020320170105
172856refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020320170105
172876refgcc -m64 -O3 -fomit-frame-pointer2017020320170105
172884refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020320170105
172884refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020320170105
172888refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020320170105
172896refgcc -O2 -fomit-frame-pointer2017020320170105
172896refgcc -m64 -O2 -fomit-frame-pointer2017020320170105
172904refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020320170105
172952refgcc -march=barcelona -O2 -fomit-frame-pointer2017020320170105
173000refgcc -march=barcelona -O3 -fomit-frame-pointer2017020320170105
173040refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020320170105
173052refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020320170105
173152refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020320170105
173188refgcc -march=k8 -O3 -fomit-frame-pointer2017020320170105
173196refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020320170105
173256refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020320170105
173272refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020320170105
173324refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020320170105
173352refgcc -O3 -fomit-frame-pointer2017020320170105
173384refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020320170105
173568refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020320170105
173736refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020320170105
173768refgcc -march=k8 -O2 -fomit-frame-pointer2017020320170105
174040refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020320170105
174052refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020320170105
174084refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020320170105
174088refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020320170105
174092refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020320170105
174172refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020320170105
174172refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020320170105
174260refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020320170105
174284refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020320170105
174292refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020320170105
174316refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020320170105
174396refgcc -m64 -Os -fomit-frame-pointer2017020320170105
174412refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020320170105
174472refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020320170105
174504refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020320170105
174624refgcc -Os -fomit-frame-pointer2017020320170105
174656refgcc -march=barcelona -Os -fomit-frame-pointer2017020320170105
174772refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020320170105
174804refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020320170105
174812refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020320170105
174812refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020320170105
174828refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020320170105
174864refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020320170105
174936refgcc -march=nocona -Os -fomit-frame-pointer2017020320170105
174956refgcc -march=k8 -Os -fomit-frame-pointer2017020320170105
174968refgcc -funroll-loops -Os -fomit-frame-pointer2017020320170105
175148refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020320170105
180184refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020320170105
180248refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020320170105
180384refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020320170105
180384refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020320170105
180396refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020320170105
180420refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020320170105
180680refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020320170105
180872refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020320170105
180876refgcc -funroll-loops -O -fomit-frame-pointer2017020320170105
180920refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020320170105
180928refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020320170105
180944refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020320170105
181044refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020320170105
181112refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020320170105
181260refgcc -march=nocona -O -fomit-frame-pointer2017020320170105
181424refgcc -m64 -march=core2 -O -fomit-frame-pointer2017020320170105
181600refgcc -m64 -march=nocona -O -fomit-frame-pointer2017020320170105
181648refgcc -march=k8 -O -fomit-frame-pointer2017020320170105
181728refgcc -m64 -O -fomit-frame-pointer2017020320170105
181864refgcc -march=barcelona -O -fomit-frame-pointer2017020320170105
181900refgcc -fno-schedule-insns -O -fomit-frame-pointer2017020320170105
182072refgcc -O -fomit-frame-pointer2017020320170105
182128refgcc -m64 -march=k8 -O -fomit-frame-pointer2017020320170105
183068refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020320170105
194320refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020320170105
194360refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020320170105
194448refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020320170105
194604refclang -O3 -fomit-frame-pointer -Qunused-arguments2017020320170105
194844refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020320170105
194904refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020320170105
393084refgcc -funroll-loops2017020320170105
394512refcc2017020320170105
394964refgcc2017020320170105

Compiler output

Implementation: crypto_aead/aesjambuv1/aesni
Compiler: cc
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.8.0/include/__wmmintrin_aes.h:62: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.8.0/include/__wmmintrin_aes.h:62: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.8.0/include/__wmmintrin_aes.h:62:12: note: expanded from macro '_mm_aeskeygenassist_si128'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
cc aesni
clang -O3 -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: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
try.c: clang: error: no such file or directory: 'try.c'
try.c: clang: error: no such file or directory: 'try-anything.c'
try.c: clang: error: no such file or directory: 'crypto_aead_aesjambuv1.a'

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

Compiler output

Implementation: crypto_aead/aesjambuv1/aesni
Compiler: gcc
encrypt.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:3:
encrypt.c: encrypt.c: In function 'aes_enc_128':
encrypt.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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: 86, namely:
CompilerImplementations
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: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:3:
encrypt.c: encrypt.c: In function 'aes_enc_128':
encrypt.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:3:
encrypt.c: encrypt.c: In function 'aes_enc_128':
encrypt.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:39:0,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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