diff options
Diffstat (limited to 'clang')
-rw-r--r-- | clang/include/clang/Driver/Options.td | 4 | ||||
-rw-r--r-- | clang/lib/Driver/Tools.cpp | 2 | ||||
-rw-r--r-- | clang/test/Driver/mips-features.c | 12 |
3 files changed, 18 insertions, 0 deletions
diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td index 5404edea216..b2f75179c93 100644 --- a/clang/include/clang/Driver/Options.td +++ b/clang/include/clang/Driver/Options.td @@ -1104,6 +1104,10 @@ def mmsa : Flag<["-"], "mmsa">, Group<m_Group>, HelpText<"Enable MSA ASE (MIPS only)">; def mno_msa : Flag<["-"], "mno-msa">, Group<m_Group>, HelpText<"Disable MSA ASE (MIPS only)">; +def mfp64 : Flag<["-"], "mfp64">, Group<m_Group>, + HelpText<"Use 64-bit floating point registers (MIPS only)">; +def mfp32 : Flag<["-"], "mfp32">, Group<m_Group>, + HelpText<"Use 32-bit floating point registers (MIPS only)">; def mnan_EQ : Joined<["-"], "mnan=">, Group<m_Group>; def mips32 : Flag<["-"], "mips32">, Alias<march_EQ>, AliasArgs<["mips32"]>, diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 68a5fe8f9a0..d6ddd024437 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -982,6 +982,8 @@ static void getMIPSTargetFeatures(const Driver &D, const ArgList &Args, "dspr2"); AddTargetFeature(Args, Features, options::OPT_mmsa, options::OPT_mno_msa, "msa"); + AddTargetFeature(Args, Features, options::OPT_mfp64, options::OPT_mfp32, + "fp64"); } void Clang::AddMIPSTargetArgs(const ArgList &Args, diff --git a/clang/test/Driver/mips-features.c b/clang/test/Driver/mips-features.c index 8de26d4cbc7..d663e6651e5 100644 --- a/clang/test/Driver/mips-features.c +++ b/clang/test/Driver/mips-features.c @@ -60,6 +60,18 @@ // RUN: | FileCheck --check-prefix=CHECK-NOMMSA %s // CHECK-NOMMSA: "-target-feature" "-msa" // +// -mfp64 +// RUN: %clang -target mips-linux-gnu -### -c %s \ +// RUN: -mfp32 -mfp64 2>&1 \ +// RUN: | FileCheck --check-prefix=CHECK-MFP64 %s +// CHECK-MFP64: "-target-feature" "+fp64" +// +// -mfp32 +// RUN: %clang -target mips-linux-gnu -### -c %s \ +// RUN: -mfp64 -mfp32 2>&1 \ +// RUN: | FileCheck --check-prefix=CHECK-NOMFP64 %s +// CHECK-NOMFP64: "-target-feature" "-fp64" +// // -mxgot // RUN: %clang -target mips-linux-gnu -### -c %s \ // RUN: -mno-xgot -mxgot 2>&1 \ |