1174 lines · plain
1# RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -verify-machineinstrs -run-pass si-load-store-opt -o - %s | FileCheck -check-prefix=GFX10 %s2 3# GFX10-LABEL: name: image_sample_l_merged_v1v34# 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.sub06# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub37 8name: image_sample_l_merged_v1v39body: |10 bb.0.entry:11 %0:sgpr_64 = COPY $sgpr0_sgpr112 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 013 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr9914 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 015 %4:vgpr_32 = COPY %2.sub316 %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_reversed22# 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.sub324# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub0_sub1_sub225 26name: image_sample_l_merged_v1v3_reversed27body: |28 bb.0.entry:29 %0:sgpr_64 = COPY $sgpr0_sgpr130 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 031 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr9932 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 033 %4:vgpr_32 = COPY %2.sub334 %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---39 40# GFX10-LABEL: name: image_sample_l_merged_v2v241# 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_sub143# GFX10: %{{[0-9]+}}:vreg_64 = COPY killed %8.sub2_sub344 45name: image_sample_l_merged_v2v246body: |47 bb.0.entry:48 %0:sgpr_64 = COPY $sgpr0_sgpr149 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 050 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr9951 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 052 %4:vgpr_32 = COPY %2.sub353 %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---58 59# GFX10-LABEL: name: image_sample_l_merged_v2v2_reversed60# 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_sub362# GFX10: %{{[0-9]+}}:vreg_64 = COPY killed %8.sub0_sub163 64name: image_sample_l_merged_v2v2_reversed65body: |66 bb.0.entry:67 %0:sgpr_64 = COPY $sgpr0_sgpr168 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 069 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr9970 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 071 %4:vgpr_32 = COPY %2.sub372 %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---77 78# GFX10-LABEL: name: image_sample_l_merged_v3v179# 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_sub281# GFX10: %{{[0-9]+}}:vgpr_32 = COPY killed %8.sub382 83name: image_sample_l_merged_v3v184body: |85 bb.0.entry:86 %0:sgpr_64 = COPY $sgpr0_sgpr187 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 088 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr9989 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 090 %4:vgpr_32 = COPY %2.sub391 %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---96 97# GFX10-LABEL: name: image_sample_l_merged_v3v1_reversed98# 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_sub3100# GFX10: %{{[0-9]+}}:vgpr_32 = COPY killed %8.sub0101 102name: image_sample_l_merged_v3v1_reversed103body: |104 bb.0.entry:105 %0:sgpr_64 = COPY $sgpr0_sgpr1106 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0107 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99108 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0109 %4:vgpr_32 = COPY %2.sub3110 %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)113...114---115 116# GFX10-LABEL: name: image_sample_l_divided_merged117# 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)118 119name: image_sample_l_divided_merged120body: |121 bb.0.entry:122 %0:sgpr_64 = COPY $sgpr0_sgpr1123 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0124 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99125 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0126 %4:vgpr_32 = COPY %2.sub3127 %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)134...135---136 137# GFX10-LABEL: name: image_sample_l_divided_not_merged138# 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)140 141name: image_sample_l_divided_not_merged142body: |143 bb.0.entry:144 %0:sgpr_64 = COPY $sgpr0_sgpr1145 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0146 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99147 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0148 %4:vreg_128 = COPY %2149 %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)153...154---155 156# GFX10-LABEL: name: image_sample_l_dmask_overlapped_not_merged157# 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)159 160name: image_sample_l_dmask_overlapped_not_merged161body: |162 bb.0.entry:163 %0:sgpr_64 = COPY $sgpr0_sgpr1164 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0165 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99166 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0167 %4:vgpr_32 = COPY %2.sub3168 %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)171...172---173 174# GFX10-LABEL: name: image_sample_l_dmask_not_disjoint_not_merged175# 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)177 178name: image_sample_l_dmask_not_disjoint_not_merged179body: |180 bb.0.entry:181 %0:sgpr_64 = COPY $sgpr0_sgpr1182 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0183 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99184 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0185 %4:vgpr_32 = COPY %2.sub3186 %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)189...190---191 192# GFX10-LABEL: name: image_sample_l_not_merged_0193# 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)195 196name: image_sample_l_not_merged_0197body: |198 bb.0.entry:199 %0:sgpr_64 = COPY $sgpr0_sgpr1200 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0201 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99202 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0203 %4:vgpr_32 = COPY %2.sub3204 %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)208...209---210 211# GFX10-LABEL: name: image_sample_l_not_merged_1212# 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)214 215name: image_sample_l_not_merged_1216body: |217 bb.0.entry:218 %0:sgpr_64 = COPY $sgpr0_sgpr1219 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0220 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99221 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0222 %4:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0223 %5:vgpr_32 = COPY %2.sub3224 %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)227...228---229 230# GFX10-LABEL: name: image_sample_l_not_merged_2231# 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)233 234name: image_sample_l_not_merged_2235body: |236 bb.0.entry:237 %0:sgpr_64 = COPY $sgpr0_sgpr1238 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0239 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99240 %3:sgpr_128 = COPY $sgpr92_sgpr93_sgpr94_sgpr95241 %4:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0242 %5:vgpr_32 = COPY %2.sub3243 %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)246...247---248 249# GFX10-LABEL: name: image_sample_l_not_merged_3250# 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)252 253name: image_sample_l_not_merged_3254body: |255 bb.0.entry:256 %0:sgpr_64 = COPY $sgpr0_sgpr1257 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0258 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99259 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0260 %4:vgpr_32 = COPY %2.sub3261 %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)264...265---266 267# GFX10-LABEL: name: image_sample_l_not_merged_4268# 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)270 271name: image_sample_l_not_merged_4272body: |273 bb.0.entry:274 %0:sgpr_64 = COPY $sgpr0_sgpr1275 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0276 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99277 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0278 %4:vgpr_32 = COPY %2.sub3279 %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)282...283---284 285# GFX10-LABEL: name: image_sample_l_not_merged_5286# 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)288 289name: image_sample_l_not_merged_5290body: |291 bb.0.entry:292 %0:sgpr_64 = COPY $sgpr0_sgpr1293 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0294 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99295 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0296 %4:vgpr_32 = COPY %2.sub3297 %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)300...301---302 303# GFX10-LABEL: name: image_sample_l_not_merged_6304# 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)306 307name: image_sample_l_not_merged_6308body: |309 bb.0.entry:310 %0:sgpr_64 = COPY $sgpr0_sgpr1311 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0312 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99313 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0314 %4:vgpr_32 = COPY %2.sub3315 %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)318...319---320 321# GFX10-LABEL: name: image_sample_l_not_merged_7322# 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)324 325name: image_sample_l_not_merged_7326body: |327 bb.0.entry:328 %0:sgpr_64 = COPY $sgpr0_sgpr1329 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0330 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99331 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0332 %4:vgpr_32 = COPY %2.sub3333 %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)336...337---338 339# GFX10-LABEL: name: image_sample_l_not_merged_8340# 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)342 343name: image_sample_l_not_merged_8344body: |345 bb.0.entry:346 %0:sgpr_64 = COPY $sgpr0_sgpr1347 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0348 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99349 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0350 %4:vgpr_32 = COPY %2.sub3351 %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)354...355---356 357# GFX10-LABEL: name: image_sample_l_not_merged_9358# 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)360 361name: image_sample_l_not_merged_9362body: |363 bb.0.entry:364 %0:sgpr_64 = COPY $sgpr0_sgpr1365 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0366 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99367 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0368 %4:vgpr_32 = COPY %2.sub3369 %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)372...373---374 375# GFX10-LABEL: name: image_sample_l_not_merged_10376# 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)378 379name: image_sample_l_not_merged_10380body: |381 bb.0.entry:382 %0:sgpr_64 = COPY $sgpr0_sgpr1383 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0384 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99385 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0386 %4:vgpr_32 = COPY %2.sub3387 %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)390...391---392 393 394 395 396# GFX10-LABEL: name: image_sample_merged_v1v3397# 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.sub0399# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3400 401name: image_sample_merged_v1v3402body: |403 bb.0.entry:404 %0:sgpr_64 = COPY $sgpr0_sgpr1405 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0406 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99407 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0408 %4:vgpr_32 = COPY %2.sub3409 %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)412...413---414 415 416# GFX10-LABEL: name: image_sample_b_merged_v1v3417# 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.sub0419# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3420 421name: image_sample_b_merged_v1v3422body: |423 bb.0.entry:424 %0:sgpr_64 = COPY $sgpr0_sgpr1425 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0426 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99427 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0428 %4:vgpr_32 = COPY %2.sub3429 %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)432...433---434 435 436# GFX10-LABEL: name: image_sample_b_cl_merged_v1v3437# 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.sub0439# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3440 441name: image_sample_b_cl_merged_v1v3442body: |443 bb.0.entry:444 %0:sgpr_64 = COPY $sgpr0_sgpr1445 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0446 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99447 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0448 %4:vgpr_32 = COPY %2.sub3449 %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)452...453---454 455 456# GFX10-LABEL: name: image_sample_b_cl_o_merged_v1v3457# 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.sub0459# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3460 461name: image_sample_b_cl_o_merged_v1v3462body: |463 bb.0.entry:464 %0:sgpr_64 = COPY $sgpr0_sgpr1465 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0466 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99467 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0468 %4:vgpr_32 = COPY %2.sub3469 %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)472...473---474 475 476# GFX10-LABEL: name: image_sample_b_o_merged_v1v3477# 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.sub0479# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3480 481name: image_sample_b_o_merged_v1v3482body: |483 bb.0.entry:484 %0:sgpr_64 = COPY $sgpr0_sgpr1485 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0486 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99487 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0488 %4:vgpr_32 = COPY %2.sub3489 %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)492...493---494 495 496# GFX10-LABEL: name: image_sample_c_merged_v1v3497# 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.sub0499# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3500 501name: image_sample_c_merged_v1v3502body: |503 bb.0.entry:504 %0:sgpr_64 = COPY $sgpr0_sgpr1505 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0506 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99507 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0508 %4:vgpr_32 = COPY %2.sub3509 %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)512...513---514 515 516# GFX10-LABEL: name: image_sample_cd_merged_v1v3517# 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.sub0519# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3520 521name: image_sample_cd_merged_v1v3522body: |523 bb.0.entry:524 %0:sgpr_64 = COPY $sgpr0_sgpr1525 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0526 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99527 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0528 %4:vgpr_32 = COPY %2.sub3529 %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)532...533---534 535 536# GFX10-LABEL: name: image_sample_cd_cl_merged_v1v3537# 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.sub0539# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3540 541name: image_sample_cd_cl_merged_v1v3542body: |543 bb.0.entry:544 %0:sgpr_64 = COPY $sgpr0_sgpr1545 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0546 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99547 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0548 %4:vgpr_32 = COPY %2.sub3549 %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)552...553---554 555 556# GFX10-LABEL: name: image_sample_cd_cl_o_merged_v1v3557# 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.sub0559# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3560 561name: image_sample_cd_cl_o_merged_v1v3562body: |563 bb.0.entry:564 %0:sgpr_64 = COPY $sgpr0_sgpr1565 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0566 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99567 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0568 %4:vgpr_32 = COPY %2.sub3569 %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)572...573---574 575 576# GFX10-LABEL: name: image_sample_cd_o_merged_v1v3577# 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.sub0579# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3580 581name: image_sample_cd_o_merged_v1v3582body: |583 bb.0.entry:584 %0:sgpr_64 = COPY $sgpr0_sgpr1585 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0586 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99587 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0588 %4:vgpr_32 = COPY %2.sub3589 %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)592...593---594 595 596# GFX10-LABEL: name: image_sample_cl_merged_v1v3597# 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.sub0599# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3600 601name: image_sample_cl_merged_v1v3602body: |603 bb.0.entry:604 %0:sgpr_64 = COPY $sgpr0_sgpr1605 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0606 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99607 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0608 %4:vgpr_32 = COPY %2.sub3609 %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)612...613---614 615 616# GFX10-LABEL: name: image_sample_cl_o_merged_v1v3617# 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.sub0619# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3620 621name: image_sample_cl_o_merged_v1v3622body: |623 bb.0.entry:624 %0:sgpr_64 = COPY $sgpr0_sgpr1625 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0626 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99627 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0628 %4:vgpr_32 = COPY %2.sub3629 %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)632...633---634 635 636# GFX10-LABEL: name: image_sample_c_b_merged_v1v3637# 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.sub0639# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3640 641name: image_sample_c_b_merged_v1v3642body: |643 bb.0.entry:644 %0:sgpr_64 = COPY $sgpr0_sgpr1645 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0646 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99647 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0648 %4:vgpr_32 = COPY %2.sub3649 %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)652...653---654 655 656# GFX10-LABEL: name: image_sample_c_b_cl_merged_v1v3657# 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.sub0659# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3660 661name: image_sample_c_b_cl_merged_v1v3662body: |663 bb.0.entry:664 %0:sgpr_64 = COPY $sgpr0_sgpr1665 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0666 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99667 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0668 %4:vgpr_32 = COPY %2.sub3669 %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)672...673---674 675 676# GFX10-LABEL: name: image_sample_c_b_cl_o_merged_v1v3677# 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.sub0679# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3680 681name: image_sample_c_b_cl_o_merged_v1v3682body: |683 bb.0.entry:684 %0:sgpr_64 = COPY $sgpr0_sgpr1685 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0686 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99687 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0688 %4:vgpr_32 = COPY %2.sub3689 %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)692...693---694 695 696# GFX10-LABEL: name: image_sample_c_b_o_merged_v1v3697# 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.sub0699# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3700 701name: image_sample_c_b_o_merged_v1v3702body: |703 bb.0.entry:704 %0:sgpr_64 = COPY $sgpr0_sgpr1705 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0706 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99707 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0708 %4:vgpr_32 = COPY %2.sub3709 %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)712...713---714 715 716# GFX10-LABEL: name: image_sample_c_cd_merged_v1v3717# 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.sub0719# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3720 721name: image_sample_c_cd_merged_v1v3722body: |723 bb.0.entry:724 %0:sgpr_64 = COPY $sgpr0_sgpr1725 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0726 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99727 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0728 %4:vgpr_32 = COPY %2.sub3729 %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)732...733---734 735 736# GFX10-LABEL: name: image_sample_c_cd_cl_merged_v1v3737# 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.sub0739# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3740 741name: image_sample_c_cd_cl_merged_v1v3742body: |743 bb.0.entry:744 %0:sgpr_64 = COPY $sgpr0_sgpr1745 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0746 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99747 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0748 %4:vgpr_32 = COPY %2.sub3749 %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)752...753---754 755 756# GFX10-LABEL: name: image_sample_c_cd_cl_o_merged_v1v3757# 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.sub0759# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3760 761name: image_sample_c_cd_cl_o_merged_v1v3762body: |763 bb.0.entry:764 %0:sgpr_64 = COPY $sgpr0_sgpr1765 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0766 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99767 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0768 %4:vgpr_32 = COPY %2.sub3769 %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)772...773---774 775 776# GFX10-LABEL: name: image_sample_c_cd_o_merged_v1v3777# 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.sub0779# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3780 781name: image_sample_c_cd_o_merged_v1v3782body: |783 bb.0.entry:784 %0:sgpr_64 = COPY $sgpr0_sgpr1785 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0786 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99787 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0788 %4:vgpr_32 = COPY %2.sub3789 %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)792...793---794 795 796# GFX10-LABEL: name: image_sample_c_cl_merged_v1v3797# 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.sub0799# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3800 801name: image_sample_c_cl_merged_v1v3802body: |803 bb.0.entry:804 %0:sgpr_64 = COPY $sgpr0_sgpr1805 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0806 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99807 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0808 %4:vgpr_32 = COPY %2.sub3809 %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)812...813---814 815 816# GFX10-LABEL: name: image_sample_c_cl_o_merged_v1v3817# 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.sub0819# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3820 821name: image_sample_c_cl_o_merged_v1v3822body: |823 bb.0.entry:824 %0:sgpr_64 = COPY $sgpr0_sgpr1825 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0826 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99827 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0828 %4:vgpr_32 = COPY %2.sub3829 %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)832...833---834 835 836# GFX10-LABEL: name: image_sample_c_d_merged_v1v3837# 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.sub0839# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3840 841name: image_sample_c_d_merged_v1v3842body: |843 bb.0.entry:844 %0:sgpr_64 = COPY $sgpr0_sgpr1845 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0846 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99847 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0848 %4:vgpr_32 = COPY %2.sub3849 %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)852...853---854 855 856# GFX10-LABEL: name: image_sample_c_d_cl_merged_v1v3857# 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.sub0859# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3860 861name: image_sample_c_d_cl_merged_v1v3862body: |863 bb.0.entry:864 %0:sgpr_64 = COPY $sgpr0_sgpr1865 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0866 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99867 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0868 %4:vgpr_32 = COPY %2.sub3869 %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)872...873---874 875 876# GFX10-LABEL: name: image_sample_c_d_cl_o_merged_v1v3877# 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.sub0879# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3880 881name: image_sample_c_d_cl_o_merged_v1v3882body: |883 bb.0.entry:884 %0:sgpr_64 = COPY $sgpr0_sgpr1885 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0886 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99887 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0888 %4:vgpr_32 = COPY %2.sub3889 %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)892...893---894 895 896# GFX10-LABEL: name: image_sample_c_d_o_merged_v1v3897# 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.sub0899# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3900 901name: image_sample_c_d_o_merged_v1v3902body: |903 bb.0.entry:904 %0:sgpr_64 = COPY $sgpr0_sgpr1905 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0906 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99907 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0908 %4:vgpr_32 = COPY %2.sub3909 %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)912...913---914 915 916# GFX10-LABEL: name: image_sample_c_l_merged_v1v3917# 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.sub0919# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3920 921name: image_sample_c_l_merged_v1v3922body: |923 bb.0.entry:924 %0:sgpr_64 = COPY $sgpr0_sgpr1925 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0926 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99927 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0928 %4:vgpr_32 = COPY %2.sub3929 %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)932...933---934 935 936# GFX10-LABEL: name: image_sample_c_lz_merged_v1v3937# 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.sub0939# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3940 941name: image_sample_c_lz_merged_v1v3942body: |943 bb.0.entry:944 %0:sgpr_64 = COPY $sgpr0_sgpr1945 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0946 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99947 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0948 %4:vgpr_32 = COPY %2.sub3949 %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)952...953---954 955 956# GFX10-LABEL: name: image_sample_c_lz_o_merged_v1v3957# 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.sub0959# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3960 961name: image_sample_c_lz_o_merged_v1v3962body: |963 bb.0.entry:964 %0:sgpr_64 = COPY $sgpr0_sgpr1965 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0966 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99967 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0968 %4:vgpr_32 = COPY %2.sub3969 %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)972...973---974 975 976# GFX10-LABEL: name: image_sample_c_l_o_merged_v1v3977# 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.sub0979# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3980 981name: image_sample_c_l_o_merged_v1v3982body: |983 bb.0.entry:984 %0:sgpr_64 = COPY $sgpr0_sgpr1985 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0986 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99987 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0988 %4:vgpr_32 = COPY %2.sub3989 %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)992...993---994 995 996# GFX10-LABEL: name: image_sample_c_o_merged_v1v3997# 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.sub0999# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub31000 1001name: image_sample_c_o_merged_v1v31002body: |1003 bb.0.entry:1004 %0:sgpr_64 = COPY $sgpr0_sgpr11005 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 01006 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr991007 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 01008 %4:vgpr_32 = COPY %2.sub31009 %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)1012...1013---1014 1015 1016# GFX10-LABEL: name: image_sample_d_merged_v1v31017# 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.sub01019# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub31020 1021name: image_sample_d_merged_v1v31022body: |1023 bb.0.entry:1024 %0:sgpr_64 = COPY $sgpr0_sgpr11025 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 01026 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr991027 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 01028 %4:vgpr_32 = COPY %2.sub31029 %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)1032...1033---1034 1035 1036# GFX10-LABEL: name: image_sample_d_cl_merged_v1v31037# 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.sub01039# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub31040 1041name: image_sample_d_cl_merged_v1v31042body: |1043 bb.0.entry:1044 %0:sgpr_64 = COPY $sgpr0_sgpr11045 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 01046 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr991047 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 01048 %4:vgpr_32 = COPY %2.sub31049 %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)1052...1053---1054 1055 1056# GFX10-LABEL: name: image_sample_d_cl_o_merged_v1v31057# 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.sub01059# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub31060 1061name: image_sample_d_cl_o_merged_v1v31062body: |1063 bb.0.entry:1064 %0:sgpr_64 = COPY $sgpr0_sgpr11065 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 01066 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr991067 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 01068 %4:vgpr_32 = COPY %2.sub31069 %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)1072...1073---1074 1075 1076# GFX10-LABEL: name: image_sample_d_o_merged_v1v31077# 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.sub01079# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub31080 1081name: image_sample_d_o_merged_v1v31082body: |1083 bb.0.entry:1084 %0:sgpr_64 = COPY $sgpr0_sgpr11085 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 01086 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr991087 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 01088 %4:vgpr_32 = COPY %2.sub31089 %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)1092...1093---1094 1095 1096# GFX10-LABEL: name: image_sample_lz_merged_v1v31097# 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.sub01099# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub31100 1101name: image_sample_lz_merged_v1v31102body: |1103 bb.0.entry:1104 %0:sgpr_64 = COPY $sgpr0_sgpr11105 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 01106 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr991107 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 01108 %4:vgpr_32 = COPY %2.sub31109 %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)1112...1113---1114 1115 1116# GFX10-LABEL: name: image_sample_lz_o_merged_v1v31117# 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.sub01119# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub31120 1121name: image_sample_lz_o_merged_v1v31122body: |1123 bb.0.entry:1124 %0:sgpr_64 = COPY $sgpr0_sgpr11125 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 01126 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr991127 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 01128 %4:vgpr_32 = COPY %2.sub31129 %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)1132...1133---1134 1135 1136# GFX10-LABEL: name: image_sample_l_o_merged_v1v31137# 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.sub01139# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub31140 1141name: image_sample_l_o_merged_v1v31142body: |1143 bb.0.entry:1144 %0:sgpr_64 = COPY $sgpr0_sgpr11145 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 01146 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr991147 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 01148 %4:vgpr_32 = COPY %2.sub31149 %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)1152...1153---1154 1155 1156# GFX10-LABEL: name: image_sample_o_merged_v1v31157# 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.sub01159# GFX10: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub31160 1161name: image_sample_o_merged_v1v31162body: |1163 bb.0.entry:1164 %0:sgpr_64 = COPY $sgpr0_sgpr11165 %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 01166 %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr991167 %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 01168 %4:vgpr_32 = COPY %2.sub31169 %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)1172...1173---1174