comparison gcc/config/sparc/ultra1_2.md @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents a06113de4d67
children 84e7813d76e9
comparison
equal deleted inserted replaced
68:561a7518be6b 111:04ced10e8804
1 ;; Scheduling description for UltraSPARC-I/II. 1 ;; Scheduling description for UltraSPARC-I/II.
2 ;; Copyright (C) 2002, 2004, 2007 Free Software Foundation, Inc. 2 ;; Copyright (C) 2002-2017 Free Software Foundation, Inc.
3 ;; 3 ;;
4 ;; This file is part of GCC. 4 ;; This file is part of GCC.
5 ;; 5 ;;
6 ;; GCC is free software; you can redistribute it and/or modify 6 ;; GCC is free software; you can redistribute it and/or modify
7 ;; it under the terms of the GNU General Public License as published by 7 ;; it under the terms of the GNU General Public License as published by
77 (absence_set "us1_slot1" "us1_slot2,us1_slot3") 77 (absence_set "us1_slot1" "us1_slot2,us1_slot3")
78 (absence_set "us1_slot2" "us1_slot3") 78 (absence_set "us1_slot2" "us1_slot3")
79 79
80 (define_insn_reservation "us1_single" 1 80 (define_insn_reservation "us1_single" 1
81 (and (eq_attr "cpu" "ultrasparc") 81 (and (eq_attr "cpu" "ultrasparc")
82 (eq_attr "type" "multi,savew,flushw,iflush,trap")) 82 (eq_attr "type" "multi,savew,flushw,iflush,trap,gsr"))
83 "us1_single_issue") 83 "us1_single_issue")
84 84
85 (define_insn_reservation "us1_simple_ieuN" 1 85 (define_insn_reservation "us1_simple_ieuN" 1
86 (and (eq_attr "cpu" "ultrasparc") 86 (and (eq_attr "cpu" "ultrasparc")
87 (eq_attr "type" "ialu")) 87 (eq_attr "type" "ialu"))
92 (eq_attr "type" "shift")) 92 (eq_attr "type" "shift"))
93 "us1_ieu0 + us1_slot012") 93 "us1_ieu0 + us1_slot012")
94 94
95 (define_insn_reservation "us1_simple_ieu1" 1 95 (define_insn_reservation "us1_simple_ieu1" 1
96 (and (eq_attr "cpu" "ultrasparc") 96 (and (eq_attr "cpu" "ultrasparc")
97 (eq_attr "type" "compare")) 97 (eq_attr "type" "compare,edge,edgen,array"))
98 "us1_ieu1 + us1_slot012") 98 "us1_ieu1 + us1_slot012")
99 99
100 (define_insn_reservation "us1_ialuX" 1 100 (define_insn_reservation "us1_ialuX" 1
101 (and (eq_attr "cpu" "ultrasparc") 101 (and (eq_attr "cpu" "ultrasparc")
102 (eq_attr "type" "ialuX")) 102 (eq_attr "type" "ialuX"))
253 ;; VIS scheduling 253 ;; VIS scheduling
254 (define_insn_reservation "us1_fga_single" 254 (define_insn_reservation "us1_fga_single"
255 2 255 2
256 (and (and 256 (and (and
257 (eq_attr "cpu" "ultrasparc") 257 (eq_attr "cpu" "ultrasparc")
258 (eq_attr "type" "fga")) 258 (eq_attr "type" "fga,visl,vismv"))
259 (eq_attr "fptype" "single")) 259 (eq_attr "fptype" "single"))
260 "us1_fpa + us1_fp_single + us1_slotany, nothing") 260 "us1_fpa + us1_fp_single + us1_slotany, nothing")
261 261
262 (define_bypass 1 "us1_fga_single" "us1_fga_single") 262 (define_bypass 1 "us1_fga_single" "us1_fga_single")
263 263
264 (define_insn_reservation "us1_fga_double" 264 (define_insn_reservation "us1_fga_double"
265 2 265 2
266 (and (and 266 (and (eq_attr "cpu" "ultrasparc")
267 (eq_attr "cpu" "ultrasparc") 267 (ior (and (eq_attr "type" "fga,visl,vismv")
268 (eq_attr "type" "fga")) 268 (eq_attr "fptype" "double"))
269 (eq_attr "fptype" "double")) 269 (eq_attr "type" "viscmp")))
270 "us1_fpa + us1_fp_double + us1_slotany, nothing") 270 "us1_fpa + us1_fp_double + us1_slotany, nothing")
271 271
272 (define_bypass 1 "us1_fga_double" "us1_fga_double") 272 (define_bypass 1 "us1_fga_double" "us1_fga_double")
273 273
274 (define_insn_reservation "us1_fgm_single" 274 (define_insn_reservation "us1_fgm_single"
275 4 275 4
276 (and (and 276 (and (and
277 (eq_attr "cpu" "ultrasparc") 277 (eq_attr "cpu" "ultrasparc")
278 (eq_attr "type" "fgm_pack,fgm_mul,fgm_cmp")) 278 (eq_attr "type" "fgm_pack,fgm_mul"))
279 (eq_attr "fptype" "single")) 279 (eq_attr "fptype" "single"))
280 "us1_fpm + us1_fp_single + us1_slotany, nothing*3") 280 "us1_fpm + us1_fp_single + us1_slotany, nothing*3")
281 281
282 (define_bypass 3 "us1_fgm_single" "us1_fga_single") 282 (define_bypass 3 "us1_fgm_single" "us1_fga_single")
283 283
284 (define_insn_reservation "us1_fgm_double" 284 (define_insn_reservation "us1_fgm_double"
285 4 285 4
286 (and (and 286 (and (and
287 (eq_attr "cpu" "ultrasparc") 287 (eq_attr "cpu" "ultrasparc")
288 (eq_attr "type" "fgm_pack,fgm_mul,fgm_cmp")) 288 (eq_attr "type" "fgm_pack,fgm_mul"))
289 (eq_attr "fptype" "double")) 289 (eq_attr "fptype" "double"))
290 "us1_fpm + us1_fp_double + us1_slotany, nothing*3") 290 "us1_fpm + us1_fp_double + us1_slotany, nothing*3")
291 291
292 (define_bypass 3 "us1_fgm_double" "us1_fga_double") 292 (define_bypass 3 "us1_fgm_double" "us1_fga_double")
293 293
294 (define_insn_reservation "us1_pdist" 294 (define_insn_reservation "us1_pdist"
295 4 295 4
296 (and (eq_attr "cpu" "ultrasparc") 296 (and (eq_attr "cpu" "ultrasparc")
297 (eq_attr "type" "fgm_pdist")) 297 (eq_attr "type" "pdist"))
298 "us1_fpm + us1_fp_double + us1_slotany, nothing*3") 298 "us1_fpm + us1_fp_double + us1_slotany, nothing*3")
299 299
300 (define_bypass 3 "us1_pdist" "us1_fga_double,us1_fga_single") 300 (define_bypass 3 "us1_pdist" "us1_fga_double,us1_fga_single")
301 (define_bypass 1 "us1_pdist" "us1_pdist") 301 (define_bypass 1 "us1_pdist" "us1_pdist")