On Tue, 2025-02-11 at 15:48 +0800, Lulu Cheng wrote: > Hi, > > I think , the "{lsx_,lasx_x}hv{add,sub}w" in the title should be > "{lsx_,lasx_x}vh{add,sub}w".
Indeed. > > 在 2025/2/7 下午8:09, Xi Ruoyao 写道: > > Like what we've done for {lsx_,lasx_x}v{add,sub,mul}l{ev,od}, use > > special predicates and TImode RTL instead of hard-coded const > > vectors > > and UNSPECs. > /* snip */ > > +(define_insn "simd_h<optab>w_<mode>_<su>" > > + [(set (match_operand:<WVEC_HALF> 0 "register_operand" "=f") > > + (addsub:<WVEC_HALF> > > + (vec_select:<WVEC_HALF> > > + (any_extend:<WVEC> > > Does the order of any_extend affect the code generation? I'm not sure but I think it makes sense to keep the select/extend order consistent for LoongArch, thus I'll make any_extend out of vec_select in the next version of the series. I just didn't really notice the order difference when I wrote this. -- Xi Ruoyao <xry...@xry111.site> School of Aerospace Science and Technology, Xidian University