1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2# RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=fiji -run-pass=legalizer -global-isel-abort=2 -pass-remarks-missed='gisel*' -o - 2> %t %s | FileCheck -check-prefix=GFX8 %s
3# RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=tahiti -run-pass=legalizer -global-isel-abort=2 -o - %s | FileCheck -check-prefix=GFX6  %s
4# RUN: FileCheck -check-prefixes=ERR %s < %t
5
6# FIXME: Run with and without unaligned access turned on
7
8# ERR-NOT: remark
9# ERR: remark: <unknown>:0:0: unable to legalize instruction: %1:_(<2 x s16>) = G_SEXTLOAD %0:_(p1) :: (load 2, addrspace 1) (in function: test_sextload_global_v2i16_from_2)
10# ERR-NEXT: remark: <unknown>:0:0: unable to legalize instruction: %1:_(<2 x s32>) = G_SEXTLOAD %0:_(p1) :: (load 2, addrspace 1) (in function: test_sextload_global_v2i32_from_2)
11# ERR-NEXT: remark: <unknown>:0:0: unable to legalize instruction: %1:_(<2 x s32>) = G_SEXTLOAD %0:_(p1) :: (load 4, addrspace 1) (in function: test_sextload_global_v2i32_from_4)
12# ERR-NEXT: remark: <unknown>:0:0: unable to legalize instruction: %1:_(<2 x s64>) = G_SEXTLOAD %0:_(p1) :: (load 4, addrspace 1) (in function: test_sextload_global_v2i64_from_4)
13# ERR-NEXT: remark: <unknown>:0:0: unable to legalize instruction: %1:_(<2 x s64>) = G_SEXTLOAD %0:_(p1) :: (load 8, addrspace 1) (in function: test_sextload_global_v2i64_from_8)
14# ERR-NOT: remark
15
16---
17name: test_sextload_global_i32_i8
18body: |
19  bb.0:
20    liveins: $vgpr0_vgpr1
21
22    ; GFX8-LABEL: name: test_sextload_global_i32_i8
23    ; GFX8: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
24    ; GFX8: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p1) :: (load 1, addrspace 1)
25    ; GFX8: $vgpr0 = COPY [[SEXTLOAD]](s32)
26    ; GFX6-LABEL: name: test_sextload_global_i32_i8
27    ; GFX6: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
28    ; GFX6: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p1) :: (load 1, addrspace 1)
29    ; GFX6: $vgpr0 = COPY [[SEXTLOAD]](s32)
30    %0:_(p1) = COPY $vgpr0_vgpr1
31    %1:_(s32) = G_SEXTLOAD %0 :: (load 1, addrspace 1)
32    $vgpr0 = COPY %1
33...
34---
35name: test_sextload_global_i32_i16
36body: |
37  bb.0:
38    liveins: $vgpr0_vgpr1
39
40    ; GFX8-LABEL: name: test_sextload_global_i32_i16
41    ; GFX8: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
42    ; GFX8: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p1) :: (load 2, addrspace 1)
43    ; GFX8: $vgpr0 = COPY [[SEXTLOAD]](s32)
44    ; GFX6-LABEL: name: test_sextload_global_i32_i16
45    ; GFX6: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
46    ; GFX6: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p1) :: (load 2, addrspace 1)
47    ; GFX6: $vgpr0 = COPY [[SEXTLOAD]](s32)
48    %0:_(p1) = COPY $vgpr0_vgpr1
49    %1:_(s32) = G_SEXTLOAD %0 :: (load 2, addrspace 1)
50    $vgpr0 = COPY %1
51...
52---
53name: test_sextload_global_i31_i8
54body: |
55  bb.0:
56    liveins: $vgpr0_vgpr1
57
58    ; GFX8-LABEL: name: test_sextload_global_i31_i8
59    ; GFX8: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
60    ; GFX8: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p1) :: (load 1, addrspace 1)
61    ; GFX8: [[COPY1:%[0-9]+]]:_(s32) = COPY [[SEXTLOAD]](s32)
62    ; GFX8: $vgpr0 = COPY [[COPY1]](s32)
63    ; GFX6-LABEL: name: test_sextload_global_i31_i8
64    ; GFX6: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
65    ; GFX6: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p1) :: (load 1, addrspace 1)
66    ; GFX6: [[COPY1:%[0-9]+]]:_(s32) = COPY [[SEXTLOAD]](s32)
67    ; GFX6: $vgpr0 = COPY [[COPY1]](s32)
68    %0:_(p1) = COPY $vgpr0_vgpr1
69    %1:_(s31) = G_SEXTLOAD %0 :: (load 1, addrspace 1)
70    %2:_(s32) = G_ANYEXT %1
71    $vgpr0 = COPY %2
72...
73---
74name: test_sextload_global_i64_i8
75body: |
76  bb.0:
77    liveins: $vgpr0_vgpr1
78
79    ; GFX8-LABEL: name: test_sextload_global_i64_i8
80    ; GFX8: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
81    ; GFX8: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p1) :: (load 1, addrspace 1)
82    ; GFX8: [[SEXT:%[0-9]+]]:_(s64) = G_SEXT [[SEXTLOAD]](s32)
83    ; GFX8: $vgpr0_vgpr1 = COPY [[SEXT]](s64)
84    ; GFX6-LABEL: name: test_sextload_global_i64_i8
85    ; GFX6: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
86    ; GFX6: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p1) :: (load 1, addrspace 1)
87    ; GFX6: [[SEXT:%[0-9]+]]:_(s64) = G_SEXT [[SEXTLOAD]](s32)
88    ; GFX6: $vgpr0_vgpr1 = COPY [[SEXT]](s64)
89    %0:_(p1) = COPY $vgpr0_vgpr1
90    %1:_(s64) = G_SEXTLOAD %0 :: (load 1, addrspace 1)
91    $vgpr0_vgpr1 = COPY %1
92...
93---
94name: test_sextload_global_i64_i16
95body: |
96  bb.0:
97    liveins: $vgpr0_vgpr1
98
99    ; GFX8-LABEL: name: test_sextload_global_i64_i16
100    ; GFX8: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
101    ; GFX8: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p1) :: (load 2, addrspace 1)
102    ; GFX8: [[SEXT:%[0-9]+]]:_(s64) = G_SEXT [[SEXTLOAD]](s32)
103    ; GFX8: $vgpr0_vgpr1 = COPY [[SEXT]](s64)
104    ; GFX6-LABEL: name: test_sextload_global_i64_i16
105    ; GFX6: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
106    ; GFX6: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p1) :: (load 2, addrspace 1)
107    ; GFX6: [[SEXT:%[0-9]+]]:_(s64) = G_SEXT [[SEXTLOAD]](s32)
108    ; GFX6: $vgpr0_vgpr1 = COPY [[SEXT]](s64)
109    %0:_(p1) = COPY $vgpr0_vgpr1
110    %1:_(s64) = G_SEXTLOAD %0 :: (load 2, addrspace 1)
111    $vgpr0_vgpr1 = COPY %1
112...
113---
114name: test_sextload_global_i64_i32
115body: |
116  bb.0:
117    liveins: $vgpr0_vgpr1
118
119    ; GFX8-LABEL: name: test_sextload_global_i64_i32
120    ; GFX8: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
121    ; GFX8: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[COPY]](p1) :: (load 4, addrspace 1)
122    ; GFX8: [[SEXT:%[0-9]+]]:_(s64) = G_SEXT [[LOAD]](s32)
123    ; GFX8: $vgpr0_vgpr1 = COPY [[SEXT]](s64)
124    ; GFX6-LABEL: name: test_sextload_global_i64_i32
125    ; GFX6: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
126    ; GFX6: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[COPY]](p1) :: (load 4, addrspace 1)
127    ; GFX6: [[SEXT:%[0-9]+]]:_(s64) = G_SEXT [[LOAD]](s32)
128    ; GFX6: $vgpr0_vgpr1 = COPY [[SEXT]](s64)
129    %0:_(p1) = COPY $vgpr0_vgpr1
130    %1:_(s64) = G_SEXTLOAD %0 :: (load 4, addrspace 1)
131    $vgpr0_vgpr1 = COPY %1
132...
133
134---
135name: test_sextload_global_s32_from_2_align1
136body: |
137  bb.0:
138    liveins: $vgpr0_vgpr1
139
140    ; GFX8-LABEL: name: test_sextload_global_s32_from_2_align1
141    ; GFX8: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
142    ; GFX8: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[COPY]](p1) :: (load 1, addrspace 1)
143    ; GFX8: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 1
144    ; GFX8: [[PTR_ADD:%[0-9]+]]:_(p1) = G_PTR_ADD [[COPY]], [[C]](s64)
145    ; GFX8: [[LOAD1:%[0-9]+]]:_(s32) = G_LOAD [[PTR_ADD]](p1) :: (load 1 + 1, addrspace 1)
146    ; GFX8: [[C1:%[0-9]+]]:_(s16) = G_CONSTANT i16 255
147    ; GFX8: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[LOAD]](s32)
148    ; GFX8: [[AND:%[0-9]+]]:_(s16) = G_AND [[TRUNC]], [[C1]]
149    ; GFX8: [[TRUNC1:%[0-9]+]]:_(s16) = G_TRUNC [[LOAD1]](s32)
150    ; GFX8: [[AND1:%[0-9]+]]:_(s16) = G_AND [[TRUNC1]], [[C1]]
151    ; GFX8: [[C2:%[0-9]+]]:_(s16) = G_CONSTANT i16 8
152    ; GFX8: [[SHL:%[0-9]+]]:_(s16) = G_SHL [[AND1]], [[C2]](s16)
153    ; GFX8: [[OR:%[0-9]+]]:_(s16) = G_OR [[AND]], [[SHL]]
154    ; GFX8: [[SEXT:%[0-9]+]]:_(s32) = G_SEXT [[OR]](s16)
155    ; GFX8: $vgpr0 = COPY [[SEXT]](s32)
156    ; GFX6-LABEL: name: test_sextload_global_s32_from_2_align1
157    ; GFX6: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
158    ; GFX6: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[COPY]](p1) :: (load 1, addrspace 1)
159    ; GFX6: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 1
160    ; GFX6: [[PTR_ADD:%[0-9]+]]:_(p1) = G_PTR_ADD [[COPY]], [[C]](s64)
161    ; GFX6: [[LOAD1:%[0-9]+]]:_(s32) = G_LOAD [[PTR_ADD]](p1) :: (load 1 + 1, addrspace 1)
162    ; GFX6: [[C1:%[0-9]+]]:_(s16) = G_CONSTANT i16 255
163    ; GFX6: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[LOAD]](s32)
164    ; GFX6: [[AND:%[0-9]+]]:_(s16) = G_AND [[TRUNC]], [[C1]]
165    ; GFX6: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 8
166    ; GFX6: [[C3:%[0-9]+]]:_(s32) = G_CONSTANT i32 255
167    ; GFX6: [[COPY1:%[0-9]+]]:_(s32) = COPY [[LOAD1]](s32)
168    ; GFX6: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C3]]
169    ; GFX6: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[AND1]], [[C2]](s32)
170    ; GFX6: [[TRUNC1:%[0-9]+]]:_(s16) = G_TRUNC [[SHL]](s32)
171    ; GFX6: [[OR:%[0-9]+]]:_(s16) = G_OR [[AND]], [[TRUNC1]]
172    ; GFX6: [[SEXT:%[0-9]+]]:_(s32) = G_SEXT [[OR]](s16)
173    ; GFX6: $vgpr0 = COPY [[SEXT]](s32)
174    %0:_(p1) = COPY $vgpr0_vgpr1
175    %1:_(s32) = G_SEXTLOAD %0 :: (load 2, align 1, addrspace 1)
176    $vgpr0 = COPY %1
177...
178
179---
180name: test_sextload_global_s64_from_2_align1
181body: |
182  bb.0:
183    liveins: $vgpr0_vgpr1
184
185    ; GFX8-LABEL: name: test_sextload_global_s64_from_2_align1
186    ; GFX8: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
187    ; GFX8: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[COPY]](p1) :: (load 1, addrspace 1)
188    ; GFX8: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 1
189    ; GFX8: [[PTR_ADD:%[0-9]+]]:_(p1) = G_PTR_ADD [[COPY]], [[C]](s64)
190    ; GFX8: [[LOAD1:%[0-9]+]]:_(s32) = G_LOAD [[PTR_ADD]](p1) :: (load 1 + 1, addrspace 1)
191    ; GFX8: [[C1:%[0-9]+]]:_(s16) = G_CONSTANT i16 255
192    ; GFX8: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[LOAD]](s32)
193    ; GFX8: [[AND:%[0-9]+]]:_(s16) = G_AND [[TRUNC]], [[C1]]
194    ; GFX8: [[TRUNC1:%[0-9]+]]:_(s16) = G_TRUNC [[LOAD1]](s32)
195    ; GFX8: [[AND1:%[0-9]+]]:_(s16) = G_AND [[TRUNC1]], [[C1]]
196    ; GFX8: [[C2:%[0-9]+]]:_(s16) = G_CONSTANT i16 8
197    ; GFX8: [[SHL:%[0-9]+]]:_(s16) = G_SHL [[AND1]], [[C2]](s16)
198    ; GFX8: [[OR:%[0-9]+]]:_(s16) = G_OR [[AND]], [[SHL]]
199    ; GFX8: [[SEXT:%[0-9]+]]:_(s64) = G_SEXT [[OR]](s16)
200    ; GFX8: $vgpr0_vgpr1 = COPY [[SEXT]](s64)
201    ; GFX6-LABEL: name: test_sextload_global_s64_from_2_align1
202    ; GFX6: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
203    ; GFX6: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[COPY]](p1) :: (load 1, addrspace 1)
204    ; GFX6: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 1
205    ; GFX6: [[PTR_ADD:%[0-9]+]]:_(p1) = G_PTR_ADD [[COPY]], [[C]](s64)
206    ; GFX6: [[LOAD1:%[0-9]+]]:_(s32) = G_LOAD [[PTR_ADD]](p1) :: (load 1 + 1, addrspace 1)
207    ; GFX6: [[C1:%[0-9]+]]:_(s16) = G_CONSTANT i16 255
208    ; GFX6: [[TRUNC:%[0-9]+]]:_(s16) = G_TRUNC [[LOAD]](s32)
209    ; GFX6: [[AND:%[0-9]+]]:_(s16) = G_AND [[TRUNC]], [[C1]]
210    ; GFX6: [[C2:%[0-9]+]]:_(s32) = G_CONSTANT i32 8
211    ; GFX6: [[C3:%[0-9]+]]:_(s32) = G_CONSTANT i32 255
212    ; GFX6: [[COPY1:%[0-9]+]]:_(s32) = COPY [[LOAD1]](s32)
213    ; GFX6: [[AND1:%[0-9]+]]:_(s32) = G_AND [[COPY1]], [[C3]]
214    ; GFX6: [[SHL:%[0-9]+]]:_(s32) = G_SHL [[AND1]], [[C2]](s32)
215    ; GFX6: [[TRUNC1:%[0-9]+]]:_(s16) = G_TRUNC [[SHL]](s32)
216    ; GFX6: [[OR:%[0-9]+]]:_(s16) = G_OR [[AND]], [[TRUNC1]]
217    ; GFX6: [[SEXT:%[0-9]+]]:_(s64) = G_SEXT [[OR]](s16)
218    ; GFX6: $vgpr0_vgpr1 = COPY [[SEXT]](s64)
219    %0:_(p1) = COPY $vgpr0_vgpr1
220    %1:_(s64) = G_SEXTLOAD %0 :: (load 2, align 1, addrspace 1)
221    $vgpr0_vgpr1 = COPY %1
222...
223
224---
225name: test_sextload_global_v2i16_from_2
226body: |
227  bb.0:
228    liveins: $vgpr0_vgpr1
229
230    ; GFX8-LABEL: name: test_sextload_global_v2i16_from_2
231    ; GFX8: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
232    ; GFX8: [[SEXTLOAD:%[0-9]+]]:_(<2 x s16>) = G_SEXTLOAD [[COPY]](p1) :: (load 2, addrspace 1)
233    ; GFX8: $vgpr0 = COPY [[SEXTLOAD]](<2 x s16>)
234    ; GFX6-LABEL: name: test_sextload_global_v2i16_from_2
235    ; GFX6: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
236    ; GFX6: [[SEXTLOAD:%[0-9]+]]:_(<2 x s16>) = G_SEXTLOAD [[COPY]](p1) :: (load 2, addrspace 1)
237    ; GFX6: $vgpr0 = COPY [[SEXTLOAD]](<2 x s16>)
238    %0:_(p1) = COPY $vgpr0_vgpr1
239    %1:_(<2 x s16>) = G_SEXTLOAD %0 :: (load 2, addrspace 1)
240    $vgpr0 = COPY %1
241...
242
243---
244name: test_sextload_global_v2i32_from_2
245body: |
246  bb.0:
247    liveins: $vgpr0_vgpr1
248
249    ; GFX8-LABEL: name: test_sextload_global_v2i32_from_2
250    ; GFX8: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
251    ; GFX8: [[SEXTLOAD:%[0-9]+]]:_(<2 x s32>) = G_SEXTLOAD [[COPY]](p1) :: (load 2, addrspace 1)
252    ; GFX8: $vgpr0_vgpr1 = COPY [[SEXTLOAD]](<2 x s32>)
253    ; GFX6-LABEL: name: test_sextload_global_v2i32_from_2
254    ; GFX6: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
255    ; GFX6: [[SEXTLOAD:%[0-9]+]]:_(<2 x s32>) = G_SEXTLOAD [[COPY]](p1) :: (load 2, addrspace 1)
256    ; GFX6: $vgpr0_vgpr1 = COPY [[SEXTLOAD]](<2 x s32>)
257    %0:_(p1) = COPY $vgpr0_vgpr1
258    %1:_(<2 x s32>) = G_SEXTLOAD %0 :: (load 2, addrspace 1)
259    $vgpr0_vgpr1 = COPY %1
260...
261
262---
263name: test_sextload_global_v2i32_from_4
264body: |
265  bb.0:
266    liveins: $vgpr0_vgpr1
267
268    ; GFX8-LABEL: name: test_sextload_global_v2i32_from_4
269    ; GFX8: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
270    ; GFX8: [[SEXTLOAD:%[0-9]+]]:_(<2 x s32>) = G_SEXTLOAD [[COPY]](p1) :: (load 4, addrspace 1)
271    ; GFX8: $vgpr0_vgpr1 = COPY [[SEXTLOAD]](<2 x s32>)
272    ; GFX6-LABEL: name: test_sextload_global_v2i32_from_4
273    ; GFX6: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
274    ; GFX6: [[SEXTLOAD:%[0-9]+]]:_(<2 x s32>) = G_SEXTLOAD [[COPY]](p1) :: (load 4, addrspace 1)
275    ; GFX6: $vgpr0_vgpr1 = COPY [[SEXTLOAD]](<2 x s32>)
276    %0:_(p1) = COPY $vgpr0_vgpr1
277    %1:_(<2 x s32>) = G_SEXTLOAD %0 :: (load 4, addrspace 1)
278    $vgpr0_vgpr1 = COPY %1
279...
280
281---
282name: test_sextload_global_v2i64_from_4
283body: |
284  bb.0:
285    liveins: $vgpr0_vgpr1
286
287    ; GFX8-LABEL: name: test_sextload_global_v2i64_from_4
288    ; GFX8: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
289    ; GFX8: [[SEXTLOAD:%[0-9]+]]:_(<2 x s64>) = G_SEXTLOAD [[COPY]](p1) :: (load 4, addrspace 1)
290    ; GFX8: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[SEXTLOAD]](<2 x s64>)
291    ; GFX6-LABEL: name: test_sextload_global_v2i64_from_4
292    ; GFX6: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
293    ; GFX6: [[SEXTLOAD:%[0-9]+]]:_(<2 x s64>) = G_SEXTLOAD [[COPY]](p1) :: (load 4, addrspace 1)
294    ; GFX6: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[SEXTLOAD]](<2 x s64>)
295    %0:_(p1) = COPY $vgpr0_vgpr1
296    %1:_(<2 x s64>) = G_SEXTLOAD %0 :: (load 4, addrspace 1)
297    $vgpr0_vgpr1_vgpr2_vgpr3 = COPY %1
298...
299
300---
301name: test_sextload_global_v2i64_from_8
302body: |
303  bb.0:
304    liveins: $vgpr0_vgpr1
305
306    ; GFX8-LABEL: name: test_sextload_global_v2i64_from_8
307    ; GFX8: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
308    ; GFX8: [[SEXTLOAD:%[0-9]+]]:_(<2 x s64>) = G_SEXTLOAD [[COPY]](p1) :: (load 8, addrspace 1)
309    ; GFX8: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[SEXTLOAD]](<2 x s64>)
310    ; GFX6-LABEL: name: test_sextload_global_v2i64_from_8
311    ; GFX6: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
312    ; GFX6: [[SEXTLOAD:%[0-9]+]]:_(<2 x s64>) = G_SEXTLOAD [[COPY]](p1) :: (load 8, addrspace 1)
313    ; GFX6: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[SEXTLOAD]](<2 x s64>)
314    %0:_(p1) = COPY $vgpr0_vgpr1
315    %1:_(<2 x s64>) = G_SEXTLOAD %0 :: (load 8, addrspace 1)
316    $vgpr0_vgpr1_vgpr2_vgpr3 = COPY %1
317...
318