summaryrefslogtreecommitdiff
path: root/clang/lib/Driver/ToolChains/Arch/Sparc.cpp
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2020-09-15 18:55:37 +0000
committerDimitry Andric <dim@FreeBSD.org>2020-09-15 18:55:37 +0000
commite588341d487d7ec86b5282968e3223f8c0e6de27 (patch)
treefaa3fbdcd0e38085bd03d4960bc7ccbe4adf4a38 /clang/lib/Driver/ToolChains/Arch/Sparc.cpp
parentbdc6feb28f528ee3a365ca97577f7312ffa0dc65 (diff)
Notes
Diffstat (limited to 'clang/lib/Driver/ToolChains/Arch/Sparc.cpp')
-rw-r--r--clang/lib/Driver/ToolChains/Arch/Sparc.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/clang/lib/Driver/ToolChains/Arch/Sparc.cpp b/clang/lib/Driver/ToolChains/Arch/Sparc.cpp
index 043b7f257c01d..70ba8eb2a7d0d 100644
--- a/clang/lib/Driver/ToolChains/Arch/Sparc.cpp
+++ b/clang/lib/Driver/ToolChains/Arch/Sparc.cpp
@@ -21,12 +21,19 @@ using namespace llvm::opt;
const char *sparc::getSparcAsmModeForCPU(StringRef Name,
const llvm::Triple &Triple) {
if (Triple.getArch() == llvm::Triple::sparcv9) {
+ const char *DefV9CPU;
+
+ if (Triple.isOSLinux() || Triple.isOSFreeBSD() || Triple.isOSOpenBSD())
+ DefV9CPU = "-Av9a";
+ else
+ DefV9CPU = "-Av9";
+
return llvm::StringSwitch<const char *>(Name)
.Case("niagara", "-Av9b")
.Case("niagara2", "-Av9b")
.Case("niagara3", "-Av9d")
.Case("niagara4", "-Av9d")
- .Default("-Av9");
+ .Default(DefV9CPU);
} else {
return llvm::StringSwitch<const char *>(Name)
.Case("v8", "-Av8")