diff options
author | Nemanja Ivanovic <nemanja.i.ibm@gmail.com> | 2017-07-27 08:58:28 +0000 |
---|---|---|
committer | Nemanja Ivanovic <nemanja.i.ibm@gmail.com> | 2017-07-27 08:58:28 +0000 |
commit | f88f81c4446df338fed041513ceb4c36a4445ec3 (patch) | |
tree | 799ab71e81221b86b9b2c6e231e15aed7cd62977 /clang/lib/Driver/ToolChains/Gnu.cpp | |
parent | 967dc58ac10552a7910fb00a31adb0d9978c632d (diff) | |
download | bcm5719-llvm-f88f81c4446df338fed041513ceb4c36a4445ec3.tar.gz bcm5719-llvm-f88f81c4446df338fed041513ceb4c36a4445ec3.zip |
[PowerPC] Pass CPU to assembler with -no-integrated-as
This just adds the CPU to a list of commands passed to GAS when not using the
integrated assembler.
Differential Revision: https://reviews.llvm.org/D33820
llvm-svn: 309256
Diffstat (limited to 'clang/lib/Driver/ToolChains/Gnu.cpp')
-rw-r--r-- | clang/lib/Driver/ToolChains/Gnu.cpp | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp index 6902c0abb1e..7823a5bbecc 100644 --- a/clang/lib/Driver/ToolChains/Gnu.cpp +++ b/clang/lib/Driver/ToolChains/Gnu.cpp @@ -11,6 +11,7 @@ #include "Linux.h" #include "Arch/ARM.h" #include "Arch/Mips.h" +#include "Arch/PPC.h" #include "Arch/Sparc.h" #include "Arch/SystemZ.h" #include "CommonArgs.h" @@ -695,22 +696,28 @@ void tools::gnutools::Assembler::ConstructJob(Compilation &C, else CmdArgs.push_back("--64"); break; - case llvm::Triple::ppc: + case llvm::Triple::ppc: { CmdArgs.push_back("-a32"); CmdArgs.push_back("-mppc"); - CmdArgs.push_back("-many"); + CmdArgs.push_back( + ppc::getPPCAsmModeForCPU(getCPUName(Args, getToolChain().getTriple()))); break; - case llvm::Triple::ppc64: + } + case llvm::Triple::ppc64: { CmdArgs.push_back("-a64"); CmdArgs.push_back("-mppc64"); - CmdArgs.push_back("-many"); + CmdArgs.push_back( + ppc::getPPCAsmModeForCPU(getCPUName(Args, getToolChain().getTriple()))); break; - case llvm::Triple::ppc64le: + } + case llvm::Triple::ppc64le: { CmdArgs.push_back("-a64"); CmdArgs.push_back("-mppc64"); - CmdArgs.push_back("-many"); CmdArgs.push_back("-mlittle-endian"); + CmdArgs.push_back( + ppc::getPPCAsmModeForCPU(getCPUName(Args, getToolChain().getTriple()))); break; + } case llvm::Triple::sparc: case llvm::Triple::sparcel: { CmdArgs.push_back("-32"); |