r192286 - in /trunk/gcc: ChangeLog config/sparc...
davem@gcc.gnu.org
davem@gcc.gnu.org
Wed Oct 10 02:04:00 GMT 2012
Author: davem
Date: Wed Oct 10 02:04:20 2012
New Revision: 192286
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192286
Log:
Make Niagara-4 instruction scheduling more accurate.
* config/sparc/sparc.md (type attribute): Add new types 'visl'
(VIS logical operation), 'vismv' (VIS move), and 'pdistn'. Rename
'fgm_pdist' to 'pdist'.
(*movsi_insn): Use vismv and visl.
(*movdi_insn_sp64): Likewise.
(*movsf_insn): Likewise.
(*movdf_insn_sp64): Likewise.
(*mov<VM32:mode>_insn): Likewise, use 'fsrc2s' instead of 'fsrc1s'.
(*mov<VM64:mode>_insn_sp64): Likewise, use 'fsrc2s' instead of 'fsrc1s'.
(*mov<VM64:mode>_insn_sp32): Likewise, use 'fsrc2s' instead of 'fsrc1s'.
(VIS logical instructions): Mark as visl.
(pdist_vis): Use 'pdist'.
(pditsn<mode>_vis): Use 'pdistn'.
* config/sparc/ultra1_2.md: Adjust for new VIS attribute types.
* config/sparc/ultra3.md: Likewise.
* config/sparc/niagara.md: Likewise.
* config/sparc/niagara2.md: Likewise.
* config/sparc/niagara4.md: Add cpu units "n4_slot2" and
"n4_load_store" for special store scheduling. Use them in load
and store reservations. Integer divide and multiply can only
issue in slot-1. Represent 1-cycle VIS moves and 3-cycle VIS
logic operations.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/sparc/niagara.md
trunk/gcc/config/sparc/niagara2.md
trunk/gcc/config/sparc/niagara4.md
trunk/gcc/config/sparc/sparc.md
trunk/gcc/config/sparc/ultra1_2.md
trunk/gcc/config/sparc/ultra3.md
More information about the Gcc-cvs
mailing list