summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/patches/patch-r262262-clang-r199012-sparc.diff
blob: 7d02c1f217cce0589590aab793ff4a01adba0acb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Pull in r199012 from upstream clang trunk (by Jakob Stoklund Olesen):

  Select the UltraSPARC instruction set when invoking the assembler.

Introduced here: http://svnweb.freebsd.org/changeset/base/262262

Index: tools/clang/lib/Driver/Tools.cpp
===================================================================
--- tools/clang/lib/Driver/Tools.cpp
+++ tools/clang/lib/Driver/Tools.cpp
@@ -6228,8 +6228,10 @@ void gnutools::Assemble::ConstructJob(Compilation
     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")
Index: tools/clang/test/Driver/linux-as.c
===================================================================
--- tools/clang/test/Driver/linux-as.c
+++ tools/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 \
OpenPOWER on IntegriCloud