• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/lib/Target/X86/

Lines Matching refs:IdxVal

5737 static SDValue extractSubVector(SDValue Vec, unsigned IdxVal, SelectionDAG &DAG,
5751 IdxVal &= ~(ElemsPerChunk - 1);
5756 Vec->ops().slice(IdxVal, ElemsPerChunk));
5758 SDValue VecIdx = DAG.getIntPtrConstant(IdxVal, dl);
5768 static SDValue extract128BitVector(SDValue Vec, unsigned IdxVal,
5772 return extractSubVector(Vec, IdxVal, DAG, dl, 128);
5776 static SDValue extract256BitVector(SDValue Vec, unsigned IdxVal,
5779 return extractSubVector(Vec, IdxVal, DAG, dl, 256);
5782 static SDValue insertSubVector(SDValue Result, SDValue Vec, unsigned IdxVal,
5800 IdxVal &= ~(ElemsPerChunk - 1);
5802 SDValue VecIdx = DAG.getIntPtrConstant(IdxVal, dl);
5812 static SDValue insert128BitVector(SDValue Result, SDValue Vec, unsigned IdxVal,
5815 return insertSubVector(Result, Vec, IdxVal, DAG, dl, 128);
6009 unsigned IdxVal = Op.getConstantOperandVal(2);
6015 if (IdxVal == 0 && Vec.isUndef()) // the operation is legal
6029 if (IdxVal == 0 && ISD::isBuildVectorAllZeros(Vec.getNode())) {
6039 assert(IdxVal + SubVecNumElems <= NumElems &&
6040 IdxVal % SubVecVT.getSizeInBits() == 0 &&
6045 if (IdxVal == 0) {
6064 assert(IdxVal != 0 && "Unexpected index");
6066 DAG.getTargetConstant(IdxVal, dl, MVT::i8));
6071 assert(IdxVal != 0 && "Unexpected index");
6074 unsigned ShiftRight = NumElems - SubVecNumElems - IdxVal;
6084 if (IdxVal + SubVecNumElems == NumElems) {
6086 DAG.getTargetConstant(IdxVal, dl, MVT::i8));
6099 SDValue ShiftBits = DAG.getTargetConstant(NumElems - IdxVal, dl, MVT::i8);
6115 unsigned ShiftRight = NumElems - SubVecNumElems - IdxVal;
6119 APInt Mask0 = APInt::getBitsSet(NumElems, IdxVal, IdxVal + SubVecNumElems);
6141 unsigned LowShift = NumElems - IdxVal;
6148 unsigned HighShift = IdxVal + SubVecNumElems;
18102 // If IdxVal is 0, it's cheaper to do a move instead of a pextrb, unless
18165 unsigned IdxVal = IdxC->getZExtValue();
18166 if (IdxVal == 0) // the operation is legal
18181 DAG.getTargetConstant(IdxVal, dl, MVT::i8));
18233 unsigned IdxVal = IdxC->getZExtValue();
18239 Vec = extract128BitVector(Vec, IdxVal, DAG, dl);
18245 // Find IdxVal modulo ElemsPerChunk. Since ElemsPerChunk is a power of 2
18247 IdxVal &= ElemsPerChunk - 1;
18249 DAG.getIntPtrConstant(IdxVal, dl));
18257 // If IdxVal is 0, it's cheaper to do a move instead of a pextrw, unless
18259 if (IdxVal == 0 && !MayFoldIntoZeroExtend(Op) &&
18278 int DWordIdx = IdxVal / 4;
18283 int ShiftVal = (IdxVal % 4) * 8;
18290 int WordIdx = IdxVal / 2;
18294 int ShiftVal = (IdxVal % 2) * 8;
18302 if (IdxVal == 0)
18306 int Mask[4] = { static_cast<int>(IdxVal), -1, -1, -1 };
18316 if (IdxVal == 0)
18375 uint64_t IdxVal = N2C->getZExtValue();
18387 BlendMask.push_back(i == IdxVal ? i + NumElts : i);
18398 if (VT.is256BitVector() && IdxVal == 0) {
18411 SDValue V = extract128BitVector(N0, IdxVal, DAG, dl);
18417 unsigned IdxIn128 = IdxVal & (NumEltsIn128 - 1);
18423 return insert128BitVector(N0, V, IdxVal, DAG, dl);
18428 if (IdxVal == 0 && ISD::isBuildVectorAllZeros(N0.getNode())) {
18462 N2 = DAG.getIntPtrConstant(IdxVal, dl);
18478 if (IdxVal == 0 && (!MinSize || !MayFoldLoad(N1))) {
18493 DAG.getTargetConstant(IdxVal << 4, dl, MVT::i8));
18556 uint64_t IdxVal = Op.getConstantOperandVal(1);
18558 if (IdxVal == 0) // the operation is legal
18575 DAG.getTargetConstant(IdxVal, dl, MVT::i8));
48153 uint64_t IdxVal = N->getConstantOperandVal(2);
48173 DAG.getIntPtrConstant(IdxVal + Idx2Val, dl));
48180 if (SubVec.getOpcode() == ISD::EXTRACT_SUBVECTOR && IdxVal == 0 &&
48201 (IdxVal != 0 ||
48213 Mask[i + IdxVal] = i + ExtIdxVal + VecNumElts;
48239 if (Vec.isUndef() && IdxVal != 0 && SubVec.getOpcode() == X86ISD::VBROADCAST)
48244 if (Vec.isUndef() && IdxVal != 0 && SubVec.hasOneUse() &&
48336 unsigned IdxVal = N->getConstantOperandVal(1);
48378 InVec.getNode()->ops().slice(IdxVal, VT.getVectorNumElements()));
48384 InVec.getOpcode() == ISD::INSERT_SUBVECTOR && IdxVal == 0 &&
48418 if (IdxVal != 0 && (InVec.getOpcode() == X86ISD::VBROADCAST ||
48429 (IdxVal % VT.getVectorNumElements()) == 0) {
48437 unsigned SubVecIdx = IdxVal / VT.getVectorNumElements();
48454 if (IdxVal == 0 && InVec.hasOneUse()) {