Re: [PATCH 10/25] Convert BImode vectors.

2018-09-17 Thread Richard Sandiford
writes: > GCN uses V64BImode to represent vector masks in the middle-end, and DImode > bit-masks to represent them in the back-end. These must be converted at > expand > time and the most convenient way is to simply use a SUBREG. > > This works fine except that simplify_subreg needs to be able t

Re: [PATCH 10/25] Convert BImode vectors.

2018-09-12 Thread Richard Biener
On Tue, Sep 11, 2018 at 4:36 PM Andrew Stubbs wrote: > > On 05/09/18 13:43, Richard Biener wrote: > > No. You might want to look into the x86 backend if there's maybe more > > tweaks > > needed when using non-vector mask modes. > > I tracked it down to the vector alignment configuration. > > App

Re: [PATCH 10/25] Convert BImode vectors.

2018-09-11 Thread Andrew Stubbs
On 05/09/18 13:43, Richard Biener wrote: No. You might want to look into the x86 backend if there's maybe more tweaks needed when using non-vector mask modes. I tracked it down to the vector alignment configuration. Apparently the vectorizer likes to build a "truth" vector, but is perfectly

Re: [PATCH 10/25] Convert BImode vectors.

2018-09-05 Thread Richard Biener
On Wed, Sep 5, 2018 at 2:40 PM Andrew Stubbs wrote: > > On 05/09/18 13:05, Richard Biener wrote: > > On Wed, Sep 5, 2018 at 1:51 PM wrote: > >> > >> > >> GCN uses V64BImode to represent vector masks in the middle-end, and DImode > >> bit-masks to represent them in the back-end. These must be con

Re: [PATCH 10/25] Convert BImode vectors.

2018-09-05 Thread Andrew Stubbs
On 05/09/18 13:05, Richard Biener wrote: On Wed, Sep 5, 2018 at 1:51 PM wrote: GCN uses V64BImode to represent vector masks in the middle-end, and DImode bit-masks to represent them in the back-end. These must be converted at expand time and the most convenient way is to simply use a SUBREG.

Re: [PATCH 10/25] Convert BImode vectors.

2018-09-05 Thread Richard Biener
On Wed, Sep 5, 2018 at 1:51 PM wrote: > > > GCN uses V64BImode to represent vector masks in the middle-end, and DImode > bit-masks to represent them in the back-end. These must be converted at > expand > time and the most convenient way is to simply use a SUBREG. x86 with AVX512 uses SImode in

Re: [PATCH 10/25] Convert BImode vectors.

2018-09-05 Thread Jakub Jelinek
On Wed, Sep 05, 2018 at 12:50:25PM +0100, a...@codesourcery.com wrote: > 2018-09-05 Andrew Stubbs > > gcc/ > * simplify-rtx.c (convert_packed_vector): New function. > (simplify_immed_subreg): Recognised Boolean vectors and call > convert_packed_vector. > --- > + in