Re: [PATCH 4/6] rs6000: Cleanup interleave/even_odd/vec_perm.

2011-12-11 Thread Richard Henderson
On 12/11/2011 10:44 AM, Iain Sandoe wrote: > Note that there is no default for TARGET_BIG_ENDIAN in rs600.h - it is only > defined in config/rs6000/sysv4.h. Gah. And of course that's all I tested w/ linux. Just change the TARGET_BIG_ENDIAN to BYTES_BIG_ENDIAN. r~

Re: [PATCH 4/6] rs6000: Cleanup interleave/even_odd/vec_perm.

2011-12-11 Thread Iain Sandoe
On 8 Dec 2011, at 21:06, Richard Henderson wrote: ; + + high = (highp == TARGET_BIG_ENDIAN ? 0 : nelt); + This breaks bootstrap on ppc-darwin, which came as a bit f a surprise to me... ... however, it would appear that TARGET_BIG_ENDIAN is not used anywhere else... (plenty of {BYTES,

[PATCH 4/6] rs6000: Cleanup interleave/even_odd/vec_perm.

2011-12-08 Thread Richard Henderson
Put merge-type insns in standard (vec_select (vec_concat)) form. Delete vec_extract_{even,odd} patterns. Delete or rename vec_interleave_{high,low} patterns. Add vec_perm_const patterns for SPE, VSX, and Paired-Single. --- gcc/config/rs6000/altivec.md | 368 +++