forked from OSchip/llvm-project
MIPS: Add -mips16 / -mno-mips16 command line support.
llvm-svn: 159747
This commit is contained in:
parent
1088676476
commit
6f23fa0f18
|
@ -846,6 +846,8 @@ def mbmi : Flag<"-mbmi">, Group<m_x86_Features_Group>;
|
|||
def mbmi2 : Flag<"-mbmi2">, Group<m_x86_Features_Group>;
|
||||
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 mthumb : Flag<"-mthumb">, Group<m_Group>;
|
||||
def mtune_EQ : Joined<"-mtune=">, Group<m_Group>;
|
||||
def multi__module : Flag<"-multi_module">;
|
||||
|
|
|
@ -3708,7 +3708,8 @@ public:
|
|||
if (Name == "soft-float" || Name == "single-float" ||
|
||||
Name == "o32" || Name == "n32" || Name == "n64" || Name == "eabi" ||
|
||||
Name == "mips32" || Name == "mips32r2" ||
|
||||
Name == "mips64" || Name == "mips64r2") {
|
||||
Name == "mips64" || Name == "mips64r2" ||
|
||||
Name == "mips16") {
|
||||
Features[Name] = Enabled;
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -919,6 +919,15 @@ void Clang::AddMIPSTargetArgs(const ArgList &Args,
|
|||
CmdArgs.push_back("-mfloat-abi");
|
||||
CmdArgs.push_back("hard");
|
||||
}
|
||||
|
||||
if (Arg *A = Args.getLastArg(options::OPT_mips16,
|
||||
options::OPT_mno_mips16)) {
|
||||
CmdArgs.push_back("-target-feature");
|
||||
if (A->getOption().matches(options::OPT_mips16))
|
||||
CmdArgs.push_back("+mips16");
|
||||
else
|
||||
CmdArgs.push_back("-mips16");
|
||||
}
|
||||
}
|
||||
|
||||
/// getPPCTargetCPU - Get the (LLVM) name of the PowerPC cpu we are targeting.
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
// Check handling MIPS specific features options.
|
||||
//
|
||||
// -mips16
|
||||
// RUN: %clang -target mips-linux-gnu -### -c %s \
|
||||
// RUN: -mno-mips16 -mips16 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-MIPS16 %s
|
||||
// CHECK-MIPS16: "-target-feature" "+mips16"
|
||||
//
|
||||
// -mno-mips16
|
||||
// RUN: %clang -target mips-linux-gnu -### -c %s \
|
||||
// RUN: -mips16 -mno-mips16 2>&1 \
|
||||
// RUN: | FileCheck --check-prefix=CHECK-NOMIPS16 %s
|
||||
// CHECK-NOMIPS16: "-target-feature" "-mips16"
|
Loading…
Reference in New Issue