Ping.
https://gcc.gnu.org/ml/gcc-patches/2015-05/msg00284.html
Thanks,
Kyrill
On 05/05/15 11:50, Kyrill Tkachov wrote:
On 05/05/15 09:22, Kyrill Tkachov wrote:
Hi all,
As the PR says, the movcond_addsi pattern takes the REGNO of an operand that
may be a CONST_INT.
The fix for that is rather simple (perhaps even obvious?).
Unfortunately the testcase is in ada, and I'm not sure how to integrate this
into the testsuite.
Does anyone know how to add an ada testcase?
As Tom has investigated in the bugzilla entry for this, the failure can
be reproduced in the testsuite at gfortran.dg/pr43984.f90 with
--enable-checking=yes,rtl.
So, this patch fixes that ICE, so I think no new testcase should be required
for this.
So, is this patch ok for trunk as is then?
Thanks,
Kyrill
The patch that introduced this faulty check was added for GCC 5 and backported
to 4.9, so this patch
should be backported everywhere as well.
I'll be testing it on those branches shortly.
Tested on arm-none-eabi. Bootstrapped on arm-none-linux-gnueabihf with arm and
thumb default mode.
I think this is the right thing to do in any case since the current code is
clearly doing the wrong
thing if operands[2] is a CONST_INT.
Ok for trunk?
Thanks,
Kyrill
P.S. I'm attaching the patch with a larger than usual context so that the
definition of operands[2]
can be seen more clearly.
2015-05-05 Kyrylo Tkachov <kyrylo.tkac...@arm.com>
PR target/65955
* config/arm/arm.md (movcond_addsi): Check that operands[2] is a
REG before taking its REGNO.