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