@@ -9,19 +9,32 @@ name: abds_i8
9
9
body : |
10
10
bb.0.entry:
11
11
liveins: $x10, $x11
12
- ; CHECK-LABEL: name: abds_i8
13
- ; CHECK: liveins: $x10, $x11
14
- ; CHECK-NEXT: {{ $}}
15
- ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10
16
- ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11
17
- ; CHECK-NEXT: [[ASSERT_SEXT:%[0-9]+]]:_(s32) = G_ASSERT_SEXT [[COPY]], 8
18
- ; CHECK-NEXT: [[ASSERT_SEXT1:%[0-9]+]]:_(s32) = G_ASSERT_SEXT [[COPY1]], 8
19
- ; CHECK-NEXT: [[SUB:%[0-9]+]]:_(s32) = G_SUB [[ASSERT_SEXT]], [[ASSERT_SEXT1]]
20
- ; CHECK-NEXT: [[SUB1:%[0-9]+]]:_(s32) = G_SUB [[ASSERT_SEXT1]], [[ASSERT_SEXT]]
21
- ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(sgt), [[ASSERT_SEXT]](s32), [[ASSERT_SEXT1]]
22
- ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP]](s32), [[SUB]], [[SUB1]]
23
- ; CHECK-NEXT: $x10 = COPY [[SELECT]](s32)
24
- ; CHECK-NEXT: PseudoRET implicit $x10
12
+ ; RV32I-LABEL: name: abds_i8
13
+ ; RV32I: liveins: $x10, $x11
14
+ ; RV32I-NEXT: {{ $}}
15
+ ; RV32I-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10
16
+ ; RV32I-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11
17
+ ; RV32I-NEXT: [[ASSERT_SEXT:%[0-9]+]]:_(s32) = G_ASSERT_SEXT [[COPY]], 8
18
+ ; RV32I-NEXT: [[ASSERT_SEXT1:%[0-9]+]]:_(s32) = G_ASSERT_SEXT [[COPY1]], 8
19
+ ; RV32I-NEXT: [[SUB:%[0-9]+]]:_(s32) = G_SUB [[ASSERT_SEXT]], [[ASSERT_SEXT1]]
20
+ ; RV32I-NEXT: [[SUB1:%[0-9]+]]:_(s32) = G_SUB [[ASSERT_SEXT1]], [[ASSERT_SEXT]]
21
+ ; RV32I-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(sgt), [[ASSERT_SEXT]](s32), [[ASSERT_SEXT1]]
22
+ ; RV32I-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP]](s32), [[SUB]], [[SUB1]]
23
+ ; RV32I-NEXT: $x10 = COPY [[SELECT]](s32)
24
+ ; RV32I-NEXT: PseudoRET implicit $x10
25
+ ;
26
+ ; RV32ZBB-LABEL: name: abds_i8
27
+ ; RV32ZBB: liveins: $x10, $x11
28
+ ; RV32ZBB-NEXT: {{ $}}
29
+ ; RV32ZBB-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10
30
+ ; RV32ZBB-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11
31
+ ; RV32ZBB-NEXT: [[ASSERT_SEXT:%[0-9]+]]:_(s32) = G_ASSERT_SEXT [[COPY]], 8
32
+ ; RV32ZBB-NEXT: [[ASSERT_SEXT1:%[0-9]+]]:_(s32) = G_ASSERT_SEXT [[COPY1]], 8
33
+ ; RV32ZBB-NEXT: [[SMAX:%[0-9]+]]:_(s32) = G_SMAX [[ASSERT_SEXT]], [[ASSERT_SEXT1]]
34
+ ; RV32ZBB-NEXT: [[SMIN:%[0-9]+]]:_(s32) = G_SMIN [[ASSERT_SEXT]], [[ASSERT_SEXT1]]
35
+ ; RV32ZBB-NEXT: [[SUB:%[0-9]+]]:_(s32) = G_SUB [[SMAX]], [[SMIN]]
36
+ ; RV32ZBB-NEXT: $x10 = COPY [[SUB]](s32)
37
+ ; RV32ZBB-NEXT: PseudoRET implicit $x10
25
38
%1:_(s32) = COPY $x10
26
39
%2:_(s32) = COPY $x11
27
40
%3:_(s32) = G_ASSERT_SEXT %1, 8
@@ -38,19 +51,32 @@ name: abds_i16
38
51
body : |
39
52
bb.0.entry:
40
53
liveins: $x10, $x11
41
- ; CHECK-LABEL: name: abds_i16
42
- ; CHECK: liveins: $x10, $x11
43
- ; CHECK-NEXT: {{ $}}
44
- ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10
45
- ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11
46
- ; CHECK-NEXT: [[ASSERT_SEXT:%[0-9]+]]:_(s32) = G_ASSERT_SEXT [[COPY]], 16
47
- ; CHECK-NEXT: [[ASSERT_SEXT1:%[0-9]+]]:_(s32) = G_ASSERT_SEXT [[COPY1]], 16
48
- ; CHECK-NEXT: [[SUB:%[0-9]+]]:_(s32) = G_SUB [[ASSERT_SEXT]], [[ASSERT_SEXT1]]
49
- ; CHECK-NEXT: [[SUB1:%[0-9]+]]:_(s32) = G_SUB [[ASSERT_SEXT1]], [[ASSERT_SEXT]]
50
- ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(sgt), [[ASSERT_SEXT]](s32), [[ASSERT_SEXT1]]
51
- ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP]](s32), [[SUB]], [[SUB1]]
52
- ; CHECK-NEXT: $x10 = COPY [[SELECT]](s32)
53
- ; CHECK-NEXT: PseudoRET implicit $x10
54
+ ; RV32I-LABEL: name: abds_i16
55
+ ; RV32I: liveins: $x10, $x11
56
+ ; RV32I-NEXT: {{ $}}
57
+ ; RV32I-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10
58
+ ; RV32I-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11
59
+ ; RV32I-NEXT: [[ASSERT_SEXT:%[0-9]+]]:_(s32) = G_ASSERT_SEXT [[COPY]], 16
60
+ ; RV32I-NEXT: [[ASSERT_SEXT1:%[0-9]+]]:_(s32) = G_ASSERT_SEXT [[COPY1]], 16
61
+ ; RV32I-NEXT: [[SUB:%[0-9]+]]:_(s32) = G_SUB [[ASSERT_SEXT]], [[ASSERT_SEXT1]]
62
+ ; RV32I-NEXT: [[SUB1:%[0-9]+]]:_(s32) = G_SUB [[ASSERT_SEXT1]], [[ASSERT_SEXT]]
63
+ ; RV32I-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(sgt), [[ASSERT_SEXT]](s32), [[ASSERT_SEXT1]]
64
+ ; RV32I-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP]](s32), [[SUB]], [[SUB1]]
65
+ ; RV32I-NEXT: $x10 = COPY [[SELECT]](s32)
66
+ ; RV32I-NEXT: PseudoRET implicit $x10
67
+ ;
68
+ ; RV32ZBB-LABEL: name: abds_i16
69
+ ; RV32ZBB: liveins: $x10, $x11
70
+ ; RV32ZBB-NEXT: {{ $}}
71
+ ; RV32ZBB-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10
72
+ ; RV32ZBB-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11
73
+ ; RV32ZBB-NEXT: [[ASSERT_SEXT:%[0-9]+]]:_(s32) = G_ASSERT_SEXT [[COPY]], 16
74
+ ; RV32ZBB-NEXT: [[ASSERT_SEXT1:%[0-9]+]]:_(s32) = G_ASSERT_SEXT [[COPY1]], 16
75
+ ; RV32ZBB-NEXT: [[SMAX:%[0-9]+]]:_(s32) = G_SMAX [[ASSERT_SEXT]], [[ASSERT_SEXT1]]
76
+ ; RV32ZBB-NEXT: [[SMIN:%[0-9]+]]:_(s32) = G_SMIN [[ASSERT_SEXT]], [[ASSERT_SEXT1]]
77
+ ; RV32ZBB-NEXT: [[SUB:%[0-9]+]]:_(s32) = G_SUB [[SMAX]], [[SMIN]]
78
+ ; RV32ZBB-NEXT: $x10 = COPY [[SUB]](s32)
79
+ ; RV32ZBB-NEXT: PseudoRET implicit $x10
54
80
%1:_(s32) = COPY $x10
55
81
%2:_(s32) = COPY $x11
56
82
%3:_(s32) = G_ASSERT_SEXT %1, 16
@@ -138,19 +164,32 @@ name: abdu_i8
138
164
body : |
139
165
bb.0.entry:
140
166
liveins: $x10, $x11
141
- ; CHECK-LABEL: name: abdu_i8
142
- ; CHECK: liveins: $x10, $x11
143
- ; CHECK-NEXT: {{ $}}
144
- ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10
145
- ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11
146
- ; CHECK-NEXT: [[ASSERT_ZEXT:%[0-9]+]]:_(s32) = G_ASSERT_ZEXT [[COPY]], 8
147
- ; CHECK-NEXT: [[ASSERT_ZEXT1:%[0-9]+]]:_(s32) = G_ASSERT_ZEXT [[COPY1]], 8
148
- ; CHECK-NEXT: [[SUB:%[0-9]+]]:_(s32) = G_SUB [[ASSERT_ZEXT]], [[ASSERT_ZEXT1]]
149
- ; CHECK-NEXT: [[SUB1:%[0-9]+]]:_(s32) = G_SUB [[ASSERT_ZEXT1]], [[ASSERT_ZEXT]]
150
- ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ugt), [[ASSERT_ZEXT]](s32), [[ASSERT_ZEXT1]]
151
- ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP]](s32), [[SUB]], [[SUB1]]
152
- ; CHECK-NEXT: $x10 = COPY [[SELECT]](s32)
153
- ; CHECK-NEXT: PseudoRET implicit $x10
167
+ ; RV32I-LABEL: name: abdu_i8
168
+ ; RV32I: liveins: $x10, $x11
169
+ ; RV32I-NEXT: {{ $}}
170
+ ; RV32I-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10
171
+ ; RV32I-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11
172
+ ; RV32I-NEXT: [[ASSERT_ZEXT:%[0-9]+]]:_(s32) = G_ASSERT_ZEXT [[COPY]], 8
173
+ ; RV32I-NEXT: [[ASSERT_ZEXT1:%[0-9]+]]:_(s32) = G_ASSERT_ZEXT [[COPY1]], 8
174
+ ; RV32I-NEXT: [[SUB:%[0-9]+]]:_(s32) = G_SUB [[ASSERT_ZEXT]], [[ASSERT_ZEXT1]]
175
+ ; RV32I-NEXT: [[SUB1:%[0-9]+]]:_(s32) = G_SUB [[ASSERT_ZEXT1]], [[ASSERT_ZEXT]]
176
+ ; RV32I-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ugt), [[ASSERT_ZEXT]](s32), [[ASSERT_ZEXT1]]
177
+ ; RV32I-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP]](s32), [[SUB]], [[SUB1]]
178
+ ; RV32I-NEXT: $x10 = COPY [[SELECT]](s32)
179
+ ; RV32I-NEXT: PseudoRET implicit $x10
180
+ ;
181
+ ; RV32ZBB-LABEL: name: abdu_i8
182
+ ; RV32ZBB: liveins: $x10, $x11
183
+ ; RV32ZBB-NEXT: {{ $}}
184
+ ; RV32ZBB-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10
185
+ ; RV32ZBB-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11
186
+ ; RV32ZBB-NEXT: [[ASSERT_ZEXT:%[0-9]+]]:_(s32) = G_ASSERT_ZEXT [[COPY]], 8
187
+ ; RV32ZBB-NEXT: [[ASSERT_ZEXT1:%[0-9]+]]:_(s32) = G_ASSERT_ZEXT [[COPY1]], 8
188
+ ; RV32ZBB-NEXT: [[UMAX:%[0-9]+]]:_(s32) = G_UMAX [[ASSERT_ZEXT]], [[ASSERT_ZEXT1]]
189
+ ; RV32ZBB-NEXT: [[UMIN:%[0-9]+]]:_(s32) = G_UMIN [[ASSERT_ZEXT]], [[ASSERT_ZEXT1]]
190
+ ; RV32ZBB-NEXT: [[SUB:%[0-9]+]]:_(s32) = G_SUB [[UMAX]], [[UMIN]]
191
+ ; RV32ZBB-NEXT: $x10 = COPY [[SUB]](s32)
192
+ ; RV32ZBB-NEXT: PseudoRET implicit $x10
154
193
%1:_(s32) = COPY $x10
155
194
%2:_(s32) = COPY $x11
156
195
%3:_(s32) = G_ASSERT_ZEXT %1, 8
@@ -167,19 +206,32 @@ name: abdu_i16
167
206
body : |
168
207
bb.0.entry:
169
208
liveins: $x10, $x11
170
- ; CHECK-LABEL: name: abdu_i16
171
- ; CHECK: liveins: $x10, $x11
172
- ; CHECK-NEXT: {{ $}}
173
- ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10
174
- ; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11
175
- ; CHECK-NEXT: [[ASSERT_ZEXT:%[0-9]+]]:_(s32) = G_ASSERT_ZEXT [[COPY]], 16
176
- ; CHECK-NEXT: [[ASSERT_ZEXT1:%[0-9]+]]:_(s32) = G_ASSERT_ZEXT [[COPY1]], 16
177
- ; CHECK-NEXT: [[SUB:%[0-9]+]]:_(s32) = G_SUB [[ASSERT_ZEXT]], [[ASSERT_ZEXT1]]
178
- ; CHECK-NEXT: [[SUB1:%[0-9]+]]:_(s32) = G_SUB [[ASSERT_ZEXT1]], [[ASSERT_ZEXT]]
179
- ; CHECK-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ugt), [[ASSERT_ZEXT]](s32), [[ASSERT_ZEXT1]]
180
- ; CHECK-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP]](s32), [[SUB]], [[SUB1]]
181
- ; CHECK-NEXT: $x10 = COPY [[SELECT]](s32)
182
- ; CHECK-NEXT: PseudoRET implicit $x10
209
+ ; RV32I-LABEL: name: abdu_i16
210
+ ; RV32I: liveins: $x10, $x11
211
+ ; RV32I-NEXT: {{ $}}
212
+ ; RV32I-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10
213
+ ; RV32I-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11
214
+ ; RV32I-NEXT: [[ASSERT_ZEXT:%[0-9]+]]:_(s32) = G_ASSERT_ZEXT [[COPY]], 16
215
+ ; RV32I-NEXT: [[ASSERT_ZEXT1:%[0-9]+]]:_(s32) = G_ASSERT_ZEXT [[COPY1]], 16
216
+ ; RV32I-NEXT: [[SUB:%[0-9]+]]:_(s32) = G_SUB [[ASSERT_ZEXT]], [[ASSERT_ZEXT1]]
217
+ ; RV32I-NEXT: [[SUB1:%[0-9]+]]:_(s32) = G_SUB [[ASSERT_ZEXT1]], [[ASSERT_ZEXT]]
218
+ ; RV32I-NEXT: [[ICMP:%[0-9]+]]:_(s32) = G_ICMP intpred(ugt), [[ASSERT_ZEXT]](s32), [[ASSERT_ZEXT1]]
219
+ ; RV32I-NEXT: [[SELECT:%[0-9]+]]:_(s32) = G_SELECT [[ICMP]](s32), [[SUB]], [[SUB1]]
220
+ ; RV32I-NEXT: $x10 = COPY [[SELECT]](s32)
221
+ ; RV32I-NEXT: PseudoRET implicit $x10
222
+ ;
223
+ ; RV32ZBB-LABEL: name: abdu_i16
224
+ ; RV32ZBB: liveins: $x10, $x11
225
+ ; RV32ZBB-NEXT: {{ $}}
226
+ ; RV32ZBB-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $x10
227
+ ; RV32ZBB-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $x11
228
+ ; RV32ZBB-NEXT: [[ASSERT_ZEXT:%[0-9]+]]:_(s32) = G_ASSERT_ZEXT [[COPY]], 16
229
+ ; RV32ZBB-NEXT: [[ASSERT_ZEXT1:%[0-9]+]]:_(s32) = G_ASSERT_ZEXT [[COPY1]], 16
230
+ ; RV32ZBB-NEXT: [[UMAX:%[0-9]+]]:_(s32) = G_UMAX [[ASSERT_ZEXT]], [[ASSERT_ZEXT1]]
231
+ ; RV32ZBB-NEXT: [[UMIN:%[0-9]+]]:_(s32) = G_UMIN [[ASSERT_ZEXT]], [[ASSERT_ZEXT1]]
232
+ ; RV32ZBB-NEXT: [[SUB:%[0-9]+]]:_(s32) = G_SUB [[UMAX]], [[UMIN]]
233
+ ; RV32ZBB-NEXT: $x10 = COPY [[SUB]](s32)
234
+ ; RV32ZBB-NEXT: PseudoRET implicit $x10
183
235
%1:_(s32) = COPY $x10
184
236
%2:_(s32) = COPY $x11
185
237
%3:_(s32) = G_ASSERT_ZEXT %1, 16
0 commit comments