diff options
-rw-r--r-- | clang/lib/Driver/Tools.cpp | 2 | ||||
-rw-r--r-- | clang/test/Driver/linux-as.c | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 9a43afe7d46..8643085199f 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -6291,8 +6291,10 @@ void gnutools::Assemble::ConstructJob(Compilation &C, const JobAction &JA, CmdArgs.push_back("-many"); } else if (getToolChain().getArch() == llvm::Triple::sparc) { CmdArgs.push_back("-32"); + CmdArgs.push_back("-Av8plusa"); } else if (getToolChain().getArch() == llvm::Triple::sparcv9) { CmdArgs.push_back("-64"); + CmdArgs.push_back("-Av9a"); } else if (getToolChain().getArch() == llvm::Triple::arm) { StringRef MArch = getToolChain().getArchName(); if (MArch == "armv7" || MArch == "armv7a" || MArch == "armv7-a") diff --git a/clang/test/Driver/linux-as.c b/clang/test/Driver/linux-as.c index 5d852219d8a..381ccf56332 100644 --- a/clang/test/Driver/linux-as.c +++ b/clang/test/Driver/linux-as.c @@ -65,6 +65,7 @@ // RUN: | FileCheck -check-prefix=CHECK-SPARCV9 %s // CHECK-SPARCV9: as // CHECK-SPARCV9: -64 +// CHECK-SPARCV9: -Av9a // CHECK-SPARCV9: -o // // RUN: %clang -target sparc-linux -mcpu=invalid-cpu -### \ @@ -72,6 +73,7 @@ // RUN: | FileCheck -check-prefix=CHECK-SPARCV8 %s // CHECK-SPARCV8: as // CHECK-SPARCV8: -32 +// CHECK-SPARCV8: -Av8plusa // CHECK-SPARCV8: -o // // RUN: %clang -target s390x-linux -### -no-integrated-as -c %s 2>&1 \ |