Re: [PATCH] Optimize V*QImode shift by constant using same operation on V*HImode [PR95524]

2020-06-17 Thread Jakub Jelinek via Gcc-patches
On Wed, Jun 17, 2020 at 09:43:53AM +0800, Hongtao Liu via Gcc-patches wrote: > gcc/ChangeLog: > PR target/95524 > * config/i386/i386-expand.c > (ix86_expand_vec_shift_qihi_constant): New function. > * config/i386/i386-protos.h > (ix86_expand_vec_shift_qihi_co

[PATCH] Optimize V*QImode shift by constant using same operation on V*HImode [PR95524]

2020-06-16 Thread Hongtao Liu via Gcc-patches
Sorry,i mistakenly deleted local mail for https://gcc.gnu.org/pipermail/gcc-patches/2020-June/548174.html, so i send an another email. > What I mean is that op2 is a CONST_INT, which in theory can have any > HOST_WIDE_INT values. > By assigning that to unsigned int variable, you are effectively >

Re: [PATCH] Optimize V*QImode shift by constant using same operation on V*HImode [PR95524]

2020-06-16 Thread Jakub Jelinek via Gcc-patches
On Tue, Jun 16, 2020 at 10:09:08AM +0800, Hongtao Liu via Gcc-patches wrote: > > + machine_mode qimode, himode; > > + unsigned int shift_constant, and_constant, xor_constant; > > + rtx vec_const_and, vec_const_xor; > > + rtx tmp, op1_subreg; > > + rtx (*gen_shift) (rtx, rtx, rtx); > > + rtx (

Re: [PATCH] Optimize V*QImode shift by constant using same operation on V*HImode [PR95524]

2020-06-15 Thread Hongtao Liu via Gcc-patches
On Mon, Jun 15, 2020 at 9:48 PM Jakub Jelinek wrote: > > On Mon, Jun 15, 2020 at 09:29:29PM +0800, Hongtao Liu via Gcc-patches wrote: > > Basically i "copy" this optimization from clang i386 backend, Refer > > to pr95524 for details. > > Bootstrap is ok, regression test on i386/x86-64 backend

Re: [PATCH] Optimize V*QImode shift by constant using same operation on V*HImode [PR95524]

2020-06-15 Thread Jakub Jelinek via Gcc-patches
On Mon, Jun 15, 2020 at 09:29:29PM +0800, Hongtao Liu via Gcc-patches wrote: > Basically i "copy" this optimization from clang i386 backend, Refer > to pr95524 for details. > Bootstrap is ok, regression test on i386/x86-64 backend is ok. > > gcc/ChangeLog: > PR target/95524 > *

[PATCH] Optimize V*QImode shift by constant using same operation on V*HImode [PR95524]

2020-06-15 Thread Hongtao Liu via Gcc-patches
Hi: Basically i "copy" this optimization from clang i386 backend, Refer to pr95524 for details. Bootstrap is ok, regression test on i386/x86-64 backend is ok. gcc/ChangeLog: PR target/95524 * gcc/config/i386/i386-expand.c (ix86_expand_vec_shift_qihi_constant): New funct