[PATCH] Fix ARM neon vashr<mode>3 and vlshr<mode>3 expanders (PR target/52375)

Richard Earnshaw rearnsha@arm.com
Mon Feb 27 15:38:00 GMT 2012


On 27/02/12 15:12, Jakub Jelinek wrote:
> Hi!
> 
> We ICE shortly after expansion on this testcase, because
> vlshrv4si3 expander is called with a SUBREG as operands[2],
> but we were testing just for REG_P, and in the other branch
> we assume that it is an immediate.  But there is no right shift
> with register shift count.
> 
> Fixed thusly, additionally moved the neg initialization down into
> the scope in which it is used to avoid creating a pseudo needlessly.
> Ok for trunk?
> 
> 2012-02-27  Jakub Jelinek  <jakub@redhat.com>
> 
> 	PR target/52375
> 	* config/arm/neon.md (vashr<mode>3, vlshr<mode>3): Use
> 	s_register_operand in the test instead of REG_P.  Don't call
> 	gen_reg_rtx if it won't be used.
> 
> 	* gcc.target/arm/pr52375.c: New test.
> 	* gcc.c-torture/compile/pr52375.c: New test.
> 

OK.

R.



More information about the Gcc-patches mailing list