reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1414 return widenScalarExtract(MI, TypeIdx, WideTy); 1416 return widenScalarInsert(MI, TypeIdx, WideTy); 1418 return widenScalarMergeValues(MI, TypeIdx, WideTy); 1420 return widenScalarUnmergeValues(MI, TypeIdx, WideTy); 1425 auto LHSZext = MIRBuilder.buildInstr(TargetOpcode::G_ZEXT, {WideTy}, 1427 auto RHSZext = MIRBuilder.buildInstr(TargetOpcode::G_ZEXT, {WideTy}, 1433 auto NewOp = MIRBuilder.buildInstr(Opcode, {WideTy}, {LHSZext, RHSZext}); 1437 TargetOpcode::G_AND, {WideTy}, 1438 {NewOp, MIRBuilder.buildConstant(WideTy, Mask.getZExtValue())}); 1454 widenScalarDst(MI, WideTy, 0); 1462 auto MIBSrc = MIRBuilder.buildZExt(WideTy, SrcReg); 1469 APInt::getOneBitSet(WideTy.getSizeInBits(), CurTy.getSizeInBits()); 1471 WideTy, MIBSrc, MIRBuilder.buildConstant(WideTy, TopBit)); 1471 WideTy, MIBSrc, MIRBuilder.buildConstant(WideTy, TopBit)); 1475 auto MIBNewOp = MIRBuilder.buildInstr(MI.getOpcode(), {WideTy}, {MIBSrc}); 1480 unsigned SizeDiff = WideTy.getSizeInBits() - CurTy.getSizeInBits(); 1482 TargetOpcode::G_SUB, {WideTy}, 1483 {MIBNewOp, MIRBuilder.buildConstant(WideTy, SizeDiff)}); 1494 Register ShrReg = MRI.createGenericVirtualRegister(WideTy); 1495 Register DstExt = MRI.createGenericVirtualRegister(WideTy); 1496 Register ShiftAmtReg = MRI.createGenericVirtualRegister(WideTy); 1497 widenScalarSrc(MI, WideTy, 1, TargetOpcode::G_ANYEXT); 1504 unsigned DiffBits = WideTy.getScalarSizeInBits() - Ty.getScalarSizeInBits(); 1520 unsigned DiffBits = WideTy.getScalarSizeInBits() - Ty.getScalarSizeInBits(); 1522 Register DstExt = MRI.createGenericVirtualRegister(WideTy); 1523 widenScalarSrc(MI, WideTy, 1, TargetOpcode::G_ANYEXT); 1527 auto ShiftAmt = MIRBuilder.buildConstant(WideTy, DiffBits); 1528 auto Shift = MIRBuilder.buildLShr(WideTy, DstExt, ShiftAmt); 1543 widenScalarSrc(MI, WideTy, 1, TargetOpcode::G_ANYEXT); 1544 widenScalarSrc(MI, WideTy, 2, TargetOpcode::G_ANYEXT); 1545 widenScalarDst(MI, WideTy); 1553 widenScalarSrc(MI, WideTy, 1, TargetOpcode::G_ANYEXT); 1554 widenScalarDst(MI, WideTy); 1559 widenScalarSrc(MI, WideTy, 2, TargetOpcode::G_ZEXT); 1570 widenScalarSrc(MI, WideTy, 1, TargetOpcode::G_SEXT); 1571 widenScalarSrc(MI, WideTy, 2, TargetOpcode::G_SEXT); 1572 widenScalarDst(MI, WideTy); 1584 widenScalarSrc(MI, WideTy, 1, CvtOp); 1585 widenScalarDst(MI, WideTy); 1590 widenScalarSrc(MI, WideTy, 2, TargetOpcode::G_ZEXT); 1600 widenScalarSrc(MI, WideTy, 1, TargetOpcode::G_ZEXT); 1601 widenScalarSrc(MI, WideTy, 2, TargetOpcode::G_ZEXT); 1602 widenScalarDst(MI, WideTy); 1612 widenScalarSrc(MI, WideTy, 2, TargetOpcode::G_ANYEXT); 1613 widenScalarSrc(MI, WideTy, 3, TargetOpcode::G_ANYEXT); 1614 widenScalarDst(MI, WideTy); 1618 widenScalarSrc(MI, WideTy, 1, MIRBuilder.getBoolExtOp(IsVec, false)); 1628 widenScalarDst(MI, WideTy); 1630 widenScalarSrc(MI, WideTy, 1, TargetOpcode::G_FPEXT); 1638 widenScalarSrc(MI, WideTy, 1, TargetOpcode::G_SEXT); 1646 widenScalarSrc(MI, WideTy, 1, TargetOpcode::G_ZEXT); 1654 widenScalarDst(MI, WideTy); 1670 widenScalarSrc(MI, WideTy, 0, ExtType); 1678 const APInt &Val = SrcMO.getCImm()->getValue().sext(WideTy.getSizeInBits()); 1682 widenScalarDst(MI, WideTy); 1691 switch (WideTy.getSizeInBits()) { 1709 widenScalarDst(MI, WideTy, 0, TargetOpcode::G_FPTRUNC); 1715 widenScalarDst(MI, WideTy); 1721 widenScalarSrc(MI, WideTy, 0, MIRBuilder.getBoolExtOp(false, false)); 1728 widenScalarDst(MI, WideTy); 1730 widenScalarSrc(MI, WideTy, 2, TargetOpcode::G_FPEXT); 1731 widenScalarSrc(MI, WideTy, 3, TargetOpcode::G_FPEXT); 1739 widenScalarDst(MI, WideTy); 1745 widenScalarSrc(MI, WideTy, 2, ExtOpcode); 1746 widenScalarSrc(MI, WideTy, 3, ExtOpcode); 1754 widenScalarSrc(MI, WideTy, 2, TargetOpcode::G_SEXT); 1765 widenScalarSrc(MI, WideTy, I, TargetOpcode::G_ANYEXT); 1770 widenScalarDst(MI, WideTy); 1781 WideTy.getSizeInBits()), 1784 widenScalarDst(MI, WideTy, 0); 1793 widenScalarSrc(MI, WideTy, 2, TargetOpcode::G_SEXT); 1803 LLT WideVecTy = LLT::vector(VecTy.getNumElements(), WideTy); 1806 widenScalarSrc(MI, WideTy, 2, TargetOpcode::G_ANYEXT); 1815 widenScalarSrc(MI, WideTy, 3, TargetOpcode::G_SEXT); 1856 widenScalarSrc(MI, WideTy, I, TargetOpcode::G_FPEXT); 1858 widenScalarDst(MI, WideTy, 0, TargetOpcode::G_FPTRUNC); 1866 widenScalarSrc(MI, WideTy, 1, TargetOpcode::G_ZEXT); 1874 widenScalarDst(MI, WideTy, 0); 1880 const LLT WideEltTy = TypeIdx == 1 ? WideTy : WideTy.getElementType(); 1880 const LLT WideEltTy = TypeIdx == 1 ? WideTy : WideTy.getElementType(); 1890 widenScalarDst(MI, WideTy, 0); 1901 widenScalarSrc(MI, WideTy, 1, TargetOpcode::G_ANYEXT); 1902 widenScalarDst(MI, WideTy, 0, TargetOpcode::G_TRUNC);