Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / merge-image-sample-gfx10.mir
blobbe84ecc6491ad50b69506e36b245db405a380d28
1 # RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -verify-machineinstrs -run-pass si-load-store-opt -o - %s | FileCheck -check-prefix=GFX10 %s
3 # GFX10-LABEL: name: image_sample_l_merged_v1v3
4 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_L_V4_V3_nsa_gfx10 %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 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
6 # GFX10: %{{[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 (s128))
17     %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx10 %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 (s32), addrspace 4)
18     %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %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 (s96), align 16, addrspace 4)
19 ...
20 ---
21 # GFX10-LABEL: name: image_sample_l_merged_v1v3_reversed
22 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_L_V4_V3_nsa_gfx10 %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), addrspace 4)
23 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub3
24 # GFX10: %{{[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 (s128))
35     %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx10 %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 (s32), addrspace 4)
36     %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %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 (s96), align 16, addrspace 4)
37 ...
38 ---
40 # GFX10-LABEL: name: image_sample_l_merged_v2v2
41 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_L_V4_V3_nsa_gfx10 %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), addrspace 4)
42 # GFX10: %{{[0-9]+}}:vreg_64 = COPY %8.sub0_sub1
43 # GFX10: %{{[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 (s128))
54     %6:vreg_64 = IMAGE_SAMPLE_L_V2_V3_nsa_gfx10 %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 (s64), align 16, addrspace 4)
55     %7:vreg_64 = IMAGE_SAMPLE_L_V2_V3_nsa_gfx10 %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 (s64), align 16, addrspace 4)
56 ...
57 ---
59 # GFX10-LABEL: name: image_sample_l_merged_v2v2_reversed
60 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_L_V4_V3_nsa_gfx10 %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), addrspace 4)
61 # GFX10: %{{[0-9]+}}:vreg_64 = COPY %8.sub2_sub3
62 # GFX10: %{{[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 (s128))
73     %6:vreg_64 = IMAGE_SAMPLE_L_V2_V3_nsa_gfx10 %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 (s64), align 16, addrspace 4)
74     %7:vreg_64 = IMAGE_SAMPLE_L_V2_V3_nsa_gfx10 %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 (s64), align 16, addrspace 4)
75 ...
76 ---
78 # GFX10-LABEL: name: image_sample_l_merged_v3v1
79 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_L_V4_V3_nsa_gfx10 %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), addrspace 4)
80 # GFX10: %{{[0-9]+}}:vreg_96 = COPY %8.sub0_sub1_sub2
81 # GFX10: %{{[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 (s128))
92     %6:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %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 (s96), align 16, addrspace 4)
93     %7:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx10 %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 (s32), addrspace 4)
94 ...
95 ---
97 # GFX10-LABEL: name: image_sample_l_merged_v3v1_reversed
98 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_L_V4_V3_nsa_gfx10 %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 # GFX10: %{{[0-9]+}}:vreg_96 = COPY %8.sub1_sub2_sub3
100 # GFX10: %{{[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 (s128))
111     %6:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %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 (s96), align 16, addrspace 4)
112     %7:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx10 %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 (s32), addrspace 4)
116 # GFX10-LABEL: name: image_sample_l_divided_merged
117 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_L_V4_V3_nsa_gfx10 %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 (s128))
128     %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx10 %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 (s32), addrspace 4)
129     %7:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load (s128))
130     %8:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load (s128))
131     %9:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %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 (s96), align 16, addrspace 4)
132     %10:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load (s128))
133     %11:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %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 (s96), align 16, addrspace 4)
137 # GFX10-LABEL: name: image_sample_l_divided_not_merged
138 # GFX10: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx10 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
139 # GFX10: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %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 (s128))
150     %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx10 %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 (s32), addrspace 4)
151     IMAGE_STORE_V4_V2_nsa_gfx10 %4:vreg_128, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (store (s128))
152     %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %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 (s96), align 16, addrspace 4)
156 # GFX10-LABEL: name: image_sample_l_dmask_overlapped_not_merged
157 # GFX10: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx10 %5, %5, %5, %3, %2, 4, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
158 # GFX10: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %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 (s128))
169     %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx10 %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 (s32), addrspace 4)
170     %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %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 (s96), align 16, addrspace 4)
174 # GFX10-LABEL: name: image_sample_l_dmask_not_disjoint_not_merged
175 # GFX10: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx10 %5, %5, %5, %3, %2, 4, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
176 # GFX10: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %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 (s128))
187     %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx10 %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 (s32), addrspace 4)
188     %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %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 (s96), align 16, addrspace 4)
192 # GFX10-LABEL: name: image_sample_l_not_merged_0
193 # GFX10: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx10 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
194 # GFX10: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %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 (s128))
205     %6:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2, 1, 0, 0, 0, implicit $exec :: (dereferenceable invariant load (s128))
206     %7:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx10 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
207     %8:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %6, %6, %6, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)
211 # GFX10-LABEL: name: image_sample_l_not_merged_1
212 # GFX10: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx10 %6, %6, %6, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
213 # GFX10: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %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 (s128))
225     %7:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx10 %6, %6, %6, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
226     %8:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %6, %6, %6, %4, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)
230 # GFX10-LABEL: name: image_sample_l_not_merged_2
231 # GFX10: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx10 %6, %6, %6, %4, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
232 # GFX10: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %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 (s128))
244     %7:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx10 %6, %6, %6, %4, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
245     %8:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %6, %6, %6, %4, %3, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)
249 # GFX10-LABEL: name: image_sample_l_not_merged_3
250 # GFX10: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx10 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
251 # GFX10: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %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 (s128))
262     %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx10 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
263     %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %5, %5, %5, %3, %2, 7, 1, -1, 1, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)
267 # GFX10-LABEL: name: image_sample_l_not_merged_4
268 # GFX10: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx10 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
269 # GFX10: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %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 (s128))
280     %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx10 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
281     %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %5, %5, %5, %3, %2, 7, 1, -1, 0, 1, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)
285 # GFX10-LABEL: name: image_sample_l_not_merged_5
286 # GFX10: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx10 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
287 # GFX10: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %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 (s128))
298     %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx10 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
299     %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %5, %5, %5, %3, %2, 7, 1, -1, 1, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)
303 # GFX10-LABEL: name: image_sample_l_not_merged_6
304 # GFX10: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx10 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
305 # GFX10: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %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 (s128))
316     %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx10 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
317     %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %5, %5, %5, %3, %2, 7, 1, -1, 0, 1, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)
321 # GFX10-LABEL: name: image_sample_l_not_merged_7
322 # GFX10: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V2_nsa_gfx10 %5, %5, %3, %2, 8, 1, -1, 0, 0, 1, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
323 # GFX10: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %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 (s128))
334     %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V2_nsa_gfx10 %5, %5, %3, %2, 8, 1, -1, 0, 0, 1, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
335     %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %5, %5, %5, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)
339 # GFX10-LABEL: name: image_sample_l_not_merged_8
340 # GFX10: %{{[0-9]+}}:vreg_64 = IMAGE_SAMPLE_L_V2_V3_nsa_gfx10 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 1, 0, 0, implicit $exec :: (dereferenceable load (s64), addrspace 4)
341 # GFX10: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %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 (s128))
352     %6:vreg_64 = IMAGE_SAMPLE_L_V2_V3_nsa_gfx10 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 1, 0, 0, implicit $exec :: (dereferenceable load (s64), addrspace 4)
353     %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %5, %5, %5, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)
357 # GFX10-LABEL: name: image_sample_l_not_merged_9
358 # GFX10: %{{[0-9]+}}:vreg_64 = IMAGE_SAMPLE_L_V2_V3_nsa_gfx10 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 1, 0, implicit $exec :: (dereferenceable load (s64), addrspace 4)
359 # GFX10: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %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 (s128))
370     %6:vreg_64 = IMAGE_SAMPLE_L_V2_V3_nsa_gfx10 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 1, 0, implicit $exec :: (dereferenceable load (s64), addrspace 4)
371     %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %5, %5, %5, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)
375 # GFX10-LABEL: name: image_sample_l_not_merged_10
376 # GFX10: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx10 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
377 # GFX10: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %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 (s128))
388     %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_nsa_gfx10 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)
389     %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_nsa_gfx10 %5, %5, %5, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 1, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)
396 # GFX10-LABEL: name: image_sample_merged_v1v3
397 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_V4_V2_nsa_gfx10 %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 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
399 # GFX10: %{{[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 (s128))
410     %6:vgpr_32 = IMAGE_SAMPLE_V1_V2_nsa_gfx10 %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 (s32), addrspace 4)
411     %7:vreg_96 = IMAGE_SAMPLE_V3_V2_nsa_gfx10 %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 (s96), align 16, addrspace 4)
416 # GFX10-LABEL: name: image_sample_b_merged_v1v3
417 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_B_V4_V3_nsa_gfx10 %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 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
419 # GFX10: %{{[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 (s128))
430     %6:vgpr_32 = IMAGE_SAMPLE_B_V1_V3_nsa_gfx10 %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 (s32), addrspace 4)
431     %7:vreg_96 = IMAGE_SAMPLE_B_V3_V3_nsa_gfx10 %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 (s96), align 16, addrspace 4)
436 # GFX10-LABEL: name: image_sample_b_cl_merged_v1v3
437 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_B_CL_V4_V4_nsa_gfx10 %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 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
439 # GFX10: %{{[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 (s128))
450     %6:vgpr_32 = IMAGE_SAMPLE_B_CL_V1_V4_nsa_gfx10 %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 (s32), addrspace 4)
451     %7:vreg_96 = IMAGE_SAMPLE_B_CL_V3_V4_nsa_gfx10 %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 (s96), align 16, addrspace 4)
456 # GFX10-LABEL: name: image_sample_b_cl_o_merged_v1v3
457 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_B_CL_O_V4_V5_nsa_gfx10 %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 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
459 # GFX10: %{{[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 (s128))
470     %6:vgpr_32 = IMAGE_SAMPLE_B_CL_O_V1_V5_nsa_gfx10 %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 (s32), addrspace 4)
471     %7:vreg_96 = IMAGE_SAMPLE_B_CL_O_V3_V5_nsa_gfx10 %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 (s96), align 16, addrspace 4)
476 # GFX10-LABEL: name: image_sample_b_o_merged_v1v3
477 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_B_O_V4_V4_nsa_gfx10 %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 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
479 # GFX10: %{{[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 (s128))
490     %6:vgpr_32 = IMAGE_SAMPLE_B_O_V1_V4_nsa_gfx10 %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 (s32), addrspace 4)
491     %7:vreg_96 = IMAGE_SAMPLE_B_O_V3_V4_nsa_gfx10 %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 (s96), align 16, addrspace 4)
496 # GFX10-LABEL: name: image_sample_c_merged_v1v3
497 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_V4_V3_nsa_gfx10 %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 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
499 # GFX10: %{{[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 (s128))
510     %6:vgpr_32 = IMAGE_SAMPLE_C_V1_V3_nsa_gfx10 %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 (s32), addrspace 4)
511     %7:vreg_96 = IMAGE_SAMPLE_C_V3_V3_nsa_gfx10 %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 (s96), align 16, addrspace 4)
516 # GFX10-LABEL: name: image_sample_cd_merged_v1v3
517 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_CD_V4_V6_nsa_gfx10 %5, %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)
518 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
519 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
521 name: image_sample_cd_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 (s128))
530     %6:vgpr_32 = IMAGE_SAMPLE_CD_V1_V6_nsa_gfx10 %5:vgpr_32, %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 (s32), addrspace 4)
531     %7:vreg_96 = IMAGE_SAMPLE_CD_V3_V6_nsa_gfx10 %5:vgpr_32, %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 (s96), align 16, addrspace 4)
536 # GFX10-LABEL: name: image_sample_cd_cl_merged_v1v3
537 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_CD_CL_V4_V7_nsa_gfx10 %5, %5, %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)
538 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
539 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
541 name: image_sample_cd_cl_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 (s128))
550     %6:vgpr_32 = IMAGE_SAMPLE_CD_CL_V1_V7_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %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 (s32), addrspace 4)
551     %7:vreg_96 = IMAGE_SAMPLE_CD_CL_V3_V7_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %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 (s96), align 16, addrspace 4)
556 # GFX10-LABEL: name: image_sample_cd_cl_o_merged_v1v3
557 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_CD_CL_O_V4_V8_nsa_gfx10 %5, %5, %5, %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)
558 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
559 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
561 name: image_sample_cd_cl_o_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 (s128))
570     %6:vgpr_32 = IMAGE_SAMPLE_CD_CL_O_V1_V8_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %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 (s32), addrspace 4)
571     %7:vreg_96 = IMAGE_SAMPLE_CD_CL_O_V3_V8_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %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 (s96), align 16, addrspace 4)
576 # GFX10-LABEL: name: image_sample_cd_o_merged_v1v3
577 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_CD_O_V4_V7_nsa_gfx10 %5, %5, %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 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
579 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
581 name: image_sample_cd_o_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 (s128))
590     %6:vgpr_32 = IMAGE_SAMPLE_CD_O_V1_V7_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %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 (s32), addrspace 4)
591     %7:vreg_96 = IMAGE_SAMPLE_CD_O_V3_V7_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %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 (s96), align 16, addrspace 4)
596 # GFX10-LABEL: name: image_sample_cl_merged_v1v3
597 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_CL_V4_V3_nsa_gfx10 %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)
598 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
599 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
601 name: image_sample_cl_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:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load (s128))
610     %6:vgpr_32 = IMAGE_SAMPLE_CL_V1_V3_nsa_gfx10 %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 (s32), addrspace 4)
611     %7:vreg_96 = IMAGE_SAMPLE_CL_V3_V3_nsa_gfx10 %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 (s96), align 16, addrspace 4)
616 # GFX10-LABEL: name: image_sample_cl_o_merged_v1v3
617 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_CL_O_V4_V4_nsa_gfx10 %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 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
619 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
621 name: image_sample_cl_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 (s128))
630     %6:vgpr_32 = IMAGE_SAMPLE_CL_O_V1_V4_nsa_gfx10 %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 (s32), addrspace 4)
631     %7:vreg_96 = IMAGE_SAMPLE_CL_O_V3_V4_nsa_gfx10 %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 (s96), align 16, addrspace 4)
636 # GFX10-LABEL: name: image_sample_c_b_merged_v1v3
637 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_B_V4_V4_nsa_gfx10 %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 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
639 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
641 name: image_sample_c_b_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 (s128))
650     %6:vgpr_32 = IMAGE_SAMPLE_C_B_V1_V4_nsa_gfx10 %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 (s32), addrspace 4)
651     %7:vreg_96 = IMAGE_SAMPLE_C_B_V3_V4_nsa_gfx10 %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 (s96), align 16, addrspace 4)
656 # GFX10-LABEL: name: image_sample_c_b_cl_merged_v1v3
657 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_B_CL_V4_V5_nsa_gfx10 %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 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
659 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
661 name: image_sample_c_b_cl_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 (s128))
670     %6:vgpr_32 = IMAGE_SAMPLE_C_B_CL_V1_V5_nsa_gfx10 %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 (s32), addrspace 4)
671     %7:vreg_96 = IMAGE_SAMPLE_C_B_CL_V3_V5_nsa_gfx10 %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 (s96), align 16, addrspace 4)
676 # GFX10-LABEL: name: image_sample_c_b_cl_o_merged_v1v3
677 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_B_CL_O_V4_V6_nsa_gfx10 %5, %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)
678 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
679 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
681 name: image_sample_c_b_cl_o_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:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load (s128))
690     %6:vgpr_32 = IMAGE_SAMPLE_C_B_CL_O_V1_V6_nsa_gfx10 %5:vgpr_32, %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 (s32), addrspace 4)
691     %7:vreg_96 = IMAGE_SAMPLE_C_B_CL_O_V3_V6_nsa_gfx10 %5:vgpr_32, %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 (s96), align 16, addrspace 4)
696 # GFX10-LABEL: name: image_sample_c_b_o_merged_v1v3
697 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_B_O_V4_V5_nsa_gfx10 %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)
698 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
699 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
701 name: image_sample_c_b_o_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:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load (s128))
710     %6:vgpr_32 = IMAGE_SAMPLE_C_B_O_V1_V5_nsa_gfx10 %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 (s32), addrspace 4)
711     %7:vreg_96 = IMAGE_SAMPLE_C_B_O_V3_V5_nsa_gfx10 %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 (s96), align 16, addrspace 4)
716 # GFX10-LABEL: name: image_sample_c_cd_merged_v1v3
717 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_CD_V4_V7_nsa_gfx10 %5, %5, %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)
718 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
719 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
721 name: image_sample_c_cd_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:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load (s128))
730     %6:vgpr_32 = IMAGE_SAMPLE_C_CD_V1_V7_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %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 (s32), addrspace 4)
731     %7:vreg_96 = IMAGE_SAMPLE_C_CD_V3_V7_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %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 (s96), align 16, addrspace 4)
736 # GFX10-LABEL: name: image_sample_c_cd_cl_merged_v1v3
737 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_CD_CL_V4_V8_nsa_gfx10 %5, %5, %5, %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)
738 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
739 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
741 name: image_sample_c_cd_cl_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:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load (s128))
750     %6:vgpr_32 = IMAGE_SAMPLE_C_CD_CL_V1_V8_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %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 (s32), addrspace 4)
751     %7:vreg_96 = IMAGE_SAMPLE_C_CD_CL_V3_V8_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %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 (s96), align 16, addrspace 4)
756 # GFX10-LABEL: name: image_sample_c_cd_cl_o_merged_v1v3
757 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_CD_CL_O_V4_V9_nsa_gfx10 %5, %5, %5, %5, %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)
758 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
759 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
761 name: image_sample_c_cd_cl_o_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 (s128))
770     %6:vgpr_32 = IMAGE_SAMPLE_C_CD_CL_O_V1_V9_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %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 (s32), addrspace 4)
771     %7:vreg_96 = IMAGE_SAMPLE_C_CD_CL_O_V3_V9_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %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 (s96), align 16, addrspace 4)
776 # GFX10-LABEL: name: image_sample_c_cd_o_merged_v1v3
777 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_CD_O_V4_V8_nsa_gfx10 %5, %5, %5, %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)
778 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
779 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
781 name: image_sample_c_cd_o_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 (s128))
790     %6:vgpr_32 = IMAGE_SAMPLE_C_CD_O_V1_V8_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %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 (s32), addrspace 4)
791     %7:vreg_96 = IMAGE_SAMPLE_C_CD_O_V3_V8_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %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 (s96), align 16, addrspace 4)
796 # GFX10-LABEL: name: image_sample_c_cl_merged_v1v3
797 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_CL_V4_V4_nsa_gfx10 %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 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
799 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
801 name: image_sample_c_cl_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 (s128))
810     %6:vgpr_32 = IMAGE_SAMPLE_C_CL_V1_V4_nsa_gfx10 %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 (s32), addrspace 4)
811     %7:vreg_96 = IMAGE_SAMPLE_C_CL_V3_V4_nsa_gfx10 %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 (s96), align 16, addrspace 4)
816 # GFX10-LABEL: name: image_sample_c_cl_o_merged_v1v3
817 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_CL_O_V4_V5_nsa_gfx10 %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 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
819 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
821 name: image_sample_c_cl_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 (s128))
830     %6:vgpr_32 = IMAGE_SAMPLE_C_CL_O_V1_V5_nsa_gfx10 %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 (s32), addrspace 4)
831     %7:vreg_96 = IMAGE_SAMPLE_C_CL_O_V3_V5_nsa_gfx10 %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 (s96), align 16, addrspace 4)
836 # GFX10-LABEL: name: image_sample_c_d_merged_v1v3
837 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_D_V4_V7_nsa_gfx10 %5, %5, %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)
838 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
839 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
841 name: image_sample_c_d_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 (s128))
850     %6:vgpr_32 = IMAGE_SAMPLE_C_D_V1_V7_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %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 (s32), addrspace 4)
851     %7:vreg_96 = IMAGE_SAMPLE_C_D_V3_V7_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %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 (s96), align 16, addrspace 4)
856 # GFX10-LABEL: name: image_sample_c_d_cl_merged_v1v3
857 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_D_CL_V4_V8_nsa_gfx10 %5, %5, %5, %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)
858 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
859 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
861 name: image_sample_c_d_cl_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:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load (s128))
870     %6:vgpr_32 = IMAGE_SAMPLE_C_D_CL_V1_V8_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %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 (s32), addrspace 4)
871     %7:vreg_96 = IMAGE_SAMPLE_C_D_CL_V3_V8_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %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 (s96), align 16, addrspace 4)
876 # GFX10-LABEL: name: image_sample_c_d_cl_o_merged_v1v3
877 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_D_CL_O_V4_V9_nsa_gfx10 %5, %5, %5, %5, %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)
878 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
879 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
881 name: image_sample_c_d_cl_o_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:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load (s128))
890     %6:vgpr_32 = IMAGE_SAMPLE_C_D_CL_O_V1_V9_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %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 (s32), addrspace 4)
891     %7:vreg_96 = IMAGE_SAMPLE_C_D_CL_O_V3_V9_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %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 (s96), align 16, addrspace 4)
896 # GFX10-LABEL: name: image_sample_c_d_o_merged_v1v3
897 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_D_O_V4_V8_nsa_gfx10 %5, %5, %5, %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)
898 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
899 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
901 name: image_sample_c_d_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:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load (s128))
910     %6:vgpr_32 = IMAGE_SAMPLE_C_D_O_V1_V8_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %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 (s32), addrspace 4)
911     %7:vreg_96 = IMAGE_SAMPLE_C_D_O_V3_V8_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %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 (s96), align 16, addrspace 4)
916 # GFX10-LABEL: name: image_sample_c_l_merged_v1v3
917 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_L_V4_V4_nsa_gfx10 %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)
918 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
919 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
921 name: image_sample_c_l_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:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load (s128))
930     %6:vgpr_32 = IMAGE_SAMPLE_C_L_V1_V4_nsa_gfx10 %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 (s32), addrspace 4)
931     %7:vreg_96 = IMAGE_SAMPLE_C_L_V3_V4_nsa_gfx10 %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 (s96), align 16, addrspace 4)
936 # GFX10-LABEL: name: image_sample_c_lz_merged_v1v3
937 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_LZ_V4_V3_nsa_gfx10 %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)
938 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
939 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
941 name: image_sample_c_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 (s128))
950     %6:vgpr_32 = IMAGE_SAMPLE_C_LZ_V1_V3_nsa_gfx10 %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 (s32), addrspace 4)
951     %7:vreg_96 = IMAGE_SAMPLE_C_LZ_V3_V3_nsa_gfx10 %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 (s96), align 16, addrspace 4)
956 # GFX10-LABEL: name: image_sample_c_lz_o_merged_v1v3
957 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_LZ_O_V4_V4_nsa_gfx10 %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)
958 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
959 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
961 name: image_sample_c_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 (s128))
970     %6:vgpr_32 = IMAGE_SAMPLE_C_LZ_O_V1_V4_nsa_gfx10 %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 (s32), addrspace 4)
971     %7:vreg_96 = IMAGE_SAMPLE_C_LZ_O_V3_V4_nsa_gfx10 %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 (s96), align 16, addrspace 4)
976 # GFX10-LABEL: name: image_sample_c_l_o_merged_v1v3
977 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_L_O_V4_V5_nsa_gfx10 %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)
978 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
979 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
981 name: image_sample_c_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 (s128))
990     %6:vgpr_32 = IMAGE_SAMPLE_C_L_O_V1_V5_nsa_gfx10 %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 (s32), addrspace 4)
991     %7:vreg_96 = IMAGE_SAMPLE_C_L_O_V3_V5_nsa_gfx10 %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 (s96), align 16, addrspace 4)
996 # GFX10-LABEL: name: image_sample_c_o_merged_v1v3
997 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_O_V4_V4_nsa_gfx10 %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)
998 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
999 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
1001 name: image_sample_c_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 (s128))
1010     %6:vgpr_32 = IMAGE_SAMPLE_C_O_V1_V4_nsa_gfx10 %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 (s32), addrspace 4)
1011     %7:vreg_96 = IMAGE_SAMPLE_C_O_V3_V4_nsa_gfx10 %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 (s96), align 16, addrspace 4)
1016 # GFX10-LABEL: name: image_sample_d_merged_v1v3
1017 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_D_V4_V6_nsa_gfx10 %5, %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)
1018 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
1019 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
1021 name: image_sample_d_merged_v1v3
1022 body:             |
1023   bb.0.entry:
1024     %0:sgpr_64 = COPY $sgpr0_sgpr1
1025     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
1026     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
1027     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
1028     %4:vgpr_32 = COPY %2.sub3
1029     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load (s128))
1030     %6:vgpr_32 = IMAGE_SAMPLE_D_V1_V6_nsa_gfx10 %5:vgpr_32, %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 (s32), addrspace 4)
1031     %7:vreg_96 = IMAGE_SAMPLE_D_V3_V6_nsa_gfx10 %5:vgpr_32, %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 (s96), align 16, addrspace 4)
1036 # GFX10-LABEL: name: image_sample_d_cl_merged_v1v3
1037 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_D_CL_V4_V7_nsa_gfx10 %5, %5, %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)
1038 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
1039 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
1041 name: image_sample_d_cl_merged_v1v3
1042 body:             |
1043   bb.0.entry:
1044     %0:sgpr_64 = COPY $sgpr0_sgpr1
1045     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
1046     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
1047     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
1048     %4:vgpr_32 = COPY %2.sub3
1049     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load (s128))
1050     %6:vgpr_32 = IMAGE_SAMPLE_D_CL_V1_V7_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %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 (s32), addrspace 4)
1051     %7:vreg_96 = IMAGE_SAMPLE_D_CL_V3_V7_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %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 (s96), align 16, addrspace 4)
1056 # GFX10-LABEL: name: image_sample_d_cl_o_merged_v1v3
1057 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_D_CL_O_V4_V8_nsa_gfx10 %5, %5, %5, %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)
1058 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
1059 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
1061 name: image_sample_d_cl_o_merged_v1v3
1062 body:             |
1063   bb.0.entry:
1064     %0:sgpr_64 = COPY $sgpr0_sgpr1
1065     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
1066     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
1067     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
1068     %4:vgpr_32 = COPY %2.sub3
1069     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load (s128))
1070     %6:vgpr_32 = IMAGE_SAMPLE_D_CL_O_V1_V8_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %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 (s32), addrspace 4)
1071     %7:vreg_96 = IMAGE_SAMPLE_D_CL_O_V3_V8_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %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 (s96), align 16, addrspace 4)
1076 # GFX10-LABEL: name: image_sample_d_o_merged_v1v3
1077 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_D_O_V4_V7_nsa_gfx10 %5, %5, %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)
1078 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
1079 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
1081 name: image_sample_d_o_merged_v1v3
1082 body:             |
1083   bb.0.entry:
1084     %0:sgpr_64 = COPY $sgpr0_sgpr1
1085     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
1086     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
1087     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
1088     %4:vgpr_32 = COPY %2.sub3
1089     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load (s128))
1090     %6:vgpr_32 = IMAGE_SAMPLE_D_O_V1_V7_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %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 (s32), addrspace 4)
1091     %7:vreg_96 = IMAGE_SAMPLE_D_O_V3_V7_nsa_gfx10 %5:vgpr_32, %5:vgpr_32, %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 (s96), align 16, addrspace 4)
1096 # GFX10-LABEL: name: image_sample_lz_merged_v1v3
1097 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_LZ_V4_V2_nsa_gfx10 %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)
1098 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
1099 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
1101 name: image_sample_lz_merged_v1v3
1102 body:             |
1103   bb.0.entry:
1104     %0:sgpr_64 = COPY $sgpr0_sgpr1
1105     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
1106     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
1107     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
1108     %4:vgpr_32 = COPY %2.sub3
1109     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load (s128))
1110     %6:vgpr_32 = IMAGE_SAMPLE_LZ_V1_V2_nsa_gfx10 %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 (s32), addrspace 4)
1111     %7:vreg_96 = IMAGE_SAMPLE_LZ_V3_V2_nsa_gfx10 %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 (s96), align 16, addrspace 4)
1116 # GFX10-LABEL: name: image_sample_lz_o_merged_v1v3
1117 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_LZ_O_V4_V3_nsa_gfx10 %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)
1118 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
1119 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
1121 name: image_sample_lz_o_merged_v1v3
1122 body:             |
1123   bb.0.entry:
1124     %0:sgpr_64 = COPY $sgpr0_sgpr1
1125     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
1126     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
1127     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
1128     %4:vgpr_32 = COPY %2.sub3
1129     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load (s128))
1130     %6:vgpr_32 = IMAGE_SAMPLE_LZ_O_V1_V3_nsa_gfx10 %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 (s32), addrspace 4)
1131     %7:vreg_96 = IMAGE_SAMPLE_LZ_O_V3_V3_nsa_gfx10 %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 (s96), align 16, addrspace 4)
1136 # GFX10-LABEL: name: image_sample_l_o_merged_v1v3
1137 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_L_O_V4_V4_nsa_gfx10 %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)
1138 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
1139 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
1141 name: image_sample_l_o_merged_v1v3
1142 body:             |
1143   bb.0.entry:
1144     %0:sgpr_64 = COPY $sgpr0_sgpr1
1145     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
1146     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
1147     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
1148     %4:vgpr_32 = COPY %2.sub3
1149     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load (s128))
1150     %6:vgpr_32 = IMAGE_SAMPLE_L_O_V1_V4_nsa_gfx10 %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 (s32), addrspace 4)
1151     %7:vreg_96 = IMAGE_SAMPLE_L_O_V3_V4_nsa_gfx10 %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 (s96), align 16, addrspace 4)
1156 # GFX10-LABEL: name: image_sample_o_merged_v1v3
1157 # GFX10: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_O_V4_V3_nsa_gfx10 %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)
1158 # GFX10: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0
1159 # GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3
1161 name: image_sample_o_merged_v1v3
1162 body:             |
1163   bb.0.entry:
1164     %0:sgpr_64 = COPY $sgpr0_sgpr1
1165     %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0
1166     %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99
1167     %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0
1168     %4:vgpr_32 = COPY %2.sub3
1169     %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load (s128))
1170     %6:vgpr_32 = IMAGE_SAMPLE_O_V1_V3_nsa_gfx10 %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 (s32), addrspace 4)
1171     %7:vreg_96 = IMAGE_SAMPLE_O_V3_V3_nsa_gfx10 %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 (s96), align 16, addrspace 4)