Author: dsanders Date: Wed Jul 16 04:57:54 2014 New Revision: 213132 URL: http://llvm.org/viewvc/llvm-project?rev=213132&view=rev Log: [mips] Add support for -mfpxx and -mno-fpxx.
Differential Revision: http://reviews.llvm.org/D4464 Modified: cfe/trunk/include/clang/Driver/Options.td cfe/trunk/lib/Driver/Tools.cpp cfe/trunk/test/Driver/mips-features.c Modified: cfe/trunk/include/clang/Driver/Options.td URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=213132&r1=213131&r2=213132&view=diff ============================================================================== --- cfe/trunk/include/clang/Driver/Options.td (original) +++ cfe/trunk/include/clang/Driver/Options.td Wed Jul 16 04:57:54 2014 @@ -1261,6 +1261,9 @@ def mips64r2 : Flag<["-"], "mips64r2">, def mips64r6 : Flag<["-"], "mips64r6">, Alias<march_EQ>, AliasArgs<["mips64r6"]>, HelpText<"Equivalent to -march=mips64r6">, Flags<[HelpHidden]>; +def mfpxx : Flag<["-"], "mfpxx">, Group<m_Group>, + HelpText<"Avoid FPU mode dependent operations when used with the O32 ABI">, + Flags<[HelpHidden]>; def modd_spreg : Flag<["-"], "modd-spreg">, Group<m_Group>, HelpText<"Enable odd single-precision floating point registers">, Flags<[HelpHidden]>; Modified: cfe/trunk/lib/Driver/Tools.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=213132&r1=213131&r2=213132&view=diff ============================================================================== --- cfe/trunk/lib/Driver/Tools.cpp (original) +++ cfe/trunk/lib/Driver/Tools.cpp Wed Jul 16 04:57:54 2014 @@ -1058,6 +1058,10 @@ static void getMIPSTargetFeatures(const "msa"); AddTargetFeature(Args, Features, options::OPT_mfp64, options::OPT_mfp32, "fp64"); + if (Args.getLastArg(options::OPT_mfpxx)) { + Features.push_back(Args.MakeArgString("+fpxx")); + Features.push_back(Args.MakeArgString("+nooddspreg")); + } AddTargetFeature(Args, Features, options::OPT_mno_odd_spreg, options::OPT_modd_spreg, "nooddspreg"); } Modified: cfe/trunk/test/Driver/mips-features.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/mips-features.c?rev=213132&r1=213131&r2=213132&view=diff ============================================================================== --- cfe/trunk/test/Driver/mips-features.c (original) +++ cfe/trunk/test/Driver/mips-features.c Wed Jul 16 04:57:54 2014 @@ -70,6 +70,18 @@ // RUN: | FileCheck --check-prefix=CHECK-NOMODDSPREG %s // CHECK-NOMODDSPREG: "-target-feature" "+nooddspreg" // +// -mfpxx +// RUN: %clang -target mips-linux-gnu -### -c %s -mfpxx 2>&1 \ +// RUN: | FileCheck --check-prefix=CHECK-MFPXX %s +// CHECK-MFPXX: "-target-feature" "+fpxx" +// CHECK-MFPXX: "-target-feature" "+nooddspreg" +// +// -mfpxx -modd-spreg +// RUN: %clang -target mips-linux-gnu -### -c %s -mfpxx -modd-spreg 2>&1 \ +// RUN: | FileCheck --check-prefix=CHECK-MFPXX-ODDSPREG %s +// CHECK-MFPXX-ODDSPREG: "-target-feature" "+fpxx" +// CHECK-MFPXX-ODDSPREG: "-target-feature" "-nooddspreg" +// // -mfp64 // RUN: %clang -target mips-linux-gnu -### -c %s \ // RUN: -mfp32 -mfp64 2>&1 \ _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
