]> 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:40:53 +0000 (13:40 +0200)
commitc503f416f222b0b4bfbf1e2bb1afda49b3f29e0d
tree8745a9e9a7f48ddbd570b9eaf14d08938b8546b9
parent3fd9656951bc88e20d475c989c03d5da507b973b
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