Implementation notes: amd64, oki, crypto_aead/aes128poetv2aes4ni

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_aead
Primitive: aes128poetv2aes4ni
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
11042? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
11070? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
26762? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018112720181123
26774? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018112720181123
26860? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018112720181123
26870? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018112720181123
26940? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018112720181123
26946? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018112720181123
26950? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018112720181123
26970? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018112720181123
27020? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018112720181123
27028? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018112720181123
28228? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018112720181123
28244? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018112720181123
28352? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018112720181123
28358? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018112720181123
28368? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018112720181123
28900? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018112720181123
28930? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018112720181123
29050? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018112720181123
29090? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018112720181123
29158? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018112720181123

Compiler output

Implementation: ref
Security model: unknown
Compiler: cc
encrypt.c: In file included from poet.h:33:0,
encrypt.c: from encrypt.c:34:
encrypt.c: /usr/lib64/gcc/x86_64-suse-linux/4.8/include/smmintrin.h:31:3: error: #error "SSE4.1 instruction set not enabled"
encrypt.c: # error "SSE4.1 instruction set not enabled"
encrypt.c: ^
encrypt.c: In file included from poet.h:34:0,
encrypt.c: from encrypt.c:34:
encrypt.c: /usr/lib64/gcc/x86_64-suse-linux/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.c: # error "AES/PCLMUL instructions not enabled"
encrypt.c: ^

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
cc ref

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
poet.c: poet.c:490:5: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'keysetup_encrypt_only' that is compiled without support for 'aes'
poet.c: aes_encrypt_3blocks_keysetup(k, ctx->l, k_axu, expanded_key);
poet.c: ^
poet.c: poet.c:465:5: note: expanded from macro 'aes_encrypt_3blocks_keysetup'
poet.c: aes_encrypt_round_3blocks_keysetup(x, y, z, k[1]); \
poet.c: ^
poet.c: poet.c:448:9: note: expanded from macro 'aes_encrypt_round_3blocks_keysetup'
poet.c: x = _mm_aesenc_si128(x, k); \
poet.c: ^
poet.c: poet.c:490:5: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'keysetup_encrypt_only' that is compiled without support for 'aes'
poet.c: poet.c:465:5: note: expanded from macro 'aes_encrypt_3blocks_keysetup'
poet.c: aes_encrypt_round_3blocks_keysetup(x, y, z, k[1]); \
poet.c: ^
poet.c: poet.c:449:9: note: expanded from macro 'aes_encrypt_round_3blocks_keysetup'
poet.c: y = _mm_aesenc_si128(y, k); \
poet.c: ^
poet.c: poet.c:490:5: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'keysetup_encrypt_only' that is compiled without support for 'aes'
poet.c: poet.c:465:5: note: expanded from macro 'aes_encrypt_3blocks_keysetup'
poet.c: aes_encrypt_round_3blocks_keysetup(x, y, z, k[1]); \
poet.c: ^
poet.c: poet.c:450:9: note: expanded from macro 'aes_encrypt_round_3blocks_keysetup'
poet.c: z = _mm_aesenc_si128(z, k)
poet.c: ^
poet.c: poet.c:490:5: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'keysetup_encrypt_only' that is compiled without support for 'aes'
poet.c: poet.c:466:5: note: expanded from macro 'aes_encrypt_3blocks_keysetup'
poet.c: ...

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

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x1199010: v4i64 = X86ISD::VTRUNC 0x1198e40
try.c: 0x1198e40: v16i32 = vselect 0x1178e80, 0x11481b0, 0x1198d10
try.c: 0x1178e80: v4i1 = X86ISD::PCMPGTM 0x1184920, 0x1119060
try.c: 0x1184920: v4i64 = X86ISD::VBROADCAST 0x11193f0
try.c: 0x11193f0: i64,ch = load<LD8[%uglygep72]> 0x107edd0, 0x112e990, undef:i64
try.c: 0x112e990: i64 = add 0x1185800, 0x1123670
try.c: 0x1185800: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1181230: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1123670: i64 = shl 0x11809e0, Constant:i8<3>
try.c: 0x11809e0: i64,ch = CopyFromReg 0x107edd0, Register:i64 %vreg50
try.c: 0x1185cc0: i64 = Register %vreg50
try.c: 0x1145ba0: i8 = Constant<3>
try.c: 0x1182f90: i64 = undef
try.c: 0x1119060: v4i64,ch = CopyFromReg 0x107edd0, Register:v4i64 %vreg13
try.c: 0x112bab0: v4i64 = Register %vreg13
try.c: 0x11481b0: v16i32 = X86ISD::VBROADCAST 0x1180c40
try.c: 0x1180c40: i32,ch = load<LD4[ConstantPool]> 0x107edd0, 0x1198980, undef:i64
try.c: 0x1198980: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x111ae20: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1182f90: i64 = undef
try.c: 0x1198d10: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x1198be0: i32 = Constant<0>
try.c: 0x1198be0: i32 = Constant<0>
try.c: 0x1198be0: i32 = Constant<0>
try.c: 0x1198be0: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x1d16ec0: v4i64 = X86ISD::VTRUNC 0x1d16cf0
try.c: 0x1d16cf0: v16i32 = vselect 0x1d13930, 0x1ca7080, 0x1d16bc0
try.c: 0x1d13930: v4i1 = X86ISD::PCMPGTM 0x1cfe790, 0x1ca7e30
try.c: 0x1cfe790: v4i64 = X86ISD::VBROADCAST 0x1ca81c0
try.c: 0x1ca81c0: i64,ch = load<LD8[%uglygep72]> 0x1bf9dd0, 0x1ced140, undef:i64
try.c: 0x1ced140: i64 = add 0x1cff670, 0x1c9e990
try.c: 0x1cff670: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1cf4600: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1c9e990: i64 = shl 0x1cf3db0, Constant:i8<3>
try.c: 0x1cf3db0: i64,ch = CopyFromReg 0x1bf9dd0, Register:i64 %vreg50
try.c: 0x1cffb30: i64 = Register %vreg50
try.c: 0x1c9ff90: i8 = Constant<3>
try.c: 0x1cfce00: i64 = undef
try.c: 0x1ca7e30: v4i64,ch = CopyFromReg 0x1bf9dd0, Register:v4i64 %vreg13
try.c: 0x1c982e0: v4i64 = Register %vreg13
try.c: 0x1ca7080: v16i32 = X86ISD::VBROADCAST 0x1cf4010
try.c: 0x1cf4010: i32,ch = load<LD4[ConstantPool]> 0x1bf9dd0, 0x1d16830, undef:i64
try.c: 0x1d16830: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1cbb3f0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1cfce00: i64 = undef
try.c: 0x1d16bc0: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x1d16a90: i32 = Constant<0>
try.c: 0x1d16a90: i32 = Constant<0>
try.c: 0x1d16a90: i32 = Constant<0>
try.c: 0x1d16a90: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: ref
Security model: unknown
Compiler: gcc
poet.c: In file included from poet.c:33:0:
poet.c: poet.c: In function 'aes_create_decryption_key':
poet.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/wmmintrin.h:77:1: error: inlining failed in call to always_inline '_mm_aesimc_si128': target specific option mismatch
poet.c: _mm_aesimc_si128 (__m128i __X)
poet.c: ^~~~~~~~~~~~~~~~
poet.c: poet.c:293:18: note: called from here
poet.c: dec_key[1] = _mm_aesimc_si128(enc_key[9]);
poet.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
poet.c: In file included from poet.c:33:0:
poet.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/wmmintrin.h:77:1: error: inlining failed in call to always_inline '_mm_aesimc_si128': target specific option mismatch
poet.c: _mm_aesimc_si128 (__m128i __X)
poet.c: ^~~~~~~~~~~~~~~~
poet.c: poet.c:292:18: note: called from here
poet.c: dec_key[2] = _mm_aesimc_si128(enc_key[8]);
poet.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
poet.c: In file included from poet.c:33:0:
poet.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/wmmintrin.h:77:1: error: inlining failed in call to always_inline '_mm_aesimc_si128': target specific option mismatch
poet.c: _mm_aesimc_si128 (__m128i __X)
poet.c: ^~~~~~~~~~~~~~~~
poet.c: poet.c:291:18: note: called from here
poet.c: dec_key[3] = _mm_aesimc_si128(enc_key[7]);
poet.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
poet.c: In file included from poet.c:33:0:
poet.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/wmmintrin.h:77:1: error: inlining failed in call to always_inline '_mm_aesimc_si128': target specific option mismatch
poet.c: _mm_aesimc_si128 (__m128i __X)
poet.c: ...

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

Compiler output

Implementation: ref
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
poet.c: In file included from poet.c:33:0:
poet.c: poet.c: In function 'aes_create_decryption_key':
poet.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/wmmintrin.h:77:1: error: inlining failed in call to always_inline '_mm_aesimc_si128': target specific option mismatch
poet.c: _mm_aesimc_si128 (__m128i __X)
poet.c: ^~~~~~~~~~~~~~~~
poet.c: poet.c:293:18: note: called from here
poet.c: dec_key[1] = _mm_aesimc_si128(enc_key[9]);
poet.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
poet.c: In file included from poet.c:33:0:
poet.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/wmmintrin.h:77:1: error: inlining failed in call to always_inline '_mm_aesimc_si128': target specific option mismatch
poet.c: _mm_aesimc_si128 (__m128i __X)
poet.c: ^~~~~~~~~~~~~~~~
poet.c: poet.c:292:18: note: called from here
poet.c: dec_key[2] = _mm_aesimc_si128(enc_key[8]);
poet.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
poet.c: In file included from poet.c:33:0:
poet.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/wmmintrin.h:77:1: error: inlining failed in call to always_inline '_mm_aesimc_si128': target specific option mismatch
poet.c: _mm_aesimc_si128 (__m128i __X)
poet.c: ^~~~~~~~~~~~~~~~
poet.c: poet.c:291:18: note: called from here
poet.c: dec_key[3] = _mm_aesimc_si128(enc_key[7]);
poet.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
poet.c: In file included from poet.c:33:0:
poet.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/wmmintrin.h:77:1: error: inlining failed in call to always_inline '_mm_aesimc_si128': target specific option mismatch
poet.c: _mm_aesimc_si128 (__m128i __X)
poet.c: ...
poet.c: In file included from poet.c:33:0:
poet.c: poet.c: In function 'aes_create_decryption_key':
poet.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/wmmintrin.h:77:1: error: inlining failed in call to always_inline '_mm_aesimc_si128': target specific option mismatch
poet.c: _mm_aesimc_si128 (__m128i __X)
poet.c: ^~~~~~~~~~~~~~~~
poet.c: poet.c:293:18: note: called from here
poet.c: dec_key[1] = _mm_aesimc_si128(enc_key[9]);
poet.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
poet.c: In file included from poet.c:33:0:
poet.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/wmmintrin.h:77:1: error: inlining failed in call to always_inline '_mm_aesimc_si128': target specific option mismatch
poet.c: _mm_aesimc_si128 (__m128i __X)
poet.c: ^~~~~~~~~~~~~~~~
poet.c: poet.c:292:18: note: called from here
poet.c: dec_key[2] = _mm_aesimc_si128(enc_key[8]);
poet.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
poet.c: In file included from poet.c:33:0:
poet.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/wmmintrin.h:77:1: error: inlining failed in call to always_inline '_mm_aesimc_si128': target specific option mismatch
poet.c: _mm_aesimc_si128 (__m128i __X)
poet.c: ^~~~~~~~~~~~~~~~
poet.c: poet.c:291:18: note: called from here
poet.c: dec_key[3] = _mm_aesimc_si128(enc_key[7]);
poet.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
poet.c: In file included from poet.c:33:0:
poet.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/wmmintrin.h:77:1: error: inlining failed in call to always_inline '_mm_aesimc_si128': target specific option mismatch
poet.c: _mm_aesimc_si128 (__m128i __X)
poet.c: ...

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