Lines Matching refs:NumVecs
204 void SelectVLD(SDNode *N, bool isUpdating, unsigned NumVecs,
212 void SelectVST(SDNode *N, bool isUpdating, unsigned NumVecs,
220 unsigned NumVecs, const uint16_t *DOpcodes,
226 void SelectVLDDup(SDNode *N, bool isUpdating, unsigned NumVecs,
232 void SelectVTBL(SDNode *N, bool IsExt, unsigned NumVecs, unsigned Opc);
268 SDValue GetVLDSTAlign(SDValue Align, const SDLoc &dl, unsigned NumVecs,
1688 unsigned NumVecs, bool is64BitVector) { in GetVLDSTAlign() argument
1689 unsigned NumRegs = NumVecs; in GetVLDSTAlign()
1690 if (!is64BitVector && NumVecs < 3) in GetVLDSTAlign()
1808 void ARMDAGToDAGISel::SelectVLD(SDNode *N, bool isUpdating, unsigned NumVecs, in SelectVLD() argument
1812 assert(NumVecs >= 1 && NumVecs <= 4 && "VLD NumVecs out-of-range"); in SelectVLD()
1823 Align = GetVLDSTAlign(Align, dl, NumVecs, is64BitVector); in SelectVLD()
1841 assert(NumVecs == 1 && "v2i64 type only supported for VLD1"); in SelectVLD()
1846 if (NumVecs == 1) in SelectVLD()
1849 unsigned ResTyElts = (NumVecs == 3) ? 4 : NumVecs; in SelectVLD()
1866 if (is64BitVector || NumVecs <= 2) { in SelectVLD()
1875 if ((NumVecs <= 2) && !isa<ConstantSDNode>(Inc.getNode())) in SelectVLD()
1879 if ((NumVecs > 2 && !isVLDfixed(Opc)) || in SelectVLD()
1924 if (NumVecs == 1) { in SelectVLD()
1935 for (unsigned Vec = 0; Vec < NumVecs; ++Vec) in SelectVLD()
1938 ReplaceUses(SDValue(N, NumVecs), SDValue(VLd, 1)); in SelectVLD()
1940 ReplaceUses(SDValue(N, NumVecs + 1), SDValue(VLd, 2)); in SelectVLD()
1944 void ARMDAGToDAGISel::SelectVST(SDNode *N, bool isUpdating, unsigned NumVecs, in SelectVST() argument
1948 assert(NumVecs >= 1 && NumVecs <= 4 && "VST NumVecs out-of-range"); in SelectVST()
1963 Align = GetVLDSTAlign(Align, dl, NumVecs, is64BitVector); in SelectVST()
1981 assert(NumVecs == 1 && "v2i64 type only supported for VST1"); in SelectVST()
1995 if (is64BitVector || NumVecs <= 2) { in SelectVST()
1997 if (NumVecs == 1) { in SelectVST()
2003 if (NumVecs == 2) in SelectVST()
2009 SDValue V3 = (NumVecs == 3) in SelectVST()
2029 if (NumVecs <= 2 && !isa<ConstantSDNode>(Inc.getNode())) in SelectVST()
2035 else if (NumVecs > 2 && !isVSTfixed(Opc)) in SelectVST()
2058 SDValue V3 = (NumVecs == 3) in SelectVST()
2093 unsigned NumVecs, in SelectVLDSTLane() argument
2096 assert(NumVecs >=2 && NumVecs <= 4 && "VLDSTLane NumVecs out-of-range"); in SelectVLDSTLane()
2110 cast<ConstantSDNode>(N->getOperand(Vec0Idx + NumVecs))->getZExtValue(); in SelectVLDSTLane()
2115 if (NumVecs != 3) { in SelectVLDSTLane()
2117 unsigned NumBytes = NumVecs * VT.getVectorElementType().getSizeInBits()/8; in SelectVLDSTLane()
2145 unsigned ResTyElts = (NumVecs == 3) ? 4 : NumVecs; in SelectVLDSTLane()
2169 if (NumVecs == 2) { in SelectVLDSTLane()
2176 SDValue V3 = (NumVecs == 3) in SelectVLDSTLane()
2205 for (unsigned Vec = 0; Vec < NumVecs; ++Vec) in SelectVLDSTLane()
2208 ReplaceUses(SDValue(N, NumVecs), SDValue(VLdLn, 1)); in SelectVLDSTLane()
2210 ReplaceUses(SDValue(N, NumVecs + 1), SDValue(VLdLn, 2)); in SelectVLDSTLane()
2214 void ARMDAGToDAGISel::SelectVLDDup(SDNode *N, bool isUpdating, unsigned NumVecs, in SelectVLDDup() argument
2216 assert(NumVecs >=2 && NumVecs <= 4 && "VLDDup NumVecs out-of-range"); in SelectVLDDup()
2230 if (NumVecs != 3) { in SelectVLDDup()
2232 unsigned NumBytes = NumVecs * VT.getVectorElementType().getSizeInBits()/8; in SelectVLDDup()
2267 else if (NumVecs > 2) in SelectVLDDup()
2274 unsigned ResTyElts = (NumVecs == 3) ? 4 : NumVecs; in SelectVLDDup()
2287 for (unsigned Vec = 0; Vec < NumVecs; ++Vec) in SelectVLDDup()
2290 ReplaceUses(SDValue(N, NumVecs), SDValue(VLdDup, 1)); in SelectVLDDup()
2292 ReplaceUses(SDValue(N, NumVecs + 1), SDValue(VLdDup, 2)); in SelectVLDDup()
2296 void ARMDAGToDAGISel::SelectVTBL(SDNode *N, bool IsExt, unsigned NumVecs, in SelectVTBL() argument
2298 assert(NumVecs >= 2 && NumVecs <= 4 && "VTBL NumVecs out-of-range"); in SelectVTBL()
2307 if (NumVecs == 2) in SelectVTBL()
2313 SDValue V3 = (NumVecs == 3) in SelectVTBL()
2323 Ops.push_back(N->getOperand(FirstTblReg + NumVecs)); in SelectVTBL()