Implementation notes: amd64, skylake, crypto_aead/aegis128

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: aegis128
TimeImplementationCompilerBenchmark dateSUPERCOP version
2922aesnigcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121520161026
2930aesnigcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121520161026
2934aesnigcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121520161026
2934aesnigcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121520161026
2940aesnigcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121520161026
3162aesniclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121520161026
3162aesniclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121520161026
3162aesniclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
3166aesniclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121520161026
3176aesnigcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121520161026
3178aesnigcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121520161026
3180aesnigcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121520161026
3182aesnigcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121520161026
3184aesnigcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121520161026
3198aesnigcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121520161026
3200aesnigcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121520161026
3206aesnigcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121520161026
3218aesnigcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121520161026
3218aesnigcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121520161026
3218aesnigcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121520161026
3218aesnigcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121520161026
3220aesnigcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121520161026
3222aesnigcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121520161026
3238aesnigcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121520161026
44552refgcc -funroll-loops -Os -fomit-frame-pointer2016121520161026
44562refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121520161026
44574refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121520161026
44650refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121520161026
44746refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
44752refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
44814refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121520161026
44816refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121520161026
44820refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121520161026
44906refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121520161026
44968refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121520161026
44982refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
45010refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121520161026
45030refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121520161026
45036refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121520161026
45088refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121520161026
45088refgcc -march=barcelona -O3 -fomit-frame-pointer2016121520161026
45110refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121520161026
45170refgcc -march=barcelona -O -fomit-frame-pointer2016121520161026
45174refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121520161026
45194refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121520161026
45196refgcc -m64 -O3 -fomit-frame-pointer2016121520161026
45196refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121520161026
45204refgcc -march=nocona -O -fomit-frame-pointer2016121520161026
45206refgcc -O -fomit-frame-pointer2016121520161026
45214refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121520161026
45216refgcc -O3 -fomit-frame-pointer2016121520161026
45226refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121520161026
45234refgcc -m64 -O -fomit-frame-pointer2016121520161026
45248refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121520161026
45256refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121520161026
45274refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121520161026
45282refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121520161026
45286refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121520161026
45290refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121520161026
45300refgcc -march=k8 -O3 -fomit-frame-pointer2016121520161026
45316refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121520161026
45336refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121520161026
45346refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121520161026
45346refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121520161026
45346refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121520161026
45348refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121520161026
45364refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121520161026
45374refgcc -Os -fomit-frame-pointer2016121520161026
45378refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121520161026
45378refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121520161026
45382refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121520161026
45382refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121520161026
45384refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121520161026
45396refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121520161026
45414refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121520161026
45416refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121520161026
45428refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121520161026
45434refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121520161026
45442refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121520161026
45444refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121520161026
45452refgcc -march=barcelona -Os -fomit-frame-pointer2016121520161026
45466refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121520161026
45470refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121520161026
45470refgcc -march=nocona -O3 -fomit-frame-pointer2016121520161026
45472refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121520161026
45474refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121520161026
45484refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121520161026
45502refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121520161026
45530refgcc -m64 -Os -fomit-frame-pointer2016121520161026
45534refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121520161026
45552refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121520161026
45558refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121520161026
45590refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121520161026
45592refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121520161026
45600refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121520161026
45610refgcc -m64 -O2 -fomit-frame-pointer2016121520161026
45610refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121520161026
45618refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121520161026
45658refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121520161026
45672refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121520161026
45720refgcc -funroll-loops -O -fomit-frame-pointer2016121520161026
45722refgcc -march=barcelona -O2 -fomit-frame-pointer2016121520161026
45734refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121520161026
45744refgcc -march=k8 -Os -fomit-frame-pointer2016121520161026
45752refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121520161026
45756refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121520161026
45760refgcc -march=k8 -O -fomit-frame-pointer2016121520161026
45768refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121520161026
45780refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121520161026
45784refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121520161026
45800refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121520161026
45816refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121520161026
45836refgcc -march=nocona -O2 -fomit-frame-pointer2016121520161026
45842refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121520161026
45850refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121520161026
45870refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121520161026
45886refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121520161026
45890refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121520161026
45912refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121520161026
45948refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121520161026
45950refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121520161026
45986refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121520161026
46004refgcc -O2 -fomit-frame-pointer2016121520161026
46006refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121520161026
46010refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121520161026
46016refgcc -march=k8 -O2 -fomit-frame-pointer2016121520161026
46022refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121520161026
46038refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121520161026
46042refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121520161026
46092refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121520161026
46104refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121520161026
46146refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121520161026
46250refgcc -march=nocona -Os -fomit-frame-pointer2016121520161026
46288refgcc -funroll-loops -O2 -fomit-frame-pointer2016121520161026
46398refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121520161026
46456refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121520161026
46500refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121520161026
46578refgcc -funroll-loops -O3 -fomit-frame-pointer2016121520161026
46770refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121520161026
46936refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121520161026
47150refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121520161026
47478refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121520161026

Compiler output

Implementation: crypto_aead/aegis128/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:4:
encrypt.c: encrypt.c: In function 'aegis128_initialization':
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:38:25: note: called from here
encrypt.c: state[0] = _mm_aesenc_si128(tmp, state[0]);
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:4:
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:37:25: note: called from here
encrypt.c: state[1] = _mm_aesenc_si128(state[0], state[1]);
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:4:
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:36:25: note: called from here
encrypt.c: state[2] = _mm_aesenc_si128(state[1], state[2]);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/aegis128/ref
Compiler: cc
try.c: crypto_aead_aegis128.a(encrypt.o): In function `crypto_aead_aegis128_ref_encrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: crypto_aead_aegis128.a(encrypt.o): In function `crypto_aead_aegis128_ref_decrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: crypto_aead_aegis128.a(encrypt.o):encrypt.c:(.text+0x...): more undefined references to `aegis128_enc_aut_step' follow
try.c: crypto_aead_aegis128.a(encrypt.o): In function `crypto_aead_aegis128_ref_decrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_dec_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_dec_aut_step'
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: crypto_aead/aegis128/aesni
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: encrypt.c:34:25: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'aegis128_initialization' that is compiled without support for 'aes'
encrypt.c: state[4] = _mm_aesenc_si128(state[3], state[4]);
encrypt.c: ^
encrypt.c: encrypt.c:35:25: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'aegis128_initialization' that is compiled without support for 'aes'
encrypt.c: state[3] = _mm_aesenc_si128(state[2], state[3]);
encrypt.c: ^
encrypt.c: encrypt.c:36:25: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'aegis128_initialization' that is compiled without support for 'aes'
encrypt.c: state[2] = _mm_aesenc_si128(state[1], state[2]);
encrypt.c: ^
encrypt.c: encrypt.c:37:25: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'aegis128_initialization' that is compiled without support for 'aes'
encrypt.c: state[1] = _mm_aesenc_si128(state[0], state[1]);
encrypt.c: ^
encrypt.c: encrypt.c:38:25: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'aegis128_initialization' that is compiled without support for 'aes'
encrypt.c: state[0] = _mm_aesenc_si128(tmp, state[0]);
encrypt.c: ^
encrypt.c: 5 errors generated.

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/aegis128/aesni
Compiler: gcc -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:4:
encrypt.c: encrypt.c: In function 'aegis128_enc_aut_step':
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:108:20: note: called from here
encrypt.c: state[0] = _mm_aesenc_si128(tmp,state[0]);
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:4:
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:107:20: note: called from here
encrypt.c: state[1] = _mm_aesenc_si128(state[0],state[1]);
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:4:
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:106:20: note: called from here
encrypt.c: state[2] = _mm_aesenc_si128(state[1],state[2]);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 84, namely:
CompilerImplementations
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 -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/aegis128/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:4:
encrypt.c: encrypt.c: In function 'aegis128_enc_aut_step':
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:108:20: note: called from here
encrypt.c: state[0] = _mm_aesenc_si128(tmp,state[0]);
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:4:
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:107:20: note: called from here
encrypt.c: state[1] = _mm_aesenc_si128(state[0],state[1]);
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:4:
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:106:20: note: called from here
encrypt.c: state[2] = _mm_aesenc_si128(state[1],state[2]);
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:4:
encrypt.c: encrypt.c: In function 'aegis128_enc_aut_step':
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:108:20: note: called from here
encrypt.c: state[0] = _mm_aesenc_si128(tmp,state[0]);
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:4:
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:107:20: note: called from here
encrypt.c: state[1] = _mm_aesenc_si128(state[0],state[1]);
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:4:
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:106:20: note: called from here
encrypt.c: state[2] = _mm_aesenc_si128(state[1],state[2]);
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