2
2
# RUN: llc -mtriple=amdgcn -run-pass=regbankselect %s -verify-machineinstrs -o - -regbankselect-fast | FileCheck %s
3
3
# RUN: llc -mtriple=amdgcn -run-pass=regbankselect %s -verify-machineinstrs -o - -regbankselect-greedy | FileCheck %s
4
4
5
+ # RUN: llc -mtriple=amdgcn -mcpu=fiji -run-pass="amdgpu-regbankselect,amdgpu-regbanklegalize" %s -verify-machineinstrs -o - | FileCheck %s --check-prefix=NEW_RBS
6
+
5
7
---
6
8
name : inttoptr_s_p0
7
9
legalized : true
@@ -14,6 +16,12 @@ body: |
14
16
; CHECK-NEXT: {{ $}}
15
17
; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s64) = COPY $sgpr0_sgpr1
16
18
; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:sgpr(p0) = G_INTTOPTR [[COPY]](s64)
19
+ ;
20
+ ; NEW_RBS-LABEL: name: inttoptr_s_p0
21
+ ; NEW_RBS: liveins: $sgpr0_sgpr1
22
+ ; NEW_RBS-NEXT: {{ $}}
23
+ ; NEW_RBS-NEXT: [[COPY:%[0-9]+]]:sgpr(s64) = COPY $sgpr0_sgpr1
24
+ ; NEW_RBS-NEXT: [[INTTOPTR:%[0-9]+]]:sgpr(p0) = G_INTTOPTR [[COPY]](s64)
17
25
%0:_(s64) = COPY $sgpr0_sgpr1
18
26
%1:_(p0) = G_INTTOPTR %0
19
27
...
@@ -30,6 +38,12 @@ body: |
30
38
; CHECK-NEXT: {{ $}}
31
39
; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s64) = COPY $vgpr0_vgpr1
32
40
; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:vgpr(p0) = G_INTTOPTR [[COPY]](s64)
41
+ ;
42
+ ; NEW_RBS-LABEL: name: inttoptr_v_p0
43
+ ; NEW_RBS: liveins: $vgpr0_vgpr1
44
+ ; NEW_RBS-NEXT: {{ $}}
45
+ ; NEW_RBS-NEXT: [[COPY:%[0-9]+]]:vgpr(s64) = COPY $vgpr0_vgpr1
46
+ ; NEW_RBS-NEXT: [[INTTOPTR:%[0-9]+]]:vgpr(p0) = G_INTTOPTR [[COPY]](s64)
33
47
%0:_(s64) = COPY $vgpr0_vgpr1
34
48
%1:_(p0) = G_INTTOPTR %0
35
49
...
@@ -46,6 +60,12 @@ body: |
46
60
; CHECK-NEXT: {{ $}}
47
61
; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s64) = COPY $sgpr0_sgpr1
48
62
; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:sgpr(p1) = G_INTTOPTR [[COPY]](s64)
63
+ ;
64
+ ; NEW_RBS-LABEL: name: inttoptr_s_p1
65
+ ; NEW_RBS: liveins: $sgpr0_sgpr1
66
+ ; NEW_RBS-NEXT: {{ $}}
67
+ ; NEW_RBS-NEXT: [[COPY:%[0-9]+]]:sgpr(s64) = COPY $sgpr0_sgpr1
68
+ ; NEW_RBS-NEXT: [[INTTOPTR:%[0-9]+]]:sgpr(p1) = G_INTTOPTR [[COPY]](s64)
49
69
%0:_(s64) = COPY $sgpr0_sgpr1
50
70
%1:_(p1) = G_INTTOPTR %0
51
71
...
@@ -62,6 +82,12 @@ body: |
62
82
; CHECK-NEXT: {{ $}}
63
83
; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s64) = COPY $vgpr0_vgpr1
64
84
; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:vgpr(p1) = G_INTTOPTR [[COPY]](s64)
85
+ ;
86
+ ; NEW_RBS-LABEL: name: inttoptr_v_p1
87
+ ; NEW_RBS: liveins: $vgpr0_vgpr1
88
+ ; NEW_RBS-NEXT: {{ $}}
89
+ ; NEW_RBS-NEXT: [[COPY:%[0-9]+]]:vgpr(s64) = COPY $vgpr0_vgpr1
90
+ ; NEW_RBS-NEXT: [[INTTOPTR:%[0-9]+]]:vgpr(p1) = G_INTTOPTR [[COPY]](s64)
65
91
%0:_(s64) = COPY $vgpr0_vgpr1
66
92
%1:_(p1) = G_INTTOPTR %0
67
93
...
@@ -78,6 +104,12 @@ body: |
78
104
; CHECK-NEXT: {{ $}}
79
105
; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
80
106
; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:sgpr(p2) = G_INTTOPTR [[COPY]](s32)
107
+ ;
108
+ ; NEW_RBS-LABEL: name: inttoptr_s_p2
109
+ ; NEW_RBS: liveins: $sgpr0
110
+ ; NEW_RBS-NEXT: {{ $}}
111
+ ; NEW_RBS-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
112
+ ; NEW_RBS-NEXT: [[INTTOPTR:%[0-9]+]]:sgpr(p2) = G_INTTOPTR [[COPY]](s32)
81
113
%0:_(s32) = COPY $sgpr0
82
114
%1:_(p2) = G_INTTOPTR %0
83
115
...
@@ -94,6 +126,12 @@ body: |
94
126
; CHECK-NEXT: {{ $}}
95
127
; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
96
128
; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:vgpr(p2) = G_INTTOPTR [[COPY]](s32)
129
+ ;
130
+ ; NEW_RBS-LABEL: name: inttoptr_v_p2
131
+ ; NEW_RBS: liveins: $vgpr0
132
+ ; NEW_RBS-NEXT: {{ $}}
133
+ ; NEW_RBS-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
134
+ ; NEW_RBS-NEXT: [[INTTOPTR:%[0-9]+]]:vgpr(p2) = G_INTTOPTR [[COPY]](s32)
97
135
%0:_(s32) = COPY $vgpr0
98
136
%1:_(p2) = G_INTTOPTR %0
99
137
...
@@ -110,6 +148,12 @@ body: |
110
148
; CHECK-NEXT: {{ $}}
111
149
; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
112
150
; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:sgpr(p3) = G_INTTOPTR [[COPY]](s32)
151
+ ;
152
+ ; NEW_RBS-LABEL: name: inttoptr_s_p3
153
+ ; NEW_RBS: liveins: $sgpr0
154
+ ; NEW_RBS-NEXT: {{ $}}
155
+ ; NEW_RBS-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
156
+ ; NEW_RBS-NEXT: [[INTTOPTR:%[0-9]+]]:sgpr(p3) = G_INTTOPTR [[COPY]](s32)
113
157
%0:_(s32) = COPY $sgpr0
114
158
%1:_(p3) = G_INTTOPTR %0
115
159
...
@@ -126,6 +170,12 @@ body: |
126
170
; CHECK-NEXT: {{ $}}
127
171
; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
128
172
; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:vgpr(p3) = G_INTTOPTR [[COPY]](s32)
173
+ ;
174
+ ; NEW_RBS-LABEL: name: inttoptr_v_p3
175
+ ; NEW_RBS: liveins: $vgpr0
176
+ ; NEW_RBS-NEXT: {{ $}}
177
+ ; NEW_RBS-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
178
+ ; NEW_RBS-NEXT: [[INTTOPTR:%[0-9]+]]:vgpr(p3) = G_INTTOPTR [[COPY]](s32)
129
179
%0:_(s32) = COPY $vgpr0
130
180
%1:_(p3) = G_INTTOPTR %0
131
181
...
@@ -142,6 +192,12 @@ body: |
142
192
; CHECK-NEXT: {{ $}}
143
193
; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s64) = COPY $sgpr0_sgpr1
144
194
; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:sgpr(p4) = G_INTTOPTR [[COPY]](s64)
195
+ ;
196
+ ; NEW_RBS-LABEL: name: inttoptr_s_p4
197
+ ; NEW_RBS: liveins: $sgpr0_sgpr1
198
+ ; NEW_RBS-NEXT: {{ $}}
199
+ ; NEW_RBS-NEXT: [[COPY:%[0-9]+]]:sgpr(s64) = COPY $sgpr0_sgpr1
200
+ ; NEW_RBS-NEXT: [[INTTOPTR:%[0-9]+]]:sgpr(p4) = G_INTTOPTR [[COPY]](s64)
145
201
%0:_(s64) = COPY $sgpr0_sgpr1
146
202
%1:_(p4) = G_INTTOPTR %0
147
203
...
@@ -158,6 +214,12 @@ body: |
158
214
; CHECK-NEXT: {{ $}}
159
215
; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s64) = COPY $vgpr0_vgpr1
160
216
; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:vgpr(p4) = G_INTTOPTR [[COPY]](s64)
217
+ ;
218
+ ; NEW_RBS-LABEL: name: inttoptr_v_p4
219
+ ; NEW_RBS: liveins: $vgpr0_vgpr1
220
+ ; NEW_RBS-NEXT: {{ $}}
221
+ ; NEW_RBS-NEXT: [[COPY:%[0-9]+]]:vgpr(s64) = COPY $vgpr0_vgpr1
222
+ ; NEW_RBS-NEXT: [[INTTOPTR:%[0-9]+]]:vgpr(p4) = G_INTTOPTR [[COPY]](s64)
161
223
%0:_(s64) = COPY $vgpr0_vgpr1
162
224
%1:_(p4) = G_INTTOPTR %0
163
225
...
@@ -174,6 +236,12 @@ body: |
174
236
; CHECK-NEXT: {{ $}}
175
237
; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
176
238
; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:sgpr(p5) = G_INTTOPTR [[COPY]](s32)
239
+ ;
240
+ ; NEW_RBS-LABEL: name: inttoptr_s_p5
241
+ ; NEW_RBS: liveins: $sgpr0
242
+ ; NEW_RBS-NEXT: {{ $}}
243
+ ; NEW_RBS-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
244
+ ; NEW_RBS-NEXT: [[INTTOPTR:%[0-9]+]]:sgpr(p5) = G_INTTOPTR [[COPY]](s32)
177
245
%0:_(s32) = COPY $sgpr0
178
246
%1:_(p5) = G_INTTOPTR %0
179
247
...
@@ -190,6 +258,12 @@ body: |
190
258
; CHECK-NEXT: {{ $}}
191
259
; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
192
260
; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:vgpr(p5) = G_INTTOPTR [[COPY]](s32)
261
+ ;
262
+ ; NEW_RBS-LABEL: name: inttoptr_v_p5
263
+ ; NEW_RBS: liveins: $vgpr0
264
+ ; NEW_RBS-NEXT: {{ $}}
265
+ ; NEW_RBS-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
266
+ ; NEW_RBS-NEXT: [[INTTOPTR:%[0-9]+]]:vgpr(p5) = G_INTTOPTR [[COPY]](s32)
193
267
%0:_(s32) = COPY $vgpr0
194
268
%1:_(p5) = G_INTTOPTR %0
195
269
...
@@ -206,6 +280,12 @@ body: |
206
280
; CHECK-NEXT: {{ $}}
207
281
; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
208
282
; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:sgpr(p6) = G_INTTOPTR [[COPY]](s32)
283
+ ;
284
+ ; NEW_RBS-LABEL: name: inttoptr_s_p6
285
+ ; NEW_RBS: liveins: $sgpr0
286
+ ; NEW_RBS-NEXT: {{ $}}
287
+ ; NEW_RBS-NEXT: [[COPY:%[0-9]+]]:sgpr(s32) = COPY $sgpr0
288
+ ; NEW_RBS-NEXT: [[INTTOPTR:%[0-9]+]]:sgpr(p6) = G_INTTOPTR [[COPY]](s32)
209
289
%0:_(s32) = COPY $sgpr0
210
290
%1:_(p6) = G_INTTOPTR %0
211
291
...
@@ -222,6 +302,12 @@ body: |
222
302
; CHECK-NEXT: {{ $}}
223
303
; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
224
304
; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:vgpr(p6) = G_INTTOPTR [[COPY]](s32)
305
+ ;
306
+ ; NEW_RBS-LABEL: name: inttoptr_v_p6
307
+ ; NEW_RBS: liveins: $vgpr0
308
+ ; NEW_RBS-NEXT: {{ $}}
309
+ ; NEW_RBS-NEXT: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
310
+ ; NEW_RBS-NEXT: [[INTTOPTR:%[0-9]+]]:vgpr(p6) = G_INTTOPTR [[COPY]](s32)
225
311
%0:_(s32) = COPY $vgpr0
226
312
%1:_(p6) = G_INTTOPTR %0
227
313
...
@@ -238,6 +324,12 @@ body: |
238
324
; CHECK-NEXT: {{ $}}
239
325
; CHECK-NEXT: [[COPY:%[0-9]+]]:sgpr(s128) = COPY $sgpr0_sgpr1_sgpr2_sgpr3
240
326
; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:sgpr(p8) = G_INTTOPTR [[COPY]](s128)
327
+ ;
328
+ ; NEW_RBS-LABEL: name: inttoptr_s_p8
329
+ ; NEW_RBS: liveins: $sgpr0_sgpr1_sgpr2_sgpr3
330
+ ; NEW_RBS-NEXT: {{ $}}
331
+ ; NEW_RBS-NEXT: [[COPY:%[0-9]+]]:sgpr(s128) = COPY $sgpr0_sgpr1_sgpr2_sgpr3
332
+ ; NEW_RBS-NEXT: [[INTTOPTR:%[0-9]+]]:sgpr(p8) = G_INTTOPTR [[COPY]](s128)
241
333
%0:_(s128) = COPY $sgpr0_sgpr1_sgpr2_sgpr3
242
334
%1:_(p8) = G_INTTOPTR %0
243
335
...
@@ -254,6 +346,12 @@ body: |
254
346
; CHECK-NEXT: {{ $}}
255
347
; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr(s128) = COPY $vgpr0_vgpr1_vgpr2_vgpr3
256
348
; CHECK-NEXT: [[INTTOPTR:%[0-9]+]]:vgpr(p8) = G_INTTOPTR [[COPY]](s128)
349
+ ;
350
+ ; NEW_RBS-LABEL: name: inttoptr_v_p8
351
+ ; NEW_RBS: liveins: $vgpr0_vgpr1_vgpr2_vgpr3
352
+ ; NEW_RBS-NEXT: {{ $}}
353
+ ; NEW_RBS-NEXT: [[COPY:%[0-9]+]]:vgpr(s128) = COPY $vgpr0_vgpr1_vgpr2_vgpr3
354
+ ; NEW_RBS-NEXT: [[INTTOPTR:%[0-9]+]]:vgpr(p8) = G_INTTOPTR [[COPY]](s128)
257
355
%0:_(s128) = COPY $vgpr0_vgpr1_vgpr2_vgpr3
258
356
%1:_(p8) = G_INTTOPTR %0
259
357
...
0 commit comments