This is the mail archive of the
mailing list for the GCC project.
Re: [Patch, ARM] Fix pr 61208
- From: Richard Biener <rguenther at suse dot de>
- To: Richard Earnshaw <rearnsha at arm dot com>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 21 May 2014 09:53:42 +0200 (CEST)
- Subject: Re: [Patch, ARM] Fix pr 61208
- Authentication-results: sourceware.org; auth=none
- References: <537B7505 dot 20907 at arm dot com>
On Tue, 20 May 2014, Richard Earnshaw wrote:
> PR 61208 is a wrong code bug in Thumb2 where we can generate out of
> range branches due to incorrect instruction size calculations. It's
> mostly gone latent on 4.9 and trunk (though could still happen at -O0
> where splitting is done during final instruction generation).
> Complicating things slightly is the fact that prior to 4.9 we had a
> single alternative that was emitted statically; we now use an
> insn_and_split (hence the reduced impact on 4.9). That means different
> patches are needed: one for 4.9 and trunk; another for 4.8 and earlier.
> I've tried to minimize the 4.8 version as much as possible to reduce the
> risk. It seems simplest to just provide a new alternative for use with
> Thumb2 that has the correct length. Consequently there are two versions
> of this patch attached. One for 4.7 and 4.8, the other for 4.9 and trunk.
> PR target/61208
> * arm.md (arm_cmpdi_unsigned): Fix length calculation for Thumb2.
> Testing of the backport version on 4.8 is OK, the trunk version is
> ongoing, though I've smoke tested it.
> Richi, is the backport version OK to go into 4.8?
Please wait until after 4.8.3 is released (the bug is not marked
as regression and has no known-to-work versions filled in).