Lines Matching refs:II

764                                                    IntrinsicInst &II) {  in processPhiNode()  argument
766 auto RequiredType = II.getType(); in processPhiNode()
768 auto *PN = dyn_cast<PHINode>(II.getArgOperand(0)); in processPhiNode()
796 return IC.replaceInstUsesWith(II, NPN); in processPhiNode()
809 tryCombineFromSVBoolBinOp(InstCombiner &IC, IntrinsicInst &II) { in tryCombineFromSVBoolBinOp() argument
810 auto BinOp = dyn_cast<IntrinsicInst>(II.getOperand(0)); in tryCombineFromSVBoolBinOp()
839 if (PredOpTy != II.getType()) in tryCombineFromSVBoolBinOp()
854 return IC.replaceInstUsesWith(II, NarrowedBinOp); in tryCombineFromSVBoolBinOp()
858 instCombineConvertFromSVBool(InstCombiner &IC, IntrinsicInst &II) { in instCombineConvertFromSVBool() argument
860 if (isa<PHINode>(II.getArgOperand(0))) in instCombineConvertFromSVBool()
861 return processPhiNode(IC, II); in instCombineConvertFromSVBool()
863 if (auto BinOpCombine = tryCombineFromSVBoolBinOp(IC, II)) in instCombineConvertFromSVBool()
867 if (isa<TargetExtType>(II.getArgOperand(0)->getType()) || in instCombineConvertFromSVBool()
868 isa<TargetExtType>(II.getType())) in instCombineConvertFromSVBool()
872 Value *Cursor = II.getOperand(0), *EarliestReplacement = nullptr; in instCombineConvertFromSVBool()
874 const auto *IVTy = cast<VectorType>(II.getType()); in instCombineConvertFromSVBool()
907 return IC.replaceInstUsesWith(II, EarliestReplacement); in instCombineConvertFromSVBool()
927 IntrinsicInst &II) { in instCombineSVESel() argument
929 auto *OpPredicate = II.getOperand(0); in instCombineSVESel()
931 return IC.replaceInstUsesWith(II, II.getOperand(1)); in instCombineSVESel()
934 IC.Builder.CreateSelect(OpPredicate, II.getOperand(1), II.getOperand(2)); in instCombineSVESel()
935 return IC.replaceInstUsesWith(II, Select); in instCombineSVESel()
939 IntrinsicInst &II) { in instCombineSVEDup() argument
940 IntrinsicInst *Pg = dyn_cast<IntrinsicInst>(II.getArgOperand(1)); in instCombineSVEDup()
953 auto *IdxTy = Type::getInt64Ty(II.getContext()); in instCombineSVEDup()
955 II.getArgOperand(0), II.getArgOperand(2), ConstantInt::get(IdxTy, 0)); in instCombineSVEDup()
956 Insert->insertBefore(&II); in instCombineSVEDup()
957 Insert->takeName(&II); in instCombineSVEDup()
959 return IC.replaceInstUsesWith(II, Insert); in instCombineSVEDup()
963 IntrinsicInst &II) { in instCombineSVEDupX() argument
965 auto *RetTy = cast<ScalableVectorType>(II.getType()); in instCombineSVEDupX()
967 II.getArgOperand(0)); in instCombineSVEDupX()
968 Splat->takeName(&II); in instCombineSVEDupX()
969 return IC.replaceInstUsesWith(II, Splat); in instCombineSVEDupX()
973 IntrinsicInst &II) { in instCombineSVECmpNE() argument
974 LLVMContext &Ctx = II.getContext(); in instCombineSVECmpNE()
977 auto *Pg = dyn_cast<IntrinsicInst>(II.getArgOperand(0)); in instCombineSVECmpNE()
988 dyn_cast_or_null<ConstantInt>(getSplatValue(II.getArgOperand(2))); in instCombineSVECmpNE()
993 auto *DupQLane = dyn_cast<IntrinsicInst>(II.getArgOperand(1)); in instCombineSVECmpNE()
1019 auto *OutTy = dyn_cast<ScalableVectorType>(II.getType()); in instCombineSVECmpNE()
1037 auto *PFalse = Constant::getNullValue(II.getType()); in instCombineSVECmpNE()
1038 PFalse->takeName(&II); in instCombineSVECmpNE()
1039 return IC.replaceInstUsesWith(II, PFalse); in instCombineSVECmpNE()
1065 {II.getType()}, {ConvertToSVBool}); in instCombineSVECmpNE()
1067 ConvertFromSVBool->takeName(&II); in instCombineSVECmpNE()
1068 return IC.replaceInstUsesWith(II, ConvertFromSVBool); in instCombineSVECmpNE()
1072 IntrinsicInst &II) { in instCombineSVELast() argument
1073 Value *Pg = II.getArgOperand(0); in instCombineSVELast()
1074 Value *Vec = II.getArgOperand(1); in instCombineSVELast()
1075 auto IntrinsicID = II.getIntrinsicID(); in instCombineSVELast()
1080 return IC.replaceInstUsesWith(II, SplatVal); in instCombineSVELast()
1094 OpC, NewLHS, NewRHS, OldBinOp, OldBinOp->getName(), &II); in instCombineSVELast()
1095 return IC.replaceInstUsesWith(II, NewBinOp); in instCombineSVELast()
1102 auto *IdxTy = Type::getInt64Ty(II.getContext()); in instCombineSVELast()
1104 Extract->insertBefore(&II); in instCombineSVELast()
1105 Extract->takeName(&II); in instCombineSVELast()
1106 return IC.replaceInstUsesWith(II, Extract); in instCombineSVELast()
1138 auto *IdxTy = Type::getInt64Ty(II.getContext()); in instCombineSVELast()
1140 Extract->insertBefore(&II); in instCombineSVELast()
1141 Extract->takeName(&II); in instCombineSVELast()
1142 return IC.replaceInstUsesWith(II, Extract); in instCombineSVELast()
1146 IntrinsicInst &II) { in instCombineSVECondLast() argument
1154 Value *Pg = II.getArgOperand(0); in instCombineSVECondLast()
1155 Value *Fallback = II.getArgOperand(1); in instCombineSVECondLast()
1156 Value *Vec = II.getArgOperand(2); in instCombineSVECondLast()
1157 Type *Ty = II.getType(); in instCombineSVECondLast()
1182 II.getIntrinsicID(), {FPVec->getType()}, {Pg, FPFallBack, FPVec}); in instCombineSVECondLast()
1183 Value *FPIItoInt = IC.Builder.CreateBitCast(FPII, II.getType()); in instCombineSVECondLast()
1184 return IC.replaceInstUsesWith(II, FPIItoInt); in instCombineSVECondLast()
1188 IntrinsicInst &II) { in instCombineRDFFR() argument
1189 LLVMContext &Ctx = II.getContext(); in instCombineRDFFR()
1195 {II.getType()}, {AllPat}); in instCombineRDFFR()
1198 RDFFR->takeName(&II); in instCombineRDFFR()
1199 return IC.replaceInstUsesWith(II, RDFFR); in instCombineRDFFR()
1203 instCombineSVECntElts(InstCombiner &IC, IntrinsicInst &II, unsigned NumElts) { in instCombineSVECntElts() argument
1204 const auto Pattern = cast<ConstantInt>(II.getArgOperand(0))->getZExtValue(); in instCombineSVECntElts()
1207 Constant *StepVal = ConstantInt::get(II.getType(), NumElts); in instCombineSVECntElts()
1209 VScale->takeName(&II); in instCombineSVECntElts()
1210 return IC.replaceInstUsesWith(II, VScale); in instCombineSVECntElts()
1217 II, ConstantInt::get(II.getType(), MinNumElts))) in instCombineSVECntElts()
1222 IntrinsicInst &II) { in instCombineSVEPTest() argument
1223 Value *PgVal = II.getArgOperand(0); in instCombineSVEPTest()
1224 Value *OpVal = II.getArgOperand(1); in instCombineSVEPTest()
1229 (II.getIntrinsicID() == Intrinsic::aarch64_sve_ptest_first || in instCombineSVEPTest()
1230 II.getIntrinsicID() == Intrinsic::aarch64_sve_ptest_last)) { in instCombineSVEPTest()
1236 PTest->takeName(&II); in instCombineSVEPTest()
1238 return IC.replaceInstUsesWith(II, PTest); in instCombineSVEPTest()
1255 auto *PTest = IC.Builder.CreateIntrinsic(II.getIntrinsicID(), Tys, Ops); in instCombineSVEPTest()
1257 PTest->takeName(&II); in instCombineSVEPTest()
1258 return IC.replaceInstUsesWith(II, PTest); in instCombineSVEPTest()
1264 if ((Pg == Op) && (II.getIntrinsicID() == Intrinsic::aarch64_sve_ptest_any) && in instCombineSVEPTest()
1280 auto *PTest = IC.Builder.CreateIntrinsic(II.getIntrinsicID(), Tys, Ops); in instCombineSVEPTest()
1281 PTest->takeName(&II); in instCombineSVEPTest()
1283 return IC.replaceInstUsesWith(II, PTest); in instCombineSVEPTest()
1291 instCombineSVEVectorFuseMulAddSub(InstCombiner &IC, IntrinsicInst &II, in instCombineSVEVectorFuseMulAddSub() argument
1293 Value *P = II.getOperand(0); in instCombineSVEVectorFuseMulAddSub()
1296 AddendOp = II.getOperand(1); in instCombineSVEVectorFuseMulAddSub()
1297 Mul = II.getOperand(2); in instCombineSVEVectorFuseMulAddSub()
1299 AddendOp = II.getOperand(2); in instCombineSVEVectorFuseMulAddSub()
1300 Mul = II.getOperand(1); in instCombineSVEVectorFuseMulAddSub()
1311 if (II.getType()->isFPOrFPVectorTy()) { in instCombineSVEVectorFuseMulAddSub()
1312 llvm::FastMathFlags FAddFlags = II.getFastMathFlags(); in instCombineSVEVectorFuseMulAddSub()
1319 FMFSource = &II; in instCombineSVEVectorFuseMulAddSub()
1324 Res = IC.Builder.CreateIntrinsic(FuseOpc, {II.getType()}, in instCombineSVEVectorFuseMulAddSub()
1327 Res = IC.Builder.CreateIntrinsic(FuseOpc, {II.getType()}, in instCombineSVEVectorFuseMulAddSub()
1330 return IC.replaceInstUsesWith(II, Res); in instCombineSVEVectorFuseMulAddSub()
1334 instCombineSVELD1(InstCombiner &IC, IntrinsicInst &II, const DataLayout &DL) { in instCombineSVELD1() argument
1335 Value *Pred = II.getOperand(0); in instCombineSVELD1()
1336 Value *PtrOp = II.getOperand(1); in instCombineSVELD1()
1337 Type *VecTy = II.getType(); in instCombineSVELD1()
1341 Load->copyMetadata(II); in instCombineSVELD1()
1342 return IC.replaceInstUsesWith(II, Load); in instCombineSVELD1()
1348 MaskedLoad->copyMetadata(II); in instCombineSVELD1()
1349 return IC.replaceInstUsesWith(II, MaskedLoad); in instCombineSVELD1()
1353 instCombineSVEST1(InstCombiner &IC, IntrinsicInst &II, const DataLayout &DL) { in instCombineSVEST1() argument
1354 Value *VecOp = II.getOperand(0); in instCombineSVEST1()
1355 Value *Pred = II.getOperand(1); in instCombineSVEST1()
1356 Value *PtrOp = II.getOperand(2); in instCombineSVEST1()
1360 Store->copyMetadata(II); in instCombineSVEST1()
1361 return IC.eraseInstFromFunction(II); in instCombineSVEST1()
1366 MaskedStore->copyMetadata(II); in instCombineSVEST1()
1367 return IC.eraseInstFromFunction(II); in instCombineSVEST1()
1384 instCombineSVEVectorBinOp(InstCombiner &IC, IntrinsicInst &II) { in instCombineSVEVectorBinOp() argument
1386 if (II.isStrictFP()) in instCombineSVEVectorBinOp()
1389 auto *OpPredicate = II.getOperand(0); in instCombineSVEVectorBinOp()
1390 auto BinOpCode = intrinsicIDToBinOpCode(II.getIntrinsicID()); in instCombineSVEVectorBinOp()
1396 IC.Builder.setFastMathFlags(II.getFastMathFlags()); in instCombineSVEVectorBinOp()
1398 IC.Builder.CreateBinOp(BinOpCode, II.getOperand(1), II.getOperand(2)); in instCombineSVEVectorBinOp()
1399 return IC.replaceInstUsesWith(II, BinOp); in instCombineSVEVectorBinOp()
1404 static std::optional<Instruction *> instCombineSVEAllActive(IntrinsicInst &II, in instCombineSVEAllActive() argument
1406 auto *OpPredicate = II.getOperand(0); in instCombineSVEAllActive()
1411 auto *Mod = II.getModule(); in instCombineSVEAllActive()
1412 auto *NewDecl = Intrinsic::getDeclaration(Mod, IID, {II.getType()}); in instCombineSVEAllActive()
1413 II.setCalledFunction(NewDecl); in instCombineSVEAllActive()
1415 return &II; in instCombineSVEAllActive()
1421 instCombineSVEAllOrNoActive(InstCombiner &IC, IntrinsicInst &II, in instCombineSVEAllOrNoActive() argument
1423 if (match(II.getOperand(0), m_ZeroInt())) { in instCombineSVEAllOrNoActive()
1426 return IC.replaceInstUsesWith(II, II.getOperand(1)); in instCombineSVEAllOrNoActive()
1428 return instCombineSVEAllActive(II, IID); in instCombineSVEAllOrNoActive()
1432 IntrinsicInst &II) { in instCombineSVEVectorAdd() argument
1434 instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_add_u)) in instCombineSVEVectorAdd()
1438 IC, II, true)) in instCombineSVEVectorAdd()
1442 IC, II, false)) in instCombineSVEVectorAdd()
1448 instCombineSVEVectorFAdd(InstCombiner &IC, IntrinsicInst &II) { in instCombineSVEVectorFAdd() argument
1450 instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_fadd_u)) in instCombineSVEVectorFAdd()
1454 Intrinsic::aarch64_sve_fmla>(IC, II, in instCombineSVEVectorFAdd()
1459 Intrinsic::aarch64_sve_fmad>(IC, II, in instCombineSVEVectorFAdd()
1464 Intrinsic::aarch64_sve_fmla>(IC, II, in instCombineSVEVectorFAdd()
1471 instCombineSVEVectorFAddU(InstCombiner &IC, IntrinsicInst &II) { in instCombineSVEVectorFAddU() argument
1474 Intrinsic::aarch64_sve_fmla>(IC, II, in instCombineSVEVectorFAddU()
1479 Intrinsic::aarch64_sve_fmad>(IC, II, in instCombineSVEVectorFAddU()
1485 IC, II, true)) in instCombineSVEVectorFAddU()
1487 return instCombineSVEVectorBinOp(IC, II); in instCombineSVEVectorFAddU()
1491 instCombineSVEVectorFSub(InstCombiner &IC, IntrinsicInst &II) { in instCombineSVEVectorFSub() argument
1493 instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_fsub_u)) in instCombineSVEVectorFSub()
1497 Intrinsic::aarch64_sve_fmls>(IC, II, in instCombineSVEVectorFSub()
1503 IC, II, false)) in instCombineSVEVectorFSub()
1507 Intrinsic::aarch64_sve_fmls>(IC, II, in instCombineSVEVectorFSub()
1514 instCombineSVEVectorFSubU(InstCombiner &IC, IntrinsicInst &II) { in instCombineSVEVectorFSubU() argument
1517 Intrinsic::aarch64_sve_fmls>(IC, II, in instCombineSVEVectorFSubU()
1523 IC, II, false)) in instCombineSVEVectorFSubU()
1528 IC, II, true)) in instCombineSVEVectorFSubU()
1530 return instCombineSVEVectorBinOp(IC, II); in instCombineSVEVectorFSubU()
1534 IntrinsicInst &II) { in instCombineSVEVectorSub() argument
1536 instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_sub_u)) in instCombineSVEVectorSub()
1540 IC, II, true)) in instCombineSVEVectorSub()
1546 IntrinsicInst &II, in instCombineSVEVectorMul() argument
1548 auto *OpPredicate = II.getOperand(0); in instCombineSVEVectorMul()
1549 auto *OpMultiplicand = II.getOperand(1); in instCombineSVEVectorMul()
1550 auto *OpMultiplier = II.getOperand(2); in instCombineSVEVectorMul()
1573 OpMultiplicand->takeName(&II); in instCombineSVEVectorMul()
1574 return IC.replaceInstUsesWith(II, OpMultiplicand); in instCombineSVEVectorMul()
1582 OpMultiplicand->takeName(&II); in instCombineSVEVectorMul()
1583 return IC.replaceInstUsesWith(II, OpMultiplicand); in instCombineSVEVectorMul()
1587 return instCombineSVEVectorBinOp(IC, II); in instCombineSVEVectorMul()
1591 IntrinsicInst &II) { in instCombineSVEUnpack() argument
1592 Value *UnpackArg = II.getArgOperand(0); in instCombineSVEUnpack()
1593 auto *RetTy = cast<ScalableVectorType>(II.getType()); in instCombineSVEUnpack()
1594 bool IsSigned = II.getIntrinsicID() == Intrinsic::aarch64_sve_sunpkhi || in instCombineSVEUnpack()
1595 II.getIntrinsicID() == Intrinsic::aarch64_sve_sunpklo; in instCombineSVEUnpack()
1604 NewVal->takeName(&II); in instCombineSVEUnpack()
1605 return IC.replaceInstUsesWith(II, NewVal); in instCombineSVEUnpack()
1611 IntrinsicInst &II) { in instCombineSVETBL() argument
1612 auto *OpVal = II.getOperand(0); in instCombineSVETBL()
1613 auto *OpIndices = II.getOperand(1); in instCombineSVETBL()
1614 VectorType *VTy = cast<VectorType>(II.getType()); in instCombineSVETBL()
1629 VectorSplat->takeName(&II); in instCombineSVETBL()
1630 return IC.replaceInstUsesWith(II, VectorSplat); in instCombineSVETBL()
1634 IntrinsicInst &II) { in instCombineSVEZip() argument
1638 if (match(II.getArgOperand(0), in instCombineSVEZip()
1640 match(II.getArgOperand(1), m_Intrinsic<Intrinsic::aarch64_sve_uzp2>( in instCombineSVEZip()
1643 II, (II.getIntrinsicID() == Intrinsic::aarch64_sve_zip1 ? A : B)); in instCombineSVEZip()
1649 instCombineLD1GatherIndex(InstCombiner &IC, IntrinsicInst &II) { in instCombineLD1GatherIndex() argument
1650 Value *Mask = II.getOperand(0); in instCombineLD1GatherIndex()
1651 Value *BasePtr = II.getOperand(1); in instCombineLD1GatherIndex()
1652 Value *Index = II.getOperand(2); in instCombineLD1GatherIndex()
1653 Type *Ty = II.getType(); in instCombineLD1GatherIndex()
1663 BasePtr->getPointerAlignment(II.getModule()->getDataLayout()); in instCombineLD1GatherIndex()
1671 MaskedLoad->takeName(&II); in instCombineLD1GatherIndex()
1672 return IC.replaceInstUsesWith(II, MaskedLoad); in instCombineLD1GatherIndex()
1679 instCombineST1ScatterIndex(InstCombiner &IC, IntrinsicInst &II) { in instCombineST1ScatterIndex() argument
1680 Value *Val = II.getOperand(0); in instCombineST1ScatterIndex()
1681 Value *Mask = II.getOperand(1); in instCombineST1ScatterIndex()
1682 Value *BasePtr = II.getOperand(2); in instCombineST1ScatterIndex()
1683 Value *Index = II.getOperand(3); in instCombineST1ScatterIndex()
1693 BasePtr->getPointerAlignment(II.getModule()->getDataLayout()); in instCombineST1ScatterIndex()
1702 return IC.eraseInstFromFunction(II); in instCombineST1ScatterIndex()
1709 IntrinsicInst &II) { in instCombineSVESDIV() argument
1711 Value *Pred = II.getOperand(0); in instCombineSVESDIV()
1712 Value *Vec = II.getOperand(1); in instCombineSVESDIV()
1713 Value *DivVec = II.getOperand(2); in instCombineSVESDIV()
1724 Intrinsic::aarch64_sve_asrd, {II.getType()}, {Pred, Vec, DivisorLog2}); in instCombineSVESDIV()
1725 return IC.replaceInstUsesWith(II, ASRD); in instCombineSVESDIV()
1731 Intrinsic::aarch64_sve_asrd, {II.getType()}, {Pred, Vec, DivisorLog2}); in instCombineSVESDIV()
1734 return IC.replaceInstUsesWith(II, NEG); in instCombineSVESDIV()
1770 IntrinsicInst &II) { in instCombineSVEDupqLane() argument
1772 if (!match(II.getOperand(0), in instCombineSVEDupqLane()
1777 auto IIScalableTy = cast<ScalableVectorType>(II.getType()); in instCombineSVEDupqLane()
1819 II.getType(), PoisonValue::get(II.getType()), InsertEltChain, ZeroIdx); in instCombineSVEDupqLane()
1826 IC.Builder.CreateBitOrPointerCast(WideShuffle, II.getType()); in instCombineSVEDupqLane()
1828 return IC.replaceInstUsesWith(II, NarrowBitcast); in instCombineSVEDupqLane()
1832 IntrinsicInst &II) { in instCombineMaxMinNM() argument
1833 Value *A = II.getArgOperand(0); in instCombineMaxMinNM()
1834 Value *B = II.getArgOperand(1); in instCombineMaxMinNM()
1836 return IC.replaceInstUsesWith(II, A); in instCombineMaxMinNM()
1842 IntrinsicInst &II) { in instCombineSVESrshl() argument
1843 Value *Pred = II.getOperand(0); in instCombineSVESrshl()
1844 Value *Vec = II.getOperand(1); in instCombineSVESrshl()
1845 Value *Shift = II.getOperand(2); in instCombineSVESrshl()
1870 {II.getType()}, {Pred, Vec, Shift}); in instCombineSVESrshl()
1872 return IC.replaceInstUsesWith(II, LSL); in instCombineSVESrshl()
1877 IntrinsicInst &II) const { in instCombineIntrinsic()
1878 Intrinsic::ID IID = II.getIntrinsicID(); in instCombineIntrinsic()
1884 return instCombineMaxMinNM(IC, II); in instCombineIntrinsic()
1886 return instCombineConvertFromSVBool(IC, II); in instCombineIntrinsic()
1888 return instCombineSVEDup(IC, II); in instCombineIntrinsic()
1890 return instCombineSVEDupX(IC, II); in instCombineIntrinsic()
1893 return instCombineSVECmpNE(IC, II); in instCombineIntrinsic()
1895 return instCombineRDFFR(IC, II); in instCombineIntrinsic()
1898 return instCombineSVELast(IC, II); in instCombineIntrinsic()
1901 return instCombineSVECondLast(IC, II); in instCombineIntrinsic()
1903 return instCombineSVECntElts(IC, II, 2); in instCombineIntrinsic()
1905 return instCombineSVECntElts(IC, II, 4); in instCombineIntrinsic()
1907 return instCombineSVECntElts(IC, II, 8); in instCombineIntrinsic()
1909 return instCombineSVECntElts(IC, II, 16); in instCombineIntrinsic()
1913 return instCombineSVEPTest(IC, II); in instCombineIntrinsic()
1915 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_fabd_u); in instCombineIntrinsic()
1917 return instCombineSVEVectorFAdd(IC, II); in instCombineIntrinsic()
1919 return instCombineSVEVectorFAddU(IC, II); in instCombineIntrinsic()
1921 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_fdiv_u); in instCombineIntrinsic()
1923 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_fmax_u); in instCombineIntrinsic()
1925 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_fmaxnm_u); in instCombineIntrinsic()
1927 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_fmin_u); in instCombineIntrinsic()
1929 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_fminnm_u); in instCombineIntrinsic()
1931 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_fmla_u); in instCombineIntrinsic()
1933 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_fmls_u); in instCombineIntrinsic()
1936 instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_fmul_u)) in instCombineIntrinsic()
1938 return instCombineSVEVectorMul(IC, II, Intrinsic::aarch64_sve_fmul_u); in instCombineIntrinsic()
1940 return instCombineSVEVectorMul(IC, II, Intrinsic::aarch64_sve_fmul_u); in instCombineIntrinsic()
1942 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_fmulx_u); in instCombineIntrinsic()
1944 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_fnmla_u); in instCombineIntrinsic()
1946 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_fnmls_u); in instCombineIntrinsic()
1948 return instCombineSVEVectorFSub(IC, II); in instCombineIntrinsic()
1950 return instCombineSVEVectorFSubU(IC, II); in instCombineIntrinsic()
1952 return instCombineSVEVectorAdd(IC, II); in instCombineIntrinsic()
1956 IC, II, true); in instCombineIntrinsic()
1958 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_mla_u); in instCombineIntrinsic()
1960 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_mls_u); in instCombineIntrinsic()
1963 instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_mul_u)) in instCombineIntrinsic()
1965 return instCombineSVEVectorMul(IC, II, Intrinsic::aarch64_sve_mul_u); in instCombineIntrinsic()
1967 return instCombineSVEVectorMul(IC, II, Intrinsic::aarch64_sve_mul_u); in instCombineIntrinsic()
1969 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_sabd_u); in instCombineIntrinsic()
1971 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_smax_u); in instCombineIntrinsic()
1973 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_smin_u); in instCombineIntrinsic()
1975 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_smulh_u); in instCombineIntrinsic()
1977 return instCombineSVEVectorSub(IC, II); in instCombineIntrinsic()
1981 IC, II, true); in instCombineIntrinsic()
1983 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_uabd_u); in instCombineIntrinsic()
1985 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_umax_u); in instCombineIntrinsic()
1987 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_umin_u); in instCombineIntrinsic()
1989 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_umulh_u); in instCombineIntrinsic()
1991 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_asr_u); in instCombineIntrinsic()
1993 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_lsl_u); in instCombineIntrinsic()
1995 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_lsr_u); in instCombineIntrinsic()
1997 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_and_u); in instCombineIntrinsic()
1999 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_bic_u); in instCombineIntrinsic()
2001 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_eor_u); in instCombineIntrinsic()
2003 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_orr_u); in instCombineIntrinsic()
2005 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_sqsub_u); in instCombineIntrinsic()
2007 return instCombineSVEAllOrNoActive(IC, II, Intrinsic::aarch64_sve_uqsub_u); in instCombineIntrinsic()
2009 return instCombineSVETBL(IC, II); in instCombineIntrinsic()
2014 return instCombineSVEUnpack(IC, II); in instCombineIntrinsic()
2017 return instCombineSVEZip(IC, II); in instCombineIntrinsic()
2019 return instCombineLD1GatherIndex(IC, II); in instCombineIntrinsic()
2021 return instCombineST1ScatterIndex(IC, II); in instCombineIntrinsic()
2023 return instCombineSVELD1(IC, II, DL); in instCombineIntrinsic()
2025 return instCombineSVEST1(IC, II, DL); in instCombineIntrinsic()
2027 return instCombineSVESDIV(IC, II); in instCombineIntrinsic()
2029 return instCombineSVESel(IC, II); in instCombineIntrinsic()
2031 return instCombineSVESrshl(IC, II); in instCombineIntrinsic()
2033 return instCombineSVEDupqLane(IC, II); in instCombineIntrinsic()
2040 InstCombiner &IC, IntrinsicInst &II, APInt OrigDemandedElts, in simplifyDemandedVectorEltsIntrinsic() argument
2044 switch (II.getIntrinsicID()) { in simplifyDemandedVectorEltsIntrinsic()
2058 SimplifyAndSetOp(&II, 0, OrigDemandedElts, UndefElts); in simplifyDemandedVectorEltsIntrinsic()