1 ;; Scheduling description for z16.
2 ;; Copyright (C) 2022-2024 Free Software Foundation, Inc.
3 ;; Contributed by Robin Dapp (rdapp@linux.ibm.com)
5 ;; This file is part of GCC.
7 ;; GCC is free software; you can redistribute it and/or modify it under
8 ;; the terms of the GNU General Public License as published by the Free
9 ;; Software Foundation; either version 3, or (at your option) any later
12 ;; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13 ;; WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 ;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
17 ;; You should have received a copy of the GNU General Public License
18 ;; along with GCC; see the file COPYING3. If not see
19 ;; <http://www.gnu.org/licenses/>.
21 (define_attr "z16_unit_fpd" ""
22 (cond [(eq_attr "mnemonic"
43 (const_int 1)] (const_int 0)))
45 (define_attr "z16_unit_fxa" ""
46 (cond [(eq_attr "mnemonic"
269 (const_int 1)] (const_int 0)))
271 (define_attr "z16_unit_fxb" ""
272 (cond [(eq_attr "mnemonic"
425 (const_int 1)] (const_int 0)))
427 (define_attr "z16_unit_fxd" ""
428 (cond [(eq_attr "mnemonic"
435 (const_int 1)] (const_int 0)))
437 (define_attr "z16_unit_lsu" ""
438 (cond [(eq_attr "mnemonic"
685 (const_int 1)] (const_int 0)))
687 (define_attr "z16_unit_vfu" ""
688 (cond [(eq_attr "mnemonic"
1203 (const_int 1)] (const_int 0)))
1205 (define_attr "z16_cracked" ""
1206 (cond [(eq_attr "mnemonic"
1262 (const_int 1)] (const_int 0)))
1264 (define_attr "z16_expanded" ""
1265 (cond [(eq_attr "mnemonic"
1295 (const_int 1)] (const_int 0)))
1297 (define_attr "z16_groupalone" ""
1298 (cond [(eq_attr "mnemonic"
1366 (const_int 1)] (const_int 0)))
1368 (define_attr "z16_endgroup" ""
1369 (cond [(eq_attr "mnemonic"
1375 (const_int 1)] (const_int 0)))
1377 (define_attr "z16_groupoftwo" ""
1378 (cond [(eq_attr "mnemonic"
1428 (const_int 1)] (const_int 0)))
1430 (define_insn_reservation "z16_0" 0
1431 (and (eq_attr "cpu" "z16")
1679 (define_insn_reservation "z16_1" 1
1680 (and (eq_attr "cpu" "z16")
2010 (define_insn_reservation "z16_2" 2
2011 (and (eq_attr "cpu" "z16")
2128 (define_insn_reservation "z16_3" 3
2129 (and (eq_attr "cpu" "z16")
2220 (define_insn_reservation "z16_4" 4
2221 (and (eq_attr "cpu" "z16")
2269 (define_insn_reservation "z16_5" 5
2270 (and (eq_attr "cpu" "z16")
2361 (define_insn_reservation "z16_6" 6
2362 (and (eq_attr "cpu" "z16")
2369 (define_insn_reservation "z16_7" 7
2370 (and (eq_attr "cpu" "z16")
2387 (define_insn_reservation "z16_8" 8
2388 (and (eq_attr "cpu" "z16")
2399 (define_insn_reservation "z16_9" 9
2400 (and (eq_attr "cpu" "z16")
2432 (define_insn_reservation "z16_10" 10
2433 (and (eq_attr "cpu" "z16")
2443 (define_insn_reservation "z16_11" 11
2444 (and (eq_attr "cpu" "z16")
2460 (define_insn_reservation "z16_12" 12
2461 (and (eq_attr "cpu" "z16")
2473 (define_insn_reservation "z16_13" 13
2474 (and (eq_attr "cpu" "z16")
2491 (define_insn_reservation "z16_14" 14
2492 (and (eq_attr "cpu" "z16")
2501 (define_insn_reservation "z16_16" 16
2502 (and (eq_attr "cpu" "z16")
2508 (define_insn_reservation "z16_20" 20
2509 (and (eq_attr "cpu" "z16")