r255236 - in /trunk/gcc: ChangeLog config/sparc...
danielh@gcc.gnu.org
danielh@gcc.gnu.org
Wed Nov 29 15:23:00 GMT 2017
Author: danielh
Date: Wed Nov 29 15:23:40 2017
New Revision: 255236
URL: https://gcc.gnu.org/viewcvs?rev=255236&root=gcc&view=rev
Log:
[SPARC] Errata workaround for GRLIB-TN-0010
This patch provides a workaround for the errata described in GRLIB-TN-0010.
If the workaround is enabled it will:
* Insert a NOP between load instruction and atomic
instruction (swap, ldstub, casa).
* Insert a NOP at branch target if load in delay slot
and atomic instruction at branch target.
It is applicable to UT700.
2017-11-29 Daniel Cederman <cederman@gaisler.com>
gcc/
* config/sparc/sparc.c (atomic_insn_p): New function.
(sparc_do_work_around_errata): Insert NOP instructions to
prevent sequences that could trigger the TN-0010 errata for
UT700.
* config/sparc/sync.md (atomic_compare_and_swap_leon3_1): Make
instruction referable in atomic_insns_p.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/sparc/sparc.c
trunk/gcc/config/sparc/sync.md
More information about the Gcc-cvs
mailing list