Alan Modra wrote:
On Wed, Jun 12, 2013 at 04:22:46PM +0100, Tejas Belagod wrote:
From the IR above, it seems that result of widening the high part
(vect__12.6_40) is being stored at offset 0 from _29 and result of
widening the low part goes into *(_29 + 16). Shouldn't this be the
other way around?

Big-endian targets store the high part of multi-byte values at the low
address.  Why should vectors be different?


True. But the memory order of individual elements cannot be changed.

I did a bit more digging into this and realized this was because of the big-endian representation of vectors in gcc where the order of lanes are reversed. I will need to fix up my back-end to reflect this reverse ordering.

Thanks for your input.

Tejas.

Reply via email to