Lines Matching refs:SHL

1094        ((N1.getOpcode() == ISD::SHL || N1.getOpcode() == ISD::MUL) &&  in reassociationCanBreakAddressingModePattern()
1101 (N1.getOpcode() == ISD::SHL in reassociationCanBreakAddressingModePattern()
1885 case ISD::SHL: return visitSHL(N); in visit()
2034 case ISD::SHL: in combine()
2451 if ((BinOpcode == ISD::SHL || BinOpcode == ISD::SRA || in foldBinOpIntoSelect()
3145 DAG.getNode(ISD::SHL, DL, VT, Y, N)); in visitADDLikeCommutative()
4082 if (N1.getOpcode() == ISD::SHL) { in visitSUB()
4375 return Matcher.getNode(ISD::SHL, DL, VT, N0, Trunc); in visitMUL()
4387 Matcher.getNode(ISD::SHL, DL, VT, N0, in visitMUL()
4445 DAG.getNode(ISD::SHL, DL, VT, N0, DAG.getConstant(ShAmt, DL, VT)); in visitMUL()
4448 DAG.getNode(ISD::SHL, DL, VT, N0, in visitMUL()
4458 if (sd_context_match(N0, Matcher, m_Opc(ISD::SHL))) { in visitMUL()
4460 if (SDValue C3 = DAG.FoldConstantArithmetic(ISD::SHL, DL, VT, {N1, N01})) in visitMUL()
4470 if (sd_context_match(N0, Matcher, m_OneUse(m_Opc(ISD::SHL))) && in visitMUL()
4473 } else if (sd_context_match(N1, Matcher, m_OneUse(m_Opc(ISD::SHL))) && in visitMUL()
4480 return Matcher.getNode(ISD::SHL, DL, VT, Mul, Sh.getOperand(1)); in visitMUL()
4925 if (N1.getOpcode() == ISD::SHL) { in visitUDIVLike()
5008 if ((N1.getOpcode() == ISD::SHL || N1.getOpcode() == ISD::SRL) && in visitREM()
5832 if ((HandOpcode == ISD::SHL || HandOpcode == ISD::SRL || in hoistLogicOpWithSameOpcodeHands()
6727 if (OuterShift == ISD::SHL) in unfoldExtremeBitClearingToShifts()
6730 InnerShift = ISD::SHL; in unfoldExtremeBitClearingToShifts()
6872 !(ShiftOpcode == ISD::SHL || ShiftOpcode == ISD::SRL || in foldLogicOfShifts()
7372 if (N1.getOpcode() == ISD::AND && N1.getOperand(0).getOpcode() == ISD::SHL) in MatchBSwapHWordLow()
7397 if (N0.getOpcode() == ISD::SRL && N1.getOpcode() == ISD::SHL) in MatchBSwapHWordLow()
7399 if (N0.getOpcode() != ISD::SHL || N1.getOpcode() != ISD::SRL) in MatchBSwapHWordLow()
7482 if (Opc != ISD::AND && Opc != ISD::SHL && Opc != ISD::SRL) in isBSwapHWordElement()
7487 if (Opc0 != ISD::AND && Opc0 != ISD::SHL && Opc0 != ISD::SRL) in isBSwapHWordElement()
7508 if (Opc == ISD::SRL || (Opc == ISD::AND && Opc0 == ISD::SHL)) { in isBSwapHWordElement()
7530 if (Opc0 != ISD::SHL) in isBSwapHWordElement()
7536 } else if (Opc == ISD::SHL) { in isBSwapHWordElement()
7603 if (Shift0.getOpcode() != ISD::SHL || Shift1.getOpcode() != ISD::SRL) in matchBSwapHWordOrAndAnd()
7683 DAG.getNode(ISD::SHL, DL, VT, BSwap, ShAmt), in MatchBSwapHWord()
7802 if (N0.getOpcode() == ISD::FSHL && N1.getOpcode() == ISD::SHL && in visitORCommutative()
7827 Hi = DAG.getNode(ISD::SHL, DL, VT, Hi, in visitORCommutative()
8031 if (Op.getOpcode() == ISD::SRL || Op.getOpcode() == ISD::SHL) { in matchRotateHalf()
8066 if (OppShift.getOpcode() != ISD::SHL && OppShift.getOpcode() != ISD::SRL) in extractShiftForRotate()
8085 return DAG.getNode(ISD::SHL, DL, ShiftedVT, OppShiftLHS, in extractShiftForRotate()
8105 if ((OppShift.getOpcode() != ISD::SRL || !SelectOpcode(ISD::SHL, ISD::MUL)) && in extractShiftForRotate()
8106 (OppShift.getOpcode() != ISD::SHL || !SelectOpcode(ISD::SRL, ISD::UDIV))) in extractShiftForRotate()
8371 if (IsBinOpImm(N0, ISD::SHL, 1) && in MatchFunnelPosNeg()
8470 if (RHSShift.getOpcode() == ISD::SHL) { in MatchRotate()
8477 if (LHSShift.getOpcode() != ISD::SHL || RHSShift.getOpcode() != ISD::SRL) in MatchRotate()
8503 SDValue LHSBits = DAG.getNode(ISD::SHL, DL, VT, AllOnes, LHSShiftAmt); in MatchRotate()
8542 SDValue ShlY = DAG.getNode(ISD::SHL, DL, VT, Y, LHSShiftAmt); in MatchRotate()
8720 case ISD::SHL: { in calculateByteProvider()
9256 !TLI.isOperationLegal(ISD::SHL, VT)) in MatchLoadCombine()
9280 NeedsZext ? DAG.getNode(ISD::SHL, SDLoc(N), VT, NewLoad, in MatchLoadCombine()
9583 if (TLI.isOperationLegalOrCustom(ISD::ROTL, VT) && N0Opcode == ISD::SHL && in visitXOR()
9723 if (N->getOpcode() != ISD::SHL) in visitShiftByConstant()
9732 bool IsShiftByConstant = (BinOpLHSVal.getOpcode() == ISD::SHL || in visitShiftByConstant()
9873 if (SDValue C = DAG.FoldConstantArithmetic(ISD::SHL, DL, VT, {N0, N1})) in visitSHL()
9894 DAG.FoldConstantArithmetic(ISD::SHL, DL, VT, {N01, N1})) in visitSHL()
9912 return DAG.getNode(ISD::SHL, DL, VT, N0, NewOp1); in visitSHL()
9916 if (N0.getOpcode() == ISD::SHL) { in visitSHL()
9936 return DAG.getNode(ISD::SHL, DL, VT, N0.getOperand(0), Sum); in visitSHL()
9948 N0.getOperand(0).getOpcode() == ISD::SHL) { in visitSHL()
9981 return DAG.getNode(ISD::SHL, DL, VT, Ext, Sum); in visitSHL()
10004 NewSHL = DAG.getNode(ISD::SHL, DL, N0Op0.getValueType(), N0Op0, NewSHL); in visitSHL()
10027 return DAG.getNode(ISD::SHL, DL, VT, N0.getOperand(0), Diff); in visitSHL()
10051 Mask = DAG.getNode(ISD::SHL, DL, VT, Mask, N01); in visitSHL()
10062 Mask = DAG.getNode(ISD::SHL, DL, VT, Mask, N1); in visitSHL()
10063 SDValue Shift = DAG.getNode(ISD::SHL, DL, VT, N0.getOperand(0), Diff); in visitSHL()
10073 SDValue HiBitsMask = DAG.getNode(ISD::SHL, DL, VT, AllBits, N1); in visitSHL()
10085 DAG.FoldConstantArithmetic(ISD::SHL, SDLoc(N1), VT, {N01, N1})) { in visitSHL()
10086 SDValue Shl0 = DAG.getNode(ISD::SHL, SDLoc(N0), VT, N0.getOperand(0), N1); in visitSHL()
10109 DAG.FoldConstantArithmetic(ISD::SHL, DL, VT, {ExtC, N1})) { in visitSHL()
10111 SDValue ShlX = DAG.getNode(ISD::SHL, DL, VT, ExtX, N1); in visitSHL()
10121 DAG.FoldConstantArithmetic(ISD::SHL, SDLoc(N1), VT, {N01, N1})) in visitSHL()
10386 if (N0.getOpcode() == ISD::SHL && N1C) { in visitSRA()
10428 if (Shl.getOpcode() == ISD::SHL && Shl.getOperand(1) == N1 && in visitSRA()
10611 if (N0.getOpcode() == ISD::SHL && in visitSRL()
10628 Mask = DAG.getNode(ISD::SHL, DL, VT, Mask, Diff); in visitSRL()
10629 SDValue Shift = DAG.getNode(ISD::SHL, DL, VT, N0.getOperand(0), Diff); in visitSRL()
10818 ISD::SHL, DL, VT, N0, in visitFunnelShift()
10870 return DAG.getNode(ISD::SHL, DL, VT, N0, N2); in visitFunnelShift()
10904 if (!LegalOperations || TLI.isOperationLegalOrCustom(ISD::SHL, VT)) { in visitSHLSAT()
10908 return DAG.getNode(ISD::SHL, DL, VT, N0, N1); in visitSHLSAT()
10914 return DAG.getNode(ISD::SHL, DL, VT, N0, N1); in visitSHLSAT()
11050 if (BW >= 32 && N0.getOpcode() == ISD::SHL && N0.hasOneUse()) { in visitBSWAP()
11060 Res = DAG.getNode(ISD::SHL, DL, VT, Res, in visitBSWAP()
11072 if ((N0.getOpcode() == ISD::SHL || N0.getOpcode() == ISD::SRL) && in visitBSWAP()
11078 unsigned InverseShift = N0.getOpcode() == ISD::SHL ? ISD::SRL : ISD::SHL; in visitBSWAP()
11105 if ((!LegalOperations || TLI.isOperationLegal(ISD::SHL, VT)) && in visitBITREVERSE()
11107 return DAG.getNode(ISD::SHL, DL, VT, X, Y); in visitBITREVERSE()
11187 if (N0.getOpcode() == ISD::SRL || N0.getOpcode() == ISD::SHL) { in visitCTPOP()
11194 (N0.getOpcode() == ISD::SHL && in visitCTPOP()
11474 return DAG.getNode(ISD::SHL, DL, VT, Cond, ShAmtC); in foldSelectOfConstants()
12260 return DAG.getNode(ISD::SHL, DL, VT, ZextCond, ShAmtC); in foldVSelectOfConstants()
12682 (B.getOpcode() == ISD::SRL || B.getOpcode() == ISD::SHL) && in visitSETCC()
12739 ShiftOpc == ISD::SHL ? (~*AndCMask).isMask() : AndCMask->isMask(); in visitSETCC()
12752 if (NewShiftOpc == ISD::SHL || NewShiftOpc == ISD::SRL) { in visitSETCC()
12754 NewShiftOpc == ISD::SHL in visitSETCC()
13147 if (!(N1.getOpcode() == ISD::SHL || N1.getOpcode() == ISD::SRL) || in CombineZExtLogicopShiftLoad()
13164 if (N1.getOpcode() == ISD::SHL && N0.getOpcode() != ISD::AND) in CombineZExtLogicopShiftLoad()
14110 if ((N0.getOpcode() == ISD::SHL || N0.getOpcode() == ISD::SRL) && in visitZERO_EXTEND()
14116 if (N0.getOpcode() == ISD::SHL) { in visitZERO_EXTEND()
14586 if (ShAmt == 0 && N0.getOpcode() == ISD::SHL && N0.hasOneUse() && in reduceLoadWidth()
14652 Result = DAG.getNode(ISD::SHL, DL, VT, Result, in reduceLoadWidth()
14662 Result = DAG.getNode(ISD::SHL, DL, VT, Result, ShiftC); in reduceLoadWidth()
15022 if (N0.getOpcode() == ISD::SHL && N0.hasOneUse() && in visitTRUNCATE()
15023 (!LegalOperations || TLI.isOperationLegal(ISD::SHL, VT)) && in visitTRUNCATE()
15024 TLI.isTypeDesirableForOp(ISD::SHL, VT)) { in visitTRUNCATE()
15035 return DAG.getNode(ISD::SHL, DL, VT, Trunc, Amt); in visitTRUNCATE()
16935 SDValue Shift = DAG.getNode(ISD::SHL, DL, NewIntVT, Log2, MantissaShiftCnt); in combineFMulOrFDivWithIntPow2()
21760 if (Op1.getOpcode() != ISD::SHL) { in splitMergedValStore()
21762 if (Op1.getOpcode() != ISD::SHL) in splitMergedValStore()
27707 SDValue Shl = DAG.getNode(ISD::SHL, SDLoc(N0), VT, AndLHS, ShlAmt); in SimplifySelectCC()
27760 ISD::SHL, DL, N2.getValueType(), Temp, in SimplifySelectCC()
27990 if (Op.getOpcode() == ISD::SHL) { in takeInexpensiveLog2()