Commit 842cbb73 by Alan Lawrence Committed by Alan Lawrence

PR/61062 Fix arm_neon.h ZIP/UZP/TRN for bigendian.

gcc/ChangeLog:

	* config/arm/arm_neon.h (vtrn_s8, vtrn_s16, vtrn_u8, vtrn_u16, vtrn_p8,
	vtrn_p16, vtrn_s32, vtrn_f32, vtrn_u32, vtrnq_s8, vtrnq_s16, vtrnq_s32,
	vtrnq_f32, vtrnq_u8, vtrnq_u16, vtrnq_u32, vtrnq_p8, vtrnq_p16, vzip_s8,
	vzip_s16, vzip_u8, vzip_u16, vzip_p8, vzip_p16, vzip_s32, vzip_f32,
	vzip_u32, vzipq_s8, vzipq_s16, vzipq_s32, vzipq_f32, vzipq_u8,
	vzipq_u16, vzipq_u32, vzipq_p8, vzipq_p16, vuzp_s8, vuzp_s16, vuzp_s32,
	vuzp_f32, vuzp_u8, vuzp_u16, vuzp_u32, vuzp_p8, vuzp_p16, vuzpq_s8,
	vuzpq_s16, vuzpq_s32, vuzpq_f32, vuzpq_u8, vuzpq_u16, vuzpq_u32,
	vuzpq_p8, vuzpq_p16): Correct mask for bigendian.

gcc/testsuite/ChangeLog:

	* gcc.target/arm/pr48252.c (main): Expect same result as endian-neutral.

From-SVN: r211369
parent 8f449902
2014-06-09 Alan Lawrence <alan.lawrence@arm.com>
PR target/61062
* config/arm/arm_neon.h (vtrn_s8, vtrn_s16, vtrn_u8, vtrn_u16, vtrn_p8,
vtrn_p16, vtrn_s32, vtrn_f32, vtrn_u32, vtrnq_s8, vtrnq_s16, vtrnq_s32,
vtrnq_f32, vtrnq_u8, vtrnq_u16, vtrnq_u32, vtrnq_p8, vtrnq_p16, vzip_s8,
vzip_s16, vzip_u8, vzip_u16, vzip_p8, vzip_p16, vzip_s32, vzip_f32,
vzip_u32, vzipq_s8, vzipq_s16, vzipq_s32, vzipq_f32, vzipq_u8,
vzipq_u16, vzipq_u32, vzipq_p8, vzipq_p16, vuzp_s8, vuzp_s16, vuzp_s32,
vuzp_f32, vuzp_u8, vuzp_u16, vuzp_u32, vuzp_p8, vuzp_p16, vuzpq_s8,
vuzpq_s16, vuzpq_s32, vuzpq_f32, vuzpq_u8, vuzpq_u16, vuzpq_u32,
vuzpq_p8, vuzpq_p16): Correct mask for bigendian.
2014-06-09 Jan Hubicka <hubicka@ucw.cz> 2014-06-09 Jan Hubicka <hubicka@ucw.cz>
* tree-core.h (tree_decl_with_vis): Remove section_name. * tree-core.h (tree_decl_with_vis): Remove section_name.
......
2014-06-09 Alan Lawrence <alan.lawrence@arm.com>
PR target/61062
* gcc.target/arm/pr48252.c (main): Expect same result as endian-neutral.
2014-06-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 2014-06-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR fortran/45187 PR fortran/45187
......
...@@ -15,7 +15,6 @@ int main(void) ...@@ -15,7 +15,6 @@ int main(void)
uint8x8x2_t vd1, vd2; uint8x8x2_t vd1, vd2;
union {uint8x8_t v; uint8_t buf[8];} d1, d2, d3, d4; union {uint8x8_t v; uint8_t buf[8];} d1, d2, d3, d4;
int i; int i;
uint8_t odd, even;
vd1 = vzip_u8(v1, vdup_n_u8(0)); vd1 = vzip_u8(v1, vdup_n_u8(0));
vd2 = vzip_u8(v2, vdup_n_u8(0)); vd2 = vzip_u8(v2, vdup_n_u8(0));
...@@ -25,17 +24,9 @@ int main(void) ...@@ -25,17 +24,9 @@ int main(void)
vst1_u8(d3.buf, vd2.val[0]); vst1_u8(d3.buf, vd2.val[0]);
vst1_u8(d4.buf, vd2.val[1]); vst1_u8(d4.buf, vd2.val[1]);
#ifdef __ARMEL__
odd = 1;
even = 0;
#else
odd = 0;
even = 1;
#endif
for (i = 0; i < 8; i++) for (i = 0; i < 8; i++)
if ((i % 2 == even && d4.buf[i] != 2) if ((i % 2 == 0 && d4.buf[i] != 2)
|| (i % 2 == odd && d4.buf[i] != 0)) || (i % 2 == 1 && d4.buf[i] != 0))
abort (); abort ();
return 0; return 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment