diff options
author | Simon Atanasyan <satanasyan@mips.com> | 2012-07-05 19:23:00 +0000 |
---|---|---|
committer | Simon Atanasyan <satanasyan@mips.com> | 2012-07-05 19:23:00 +0000 |
commit | 9c6f1f7f2387bd708d37ddc9c64d56fec96602f9 (patch) | |
tree | 1fafa31d021cda2c18a56d1fd0e2569387abc56c | |
parent | d359075e436d8f60f858d5f911fef11a020b3614 (diff) | |
download | bcm5719-llvm-9c6f1f7f2387bd708d37ddc9c64d56fec96602f9.tar.gz bcm5719-llvm-9c6f1f7f2387bd708d37ddc9c64d56fec96602f9.zip |
MIPS: Add -mdsp/-mno-dsp and -mdspr2/-mno-dspr2 command line options support.
llvm-svn: 159769
-rw-r--r-- | clang/include/clang/Driver/Options.td | 4 | ||||
-rw-r--r-- | clang/lib/Basic/Targets.cpp | 2 | ||||
-rw-r--r-- | clang/lib/Driver/Tools.cpp | 6 | ||||
-rw-r--r-- | clang/test/Driver/mips-features.c | 24 |
4 files changed, 35 insertions, 1 deletions
diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td index 496683307ba..4d23f47d850 100644 --- a/clang/include/clang/Driver/Options.td +++ b/clang/include/clang/Driver/Options.td @@ -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">; diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 3eaa65177c7..42f5d63cc36 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -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; } diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index a4153515de5..98beb2234a7 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -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. diff --git a/clang/test/Driver/mips-features.c b/clang/test/Driver/mips-features.c index 038b718098a..e5f735e5715 100644 --- a/clang/test/Driver/mips-features.c +++ b/clang/test/Driver/mips-features.c @@ -11,3 +11,27 @@ // 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" |