Lines Matching defs:SHL
612 if (C1->getSExtValue() != 0 || Sub_1.getOpcode() != ISD::SHL)
1033 case ISD::SHL: return SelectSHL(N);
1186 if (T1.getOpcode() != ISD::SHL)
1211 SDValue NewShl = DAG.getNode(ISD::SHL, DL, VT, NewAdd, C);
1287 SDValue NewShl = DAG.getNode(ISD::SHL, dl, VT, NewSrl, DC);
1773 case ISD::SHL:
1882 /// Search for a SHL(x, [<=MaxAmount]) subtree in the queue, return the one of
1900 if (Val.getOpcode() != ISD::SHL ||
1967 if (Val.getOpcode() == ISD::SHL) {
1986 } else if (V.getOpcode() == ISD::SHL) {
2007 } else if (V.getOpcode() == ISD::SHL) {
2097 // SHL nodes will be converted to MUL nodes
2098 if (NOpcode == ISD::SHL)
2110 ((isOpcodeHandled(Op0.getNode()) && Op0.getOpcode() == ISD::SHL &&
2112 (isOpcodeHandled(Op1.getNode()) && Op1.getOpcode() == ISD::SHL &&
2146 (Child.getOpcode() == ISD::MUL || Child.getOpcode() == ISD::SHL) &&
2148 // Try to identify two factorizable MUL/SHL children greedily. Leave
2182 (NOpcode == ISD::MUL && ChildOpcode == ISD::SHL));
2184 // Convert SHL to MUL
2186 if (ChildOpcode == ISD::SHL)
2212 // Transform MUL(x, C * 2^Y) + SHL(z, Y) -> SHL(ADD(MUL(x, C), z), Y)
2225 SDValue New = CurDAG->getNode(ISD::SHL, SDLoc(N), Mul1.Value.getValueType(),
2277 // Combine GA + SHL(x, C<=31) so we will match Rx=add(#u8,asl(Rx,#U5))
2279 WeightedLeaf SHL = Leaves.findSHL(31);
2280 if (SHL.Value.getNode()) {
2281 int Height = std::max(NodeHeights[GA.Value], NodeHeights[SHL.Value]) + 1;
2284 GA.Value, SHL.Value);
2285 GA.Weight = SHL.Weight; // Specifically ignore the GA weight here
2342 // Rebuild this node (and restore SHL from MUL if needed)
2345 ISD::SHL, SDLoc(V0), VT, V0,
2368 // Restore SHL if we earlier converted it to a MUL
2375 ISD::SHL, SDLoc(NewRoot), VT, V0,