]> git.ipfire.org Git - thirdparty/gcc.git/commit
sparc: Add scheduling information for LEON5
authorDaniel Cederman <cederman@gaisler.com>
Mon, 25 Mar 2019 08:12:17 +0000 (09:12 +0100)
committerDaniel Hellstrom <daniel@gaisler.com>
Thu, 16 Sep 2021 11:05:53 +0000 (13:05 +0200)
commit275a076f762daaf0e1d6148a1da1d7222f1aea9f
tree54b8364992f2c0826923f89f06306bf79e937f00
parenta053dab90e69c2a8289c95caec236f239a2a764b
sparc: Add scheduling information for LEON5

The LEON5 can often dual issue instructions from the same 64-bit aligned
double word if there are no data dependencies. Add scheduling information
to avoid scheduling unpairable instructions back-to-back.

gcc/ChangeLog:

* config/sparc/sparc-opts.h (enum sparc_processor_type): Add LEON5
* config/sparc/sparc.c (struct processor_costs): Add LEON5 costs
(leon5_adjust_cost): Increase cost of store with data dependency
on ALU instruction and FPU anti-dependencies.
(sparc_option_override): Add LEON5 costs
(sparc_adjust_cost): Add LEON5 cost adjustments
* config/sparc/sparc.h: Add LEON5
* config/sparc/sparc.md: Include LEON5 scheduling information
* config/sparc/sparc.opt: Add LEON5
* doc/invoke.texi: Add LEON5
* config/sparc/leon5.md: New file.
gcc/config/sparc/leon5.md [new file with mode: 0644]
gcc/config/sparc/sparc-opts.h
gcc/config/sparc/sparc.c
gcc/config/sparc/sparc.h
gcc/config/sparc/sparc.md
gcc/config/sparc/sparc.opt
gcc/doc/invoke.texi