> 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.

OK for whatever branches you deem relevant, modulo a couple of nits:

> +;; Avoid scheduling load/store, FPU, and multiplication instructions back

and multiply instructions

> +;; Schedule three instructions between load and dependant instruction.

dependent

-- 
Eric Botcazou


Reply via email to