MaskRay created this revision.
MaskRay added reviewers: PowerPC, Bdragon28, jhibbits.
Herald added subscribers: cfe-commits, shchenz, jsji, kbarton, nemanjai.
Herald added a project: clang.

Follow-up of D72014 <https://reviews.llvm.org/D72014>.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D72433

Files:
  clang/lib/Driver/Driver.cpp
  clang/test/Driver/ppc-features.cpp


Index: clang/test/Driver/ppc-features.cpp
===================================================================
--- clang/test/Driver/ppc-features.cpp
+++ clang/test/Driver/ppc-features.cpp
@@ -168,7 +168,9 @@
 // RUN: %clang -target powerpc64-unknown-linux-gnu %s 
-mno-invariant-function-descriptors -minvariant-function-descriptors -### -o 
%t.o 2>&1 | FileCheck -check-prefix=CHECK-INVFUNCDESC %s
 // CHECK-INVFUNCDESC: "-target-feature" "+invariant-function-descriptors"
 
-// RUN: %clang -target powerpc-unknown-linux-gnu %s -mno-spe -mspe -### -o 
%t.o 2>&1 | FileCheck -check-prefix=CHECK-SPE %s
+// RUN: %clang -target powerpc-unknown-freebsd %s -mno-spe -mspe -c -### 2>&1 
| FileCheck -check-prefix=CHECK-SPE %s
+// RUN: %clang -target powerpcspe-unknown-freebsd %s -mno-spe -mspe -c -### 
2>&1 | FileCheck -check-prefix=CHECK-SPE %s
+// CHECK-SPE: "-triple" "powerpcspe-unknown-freebsd"
 // CHECK-SPE: "-target-feature" "+spe"
 
 // Assembler features
Index: clang/lib/Driver/Driver.cpp
===================================================================
--- clang/lib/Driver/Driver.cpp
+++ clang/lib/Driver/Driver.cpp
@@ -537,6 +537,11 @@
     }
   }
 
+  // If target is PPC32, adjust SubArchType according to -mspe.
+  if (Target.getArch() == llvm::Triple::ppc &&
+      (A = Args.getLastArg(options::OPT_mspe)))
+    Target.setArchName("powerpcspe");
+
   // If target is RISC-V adjust the target triple according to
   // provided architecture name
   A = Args.getLastArg(options::OPT_march_EQ);


Index: clang/test/Driver/ppc-features.cpp
===================================================================
--- clang/test/Driver/ppc-features.cpp
+++ clang/test/Driver/ppc-features.cpp
@@ -168,7 +168,9 @@
 // RUN: %clang -target powerpc64-unknown-linux-gnu %s -mno-invariant-function-descriptors -minvariant-function-descriptors -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK-INVFUNCDESC %s
 // CHECK-INVFUNCDESC: "-target-feature" "+invariant-function-descriptors"
 
-// RUN: %clang -target powerpc-unknown-linux-gnu %s -mno-spe -mspe -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK-SPE %s
+// RUN: %clang -target powerpc-unknown-freebsd %s -mno-spe -mspe -c -### 2>&1 | FileCheck -check-prefix=CHECK-SPE %s
+// RUN: %clang -target powerpcspe-unknown-freebsd %s -mno-spe -mspe -c -### 2>&1 | FileCheck -check-prefix=CHECK-SPE %s
+// CHECK-SPE: "-triple" "powerpcspe-unknown-freebsd"
 // CHECK-SPE: "-target-feature" "+spe"
 
 // Assembler features
Index: clang/lib/Driver/Driver.cpp
===================================================================
--- clang/lib/Driver/Driver.cpp
+++ clang/lib/Driver/Driver.cpp
@@ -537,6 +537,11 @@
     }
   }
 
+  // If target is PPC32, adjust SubArchType according to -mspe.
+  if (Target.getArch() == llvm::Triple::ppc &&
+      (A = Args.getLastArg(options::OPT_mspe)))
+    Target.setArchName("powerpcspe");
+
   // If target is RISC-V adjust the target triple according to
   // provided architecture name
   A = Args.getLastArg(options::OPT_march_EQ);
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to