+
+ if (Opc == ISD::SRL && ShiftAmount) {
+ // Emit a special goodness here:
+ // srl A, 1 => clrc; rrc A
+ SDValue clrc = DAG.getNode(MSP430ISD::CLRC, dl, MVT::Other);
+ Victim = DAG.getNode(MSP430ISD::RRC, dl, VT, Victim, clrc);
+ ShiftAmount -= 1;
+ }
+