Re: [PATCH] Strip of a vector load which is only used partially.

2022-06-26 Thread Jeff Law via Gcc-patches
On 5/10/2022 12:30 AM, Richard Biener wrote: On Tue, May 10, 2022 at 12:58 AM Jeff Law via Gcc-patches wrote: On 5/5/2022 2:26 AM, Richard Biener via Gcc-patches wrote: On Thu, May 5, 2022 at 7:04 AM liuhongt wrote: Optimize _1 = *srcp_3(D); _4 = VEC_PERM_EXPR <_1, _1, { 4, 5,

Re: [PATCH] Strip of a vector load which is only used partially.

2022-05-09 Thread Richard Biener via Gcc-patches
On Tue, May 10, 2022 at 12:58 AM Jeff Law via Gcc-patches wrote: > > > > On 5/5/2022 2:26 AM, Richard Biener via Gcc-patches wrote: > > On Thu, May 5, 2022 at 7:04 AM liuhongt wrote: > >> Optimize > >> > >>_1 = *srcp_3(D); > >>_4 = VEC_PERM_EXPR <_1, _1, { 4, 5, 6, 7, 4, 5, 6, 7 }>; > >>

Re: [PATCH] Strip of a vector load which is only used partially.

2022-05-09 Thread Jeff Law via Gcc-patches
On 5/5/2022 2:26 AM, Richard Biener via Gcc-patches wrote: On Thu, May 5, 2022 at 7:04 AM liuhongt wrote: Optimize _1 = *srcp_3(D); _4 = VEC_PERM_EXPR <_1, _1, { 4, 5, 6, 7, 4, 5, 6, 7 }>; _5 = BIT_FIELD_REF <_4, 128, 0>; to _1 = *srcp_3(D); _5 = BIT_FIELD_REF <_1, 128, 128

Re: [PATCH] Strip of a vector load which is only used partially.

2022-05-05 Thread Richard Biener via Gcc-patches
On Thu, May 5, 2022 at 7:04 AM liuhongt wrote: > > Optimize > > _1 = *srcp_3(D); > _4 = VEC_PERM_EXPR <_1, _1, { 4, 5, 6, 7, 4, 5, 6, 7 }>; > _5 = BIT_FIELD_REF <_4, 128, 0>; > > to > > _1 = *srcp_3(D); > _5 = BIT_FIELD_REF <_1, 128, 128>; > > the upper will finally be optimized to > > _

[PATCH] Strip of a vector load which is only used partially.

2022-05-04 Thread liuhongt via Gcc-patches
Optimize _1 = *srcp_3(D); _4 = VEC_PERM_EXPR <_1, _1, { 4, 5, 6, 7, 4, 5, 6, 7 }>; _5 = BIT_FIELD_REF <_4, 128, 0>; to _1 = *srcp_3(D); _5 = BIT_FIELD_REF <_1, 128, 128>; the upper will finally be optimized to _5 = BIT_FIELD_REF <*srcp_3(D), 128, 128>; Bootstrapped and regtested on