This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][AArch64] Restore recog state after finding pre-madd instruction
- From: Marcus Shawcroft <marcus dot shawcroft at gmail dot com>
- To: Kyrill Tkachov <kyrylo dot tkachov at arm dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Marcus Shawcroft <marcus dot shawcroft at arm dot com>, Richard Earnshaw <Richard dot Earnshaw at arm dot com>, Ramana Radhakrishnan <ramana dot radhakrishnan at arm dot com>
- Date: Wed, 29 Oct 2014 19:54:14 +0000
- Subject: Re: [PATCH][AArch64] Restore recog state after finding pre-madd instruction
- Authentication-results: sourceware.org; auth=none
- References: <5450BB85 dot 8010903 at arm dot com>
On 29 October 2014 10:03, Kyrill Tkachov <kyrylo.tkachov@arm.com> wrote:
> Hi all,
>
> This patch fixes an issue with the final_prescan workaround for the
> Cortex-A53 erratum 835769
> where calling recog_memoized could modify the recog data for the
> multiply-accumulate instruction
> when looking at a preceding asm block. This can lead to wrong code
> generation.
>
> The solution is to call extract_constrain_insn_cached to restore the recog
> data before exiting
> aarch64_madd_needs_nop.
>
> Bootstrapped and tested on aarch64-none-linux-gnu.
> A compile testcase is added demonstrating the issue.
>
> Ok for trunk?
Ok /Marcus