@@ -15,7 +15,7 @@ let Predicates = [HasShortForwardBranchOpt], isSelect = 1,
15
15
// This instruction moves $truev to $dst when the condition is true. It will
16
16
// be expanded to control flow in RISCVExpandPseudoInsts.
17
17
def PseudoCCMOVGPR : Pseudo<(outs GPR:$dst),
18
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
18
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
19
19
GPR:$falsev, GPR:$truev),
20
20
[(set GPR:$dst,
21
21
(riscv_selectcc_frag:$cc (XLenVT GPR:$lhs),
@@ -34,7 +34,7 @@ let Predicates = [HasConditionalMoveFusion, NoShortForwardBranchOpt],
34
34
// be expanded to control flow in RISCVExpandPseudoInsts.
35
35
// We use GPRNoX0 because c.mv cannot encode X0.
36
36
def PseudoCCMOVGPRNoX0 : Pseudo<(outs GPRNoX0:$dst),
37
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
37
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
38
38
GPRNoX0:$falsev, GPRNoX0:$truev),
39
39
[(set GPRNoX0:$dst,
40
40
(riscv_selectcc_frag:$cc (XLenVT GPR:$lhs),
@@ -51,143 +51,143 @@ def PseudoCCMOVGPRNoX0 : Pseudo<(outs GPRNoX0:$dst),
51
51
let Predicates = [HasShortForwardBranchOpt], hasSideEffects = 0,
52
52
mayLoad = 0, mayStore = 0, Size = 8, Constraints = "$dst = $falsev" in {
53
53
def PseudoCCADD : Pseudo<(outs GPR:$dst),
54
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
54
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
55
55
GPR:$falsev, GPR:$rs1, GPR:$rs2), []>,
56
56
Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp,
57
57
ReadSFBALU, ReadSFBALU, ReadSFBALU]>;
58
58
def PseudoCCSUB : Pseudo<(outs GPR:$dst),
59
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
59
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
60
60
GPR:$falsev, GPR:$rs1, GPR:$rs2), []>,
61
61
Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp,
62
62
ReadSFBALU, ReadSFBALU, ReadSFBALU]>;
63
63
def PseudoCCSLL : Pseudo<(outs GPR:$dst),
64
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
64
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
65
65
GPR:$falsev, GPR:$rs1, GPR:$rs2), []>,
66
66
Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp, ReadSFBALU,
67
67
ReadSFBALU, ReadSFBALU]>;
68
68
def PseudoCCSRL : Pseudo<(outs GPR:$dst),
69
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
69
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
70
70
GPR:$falsev, GPR:$rs1, GPR:$rs2), []>,
71
71
Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp, ReadSFBALU,
72
72
ReadSFBALU, ReadSFBALU]>;
73
73
def PseudoCCSRA : Pseudo<(outs GPR:$dst),
74
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
74
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
75
75
GPR:$falsev, GPR:$rs1, GPR:$rs2), []>,
76
76
Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp, ReadSFBALU,
77
77
ReadSFBALU, ReadSFBALU]>;
78
78
def PseudoCCAND : Pseudo<(outs GPR:$dst),
79
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
79
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
80
80
GPR:$falsev, GPR:$rs1, GPR:$rs2), []>,
81
81
Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp,
82
82
ReadSFBALU, ReadSFBALU, ReadSFBALU]>;
83
83
def PseudoCCOR : Pseudo<(outs GPR:$dst),
84
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
84
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
85
85
GPR:$falsev, GPR:$rs1, GPR:$rs2), []>,
86
86
Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp,
87
87
ReadSFBALU, ReadSFBALU, ReadSFBALU]>;
88
88
def PseudoCCXOR : Pseudo<(outs GPR:$dst),
89
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
89
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
90
90
GPR:$falsev, GPR:$rs1, GPR:$rs2), []>,
91
91
Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp,
92
92
ReadSFBALU, ReadSFBALU, ReadSFBALU]>;
93
93
94
94
def PseudoCCADDI : Pseudo<(outs GPR:$dst),
95
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
95
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
96
96
GPR:$falsev, GPR:$rs1, simm12:$rs2), []>,
97
97
Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp, ReadSFBALU,
98
98
ReadSFBALU]>;
99
99
def PseudoCCSLLI : Pseudo<(outs GPR:$dst),
100
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
100
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
101
101
GPR:$falsev, GPR:$rs1, simm12:$rs2), []>,
102
102
Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp, ReadSFBALU,
103
103
ReadSFBALU]>;
104
104
def PseudoCCSRLI : Pseudo<(outs GPR:$dst),
105
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
105
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
106
106
GPR:$falsev, GPR:$rs1, simm12:$rs2), []>,
107
107
Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp, ReadSFBALU,
108
108
ReadSFBALU]>;
109
109
def PseudoCCSRAI : Pseudo<(outs GPR:$dst),
110
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
110
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
111
111
GPR:$falsev, GPR:$rs1, simm12:$rs2), []>,
112
112
Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp, ReadSFBALU,
113
113
ReadSFBALU]>;
114
114
def PseudoCCANDI : Pseudo<(outs GPR:$dst),
115
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
115
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
116
116
GPR:$falsev, GPR:$rs1, simm12:$rs2), []>,
117
117
Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp, ReadSFBALU,
118
118
ReadSFBALU]>;
119
119
def PseudoCCORI : Pseudo<(outs GPR:$dst),
120
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
120
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
121
121
GPR:$falsev, GPR:$rs1, simm12:$rs2), []>,
122
122
Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp, ReadSFBALU,
123
123
ReadSFBALU]>;
124
124
def PseudoCCXORI : Pseudo<(outs GPR:$dst),
125
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
125
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
126
126
GPR:$falsev, GPR:$rs1, simm12:$rs2), []>,
127
127
Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp, ReadSFBALU,
128
128
ReadSFBALU]>;
129
129
130
130
// RV64I instructions
131
131
def PseudoCCADDW : Pseudo<(outs GPR:$dst),
132
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
132
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
133
133
GPR:$falsev, GPR:$rs1, GPR:$rs2), []>,
134
134
Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp,
135
135
ReadSFBALU, ReadSFBALU, ReadSFBALU]>;
136
136
def PseudoCCSUBW : Pseudo<(outs GPR:$dst),
137
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
137
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
138
138
GPR:$falsev, GPR:$rs1, GPR:$rs2), []>,
139
139
Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp,
140
140
ReadSFBALU, ReadSFBALU, ReadSFBALU]>;
141
141
def PseudoCCSLLW : Pseudo<(outs GPR:$dst),
142
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
142
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
143
143
GPR:$falsev, GPR:$rs1, GPR:$rs2), []>,
144
144
Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp, ReadSFBALU,
145
145
ReadSFBALU, ReadSFBALU]>;
146
146
def PseudoCCSRLW : Pseudo<(outs GPR:$dst),
147
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
147
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
148
148
GPR:$falsev, GPR:$rs1, GPR:$rs2), []>,
149
149
Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp, ReadSFBALU,
150
150
ReadSFBALU, ReadSFBALU]>;
151
151
def PseudoCCSRAW : Pseudo<(outs GPR:$dst),
152
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
152
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
153
153
GPR:$falsev, GPR:$rs1, GPR:$rs2), []>,
154
154
Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp, ReadSFBALU,
155
155
ReadSFBALU, ReadSFBALU]>;
156
156
157
157
def PseudoCCADDIW : Pseudo<(outs GPR:$dst),
158
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
158
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
159
159
GPR:$falsev, GPR:$rs1, simm12:$rs2), []>,
160
160
Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp, ReadSFBALU,
161
161
ReadSFBALU]>;
162
162
def PseudoCCSLLIW : Pseudo<(outs GPR:$dst),
163
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
163
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
164
164
GPR:$falsev, GPR:$rs1, simm12:$rs2), []>,
165
165
Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp, ReadSFBALU,
166
166
ReadSFBALU]>;
167
167
def PseudoCCSRLIW : Pseudo<(outs GPR:$dst),
168
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
168
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
169
169
GPR:$falsev, GPR:$rs1, simm12:$rs2), []>,
170
170
Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp, ReadSFBALU,
171
171
ReadSFBALU]>;
172
172
def PseudoCCSRAIW : Pseudo<(outs GPR:$dst),
173
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
173
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
174
174
GPR:$falsev, GPR:$rs1, simm12:$rs2), []>,
175
175
Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp, ReadSFBALU,
176
176
ReadSFBALU]>;
177
177
178
178
// Zbb/Zbkb instructions
179
179
def PseudoCCANDN : Pseudo<(outs GPR:$dst),
180
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
180
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
181
181
GPR:$falsev, GPR:$rs1, GPR:$rs2), []>,
182
182
Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp,
183
183
ReadSFBALU, ReadSFBALU, ReadSFBALU]>;
184
184
def PseudoCCORN : Pseudo<(outs GPR:$dst),
185
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
185
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
186
186
GPR:$falsev, GPR:$rs1, GPR:$rs2), []>,
187
187
Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp,
188
188
ReadSFBALU, ReadSFBALU, ReadSFBALU]>;
189
189
def PseudoCCXNOR : Pseudo<(outs GPR:$dst),
190
- (ins GPR:$lhs, GPR:$rhs, ixlenimm :$cc,
190
+ (ins GPR:$lhs, GPR:$rhs, cond_code :$cc,
191
191
GPR:$falsev, GPR:$rs1, GPR:$rs2), []>,
192
192
Sched<[WriteSFB, ReadSFBJmp, ReadSFBJmp,
193
193
ReadSFBALU, ReadSFBALU, ReadSFBALU]>;
0 commit comments