comparison gcc/config/mips/4k.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
8 ;; 8 ;;
9 ;; 4Kc - pipelined multiplier and translation lookaside buffer (TLB) 9 ;; 4Kc - pipelined multiplier and translation lookaside buffer (TLB)
10 ;; 4km - pipelined multiplier and block address translator (BAT) 10 ;; 4km - pipelined multiplier and block address translator (BAT)
11 ;; 4kp - non-pipelined multiplier and block address translator (BAT) 11 ;; 4kp - non-pipelined multiplier and block address translator (BAT)
12 ;; 12 ;;
13 ;; Copyright (C) 2005, 2007 Free Software Foundation, Inc. 13 ;; Copyright (C) 2005-2017 Free Software Foundation, Inc.
14 ;; 14 ;;
15 ;; This file is part of GCC. 15 ;; This file is part of GCC.
16 ;; 16 ;;
17 ;; GCC is free software; you can redistribute it and/or modify it 17 ;; GCC is free software; you can redistribute it and/or modify it
18 ;; under the terms of the GNU General Public License as published 18 ;; under the terms of the GNU General Public License as published
112 "r4k_ixu_arith+(r4k_ixu_mpydiv*34)") 112 "r4k_ixu_arith+(r4k_ixu_mpydiv*34)")
113 113
114 ;; Move to HI/LO -> MADD/MSUB,MFHI/MFLO has a 1 cycle latency. 114 ;; Move to HI/LO -> MADD/MSUB,MFHI/MFLO has a 1 cycle latency.
115 (define_insn_reservation "r4k_int_mthilo" 1 115 (define_insn_reservation "r4k_int_mthilo" 1
116 (and (eq_attr "cpu" "4kc,4kp") 116 (and (eq_attr "cpu" "4kc,4kp")
117 (eq_attr "type" "mthilo")) 117 (eq_attr "type" "mthi,mtlo"))
118 "r4k_ixu_arith+r4k_ixu_mpydiv") 118 "r4k_ixu_arith+r4k_ixu_mpydiv")
119 119
120 ;; Move from HI/LO -> integer operation has a 2 cycle latency. 120 ;; Move from HI/LO -> integer operation has a 2 cycle latency.
121 (define_insn_reservation "r4k_int_mfhilo" 2 121 (define_insn_reservation "r4k_int_mfhilo" 2
122 (and (eq_attr "cpu" "4kc,4kp") 122 (and (eq_attr "cpu" "4kc,4kp")
123 (eq_attr "type" "mfhilo")) 123 (eq_attr "type" "mfhi,mflo"))
124 "r4k_ixu_arith+r4k_ixu_mpydiv") 124 "r4k_ixu_arith+r4k_ixu_mpydiv")
125 125
126 ;; All other integer insns. 126 ;; All other integer insns.
127 (define_insn_reservation "r4k_int_alu" 1 127 (define_insn_reservation "r4k_int_alu" 1
128 (and (eq_attr "cpu" "4kc,4kp") 128 (and (eq_attr "cpu" "4kc,4kp")
147 ;; "r4k_ixu_arith") 147 ;; "r4k_ixu_arith")
148 148
149 ;; Unknown or multi - single issue 149 ;; Unknown or multi - single issue
150 (define_insn_reservation "r4k_unknown" 1 150 (define_insn_reservation "r4k_unknown" 1
151 (and (eq_attr "cpu" "4kc,4kp") 151 (and (eq_attr "cpu" "4kc,4kp")
152 (eq_attr "type" "unknown,multi")) 152 (eq_attr "type" "unknown,multi,atomic,syncloop"))
153 "r4k_ixu_arith+r4k_ixu_mpydiv") 153 "r4k_ixu_arith+r4k_ixu_mpydiv")