Lines Matching refs:Elem
2319 HexagonTargetLowering::buildVector32(ArrayRef<SDValue> Elem, const SDLoc &dl,
2322 assert(VecTy.getVectorNumElements() == Elem.size());
2324 SmallVector<ConstantInt*,4> Consts(Elem.size());
2325 bool AllConst = getBuildVectorConstInts(Elem, VecTy, DAG, Consts);
2327 unsigned First, Num = Elem.size();
2329 if (!isUndef(Elem[First]))
2339 assert(Elem.size() == 2);
2346 {Elem[1], Elem[0]}, DAG);
2365 if (Elem[i] == Elem[First] || isUndef(Elem[i]))
2372 SDValue Ext = DAG.getZExtOrTrunc(Elem[First], dl, MVT::i32);
2377 // (zxtb(Elem[0]) | (zxtb(Elem[1]) << 8)) |
2378 // (zxtb(Elem[2]) | (zxtb(Elem[3]) << 8)) << 16
2379 assert(Elem.size() == 4);
2382 Vs[i] = DAG.getZExtOrTrunc(Elem[i], dl, MVT::i32);
2402 HexagonTargetLowering::buildVector64(ArrayRef<SDValue> Elem, const SDLoc &dl,
2405 assert(VecTy.getVectorNumElements() == Elem.size());
2407 SmallVector<ConstantInt*,8> Consts(Elem.size());
2408 bool AllConst = getBuildVectorConstInts(Elem, VecTy, DAG, Consts);
2410 unsigned First, Num = Elem.size();
2412 if (!isUndef(Elem[First]))
2427 if (Elem[i] == Elem[First] || isUndef(Elem[i]))
2434 SDValue Ext = DAG.getZExtOrTrunc(Elem[First], dl, MVT::i32);
2454 ? Elem[0]
2455 : buildVector32(Elem.take_front(Num/2), dl, HalfTy, DAG);
2457 ? Elem[1]
2458 : buildVector32(Elem.drop_front(Num/2), dl, HalfTy, DAG);