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

References

lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
 1344     SDValue M = getInstr(MpyOpc, dl, ExtTy, {Vs, Vt}, DAG);
 1351     VectorPair P = opSplit(opCastElem(M, ElemTy, DAG), dl, DAG);
 1351     VectorPair P = opSplit(opCastElem(M, ElemTy, DAG), dl, DAG);
 1352     SDValue BS = getByteShuffle(dl, P.first, P.second, ShuffMask, DAG);
 1353     return DAG.getBitcast(ResTy, BS);
 1357   SDValue S16 = DAG.getConstant(16, dl, MVT::i32);
 1374     SDValue T0 = getInstr(Hexagon::V6_vmpyewuh, dl, ResTy, {Vt, Vs}, DAG);
 1376     SDValue S0 = getInstr(Hexagon::V6_vasrw, dl, ResTy, {Vs, S16}, DAG);
 1378                           {T0, S0, Vt}, DAG);
 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);
 1399                        {DAG.getConstant(0x02020202, dl, MVT::i32)}, DAG);
 1399                        {DAG.getConstant(0x02020202, dl, MVT::i32)}, DAG);
 1403   SDValue T0 = getInstr(Hexagon::V6_vmpyuhv, dl, PairTy, {Vs, Vt}, DAG);
 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);
 1411   SDValue T2 = getInstr(Hexagon::V6_vmpyuhv, dl, PairTy, {Vs, D0}, DAG);
 1417                         {LoVec(T2), HiVec(T2)}, 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});