Do not select the operands being passed into SelectCC. IT does this itself
and selecting early prevents folding immediates into the cmpw* instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23188 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Target/PowerPC/PPCISelDAGToDAG.cpp b/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
index 082c876..d8d0700 100644
--- a/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
+++ b/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
@@ -1344,8 +1344,7 @@
bool Inv;
unsigned Idx = getCRIdxForSetCC(CC, Inv);
- SDOperand CCReg =
- SelectCC(Select(N->getOperand(0)), Select(N->getOperand(1)), CC);
+ SDOperand CCReg = SelectCC(N->getOperand(0), N->getOperand(1), CC);
SDOperand IntCR;
// Force the ccreg into CR7.
@@ -1396,8 +1395,7 @@
break;
}
- SDOperand CCReg = SelectCC(Select(N->getOperand(0)),
- Select(N->getOperand(1)), CC);
+ SDOperand CCReg = SelectCC(N->getOperand(0), N->getOperand(1), CC);
unsigned BROpc = getBCCForSetCC(CC);
bool isFP = MVT::isFloatingPoint(N->getValueType(0));