From: Joseph Myers [mailto:jos...@codesourcery.com]
> On Wed, 4 Jan 2012, Xinyu Qi wrote:
> 
> > It seems these two parts of the code dealing with BYTE_BIG_ENDIAN will
> > cancel each other, and result in the original imm op unchanged.
> 
> Yes, that's correct.  Lane numbers for NEON intrinsics are the same as
> those used in assembly instructions, but for big-endian they are different
> from those used in the target-independent semantics of the RTL
> intermediate representation.
> 
> > Is there something wrong with these code?
> 
> No, see <http://gcc.gnu.org/ml/gcc-patches/2010-06/msg00409.html> where I
> explain this at greater length.

I see.
Would you mind to take a look at the test case neon-vset_lanes8.c under 
gcc.target/arm/
If BYTE_BIG_ENDIAN, would the x be {1,2,3,4,16,6,7,8} after vset_lane_s8 
(16,x,3) is called?
And if so, it is obviously not equal to y and test fails.

Does this case not suitable for BYTE_BIG_ENDIAN test?

Thanks,
Xinyu

Reply via email to