[Patch, ARM] Implement support for NEON vmovn.

Tejas Belagod tejas.belagod@arm.com
Tue Aug 31 14:40:00 GMT 2010


OK. Attached is a new patch that changes the vect_pack_trunc flag in
target-supports.exp. There are tests already in gcc.dg/vect (eg.
vect-multitypes-14.c) that check for vect_pack_trunc support and pass if
loops are vectorized. These tests pass with this patch. But they are not
written to xfail if vect_pack_trunc is not supported - should they have
been?

--
Tejas Belagod
ARM.

New Changelog:

gcc/

2010-08-31  Tejas Belagod  <tejas.belagod@arm.com>

	* config/arm/neon.md (vec_pack_trunc_<mode>): Instruction
	pattern for vmovn. Expansion in case of non 
	-mvectorize-with-neon-quad.
	(neon_vec_pack_trunc_<mode>): Instruction pattern for vmovn for
	non- -mvectorize-with-neon-quad case.
	(move_lo_quad_<mode>): New expansion to vmov into low part.
	(move_hi_quad_<mode>): New expansion to vmov into high part.
	(move_lo_quad_v4si): Refactor to move_lo_quad_<mode> expansion.
	(move_lo_quad_v4sf): Likewise.
	(move_lo_quad_v8hi): Likewise.
	(neon_move_lo_quad_<mode>): Instruction pattern for vmov into
	low part.
	(neon_move_hi_quad_<mode>): Instruction pattern for vmov into
	high part.
	* config/arm/iterators.md (ANY128): New mode iterator.
	(V_narrow_pack): New mode attribute.
	(V_HALF): Add attribute.
	(V_DOUBLE): Add attribute.
	(V_mode_nunits): Add attribute.

gcc/testsuite

2010-08-31  Tejas Belagod  <tejas.belagod@arm.com>

	* lib/target-supports.exp
	(check_effective_target_vect_pack_trunc): Set vect_pack_trunc
	supported flag to true for neon.


On Tue, 2010-08-31 at 11:51 +0000, Joseph S. Myers wrote:
> On Tue, 31 Aug 2010, Tejas Belagod wrote:
> 
> > Hi,
> > 
> > Attached is a patch that implements support for generating NEON
> > VMOVN.i<size>. This patch also refactors
> 
> Is it possible to add a testcase to the testsuite that fails before and 
> passes after this patch and demonstrates that it generates the desired 
> code on appropriate testcases?
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vmovn.txt
Type: text/x-patch
Size: 7872 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20100831/0541afa6/attachment.bin>


More information about the Gcc-patches mailing list