Lines Matching refs:Vu
300 def: Pat<(HexagonVEXTRACTW HVI8:$Vu, I32:$Rs),
301 (V6_extractw HvxVR:$Vu, I32:$Rs)>;
302 def: Pat<(HexagonVEXTRACTW HVI16:$Vu, I32:$Rs),
303 (V6_extractw HvxVR:$Vu, I32:$Rs)>;
304 def: Pat<(HexagonVEXTRACTW HVI32:$Vu, I32:$Rs),
305 (V6_extractw HvxVR:$Vu, I32:$Rs)>;
307 def: Pat<(HexagonVINSERTW0 HVI8:$Vu, I32:$Rt),
308 (V6_vinsertwr HvxVR:$Vu, I32:$Rt)>;
309 def: Pat<(HexagonVINSERTW0 HVI16:$Vu, I32:$Rt),
310 (V6_vinsertwr HvxVR:$Vu, I32:$Rt)>;
311 def: Pat<(HexagonVINSERTW0 HVI32:$Vu, I32:$Rt),
312 (V6_vinsertwr HvxVR:$Vu, I32:$Rt)>;
331 def: Pat<(HexagonVINSERTW0 HVF16:$Vu, I32:$Rt),
332 (V6_vinsertwr HvxVR:$Vu, I32:$Rt)>;
333 def: Pat<(HexagonVINSERTW0 HVF32:$Vu, I32:$Rt),
334 (V6_vinsertwr HvxVR:$Vu, I32:$Rt)>;
476 def: Pat<(VecPF32 (pf1<fpextend> HVF16:$Vu)),
477 (V6_vcvt_sf_hf (V6_vshuffh HvxVR:$Vu))>;
484 def: Pat<(VecI8 (Fptosi HWF16:$Vu)),
485 (V6_vcvt_b_hf (HiVec $Vu), (LoVec $Vu))>;
486 def: Pat<(VecI8 (Fptoui HWF16:$Vu)),
487 (V6_vcvt_ub_hf (HiVec $Vu), (LoVec $Vu))>;
488 def: Pat<(VecPF16 (Sitofp HVI8:$Vu)), (V6_vcvt_hf_b HvxVR:$Vu)>;
489 def: Pat<(VecPF16 (Uitofp HVI8:$Vu)), (V6_vcvt_hf_ub HvxVR:$Vu)>;
632 def: Pat<(add HVI32:$Vx, (HexagonVASL HVI32:$Vu, I32:$Rt)),
633 (V6_vaslw_acc HvxVR:$Vx, HvxVR:$Vu, I32:$Rt)>;
634 def: Pat<(add HVI32:$Vx, (HexagonVASR HVI32:$Vu, I32:$Rt)),
635 (V6_vasrw_acc HvxVR:$Vx, HvxVR:$Vu, I32:$Rt)>;
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)),
662 def: Pat<(Mfshl HVI16:$Vu, HVI16:$Vv, HVI16:$Vs),
664 $Vu,
665 (V6_vor (V6_vaslhv $Vu, $Vs),
667 def: Pat<(Mfshl HVI32:$Vu, HVI32:$Vv, HVI32:$Vs),
669 $Vu,
670 (V6_vor (V6_vaslwv $Vu, $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),
678 (V6_vor (V6_vaslhv $Vu, $Vs),
680 def: Pat<(Mfshl HVI32:$Vu, HVI32:$Vv, HVI32:$Vs),
681 (V6_vor (V6_vaslwv $Vu, $Vs),
689 def: Pat<(Mfshl HVI32:$Vu, HVI32:$Vv, HVI32:$Vs),
692 $Vu,
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),
706 (V6_vor (V6_vaslhv $Vu, (VSubih 16, $Vs)),
708 def: Pat<(Mfshr HVI32:$Vu, HVI32:$Vv, HVI32:$Vs),
711 (V6_vor (V6_vaslwv $Vu, (VSubiw 32, $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),
718 (V6_vor (V6_vlsrhv $Vu, (V6_vsubh $Vs, (PS_vsplatih (i32 16)))),
720 def: Pat<(Mfshr HVI32:$Vu, HVI32:$Vv, HVI32:$Vs),
721 (V6_vor (V6_vlsrwv $Vu, (V6_vsubw $Vs, (PS_vsplatiw (i32 32)))),
729 def: Pat<(Mfshr HVI32:$Vu, HVI32:$Vv, HVI32:$Vs),
732 $Vu,
908 def: Pat<(VecQ16 (setone HVF16:$Vt, HVF16:$Vu)),
909 (V6_pred_not (V6_veqh HvxVR:$Vt, HvxVR:$Vu))>;
911 def: Pat<(VecQ32 (setone HVF32:$Vt, HVF32:$Vu)),
912 (V6_pred_not (V6_veqw HvxVR:$Vt, HvxVR:$Vu))>;
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)>;