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