On Thu, 2023-09-07 at 10:15 +0800, chenglulu wrote:
> 
> 在 2023/9/6 下午6:58, Xi Ruoyao 写道:
> > Forgot to mention: I've bootstrapped and regtested this patch on
> > loongarch64-linux-gnu (with PR110939 patch applied to unbreak the
> > bootstrapping).  Ok for trunk?
> 
> LGTM!
> 
> Thanks!

Pushed r14-3773.

> > 
> > On Wed, 2023-09-06 at 18:46 +0800, Xi Ruoyao wrote:
> > 
> > > If mask is a constant with value ((1 << N) - 1) << M we can
> > > perform this
> > > optimization.
> > > 
> > > gcc/ChangeLog:
> > > 
> > >          PR target/111252
> > >          * config/loongarch/loongarch-protos.h
> > >          (loongarch_pre_reload_split): Declare new function.
> > >          (loongarch_use_bstrins_for_ior_with_mask): Likewise.
> > >          * config/loongarch/loongarch.cc
> > >          (loongarch_pre_reload_split): Implement.
> > >          (loongarch_use_bstrins_for_ior_with_mask): Likewise.
> > >          * config/loongarch/predicates.md
> > > (ins_zero_bitmask_operand):
> > >          New predicate.
> > >          * config/loongarch/loongarch.md
> > > (bstrins_<mode>_for_mask):
> > >          New define_insn_and_split.
> > >          (bstrins_<mode>_for_ior_mask): Likewise.
> > >          (define_peephole2): Further optimize code sequence
> > > produced by
> > >          bstrins_<mode>_for_ior_mask if possible.
> > > 
> > > gcc/testsuite/ChangeLog:
> > > 
> > >          * g++.target/loongarch/bstrins-compile.C: New test.
> > >          * g++.target/loongarch/bstrins-run.C: New test.
> > /* snip */
> > 
> 

-- 
Xi Ruoyao <xry...@xry111.site>
School of Aerospace Science and Technology, Xidian University

Reply via email to