[SLP/AArch64] Fix unpack handling for big-endian SVE

2018-01-26 Thread Richard Sandiford
I hadn't realised that on big-endian targets, VEC_UNPACK*HI_EXPR unpacks the low-numbered lanes and VEC_UNPACK*LO_EXPR unpacks the high-numbered lanes. This meant that both the SVE patterns and the handling of fully-masked loops were wrong. The patch deals with that by making sure that all vec_un

Re: [SLP/AArch64] Fix unpack handling for big-endian SVE

2018-01-26 Thread Richard Biener
On Fri, Jan 26, 2018 at 3:21 PM, Richard Sandiford wrote: > I hadn't realised that on big-endian targets, VEC_UNPACK*HI_EXPR unpacks > the low-numbered lanes and VEC_UNPACK*LO_EXPR unpacks the high-numbered > lanes. This meant that both the SVE patterns and the handling of > fully-masked loops we

Re: [SLP/AArch64] Fix unpack handling for big-endian SVE

2018-01-26 Thread Richard Sandiford
Richard Biener writes: > On Fri, Jan 26, 2018 at 3:21 PM, Richard Sandiford > wrote: >> I hadn't realised that on big-endian targets, VEC_UNPACK*HI_EXPR unpacks >> the low-numbered lanes and VEC_UNPACK*LO_EXPR unpacks the high-numbered >> lanes. This meant that both the SVE patterns and the hand

Re: [SLP/AArch64] Fix unpack handling for big-endian SVE

2018-01-26 Thread Richard Biener
On Fri, Jan 26, 2018 at 4:04 PM, Richard Sandiford wrote: > Richard Biener writes: >> On Fri, Jan 26, 2018 at 3:21 PM, Richard Sandiford >> wrote: >>> I hadn't realised that on big-endian targets, VEC_UNPACK*HI_EXPR unpacks >>> the low-numbered lanes and VEC_UNPACK*LO_EXPR unpacks the high-numbe

Re: [SLP/AArch64] Fix unpack handling for big-endian SVE

2018-02-06 Thread James Greenhalgh
On Fri, Jan 26, 2018 at 02:21:11PM +, Richard Sandiford wrote: > I hadn't realised that on big-endian targets, VEC_UNPACK*HI_EXPR unpacks > the low-numbered lanes and VEC_UNPACK*LO_EXPR unpacks the high-numbered > lanes. This meant that both the SVE patterns and the handling of > fully-masked