reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
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});