diff options
author | Rong Xu <xur@google.com> | 2014-11-05 14:25:07 -0800 |
---|---|---|
committer | Rong Xu <xur@google.com> | 2014-11-05 14:25:07 -0800 |
commit | ba21122c63b06a70b620c8990c517b87198ad05b (patch) | |
tree | ba7f334580c346987b5686ffc95dcc6a732a931c /gcc-4.9/gcc/config | |
parent | 39dbe572beead93798002c03b4897afaf018cd04 (diff) | |
download | toolchain_gcc-ba21122c63b06a70b620c8990c517b87198ad05b.tar.gz toolchain_gcc-ba21122c63b06a70b620c8990c517b87198ad05b.tar.bz2 toolchain_gcc-ba21122c63b06a70b620c8990c517b87198ad05b.zip |
[4.9] Restore recog state after finding pre-madd instruction.
This patch backports svn r216853 from upsteam gcc-4.9 branch that
fixed a bug introduced in fixing cortex a53 erratum 835769.
Change-Id: Iccc6fd04ede28c2deba51be3f8e348ce374c8b4f
Diffstat (limited to 'gcc-4.9/gcc/config')
-rw-r--r-- | gcc-4.9/gcc/config/aarch64/aarch64.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/config/aarch64/aarch64.c b/gcc-4.9/gcc/config/aarch64/aarch64.c index 34986d7c6..2ff6c7cb8 100644 --- a/gcc-4.9/gcc/config/aarch64/aarch64.c +++ b/gcc-4.9/gcc/config/aarch64/aarch64.c @@ -6571,6 +6571,10 @@ aarch64_madd_needs_nop (rtx insn) return false; prev = aarch64_prev_real_insn (insn); + /* aarch64_prev_real_insn can call recog_memoized on insns other than INSN. + Restore recog state to INSN to avoid state corruption. */ + extract_constrain_insn_cached (insn); + if (!prev) return false; |