Skip to content

Commit 0a06c39

Browse files
author
segher
committed
rs6000: Delete "delayed_cr" insn type
"delayed_cr" is just "cr_logical" with the second source operand not equal to the destination operand. This patch changes it to be expressed as type "cr_logical", with a new boolean attribute "cr_logical_3op" added. This simplifies code. * config/rs6000/rs6000.md (define_attr "type"): Remove delayed_cr. (define_attr "cr_logical_3op"): New. (cceq_ior_compare): Adjust. (cceq_ior_compare_complement): Adjust. (*cceq_rev_compare): Adjust. * config/rs6000/rs6000.c (rs6000_adjust_cost): Adjust. (is_cracked_insn): Adjust. (insn_must_be_first_in_group): Adjust. * config/rs6000/40x.md: Adjust. * config/rs6000/440.md: Adjust. * config/rs6000/476.md: Adjust. * config/rs6000/601.md: Adjust. * config/rs6000/603.md: Adjust. * config/rs6000/6xx.md: Adjust. * config/rs6000/7450.md: Adjust. * config/rs6000/7xx.md: Adjust. * config/rs6000/8540.md: Adjust. * config/rs6000/cell.md: Adjust. * config/rs6000/e300c2c3.md: Adjust. * config/rs6000/e500mc.md: Adjust. * config/rs6000/e500mc64.md: Adjust. * config/rs6000/e5500.md: Adjust. * config/rs6000/e6500.md: Adjust. * config/rs6000/mpc.md: Adjust. * config/rs6000/power4.md: Adjust. * config/rs6000/power5.md: Adjust. * config/rs6000/power6.md: Adjust. * config/rs6000/power7.md: Adjust. * config/rs6000/power8.md: Adjust. * config/rs6000/power9.md: Adjust. * config/rs6000/rs64.md: Adjust. * config/rs6000/titan.md: Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@256716 138bc75d-0d04-0410-961f-82ee72b054a4
1 parent e24acca commit 0a06c39

27 files changed

+75
-42
lines changed

gcc/ChangeLog

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,38 @@
1+
2018-01-15 Segher Boessenkool <[email protected]>
2+
3+
* config/rs6000/rs6000.md (define_attr "type"): Remove delayed_cr.
4+
(define_attr "cr_logical_3op"): New.
5+
(cceq_ior_compare): Adjust.
6+
(cceq_ior_compare_complement): Adjust.
7+
(*cceq_rev_compare): Adjust.
8+
* config/rs6000/rs6000.c (rs6000_adjust_cost): Adjust.
9+
(is_cracked_insn): Adjust.
10+
(insn_must_be_first_in_group): Adjust.
11+
* config/rs6000/40x.md: Adjust.
12+
* config/rs6000/440.md: Adjust.
13+
* config/rs6000/476.md: Adjust.
14+
* config/rs6000/601.md: Adjust.
15+
* config/rs6000/603.md: Adjust.
16+
* config/rs6000/6xx.md: Adjust.
17+
* config/rs6000/7450.md: Adjust.
18+
* config/rs6000/7xx.md: Adjust.
19+
* config/rs6000/8540.md: Adjust.
20+
* config/rs6000/cell.md: Adjust.
21+
* config/rs6000/e300c2c3.md: Adjust.
22+
* config/rs6000/e500mc.md: Adjust.
23+
* config/rs6000/e500mc64.md: Adjust.
24+
* config/rs6000/e5500.md: Adjust.
25+
* config/rs6000/e6500.md: Adjust.
26+
* config/rs6000/mpc.md: Adjust.
27+
* config/rs6000/power4.md: Adjust.
28+
* config/rs6000/power5.md: Adjust.
29+
* config/rs6000/power6.md: Adjust.
30+
* config/rs6000/power7.md: Adjust.
31+
* config/rs6000/power8.md: Adjust.
32+
* config/rs6000/power9.md: Adjust.
33+
* config/rs6000/rs64.md: Adjust.
34+
* config/rs6000/titan.md: Adjust.
35+
136
2018-01-15 H.J. Lu <[email protected]>
237

338
* config/i386/predicates.md (indirect_branch_operand): Rewrite

gcc/config/rs6000/40x.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@
114114
"bpu_40x")
115115

116116
(define_insn_reservation "ppc403-cr" 2
117-
(and (eq_attr "type" "cr_logical,delayed_cr")
117+
(and (eq_attr "type" "cr_logical")
118118
(eq_attr "cpu" "ppc403,ppc405"))
119119
"bpu_40x")
120120

gcc/config/rs6000/440.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@
9595
"ppc440_issue,ppc440_i_pipe")
9696

9797
(define_insn_reservation "ppc440-compare" 2
98-
(and (ior (eq_attr "type" "cmp,cr_logical,delayed_cr,mfcr")
98+
(and (ior (eq_attr "type" "cmp,cr_logical,mfcr")
9999
(and (eq_attr "type" "add,logical,shift,exts")
100100
(eq_attr "dot" "yes")))
101101
(eq_attr "cpu" "ppc440"))

gcc/config/rs6000/476.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@
7171
ppc476_i_pipe|ppc476_lj_pipe")
7272

7373
(define_insn_reservation "ppc476-complex-integer" 1
74-
(and (eq_attr "type" "cmp,cr_logical,delayed_cr,cntlz,isel,isync,sync,trap,popcnt")
74+
(and (eq_attr "type" "cmp,cr_logical,cntlz,isel,isync,sync,trap,popcnt")
7575
(eq_attr "cpu" "ppc476"))
7676
"ppc476_issue,\
7777
ppc476_i_pipe")

gcc/config/rs6000/601.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@
116116
"iu_ppc601,bpu_ppc601")
117117

118118
(define_insn_reservation "ppc601-crlogical" 4
119-
(and (eq_attr "type" "cr_logical,delayed_cr")
119+
(and (eq_attr "type" "cr_logical")
120120
(eq_attr "cpu" "ppc601"))
121121
"bpu_ppc601")
122122

gcc/config/rs6000/603.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@
126126
"fpu_603*33")
127127

128128
(define_insn_reservation "ppc603-crlogical" 2
129-
(and (eq_attr "type" "cr_logical,delayed_cr,mfcr,mtcr")
129+
(and (eq_attr "type" "cr_logical,mfcr,mtcr")
130130
(eq_attr "cpu" "ppc603"))
131131
"sru_603")
132132

gcc/config/rs6000/6xx.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -233,12 +233,12 @@
233233
"iu1_6xx|iu2_6xx")
234234

235235
(define_insn_reservation "ppc604-crlogical" 2
236-
(and (eq_attr "type" "cr_logical,delayed_cr")
236+
(and (eq_attr "type" "cr_logical")
237237
(eq_attr "cpu" "ppc604"))
238238
"bpu_6xx")
239239

240240
(define_insn_reservation "ppc604e-crlogical" 2
241-
(and (eq_attr "type" "cr_logical,delayed_cr")
241+
(and (eq_attr "type" "cr_logical")
242242
(eq_attr "cpu" "ppc604e,ppc620,ppc630"))
243243
"cru_6xx")
244244

gcc/config/rs6000/7450.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@
141141
"ppc7450_du,mciu_7450")
142142

143143
(define_insn_reservation "ppc7450-crlogical" 1
144-
(and (eq_attr "type" "cr_logical,delayed_cr")
144+
(and (eq_attr "type" "cr_logical")
145145
(eq_attr "cpu" "ppc7450"))
146146
"ppc7450_du,mciu_7450")
147147

gcc/config/rs6000/7xx.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@
144144
"ppc750_du,iu1_7xx")
145145

146146
(define_insn_reservation "ppc750-crlogical" 3
147-
(and (eq_attr "type" "cr_logical,delayed_cr")
147+
(and (eq_attr "type" "cr_logical")
148148
(eq_attr "cpu" "ppc750,ppc7400"))
149149
"nothing,sru_7xx*2")
150150

gcc/config/rs6000/8540.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@
127127

128128
;; CR logical
129129
(define_insn_reservation "ppc8540_cr_logical" 1
130-
(and (eq_attr "type" "cr_logical,delayed_cr")
130+
(and (eq_attr "type" "cr_logical")
131131
(eq_attr "cpu" "ppc8540,ppc8548"))
132132
"ppc8540_decode,ppc8540_bu,ppc8540_retire")
133133

0 commit comments

Comments
 (0)