switch (CCCode) {
default: llvm_unreachable("Unknown integer comparison!");
case ISD::SETEQ:
- case ISD::SETNE: {
- SDValue OpL, OpR;
-
- OpL = GetPromotedInteger(NewLHS);
- OpR = GetPromotedInteger(NewRHS);
-
- // We would prefer to promote the comparison operand with sign extension,
- // if we find the operand is actually to truncate an AssertSext. With this
- // optimization, we can avoid inserting real truncate instruction, which
- // is redudant eventually.
- if (OpL->getOpcode() == ISD::AssertSext &&
- cast<VTSDNode>(OpL->getOperand(1))->getVT() == NewLHS.getValueType() &&
- OpR->getOpcode() == ISD::AssertSext &&
- cast<VTSDNode>(OpR->getOperand(1))->getVT() == NewRHS.getValueType()) {
- NewLHS = OpL;
- NewRHS = OpR;
- } else {
- NewLHS = ZExtPromotedInteger(NewLHS);
- NewRHS = ZExtPromotedInteger(NewRHS);
- }
- break;
- }
+ case ISD::SETNE:
case ISD::SETUGE:
case ISD::SETUGT:
case ISD::SETULE: