Fix r93758. Use isel patterns instead of c++ selection code to select rbit and make sure we pick different instructions for ARM vs. Thumb2.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93829 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Evan Cheng
2010-01-19 00:44:15 +00:00
parent f06c28aac4
commit f609bb8466
3 changed files with 7 additions and 8 deletions

View File

@@ -1680,12 +1680,6 @@ SDNode *ARMDAGToDAGISel::Select(SDNode *N) {
return CurDAG->getMachineNode(ARM::VMOVRRD, dl, MVT::i32, MVT::i32,
N->getOperand(0), getAL(CurDAG),
CurDAG->getRegister(0, MVT::i32));
case ARMISD::RBIT: {
EVT VT = N->getValueType(0);
SDValue Ops[] = { N->getOperand(0),
getAL(CurDAG), CurDAG->getRegister(0, MVT::i32) };
return CurDAG->getMachineNode(ARM::RBIT, dl, VT, Ops, 3);
}
case ISD::UMUL_LOHI: {
if (Subtarget->isThumb1Only())
break;