Lines Matching refs:ARM

121     Reg = CurDAG->getRegister(ARM::CPSR, MVT::i32);  in SelectCMOVPred()
522 if (Opcode == ARM::VMOVRS || Opcode == ARM::VMOVRRD) in hasNoVMLxHazardUse()
1602 Opcode = ARM::LDR_PRE_IMM; in tryARMIndexedLoad()
1606 Opcode = ARM::LDR_POST_IMM; in tryARMIndexedLoad()
1610 Opcode = isPre ? ARM::LDR_PRE_REG : ARM::LDR_POST_REG; in tryARMIndexedLoad()
1617 ? (isPre ? ARM::LDRSH_PRE : ARM::LDRSH_POST) in tryARMIndexedLoad()
1618 : (isPre ? ARM::LDRH_PRE : ARM::LDRH_POST); in tryARMIndexedLoad()
1623 Opcode = isPre ? ARM::LDRSB_PRE : ARM::LDRSB_POST; in tryARMIndexedLoad()
1629 Opcode = ARM::LDRB_PRE_IMM; in tryARMIndexedLoad()
1633 Opcode = ARM::LDRB_POST_IMM; in tryARMIndexedLoad()
1636 Opcode = isPre ? ARM::LDRB_PRE_REG : ARM::LDRB_POST_REG; in tryARMIndexedLoad()
1642 if (Opcode == ARM::LDR_PRE_IMM || Opcode == ARM::LDRB_PRE_IMM) { in tryARMIndexedLoad()
1688 SDNode *New = CurDAG->getMachineNode(ARM::tLDR_postidx, SDLoc(N), MVT::i32, in tryT1IndexedLoad()
1710 Opcode = isPre ? ARM::t2LDR_PRE : ARM::t2LDR_POST; in tryT2IndexedLoad()
1714 Opcode = isPre ? ARM::t2LDRSH_PRE : ARM::t2LDRSH_POST; in tryT2IndexedLoad()
1716 Opcode = isPre ? ARM::t2LDRH_PRE : ARM::t2LDRH_POST; in tryT2IndexedLoad()
1721 Opcode = isPre ? ARM::t2LDRSB_PRE : ARM::t2LDRSB_POST; in tryT2IndexedLoad()
1723 Opcode = isPre ? ARM::t2LDRB_PRE : ARM::t2LDRB_POST; in tryT2IndexedLoad()
1799 Opcode = isPre ? ARM::MVE_VLDRHS32_pre : ARM::MVE_VLDRHS32_post; in tryMVEIndexedLoad()
1801 Opcode = isPre ? ARM::MVE_VLDRHU32_pre : ARM::MVE_VLDRHU32_post; in tryMVEIndexedLoad()
1805 Opcode = isPre ? ARM::MVE_VLDRBS16_pre : ARM::MVE_VLDRBS16_post; in tryMVEIndexedLoad()
1807 Opcode = isPre ? ARM::MVE_VLDRBU16_pre : ARM::MVE_VLDRBU16_post; in tryMVEIndexedLoad()
1811 Opcode = isPre ? ARM::MVE_VLDRBS32_pre : ARM::MVE_VLDRBS32_post; in tryMVEIndexedLoad()
1813 Opcode = isPre ? ARM::MVE_VLDRBU32_pre : ARM::MVE_VLDRBU32_post; in tryMVEIndexedLoad()
1818 Opcode = isPre ? ARM::MVE_VLDRWU32_pre : ARM::MVE_VLDRWU32_post; in tryMVEIndexedLoad()
1823 Opcode = isPre ? ARM::MVE_VLDRHU16_pre : ARM::MVE_VLDRHU16_post; in tryMVEIndexedLoad()
1826 Opcode = isPre ? ARM::MVE_VLDRBU8_pre : ARM::MVE_VLDRBU8_post; in tryMVEIndexedLoad()
1850 CurDAG->getTargetConstant(ARM::GPRPairRegClassID, dl, MVT::i32); in createGPRPairNode()
1851 SDValue SubReg0 = CurDAG->getTargetConstant(ARM::gsub_0, dl, MVT::i32); in createGPRPairNode()
1852 SDValue SubReg1 = CurDAG->getTargetConstant(ARM::gsub_1, dl, MVT::i32); in createGPRPairNode()
1861 CurDAG->getTargetConstant(ARM::DPR_VFP2RegClassID, dl, MVT::i32); in createSRegPairNode()
1862 SDValue SubReg0 = CurDAG->getTargetConstant(ARM::ssub_0, dl, MVT::i32); in createSRegPairNode()
1863 SDValue SubReg1 = CurDAG->getTargetConstant(ARM::ssub_1, dl, MVT::i32); in createSRegPairNode()
1871 SDValue RegClass = CurDAG->getTargetConstant(ARM::QPRRegClassID, dl, in createDRegPairNode()
1873 SDValue SubReg0 = CurDAG->getTargetConstant(ARM::dsub_0, dl, MVT::i32); in createDRegPairNode()
1874 SDValue SubReg1 = CurDAG->getTargetConstant(ARM::dsub_1, dl, MVT::i32); in createDRegPairNode()
1882 SDValue RegClass = CurDAG->getTargetConstant(ARM::QQPRRegClassID, dl, in createQRegPairNode()
1884 SDValue SubReg0 = CurDAG->getTargetConstant(ARM::qsub_0, dl, MVT::i32); in createQRegPairNode()
1885 SDValue SubReg1 = CurDAG->getTargetConstant(ARM::qsub_1, dl, MVT::i32); in createQRegPairNode()
1895 CurDAG->getTargetConstant(ARM::QPR_VFP2RegClassID, dl, MVT::i32); in createQuadSRegsNode()
1896 SDValue SubReg0 = CurDAG->getTargetConstant(ARM::ssub_0, dl, MVT::i32); in createQuadSRegsNode()
1897 SDValue SubReg1 = CurDAG->getTargetConstant(ARM::ssub_1, dl, MVT::i32); in createQuadSRegsNode()
1898 SDValue SubReg2 = CurDAG->getTargetConstant(ARM::ssub_2, dl, MVT::i32); in createQuadSRegsNode()
1899 SDValue SubReg3 = CurDAG->getTargetConstant(ARM::ssub_3, dl, MVT::i32); in createQuadSRegsNode()
1909 SDValue RegClass = CurDAG->getTargetConstant(ARM::QQPRRegClassID, dl, in createQuadDRegsNode()
1911 SDValue SubReg0 = CurDAG->getTargetConstant(ARM::dsub_0, dl, MVT::i32); in createQuadDRegsNode()
1912 SDValue SubReg1 = CurDAG->getTargetConstant(ARM::dsub_1, dl, MVT::i32); in createQuadDRegsNode()
1913 SDValue SubReg2 = CurDAG->getTargetConstant(ARM::dsub_2, dl, MVT::i32); in createQuadDRegsNode()
1914 SDValue SubReg3 = CurDAG->getTargetConstant(ARM::dsub_3, dl, MVT::i32); in createQuadDRegsNode()
1924 SDValue RegClass = CurDAG->getTargetConstant(ARM::QQQQPRRegClassID, dl, in createQuadQRegsNode()
1926 SDValue SubReg0 = CurDAG->getTargetConstant(ARM::qsub_0, dl, MVT::i32); in createQuadQRegsNode()
1927 SDValue SubReg1 = CurDAG->getTargetConstant(ARM::qsub_1, dl, MVT::i32); in createQuadQRegsNode()
1928 SDValue SubReg2 = CurDAG->getTargetConstant(ARM::qsub_2, dl, MVT::i32); in createQuadQRegsNode()
1929 SDValue SubReg3 = CurDAG->getTargetConstant(ARM::qsub_3, dl, MVT::i32); in createQuadQRegsNode()
1961 case ARM::VLD1d8wb_fixed : return true; in isVLDfixed()
1962 case ARM::VLD1d16wb_fixed : return true; in isVLDfixed()
1963 case ARM::VLD1d64Qwb_fixed : return true; in isVLDfixed()
1964 case ARM::VLD1d32wb_fixed : return true; in isVLDfixed()
1965 case ARM::VLD1d64wb_fixed : return true; in isVLDfixed()
1966 case ARM::VLD1d8TPseudoWB_fixed : return true; in isVLDfixed()
1967 case ARM::VLD1d16TPseudoWB_fixed : return true; in isVLDfixed()
1968 case ARM::VLD1d32TPseudoWB_fixed : return true; in isVLDfixed()
1969 case ARM::VLD1d64TPseudoWB_fixed : return true; in isVLDfixed()
1970 case ARM::VLD1d8QPseudoWB_fixed : return true; in isVLDfixed()
1971 case ARM::VLD1d16QPseudoWB_fixed : return true; in isVLDfixed()
1972 case ARM::VLD1d32QPseudoWB_fixed : return true; in isVLDfixed()
1973 case ARM::VLD1d64QPseudoWB_fixed : return true; in isVLDfixed()
1974 case ARM::VLD1q8wb_fixed : return true; in isVLDfixed()
1975 case ARM::VLD1q16wb_fixed : return true; in isVLDfixed()
1976 case ARM::VLD1q32wb_fixed : return true; in isVLDfixed()
1977 case ARM::VLD1q64wb_fixed : return true; in isVLDfixed()
1978 case ARM::VLD1DUPd8wb_fixed : return true; in isVLDfixed()
1979 case ARM::VLD1DUPd16wb_fixed : return true; in isVLDfixed()
1980 case ARM::VLD1DUPd32wb_fixed : return true; in isVLDfixed()
1981 case ARM::VLD1DUPq8wb_fixed : return true; in isVLDfixed()
1982 case ARM::VLD1DUPq16wb_fixed : return true; in isVLDfixed()
1983 case ARM::VLD1DUPq32wb_fixed : return true; in isVLDfixed()
1984 case ARM::VLD2d8wb_fixed : return true; in isVLDfixed()
1985 case ARM::VLD2d16wb_fixed : return true; in isVLDfixed()
1986 case ARM::VLD2d32wb_fixed : return true; in isVLDfixed()
1987 case ARM::VLD2q8PseudoWB_fixed : return true; in isVLDfixed()
1988 case ARM::VLD2q16PseudoWB_fixed : return true; in isVLDfixed()
1989 case ARM::VLD2q32PseudoWB_fixed : return true; in isVLDfixed()
1990 case ARM::VLD2DUPd8wb_fixed : return true; in isVLDfixed()
1991 case ARM::VLD2DUPd16wb_fixed : return true; in isVLDfixed()
1992 case ARM::VLD2DUPd32wb_fixed : return true; in isVLDfixed()
1993 case ARM::VLD2DUPq8OddPseudoWB_fixed: return true; in isVLDfixed()
1994 case ARM::VLD2DUPq16OddPseudoWB_fixed: return true; in isVLDfixed()
1995 case ARM::VLD2DUPq32OddPseudoWB_fixed: return true; in isVLDfixed()
2003 case ARM::VST1d8wb_fixed : return true; in isVSTfixed()
2004 case ARM::VST1d16wb_fixed : return true; in isVSTfixed()
2005 case ARM::VST1d32wb_fixed : return true; in isVSTfixed()
2006 case ARM::VST1d64wb_fixed : return true; in isVSTfixed()
2007 case ARM::VST1q8wb_fixed : return true; in isVSTfixed()
2008 case ARM::VST1q16wb_fixed : return true; in isVSTfixed()
2009 case ARM::VST1q32wb_fixed : return true; in isVSTfixed()
2010 case ARM::VST1q64wb_fixed : return true; in isVSTfixed()
2011 case ARM::VST1d8TPseudoWB_fixed : return true; in isVSTfixed()
2012 case ARM::VST1d16TPseudoWB_fixed : return true; in isVSTfixed()
2013 case ARM::VST1d32TPseudoWB_fixed : return true; in isVSTfixed()
2014 case ARM::VST1d64TPseudoWB_fixed : return true; in isVSTfixed()
2015 case ARM::VST1d8QPseudoWB_fixed : return true; in isVSTfixed()
2016 case ARM::VST1d16QPseudoWB_fixed : return true; in isVSTfixed()
2017 case ARM::VST1d32QPseudoWB_fixed : return true; in isVSTfixed()
2018 case ARM::VST1d64QPseudoWB_fixed : return true; in isVSTfixed()
2019 case ARM::VST2d8wb_fixed : return true; in isVSTfixed()
2020 case ARM::VST2d16wb_fixed : return true; in isVSTfixed()
2021 case ARM::VST2d32wb_fixed : return true; in isVSTfixed()
2022 case ARM::VST2q8PseudoWB_fixed : return true; in isVSTfixed()
2023 case ARM::VST2q16PseudoWB_fixed : return true; in isVSTfixed()
2024 case ARM::VST2q32PseudoWB_fixed : return true; in isVSTfixed()
2035 case ARM::VLD1d8wb_fixed: return ARM::VLD1d8wb_register; in getVLDSTRegisterUpdateOpcode()
2036 case ARM::VLD1d16wb_fixed: return ARM::VLD1d16wb_register; in getVLDSTRegisterUpdateOpcode()
2037 case ARM::VLD1d32wb_fixed: return ARM::VLD1d32wb_register; in getVLDSTRegisterUpdateOpcode()
2038 case ARM::VLD1d64wb_fixed: return ARM::VLD1d64wb_register; in getVLDSTRegisterUpdateOpcode()
2039 case ARM::VLD1q8wb_fixed: return ARM::VLD1q8wb_register; in getVLDSTRegisterUpdateOpcode()
2040 case ARM::VLD1q16wb_fixed: return ARM::VLD1q16wb_register; in getVLDSTRegisterUpdateOpcode()
2041 case ARM::VLD1q32wb_fixed: return ARM::VLD1q32wb_register; in getVLDSTRegisterUpdateOpcode()
2042 case ARM::VLD1q64wb_fixed: return ARM::VLD1q64wb_register; in getVLDSTRegisterUpdateOpcode()
2043 case ARM::VLD1d64Twb_fixed: return ARM::VLD1d64Twb_register; in getVLDSTRegisterUpdateOpcode()
2044 case ARM::VLD1d64Qwb_fixed: return ARM::VLD1d64Qwb_register; in getVLDSTRegisterUpdateOpcode()
2045 case ARM::VLD1d8TPseudoWB_fixed: return ARM::VLD1d8TPseudoWB_register; in getVLDSTRegisterUpdateOpcode()
2046 case ARM::VLD1d16TPseudoWB_fixed: return ARM::VLD1d16TPseudoWB_register; in getVLDSTRegisterUpdateOpcode()
2047 case ARM::VLD1d32TPseudoWB_fixed: return ARM::VLD1d32TPseudoWB_register; in getVLDSTRegisterUpdateOpcode()
2048 case ARM::VLD1d64TPseudoWB_fixed: return ARM::VLD1d64TPseudoWB_register; in getVLDSTRegisterUpdateOpcode()
2049 case ARM::VLD1d8QPseudoWB_fixed: return ARM::VLD1d8QPseudoWB_register; in getVLDSTRegisterUpdateOpcode()
2050 case ARM::VLD1d16QPseudoWB_fixed: return ARM::VLD1d16QPseudoWB_register; in getVLDSTRegisterUpdateOpcode()
2051 case ARM::VLD1d32QPseudoWB_fixed: return ARM::VLD1d32QPseudoWB_register; in getVLDSTRegisterUpdateOpcode()
2052 case ARM::VLD1d64QPseudoWB_fixed: return ARM::VLD1d64QPseudoWB_register; in getVLDSTRegisterUpdateOpcode()
2053 case ARM::VLD1DUPd8wb_fixed : return ARM::VLD1DUPd8wb_register; in getVLDSTRegisterUpdateOpcode()
2054 case ARM::VLD1DUPd16wb_fixed : return ARM::VLD1DUPd16wb_register; in getVLDSTRegisterUpdateOpcode()
2055 case ARM::VLD1DUPd32wb_fixed : return ARM::VLD1DUPd32wb_register; in getVLDSTRegisterUpdateOpcode()
2056 case ARM::VLD1DUPq8wb_fixed : return ARM::VLD1DUPq8wb_register; in getVLDSTRegisterUpdateOpcode()
2057 case ARM::VLD1DUPq16wb_fixed : return ARM::VLD1DUPq16wb_register; in getVLDSTRegisterUpdateOpcode()
2058 case ARM::VLD1DUPq32wb_fixed : return ARM::VLD1DUPq32wb_register; in getVLDSTRegisterUpdateOpcode()
2059 case ARM::VLD2DUPq8OddPseudoWB_fixed: return ARM::VLD2DUPq8OddPseudoWB_register; in getVLDSTRegisterUpdateOpcode()
2060 case ARM::VLD2DUPq16OddPseudoWB_fixed: return ARM::VLD2DUPq16OddPseudoWB_register; in getVLDSTRegisterUpdateOpcode()
2061 case ARM::VLD2DUPq32OddPseudoWB_fixed: return ARM::VLD2DUPq32OddPseudoWB_register; in getVLDSTRegisterUpdateOpcode()
2063 case ARM::VST1d8wb_fixed: return ARM::VST1d8wb_register; in getVLDSTRegisterUpdateOpcode()
2064 case ARM::VST1d16wb_fixed: return ARM::VST1d16wb_register; in getVLDSTRegisterUpdateOpcode()
2065 case ARM::VST1d32wb_fixed: return ARM::VST1d32wb_register; in getVLDSTRegisterUpdateOpcode()
2066 case ARM::VST1d64wb_fixed: return ARM::VST1d64wb_register; in getVLDSTRegisterUpdateOpcode()
2067 case ARM::VST1q8wb_fixed: return ARM::VST1q8wb_register; in getVLDSTRegisterUpdateOpcode()
2068 case ARM::VST1q16wb_fixed: return ARM::VST1q16wb_register; in getVLDSTRegisterUpdateOpcode()
2069 case ARM::VST1q32wb_fixed: return ARM::VST1q32wb_register; in getVLDSTRegisterUpdateOpcode()
2070 case ARM::VST1q64wb_fixed: return ARM::VST1q64wb_register; in getVLDSTRegisterUpdateOpcode()
2071 case ARM::VST1d8TPseudoWB_fixed: return ARM::VST1d8TPseudoWB_register; in getVLDSTRegisterUpdateOpcode()
2072 case ARM::VST1d16TPseudoWB_fixed: return ARM::VST1d16TPseudoWB_register; in getVLDSTRegisterUpdateOpcode()
2073 case ARM::VST1d32TPseudoWB_fixed: return ARM::VST1d32TPseudoWB_register; in getVLDSTRegisterUpdateOpcode()
2074 case ARM::VST1d64TPseudoWB_fixed: return ARM::VST1d64TPseudoWB_register; in getVLDSTRegisterUpdateOpcode()
2075 case ARM::VST1d8QPseudoWB_fixed: return ARM::VST1d8QPseudoWB_register; in getVLDSTRegisterUpdateOpcode()
2076 case ARM::VST1d16QPseudoWB_fixed: return ARM::VST1d16QPseudoWB_register; in getVLDSTRegisterUpdateOpcode()
2077 case ARM::VST1d32QPseudoWB_fixed: return ARM::VST1d32QPseudoWB_register; in getVLDSTRegisterUpdateOpcode()
2078 case ARM::VST1d64QPseudoWB_fixed: return ARM::VST1d64QPseudoWB_register; in getVLDSTRegisterUpdateOpcode()
2080 case ARM::VLD2d8wb_fixed: return ARM::VLD2d8wb_register; in getVLDSTRegisterUpdateOpcode()
2081 case ARM::VLD2d16wb_fixed: return ARM::VLD2d16wb_register; in getVLDSTRegisterUpdateOpcode()
2082 case ARM::VLD2d32wb_fixed: return ARM::VLD2d32wb_register; in getVLDSTRegisterUpdateOpcode()
2083 case ARM::VLD2q8PseudoWB_fixed: return ARM::VLD2q8PseudoWB_register; in getVLDSTRegisterUpdateOpcode()
2084 case ARM::VLD2q16PseudoWB_fixed: return ARM::VLD2q16PseudoWB_register; in getVLDSTRegisterUpdateOpcode()
2085 case ARM::VLD2q32PseudoWB_fixed: return ARM::VLD2q32PseudoWB_register; in getVLDSTRegisterUpdateOpcode()
2087 case ARM::VST2d8wb_fixed: return ARM::VST2d8wb_register; in getVLDSTRegisterUpdateOpcode()
2088 case ARM::VST2d16wb_fixed: return ARM::VST2d16wb_register; in getVLDSTRegisterUpdateOpcode()
2089 case ARM::VST2d32wb_fixed: return ARM::VST2d32wb_register; in getVLDSTRegisterUpdateOpcode()
2090 case ARM::VST2q8PseudoWB_fixed: return ARM::VST2q8PseudoWB_register; in getVLDSTRegisterUpdateOpcode()
2091 case ARM::VST2q16PseudoWB_fixed: return ARM::VST2q16PseudoWB_register; in getVLDSTRegisterUpdateOpcode()
2092 case ARM::VST2q32PseudoWB_fixed: return ARM::VST2q32PseudoWB_register; in getVLDSTRegisterUpdateOpcode()
2094 case ARM::VLD2DUPd8wb_fixed: return ARM::VLD2DUPd8wb_register; in getVLDSTRegisterUpdateOpcode()
2095 case ARM::VLD2DUPd16wb_fixed: return ARM::VLD2DUPd16wb_register; in getVLDSTRegisterUpdateOpcode()
2096 case ARM::VLD2DUPd32wb_fixed: return ARM::VLD2DUPd32wb_register; in getVLDSTRegisterUpdateOpcode()
2238 static_assert(ARM::dsub_7 == ARM::dsub_0 + 7 && in SelectVLD()
2239 ARM::qsub_3 == ARM::qsub_0 + 3, in SelectVLD()
2241 unsigned Sub0 = (is64BitVector ? ARM::dsub_0 : ARM::qsub_0); in SelectVLD()
2521 static_assert(ARM::dsub_7 == ARM::dsub_0 + 7 && in SelectVLDSTLane()
2522 ARM::qsub_3 == ARM::qsub_0 + 3, in SelectVLDSTLane()
2524 unsigned Sub0 = is64BitVector ? ARM::dsub_0 : ARM::qsub_0; in SelectVLDSTLane()
2694 CurDAG->SelectNodeTo(N, ARM::MVE_VSHLC, N->getVTList(), ArrayRef(Ops)); in SelectMVE_VSHLC()
2833 CurDAG->getTargetExtractSubreg(ARM::qsub_0 + i, Loc, VT, in SelectMVE_VLD()
2932 uint16_t SubRegs[2] = {ARM::gsub_0, ARM::gsub_1}; in SelectCDE_CXxD()
3065 static_assert(ARM::dsub_7 == ARM::dsub_0 + 7, "Unexpected subreg numbering"); in SelectVLDDup()
3066 unsigned SubIdx = is64BitVector ? ARM::dsub_0 : ARM::qsub_0; in SelectVLDDup()
3127 ARM::ssub_0 + ExtractLane2 / 2, dl, MVT::f32, Val1.getOperand(0)); in tryInsertVectorElt()
3129 ARM::ssub_0 + Lane2 / 2, dl, VT, Ins2.getOperand(0), in tryInsertVectorElt()
3139 ARM::ssub_0 + ExtractLane1 / 2, dl, MVT::f32, Val1.getOperand(0)); in tryInsertVectorElt()
3141 ARM::ssub_0 + ExtractLane2 / 2, dl, MVT::f32, Val2.getOperand(0)); in tryInsertVectorElt()
3143 Inp1 = SDValue(CurDAG->getMachineNode(ARM::VMOVH, dl, MVT::f32, Inp1), 0); in tryInsertVectorElt()
3145 Inp2 = SDValue(CurDAG->getMachineNode(ARM::VMOVH, dl, MVT::f32, Inp2), 0); in tryInsertVectorElt()
3146 SDNode *VINS = CurDAG->getMachineNode(ARM::VINSH, dl, MVT::f32, Inp2, Inp1); in tryInsertVectorElt()
3148 CurDAG->getTargetInsertSubreg(ARM::ssub_0 + Lane2 / 2, dl, MVT::v4f32, in tryInsertVectorElt()
3158 SDNode *VINS = CurDAG->getMachineNode(ARM::VINSH, dl, MVT::f32, Val2, Val1); in tryInsertVectorElt()
3160 CurDAG->getTargetInsertSubreg(ARM::ssub_0 + Lane2 / 2, dl, MVT::v4f32, in tryInsertVectorElt()
3252 Opcode = IsUnsigned ? ARM::MVE_VCVTf16u16_fix : ARM::MVE_VCVTf16s16_fix; in transformFixedFloatingPointConversion()
3254 Opcode = IsUnsigned ? ARM::MVE_VCVTu16f16_fix : ARM::MVE_VCVTs16f16_fix; in transformFixedFloatingPointConversion()
3258 Opcode = IsUnsigned ? ARM::MVE_VCVTf32u32_fix : ARM::MVE_VCVTf32s32_fix; in transformFixedFloatingPointConversion()
3260 Opcode = IsUnsigned ? ARM::MVE_VCVTu32f32_fix : ARM::MVE_VCVTs32f32_fix; in transformFixedFloatingPointConversion()
3298 Opcode = IsUnsigned ? ARM::MVE_VCVTu16f16_fix : ARM::MVE_VCVTs16f16_fix; in tryFP_TO_INT()
3301 Opcode = IsUnsigned ? ARM::MVE_VCVTu32f32_fix : ARM::MVE_VCVTs32f32_fix; in tryFP_TO_INT()
3339 ? (Subtarget->isThumb() ? ARM::t2SBFX : ARM::SBFX) in tryV6T2BitfieldExtractOp()
3340 : (Subtarget->isThumb() ? ARM::t2UBFX : ARM::UBFX); in tryV6T2BitfieldExtractOp()
3371 Opc = isSigned ? ARM::t2ASRri : ARM::t2LSRri; in tryV6T2BitfieldExtractOp()
3386 CurDAG->SelectNodeTo(N, ARM::MOVsi, MVT::i32, Ops); in tryV6T2BitfieldExtractOp()
3501 unsigned Opcode = Subtarget->isThumb2() ? ARM::t2ABS : ARM::ABS; in tryABSOp()
3514 Opcode = Subtarget->isThumb() ? ARM::tCMP_SWAP_8 : ARM::CMP_SWAP_8; in SelectCMP_SWAP()
3516 Opcode = Subtarget->isThumb() ? ARM::tCMP_SWAP_16 : ARM::CMP_SWAP_16; in SelectCMP_SWAP()
3518 Opcode = Subtarget->isThumb() ? ARM::tCMP_SWAP_32 : ARM::CMP_SWAP_32; in SelectCMP_SWAP()
3577 Opc = (Opc == ARM::tLSLri) ? ARM::t2LSLri : ARM::t2LSRri; in SelectCMPZ()
3583 SDValue Ops[] = {CurDAG->getRegister(ARM::CPSR, MVT::i32), Src, in SelectCMPZ()
3592 NewN = EmitShift(ARM::tLSLri, X, 31 - Range->first); in SelectCMPZ()
3596 NewN = EmitShift(ARM::tLSRri, X, Range->second); in SelectCMPZ()
3601 NewN = EmitShift(ARM::tLSLri, X, 31 - Range->first); in SelectCMPZ()
3608 NewN = EmitShift(ARM::tLSLri, X, 31 - Range->first); in SelectCMPZ()
3609 NewN = EmitShift(ARM::tLSRri, SDValue(NewN, 0), in SelectCMPZ()
3661 cast<RegisterSDNode>(Ptr.getOperand(1))->getReg() == ARM::SP && in Select()
3664 CurDAG->getRegister(ARM::SP, MVT::i32), in Select()
3670 CurDAG->getMachineNode(ARM::tSTRspi, dl, MVT::Other, Ops); in Select()
3715 ResNode = CurDAG->getMachineNode(ARM::tLDRpci, dl, MVT::i32, MVT::Other, in Select()
3725 ResNode = CurDAG->getMachineNode(ARM::LDRcp, dl, MVT::i32, MVT::Other, in Select()
3756 CurDAG->SelectNodeTo(N, ARM::tADDframe, MVT::i32, TFI, in Select()
3761 ARM::t2ADDri : ARM::ADDri); in Select()
3810 CurDAG->SelectNodeTo(N, ARM::t2ADDrs, MVT::i32, Ops); in Select()
3815 CurDAG->SelectNodeTo(N, ARM::ADDrsi, MVT::i32, Ops); in Select()
3829 CurDAG->SelectNodeTo(N, ARM::t2RSBrs, MVT::i32, Ops); in Select()
3834 CurDAG->SelectNodeTo(N, ARM::RSBrsi, MVT::i32, Ops); in Select()
3871 SDValue Ops[] = {CurDAG->getRegister(ARM::CPSR, MVT::i32), in Select()
3874 ReplaceNode(N, CurDAG->getMachineNode(ARM::tBIC, dl, MVT::i32, Ops)); in Select()
3881 CurDAG->getMachineNode(ARM::t2BICrr, dl, MVT::i32, Ops)); in Select()
3896 ? ARM::t2MOVTi16 in Select()
3897 : (Subtarget->hasV6T2Ops() ? ARM::MOVTi16 : 0); in Select()
3926 unsigned Opc = Subtarget->isThumb() ? ARM::t2UMAAL : ARM::UMAAL; in Select()
3940 N, CurDAG->getMachineNode(ARM::t2UMLAL, dl, MVT::i32, MVT::i32, Ops)); in Select()
3948 Subtarget->hasV6Ops() ? ARM::UMLAL : ARM::UMLALv5, dl, in Select()
3959 N, CurDAG->getMachineNode(ARM::t2SMLAL, dl, MVT::i32, MVT::i32, Ops)); in Select()
3967 Subtarget->hasV6Ops() ? ARM::SMLAL : ARM::SMLALv5, dl, in Select()
3995 unsigned Opc = Subtarget->isThumb2() ? ARM::t2SMMLS : ARM::SMMLS; in Select()
4022 SDNode *New = CurDAG->getMachineNode(ARM::t2WhileLoopSetup, dl, MVT::i32, in Select()
4029 SDNode *New = CurDAG->getMachineNode(ARM::t2WhileLoopStart, dl, MVT::Other, in Select()
4040 unsigned Opc = ARM::t2LoopEnd; in Select()
4062 SDNode *New = CurDAG->getMachineNode(ARM::LOADDUAL, dl, in Select()
4064 SDValue Lo = CurDAG->getTargetExtractSubreg(ARM::gsub_0, dl, MVT::i32, in Select()
4066 SDValue Hi = CurDAG->getTargetExtractSubreg(ARM::gsub_1, dl, MVT::i32, in Select()
4093 SDNode *New = CurDAG->getMachineNode(ARM::STOREDUAL, dl, MVT::Other, Ops); in Select()
4104 CurDAG->getMachineNode(ARM::t2LoopDec, dl, in Select()
4124 ((Subtarget->hasThumb2()) ? ARM::t2Bcc : ARM::tBcc) : ARM::Bcc; in Select()
4149 CurDAG->getMachineNode(ARM::t2LoopDec, dl, in Select()
4156 CurDAG->getMachineNode(ARM::t2LoopEnd, dl, MVT::Other, EndArgs); in Select()
4218 Add = CurDAG->getMachineNode(ARM::t2ADDri, dl, MVT::i32, Ops); in Select()
4220 unsigned Opc = (Addend < 1<<3) ? ARM::tADDi3 : ARM::tADDi8; in Select()
4221 SDValue Ops[] = {CurDAG->getRegister(ARM::CPSR, MVT::i32), X, in Select()
4269 unsigned Opc64[] = {ARM::VZIPd8, ARM::VZIPd16, ARM::VTRNd32}; in Select()
4270 unsigned Opc128[] = {ARM::VZIPq8, ARM::VZIPq16, ARM::VZIPq32}; in Select()
4281 unsigned Opc64[] = {ARM::VUZPd8, ARM::VUZPd16, ARM::VTRNd32}; in Select()
4282 unsigned Opc128[] = {ARM::VUZPq8, ARM::VUZPq16, ARM::VUZPq32}; in Select()
4292 unsigned Opc64[] = {ARM::VTRNd8, ARM::VTRNd16, ARM::VTRNd32}; in Select()
4293 unsigned Opc128[] = {ARM::VTRNq8, ARM::VTRNq16, ARM::VTRNq32}; in Select()
4325 static const uint16_t DOpcodes[] = { ARM::VLD1DUPd8, ARM::VLD1DUPd16, in Select()
4326 ARM::VLD1DUPd32 }; in Select()
4327 static const uint16_t QOpcodes[] = { ARM::VLD1DUPq8, ARM::VLD1DUPq16, in Select()
4328 ARM::VLD1DUPq32 }; in Select()
4334 static const uint16_t Opcodes[] = { ARM::VLD2DUPd8, ARM::VLD2DUPd16, in Select()
4335 ARM::VLD2DUPd32 }; in Select()
4341 static const uint16_t Opcodes[] = { ARM::VLD3DUPd8Pseudo, in Select()
4342 ARM::VLD3DUPd16Pseudo, in Select()
4343 ARM::VLD3DUPd32Pseudo }; in Select()
4349 static const uint16_t Opcodes[] = { ARM::VLD4DUPd8Pseudo, in Select()
4350 ARM::VLD4DUPd16Pseudo, in Select()
4351 ARM::VLD4DUPd32Pseudo }; in Select()
4357 static const uint16_t DOpcodes[] = { ARM::VLD1DUPd8wb_fixed, in Select()
4358 ARM::VLD1DUPd16wb_fixed, in Select()
4359 ARM::VLD1DUPd32wb_fixed }; in Select()
4360 static const uint16_t QOpcodes[] = { ARM::VLD1DUPq8wb_fixed, in Select()
4361 ARM::VLD1DUPq16wb_fixed, in Select()
4362 ARM::VLD1DUPq32wb_fixed }; in Select()
4368 static const uint16_t DOpcodes[] = { ARM::VLD2DUPd8wb_fixed, in Select()
4369 ARM::VLD2DUPd16wb_fixed, in Select()
4370 ARM::VLD2DUPd32wb_fixed, in Select()
4371 ARM::VLD1q64wb_fixed }; in Select()
4372 static const uint16_t QOpcodes0[] = { ARM::VLD2DUPq8EvenPseudo, in Select()
4373 ARM::VLD2DUPq16EvenPseudo, in Select()
4374 ARM::VLD2DUPq32EvenPseudo }; in Select()
4375 static const uint16_t QOpcodes1[] = { ARM::VLD2DUPq8OddPseudoWB_fixed, in Select()
4376 ARM::VLD2DUPq16OddPseudoWB_fixed, in Select()
4377 ARM::VLD2DUPq32OddPseudoWB_fixed }; in Select()
4383 static const uint16_t DOpcodes[] = { ARM::VLD3DUPd8Pseudo_UPD, in Select()
4384 ARM::VLD3DUPd16Pseudo_UPD, in Select()
4385 ARM::VLD3DUPd32Pseudo_UPD, in Select()
4386 ARM::VLD1d64TPseudoWB_fixed }; in Select()
4387 static const uint16_t QOpcodes0[] = { ARM::VLD3DUPq8EvenPseudo, in Select()
4388 ARM::VLD3DUPq16EvenPseudo, in Select()
4389 ARM::VLD3DUPq32EvenPseudo }; in Select()
4390 static const uint16_t QOpcodes1[] = { ARM::VLD3DUPq8OddPseudo_UPD, in Select()
4391 ARM::VLD3DUPq16OddPseudo_UPD, in Select()
4392 ARM::VLD3DUPq32OddPseudo_UPD }; in Select()
4398 static const uint16_t DOpcodes[] = { ARM::VLD4DUPd8Pseudo_UPD, in Select()
4399 ARM::VLD4DUPd16Pseudo_UPD, in Select()
4400 ARM::VLD4DUPd32Pseudo_UPD, in Select()
4401 ARM::VLD1d64QPseudoWB_fixed }; in Select()
4402 static const uint16_t QOpcodes0[] = { ARM::VLD4DUPq8EvenPseudo, in Select()
4403 ARM::VLD4DUPq16EvenPseudo, in Select()
4404 ARM::VLD4DUPq32EvenPseudo }; in Select()
4405 static const uint16_t QOpcodes1[] = { ARM::VLD4DUPq8OddPseudo_UPD, in Select()
4406 ARM::VLD4DUPq16OddPseudo_UPD, in Select()
4407 ARM::VLD4DUPq32OddPseudo_UPD }; in Select()
4413 static const uint16_t DOpcodes[] = { ARM::VLD1d8wb_fixed, in Select()
4414 ARM::VLD1d16wb_fixed, in Select()
4415 ARM::VLD1d32wb_fixed, in Select()
4416 ARM::VLD1d64wb_fixed }; in Select()
4417 static const uint16_t QOpcodes[] = { ARM::VLD1q8wb_fixed, in Select()
4418 ARM::VLD1q16wb_fixed, in Select()
4419 ARM::VLD1q32wb_fixed, in Select()
4420 ARM::VLD1q64wb_fixed }; in Select()
4428 ARM::VLD2d8wb_fixed, ARM::VLD2d16wb_fixed, ARM::VLD2d32wb_fixed, in Select()
4429 ARM::VLD1q64wb_fixed}; in Select()
4430 static const uint16_t QOpcodes[] = {ARM::VLD2q8PseudoWB_fixed, in Select()
4431 ARM::VLD2q16PseudoWB_fixed, in Select()
4432 ARM::VLD2q32PseudoWB_fixed}; in Select()
4435 static const uint16_t Opcodes8[] = {ARM::MVE_VLD20_8, in Select()
4436 ARM::MVE_VLD21_8_wb}; in Select()
4437 static const uint16_t Opcodes16[] = {ARM::MVE_VLD20_16, in Select()
4438 ARM::MVE_VLD21_16_wb}; in Select()
4439 static const uint16_t Opcodes32[] = {ARM::MVE_VLD20_32, in Select()
4440 ARM::MVE_VLD21_32_wb}; in Select()
4448 static const uint16_t DOpcodes[] = { ARM::VLD3d8Pseudo_UPD, in Select()
4449 ARM::VLD3d16Pseudo_UPD, in Select()
4450 ARM::VLD3d32Pseudo_UPD, in Select()
4451 ARM::VLD1d64TPseudoWB_fixed}; in Select()
4452 static const uint16_t QOpcodes0[] = { ARM::VLD3q8Pseudo_UPD, in Select()
4453 ARM::VLD3q16Pseudo_UPD, in Select()
4454 ARM::VLD3q32Pseudo_UPD }; in Select()
4455 static const uint16_t QOpcodes1[] = { ARM::VLD3q8oddPseudo_UPD, in Select()
4456 ARM::VLD3q16oddPseudo_UPD, in Select()
4457 ARM::VLD3q32oddPseudo_UPD }; in Select()
4465 ARM::VLD4d8Pseudo_UPD, ARM::VLD4d16Pseudo_UPD, ARM::VLD4d32Pseudo_UPD, in Select()
4466 ARM::VLD1d64QPseudoWB_fixed}; in Select()
4467 static const uint16_t QOpcodes0[] = {ARM::VLD4q8Pseudo_UPD, in Select()
4468 ARM::VLD4q16Pseudo_UPD, in Select()
4469 ARM::VLD4q32Pseudo_UPD}; in Select()
4470 static const uint16_t QOpcodes1[] = {ARM::VLD4q8oddPseudo_UPD, in Select()
4471 ARM::VLD4q16oddPseudo_UPD, in Select()
4472 ARM::VLD4q32oddPseudo_UPD}; in Select()
4475 static const uint16_t Opcodes8[] = {ARM::MVE_VLD40_8, ARM::MVE_VLD41_8, in Select()
4476 ARM::MVE_VLD42_8, in Select()
4477 ARM::MVE_VLD43_8_wb}; in Select()
4478 static const uint16_t Opcodes16[] = {ARM::MVE_VLD40_16, ARM::MVE_VLD41_16, in Select()
4479 ARM::MVE_VLD42_16, in Select()
4480 ARM::MVE_VLD43_16_wb}; in Select()
4481 static const uint16_t Opcodes32[] = {ARM::MVE_VLD40_32, ARM::MVE_VLD41_32, in Select()
4482 ARM::MVE_VLD42_32, in Select()
4483 ARM::MVE_VLD43_32_wb}; in Select()
4493 ARM::VLD1q8wb_fixed, ARM::VLD1q16wb_fixed, ARM::VLD1q32wb_fixed, in Select()
4494 ARM::VLD1q64wb_fixed}; in Select()
4496 ARM::VLD1d8QPseudoWB_fixed, ARM::VLD1d16QPseudoWB_fixed, in Select()
4497 ARM::VLD1d32QPseudoWB_fixed, ARM::VLD1d64QPseudoWB_fixed}; in Select()
4507 ARM::VLD1d8TPseudoWB_fixed, ARM::VLD1d16TPseudoWB_fixed, in Select()
4508 ARM::VLD1d32TPseudoWB_fixed, ARM::VLD1d64TPseudoWB_fixed}; in Select()
4510 ARM::VLD1q8LowTPseudo_UPD, ARM::VLD1q16LowTPseudo_UPD, in Select()
4511 ARM::VLD1q32LowTPseudo_UPD, ARM::VLD1q64LowTPseudo_UPD}; in Select()
4513 ARM::VLD1q8HighTPseudo_UPD, ARM::VLD1q16HighTPseudo_UPD, in Select()
4514 ARM::VLD1q32HighTPseudo_UPD, ARM::VLD1q64HighTPseudo_UPD}; in Select()
4524 ARM::VLD1d8QPseudoWB_fixed, ARM::VLD1d16QPseudoWB_fixed, in Select()
4525 ARM::VLD1d32QPseudoWB_fixed, ARM::VLD1d64QPseudoWB_fixed}; in Select()
4527 ARM::VLD1q8LowQPseudo_UPD, ARM::VLD1q16LowQPseudo_UPD, in Select()
4528 ARM::VLD1q32LowQPseudo_UPD, ARM::VLD1q64LowQPseudo_UPD}; in Select()
4530 ARM::VLD1q8HighQPseudo_UPD, ARM::VLD1q16HighQPseudo_UPD, in Select()
4531 ARM::VLD1q32HighQPseudo_UPD, ARM::VLD1q64HighQPseudo_UPD}; in Select()
4539 static const uint16_t DOpcodes[] = { ARM::VLD2LNd8Pseudo_UPD, in Select()
4540 ARM::VLD2LNd16Pseudo_UPD, in Select()
4541 ARM::VLD2LNd32Pseudo_UPD }; in Select()
4542 static const uint16_t QOpcodes[] = { ARM::VLD2LNq16Pseudo_UPD, in Select()
4543 ARM::VLD2LNq32Pseudo_UPD }; in Select()
4549 static const uint16_t DOpcodes[] = { ARM::VLD3LNd8Pseudo_UPD, in Select()
4550 ARM::VLD3LNd16Pseudo_UPD, in Select()
4551 ARM::VLD3LNd32Pseudo_UPD }; in Select()
4552 static const uint16_t QOpcodes[] = { ARM::VLD3LNq16Pseudo_UPD, in Select()
4553 ARM::VLD3LNq32Pseudo_UPD }; in Select()
4559 static const uint16_t DOpcodes[] = { ARM::VLD4LNd8Pseudo_UPD, in Select()
4560 ARM::VLD4LNd16Pseudo_UPD, in Select()
4561 ARM::VLD4LNd32Pseudo_UPD }; in Select()
4562 static const uint16_t QOpcodes[] = { ARM::VLD4LNq16Pseudo_UPD, in Select()
4563 ARM::VLD4LNq32Pseudo_UPD }; in Select()
4569 static const uint16_t DOpcodes[] = { ARM::VST1d8wb_fixed, in Select()
4570 ARM::VST1d16wb_fixed, in Select()
4571 ARM::VST1d32wb_fixed, in Select()
4572 ARM::VST1d64wb_fixed }; in Select()
4573 static const uint16_t QOpcodes[] = { ARM::VST1q8wb_fixed, in Select()
4574 ARM::VST1q16wb_fixed, in Select()
4575 ARM::VST1q32wb_fixed, in Select()
4576 ARM::VST1q64wb_fixed }; in Select()
4584 ARM::VST2d8wb_fixed, ARM::VST2d16wb_fixed, ARM::VST2d32wb_fixed, in Select()
4585 ARM::VST1q64wb_fixed}; in Select()
4586 static const uint16_t QOpcodes[] = {ARM::VST2q8PseudoWB_fixed, in Select()
4587 ARM::VST2q16PseudoWB_fixed, in Select()
4588 ARM::VST2q32PseudoWB_fixed}; in Select()
4596 static const uint16_t DOpcodes[] = { ARM::VST3d8Pseudo_UPD, in Select()
4597 ARM::VST3d16Pseudo_UPD, in Select()
4598 ARM::VST3d32Pseudo_UPD, in Select()
4599 ARM::VST1d64TPseudoWB_fixed}; in Select()
4600 static const uint16_t QOpcodes0[] = { ARM::VST3q8Pseudo_UPD, in Select()
4601 ARM::VST3q16Pseudo_UPD, in Select()
4602 ARM::VST3q32Pseudo_UPD }; in Select()
4603 static const uint16_t QOpcodes1[] = { ARM::VST3q8oddPseudo_UPD, in Select()
4604 ARM::VST3q16oddPseudo_UPD, in Select()
4605 ARM::VST3q32oddPseudo_UPD }; in Select()
4613 ARM::VST4d8Pseudo_UPD, ARM::VST4d16Pseudo_UPD, ARM::VST4d32Pseudo_UPD, in Select()
4614 ARM::VST1d64QPseudoWB_fixed}; in Select()
4615 static const uint16_t QOpcodes0[] = {ARM::VST4q8Pseudo_UPD, in Select()
4616 ARM::VST4q16Pseudo_UPD, in Select()
4617 ARM::VST4q32Pseudo_UPD}; in Select()
4618 static const uint16_t QOpcodes1[] = {ARM::VST4q8oddPseudo_UPD, in Select()
4619 ARM::VST4q16oddPseudo_UPD, in Select()
4620 ARM::VST4q32oddPseudo_UPD}; in Select()
4629 static const uint16_t DOpcodes[] = { ARM::VST1q8wb_fixed, in Select()
4630 ARM::VST1q16wb_fixed, in Select()
4631 ARM::VST1q32wb_fixed, in Select()
4632 ARM::VST1q64wb_fixed}; in Select()
4633 static const uint16_t QOpcodes[] = { ARM::VST1d8QPseudoWB_fixed, in Select()
4634 ARM::VST1d16QPseudoWB_fixed, in Select()
4635 ARM::VST1d32QPseudoWB_fixed, in Select()
4636 ARM::VST1d64QPseudoWB_fixed }; in Select()
4645 static const uint16_t DOpcodes[] = { ARM::VST1d8TPseudoWB_fixed, in Select()
4646 ARM::VST1d16TPseudoWB_fixed, in Select()
4647 ARM::VST1d32TPseudoWB_fixed, in Select()
4648 ARM::VST1d64TPseudoWB_fixed }; in Select()
4649 static const uint16_t QOpcodes0[] = { ARM::VST1q8LowTPseudo_UPD, in Select()
4650 ARM::VST1q16LowTPseudo_UPD, in Select()
4651 ARM::VST1q32LowTPseudo_UPD, in Select()
4652 ARM::VST1q64LowTPseudo_UPD }; in Select()
4653 static const uint16_t QOpcodes1[] = { ARM::VST1q8HighTPseudo_UPD, in Select()
4654 ARM::VST1q16HighTPseudo_UPD, in Select()
4655 ARM::VST1q32HighTPseudo_UPD, in Select()
4656 ARM::VST1q64HighTPseudo_UPD }; in Select()
4665 static const uint16_t DOpcodes[] = { ARM::VST1d8QPseudoWB_fixed, in Select()
4666 ARM::VST1d16QPseudoWB_fixed, in Select()
4667 ARM::VST1d32QPseudoWB_fixed, in Select()
4668 ARM::VST1d64QPseudoWB_fixed }; in Select()
4669 static const uint16_t QOpcodes0[] = { ARM::VST1q8LowQPseudo_UPD, in Select()
4670 ARM::VST1q16LowQPseudo_UPD, in Select()
4671 ARM::VST1q32LowQPseudo_UPD, in Select()
4672 ARM::VST1q64LowQPseudo_UPD }; in Select()
4673 static const uint16_t QOpcodes1[] = { ARM::VST1q8HighQPseudo_UPD, in Select()
4674 ARM::VST1q16HighQPseudo_UPD, in Select()
4675 ARM::VST1q32HighQPseudo_UPD, in Select()
4676 ARM::VST1q64HighQPseudo_UPD }; in Select()
4683 static const uint16_t DOpcodes[] = { ARM::VST2LNd8Pseudo_UPD, in Select()
4684 ARM::VST2LNd16Pseudo_UPD, in Select()
4685 ARM::VST2LNd32Pseudo_UPD }; in Select()
4686 static const uint16_t QOpcodes[] = { ARM::VST2LNq16Pseudo_UPD, in Select()
4687 ARM::VST2LNq32Pseudo_UPD }; in Select()
4693 static const uint16_t DOpcodes[] = { ARM::VST3LNd8Pseudo_UPD, in Select()
4694 ARM::VST3LNd16Pseudo_UPD, in Select()
4695 ARM::VST3LNd32Pseudo_UPD }; in Select()
4696 static const uint16_t QOpcodes[] = { ARM::VST3LNq16Pseudo_UPD, in Select()
4697 ARM::VST3LNq32Pseudo_UPD }; in Select()
4703 static const uint16_t DOpcodes[] = { ARM::VST4LNd8Pseudo_UPD, in Select()
4704 ARM::VST4LNd16Pseudo_UPD, in Select()
4705 ARM::VST4LNd32Pseudo_UPD }; in Select()
4706 static const uint16_t QOpcodes[] = { ARM::VST4LNq16Pseudo_UPD, in Select()
4707 ARM::VST4LNq32Pseudo_UPD }; in Select()
4726 Opc = (IntNo == Intrinsic::arm_mrrc ? ARM::t2MRRC : ARM::t2MRRC2); in Select()
4728 Opc = (IntNo == Intrinsic::arm_mrrc ? ARM::MRRC : ARM::MRRC2); in Select()
4738 if (Opc != ARM::MRRC2) { in Select()
4759 unsigned NewOpc = isThumb ? (IsAcquire ? ARM::t2LDAEXD : ARM::t2LDREXD) in Select()
4760 : (IsAcquire ? ARM::LDAEXD : ARM::LDREXD); in Select()
4787 CurDAG->getTargetConstant(ARM::gsub_0, dl, MVT::i32); in Select()
4800 CurDAG->getTargetConstant(ARM::gsub_1, dl, MVT::i32); in Select()
4838 unsigned NewOpc = isThumb ? (IsRelease ? ARM::t2STLEXD : ARM::t2STREXD) in Select()
4839 : (IsRelease ? ARM::STLEXD : ARM::STREXD); in Select()
4851 static const uint16_t DOpcodes[] = { ARM::VLD1d8, ARM::VLD1d16, in Select()
4852 ARM::VLD1d32, ARM::VLD1d64 }; in Select()
4853 static const uint16_t QOpcodes[] = { ARM::VLD1q8, ARM::VLD1q16, in Select()
4854 ARM::VLD1q32, ARM::VLD1q64}; in Select()
4860 static const uint16_t DOpcodes[] = { ARM::VLD1q8, ARM::VLD1q16, in Select()
4861 ARM::VLD1q32, ARM::VLD1q64 }; in Select()
4862 static const uint16_t QOpcodes[] = { ARM::VLD1d8QPseudo, in Select()
4863 ARM::VLD1d16QPseudo, in Select()
4864 ARM::VLD1d32QPseudo, in Select()
4865 ARM::VLD1d64QPseudo }; in Select()
4871 static const uint16_t DOpcodes[] = { ARM::VLD1d8TPseudo, in Select()
4872 ARM::VLD1d16TPseudo, in Select()
4873 ARM::VLD1d32TPseudo, in Select()
4874 ARM::VLD1d64TPseudo }; in Select()
4875 static const uint16_t QOpcodes0[] = { ARM::VLD1q8LowTPseudo_UPD, in Select()
4876 ARM::VLD1q16LowTPseudo_UPD, in Select()
4877 ARM::VLD1q32LowTPseudo_UPD, in Select()
4878 ARM::VLD1q64LowTPseudo_UPD }; in Select()
4879 static const uint16_t QOpcodes1[] = { ARM::VLD1q8HighTPseudo, in Select()
4880 ARM::VLD1q16HighTPseudo, in Select()
4881 ARM::VLD1q32HighTPseudo, in Select()
4882 ARM::VLD1q64HighTPseudo }; in Select()
4888 static const uint16_t DOpcodes[] = { ARM::VLD1d8QPseudo, in Select()
4889 ARM::VLD1d16QPseudo, in Select()
4890 ARM::VLD1d32QPseudo, in Select()
4891 ARM::VLD1d64QPseudo }; in Select()
4892 static const uint16_t QOpcodes0[] = { ARM::VLD1q8LowQPseudo_UPD, in Select()
4893 ARM::VLD1q16LowQPseudo_UPD, in Select()
4894 ARM::VLD1q32LowQPseudo_UPD, in Select()
4895 ARM::VLD1q64LowQPseudo_UPD }; in Select()
4896 static const uint16_t QOpcodes1[] = { ARM::VLD1q8HighQPseudo, in Select()
4897 ARM::VLD1q16HighQPseudo, in Select()
4898 ARM::VLD1q32HighQPseudo, in Select()
4899 ARM::VLD1q64HighQPseudo }; in Select()
4905 static const uint16_t DOpcodes[] = { ARM::VLD2d8, ARM::VLD2d16, in Select()
4906 ARM::VLD2d32, ARM::VLD1q64 }; in Select()
4907 static const uint16_t QOpcodes[] = { ARM::VLD2q8Pseudo, ARM::VLD2q16Pseudo, in Select()
4908 ARM::VLD2q32Pseudo }; in Select()
4914 static const uint16_t DOpcodes[] = { ARM::VLD3d8Pseudo, in Select()
4915 ARM::VLD3d16Pseudo, in Select()
4916 ARM::VLD3d32Pseudo, in Select()
4917 ARM::VLD1d64TPseudo }; in Select()
4918 static const uint16_t QOpcodes0[] = { ARM::VLD3q8Pseudo_UPD, in Select()
4919 ARM::VLD3q16Pseudo_UPD, in Select()
4920 ARM::VLD3q32Pseudo_UPD }; in Select()
4921 static const uint16_t QOpcodes1[] = { ARM::VLD3q8oddPseudo, in Select()
4922 ARM::VLD3q16oddPseudo, in Select()
4923 ARM::VLD3q32oddPseudo }; in Select()
4929 static const uint16_t DOpcodes[] = { ARM::VLD4d8Pseudo, in Select()
4930 ARM::VLD4d16Pseudo, in Select()
4931 ARM::VLD4d32Pseudo, in Select()
4932 ARM::VLD1d64QPseudo }; in Select()
4933 static const uint16_t QOpcodes0[] = { ARM::VLD4q8Pseudo_UPD, in Select()
4934 ARM::VLD4q16Pseudo_UPD, in Select()
4935 ARM::VLD4q32Pseudo_UPD }; in Select()
4936 static const uint16_t QOpcodes1[] = { ARM::VLD4q8oddPseudo, in Select()
4937 ARM::VLD4q16oddPseudo, in Select()
4938 ARM::VLD4q32oddPseudo }; in Select()
4944 static const uint16_t DOpcodes[] = { ARM::VLD2DUPd8, ARM::VLD2DUPd16, in Select()
4945 ARM::VLD2DUPd32, ARM::VLD1q64 }; in Select()
4946 static const uint16_t QOpcodes0[] = { ARM::VLD2DUPq8EvenPseudo, in Select()
4947 ARM::VLD2DUPq16EvenPseudo, in Select()
4948 ARM::VLD2DUPq32EvenPseudo }; in Select()
4949 static const uint16_t QOpcodes1[] = { ARM::VLD2DUPq8OddPseudo, in Select()
4950 ARM::VLD2DUPq16OddPseudo, in Select()
4951 ARM::VLD2DUPq32OddPseudo }; in Select()
4958 static const uint16_t DOpcodes[] = { ARM::VLD3DUPd8Pseudo, in Select()
4959 ARM::VLD3DUPd16Pseudo, in Select()
4960 ARM::VLD3DUPd32Pseudo, in Select()
4961 ARM::VLD1d64TPseudo }; in Select()
4962 static const uint16_t QOpcodes0[] = { ARM::VLD3DUPq8EvenPseudo, in Select()
4963 ARM::VLD3DUPq16EvenPseudo, in Select()
4964 ARM::VLD3DUPq32EvenPseudo }; in Select()
4965 static const uint16_t QOpcodes1[] = { ARM::VLD3DUPq8OddPseudo, in Select()
4966 ARM::VLD3DUPq16OddPseudo, in Select()
4967 ARM::VLD3DUPq32OddPseudo }; in Select()
4974 static const uint16_t DOpcodes[] = { ARM::VLD4DUPd8Pseudo, in Select()
4975 ARM::VLD4DUPd16Pseudo, in Select()
4976 ARM::VLD4DUPd32Pseudo, in Select()
4977 ARM::VLD1d64QPseudo }; in Select()
4978 static const uint16_t QOpcodes0[] = { ARM::VLD4DUPq8EvenPseudo, in Select()
4979 ARM::VLD4DUPq16EvenPseudo, in Select()
4980 ARM::VLD4DUPq32EvenPseudo }; in Select()
4981 static const uint16_t QOpcodes1[] = { ARM::VLD4DUPq8OddPseudo, in Select()
4982 ARM::VLD4DUPq16OddPseudo, in Select()
4983 ARM::VLD4DUPq32OddPseudo }; in Select()
4990 static const uint16_t DOpcodes[] = { ARM::VLD2LNd8Pseudo, in Select()
4991 ARM::VLD2LNd16Pseudo, in Select()
4992 ARM::VLD2LNd32Pseudo }; in Select()
4993 static const uint16_t QOpcodes[] = { ARM::VLD2LNq16Pseudo, in Select()
4994 ARM::VLD2LNq32Pseudo }; in Select()
5000 static const uint16_t DOpcodes[] = { ARM::VLD3LNd8Pseudo, in Select()
5001 ARM::VLD3LNd16Pseudo, in Select()
5002 ARM::VLD3LNd32Pseudo }; in Select()
5003 static const uint16_t QOpcodes[] = { ARM::VLD3LNq16Pseudo, in Select()
5004 ARM::VLD3LNq32Pseudo }; in Select()
5010 static const uint16_t DOpcodes[] = { ARM::VLD4LNd8Pseudo, in Select()
5011 ARM::VLD4LNd16Pseudo, in Select()
5012 ARM::VLD4LNd32Pseudo }; in Select()
5013 static const uint16_t QOpcodes[] = { ARM::VLD4LNq16Pseudo, in Select()
5014 ARM::VLD4LNq32Pseudo }; in Select()
5020 static const uint16_t DOpcodes[] = { ARM::VST1d8, ARM::VST1d16, in Select()
5021 ARM::VST1d32, ARM::VST1d64 }; in Select()
5022 static const uint16_t QOpcodes[] = { ARM::VST1q8, ARM::VST1q16, in Select()
5023 ARM::VST1q32, ARM::VST1q64 }; in Select()
5029 static const uint16_t DOpcodes[] = { ARM::VST1q8, ARM::VST1q16, in Select()
5030 ARM::VST1q32, ARM::VST1q64 }; in Select()
5031 static const uint16_t QOpcodes[] = { ARM::VST1d8QPseudo, in Select()
5032 ARM::VST1d16QPseudo, in Select()
5033 ARM::VST1d32QPseudo, in Select()
5034 ARM::VST1d64QPseudo }; in Select()
5040 static const uint16_t DOpcodes[] = { ARM::VST1d8TPseudo, in Select()
5041 ARM::VST1d16TPseudo, in Select()
5042 ARM::VST1d32TPseudo, in Select()
5043 ARM::VST1d64TPseudo }; in Select()
5044 static const uint16_t QOpcodes0[] = { ARM::VST1q8LowTPseudo_UPD, in Select()
5045 ARM::VST1q16LowTPseudo_UPD, in Select()
5046 ARM::VST1q32LowTPseudo_UPD, in Select()
5047 ARM::VST1q64LowTPseudo_UPD }; in Select()
5048 static const uint16_t QOpcodes1[] = { ARM::VST1q8HighTPseudo, in Select()
5049 ARM::VST1q16HighTPseudo, in Select()
5050 ARM::VST1q32HighTPseudo, in Select()
5051 ARM::VST1q64HighTPseudo }; in Select()
5057 static const uint16_t DOpcodes[] = { ARM::VST1d8QPseudo, in Select()
5058 ARM::VST1d16QPseudo, in Select()
5059 ARM::VST1d32QPseudo, in Select()
5060 ARM::VST1d64QPseudo }; in Select()
5061 static const uint16_t QOpcodes0[] = { ARM::VST1q8LowQPseudo_UPD, in Select()
5062 ARM::VST1q16LowQPseudo_UPD, in Select()
5063 ARM::VST1q32LowQPseudo_UPD, in Select()
5064 ARM::VST1q64LowQPseudo_UPD }; in Select()
5065 static const uint16_t QOpcodes1[] = { ARM::VST1q8HighQPseudo, in Select()
5066 ARM::VST1q16HighQPseudo, in Select()
5067 ARM::VST1q32HighQPseudo, in Select()
5068 ARM::VST1q64HighQPseudo }; in Select()
5074 static const uint16_t DOpcodes[] = { ARM::VST2d8, ARM::VST2d16, in Select()
5075 ARM::VST2d32, ARM::VST1q64 }; in Select()
5076 static const uint16_t QOpcodes[] = { ARM::VST2q8Pseudo, ARM::VST2q16Pseudo, in Select()
5077 ARM::VST2q32Pseudo }; in Select()
5083 static const uint16_t DOpcodes[] = { ARM::VST3d8Pseudo, in Select()
5084 ARM::VST3d16Pseudo, in Select()
5085 ARM::VST3d32Pseudo, in Select()
5086 ARM::VST1d64TPseudo }; in Select()
5087 static const uint16_t QOpcodes0[] = { ARM::VST3q8Pseudo_UPD, in Select()
5088 ARM::VST3q16Pseudo_UPD, in Select()
5089 ARM::VST3q32Pseudo_UPD }; in Select()
5090 static const uint16_t QOpcodes1[] = { ARM::VST3q8oddPseudo, in Select()
5091 ARM::VST3q16oddPseudo, in Select()
5092 ARM::VST3q32oddPseudo }; in Select()
5098 static const uint16_t DOpcodes[] = { ARM::VST4d8Pseudo, in Select()
5099 ARM::VST4d16Pseudo, in Select()
5100 ARM::VST4d32Pseudo, in Select()
5101 ARM::VST1d64QPseudo }; in Select()
5102 static const uint16_t QOpcodes0[] = { ARM::VST4q8Pseudo_UPD, in Select()
5103 ARM::VST4q16Pseudo_UPD, in Select()
5104 ARM::VST4q32Pseudo_UPD }; in Select()
5105 static const uint16_t QOpcodes1[] = { ARM::VST4q8oddPseudo, in Select()
5106 ARM::VST4q16oddPseudo, in Select()
5107 ARM::VST4q32oddPseudo }; in Select()
5113 static const uint16_t DOpcodes[] = { ARM::VST2LNd8Pseudo, in Select()
5114 ARM::VST2LNd16Pseudo, in Select()
5115 ARM::VST2LNd32Pseudo }; in Select()
5116 static const uint16_t QOpcodes[] = { ARM::VST2LNq16Pseudo, in Select()
5117 ARM::VST2LNq32Pseudo }; in Select()
5123 static const uint16_t DOpcodes[] = { ARM::VST3LNd8Pseudo, in Select()
5124 ARM::VST3LNd16Pseudo, in Select()
5125 ARM::VST3LNd32Pseudo }; in Select()
5126 static const uint16_t QOpcodes[] = { ARM::VST3LNq16Pseudo, in Select()
5127 ARM::VST3LNq32Pseudo }; in Select()
5133 static const uint16_t DOpcodes[] = { ARM::VST4LNd8Pseudo, in Select()
5134 ARM::VST4LNd16Pseudo, in Select()
5135 ARM::VST4LNd32Pseudo }; in Select()
5136 static const uint16_t QOpcodes[] = { ARM::VST4LNq16Pseudo, in Select()
5137 ARM::VST4LNq32Pseudo }; in Select()
5144 static const uint16_t Opcodes[] = {ARM::MVE_VLDRWU32_qi_pre, in Select()
5145 ARM::MVE_VLDRDU64_qi_pre}; in Select()
5152 static const uint16_t Opcodes8[] = {ARM::MVE_VLD20_8, ARM::MVE_VLD21_8}; in Select()
5153 static const uint16_t Opcodes16[] = {ARM::MVE_VLD20_16, in Select()
5154 ARM::MVE_VLD21_16}; in Select()
5155 static const uint16_t Opcodes32[] = {ARM::MVE_VLD20_32, in Select()
5156 ARM::MVE_VLD21_32}; in Select()
5163 static const uint16_t Opcodes8[] = {ARM::MVE_VLD40_8, ARM::MVE_VLD41_8, in Select()
5164 ARM::MVE_VLD42_8, ARM::MVE_VLD43_8}; in Select()
5165 static const uint16_t Opcodes16[] = {ARM::MVE_VLD40_16, ARM::MVE_VLD41_16, in Select()
5166 ARM::MVE_VLD42_16, in Select()
5167 ARM::MVE_VLD43_16}; in Select()
5168 static const uint16_t Opcodes32[] = {ARM::MVE_VLD40_32, ARM::MVE_VLD41_32, in Select()
5169 ARM::MVE_VLD42_32, in Select()
5170 ARM::MVE_VLD43_32}; in Select()
5193 CurDAG->SelectNodeTo(N, ARM::BF16_VCVTB, DestTy, Ops); in Select()
5204 CurDAG->SelectNodeTo(N, ARM::BF16_VCVT, MVT::v4bf16, Ops); in Select()
5209 SelectMVE_LongShift(N, ARM::MVE_URSHRL, true, false); in Select()
5212 SelectMVE_LongShift(N, ARM::MVE_UQSHLL, true, false); in Select()
5215 SelectMVE_LongShift(N, ARM::MVE_SRSHRL, true, false); in Select()
5218 SelectMVE_LongShift(N, ARM::MVE_SQSHLL, true, false); in Select()
5221 SelectMVE_LongShift(N, ARM::MVE_UQRSHLL, false, true); in Select()
5224 SelectMVE_LongShift(N, ARM::MVE_SQRSHRL, false, true); in Select()
5229 SelectMVE_VADCSBC(N, ARM::MVE_VADC, ARM::MVE_VADCI, true, in Select()
5234 SelectMVE_VADCSBC(N, ARM::MVE_VSBC, ARM::MVE_VSBCI, true, in Select()
5245 ARM::MVE_VMLALDAVu16, ARM::MVE_VMLALDAVu32, in Select()
5246 ARM::MVE_VMLALDAVau16, ARM::MVE_VMLALDAVau32, in Select()
5249 ARM::MVE_VMLALDAVs16, ARM::MVE_VMLALDAVs32, in Select()
5250 ARM::MVE_VMLALDAVas16, ARM::MVE_VMLALDAVas32, in Select()
5251 ARM::MVE_VMLALDAVxs16, ARM::MVE_VMLALDAVxs32, in Select()
5252 ARM::MVE_VMLALDAVaxs16, ARM::MVE_VMLALDAVaxs32, in Select()
5253 ARM::MVE_VMLSLDAVs16, ARM::MVE_VMLSLDAVs32, in Select()
5254 ARM::MVE_VMLSLDAVas16, ARM::MVE_VMLSLDAVas32, in Select()
5255 ARM::MVE_VMLSLDAVxs16, ARM::MVE_VMLSLDAVxs32, in Select()
5256 ARM::MVE_VMLSLDAVaxs16, ARM::MVE_VMLSLDAVaxs32, in Select()
5266 ARM::MVE_VRMLALDAVHu32, ARM::MVE_VRMLALDAVHau32, in Select()
5269 ARM::MVE_VRMLALDAVHs32, ARM::MVE_VRMLALDAVHas32, in Select()
5270 ARM::MVE_VRMLALDAVHxs32, ARM::MVE_VRMLALDAVHaxs32, in Select()
5271 ARM::MVE_VRMLSLDAVHs32, ARM::MVE_VRMLSLDAVHas32, in Select()
5272 ARM::MVE_VRMLSLDAVHxs32, ARM::MVE_VRMLSLDAVHaxs32, in Select()
5282 ARM::MVE_VIDUPu8, ARM::MVE_VIDUPu16, ARM::MVE_VIDUPu32, in Select()
5292 ARM::MVE_VDDUPu8, ARM::MVE_VDDUPu16, ARM::MVE_VDDUPu32, in Select()
5302 ARM::MVE_VIWDUPu8, ARM::MVE_VIWDUPu16, ARM::MVE_VIWDUPu32, in Select()
5312 ARM::MVE_VDWDUPu8, ARM::MVE_VDWDUPu16, ARM::MVE_VDWDUPu32, in Select()
5334 Opcode = HasAccum ? ARM::CDE_CX1DA : ARM::CDE_CX1D; in Select()
5339 Opcode = HasAccum ? ARM::CDE_CX2DA : ARM::CDE_CX2D; in Select()
5344 Opcode = HasAccum ? ARM::CDE_CX3DA : ARM::CDE_CX3D; in Select()
5506 Opcode = IsThumb2 ? ARM::t2MRC : ARM::MRC; in tryReadRegister()
5511 Opcode = IsThumb2 ? ARM::t2MRRC : ARM::MRRC; in tryReadRegister()
5530 N, CurDAG->getMachineNode(IsThumb2 ? ARM::t2MRSbanked : ARM::MRSbanked, in tryReadRegister()
5539 .Case("fpscr", ARM::VMRS) in tryReadRegister()
5540 .Case("fpexc", ARM::VMRS_FPEXC) in tryReadRegister()
5541 .Case("fpsid", ARM::VMRS_FPSID) in tryReadRegister()
5542 .Case("mvfr0", ARM::VMRS_MVFR0) in tryReadRegister()
5543 .Case("mvfr1", ARM::VMRS_MVFR1) in tryReadRegister()
5544 .Case("mvfr2", ARM::VMRS_MVFR2) in tryReadRegister()
5545 .Case("fpinst", ARM::VMRS_FPINST) in tryReadRegister()
5546 .Case("fpinst2", ARM::VMRS_FPINST2) in tryReadRegister()
5553 if (Opcode == ARM::VMRS_MVFR2 && !Subtarget->hasFPARMv8Base()) in tryReadRegister()
5575 N, CurDAG->getMachineNode(ARM::t2MRS_M, DL, MVT::i32, MVT::Other, Ops)); in tryReadRegister()
5584 ReplaceNode(N, CurDAG->getMachineNode(IsThumb2 ? ARM::t2MRS_AR : ARM::MRS, in tryReadRegister()
5593 N, CurDAG->getMachineNode(IsThumb2 ? ARM::t2MRSsys_AR : ARM::MRSsys, DL, in tryReadRegister()
5620 Opcode = IsThumb2 ? ARM::t2MCR : ARM::MCR; in tryWriteRegister()
5625 Opcode = IsThumb2 ? ARM::t2MCRR : ARM::MCRR; in tryWriteRegister()
5645 N, CurDAG->getMachineNode(IsThumb2 ? ARM::t2MSRbanked : ARM::MSRbanked, in tryWriteRegister()
5654 .Case("fpscr", ARM::VMSR) in tryWriteRegister()
5655 .Case("fpexc", ARM::VMSR_FPEXC) in tryWriteRegister()
5656 .Case("fpsid", ARM::VMSR_FPSID) in tryWriteRegister()
5657 .Case("fpinst", ARM::VMSR_FPINST) in tryWriteRegister()
5658 .Case("fpinst2", ARM::VMSR_FPINST2) in tryWriteRegister()
5685 ReplaceNode(N, CurDAG->getMachineNode(ARM::t2MSR_M, DL, MVT::Other, Ops)); in tryWriteRegister()
5697 ReplaceNode(N, CurDAG->getMachineNode(IsThumb2 ? ARM::t2MSR_AR : ARM::MSR, in tryWriteRegister()
5774 if ((!IsTiedToChangedOp && (!HasRC || RC != ARM::GPRRegClassID)) in tryInlineAsm()
5790 Register GPVR = MRI.createVirtualRegister(&ARM::GPRPairRegClass); in tryInlineAsm()
5799 SDValue Sub0 = CurDAG->getTargetExtractSubreg(ARM::gsub_0, dl, MVT::i32, in tryInlineAsm()
5801 SDValue Sub1 = CurDAG->getTargetExtractSubreg(ARM::gsub_1, dl, MVT::i32, in tryInlineAsm()
5825 Register GPVR = MRI.createVirtualRegister(&ARM::GPRPairRegClass); in tryInlineAsm()
5841 Flag.setRegClass(ARM::GPRPairRegClassID); in tryInlineAsm()