Lines Matching refs:Rdx
44997 SDValue Rdx = DAG.matchBinOpReduction(ExtElt, Opc, in combineArithReduction() local
44999 if (!Rdx) in combineArithReduction()
45007 EVT VecVT = Rdx.getValueType(); in combineArithReduction()
45039 SDValue Lo = getUnpackl(DAG, DL, VecVT, Rdx, DAG.getUNDEF(VecVT)); in combineArithReduction()
45040 SDValue Hi = getUnpackh(DAG, DL, VecVT, Rdx, DAG.getUNDEF(VecVT)); in combineArithReduction()
45043 Rdx = DAG.getNode(Opc, DL, WideVT, Lo, Hi); in combineArithReduction()
45044 while (Rdx.getValueSizeInBits() > 128) { in combineArithReduction()
45045 std::tie(Lo, Hi) = splitVector(Rdx, DAG, DL); in combineArithReduction()
45046 Rdx = DAG.getNode(Opc, DL, Lo.getValueType(), Lo, Hi); in combineArithReduction()
45049 Rdx = WidenToV16I8(Rdx, false); in combineArithReduction()
45050 Rdx = getUnpackl(DAG, DL, MVT::v16i8, Rdx, DAG.getUNDEF(MVT::v16i8)); in combineArithReduction()
45051 Rdx = DAG.getBitcast(MVT::v8i16, Rdx); in combineArithReduction()
45054 Rdx = DAG.getNode(Opc, DL, MVT::v8i16, Rdx, in combineArithReduction()
45055 DAG.getVectorShuffle(MVT::v8i16, DL, Rdx, Rdx, in combineArithReduction()
45057 Rdx = DAG.getNode(Opc, DL, MVT::v8i16, Rdx, in combineArithReduction()
45058 DAG.getVectorShuffle(MVT::v8i16, DL, Rdx, Rdx, in combineArithReduction()
45060 Rdx = DAG.getNode(Opc, DL, MVT::v8i16, Rdx, in combineArithReduction()
45061 DAG.getVectorShuffle(MVT::v8i16, DL, Rdx, Rdx, in combineArithReduction()
45063 Rdx = DAG.getBitcast(MVT::v16i8, Rdx); in combineArithReduction()
45064 return DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, VT, Rdx, Index); in combineArithReduction()
45069 Rdx = WidenToV16I8(Rdx, true); in combineArithReduction()
45070 Rdx = DAG.getNode(X86ISD::PSADBW, DL, MVT::v2i64, Rdx, in combineArithReduction()
45072 Rdx = DAG.getBitcast(MVT::v16i8, Rdx); in combineArithReduction()
45073 return DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, VT, Rdx, Index); in combineArithReduction()
45082 while (Rdx.getValueSizeInBits() > 128) { in combineArithReduction()
45084 std::tie(Lo, Hi) = splitVector(Rdx, DAG, DL); in combineArithReduction()
45086 Rdx = DAG.getNode(ISD::ADD, DL, VecVT, Lo, Hi); in combineArithReduction()
45091 MVT::v16i8, DL, Rdx, Rdx, in combineArithReduction()
45093 Rdx = DAG.getNode(ISD::ADD, DL, MVT::v16i8, Rdx, Hi); in combineArithReduction()
45094 Rdx = DAG.getNode(X86ISD::PSADBW, DL, MVT::v2i64, Rdx, in combineArithReduction()
45096 Rdx = DAG.getBitcast(MVT::v16i8, Rdx); in combineArithReduction()
45097 return DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, VT, Rdx, Index); in combineArithReduction()
45105 DAG.computeKnownBits(Rdx).getMaxValue().ule(255) && in combineArithReduction()
45106 (EltSizeInBits == 16 || Rdx.getOpcode() == ISD::ZERO_EXTEND || in combineArithReduction()
45108 if (Rdx.getValueType() == MVT::v8i16) { in combineArithReduction()
45109 Rdx = DAG.getNode(X86ISD::PACKUS, DL, MVT::v16i8, Rdx, in combineArithReduction()
45113 Rdx = DAG.getNode(ISD::TRUNCATE, DL, ByteVT, Rdx); in combineArithReduction()
45115 Rdx = WidenToV16I8(Rdx, true); in combineArithReduction()
45125 MVT SadVT = MVT::getVectorVT(MVT::i64, Rdx.getValueSizeInBits() / 64); in combineArithReduction()
45126 Rdx = SplitOpsAndApply(DAG, Subtarget, DL, SadVT, {Rdx}, PSADBWBuilder); in combineArithReduction()
45129 while (Rdx.getValueSizeInBits() > 128) { in combineArithReduction()
45131 std::tie(Lo, Hi) = splitVector(Rdx, DAG, DL); in combineArithReduction()
45133 Rdx = DAG.getNode(ISD::ADD, DL, VecVT, Lo, Hi); in combineArithReduction()
45135 assert(Rdx.getValueType() == MVT::v2i64 && "v2i64 reduction expected"); in combineArithReduction()
45138 SDValue RdxHi = DAG.getVectorShuffle(MVT::v2i64, DL, Rdx, Rdx, {1, -1}); in combineArithReduction()
45139 Rdx = DAG.getNode(ISD::ADD, DL, MVT::v2i64, Rdx, RdxHi); in combineArithReduction()
45143 Rdx = DAG.getBitcast(VecVT, Rdx); in combineArithReduction()
45144 return DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, VT, Rdx, Index); in combineArithReduction()
45160 SDValue Hi = extract128BitVector(Rdx, NumElts / 2, DAG, DL); in combineArithReduction()
45161 SDValue Lo = extract128BitVector(Rdx, 0, DAG, DL); in combineArithReduction()
45162 Rdx = DAG.getNode(HorizOpcode, DL, Lo.getValueType(), Hi, Lo); in combineArithReduction()
45163 VecVT = Rdx.getValueType(); in combineArithReduction()
45172 Rdx = DAG.getNode(HorizOpcode, DL, VecVT, Rdx, Rdx); in combineArithReduction()
45174 return DAG.getNode(ISD::EXTRACT_VECTOR_ELT, DL, VT, Rdx, Index); in combineArithReduction()