-
- Downloads
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. From-SVN: r192286
Showing
- gcc/ChangeLog 25 additions, 0 deletionsgcc/ChangeLog
- gcc/config/sparc/niagara.md 1 addition, 1 deletiongcc/config/sparc/niagara.md
- gcc/config/sparc/niagara2.md 2 additions, 2 deletionsgcc/config/sparc/niagara2.md
- gcc/config/sparc/niagara4.md 40 additions, 9 deletionsgcc/config/sparc/niagara4.md
- gcc/config/sparc/sparc.md 23 additions, 23 deletionsgcc/config/sparc/sparc.md
- gcc/config/sparc/ultra1_2.md 3 additions, 3 deletionsgcc/config/sparc/ultra1_2.md
- gcc/config/sparc/ultra3.md 2 additions, 2 deletionsgcc/config/sparc/ultra3.md
Loading
Please register or sign in to comment