summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
diff options
context:
space:
mode:
authorHal Finkel <hfinkel@anl.gov>2015-10-28 22:25:52 +0000
committerHal Finkel <hfinkel@anl.gov>2015-10-28 22:25:52 +0000
commit34d4149452225e61e14ba346dde223183f617658 (patch)
treeef5650fec6101236f52d2a6452d478b9ee456959 /llvm/lib/Target/PowerPC/PPCISelLowering.cpp
parentb9ad4e60638131f4d68c18f128bf44ccec2cd77c (diff)
downloadbcm5719-llvm-34d4149452225e61e14ba346dde223183f617658.tar.gz
bcm5719-llvm-34d4149452225e61e14ba346dde223183f617658.zip
[PowerPC] Cleanly reject asm crbit constraint with -crbits
When crbits are disabled, cleanly reject the constraint (return the register class only to cause an assert later). llvm-svn: 251566
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCISelLowering.cpp')
-rw-r--r--llvm/lib/Target/PowerPC/PPCISelLowering.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCISelLowering.cpp b/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
index b1f87831860..ce6f3a6e75d 100644
--- a/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
+++ b/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
@@ -10927,7 +10927,8 @@ PPCTargetLowering::getRegForInlineAsmConstraint(const TargetRegisterInfo *TRI,
case 'y': // crrc
return std::make_pair(0U, &PPC::CRRCRegClass);
}
- } else if (Constraint == "wc") { // an individual CR bit.
+ } else if (Constraint == "wc" && Subtarget.useCRBits()) {
+ // An individual CR bit.
return std::make_pair(0U, &PPC::CRBITRCRegClass);
} else if (Constraint == "wa" || Constraint == "wd" ||
Constraint == "wf") {
OpenPOWER on IntegriCloud