Re: [PATCH 3/6] Implement interleave via permutation.

2011-10-28 Thread Hans-Peter Nilsson
On Fri, 28 Oct 2011, Richard Henderson wrote: > VEC_UNPACK_HI_EXPR and VEC_UNPACK_LO_EXPR need even more -- at > least for signed -- a source of sign-extended data. Either a LT > comparison that produces -1 (common, but not universal) or an > ASHIFTRT with a constant. We're definitely in the land

Re: [PATCH 3/6] Implement interleave via permutation.

2011-10-28 Thread Richard Henderson
On 10/28/2011 02:54 PM, Hans-Peter Nilsson wrote: > Also VEC_UNPACK_HI_EXPR, VEC_UNPACK_LO_EXPR, and > VEC_PACK_TRUNC_EXPR to mention some. VEC_PACK_TRUNC_EXPR requires extra mode changes. I was intending to get to this one too, but have gotten side-tracked with other work this week. VEC_UNPAC

Re: [PATCH 3/6] Implement interleave via permutation.

2011-10-28 Thread Hans-Peter Nilsson
On Mon, 24 Oct 2011, Richard Henderson wrote: > From: Richard Henderson > + /* Certain vector operations can be implemented with vector permutation. > */ > + if (VECTOR_MODE_P (mode)) > +{ > + enum tree_code tcode = ERROR_MARK; > + rtx sel; > + > + if (binoptab == vec_inte

[PATCH 3/6] Implement interleave via permutation.

2011-10-24 Thread Richard Henderson
From: Richard Henderson --- gcc/expr.c| 20 +--- gcc/optabs.c | 116 + gcc/optabs.h |3 + gcc/tree-vect-data-refs.c | 80 --- gcc/tree-vect-generic.c |9 5 fi