Implementation notes: amd64, oki, crypto_sign/sphincsf256haraka

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_sign
Primitive: sphincsf256haraka
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
77602426? ? ?? ? ?aesniclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011420181123
79105698? ? ?? ? ?aesniclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011420181123
94679446? ? ?? ? ?aesnigcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011420181123
95111878? ? ?? ? ?aesnigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011420181123
95780744? ? ?? ? ?aesnigcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011420181123
96632764? ? ?? ? ?aesnigcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011420181123
96650610? ? ?? ? ?aesnigcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011420181123
109312110? ? ?? ? ?aesnigcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011420181123
109535848? ? ?? ? ?aesnigcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011420181123
114412486? ? ?? ? ?aesnigcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011420181123
116723968? ? ?? ? ?aesnigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011420181123
126367314? ? ?? ? ?aesnigcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011420181123
128078778? ? ?? ? ?aesnigcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011420181123
128105802? ? ?? ? ?aesnigcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011420181123
132486816? ? ?? ? ?aesnigcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011420181123
136869672? ? ?? ? ?aesnigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011420181123
137996148? ? ?? ? ?aesnigcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011420181123
138106776? ? ?? ? ?aesnigcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011420181123
138126780? ? ?? ? ?aesnigcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011420181123
138361402? ? ?? ? ?aesnigcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011420181123
141349302? ? ?? ? ?aesnigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011420181123
143072560? ? ?? ? ?aesnigcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011420181123

Compiler output

Implementation: aesni
Security model: unknown
Compiler: cc
haraka.c: haraka.c: In function 'haraka512_perm':
haraka.c: haraka.c:35:6: error: incompatible types when assigning to type '__m128i' from type 'int'
haraka.c: s0 = _mm_aesenc_si128(s0, *(rci)); \
haraka.c: ^
haraka.c: haraka.c:351:5: note: in expansion of macro 'AES4'
haraka.c: AES4(s[0], s[1], s[2], s[3], rc);
haraka.c: ^
haraka.c: haraka.c:36:6: error: incompatible types when assigning to type '__m128i' from type 'int'
haraka.c: s1 = _mm_aesenc_si128(s1, *(rci + 1)); \
haraka.c: ^
haraka.c: haraka.c:351:5: note: in expansion of macro 'AES4'
haraka.c: AES4(s[0], s[1], s[2], s[3], rc);
haraka.c: ^
haraka.c: haraka.c:37:6: error: incompatible types when assigning to type '__m128i' from type 'int'
haraka.c: s2 = _mm_aesenc_si128(s2, *(rci + 2)); \
haraka.c: ^
haraka.c: haraka.c:351:5: note: in expansion of macro 'AES4'
haraka.c: AES4(s[0], s[1], s[2], s[3], rc);
haraka.c: ^
haraka.c: haraka.c:38:6: error: incompatible types when assigning to type '__m128i' from type 'int'
haraka.c: s3 = _mm_aesenc_si128(s3, *(rci + 3)); \
haraka.c: ^
haraka.c: haraka.c:351:5: note: in expansion of macro 'AES4'
haraka.c: AES4(s[0], s[1], s[2], s[3], rc);
haraka.c: ^
haraka.c: ...

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

Compiler output

Implementation: aesni
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
haraka.c: haraka.c:351:5: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'haraka512_perm' that is compiled without support for 'aes'
haraka.c: AES4(s[0], s[1], s[2], s[3], rc);
haraka.c: ^
haraka.c: haraka.c:35:8: note: expanded from macro 'AES4'
haraka.c: s0 = _mm_aesenc_si128(s0, *(rci)); \
haraka.c: ^
haraka.c: haraka.c:351:5: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'haraka512_perm' that is compiled without support for 'aes'
haraka.c: haraka.c:36:8: note: expanded from macro 'AES4'
haraka.c: s1 = _mm_aesenc_si128(s1, *(rci + 1)); \
haraka.c: ^
haraka.c: haraka.c:351:5: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'haraka512_perm' that is compiled without support for 'aes'
haraka.c: haraka.c:37:8: note: expanded from macro 'AES4'
haraka.c: s2 = _mm_aesenc_si128(s2, *(rci + 2)); \
haraka.c: ^
haraka.c: haraka.c:351:5: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'haraka512_perm' that is compiled without support for 'aes'
haraka.c: haraka.c:38:8: note: expanded from macro 'AES4'
haraka.c: s3 = _mm_aesenc_si128(s3, *(rci + 3)); \
haraka.c: ^
haraka.c: haraka.c:351:5: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'haraka512_perm' that is compiled without support for 'aes'
haraka.c: haraka.c:39:8: note: expanded from macro 'AES4'
haraka.c: s0 = _mm_aesenc_si128(s0, *(rci + 4)); \
haraka.c: ^
haraka.c: haraka.c:351:5: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'haraka512_perm' that is compiled without support for 'aes'
haraka.c: haraka.c:40:8: note: expanded from macro 'AES4'
haraka.c: s1 = _mm_aesenc_si128(s1, *(rci + 5)); \
haraka.c: ...

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

Compiler output

Implementation: aesni
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x28e7760: v4i64 = X86ISD::VTRUNC 0x28e7590
try.c: 0x28e7590: v16i32 = vselect 0x28d82c0, 0x286cba0, 0x28e7460
try.c: 0x28d82c0: v4i1 = X86ISD::PCMPGTM 0x28d0e90, 0x286d950
try.c: 0x28d0e90: v4i64 = X86ISD::VBROADCAST 0x286dce0
try.c: 0x286dce0: i64,ch = load<LD8[%uglygep72]> 0x27ccdd0, 0x28c7b00, undef:i64
try.c: 0x28c7b00: i64 = add 0x28d1d70, 0x2872200
try.c: 0x28d1d70: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x28b2250: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x2872200: i64 = shl 0x28b1a00, Constant:i8<3>
try.c: 0x28b1a00: i64,ch = CopyFromReg 0x27ccdd0, Register:i64 %vreg50
try.c: 0x28d2230: i64 = Register %vreg50
try.c: 0x284e8a0: i8 = Constant<3>
try.c: 0x28cf500: i64 = undef
try.c: 0x286d950: v4i64,ch = CopyFromReg 0x27ccdd0, Register:v4i64 %vreg13
try.c: 0x28808e0: v4i64 = Register %vreg13
try.c: 0x286cba0: v16i32 = X86ISD::VBROADCAST 0x28b1c60
try.c: 0x28b1c60: i32,ch = load<LD4[ConstantPool]> 0x27ccdd0, 0x28e70d0, undef:i64
try.c: 0x28e70d0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x287e400: i64 = TargetConstantPool<i32 1> 0
try.c: 0x28cf500: i64 = undef
try.c: 0x28e7460: 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: 0x28e7330: i32 = Constant<0>
try.c: 0x28e7330: i32 = Constant<0>
try.c: 0x28e7330: i32 = Constant<0>
try.c: 0x28e7330: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: aesni
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x1f5dcb0: v4i64 = X86ISD::VTRUNC 0x1f5dae0
try.c: 0x1f5dae0: v16i32 = vselect 0x1f64e30, 0x1ef9ec0, 0x1f5d9b0
try.c: 0x1f64e30: v4i1 = X86ISD::PCMPGTM 0x1f485b0, 0x1ee0f60
try.c: 0x1f485b0: v4i64 = X86ISD::VBROADCAST 0x1ee12f0
try.c: 0x1ee12f0: i64,ch = load<LD8[%uglygep72]> 0x1e42dd0, 0x1e93c50, undef:i64
try.c: 0x1e93c50: i64 = add 0x1f49490, 0x1efab30
try.c: 0x1f49490: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1f2eba0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1efab30: i64 = shl 0x1f2e350, Constant:i8<3>
try.c: 0x1f2e350: i64,ch = CopyFromReg 0x1e42dd0, Register:i64 %vreg50
try.c: 0x1f49950: i64 = Register %vreg50
try.c: 0x1ef78b0: i8 = Constant<3>
try.c: 0x1f46c20: i64 = undef
try.c: 0x1ee0f60: v4i64,ch = CopyFromReg 0x1e42dd0, Register:v4i64 %vreg13
try.c: 0x1ef4f00: v4i64 = Register %vreg13
try.c: 0x1ef9ec0: v16i32 = X86ISD::VBROADCAST 0x1f2e5b0
try.c: 0x1f2e5b0: i32,ch = load<LD4[ConstantPool]> 0x1e42dd0, 0x1f5d620, undef:i64
try.c: 0x1f5d620: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1ee2d20: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1f46c20: i64 = undef
try.c: 0x1f5d9b0: 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: 0x1f5d880: i32 = Constant<0>
try.c: 0x1f5d880: i32 = Constant<0>
try.c: 0x1f5d880: i32 = Constant<0>
try.c: 0x1f5d880: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: aesni
Security model: unknown
Compiler: gcc
haraka.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:39:0,
haraka.c: from haraka.c:10:
haraka.c: haraka.c: In function 'haraka512_perm':
haraka.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
haraka.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
haraka.c: ^~~~~~~~~~~~~~~~
haraka.c: haraka.c:42:8: note: called from here
haraka.c: s3 = _mm_aesenc_si128(s3, *(rci + 7));
haraka.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
haraka.c: haraka.c:363:5: note: in expansion of macro 'AES4'
haraka.c: AES4(s[0], s[1], s[2], s[3], rc + 32);
haraka.c: ^~~~
haraka.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:39:0,
haraka.c: from haraka.c:10:
haraka.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
haraka.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
haraka.c: ^~~~~~~~~~~~~~~~
haraka.c: haraka.c:41:8: note: called from here
haraka.c: s2 = _mm_aesenc_si128(s2, *(rci + 6)); \
haraka.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
haraka.c: haraka.c:363:5: note: in expansion of macro 'AES4'
haraka.c: AES4(s[0], s[1], s[2], s[3], rc + 32);
haraka.c: ^~~~
haraka.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:39:0,
haraka.c: from haraka.c:10:
haraka.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: aesni
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
haraka.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:39:0,
haraka.c: from haraka.c:10:
haraka.c: haraka.c: In function 'haraka512_perm':
haraka.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
haraka.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
haraka.c: ^~~~~~~~~~~~~~~~
haraka.c: haraka.c:42:8: note: called from here
haraka.c: s3 = _mm_aesenc_si128(s3, *(rci + 7));
haraka.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
haraka.c: haraka.c:363:5: note: in expansion of macro 'AES4'
haraka.c: AES4(s[0], s[1], s[2], s[3], rc + 32);
haraka.c: ^~~~
haraka.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:39:0,
haraka.c: from haraka.c:10:
haraka.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
haraka.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
haraka.c: ^~~~~~~~~~~~~~~~
haraka.c: haraka.c:41:8: note: called from here
haraka.c: s2 = _mm_aesenc_si128(s2, *(rci + 6)); \
haraka.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
haraka.c: haraka.c:363:5: note: in expansion of macro 'AES4'
haraka.c: AES4(s[0], s[1], s[2], s[3], rc + 32);
haraka.c: ^~~~
haraka.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:39:0,
haraka.c: from haraka.c:10:
haraka.c: ...
haraka.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:39:0,
haraka.c: from haraka.c:10:
haraka.c: haraka.c: In function 'haraka512_perm':
haraka.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
haraka.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
haraka.c: ^~~~~~~~~~~~~~~~
haraka.c: haraka.c:42:8: note: called from here
haraka.c: s3 = _mm_aesenc_si128(s3, *(rci + 7));
haraka.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
haraka.c: haraka.c:363:5: note: in expansion of macro 'AES4'
haraka.c: AES4(s[0], s[1], s[2], s[3], rc + 32);
haraka.c: ^~~~
haraka.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:39:0,
haraka.c: from haraka.c:10:
haraka.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
haraka.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
haraka.c: ^~~~~~~~~~~~~~~~
haraka.c: haraka.c:41:8: note: called from here
haraka.c: s2 = _mm_aesenc_si128(s2, *(rci + 6)); \
haraka.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
haraka.c: haraka.c:363:5: note: in expansion of macro 'AES4'
haraka.c: AES4(s[0], s[1], s[2], s[3], rc + 32);
haraka.c: ^~~~
haraka.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:39:0,
haraka.c: from haraka.c:10:
haraka.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