]> granicus.if.org Git - clang/commitdiff
MIPS: Add -mdsp/-mno-dsp and -mdspr2/-mno-dspr2 command line options support.
authorSimon Atanasyan <satanasyan@mips.com>
Thu, 5 Jul 2012 19:23:00 +0000 (19:23 +0000)
committerSimon Atanasyan <satanasyan@mips.com>
Thu, 5 Jul 2012 19:23:00 +0000 (19:23 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159769 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Driver/Options.td
lib/Basic/Targets.cpp
lib/Driver/Tools.cpp
test/Driver/mips-features.c

index 496683307ba0f432f006b9524b561c57cd970e1c..4d23f47d8504b0bff811f526633e28a3a315eb22 100644 (file)
@@ -848,6 +848,10 @@ def mpopcnt : Flag<"-mpopcnt">, Group<m_x86_Features_Group>;
 def mfma4 : Flag<"-mfma4">, Group<m_x86_Features_Group>;
 def mips16 : Flag<"-mips16">, Group<m_Group>;
 def mno_mips16 : Flag<"-mno-mips16">, Group<m_Group>;
+def mdsp : Flag<"-mdsp">, Group<m_Group>;
+def mno_dsp : Flag<"-mno-dsp">, Group<m_Group>;
+def mdspr2 : Flag<"-mdspr2">, Group<m_Group>;
+def mno_dspr2 : Flag<"-mno-dspr2">, Group<m_Group>;
 def mthumb : Flag<"-mthumb">, Group<m_Group>;
 def mtune_EQ : Joined<"-mtune=">, Group<m_Group>;
 def multi__module : Flag<"-multi_module">;
index 3eaa65177c73110fda999cdc4eb28f54157ec5c8..42f5d63cc36bfa3bb4cf10ea7db4d6daf3c5a8ba 100644 (file)
@@ -3719,7 +3719,7 @@ public:
         Name == "o32" || Name == "n32" || Name == "n64" || Name == "eabi" ||
         Name == "mips32" || Name == "mips32r2" ||
         Name == "mips64" || Name == "mips64r2" ||
-        Name == "mips16") {
+        Name == "mips16" || Name == "dsp" || Name == "dspr2") {
       Features[Name] = Enabled;
       return true;
     }
index a4153515de5573eb08a1893cb566b321683ce7b8..98beb2234a7fd928056afede08a30eff1062fdee 100644 (file)
@@ -937,6 +937,12 @@ void Clang::AddMIPSTargetArgs(const ArgList &Args,
   AddTargetFeature(Args, CmdArgs,
                    options::OPT_mips16, options::OPT_mno_mips16,
                    "mips16");
+  AddTargetFeature(Args, CmdArgs,
+                   options::OPT_mdsp, options::OPT_mno_dsp,
+                   "dsp");
+  AddTargetFeature(Args, CmdArgs,
+                   options::OPT_mdspr2, options::OPT_mno_dspr2,
+                   "dspr2");
 }
 
 /// getPPCTargetCPU - Get the (LLVM) name of the PowerPC cpu we are targeting.
index 038b718098ab4a3c55771a6f2b5ddbbfd66411e9..e5f735e5715b9397b61e6045b2922a54681fc9be 100644 (file)
 // RUN:     -mips16 -mno-mips16 2>&1 \
 // RUN:   | FileCheck --check-prefix=CHECK-NOMIPS16 %s
 // CHECK-NOMIPS16: "-target-feature" "-mips16"
+//
+// -mdsp
+// RUN: %clang -target mips-linux-gnu -### -c %s \
+// RUN:     -mno-dsp -mdsp 2>&1 \
+// RUN:   | FileCheck --check-prefix=CHECK-MDSP %s
+// CHECK-MDSP: "-target-feature" "+dsp"
+//
+// -mno-dsp
+// RUN: %clang -target mips-linux-gnu -### -c %s \
+// RUN:     -mdsp -mno-dsp 2>&1 \
+// RUN:   | FileCheck --check-prefix=CHECK-NOMDSP %s
+// CHECK-NOMDSP: "-target-feature" "-dsp"
+//
+// -mdspr2
+// RUN: %clang -target mips-linux-gnu -### -c %s \
+// RUN:     -mno-dspr2 -mdspr2 2>&1 \
+// RUN:   | FileCheck --check-prefix=CHECK-MDSPR2 %s
+// CHECK-MDSPR2: "-target-feature" "+dspr2"
+//
+// -mno-dspr2
+// RUN: %clang -target mips-linux-gnu -### -c %s \
+// RUN:     -mdspr2 -mno-dspr2 2>&1 \
+// RUN:   | FileCheck --check-prefix=CHECK-NOMDSPR2 %s
+// CHECK-NOMDSPR2: "-target-feature" "-dspr2"