reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/Mips/MipsSEISelLowering.cpp
 1542   SDLoc DL(Op);
 1543   unsigned Intrinsic = cast<ConstantSDNode>(Op->getOperand(0))->getZExtValue();
 1548     return lowerDSPIntr(Op, DAG, MipsISD::SHILO);
 1550     return lowerDSPIntr(Op, DAG, MipsISD::DPAU_H_QBL);
 1552     return lowerDSPIntr(Op, DAG, MipsISD::DPAU_H_QBR);
 1554     return lowerDSPIntr(Op, DAG, MipsISD::DPSU_H_QBL);
 1556     return lowerDSPIntr(Op, DAG, MipsISD::DPSU_H_QBR);
 1558     return lowerDSPIntr(Op, DAG, MipsISD::DPA_W_PH);
 1560     return lowerDSPIntr(Op, DAG, MipsISD::DPS_W_PH);
 1562     return lowerDSPIntr(Op, DAG, MipsISD::DPAX_W_PH);
 1564     return lowerDSPIntr(Op, DAG, MipsISD::DPSX_W_PH);
 1566     return lowerDSPIntr(Op, DAG, MipsISD::MULSA_W_PH);
 1568     return lowerDSPIntr(Op, DAG, MipsISD::Mult);
 1570     return lowerDSPIntr(Op, DAG, MipsISD::Multu);
 1572     return lowerDSPIntr(Op, DAG, MipsISD::MAdd);
 1574     return lowerDSPIntr(Op, DAG, MipsISD::MAddu);
 1576     return lowerDSPIntr(Op, DAG, MipsISD::MSub);
 1578     return lowerDSPIntr(Op, DAG, MipsISD::MSubu);
 1583     return DAG.getNode(ISD::ADD, DL, Op->getValueType(0), Op->getOperand(1),
 1583     return DAG.getNode(ISD::ADD, DL, Op->getValueType(0), Op->getOperand(1),
 1584                        Op->getOperand(2));
 1589     return DAG.getNode(ISD::ADD, DL, Op->getValueType(0), Op->getOperand(1),
 1589     return DAG.getNode(ISD::ADD, DL, Op->getValueType(0), Op->getOperand(1),
 1590                        lowerMSASplatImm(Op, 2, DAG));
 1592     return DAG.getNode(ISD::AND, DL, Op->getValueType(0), Op->getOperand(1),
 1592     return DAG.getNode(ISD::AND, DL, Op->getValueType(0), Op->getOperand(1),
 1593                        Op->getOperand(2));
 1595     return DAG.getNode(ISD::AND, DL, Op->getValueType(0), Op->getOperand(1),
 1595     return DAG.getNode(ISD::AND, DL, Op->getValueType(0), Op->getOperand(1),
 1596                        lowerMSASplatImm(Op, 2, DAG));
 1601     return lowerMSABitClear(Op, DAG);
 1606     return lowerMSABitClearImm(Op, DAG);
 1612     EVT VecTy = Op->getValueType(0);
 1614     if (Op->getConstantOperandVal(3) >= EltTy.getSizeInBits())
 1617                                        Op->getConstantOperandVal(3) + 1);
 1620                        Op->getOperand(2), Op->getOperand(1));
 1620                        Op->getOperand(2), Op->getOperand(1));
 1627     EVT VecTy = Op->getValueType(0);
 1629     if (Op->getConstantOperandVal(3) >= EltTy.getSizeInBits())
 1632                                       Op->getConstantOperandVal(3) + 1);
 1635                        Op->getOperand(2), Op->getOperand(1));
 1635                        Op->getOperand(2), Op->getOperand(1));
 1638     return DAG.getNode(ISD::VSELECT, DL, Op->getValueType(0), Op->getOperand(3),
 1638     return DAG.getNode(ISD::VSELECT, DL, Op->getValueType(0), Op->getOperand(3),
 1639                        Op->getOperand(2), Op->getOperand(1));
 1639                        Op->getOperand(2), Op->getOperand(1));
 1641     return DAG.getNode(ISD::VSELECT, DL, Op->getValueType(0),
 1642                        lowerMSASplatImm(Op, 3, DAG), Op->getOperand(2),
 1642                        lowerMSASplatImm(Op, 3, DAG), Op->getOperand(2),
 1643                        Op->getOperand(1));
 1645     return DAG.getNode(ISD::VSELECT, DL, Op->getValueType(0), Op->getOperand(3),
 1645     return DAG.getNode(ISD::VSELECT, DL, Op->getValueType(0), Op->getOperand(3),
 1646                        Op->getOperand(1), Op->getOperand(2));
 1646                        Op->getOperand(1), Op->getOperand(2));
 1648     return DAG.getNode(ISD::VSELECT, DL, Op->getValueType(0),
 1649                        lowerMSASplatImm(Op, 3, DAG), Op->getOperand(1),
 1649                        lowerMSASplatImm(Op, 3, DAG), Op->getOperand(1),
 1650                        Op->getOperand(2));
 1655     EVT VecTy = Op->getValueType(0);
 1658     return DAG.getNode(ISD::XOR, DL, VecTy, Op->getOperand(1),
 1660                                    truncateVecElts(Op, DAG)));
 1666     return lowerMSABinaryBitImmIntr(Op, DAG, ISD::XOR, Op->getOperand(2),
 1666     return lowerMSABinaryBitImmIntr(Op, DAG, ISD::XOR, Op->getOperand(2),
 1672     return DAG.getNode(MipsISD::VALL_NONZERO, DL, Op->getValueType(0),
 1673                        Op->getOperand(1));
 1675     return DAG.getNode(MipsISD::VANY_NONZERO, DL, Op->getValueType(0),
 1676                        Op->getOperand(1));
 1679     return DAG.getNode(ISD::VSELECT, DL, Op->getValueType(0),
 1680                        Op->getOperand(1), Op->getOperand(3),
 1680                        Op->getOperand(1), Op->getOperand(3),
 1681                        Op->getOperand(2));
 1684     return DAG.getNode(ISD::VSELECT, DL, Op->getValueType(0),
 1685                        Op->getOperand(1), lowerMSASplatImm(Op, 3, DAG),
 1685                        Op->getOperand(1), lowerMSASplatImm(Op, 3, DAG),
 1686                        Op->getOperand(2));
 1691     EVT VecTy = Op->getValueType(0);
 1694     return DAG.getNode(ISD::OR, DL, VecTy, Op->getOperand(1),
 1696                                    truncateVecElts(Op, DAG)));
 1702     return lowerMSABinaryBitImmIntr(Op, DAG, ISD::OR, Op->getOperand(2),
 1702     return lowerMSABinaryBitImmIntr(Op, DAG, ISD::OR, Op->getOperand(2),
 1708     return DAG.getNode(MipsISD::VALL_ZERO, DL, Op->getValueType(0),
 1709                        Op->getOperand(1));
 1711     return DAG.getNode(MipsISD::VANY_ZERO, DL, Op->getValueType(0),
 1712                        Op->getOperand(1));
 1717     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1717     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1718                         Op->getOperand(2), ISD::SETEQ);
 1723     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1723     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1724                         lowerMSASplatImm(Op, 2, DAG, true), ISD::SETEQ);
 1729     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1729     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1730                         Op->getOperand(2), ISD::SETLE);
 1735     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1735     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1736                         lowerMSASplatImm(Op, 2, DAG, true), ISD::SETLE);
 1741     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1741     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1742                         Op->getOperand(2), ISD::SETULE);
 1747     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1747     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1748                         lowerMSASplatImm(Op, 2, DAG), ISD::SETULE);
 1753     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1753     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1754                         Op->getOperand(2), ISD::SETLT);
 1759     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1759     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1760                         lowerMSASplatImm(Op, 2, DAG, true), ISD::SETLT);
 1765     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1765     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1766                         Op->getOperand(2), ISD::SETULT);
 1771     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1771     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1772                         lowerMSASplatImm(Op, 2, DAG), ISD::SETULT);
 1776     return lowerMSACopyIntr(Op, DAG, MipsISD::VEXTRACT_SEXT_ELT);
 1780       return lowerMSACopyIntr(Op, DAG, MipsISD::VEXTRACT_SEXT_ELT);
 1784       return DAG.getNode(ISD::EXTRACT_VECTOR_ELT, SDLoc(Op),
 1785                          Op->getValueType(0), Op->getOperand(1),
 1785                          Op->getValueType(0), Op->getOperand(1),
 1786                          Op->getOperand(2));
 1791     return lowerMSACopyIntr(Op, DAG, MipsISD::VEXTRACT_ZEXT_ELT);
 1795       return lowerMSACopyIntr(Op, DAG, MipsISD::VEXTRACT_ZEXT_ELT);
 1802       return DAG.getNode(ISD::EXTRACT_VECTOR_ELT, SDLoc(Op),
 1803                          Op->getValueType(0), Op->getOperand(1),
 1803                          Op->getValueType(0), Op->getOperand(1),
 1804                          Op->getOperand(2));
 1810     return DAG.getNode(ISD::SDIV, DL, Op->getValueType(0), Op->getOperand(1),
 1810     return DAG.getNode(ISD::SDIV, DL, Op->getValueType(0), Op->getOperand(1),
 1811                        Op->getOperand(2));
 1816     return DAG.getNode(ISD::UDIV, DL, Op->getValueType(0), Op->getOperand(1),
 1816     return DAG.getNode(ISD::UDIV, DL, Op->getValueType(0), Op->getOperand(1),
 1817                        Op->getOperand(2));
 1821     return DAG.getNode(ISD::FADD, DL, Op->getValueType(0), Op->getOperand(1),
 1821     return DAG.getNode(ISD::FADD, DL, Op->getValueType(0), Op->getOperand(1),
 1822                        Op->getOperand(2));
 1826     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1826     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1827                         Op->getOperand(2), ISD::SETOEQ);
 1830     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1830     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1831                         Op->getOperand(2), ISD::SETOLE);
 1834     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1834     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1835                         Op->getOperand(2), ISD::SETOLT);
 1838     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1838     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1839                         Op->getOperand(2), ISD::SETONE);
 1842     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1842     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1843                         Op->getOperand(2), ISD::SETO);
 1846     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1846     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1847                         Op->getOperand(2), ISD::SETUEQ);
 1850     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1850     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1851                         Op->getOperand(2), ISD::SETULE);
 1854     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1854     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1855                         Op->getOperand(2), ISD::SETULT);
 1858     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1858     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1859                         Op->getOperand(2), ISD::SETUO);
 1862     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1862     return DAG.getSetCC(DL, Op->getValueType(0), Op->getOperand(1),
 1863                         Op->getOperand(2), ISD::SETUNE);
 1867     return DAG.getNode(ISD::FDIV, DL, Op->getValueType(0), Op->getOperand(1),
 1867     return DAG.getNode(ISD::FDIV, DL, Op->getValueType(0), Op->getOperand(1),
 1868                        Op->getOperand(2));
 1871     return DAG.getNode(ISD::UINT_TO_FP, DL, Op->getValueType(0),
 1872                        Op->getOperand(1));
 1875     return DAG.getNode(ISD::SINT_TO_FP, DL, Op->getValueType(0),
 1876                        Op->getOperand(1));
 1881     EVT ResTy = Op->getValueType(0);
 1883                                  Op->getOperand(1));
 1892     EVT ResTy = Op->getValueType(0);
 1894         ISD::FMUL, SDLoc(Op), ResTy, Op->getOperand(1),
 1894         ISD::FMUL, SDLoc(Op), ResTy, Op->getOperand(1),
 1895         DAG.getNode(ISD::FEXP2, SDLoc(Op), ResTy, Op->getOperand(2)));
 1895         DAG.getNode(ISD::FEXP2, SDLoc(Op), ResTy, Op->getOperand(2)));
 1899     return DAG.getNode(ISD::FLOG2, DL, Op->getValueType(0), Op->getOperand(1));
 1899     return DAG.getNode(ISD::FLOG2, DL, Op->getValueType(0), Op->getOperand(1));
 1902     return DAG.getNode(ISD::FMA, SDLoc(Op), Op->getValueType(0),
 1902     return DAG.getNode(ISD::FMA, SDLoc(Op), Op->getValueType(0),
 1903                        Op->getOperand(1), Op->getOperand(2), Op->getOperand(3));
 1903                        Op->getOperand(1), Op->getOperand(2), Op->getOperand(3));
 1903                        Op->getOperand(1), Op->getOperand(2), Op->getOperand(3));
 1907     return DAG.getNode(ISD::FMUL, DL, Op->getValueType(0), Op->getOperand(1),
 1907     return DAG.getNode(ISD::FMUL, DL, Op->getValueType(0), Op->getOperand(1),
 1908                        Op->getOperand(2));
 1912     return DAG.getNode(MipsISD::FMS, SDLoc(Op), Op->getValueType(0),
 1912     return DAG.getNode(MipsISD::FMS, SDLoc(Op), Op->getValueType(0),
 1913                        Op->getOperand(1), Op->getOperand(2), Op->getOperand(3));
 1913                        Op->getOperand(1), Op->getOperand(2), Op->getOperand(3));
 1913                        Op->getOperand(1), Op->getOperand(2), Op->getOperand(3));
 1917     return DAG.getNode(ISD::FRINT, DL, Op->getValueType(0), Op->getOperand(1));
 1917     return DAG.getNode(ISD::FRINT, DL, Op->getValueType(0), Op->getOperand(1));
 1920     return DAG.getNode(ISD::FSQRT, DL, Op->getValueType(0), Op->getOperand(1));
 1920     return DAG.getNode(ISD::FSQRT, DL, Op->getValueType(0), Op->getOperand(1));
 1924     return DAG.getNode(ISD::FSUB, DL, Op->getValueType(0), Op->getOperand(1),
 1924     return DAG.getNode(ISD::FSUB, DL, Op->getValueType(0), Op->getOperand(1),
 1925                        Op->getOperand(2));
 1928     return DAG.getNode(ISD::FP_TO_UINT, DL, Op->getValueType(0),
 1929                        Op->getOperand(1));
 1932     return DAG.getNode(ISD::FP_TO_SINT, DL, Op->getValueType(0),
 1933                        Op->getOperand(1));
 1938     return DAG.getNode(MipsISD::ILVEV, DL, Op->getValueType(0),
 1939                        Op->getOperand(1), Op->getOperand(2));
 1939                        Op->getOperand(1), Op->getOperand(2));
 1944     return DAG.getNode(MipsISD::ILVL, DL, Op->getValueType(0),
 1945                        Op->getOperand(1), Op->getOperand(2));
 1945                        Op->getOperand(1), Op->getOperand(2));
 1950     return DAG.getNode(MipsISD::ILVOD, DL, Op->getValueType(0),
 1951                        Op->getOperand(1), Op->getOperand(2));
 1951                        Op->getOperand(1), Op->getOperand(2));
 1956     return DAG.getNode(MipsISD::ILVR, DL, Op->getValueType(0),
 1957                        Op->getOperand(1), Op->getOperand(2));
 1957                        Op->getOperand(1), Op->getOperand(2));
 1962     return DAG.getNode(ISD::INSERT_VECTOR_ELT, SDLoc(Op), Op->getValueType(0),
 1962     return DAG.getNode(ISD::INSERT_VECTOR_ELT, SDLoc(Op), Op->getValueType(0),
 1963                        Op->getOperand(1), Op->getOperand(3), Op->getOperand(2));
 1963                        Op->getOperand(1), Op->getOperand(3), Op->getOperand(2));
 1963                        Op->getOperand(1), Op->getOperand(3), Op->getOperand(2));
 1977     int64_t Value = cast<ConstantSDNode>(Op->getOperand(2))->getSExtValue();
 1980     return DAG.getNode(MipsISD::INSVE, DL, Op->getValueType(0),
 1981                        Op->getOperand(1), Op->getOperand(2), Op->getOperand(3),
 1981                        Op->getOperand(1), Op->getOperand(2), Op->getOperand(3),
 1981                        Op->getOperand(1), Op->getOperand(2), Op->getOperand(3),
 1988     return lowerMSASplatImm(Op, 1, DAG, true);
 1991     EVT ResTy = Op->getValueType(0);
 1992     return DAG.getNode(ISD::ADD, SDLoc(Op), ResTy, Op->getOperand(1),
 1992     return DAG.getNode(ISD::ADD, SDLoc(Op), ResTy, Op->getOperand(1),
 1993                        DAG.getNode(ISD::SHL, SDLoc(Op), ResTy,
 1994                                    Op->getOperand(2), Op->getOperand(3)));
 1994                                    Op->getOperand(2), Op->getOperand(3)));
 2000     EVT ResTy = Op->getValueType(0);
 2001     return DAG.getNode(ISD::ADD, SDLoc(Op), ResTy, Op->getOperand(1),
 2001     return DAG.getNode(ISD::ADD, SDLoc(Op), ResTy, Op->getOperand(1),
 2002                        DAG.getNode(ISD::MUL, SDLoc(Op), ResTy,
 2003                                    Op->getOperand(2), Op->getOperand(3)));
 2003                                    Op->getOperand(2), Op->getOperand(3)));
 2009     return DAG.getNode(ISD::SMAX, DL, Op->getValueType(0),
 2010                        Op->getOperand(1), Op->getOperand(2));
 2010                        Op->getOperand(1), Op->getOperand(2));
 2015     return DAG.getNode(ISD::UMAX, DL, Op->getValueType(0),
 2016                        Op->getOperand(1), Op->getOperand(2));
 2016                        Op->getOperand(1), Op->getOperand(2));
 2021     return DAG.getNode(ISD::SMAX, DL, Op->getValueType(0),
 2022                        Op->getOperand(1), lowerMSASplatImm(Op, 2, DAG, true));
 2022                        Op->getOperand(1), lowerMSASplatImm(Op, 2, DAG, true));
 2027     return DAG.getNode(ISD::UMAX, DL, Op->getValueType(0),
 2028                        Op->getOperand(1), lowerMSASplatImm(Op, 2, DAG));
 2028                        Op->getOperand(1), lowerMSASplatImm(Op, 2, DAG));
 2033     return DAG.getNode(ISD::SMIN, DL, Op->getValueType(0),
 2034                        Op->getOperand(1), Op->getOperand(2));
 2034                        Op->getOperand(1), Op->getOperand(2));
 2039     return DAG.getNode(ISD::UMIN, DL, Op->getValueType(0),
 2040                        Op->getOperand(1), Op->getOperand(2));
 2040                        Op->getOperand(1), Op->getOperand(2));
 2045     return DAG.getNode(ISD::SMIN, DL, Op->getValueType(0),
 2046                        Op->getOperand(1), lowerMSASplatImm(Op, 2, DAG, true));
 2046                        Op->getOperand(1), lowerMSASplatImm(Op, 2, DAG, true));
 2051     return DAG.getNode(ISD::UMIN, DL, Op->getValueType(0),
 2052                        Op->getOperand(1), lowerMSASplatImm(Op, 2, DAG));
 2052                        Op->getOperand(1), lowerMSASplatImm(Op, 2, DAG));
 2057     return DAG.getNode(ISD::SREM, DL, Op->getValueType(0), Op->getOperand(1),
 2057     return DAG.getNode(ISD::SREM, DL, Op->getValueType(0), Op->getOperand(1),
 2058                        Op->getOperand(2));
 2063     return DAG.getNode(ISD::UREM, DL, Op->getValueType(0), Op->getOperand(1),
 2063     return DAG.getNode(ISD::UREM, DL, Op->getValueType(0), Op->getOperand(1),
 2064                        Op->getOperand(2));
 2069     return DAG.getNode(ISD::MUL, DL, Op->getValueType(0), Op->getOperand(1),
 2069     return DAG.getNode(ISD::MUL, DL, Op->getValueType(0), Op->getOperand(1),
 2070                        Op->getOperand(2));
 2075     EVT ResTy = Op->getValueType(0);
 2076     return DAG.getNode(ISD::SUB, SDLoc(Op), ResTy, Op->getOperand(1),
 2076     return DAG.getNode(ISD::SUB, SDLoc(Op), ResTy, Op->getOperand(1),
 2077                        DAG.getNode(ISD::MUL, SDLoc(Op), ResTy,
 2078                                    Op->getOperand(2), Op->getOperand(3)));
 2078                                    Op->getOperand(2), Op->getOperand(3)));
 2084     return DAG.getNode(ISD::CTLZ, DL, Op->getValueType(0), Op->getOperand(1));
 2084     return DAG.getNode(ISD::CTLZ, DL, Op->getValueType(0), Op->getOperand(1));
 2086     SDValue Res = DAG.getNode(ISD::OR, DL, Op->getValueType(0),
 2087                               Op->getOperand(1), Op->getOperand(2));
 2087                               Op->getOperand(1), Op->getOperand(2));
 2091     SDValue Res =  DAG.getNode(ISD::OR, DL, Op->getValueType(0),
 2092                                Op->getOperand(1),
 2093                                lowerMSASplatImm(Op, 2, DAG));
 2097     return DAG.getNode(ISD::OR, DL, Op->getValueType(0), Op->getOperand(1),
 2097     return DAG.getNode(ISD::OR, DL, Op->getValueType(0), Op->getOperand(1),
 2098                        Op->getOperand(2));
 2100     return DAG.getNode(ISD::OR, DL, Op->getValueType(0),
 2101                        Op->getOperand(1), lowerMSASplatImm(Op, 2, DAG));
 2101                        Op->getOperand(1), lowerMSASplatImm(Op, 2, DAG));
 2106     return DAG.getNode(MipsISD::PCKEV, DL, Op->getValueType(0),
 2107                        Op->getOperand(1), Op->getOperand(2));
 2107                        Op->getOperand(1), Op->getOperand(2));
 2112     return DAG.getNode(MipsISD::PCKOD, DL, Op->getValueType(0),
 2113                        Op->getOperand(1), Op->getOperand(2));
 2113                        Op->getOperand(1), Op->getOperand(2));
 2118     return DAG.getNode(ISD::CTPOP, DL, Op->getValueType(0), Op->getOperand(1));
 2118     return DAG.getNode(ISD::CTPOP, DL, Op->getValueType(0), Op->getOperand(1));
 2140     int64_t Value = cast<ConstantSDNode>(Op->getOperand(2))->getSExtValue();
 2148     int64_t Value = cast<ConstantSDNode>(Op->getOperand(2))->getSExtValue();
 2151     return DAG.getNode(MipsISD::SHF, DL, Op->getValueType(0),
 2152                        Op->getOperand(2), Op->getOperand(1));
 2152                        Op->getOperand(2), Op->getOperand(1));
 2167     int64_t Value = cast<ConstantSDNode>(Op->getOperand(3))->getSExtValue();
 2176     return DAG.getNode(ISD::SHL, DL, Op->getValueType(0), Op->getOperand(1),
 2176     return DAG.getNode(ISD::SHL, DL, Op->getValueType(0), Op->getOperand(1),
 2177                        truncateVecElts(Op, DAG));
 2182     return DAG.getNode(ISD::SHL, DL, Op->getValueType(0),
 2183                        Op->getOperand(1), lowerMSASplatImm(Op, 2, DAG));
 2183                        Op->getOperand(1), lowerMSASplatImm(Op, 2, DAG));
 2192     return DAG.getNode(MipsISD::VSHF, DL, Op->getValueType(0),
 2193                        lowerMSASplatZExt(Op, 2, DAG), Op->getOperand(1),
 2193                        lowerMSASplatZExt(Op, 2, DAG), Op->getOperand(1),
 2194                        Op->getOperand(1));
 2199     return DAG.getNode(MipsISD::VSHF, DL, Op->getValueType(0),
 2200                        lowerMSASplatImm(Op, 2, DAG), Op->getOperand(1),
 2200                        lowerMSASplatImm(Op, 2, DAG), Op->getOperand(1),
 2201                        Op->getOperand(1));
 2206     return DAG.getNode(ISD::SRA, DL, Op->getValueType(0), Op->getOperand(1),
 2206     return DAG.getNode(ISD::SRA, DL, Op->getValueType(0), Op->getOperand(1),
 2207                        truncateVecElts(Op, DAG));
 2212     return DAG.getNode(ISD::SRA, DL, Op->getValueType(0),
 2213                        Op->getOperand(1), lowerMSASplatImm(Op, 2, DAG));
 2213                        Op->getOperand(1), lowerMSASplatImm(Op, 2, DAG));
 2227     int64_t Value = cast<ConstantSDNode>(Op->getOperand(2))->getSExtValue();
 2236     return DAG.getNode(ISD::SRL, DL, Op->getValueType(0), Op->getOperand(1),
 2236     return DAG.getNode(ISD::SRL, DL, Op->getValueType(0), Op->getOperand(1),
 2237                        truncateVecElts(Op, DAG));
 2242     return DAG.getNode(ISD::SRL, DL, Op->getValueType(0),
 2243                        Op->getOperand(1), lowerMSASplatImm(Op, 2, DAG));
 2243                        Op->getOperand(1), lowerMSASplatImm(Op, 2, DAG));
 2257     int64_t Value = cast<ConstantSDNode>(Op->getOperand(2))->getSExtValue();
 2266     return DAG.getNode(ISD::SUB, DL, Op->getValueType(0), Op->getOperand(1),
 2266     return DAG.getNode(ISD::SUB, DL, Op->getValueType(0), Op->getOperand(1),
 2267                        Op->getOperand(2));
 2272     return DAG.getNode(ISD::SUB, DL, Op->getValueType(0),
 2273                        Op->getOperand(1), lowerMSASplatImm(Op, 2, DAG));
 2273                        Op->getOperand(1), lowerMSASplatImm(Op, 2, DAG));
 2278     return DAG.getNode(MipsISD::VSHF, DL, Op->getValueType(0),
 2279                        Op->getOperand(1), Op->getOperand(2), Op->getOperand(3));
 2279                        Op->getOperand(1), Op->getOperand(2), Op->getOperand(3));
 2279                        Op->getOperand(1), Op->getOperand(2), Op->getOperand(3));
 2281     return DAG.getNode(ISD::XOR, DL, Op->getValueType(0), Op->getOperand(1),
 2281     return DAG.getNode(ISD::XOR, DL, Op->getValueType(0), Op->getOperand(1),
 2282                        Op->getOperand(2));
 2284     return DAG.getNode(ISD::XOR, DL, Op->getValueType(0),
 2285                        Op->getOperand(1), lowerMSASplatImm(Op, 2, DAG));
 2285                        Op->getOperand(1), lowerMSASplatImm(Op, 2, DAG));