From: marehr <marehr-github@marehr.dialup.fu-berlin.de>
Date: Fri, 10 Jan 2020 13:59:57 +0100
Subject: don't include x86intrin.h on powerpc

---
 .../seqan3/core/simd/detail/builtin_simd_intrinsics.hpp  | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/include/seqan3/core/simd/detail/builtin_simd_intrinsics.hpp b/include/seqan3/core/simd/detail/builtin_simd_intrinsics.hpp
index 43401366e6..3eea1f4ea8 100644
--- a/include/seqan3/core/simd/detail/builtin_simd_intrinsics.hpp
+++ b/include/seqan3/core/simd/detail/builtin_simd_intrinsics.hpp
@@ -14,7 +14,13 @@
 
 #include <seqan3/core/platform.hpp>
 
-#if __has_include(<x86intrin.h>)
+// Exclude powerpc since it may have this header and triggers a warning (-DNO_WARN_X86_INTRINSICS) which tells you that
+// x86intrin.h is only there to allow porting x86_64 code to powerpc, specifically Intel intrinsics to powerpc64le.
+// Since we will not support powerpc for the builtin simd backend, we will avoid including this header.
+//
+// See the following link for a full description of the x86intrin.h header on powerpc
+// https://github.com/gcc-mirror/gcc/blob/41d6b10e96a1de98e90a7c0378437c3255814b16/gcc/config/rs6000/xmmintrin.h#L27-L55
+#if __has_include(<x86intrin.h>) && !(defined(__powerpc__) || defined(__ppc__) || defined(__PPC__))
 #include <x86intrin.h> // x86 intrinsics (linux)
 #endif
 
@@ -23,6 +29,7 @@
 #endif
 
 // MSVC doesn't define SSE4 macros, even if the instruction set is available (e.g. when AVX is defined)
+// See https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros?view=vs-2019
 #if defined(_MSC_VER) && defined(__AVX__) && !defined(__SSE4_1__) && !defined(__SSE4_2__)
 #define __SSE4_1__ 1
 #define __SSE4_2__ 1
