[AMDGPU] Mark AGPR tuple implicit in the first instr of AGPR spills. (#115285)
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / merge-image-sample-gfx11.mir
blob3d38e497b330301b6b16595b01a6d4e222188c74
1 # RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -verify-machineinstrs -run-pass si-load-store-opt -o - %s | FileCheck -check-prefix=GFX11 %s
3 # GFX11-LABEL: name: image_sample_l_merged_v1v3
4 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_L_V4_V3_nsa_gfx11 %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
5 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
6 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
8 name: image_sample_l_merged_v1v3
9 body:             |
10   bb.0.entry:
11     %0:sgpr_64 = COPY $sgpr0_sgpr1
12     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
13     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
14     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
15     %4:vgpr_32 = COPY %2.sub3
16     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
17     %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
18     %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
19 ...
20 ---
21 # GFX11-LABEL: name: image_sample_l_merged_v1v3_reversed
22 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_L_V4_V3_nsa_gfx11 %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), addrspace 4)
23 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub3
24 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub0_sub1_sub2
26 name: image_sample_l_merged_v1v3_reversed
27 body:             |
28   bb.0.entry:
29     %0:sgpr_64 = COPY $sgpr0_sgpr1
30     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
31     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
32     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
33     %4:vgpr_32 = COPY %2.sub3
34     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
35     %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
36     %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
37 ...
38 ---
40 # GFX11-LABEL: name: image_sample_l_merged_v2v2
41 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_L_V4_V3_nsa_gfx11 %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), addrspace 4)
42 # GFX11: %{{[0-9]+}}:vreg_64 = COPY %8.sub0_sub1
43 # GFX11: %{{[0-9]+}}:vreg_64 = COPY killed %8.sub2_sub3
45 name: image_sample_l_merged_v2v2
46 body:             |
47   bb.0.entry:
48     %0:sgpr_64 = COPY $sgpr0_sgpr1
49     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
50     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
51     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
52     %4:vgpr_32 = COPY %2.sub3
53     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
54     %6:vreg_64 = IMAGE_SAMPLE_L_V2_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 3, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 8, align 16, addrspace 4)
55     %7:vreg_64 = IMAGE_SAMPLE_L_V2_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 12, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 8, align 16, addrspace 4)
56 ...
57 ---
59 # GFX11-LABEL: name: image_sample_l_merged_v2v2_reversed
60 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_L_V4_V3_nsa_gfx11 %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), addrspace 4)
61 # GFX11: %{{[0-9]+}}:vreg_64 = COPY %8.sub2_sub3
62 # GFX11: %{{[0-9]+}}:vreg_64 = COPY killed %8.sub0_sub1
64 name: image_sample_l_merged_v2v2_reversed
65 body:             |
66   bb.0.entry:
67     %0:sgpr_64 = COPY $sgpr0_sgpr1
68     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
69     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
70     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
71     %4:vgpr_32 = COPY %2.sub3
72     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
73     %6:vreg_64 = IMAGE_SAMPLE_L_V2_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 12, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 8, align 16, addrspace 4)
74     %7:vreg_64 = IMAGE_SAMPLE_L_V2_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 3, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 8, align 16, addrspace 4)
75 ...
76 ---
78 # GFX11-LABEL: name: image_sample_l_merged_v3v1
79 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_L_V4_V3_nsa_gfx11 %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), addrspace 4)
80 # GFX11: %{{[0-9]+}}:vreg_96 = COPY %8.sub0_sub1_sub2
81 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY killed %8.sub3
83 name: image_sample_l_merged_v3v1
84 body:             |
85   bb.0.entry:
86     %0:sgpr_64 = COPY $sgpr0_sgpr1
87     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
88     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
89     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
90     %4:vgpr_32 = COPY %2.sub3
91     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
92     %6:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
93     %7:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
94 ...
95 ---
97 # GFX11-LABEL: name: image_sample_l_merged_v3v1_reversed
98 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_L_V4_V3_nsa_gfx11 %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
99 # GFX11: %{{[0-9]+}}:vreg_96 = COPY %8.sub1_sub2_sub3
100 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY killed %8.sub0
102 name: image_sample_l_merged_v3v1_reversed
103 body:             |
104   bb.0.entry:
105     %0:sgpr_64 = COPY $sgpr0_sgpr1
106     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
107     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
108     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
109     %4:vgpr_32 = COPY %2.sub3
110     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
111     %6:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
112     %7:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
116 # GFX11-LABEL: name: image_sample_l_divided_merged
117 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_L_V4_V3_nsa_gfx11 %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), addrspace 4)
119 name: image_sample_l_divided_merged
120 body:             |
121   bb.0.entry:
122     %0:sgpr_64 = COPY $sgpr0_sgpr1
123     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
124     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
125     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
126     %4:vgpr_32 = COPY %2.sub3
127     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
128     %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
129     %7:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
130     %8:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
131     %9:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %7:vgpr_32, %7:vgpr_32, %7:vgpr_32, %3:sgpr_256, %2:sgpr_128, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
132     %10:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
133     %11:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
137 # GFX11-LABEL: name: image_sample_l_divided_not_merged
138 # GFX11: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx11 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
139 # GFX11: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %5, %5, %5, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)
141 name: image_sample_l_divided_not_merged
142 body:             |
143   bb.0.entry:
144     %0:sgpr_64 = COPY $sgpr0_sgpr1
145     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
146     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
147     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
148     %4:vreg_128 = COPY %2
149     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
150     %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
151     IMAGE_STORE_V4_V2_nsa_gfx11 %4:vreg_128, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (store 16)
152     %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
156 # GFX11-LABEL: name: image_sample_l_dmask_overlapped_not_merged
157 # GFX11: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx11 %5, %5, %5, %3, %2, 4, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
158 # GFX11: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %5, %5, %5, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)
160 name: image_sample_l_dmask_overlapped_not_merged
161 body:             |
162   bb.0.entry:
163     %0:sgpr_64 = COPY $sgpr0_sgpr1
164     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
165     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
166     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
167     %4:vgpr_32 = COPY %2.sub3
168     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
169     %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 4, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
170     %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
174 # GFX11-LABEL: name: image_sample_l_dmask_not_disjoint_not_merged
175 # GFX11: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx11 %5, %5, %5, %3, %2, 4, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
176 # GFX11: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %5, %5, %5, %3, %2, 11, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)
178 name: image_sample_l_dmask_not_disjoint_not_merged
179 body:             |
180   bb.0.entry:
181     %0:sgpr_64 = COPY $sgpr0_sgpr1
182     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
183     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
184     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
185     %4:vgpr_32 = COPY %2.sub3
186     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
187     %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 4, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
188     %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 11, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
192 # GFX11-LABEL: name: image_sample_l_not_merged_0
193 # GFX11: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx11 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
194 # GFX11: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %6, %6, %6, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)
196 name: image_sample_l_not_merged_0
197 body:             |
198   bb.0.entry:
199     %0:sgpr_64 = COPY $sgpr0_sgpr1
200     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
201     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
202     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
203     %4:vgpr_32 = COPY %2.sub3
204     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
205     %6:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2, 1, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
206     %7:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx11 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
207     %8:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %6, %6, %6, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
211 # GFX11-LABEL: name: image_sample_l_not_merged_1
212 # GFX11: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx11 %6, %6, %6, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
213 # GFX11: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %6, %6, %6, %4, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)
215 name: image_sample_l_not_merged_1
216 body:             |
217   bb.0.entry:
218     %0:sgpr_64 = COPY $sgpr0_sgpr1
219     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
220     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
221     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
222     %4:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
223     %5:vgpr_32 = COPY %2.sub3
224     %6:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
225     %7:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx11 %6, %6, %6, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
226     %8:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %6, %6, %6, %4, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
230 # GFX11-LABEL: name: image_sample_l_not_merged_2
231 # GFX11: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx11 %6, %6, %6, %4, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
232 # GFX11: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %6, %6, %6, %4, %3, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)
234 name: image_sample_l_not_merged_2
235 body:             |
236   bb.0.entry:
237     %0:sgpr_64 = COPY $sgpr0_sgpr1
238     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
239     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
240     %3:sgpr_128 = COPY $sgpr92_sgpr93_sgpr94_sgpr95
241     %4:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
242     %5:vgpr_32 = COPY %2.sub3
243     %6:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
244     %7:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx11 %6, %6, %6, %4, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
245     %8:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %6, %6, %6, %4, %3, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
249 # GFX11-LABEL: name: image_sample_l_not_merged_3
250 # GFX11: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx11 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
251 # GFX11: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %5, %5, %5, %3, %2, 7, 1, -1, 1, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)
253 name: image_sample_l_not_merged_3
254 body:             |
255   bb.0.entry:
256     %0:sgpr_64 = COPY $sgpr0_sgpr1
257     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
258     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
259     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
260     %4:vgpr_32 = COPY %2.sub3
261     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
262     %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx11 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
263     %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %5, %5, %5, %3, %2, 7, 1, -1, 1, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
267 # GFX11-LABEL: name: image_sample_l_not_merged_4
268 # GFX11: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx11 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
269 # GFX11: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %5, %5, %5, %3, %2, 7, 1, -1, 0, 1, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)
271 name: image_sample_l_not_merged_4
272 body:             |
273   bb.0.entry:
274     %0:sgpr_64 = COPY $sgpr0_sgpr1
275     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
276     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
277     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
278     %4:vgpr_32 = COPY %2.sub3
279     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
280     %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx11 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
281     %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %5, %5, %5, %3, %2, 7, 1, -1, 0, 1, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
285 # GFX11-LABEL: name: image_sample_l_not_merged_5
286 # GFX11: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx11 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
287 # GFX11: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %5, %5, %5, %3, %2, 7, 1, -1, 1, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)
289 name: image_sample_l_not_merged_5
290 body:             |
291   bb.0.entry:
292     %0:sgpr_64 = COPY $sgpr0_sgpr1
293     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
294     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
295     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
296     %4:vgpr_32 = COPY %2.sub3
297     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
298     %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx11 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
299     %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %5, %5, %5, %3, %2, 7, 1, -1, 1, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
303 # GFX11-LABEL: name: image_sample_l_not_merged_6
304 # GFX11: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx11 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
305 # GFX11: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %5, %5, %5, %3, %2, 7, 1, -1, 0, 1, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)
307 name: image_sample_l_not_merged_6
308 body:             |
309   bb.0.entry:
310     %0:sgpr_64 = COPY $sgpr0_sgpr1
311     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
312     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
313     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
314     %4:vgpr_32 = COPY %2.sub3
315     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
316     %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx11 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
317     %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %5, %5, %5, %3, %2, 7, 1, -1, 0, 1, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
321 # GFX11-LABEL: name: image_sample_l_not_merged_7
322 # GFX11: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V2_nsa_gfx11 %5, %5, %3, %2, 8, 1, -1, 0, 0, 1, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
323 # GFX11: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %5, %5, %5, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)
325 name: image_sample_l_not_merged_7
326 body:             |
327   bb.0.entry:
328     %0:sgpr_64 = COPY $sgpr0_sgpr1
329     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
330     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
331     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
332     %4:vgpr_32 = COPY %2.sub3
333     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
334     %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V2_nsa_gfx11 %5, %5, %3, %2, 8, 1, -1, 0, 0, 1, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
335     %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %5, %5, %5, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
339 # GFX11-LABEL: name: image_sample_l_not_merged_8
340 # GFX11: %{{[0-9]+}}:vreg_64 = IMAGE_SAMPLE_L_V2_V3_nsa_gfx11 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 1, 0, 0, implicit $exec :: (dereferenceable load (s64), addrspace 4)
341 # GFX11: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %5, %5, %5, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)
343 name: image_sample_l_not_merged_8
344 body:             |
345   bb.0.entry:
346     %0:sgpr_64 = COPY $sgpr0_sgpr1
347     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
348     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
349     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
350     %4:vgpr_32 = COPY %2.sub3
351     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
352     %6:vreg_64 = IMAGE_SAMPLE_L_V2_V3_nsa_gfx11 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 1, 0, 0, implicit $exec :: (dereferenceable load 8, addrspace 4)
353     %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %5, %5, %5, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
357 # GFX11-LABEL: name: image_sample_l_not_merged_9
358 # GFX11: %{{[0-9]+}}:vreg_64 = IMAGE_SAMPLE_L_V2_V3_nsa_gfx11 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 1, 0, implicit $exec :: (dereferenceable load (s64), addrspace 4)
359 # GFX11: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %5, %5, %5, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)
361 name: image_sample_l_not_merged_9
362 body:             |
363   bb.0.entry:
364     %0:sgpr_64 = COPY $sgpr0_sgpr1
365     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
366     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
367     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
368     %4:vgpr_32 = COPY %2.sub3
369     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
370     %6:vreg_64 = IMAGE_SAMPLE_L_V2_V3_nsa_gfx11 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 1, 0, implicit $exec :: (dereferenceable load 8, addrspace 4)
371     %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %5, %5, %5, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
375 # GFX11-LABEL: name: image_sample_l_not_merged_10
376 # GFX11: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx11 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
377 # GFX11: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %5, %5, %5, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 1, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)
379 name: image_sample_l_not_merged_10
380 body:             |
381   bb.0.entry:
382     %0:sgpr_64 = COPY $sgpr0_sgpr1
383     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
384     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
385     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
386     %4:vgpr_32 = COPY %2.sub3
387     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
388     %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx11 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
389     %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx11 %5, %5, %5, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 1, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
396 # GFX11-LABEL: name: image_sample_merged_v1v3
397 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_V4_V2_nsa_gfx11 %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
398 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
399 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
401 name: image_sample_merged_v1v3
402 body:             |
403   bb.0.entry:
404     %0:sgpr_64 = COPY $sgpr0_sgpr1
405     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
406     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
407     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
408     %4:vgpr_32 = COPY %2.sub3
409     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
410     %6:vgpr_32 = IMAGE_SAMPLE_V1_V2_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
411     %7:vreg_96 = IMAGE_SAMPLE_V3_V2_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
416 # GFX11-LABEL: name: image_sample_b_merged_v1v3
417 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_B_V4_V3_nsa_gfx11 %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
418 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
419 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
421 name: image_sample_b_merged_v1v3
422 body:             |
423   bb.0.entry:
424     %0:sgpr_64 = COPY $sgpr0_sgpr1
425     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
426     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
427     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
428     %4:vgpr_32 = COPY %2.sub3
429     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
430     %6:vgpr_32 = IMAGE_SAMPLE_B_V1_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
431     %7:vreg_96 = IMAGE_SAMPLE_B_V3_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
436 # GFX11-LABEL: name: image_sample_b_cl_merged_v1v3
437 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_B_CL_V4_V4_nsa_gfx11 %5, %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
438 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
439 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
441 name: image_sample_b_cl_merged_v1v3
442 body:             |
443   bb.0.entry:
444     %0:sgpr_64 = COPY $sgpr0_sgpr1
445     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
446     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
447     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
448     %4:vgpr_32 = COPY %2.sub3
449     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
450     %6:vgpr_32 = IMAGE_SAMPLE_B_CL_V1_V4_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
451     %7:vreg_96 = IMAGE_SAMPLE_B_CL_V3_V4_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
456 # GFX11-LABEL: name: image_sample_b_cl_o_merged_v1v3
457 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_B_CL_O_V4_V5_nsa_gfx11 %5, %5, %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
458 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
459 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
461 name: image_sample_b_cl_o_merged_v1v3
462 body:             |
463   bb.0.entry:
464     %0:sgpr_64 = COPY $sgpr0_sgpr1
465     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
466     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
467     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
468     %4:vgpr_32 = COPY %2.sub3
469     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
470     %6:vgpr_32 = IMAGE_SAMPLE_B_CL_O_V1_V5_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
471     %7:vreg_96 = IMAGE_SAMPLE_B_CL_O_V3_V5_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
476 # GFX11-LABEL: name: image_sample_b_o_merged_v1v3
477 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_B_O_V4_V4_nsa_gfx11 %5, %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
478 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
479 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
481 name: image_sample_b_o_merged_v1v3
482 body:             |
483   bb.0.entry:
484     %0:sgpr_64 = COPY $sgpr0_sgpr1
485     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
486     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
487     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
488     %4:vgpr_32 = COPY %2.sub3
489     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
490     %6:vgpr_32 = IMAGE_SAMPLE_B_O_V1_V4_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
491     %7:vreg_96 = IMAGE_SAMPLE_B_O_V3_V4_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
496 # GFX11-LABEL: name: image_sample_c_merged_v1v3
497 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_V4_V3_nsa_gfx11 %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
498 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
499 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
501 name: image_sample_c_merged_v1v3
502 body:             |
503   bb.0.entry:
504     %0:sgpr_64 = COPY $sgpr0_sgpr1
505     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
506     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
507     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
508     %4:vgpr_32 = COPY %2.sub3
509     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
510     %6:vgpr_32 = IMAGE_SAMPLE_C_V1_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
511     %7:vreg_96 = IMAGE_SAMPLE_C_V3_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
516 # GFX11-LABEL: name: image_sample_cl_merged_v1v3
517 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_CL_V4_V3_nsa_gfx11 %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
518 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
519 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
521 name: image_sample_cl_merged_v1v3
522 body:             |
523   bb.0.entry:
524     %0:sgpr_64 = COPY $sgpr0_sgpr1
525     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
526     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
527     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
528     %4:vgpr_32 = COPY %2.sub3
529     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
530     %6:vgpr_32 = IMAGE_SAMPLE_CL_V1_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
531     %7:vreg_96 = IMAGE_SAMPLE_CL_V3_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
536 # GFX11-LABEL: name: image_sample_cl_o_merged_v1v3
537 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_CL_O_V4_V4_nsa_gfx11 %5, %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
538 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
539 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
541 name: image_sample_cl_o_merged_v1v3
542 body:             |
543   bb.0.entry:
544     %0:sgpr_64 = COPY $sgpr0_sgpr1
545     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
546     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
547     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
548     %4:vgpr_32 = COPY %2.sub3
549     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
550     %6:vgpr_32 = IMAGE_SAMPLE_CL_O_V1_V4_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
551     %7:vreg_96 = IMAGE_SAMPLE_CL_O_V3_V4_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
556 # GFX11-LABEL: name: image_sample_c_b_merged_v1v3
557 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_B_V4_V4_nsa_gfx11 %5, %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
558 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
559 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
561 name: image_sample_c_b_merged_v1v3
562 body:             |
563   bb.0.entry:
564     %0:sgpr_64 = COPY $sgpr0_sgpr1
565     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
566     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
567     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
568     %4:vgpr_32 = COPY %2.sub3
569     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
570     %6:vgpr_32 = IMAGE_SAMPLE_C_B_V1_V4_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
571     %7:vreg_96 = IMAGE_SAMPLE_C_B_V3_V4_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
576 # GFX11-LABEL: name: image_sample_c_b_cl_merged_v1v3
577 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_B_CL_V4_V5_nsa_gfx11 %5, %5, %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
578 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
579 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
581 name: image_sample_c_b_cl_merged_v1v3
582 body:             |
583   bb.0.entry:
584     %0:sgpr_64 = COPY $sgpr0_sgpr1
585     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
586     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
587     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
588     %4:vgpr_32 = COPY %2.sub3
589     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
590     %6:vgpr_32 = IMAGE_SAMPLE_C_B_CL_V1_V5_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
591     %7:vreg_96 = IMAGE_SAMPLE_C_B_CL_V3_V5_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
596 # GFX11-LABEL: name: image_sample_c_b_cl_o_merged_v1v3
597 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_B_CL_O_V4_V6_gfx11 %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
598 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
599 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
601 name: image_sample_c_b_cl_o_merged_v1v3
602 body:             |
603   bb.0.entry:
604     %0:sgpr_64 = COPY $sgpr0_sgpr1
605     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
606     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
607     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
608     %4:vgpr_32 = COPY %2.sub3
609     %5:vreg_192 = IMPLICIT_DEF
610     %6:vgpr_32 = IMAGE_SAMPLE_C_B_CL_O_V1_V6_gfx11 %5:vreg_192, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
611     %7:vreg_96 = IMAGE_SAMPLE_C_B_CL_O_V3_V6_gfx11 %5:vreg_192, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
616 # GFX11-LABEL: name: image_sample_c_b_o_merged_v1v3
617 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_B_O_V4_V5_nsa_gfx11 %5, %5, %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
618 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
619 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
621 name: image_sample_c_b_o_merged_v1v3
622 body:             |
623   bb.0.entry:
624     %0:sgpr_64 = COPY $sgpr0_sgpr1
625     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
626     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
627     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
628     %4:vgpr_32 = COPY %2.sub3
629     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
630     %6:vgpr_32 = IMAGE_SAMPLE_C_B_O_V1_V5_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
631     %7:vreg_96 = IMAGE_SAMPLE_C_B_O_V3_V5_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
636 # GFX11-LABEL: name: image_sample_c_cl_merged_v1v3
637 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_CL_V4_V4_nsa_gfx11 %5, %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
638 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
639 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
641 name: image_sample_c_cl_merged_v1v3
642 body:             |
643   bb.0.entry:
644     %0:sgpr_64 = COPY $sgpr0_sgpr1
645     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
646     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
647     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
648     %4:vgpr_32 = COPY %2.sub3
649     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
650     %6:vgpr_32 = IMAGE_SAMPLE_C_CL_V1_V4_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
651     %7:vreg_96 = IMAGE_SAMPLE_C_CL_V3_V4_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
656 # GFX11-LABEL: name: image_sample_c_cl_o_merged_v1v3
657 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_CL_O_V4_V5_nsa_gfx11 %5, %5, %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
658 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
659 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
661 name: image_sample_c_cl_o_merged_v1v3
662 body:             |
663   bb.0.entry:
664     %0:sgpr_64 = COPY $sgpr0_sgpr1
665     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
666     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
667     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
668     %4:vgpr_32 = COPY %2.sub3
669     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
670     %6:vgpr_32 = IMAGE_SAMPLE_C_CL_O_V1_V5_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
671     %7:vreg_96 = IMAGE_SAMPLE_C_CL_O_V3_V5_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
676 # GFX11-LABEL: name: image_sample_c_d_merged_v1v3
677 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_D_V4_V7_gfx11 %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
678 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
679 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
681 name: image_sample_c_d_merged_v1v3
682 body:             |
683   bb.0.entry:
684     %0:sgpr_64 = COPY $sgpr0_sgpr1
685     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
686     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
687     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
688     %4:vgpr_32 = COPY %2.sub3
689     %5:vreg_224 = IMPLICIT_DEF
690     %6:vgpr_32 = IMAGE_SAMPLE_C_D_V1_V7_gfx11 %5:vreg_224, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
691     %7:vreg_96 = IMAGE_SAMPLE_C_D_V3_V7_gfx11 %5:vreg_224, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
696 # GFX11-LABEL: name: image_sample_c_d_cl_merged_v1v3
697 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_D_CL_V4_V8_gfx11 %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
698 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
699 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
701 name: image_sample_c_d_cl_merged_v1v3
702 body:             |
703   bb.0.entry:
704     %0:sgpr_64 = COPY $sgpr0_sgpr1
705     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
706     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
707     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
708     %4:vgpr_32 = COPY %2.sub3
709     %5:vreg_256 = IMPLICIT_DEF
710     %6:vgpr_32 = IMAGE_SAMPLE_C_D_CL_V1_V8_gfx11 %5:vreg_256, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
711     %7:vreg_96 = IMAGE_SAMPLE_C_D_CL_V3_V8_gfx11 %5:vreg_256, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
716 # GFX11-LABEL: name: image_sample_c_d_cl_o_merged_v1v3
717 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_D_CL_O_V4_V9_gfx11 %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
718 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
719 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
721 name: image_sample_c_d_cl_o_merged_v1v3
722 body:             |
723   bb.0.entry:
724     %0:sgpr_64 = COPY $sgpr0_sgpr1
725     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
726     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
727     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
728     %4:vgpr_32 = COPY %2.sub3
729     %5:vreg_288 = IMPLICIT_DEF
730     %6:vgpr_32 = IMAGE_SAMPLE_C_D_CL_O_V1_V9_gfx11 %5:vreg_288, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
731     %7:vreg_96 = IMAGE_SAMPLE_C_D_CL_O_V3_V9_gfx11 %5:vreg_288, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
736 # GFX11-LABEL: name: image_sample_c_d_o_merged_v1v3
737 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_D_O_V4_V8_gfx11 %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
738 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
739 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
741 name: image_sample_c_d_o_merged_v1v3
742 body:             |
743   bb.0.entry:
744     %0:sgpr_64 = COPY $sgpr0_sgpr1
745     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
746     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
747     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
748     %4:vgpr_32 = COPY %2.sub3
749     %5:vreg_256 = IMPLICIT_DEF
750     %6:vgpr_32 = IMAGE_SAMPLE_C_D_O_V1_V8_gfx11 %5:vreg_256, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
751     %7:vreg_96 = IMAGE_SAMPLE_C_D_O_V3_V8_gfx11 %5:vreg_256, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
756 # GFX11-LABEL: name: image_sample_c_l_merged_v1v3
757 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_L_V4_V4_nsa_gfx11 %5, %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
758 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
759 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
761 name: image_sample_c_l_merged_v1v3
762 body:             |
763   bb.0.entry:
764     %0:sgpr_64 = COPY $sgpr0_sgpr1
765     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
766     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
767     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
768     %4:vgpr_32 = COPY %2.sub3
769     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
770     %6:vgpr_32 = IMAGE_SAMPLE_C_L_V1_V4_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
771     %7:vreg_96 = IMAGE_SAMPLE_C_L_V3_V4_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
776 # GFX11-LABEL: name: image_sample_c_lz_merged_v1v3
777 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_LZ_V4_V3_nsa_gfx11 %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
778 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
779 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
781 name: image_sample_c_lz_merged_v1v3
782 body:             |
783   bb.0.entry:
784     %0:sgpr_64 = COPY $sgpr0_sgpr1
785     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
786     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
787     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
788     %4:vgpr_32 = COPY %2.sub3
789     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
790     %6:vgpr_32 = IMAGE_SAMPLE_C_LZ_V1_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
791     %7:vreg_96 = IMAGE_SAMPLE_C_LZ_V3_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
796 # GFX11-LABEL: name: image_sample_c_lz_o_merged_v1v3
797 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_LZ_O_V4_V4_nsa_gfx11 %5, %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
798 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
799 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
801 name: image_sample_c_lz_o_merged_v1v3
802 body:             |
803   bb.0.entry:
804     %0:sgpr_64 = COPY $sgpr0_sgpr1
805     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
806     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
807     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
808     %4:vgpr_32 = COPY %2.sub3
809     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
810     %6:vgpr_32 = IMAGE_SAMPLE_C_LZ_O_V1_V4_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
811     %7:vreg_96 = IMAGE_SAMPLE_C_LZ_O_V3_V4_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
816 # GFX11-LABEL: name: image_sample_c_l_o_merged_v1v3
817 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_L_O_V4_V5_nsa_gfx11 %5, %5, %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
818 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
819 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
821 name: image_sample_c_l_o_merged_v1v3
822 body:             |
823   bb.0.entry:
824     %0:sgpr_64 = COPY $sgpr0_sgpr1
825     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
826     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
827     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
828     %4:vgpr_32 = COPY %2.sub3
829     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
830     %6:vgpr_32 = IMAGE_SAMPLE_C_L_O_V1_V5_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
831     %7:vreg_96 = IMAGE_SAMPLE_C_L_O_V3_V5_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
836 # GFX11-LABEL: name: image_sample_c_o_merged_v1v3
837 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_O_V4_V4_nsa_gfx11 %5, %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
838 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
839 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
841 name: image_sample_c_o_merged_v1v3
842 body:             |
843   bb.0.entry:
844     %0:sgpr_64 = COPY $sgpr0_sgpr1
845     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
846     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
847     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
848     %4:vgpr_32 = COPY %2.sub3
849     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
850     %6:vgpr_32 = IMAGE_SAMPLE_C_O_V1_V4_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
851     %7:vreg_96 = IMAGE_SAMPLE_C_O_V3_V4_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
856 # GFX11-LABEL: name: image_sample_d_merged_v1v3
857 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_D_V4_V6_gfx11 %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
858 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
859 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
861 name: image_sample_d_merged_v1v3
862 body:             |
863   bb.0.entry:
864     %0:sgpr_64 = COPY $sgpr0_sgpr1
865     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
866     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
867     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
868     %4:vgpr_32 = COPY %2.sub3
869     %5:vreg_192 = IMPLICIT_DEF
870     %6:vgpr_32 = IMAGE_SAMPLE_D_V1_V6_gfx11 %5:vreg_192, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
871     %7:vreg_96 = IMAGE_SAMPLE_D_V3_V6_gfx11 %5:vreg_192, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
876 # GFX11-LABEL: name: image_sample_d_cl_merged_v1v3
877 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_D_CL_V4_V7_gfx11 %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
878 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
879 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
881 name: image_sample_d_cl_merged_v1v3
882 body:             |
883   bb.0.entry:
884     %0:sgpr_64 = COPY $sgpr0_sgpr1
885     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
886     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
887     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
888     %4:vgpr_32 = COPY %2.sub3
889     %5:vreg_224 = IMPLICIT_DEF
890     %6:vgpr_32 = IMAGE_SAMPLE_D_CL_V1_V7_gfx11 %5:vreg_224, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
891     %7:vreg_96 = IMAGE_SAMPLE_D_CL_V3_V7_gfx11 %5:vreg_224, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
896 # GFX11-LABEL: name: image_sample_d_cl_o_merged_v1v3
897 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_D_CL_O_V4_V8_gfx11 %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
898 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
899 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
901 name: image_sample_d_cl_o_merged_v1v3
902 body:             |
903   bb.0.entry:
904     %0:sgpr_64 = COPY $sgpr0_sgpr1
905     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
906     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
907     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
908     %4:vgpr_32 = COPY %2.sub3
909     %5:vreg_256 = IMPLICIT_DEF
910     %6:vgpr_32 = IMAGE_SAMPLE_D_CL_O_V1_V8_gfx11 %5:vreg_256, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
911     %7:vreg_96 = IMAGE_SAMPLE_D_CL_O_V3_V8_gfx11 %5:vreg_256, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
916 # GFX11-LABEL: name: image_sample_d_o_merged_v1v3
917 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_D_O_V4_V7_gfx11 %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
918 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
919 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
921 name: image_sample_d_o_merged_v1v3
922 body:             |
923   bb.0.entry:
924     %0:sgpr_64 = COPY $sgpr0_sgpr1
925     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
926     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
927     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
928     %4:vgpr_32 = COPY %2.sub3
929     %5:vreg_224 = IMPLICIT_DEF
930     %6:vgpr_32 = IMAGE_SAMPLE_D_O_V1_V7_gfx11 %5:vreg_224, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
931     %7:vreg_96 = IMAGE_SAMPLE_D_O_V3_V7_gfx11 %5:vreg_224, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
936 # GFX11-LABEL: name: image_sample_lz_merged_v1v3
937 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_LZ_V4_V2_nsa_gfx11 %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
938 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
939 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
941 name: image_sample_lz_merged_v1v3
942 body:             |
943   bb.0.entry:
944     %0:sgpr_64 = COPY $sgpr0_sgpr1
945     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
946     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
947     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
948     %4:vgpr_32 = COPY %2.sub3
949     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
950     %6:vgpr_32 = IMAGE_SAMPLE_LZ_V1_V2_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
951     %7:vreg_96 = IMAGE_SAMPLE_LZ_V3_V2_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
956 # GFX11-LABEL: name: image_sample_lz_o_merged_v1v3
957 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_LZ_O_V4_V3_nsa_gfx11 %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
958 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
959 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
961 name: image_sample_lz_o_merged_v1v3
962 body:             |
963   bb.0.entry:
964     %0:sgpr_64 = COPY $sgpr0_sgpr1
965     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
966     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
967     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
968     %4:vgpr_32 = COPY %2.sub3
969     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
970     %6:vgpr_32 = IMAGE_SAMPLE_LZ_O_V1_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
971     %7:vreg_96 = IMAGE_SAMPLE_LZ_O_V3_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
976 # GFX11-LABEL: name: image_sample_l_o_merged_v1v3
977 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_L_O_V4_V4_nsa_gfx11 %5, %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
978 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
979 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
981 name: image_sample_l_o_merged_v1v3
982 body:             |
983   bb.0.entry:
984     %0:sgpr_64 = COPY $sgpr0_sgpr1
985     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
986     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
987     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
988     %4:vgpr_32 = COPY %2.sub3
989     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
990     %6:vgpr_32 = IMAGE_SAMPLE_L_O_V1_V4_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
991     %7:vreg_96 = IMAGE_SAMPLE_L_O_V3_V4_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)
996 # GFX11-LABEL: name: image_sample_o_merged_v1v3
997 # GFX11: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_O_V4_V3_nsa_gfx11 %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
998 # GFX11: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
999 # GFX11: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
1001 name: image_sample_o_merged_v1v3
1002 body:             |
1003   bb.0.entry:
1004     %0:sgpr_64 = COPY $sgpr0_sgpr1
1005     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
1006     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
1007     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
1008     %4:vgpr_32 = COPY %2.sub3
1009     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)
1010     %6:vgpr_32 = IMAGE_SAMPLE_O_V1_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)
1011     %7:vreg_96 = IMAGE_SAMPLE_O_V3_V3_nsa_gfx11 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)