[PATCH pushed] testsuite: Unbreak pr110557.cc where long is 32-bit (was Re: Pushed: [PATCH v2] vect: Fix vectorized BIT_FIELD_REF for signed bit-fields [PR110557])

2023-07-11 Thread Xi Ruoyao via Gcc-patches
On Tue, 2023-07-11 at 13:04 +0530, Prathamesh Kulkarni wrote: /* snip */ > Hi Xi, > Your commit: > https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=63ae6bc60c0f67fb2791991bf4b6e7e0a907d420, > > seems to cause following regressions on arm-linux-gnueabihf: > FAIL: g++.dg/vect/pr110557.cc  -std=c++98

Re: Pushed: [PATCH v2] vect: Fix vectorized BIT_FIELD_REF for signed bit-fields [PR110557]

2023-07-11 Thread Prathamesh Kulkarni via Gcc-patches
On Mon, 10 Jul 2023 at 16:43, Xi Ruoyao via Gcc-patches wrote: > > On Mon, 2023-07-10 at 10:33 +, Richard Biener wrote: > > On Fri, 7 Jul 2023, Xi Ruoyao wrote: > > > > > If a bit-field is signed and it's wider than the output type, we > > > must > > > ensure the extracted result sign-extended

Pushed: [PATCH v2] vect: Fix vectorized BIT_FIELD_REF for signed bit-fields [PR110557]

2023-07-10 Thread Xi Ruoyao via Gcc-patches
On Mon, 2023-07-10 at 10:33 +, Richard Biener wrote: > On Fri, 7 Jul 2023, Xi Ruoyao wrote: > > > If a bit-field is signed and it's wider than the output type, we > > must > > ensure the extracted result sign-extended.  But this was not handled > > correctly. > > > > For example: > > > >    

Re: [PATCH v2] vect: Fix vectorized BIT_FIELD_REF for signed bit-fields [PR110557]

2023-07-10 Thread Richard Biener via Gcc-patches
On Fri, 7 Jul 2023, Xi Ruoyao wrote: > If a bit-field is signed and it's wider than the output type, we must > ensure the extracted result sign-extended. But this was not handled > correctly. > > For example: > > int x : 8; > long y : 55; > bool z : 1; > > The vectorized extraction

[PATCH v2] vect: Fix vectorized BIT_FIELD_REF for signed bit-fields [PR110557]

2023-07-07 Thread Xi Ruoyao via Gcc-patches
If a bit-field is signed and it's wider than the output type, we must ensure the extracted result sign-extended. But this was not handled correctly. For example: int x : 8; long y : 55; bool z : 1; The vectorized extraction of y was: vect__ifc__49.29_110 = MEM [(struct I