Lines Matching refs:Vv

655   def: Pat<(Mfshl HVI8:$Vu, HVI8:$Vv, HVI8:$Vs),
656 (V6_vshuffob (V6_vaslhv (HiVec (V6_vshufoeb $Vu, $Vv)),
658 (V6_vaslhv (LoVec (V6_vshufoeb $Vu, $Vv)),
661 // V60 doesn't produce 0 on shifts by bitwidth, e.g. Vv.h << 16-0
662 def: Pat<(Mfshl HVI16:$Vu, HVI16:$Vv, HVI16:$Vs),
666 (V6_vlsrhv $Vv, (VSubih 16, $Vs))))>;
667 def: Pat<(Mfshl HVI32:$Vu, HVI32:$Vv, HVI32:$Vs),
671 (V6_vlsrwv $Vv, (VSubiw 32, $Vs))))>;
674 // Do it as (Vu << Vs) | (Vv >> (BW-Vs)).
675 // For Vs == 0 becomes Vu | (Vv >> -BW), since the shift amount is
676 // sign-extended. Then this becomes Vu | (Vv << BW) == Vu.
677 def: Pat<(Mfshl HVI16:$Vu, HVI16:$Vv, HVI16:$Vs),
679 (V6_vlsrhv $Vv, (VSubih 16, $Vs)))>;
680 def: Pat<(Mfshl HVI32:$Vu, HVI32:$Vv, HVI32:$Vs),
682 (V6_vlsrwv $Vv, (VSubiw 32, $Vs)))>;
686 // Vx[1]:Vx[0] = V6_vasr_into Vx[0], Vv, Vs
687 // --> (Vx[0]:Vx[0] & (ffffffff << -Vs)) | (Vv:00000000 << -Vs)
688 // i.e. Vx[1] = insert ((Vv << -Vs) -> Vx[0])
689 def: Pat<(Mfshl HVI32:$Vu, HVI32:$Vv, HVI32:$Vs),
691 (V6_vlsrwv $Vv, (VSubiw 32, $Vs))),
697 def: Pat<(Mfshr HVI8:$Vu, HVI8:$Vv, HVI8:$Vs),
698 (V6_vshuffeb (V6_vlsrhv (HiVec (V6_vshufoeb $Vu, $Vv)),
700 (V6_vlsrhv (LoVec (V6_vshufoeb $Vu, $Vv)),
703 def: Pat<(Mfshr HVI16:$Vu, HVI16:$Vv, HVI16:$Vs),
705 $Vv,
707 (V6_vlsrhv $Vv, $Vs)))>;
708 def: Pat<(Mfshr HVI32:$Vu, HVI32:$Vv, HVI32:$Vs),
710 $Vv,
712 (V6_vlsrwv $Vv, $Vs)))>;
715 // Do it as (Vu >> -(BW-Vs)) | (Vv >> Vs).
716 // For Vs == 0 becomes (Vu << BW) | Vs == 0 | Vv
717 def: Pat<(Mfshr HVI16:$Vu, HVI16:$Vv, HVI16:$Vs),
719 (V6_vlsrhv $Vv, $Vs))>;
720 def: Pat<(Mfshr HVI32:$Vu, HVI32:$Vv, HVI32:$Vs),
722 (V6_vlsrwv $Vv, $Vs))>;
726 // Vx[1]:Vx[0] = V6_vasr_into Vx[0], Vv, Vs
727 // --> (Vx[0]:Vx[0] & (ffffffff >> Vs)) | (Vv:00000000 >> Vs)
728 // i.e. Vx[0] = insert ((Vv >> Vs) -> Vx[0])
729 def: Pat<(Mfshr HVI32:$Vu, HVI32:$Vv, HVI32:$Vs),
731 (V6_vlsrwv $Vv, $Vs)),
916 def: Pat<(VecI8 (mulhs HVI8:$Vu, HVI8:$Vv)),
917 (V6_vshuffob (HiVec (V6_vmpybv $Vu, $Vv)),
918 (LoVec (V6_vmpybv $Vu, $Vv)))>;
919 def: Pat<(VecI16 (mulhs HVI16:$Vu, HVI16:$Vv)),
920 (V6_vshufoh (HiVec (V6_vmpyhv $Vu, $Vv)),
921 (LoVec (V6_vmpyhv $Vu, $Vv)))>;
922 def: Pat<(VecI8 (mulhu HVI8:$Vu, HVI8:$Vv)),
923 (V6_vshuffob (HiVec (V6_vmpyubv $Vu, $Vv)),
924 (LoVec (V6_vmpyubv $Vu, $Vv)))>;
925 def: Pat<(VecI16 (mulhu HVI16:$Vu, HVI16:$Vv)),
926 (V6_vshufoh (HiVec (V6_vmpyuhv $Vu, $Vv)),
927 (LoVec (V6_vmpyuhv $Vu, $Vv)))>;
929 def: Pat<(VecI16 (mulhu HVI16:$Vu, HVI16:$Vv)),
930 (V6_vmpyuhvs $Vu, $Vv)>;