[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