From: Daniel Sanders Date: Thu, 10 Jul 2014 10:39:51 +0000 (+0000) Subject: [mips] Add support for -modd-spreg/-mno-odd-spreg X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=82f92cfe05e4ddf89c433cb717636c8feaacc1c4;p=clang [mips] Add support for -modd-spreg/-mno-odd-spreg Differential Revision: http://reviews.llvm.org/D4432 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212700 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Driver/Options.td b/include/clang/Driver/Options.td index d25aaa6e73..c37d2d88a4 100644 --- a/include/clang/Driver/Options.td +++ b/include/clang/Driver/Options.td @@ -1248,6 +1248,12 @@ def mips64r2 : Flag<["-"], "mips64r2">, def mips64r6 : Flag<["-"], "mips64r6">, Alias, AliasArgs<["mips64r6"]>, HelpText<"Equivalent to -march=mips64r6">, Flags<[HelpHidden]>; +def modd_spreg : Flag<["-"], "modd-spreg">, Group, + HelpText<"Enable odd single-precision floating point registers">, + Flags<[HelpHidden]>; +def mno_odd_spreg : Flag<["-"], "mno-odd-spreg">, Group, + HelpText<"Disable odd single-precision floating point registers">, + Flags<[HelpHidden]>; def module_file_info : Flag<["-"], "module-file-info">, Flags<[DriverOption,CC1Option]>, Group; def mthumb : Flag<["-"], "mthumb">, Group; def mtune_EQ : Joined<["-"], "mtune=">, Group; diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index 8fc3525d44..588399dadb 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -1050,6 +1050,8 @@ static void getMIPSTargetFeatures(const Driver &D, const ArgList &Args, "msa"); AddTargetFeature(Args, Features, options::OPT_mfp64, options::OPT_mfp32, "fp64"); + AddTargetFeature(Args, Features, options::OPT_mno_odd_spreg, + options::OPT_modd_spreg, "nooddspreg"); } void Clang::AddMIPSTargetArgs(const ArgList &Args, diff --git a/test/Driver/mips-features.c b/test/Driver/mips-features.c index c21e9750b9..2abb632da9 100644 --- a/test/Driver/mips-features.c +++ b/test/Driver/mips-features.c @@ -60,6 +60,16 @@ // RUN: | FileCheck --check-prefix=CHECK-NOMMSA %s // CHECK-NOMMSA: "-target-feature" "-msa" // +// -modd-spreg +// RUN: %clang -target mips-linux-gnu -### -c %s -mno-odd-spreg -modd-spreg 2>&1 \ +// RUN: | FileCheck --check-prefix=CHECK-MODDSPREG %s +// CHECK-MODDSPREG: "-target-feature" "-nooddspreg" +// +// -mno-odd-spreg +// RUN: %clang -target mips-linux-gnu -### -c %s -modd-spreg -mno-odd-spreg 2>&1 \ +// RUN: | FileCheck --check-prefix=CHECK-NOMODDSPREG %s +// CHECK-NOMODDSPREG: "-target-feature" "+nooddspreg" +// // -mfp64 // RUN: %clang -target mips-linux-gnu -### -c %s \ // RUN: -mfp32 -mfp64 2>&1 \