diff options
author | Hal Finkel <hfinkel@anl.gov> | 2013-03-28 13:51:36 +0000 |
---|---|---|
committer | Hal Finkel <hfinkel@anl.gov> | 2013-03-28 13:51:36 +0000 |
commit | 1fe8b3dd4b99b4782c093720ee50a84664a69e86 (patch) | |
tree | 10d49b8c3950d7ce849efe86e922c039decb2569 /clang/lib | |
parent | 584da4043ea7762612fb1ac0a4d36f1fffe27a12 (diff) | |
download | bcm5719-llvm-1fe8b3dd4b99b4782c093720ee50a84664a69e86.tar.gz bcm5719-llvm-1fe8b3dd4b99b4782c093720ee50a84664a69e86.zip |
Add support for gcc-compatible -mpopcntd -mno-popcntd PPC options
gcc provides -mpopcntd and -mno-popcntd for controlling the popcntd target
feature; support these options as well.
llvm-svn: 178235
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/Basic/Targets.cpp | 3 | ||||
-rw-r--r-- | clang/lib/Driver/Tools.cpp | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 8dc9b20f4cb..4ca8fbf7736 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -1029,7 +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 == "qpx") { + if (Name == "altivec" || Name == "mfocrf" || Name == "popcntd" || + Name == "qpx") { Features[Name] = Enabled; return true; } diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 1c455eda4af..578651fd801 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -1106,6 +1106,10 @@ void Clang::AddPPCTargetArgs(const ArgList &Args, options::OPT_mmfcrf, options::OPT_mno_mfcrf, "mfocrf"); + AddTargetFeature(Args, CmdArgs, + options::OPT_mpopcntd, options::OPT_mno_popcntd, + "popcntd"); + // It is really only possible to turn qpx off because turning qpx on is tied // to using the a2q CPU. if (Args.hasFlag(options::OPT_mno_qpx, options::OPT_mqpx, false)) { |