forked from OSchip/llvm-project
Add support for gcc-compatible -mfprnd -mno-fprnd PPC options
gcc provides -mfprnd and -mno-fprnd for controlling the fprnd target feature; support these options as well. llvm-svn: 178414
This commit is contained in:
parent
06c44dce73
commit
7d4585973a
|
@ -834,6 +834,8 @@ def mabi_EQ : Joined<["-"], "mabi=">, Group<m_Group>;
|
|||
def march_EQ : Joined<["-"], "march=">, Group<m_Group>;
|
||||
def maltivec : Flag<["-"], "maltivec">, Alias<faltivec>;
|
||||
def mno_altivec : Flag<["-"], "mno-altivec">, Alias<fno_altivec>;
|
||||
def mfprnd : Flag<["-"], "mfprnd">, Group<m_Group>;
|
||||
def mno_fprnd : Flag<["-"], "mno-fprnd">, Group<m_Group>;
|
||||
def mmfcrf : Flag<["-"], "mmfcrf">, Group<m_Group>;
|
||||
def mno_mfcrf : Flag<["-"], "mno-mfcrf">, Group<m_Group>;
|
||||
def mpopcntd : Flag<["-"], "mpopcntd">, Group<m_Group>;
|
||||
|
|
|
@ -1029,8 +1029,8 @@ void PPCTargetInfo::getDefaultFeatures(llvm::StringMap<bool> &Features) const {
|
|||
bool PPCTargetInfo::setFeatureEnabled(llvm::StringMap<bool> &Features,
|
||||
StringRef Name,
|
||||
bool Enabled) const {
|
||||
if (Name == "altivec" || Name == "mfocrf" || Name == "popcntd" ||
|
||||
Name == "qpx") {
|
||||
if (Name == "altivec" || Name == "fprnd" || Name == "mfocrf" ||
|
||||
Name == "popcntd" || Name == "qpx") {
|
||||
Features[Name] = Enabled;
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -1101,6 +1101,10 @@ void Clang::AddPPCTargetArgs(const ArgList &Args,
|
|||
options::OPT_faltivec, options::OPT_fno_altivec,
|
||||
"altivec");
|
||||
|
||||
AddTargetFeature(Args, CmdArgs,
|
||||
options::OPT_mfprnd, options::OPT_mno_fprnd,
|
||||
"fprnd");
|
||||
|
||||
// Note that gcc calls this mfcrf and LLVM calls this mfocrf.
|
||||
AddTargetFeature(Args, CmdArgs,
|
||||
options::OPT_mmfcrf, options::OPT_mno_mfcrf,
|
||||
|
|
|
@ -80,3 +80,9 @@
|
|||
// RUN: %clang -target powerpc64-unknown-linux-gnu %s -mno-popcntd -mpopcntd -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK-POPCNTD %s
|
||||
// CHECK-POPCNTD: "-target-feature" "+popcntd"
|
||||
|
||||
// RUN: %clang -target powerpc64-unknown-linux-gnu %s -mno-fprnd -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK-NOFPRND %s
|
||||
// CHECK-NOFPRND: "-target-feature" "-fprnd"
|
||||
|
||||
// RUN: %clang -target powerpc64-unknown-linux-gnu %s -mno-fprnd -mfprnd -### -o %t.o 2>&1 | FileCheck -check-prefix=CHECK-FPRND %s
|
||||
// CHECK-FPRND: "-target-feature" "+fprnd"
|
||||
|
||||
|
|
Loading…
Reference in New Issue