reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
 1323   assert(ResTy.isVector());
 1327   MVT ElemTy = ResTy.getVectorElementType();
 1328   unsigned VecLen = ResTy.getVectorNumElements();
 1340     MVT ExtTy = typeExtElem(ResTy, 2);
 1353     return DAG.getBitcast(ResTy, BS);
 1374     SDValue T0 = getInstr(Hexagon::V6_vmpyewuh, dl, ResTy, {Vt, Vs}, DAG);
 1376     SDValue S0 = getInstr(Hexagon::V6_vasrw, dl, ResTy, {Vs, S16}, DAG);
 1377     SDValue T1 = getInstr(Hexagon::V6_vmpyiewuh_acc, dl, ResTy,
 1380     SDValue S2 = getInstr(Hexagon::V6_vasrw, dl, ResTy, {T1, S16}, DAG);
 1382     SDValue T2 = getInstr(Hexagon::V6_vmpyiowh, dl, ResTy, {S0, Vt}, DAG);
 1384     SDValue T3 = DAG.getNode(ISD::ADD, dl, ResTy, {S2, T2});
 1390   auto LoVec = [&DAG,ResTy,dl] (SDValue Pair) {
 1391     return DAG.getTargetExtractSubreg(Hexagon::vsub_lo, dl, ResTy, Pair);
 1393   auto HiVec = [&DAG,ResTy,dl] (SDValue Pair) {
 1394     return DAG.getTargetExtractSubreg(Hexagon::vsub_hi, dl, ResTy, Pair);
 1397   MVT PairTy = typeJoin({ResTy, ResTy});
 1397   MVT PairTy = typeJoin({ResTy, ResTy});
 1398   SDValue P = getInstr(Hexagon::V6_lvsplatw, dl, ResTy,
 1407   SDValue T1 = getInstr(Hexagon::V6_vlsrw, dl, ResTy, {LoVec(T0), S16}, DAG);
 1410   SDValue D0 = getInstr(Hexagon::V6_vdelta, dl, ResTy, {Vt, P}, DAG);
 1419   SDValue T4 = DAG.getNode(ISD::ADD, dl, ResTy, {T1, LoVec(T3)});
 1420   SDValue T5 = getInstr(Hexagon::V6_vlsrw, dl, ResTy, {T4, S16}, DAG);
 1421   SDValue T6 = DAG.getNode(ISD::ADD, dl, ResTy, {HiVec(T0), HiVec(T3)});
 1422   SDValue T7 = DAG.getNode(ISD::ADD, dl, ResTy, {T5, T6});