Implementation notes: amd64, gpu, crypto_aead/aes128n8t8clocv2

Computer: gpu
Architecture: amd64
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: aes128n8t8clocv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
313386525 0 024253 760 1360aesniclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2019082520190816
320345636 0 018652 792 1120aesnigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019082520190816
322296100 0 019116 792 1120aesnigcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019082520190816
332966100 0 019116 792 1120aesnigcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019082520190816
338686525 0 024253 760 1360aesniclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082520190816
342685460 0 018500 792 1120aesnigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019082520190816
346445453 0 017399 768 1088aesnigcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019082520190816
348566525 0 023485 760 1360aesniclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019082520190816
349125906 0 018948 792 1120aesnigcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019082520190816
351445906 0 018948 792 1120aesnigcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019082520190816
354045087 0 017031 768 1088aesnigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019082520190816
356445453 0 017399 768 1088aesnigcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019082520190816
359686100 0 019116 792 1120aesnigcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019082520190816
364686763 0 022132 792 1120aesnigcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019082520190816
365126331 0 021604 792 1120aesnigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019082520190816
365606763 0 022132 792 1120aesnigcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019082520190816
377005453 0 017399 768 1088aesnigcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019082520190816
391606763 0 022132 792 1120aesnigcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019082520190816
401565906 0 018948 792 1120aesnigcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019082520190816
15702421713 0 034598 776 928refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019082520190816
22098823351 0 040585 760 1160refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019082520190816
22338320979 0 032809 752 896refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082520190816
22664444722 0 035453 768 928refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019082520190816
22947020857 0 032657 752 896refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019082520190816
22972023575 0 041577 760 1160refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082520190816
23025925281 0 041437 768 928refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019082520190816
23152423525 0 042489 760 872refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019082520190816
23180024848 0 040941 768 928refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082520190816
23191222361 0 035453 768 928refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019082520190816
23214823351 0 040585 760 1160refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019082520190816
23493623509 0 043801 760 872refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082520190816
23708424844 0 040054 776 928refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019082520190816
23717222139 0 034957 768 928refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019082520190816
23844823975 0 040166 776 928refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019082520190816
24228825206 0 041189 768 928refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019082520190816
24261221699 0 034550 776 928refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019082520190816
24302425940 0 041382 776 928refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019082520190816
24396023509 0 043801 760 872refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082520190816
24505220979 0 032809 752 896refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019082520190816
24577222124 0 034933 768 928refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082520190816
24685625206 0 041189 768 928refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019082520190816
24740022139 0 034957 768 928refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019082520190816
24803222107 0 034917 768 928refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019082520190816
24838030030 0 048254 776 928refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019082520190816
24939620893 0 032705 752 896refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019082520190816
24975620858 0 032657 752 896refgcc_-march=k8_-Os_-fomit-frame-pointer2019082520190816
25125222107 0 034917 768 928refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019082520190816
25136022131 0 034941 768 928refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019082520190816
25212825499 0 040494 776 928refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019082520190816
25241224844 0 040054 776 928refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019082520190816
25243629941 0 048038 776 928refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019082520190816
25244828438 0 045598 776 928refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019082520190816
25245920868 0 032673 752 896refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019082520190816
25265222124 0 034933 768 928refgcc_-m64_-O2_-fomit-frame-pointer2019082520190816
25374821898 0 034357 768 928refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019082520190816
25541224848 0 040941 768 928refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019082520190816
25662820858 0 032657 752 896refgcc_-Os_-fomit-frame-pointer2019082520190816
25705220979 0 032809 752 896refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019082520190816
25881221728 0 034598 776 928refgcc_-march=k8_-O_-fomit-frame-pointer2019082520190816
25918821705 0 034582 776 928refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019082520190816
25949221898 0 034357 768 928refgcc_-march=nocona_-O2_-fomit-frame-pointer2019082520190816
25953623922 0 040190 776 928refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019082520190816
26072823904 0 040014 776 928refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019082520190816
26123620979 0 032809 752 896refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019082520190816
26129223922 0 040190 776 928refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019082520190816
26137621705 0 034582 776 928refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019082520190816
26142821700 0 034566 776 928refgcc_-march=barcelona_-O_-fomit-frame-pointer2019082520190816
26154424633 0 040309 768 928refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019082520190816
26166830030 0 048254 776 928refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019082520190816
26201222107 0 034917 768 928refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019082520190816
26400421705 0 034582 776 928refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019082520190816
26592428733 0 046246 776 928refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082520190816
26594025940 0 041382 776 928refgcc_-march=k8_-O3_-fomit-frame-pointer2019082520190816
26597623913 0 040254 776 928refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019082520190816
26605220858 0 032657 752 896refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019082520190816
26640426199 0 041854 776 928refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019082520190816
26694028733 0 046246 776 928refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019082520190816
26720423975 0 040166 776 928refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019082520190816
26756424868 0 039982 776 928refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019082520190816
26763221705 0 034582 776 928refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019082520190816
26854420979 0 032809 752 896refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019082520190816
26870420978 0 032809 752 896refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019082520190816
26918822139 0 034957 768 928refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019082520190816
26942423575 0 041577 760 1160refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2019082520190816
26947620857 0 032657 752 896refgcc_-march=nocona_-Os_-fomit-frame-pointer2019082520190816
26972025521 0 040598 776 928refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019082520190816
27124424844 0 040054 776 928refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019082520190816
27162825521 0 040662 776 928refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019082520190816
27163224633 0 040309 768 928refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019082520190816
27164425532 0 040702 776 928refgcc_-m64_-O3_-fomit-frame-pointer2019082520190816
27175622107 0 034917 768 928refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019082520190816
27177641716 0 032657 752 896refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019082520190816
27334028438 0 045598 776 928refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019082520190816
27370429941 0 048038 776 928refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019082520190816
27389620858 0 032657 752 896refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019082520190816
27410820868 0 032673 752 896refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019082520190816
27479628733 0 046246 776 928refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019082520190816
27502020979 0 032809 752 896refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019082520190816
27545225532 0 040702 776 928refgcc_-O3_-fomit-frame-pointer2019082520190816
27561221705 0 034582 776 928refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019082520190816
27593221705 0 034582 776 928refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019082520190816
27702825521 0 040678 776 928refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019082520190816
27754825281 0 041437 768 928refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019082520190816
27843620858 0 032657 752 896refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019082520190816
27953625178 0 040038 776 928refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019082520190816
28193224848 0 040941 768 928refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019082520190816
28330023509 0 043801 760 872refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082520190816
28360021705 0 034582 776 928refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019082520190816
28537223913 0 040254 776 928refgcc_-funroll-loops_-O_-fomit-frame-pointer2019082520190816
28684422124 0 034933 768 928refgcc_-O2_-fomit-frame-pointer2019082520190816
28966821699 0 034550 776 928refgcc_-march=nocona_-O_-fomit-frame-pointer2019082520190816
29145621713 0 034598 776 928refgcc_-m64_-O_-fomit-frame-pointer2019082520190816
29158020858 0 032657 752 896refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019082520190816
29260443400 0 034566 776 928refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019082520190816
29274422233 0 035037 768 928refgcc_-march=k8_-O2_-fomit-frame-pointer2019082520190816
29295225532 0 040702 776 928refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082520190816
29384423913 0 040254 776 928refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019082520190816
29866425178 0 040038 776 928refgcc_-march=nocona_-O3_-fomit-frame-pointer2019082520190816
29934420858 0 032657 752 896refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019082520190816
30206052398 0 041854 776 928refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019082520190816
30453220858 0 032657 752 896refgcc_-m64_-Os_-fomit-frame-pointer2019082520190816
30454420979 0 032809 752 896refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019082520190816
30503220860 0 032657 752 896refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019082520190816
30520020868 0 032673 752 896refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019082520190816
30919223904 0 040014 776 928refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019082520190816
30927220858 0 032657 752 896refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082520190816
31018021705 0 034582 776 928refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019082520190816
31038820978 0 032809 752 896refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019082520190816
31139621728 0 034598 776 928refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019082520190816
31323222233 0 035037 768 928refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019082520190816
31588821713 0 034598 776 928refgcc_-O_-fomit-frame-pointer2019082520190816
60866035568 0 050151 768 888refgcc_-funroll-loops2019082520190816
64044035568 0 050151 768 888refgcc2019082520190816
66917635568 0 050151 768 888refcc2019082520190816

Test failure

Implementation: aesni
Security model: unknown
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer aesni
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer aesni
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer aesni
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer ref

Compiler output

Implementation: aesni
Security model: unknown
Compiler: cc
encrypt.c: In file included from encrypt.c:7:0:
encrypt.c: encrypt.c: In function 'crypto_aead_aes128n8t8clocv2_aesni_encrypt':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/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: In file included from encrypt.c:38:0:
encrypt.c: aes.h:67:8: note: called from here
encrypt.c: out = _mm_aesenclast_si128(out, roundkeys[10]);\
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:143:5: note: in expansion of macro 'AES128_encrypt'
encrypt.c: AES128_encrypt(estate, estate);
encrypt.c: ^~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:7:0:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/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: In file included from encrypt.c:38:0:
encrypt.c: aes.h:66:8: note: called from here
encrypt.c: out = _mm_aesenc_si128(out, roundkeys[9]); \
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:143:5: note: in expansion of macro 'AES128_encrypt'
encrypt.c: AES128_encrypt(estate, estate);
encrypt.c: ^~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:7:0:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
encrypt.c: ...

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

Compiler output

Implementation: aesni
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: In file included from encrypt.c:38:
encrypt.c: ./aes.h:30:2: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
encrypt.c: EXPAND_ASSIST(x0, x1, x2, x0, 1); roundkeys[1] = x0;
encrypt.c: ^
encrypt.c: ./aes.h:13:7: note: expanded from macro 'EXPAND_ASSIST'
encrypt.c: v2 = _mm_aeskeygenassist_si128(v4, aes_const); \
encrypt.c: ^
encrypt.c: /usr/lib/llvm-6.0/lib/clang/6.0.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: In file included from encrypt.c:38:
encrypt.c: ./aes.h:31:2: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
encrypt.c: EXPAND_ASSIST(x0, x1, x2, x0, 2); roundkeys[2] = x0;
encrypt.c: ^
encrypt.c: ./aes.h:13:7: note: expanded from macro 'EXPAND_ASSIST'
encrypt.c: v2 = _mm_aeskeygenassist_si128(v4, aes_const); \
encrypt.c: ^
encrypt.c: /usr/lib/llvm-6.0/lib/clang/6.0.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: In file included from encrypt.c:38:
encrypt.c: ./aes.h:32:2: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
encrypt.c: EXPAND_ASSIST(x0, x1, x2, x0, 4); roundkeys[3] = x0;
encrypt.c: ^
encrypt.c: ./aes.h:13:7: note: expanded from macro 'EXPAND_ASSIST'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -O3 -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: aesni
Security model: unknown
Compiler: gcc -O2 -fomit-frame-pointer
encrypt.c: In file included from encrypt.c:7:0:
encrypt.c: aes.h: In function 'AES128_KeyExpansion':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
encrypt.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:38:0:
encrypt.c: aes.h:13:5: note: called from here
encrypt.c: v2 = _mm_aeskeygenassist_si128(v4, aes_const); \
encrypt.c: ^
encrypt.c: aes.h:39:2: note: in expansion of macro 'EXPAND_ASSIST'
encrypt.c: EXPAND_ASSIST(x0, x1, x2, x0, 54); roundkeys[10] = x0;
encrypt.c: ^~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:7:0:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
encrypt.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:38:0:
encrypt.c: aes.h:13:5: note: called from here
encrypt.c: v2 = _mm_aeskeygenassist_si128(v4, aes_const); \
encrypt.c: ^
encrypt.c: aes.h:38:2: note: in expansion of macro 'EXPAND_ASSIST'
encrypt.c: EXPAND_ASSIST(x0, x1, x2, x0, 27); roundkeys[9] = x0;
encrypt.c: ^~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:7:0:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
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: aesni
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: In file included from encrypt.c:7:0:
encrypt.c: aes.h: In function 'AES128_KeyExpansion':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
encrypt.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:38:0:
encrypt.c: aes.h:13:5: note: called from here
encrypt.c: v2 = _mm_aeskeygenassist_si128(v4, aes_const); \
encrypt.c: ^
encrypt.c: aes.h:39:2: note: in expansion of macro 'EXPAND_ASSIST'
encrypt.c: EXPAND_ASSIST(x0, x1, x2, x0, 54); roundkeys[10] = x0;
encrypt.c: ^~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:7:0:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
encrypt.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:38:0:
encrypt.c: aes.h:13:5: note: called from here
encrypt.c: v2 = _mm_aeskeygenassist_si128(v4, aes_const); \
encrypt.c: ^
encrypt.c: aes.h:38:2: note: in expansion of macro 'EXPAND_ASSIST'
encrypt.c: EXPAND_ASSIST(x0, x1, x2, x0, 27); roundkeys[9] = x0;
encrypt.c: ^~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:7:0:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
encrypt.c: ...
encrypt.c: In file included from encrypt.c:7:0:
encrypt.c: aes.h: In function 'AES128_KeyExpansion':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
encrypt.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:38:0:
encrypt.c: aes.h:13:5: note: called from here
encrypt.c: v2 = _mm_aeskeygenassist_si128(v4, aes_const); \
encrypt.c: ^
encrypt.c: aes.h:39:2: note: in expansion of macro 'EXPAND_ASSIST'
encrypt.c: EXPAND_ASSIST(x0, x1, x2, x0, 54); roundkeys[10] = x0;
encrypt.c: ^~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:7:0:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
encrypt.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:38:0:
encrypt.c: aes.h:13:5: note: called from here
encrypt.c: v2 = _mm_aeskeygenassist_si128(v4, aes_const); \
encrypt.c: ^
encrypt.c: aes.h:38:2: note: in expansion of macro 'EXPAND_ASSIST'
encrypt.c: EXPAND_ASSIST(x0, x1, x2, x0, 27); roundkeys[9] = x0;
encrypt.c: ^~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:7:0:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
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