This revision was automatically updated to reflect the committed changes.
Closed by commit rL367281: [PowerPC] [Clang] Add platform guards to PPC vector 
intrinsics headers (authored by chaofan, committed by ).
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Changed prior to commit:
  https://reviews.llvm.org/D64849?vs=210239&id=212264#toc

Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64849/new/

https://reviews.llvm.org/D64849

Files:
  cfe/trunk/lib/Driver/ToolChains/PPCLinux.cpp
  cfe/trunk/lib/Headers/ppc_wrappers/emmintrin.h
  cfe/trunk/lib/Headers/ppc_wrappers/mm_malloc.h
  cfe/trunk/lib/Headers/ppc_wrappers/mmintrin.h
  cfe/trunk/lib/Headers/ppc_wrappers/xmmintrin.h

Index: cfe/trunk/lib/Headers/ppc_wrappers/xmmintrin.h
===================================================================
--- cfe/trunk/lib/Headers/ppc_wrappers/xmmintrin.h
+++ cfe/trunk/lib/Headers/ppc_wrappers/xmmintrin.h
@@ -34,6 +34,8 @@
 #ifndef _XMMINTRIN_H_INCLUDED
 #define _XMMINTRIN_H_INCLUDED
 
+#if defined(__linux__) && defined(__ppc64__)
+
 /* Define four value permute mask */
 #define _MM_SHUFFLE(w,x,y,z) (((w) << 6) | ((x) << 4) | ((y) << 2) | (z))
 
@@ -1835,4 +1837,8 @@
 /* For backward source compatibility.  */
 //# include <emmintrin.h>
 
+#else
+#include_next <xmmintrin.h>
+#endif /* defined(__linux__) && defined(__ppc64__) */
+
 #endif /* _XMMINTRIN_H_INCLUDED */
Index: cfe/trunk/lib/Headers/ppc_wrappers/emmintrin.h
===================================================================
--- cfe/trunk/lib/Headers/ppc_wrappers/emmintrin.h
+++ cfe/trunk/lib/Headers/ppc_wrappers/emmintrin.h
@@ -35,6 +35,8 @@
 #ifndef EMMINTRIN_H_
 #define EMMINTRIN_H_
 
+#if defined(__linux__) && defined(__ppc64__)
+
 #include <altivec.h>
 
 /* We need definitions from the SSE header files.  */
@@ -2315,4 +2317,8 @@
   return (__m128d) __A;
 }
 
+#else
+#include_next <emmintrin.h>
+#endif /* defined(__linux__) && defined(__ppc64__) */
+
 #endif /* EMMINTRIN_H_ */
Index: cfe/trunk/lib/Headers/ppc_wrappers/mm_malloc.h
===================================================================
--- cfe/trunk/lib/Headers/ppc_wrappers/mm_malloc.h
+++ cfe/trunk/lib/Headers/ppc_wrappers/mm_malloc.h
@@ -10,6 +10,8 @@
 #ifndef _MM_MALLOC_H_INCLUDED
 #define _MM_MALLOC_H_INCLUDED
 
+#if defined(__linux__) && defined(__ppc64__)
+
 #include <stdlib.h>
 
 /* We can't depend on <stdlib.h> since the prototype of posix_memalign
@@ -41,4 +43,8 @@
   free (ptr);
 }
 
+#else
+#include_next <mm_malloc.h>
+#endif
+
 #endif /* _MM_MALLOC_H_INCLUDED */
Index: cfe/trunk/lib/Headers/ppc_wrappers/mmintrin.h
===================================================================
--- cfe/trunk/lib/Headers/ppc_wrappers/mmintrin.h
+++ cfe/trunk/lib/Headers/ppc_wrappers/mmintrin.h
@@ -35,6 +35,8 @@
 #ifndef _MMINTRIN_H_INCLUDED
 #define _MMINTRIN_H_INCLUDED
 
+#if defined(__linux__) && defined(__ppc64__)
+
 #include <altivec.h>
 /* The Intel API is flexible enough that we must allow aliasing with other
    vector types, and their scalar components.  */
@@ -1440,4 +1442,9 @@
   return (res.as_m64);
 #endif
 }
+
+#else
+#include_next <mmintrin.h>
+#endif /* defined(__linux__) && defined(__ppc64__) */
+
 #endif /* _MMINTRIN_H_INCLUDED */
Index: cfe/trunk/lib/Driver/ToolChains/PPCLinux.cpp
===================================================================
--- cfe/trunk/lib/Driver/ToolChains/PPCLinux.cpp
+++ cfe/trunk/lib/Driver/ToolChains/PPCLinux.cpp
@@ -16,10 +16,7 @@
 
 void PPCLinuxToolChain::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
                                                   ArgStringList &CC1Args) const {
-  // PPC wrapper headers are implementation of x86 intrinsics on PowerPC, which
-  // is not supported on PPC32 platform.
-  if (getArch() != llvm::Triple::ppc &&
-      !DriverArgs.hasArg(clang::driver::options::OPT_nostdinc) &&
+  if (!DriverArgs.hasArg(clang::driver::options::OPT_nostdinc) &&
       !DriverArgs.hasArg(options::OPT_nobuiltininc)) {
     const Driver &D = getDriver();
     SmallString<128> P(D.ResourceDir);
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to