@@ -16,6 +16,22 @@ body: |
16
16
$x1 = COPY %2(s64)
17
17
...
18
18
---
19
+ name : test_combine_anyext_trunc_with_hint
20
+ body : |
21
+ bb.1:
22
+ liveins: $x0
23
+ ; CHECK-LABEL: name: test_combine_anyext_trunc_with_hint
24
+ ; CHECK: liveins: $x0
25
+ ; CHECK-NEXT: {{ $}}
26
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $x0
27
+ ; CHECK-NEXT: $x1 = COPY [[COPY]](s64)
28
+ %0:_(s64) = COPY $x0
29
+ %1:_(s32) = G_TRUNC %0(s64)
30
+ %2:_(s32) = G_ASSERT_ZEXT %1(s32), 11
31
+ %3:_(s64) = G_ANYEXT %2(s32)
32
+ $x1 = COPY %3(s64)
33
+ ...
34
+ ---
19
35
name : test_combine_anyext_trunc_vec
20
36
body : |
21
37
bb.1:
@@ -47,6 +63,23 @@ body: |
47
63
$x0 = COPY %2(s64)
48
64
...
49
65
---
66
+ name : test_combine_anyext_anyext_with_hint
67
+ body : |
68
+ bb.1:
69
+ liveins: $h0
70
+ ; CHECK-LABEL: name: test_combine_anyext_anyext_with_hint
71
+ ; CHECK: liveins: $h0
72
+ ; CHECK-NEXT: {{ $}}
73
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $h0
74
+ ; CHECK-NEXT: [[ANYEXT:%[0-9]+]]:_(s64) = G_ANYEXT [[COPY]](s16)
75
+ ; CHECK-NEXT: $x0 = COPY [[ANYEXT]](s64)
76
+ %0:_(s16) = COPY $h0
77
+ %1:_(s32) = G_ANYEXT %0(s16)
78
+ %2:_(s32) = G_ASSERT_ZEXT %1(s32), 11
79
+ %3:_(s64) = G_ANYEXT %2(s32)
80
+ $x0 = COPY %3(s64)
81
+ ...
82
+ ---
50
83
name : test_combine_anyext_anyext_vec
51
84
body : |
52
85
bb.1:
@@ -79,6 +112,23 @@ body: |
79
112
$x0 = COPY %2(s64)
80
113
...
81
114
---
115
+ name : test_combine_anyext_sext_with_hint
116
+ body : |
117
+ bb.1:
118
+ liveins: $h0
119
+ ; CHECK-LABEL: name: test_combine_anyext_sext_with_hint
120
+ ; CHECK: liveins: $h0
121
+ ; CHECK-NEXT: {{ $}}
122
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $h0
123
+ ; CHECK-NEXT: [[SEXT:%[0-9]+]]:_(s64) = G_SEXT [[COPY]](s16)
124
+ ; CHECK-NEXT: $x0 = COPY [[SEXT]](s64)
125
+ %0:_(s16) = COPY $h0
126
+ %1:_(s32) = G_SEXT %0(s16)
127
+ %2:_(s32) = G_ASSERT_ZEXT %1(s32), 11
128
+ %3:_(s64) = G_ANYEXT %2(s32)
129
+ $x0 = COPY %3(s64)
130
+ ...
131
+ ---
82
132
name : test_combine_anyext_sext_vec
83
133
body : |
84
134
bb.1:
@@ -111,6 +161,23 @@ body: |
111
161
$x0 = COPY %2(s64)
112
162
...
113
163
---
164
+ name : test_combine_anyext_zext_with_hint
165
+ body : |
166
+ bb.1:
167
+ liveins: $h0
168
+ ; CHECK-LABEL: name: test_combine_anyext_zext_with_hint
169
+ ; CHECK: liveins: $h0
170
+ ; CHECK-NEXT: {{ $}}
171
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $h0
172
+ ; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[COPY]](s16)
173
+ ; CHECK-NEXT: $x0 = COPY [[ZEXT]](s64)
174
+ %0:_(s16) = COPY $h0
175
+ %1:_(s32) = G_ZEXT %0(s16)
176
+ %2:_(s32) = G_ASSERT_ZEXT %1(s32), 11
177
+ %3:_(s64) = G_ANYEXT %2(s32)
178
+ $x0 = COPY %3(s64)
179
+ ...
180
+ ---
114
181
name : test_combine_anyext_zext_vec
115
182
body : |
116
183
bb.1:
@@ -143,6 +210,23 @@ body: |
143
210
$x0 = COPY %2(s64)
144
211
...
145
212
---
213
+ name : test_combine_sext_sext_with_hint
214
+ body : |
215
+ bb.1:
216
+ liveins: $h0
217
+ ; CHECK-LABEL: name: test_combine_sext_sext_with_hint
218
+ ; CHECK: liveins: $h0
219
+ ; CHECK-NEXT: {{ $}}
220
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $h0
221
+ ; CHECK-NEXT: [[SEXT:%[0-9]+]]:_(s64) = G_SEXT [[COPY]](s16)
222
+ ; CHECK-NEXT: $x0 = COPY [[SEXT]](s64)
223
+ %0:_(s16) = COPY $h0
224
+ %1:_(s32) = G_SEXT %0(s16)
225
+ %2:_(s32) = G_ASSERT_SEXT %1(s32), 11
226
+ %3:_(s64) = G_SEXT %2(s32)
227
+ $x0 = COPY %3(s64)
228
+ ...
229
+ ---
146
230
name : test_combine_sext_sext_vec
147
231
body : |
148
232
bb.1:
@@ -175,6 +259,23 @@ body: |
175
259
$x0 = COPY %2(s64)
176
260
...
177
261
---
262
+ name : test_combine_sext_zext_with_hint
263
+ body : |
264
+ bb.1:
265
+ liveins: $h0
266
+ ; CHECK-LABEL: name: test_combine_sext_zext_with_hint
267
+ ; CHECK: liveins: $h0
268
+ ; CHECK-NEXT: {{ $}}
269
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $h0
270
+ ; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[COPY]](s16)
271
+ ; CHECK-NEXT: $x0 = COPY [[ZEXT]](s64)
272
+ %0:_(s16) = COPY $h0
273
+ %1:_(s32) = G_ZEXT %0(s16)
274
+ %2:_(s32) = G_ASSERT_ZEXT %1(s32), 11
275
+ %3:_(s64) = G_SEXT %2(s32)
276
+ $x0 = COPY %3(s64)
277
+ ...
278
+ ---
178
279
name : test_combine_sext_zext_vec
179
280
body : |
180
281
bb.1:
@@ -207,6 +308,23 @@ body: |
207
308
$x0 = COPY %2(s64)
208
309
...
209
310
---
311
+ name : test_combine_zext_zext_with_hint
312
+ body : |
313
+ bb.1:
314
+ liveins: $h0
315
+ ; CHECK-LABEL: name: test_combine_zext_zext_with_hint
316
+ ; CHECK: liveins: $h0
317
+ ; CHECK-NEXT: {{ $}}
318
+ ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s16) = COPY $h0
319
+ ; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[COPY]](s16)
320
+ ; CHECK-NEXT: $x0 = COPY [[ZEXT]](s64)
321
+ %0:_(s16) = COPY $h0
322
+ %1:_(s32) = G_ZEXT %0(s16)
323
+ %2:_(s32) = G_ASSERT_ZEXT %1(s32), 11
324
+ %3:_(s64) = G_ZEXT %2(s32)
325
+ $x0 = COPY %3(s64)
326
+ ...
327
+ ---
210
328
name : test_combine_zext_zext_vec
211
329
body : |
212
330
bb.1:
0 commit comments