brintos

brintos / llvm-project-archived public Read only

0
0
Text · 60.1 KiB · e8bd54d Raw
996 lines · plain
1# RUN: llc -mtriple=amdgcn -mcpu=gfx1200 -verify-machineinstrs -run-pass si-load-store-opt -o - %s | FileCheck -check-prefix=GFX12 %s2 3---4# GFX12-LABEL: name: image_sample_l_merged_v1v35# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_L_V4_V3_gfx12 %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)6# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %8.sub07# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub38 9name: image_sample_l_merged_v1v310body:             |11  bb.0.entry:12    %0:sgpr_64 = COPY $sgpr0_sgpr113    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 014    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr9915    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 016    %4:vgpr_32 = COPY %2.sub317    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)18    %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)19    %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)20...21---22# GFX12-LABEL: name: image_sample_l_merged_v1v3_reversed23# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_L_V4_V3_gfx12 %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), addrspace 4)24# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %8.sub325# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub0_sub1_sub226 27name: image_sample_l_merged_v1v3_reversed28body:             |29  bb.0.entry:30    %0:sgpr_64 = COPY $sgpr0_sgpr131    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 032    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr9933    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 034    %4:vgpr_32 = COPY %2.sub335    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)36    %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)37    %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)38...39---40 41# GFX12-LABEL: name: image_sample_l_merged_v2v242# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_L_V4_V3_gfx12 %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), addrspace 4)43# GFX12: %{{[0-9]+}}:vreg_64 = COPY %8.sub0_sub144# GFX12: %{{[0-9]+}}:vreg_64 = COPY killed %8.sub2_sub345 46name: image_sample_l_merged_v2v247body:             |48  bb.0.entry:49    %0:sgpr_64 = COPY $sgpr0_sgpr150    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 051    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr9952    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 053    %4:vgpr_32 = COPY %2.sub354    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)55    %6:vreg_64 = IMAGE_SAMPLE_L_V2_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 3, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 8, align 16, addrspace 4)56    %7:vreg_64 = IMAGE_SAMPLE_L_V2_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 12, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 8, align 16, addrspace 4)57...58---59 60# GFX12-LABEL: name: image_sample_l_merged_v2v2_reversed61# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_L_V4_V3_gfx12 %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), addrspace 4)62# GFX12: %{{[0-9]+}}:vreg_64 = COPY %8.sub2_sub363# GFX12: %{{[0-9]+}}:vreg_64 = COPY killed %8.sub0_sub164 65name: image_sample_l_merged_v2v2_reversed66body:             |67  bb.0.entry:68    %0:sgpr_64 = COPY $sgpr0_sgpr169    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 070    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr9971    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 072    %4:vgpr_32 = COPY %2.sub373    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)74    %6:vreg_64 = IMAGE_SAMPLE_L_V2_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 12, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 8, align 16, addrspace 4)75    %7:vreg_64 = IMAGE_SAMPLE_L_V2_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 3, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 8, align 16, addrspace 4)76...77---78 79# GFX12-LABEL: name: image_sample_l_merged_v3v180# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_L_V4_V3_gfx12 %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), addrspace 4)81# GFX12: %{{[0-9]+}}:vreg_96 = COPY %8.sub0_sub1_sub282# GFX12: %{{[0-9]+}}:vgpr_32 = COPY killed %8.sub383 84name: image_sample_l_merged_v3v185body:             |86  bb.0.entry:87    %0:sgpr_64 = COPY $sgpr0_sgpr188    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 089    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr9990    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 091    %4:vgpr_32 = COPY %2.sub392    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)93    %6:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)94    %7:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)95...96---97 98# GFX12-LABEL: name: image_sample_l_merged_v3v1_reversed99# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_L_V4_V3_gfx12 %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)100# GFX12: %{{[0-9]+}}:vreg_96 = COPY %8.sub1_sub2_sub3101# GFX12: %{{[0-9]+}}:vgpr_32 = COPY killed %8.sub0102 103name: image_sample_l_merged_v3v1_reversed104body:             |105  bb.0.entry:106    %0:sgpr_64 = COPY $sgpr0_sgpr1107    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0108    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99109    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0110    %4:vgpr_32 = COPY %2.sub3111    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)112    %6:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)113    %7:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)114...115---116 117# GFX12-LABEL: name: image_sample_l_divided_merged118# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_L_V4_V3_gfx12 %5, %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), addrspace 4)119 120name: image_sample_l_divided_merged121body:             |122  bb.0.entry:123    %0:sgpr_64 = COPY $sgpr0_sgpr1124    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0125    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99126    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0127    %4:vgpr_32 = COPY %2.sub3128    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)129    %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)130    %7:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)131    %8:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)132    %9:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %7:vgpr_32, %7:vgpr_32, %7:vgpr_32, %3:sgpr_256, %2:sgpr_128, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)133    %10:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)134    %11:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)135...136---137 138# GFX12-LABEL: name: image_sample_l_divided_not_merged139# GFX12: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_gfx12 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)140# GFX12: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %5, %5, %5, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)141 142name: image_sample_l_divided_not_merged143body:             |144  bb.0.entry:145    %0:sgpr_64 = COPY $sgpr0_sgpr1146    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0147    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99148    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0149    %4:vreg_128 = COPY %2150    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)151    %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)152    IMAGE_STORE_V4_V2_gfx12 %4:vreg_128, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, 15, 1, 0, 0, 0, 0, 0, implicit $exec :: (store 16)153    %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)154...155---156 157# GFX12-LABEL: name: image_sample_l_dmask_overlapped_not_merged158# GFX12: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_gfx12 %5, %5, %5, %3, %2, 4, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)159# GFX12: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %5, %5, %5, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)160 161name: image_sample_l_dmask_overlapped_not_merged162body:             |163  bb.0.entry:164    %0:sgpr_64 = COPY $sgpr0_sgpr1165    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0166    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99167    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0168    %4:vgpr_32 = COPY %2.sub3169    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)170    %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 4, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)171    %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)172...173---174 175# GFX12-LABEL: name: image_sample_l_dmask_not_disjoint_not_merged176# GFX12: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_gfx12 %5, %5, %5, %3, %2, 4, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)177# GFX12: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %5, %5, %5, %3, %2, 11, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)178 179name: image_sample_l_dmask_not_disjoint_not_merged180body:             |181  bb.0.entry:182    %0:sgpr_64 = COPY $sgpr0_sgpr1183    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0184    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99185    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0186    %4:vgpr_32 = COPY %2.sub3187    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)188    %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 4, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)189    %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 11, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)190...191---192 193# GFX12-LABEL: name: image_sample_l_not_merged_0194# GFX12: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_gfx12 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)195# GFX12: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %6, %6, %6, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)196 197name: image_sample_l_not_merged_0198body:             |199  bb.0.entry:200    %0:sgpr_64 = COPY $sgpr0_sgpr1201    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0202    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99203    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0204    %4:vgpr_32 = COPY %2.sub3205    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)206    %6:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2, 1, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)207    %7:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_gfx12 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)208    %8:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %6, %6, %6, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)209...210---211 212# GFX12-LABEL: name: image_sample_l_not_merged_1213# GFX12: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_gfx12 %6, %6, %6, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)214# GFX12: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %6, %6, %6, %4, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)215 216name: image_sample_l_not_merged_1217body:             |218  bb.0.entry:219    %0:sgpr_64 = COPY $sgpr0_sgpr1220    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0221    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99222    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0223    %4:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0224    %5:vgpr_32 = COPY %2.sub3225    %6:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)226    %7:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_gfx12 %6, %6, %6, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)227    %8:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %6, %6, %6, %4, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)228...229---230 231# GFX12-LABEL: name: image_sample_l_not_merged_2232# GFX12: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_gfx12 %6, %6, %6, %4, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)233# GFX12: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %6, %6, %6, %4, %3, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)234 235name: image_sample_l_not_merged_2236body:             |237  bb.0.entry:238    %0:sgpr_64 = COPY $sgpr0_sgpr1239    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0240    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99241    %3:sgpr_128 = COPY $sgpr92_sgpr93_sgpr94_sgpr95242    %4:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0243    %5:vgpr_32 = COPY %2.sub3244    %6:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)245    %7:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_gfx12 %6, %6, %6, %4, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)246    %8:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %6, %6, %6, %4, %3, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)247...248---249 250# GFX12-LABEL: name: image_sample_l_not_merged_3251# GFX12: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_gfx12 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)252# GFX12: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %5, %5, %5, %3, %2, 7, 1, -1, 1, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)253 254name: image_sample_l_not_merged_3255body:             |256  bb.0.entry:257    %0:sgpr_64 = COPY $sgpr0_sgpr1258    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0259    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99260    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0261    %4:vgpr_32 = COPY %2.sub3262    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)263    %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_gfx12 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)264    %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %5, %5, %5, %3, %2, 7, 1, -1, 1, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)265...266---267 268# GFX12-LABEL: name: image_sample_l_not_merged_4269# GFX12: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_gfx12 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)270# GFX12: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %5, %5, %5, %3, %2, 7, 1, -1, 0, 1, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)271 272name: image_sample_l_not_merged_4273body:             |274  bb.0.entry:275    %0:sgpr_64 = COPY $sgpr0_sgpr1276    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0277    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99278    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0279    %4:vgpr_32 = COPY %2.sub3280    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)281    %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_gfx12 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)282    %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %5, %5, %5, %3, %2, 7, 1, -1, 0, 1, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)283...284---285 286# GFX12-LABEL: name: image_sample_l_not_merged_5287# GFX12: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_gfx12 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)288# GFX12: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %5, %5, %5, %3, %2, 7, 1, -1, 1, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)289 290name: image_sample_l_not_merged_5291body:             |292  bb.0.entry:293    %0:sgpr_64 = COPY $sgpr0_sgpr1294    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0295    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99296    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0297    %4:vgpr_32 = COPY %2.sub3298    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)299    %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_gfx12 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)300    %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %5, %5, %5, %3, %2, 7, 1, -1, 1, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)301...302---303 304# GFX12-LABEL: name: image_sample_l_not_merged_6305# GFX12: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_gfx12 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)306# GFX12: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %5, %5, %5, %3, %2, 7, 1, -1, 0, 1, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)307 308name: image_sample_l_not_merged_6309body:             |310  bb.0.entry:311    %0:sgpr_64 = COPY $sgpr0_sgpr1312    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0313    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99314    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0315    %4:vgpr_32 = COPY %2.sub3316    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)317    %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_gfx12 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)318    %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %5, %5, %5, %3, %2, 7, 1, -1, 0, 1, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)319...320---321 322# GFX12-LABEL: name: image_sample_l_not_merged_7323# GFX12: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V2_gfx12 %5, %5, %3, %2, 8, 1, -1, 0, 0, 1, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)324# GFX12: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %5, %5, %5, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)325 326name: image_sample_l_not_merged_7327body:             |328  bb.0.entry:329    %0:sgpr_64 = COPY $sgpr0_sgpr1330    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0331    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99332    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0333    %4:vgpr_32 = COPY %2.sub3334    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)335    %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V2_gfx12 %5, %5, %3, %2, 8, 1, -1, 0, 0, 1, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)336    %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %5, %5, %5, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)337...338---339 340# GFX12-LABEL: name: image_sample_l_not_merged_8341# GFX12: %{{[0-9]+}}:vreg_64 = IMAGE_SAMPLE_L_V2_V3_gfx12 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 1, 0, 0, implicit $exec :: (dereferenceable load (s64), addrspace 4)342# GFX12: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %5, %5, %5, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)343 344name: image_sample_l_not_merged_8345body:             |346  bb.0.entry:347    %0:sgpr_64 = COPY $sgpr0_sgpr1348    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0349    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99350    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0351    %4:vgpr_32 = COPY %2.sub3352    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)353    %6:vreg_64 = IMAGE_SAMPLE_L_V2_V3_gfx12 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 1, 0, 0, implicit $exec :: (dereferenceable load 8, addrspace 4)354    %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %5, %5, %5, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)355...356---357 358# GFX12-LABEL: name: image_sample_l_not_merged_9359# GFX12: %{{[0-9]+}}:vreg_64 = IMAGE_SAMPLE_L_V2_V3_gfx12 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 1, 0, implicit $exec :: (dereferenceable load (s64), addrspace 4)360# GFX12: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %5, %5, %5, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)361 362name: image_sample_l_not_merged_9363body:             |364  bb.0.entry:365    %0:sgpr_64 = COPY $sgpr0_sgpr1366    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0367    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99368    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0369    %4:vgpr_32 = COPY %2.sub3370    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)371    %6:vreg_64 = IMAGE_SAMPLE_L_V2_V3_gfx12 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 1, 0, implicit $exec :: (dereferenceable load 8, addrspace 4)372    %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %5, %5, %5, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)373...374---375 376# GFX12-LABEL: name: image_sample_l_not_merged_10377# GFX12: %{{[0-9]+}}:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_gfx12 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load (s32), addrspace 4)378# GFX12: %{{[0-9]+}}:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %5, %5, %5, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 1, implicit $exec :: (dereferenceable load (s96), align 16, addrspace 4)379 380name: image_sample_l_not_merged_10381body:             |382  bb.0.entry:383    %0:sgpr_64 = COPY $sgpr0_sgpr1384    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0385    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99386    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0387    %4:vgpr_32 = COPY %2.sub3388    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)389    %6:vgpr_32 = IMAGE_SAMPLE_L_V1_V3_gfx12 %5, %5, %5, %3, %2, 8, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)390    %7:vreg_96 = IMAGE_SAMPLE_L_V3_V3_gfx12 %5, %5, %5, %3, %2, 7, 1, -1, 0, 0, 0, 0, 0, 1, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)391...392---393 394# GFX12-LABEL: name: image_sample_merged_v1v3395# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_V4_V2_gfx12 %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)396# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0397# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3398 399name: image_sample_merged_v1v3400body:             |401  bb.0.entry:402    %0:sgpr_64 = COPY $sgpr0_sgpr1403    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0404    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99405    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0406    %4:vgpr_32 = COPY %2.sub3407    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)408    %6:vgpr_32 = IMAGE_SAMPLE_V1_V2_gfx12 %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)409    %7:vreg_96 = IMAGE_SAMPLE_V3_V2_gfx12 %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)410...411---412 413# GFX12-LABEL: name: image_sample_b_merged_v1v3414# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_B_V4_V3_gfx12 %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)415# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0416# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3417 418name: image_sample_b_merged_v1v3419body:             |420  bb.0.entry:421    %0:sgpr_64 = COPY $sgpr0_sgpr1422    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0423    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99424    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0425    %4:vgpr_32 = COPY %2.sub3426    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)427    %6:vgpr_32 = IMAGE_SAMPLE_B_V1_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)428    %7:vreg_96 = IMAGE_SAMPLE_B_V3_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)429...430---431 432# GFX12-LABEL: name: image_sample_b_cl_merged_v1v3433# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_B_CL_V4_V4_gfx12 %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)434# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0435# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3436 437name: image_sample_b_cl_merged_v1v3438body:             |439  bb.0.entry:440    %0:sgpr_64 = COPY $sgpr0_sgpr1441    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0442    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99443    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0444    %4:vgpr_32 = COPY %2.sub3445    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)446    %6:vgpr_32 = IMAGE_SAMPLE_B_CL_V1_V4_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)447    %7:vreg_96 = IMAGE_SAMPLE_B_CL_V3_V4_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)448...449---450 451# GFX12-LABEL: name: image_sample_b_cl_o_merged_v1v3452# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_B_CL_O_V4_V5_gfx12 %5, %5, %5, %6, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)453# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %9.sub0454# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %9.sub1_sub2_sub3455 456name: image_sample_b_cl_o_merged_v1v3457body:             |458  bb.0.entry:459    %0:sgpr_64 = COPY $sgpr0_sgpr1460    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0461    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99462    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0463    %4:vgpr_32 = COPY %2.sub3464    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)465    %6:vreg_64 = REG_SEQUENCE %5:vgpr_32, %subreg.sub0, %5:vgpr_32, %subreg.sub1466    %7:vgpr_32 = IMAGE_SAMPLE_B_CL_O_V1_V5_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_64, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)467    %8:vreg_96 = IMAGE_SAMPLE_B_CL_O_V3_V5_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_64, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)468...469---470 471# GFX12-LABEL: name: image_sample_b_o_merged_v1v3472# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_B_O_V4_V4_gfx12 %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)473# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0474# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3475 476name: image_sample_b_o_merged_v1v3477body:             |478  bb.0.entry:479    %0:sgpr_64 = COPY $sgpr0_sgpr1480    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0481    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99482    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0483    %4:vgpr_32 = COPY %2.sub3484    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)485    %6:vgpr_32 = IMAGE_SAMPLE_B_O_V1_V4_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)486    %7:vreg_96 = IMAGE_SAMPLE_B_O_V3_V4_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)487...488---489 490# GFX12-LABEL: name: image_sample_c_merged_v1v3491# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_V4_V3_gfx12 %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)492# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0493# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3494 495name: image_sample_c_merged_v1v3496body:             |497  bb.0.entry:498    %0:sgpr_64 = COPY $sgpr0_sgpr1499    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0500    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99501    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0502    %4:vgpr_32 = COPY %2.sub3503    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)504    %6:vgpr_32 = IMAGE_SAMPLE_C_V1_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)505    %7:vreg_96 = IMAGE_SAMPLE_C_V3_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)506...507---508 509# GFX12-LABEL: name: image_sample_cl_merged_v1v3510# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_CL_V4_V3_gfx12 %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)511# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0512# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3513 514name: image_sample_cl_merged_v1v3515body:             |516  bb.0.entry:517    %0:sgpr_64 = COPY $sgpr0_sgpr1518    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0519    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99520    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0521    %4:vgpr_32 = COPY %2.sub3522    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)523    %6:vgpr_32 = IMAGE_SAMPLE_CL_V1_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)524    %7:vreg_96 = IMAGE_SAMPLE_CL_V3_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)525...526---527 528# GFX12-LABEL: name: image_sample_cl_o_merged_v1v3529# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_CL_O_V4_V4_gfx12 %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)530# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0531# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3532 533name: image_sample_cl_o_merged_v1v3534body:             |535  bb.0.entry:536    %0:sgpr_64 = COPY $sgpr0_sgpr1537    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0538    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99539    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0540    %4:vgpr_32 = COPY %2.sub3541    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)542    %6:vgpr_32 = IMAGE_SAMPLE_CL_O_V1_V4_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)543    %7:vreg_96 = IMAGE_SAMPLE_CL_O_V3_V4_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)544...545---546 547# GFX12-LABEL: name: image_sample_c_b_merged_v1v3548# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_B_V4_V4_gfx12 %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)549# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0550# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3551 552name: image_sample_c_b_merged_v1v3553body:             |554  bb.0.entry:555    %0:sgpr_64 = COPY $sgpr0_sgpr1556    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0557    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99558    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0559    %4:vgpr_32 = COPY %2.sub3560    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)561    %6:vgpr_32 = IMAGE_SAMPLE_C_B_V1_V4_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)562    %7:vreg_96 = IMAGE_SAMPLE_C_B_V3_V4_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)563...564---565 566# GFX12-LABEL: name: image_sample_c_b_cl_merged_v1v3567# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_B_CL_V4_V5_gfx12 %5, %5, %5, %6, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)568# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %9.sub0569# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %9.sub1_sub2_sub3570 571name: image_sample_c_b_cl_merged_v1v3572body:             |573  bb.0.entry:574    %0:sgpr_64 = COPY $sgpr0_sgpr1575    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0576    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99577    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0578    %4:vgpr_32 = COPY %2.sub3579    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)580    %6:vreg_64 = REG_SEQUENCE %5:vgpr_32, %subreg.sub0, %5:vgpr_32, %subreg.sub1581    %7:vgpr_32 = IMAGE_SAMPLE_C_B_CL_V1_V5_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_64, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)582    %8:vreg_96 = IMAGE_SAMPLE_C_B_CL_V3_V5_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_64, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)583...584---585 586# GFX12-LABEL: name: image_sample_c_b_cl_o_merged_v1v3587# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_B_CL_O_V4_V6_gfx12 %5, %5, %5, %6, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)588# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %9.sub0589# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %9.sub1_sub2_sub3590 591name: image_sample_c_b_cl_o_merged_v1v3592body:             |593  bb.0.entry:594    %0:sgpr_64 = COPY $sgpr0_sgpr1595    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0596    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99597    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0598    %4:vgpr_32 = COPY %2.sub3599    %5:vgpr_32 = IMPLICIT_DEF600    %6:vreg_96 = IMPLICIT_DEF601    %7:vgpr_32 = IMAGE_SAMPLE_C_B_CL_O_V1_V6_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_96, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)602    %8:vreg_96 = IMAGE_SAMPLE_C_B_CL_O_V3_V6_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_96, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)603...604---605 606# GFX12-LABEL: name: image_sample_c_b_o_merged_v1v3607# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_B_O_V4_V5_gfx12 %5, %5, %5, %6, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)608# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %9.sub0609# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %9.sub1_sub2_sub3610 611name: image_sample_c_b_o_merged_v1v3612body:             |613  bb.0.entry:614    %0:sgpr_64 = COPY $sgpr0_sgpr1615    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0616    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99617    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0618    %4:vgpr_32 = COPY %2.sub3619    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)620    %6:vreg_64 = REG_SEQUENCE %5:vgpr_32, %subreg.sub0, %5:vgpr_32, %subreg.sub1621    %7:vgpr_32 = IMAGE_SAMPLE_C_B_O_V1_V5_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_64, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)622    %8:vreg_96 = IMAGE_SAMPLE_C_B_O_V3_V5_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_64, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)623...624---625 626# GFX12-LABEL: name: image_sample_c_cl_merged_v1v3627# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_CL_V4_V4_gfx12 %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)628# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0629# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3630 631name: image_sample_c_cl_merged_v1v3632body:             |633  bb.0.entry:634    %0:sgpr_64 = COPY $sgpr0_sgpr1635    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0636    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99637    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0638    %4:vgpr_32 = COPY %2.sub3639    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)640    %6:vgpr_32 = IMAGE_SAMPLE_C_CL_V1_V4_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)641    %7:vreg_96 = IMAGE_SAMPLE_C_CL_V3_V4_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)642...643---644 645# GFX12-LABEL: name: image_sample_c_cl_o_merged_v1v3646# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_CL_O_V4_V5_gfx12 %5, %5, %5, %6, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)647# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %9.sub0648# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %9.sub1_sub2_sub3649 650name: image_sample_c_cl_o_merged_v1v3651body:             |652  bb.0.entry:653    %0:sgpr_64 = COPY $sgpr0_sgpr1654    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0655    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99656    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0657    %4:vgpr_32 = COPY %2.sub3658    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)659    %6:vreg_64 = REG_SEQUENCE %5:vgpr_32, %subreg.sub0, %5:vgpr_32, %subreg.sub1660    %7:vgpr_32 = IMAGE_SAMPLE_C_CL_O_V1_V5_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_64, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)661    %8:vreg_96 = IMAGE_SAMPLE_C_CL_O_V3_V5_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_64, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)662...663---664 665# GFX12-LABEL: name: image_sample_c_d_merged_v1v3666# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_D_V4_V7_gfx12 %5, %5, %5, %6, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)667# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %9.sub0668# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %9.sub1_sub2_sub3669 670name: image_sample_c_d_merged_v1v3671body:             |672  bb.0.entry:673    %0:sgpr_64 = COPY $sgpr0_sgpr1674    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0675    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99676    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0677    %4:vgpr_32 = COPY %2.sub3678    %5:vgpr_32 = IMPLICIT_DEF679    %6:vreg_128 = IMPLICIT_DEF680    %7:vgpr_32 = IMAGE_SAMPLE_C_D_V1_V7_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_128, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)681    %8:vreg_96 = IMAGE_SAMPLE_C_D_V3_V7_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_128, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)682...683---684 685# GFX12-LABEL: name: image_sample_c_d_cl_merged_v1v3686# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_D_CL_V4_V8_gfx12 %5, %5, %5, %6, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)687# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %9.sub0688# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %9.sub1_sub2_sub3689 690name: image_sample_c_d_cl_merged_v1v3691body:             |692  bb.0.entry:693    %0:sgpr_64 = COPY $sgpr0_sgpr1694    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0695    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99696    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0697    %4:vgpr_32 = COPY %2.sub3698    %5:vgpr_32 = IMPLICIT_DEF699    %6:vreg_160 = IMPLICIT_DEF700    %7:vgpr_32 = IMAGE_SAMPLE_C_D_CL_V1_V8_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_160, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)701    %8:vreg_96 = IMAGE_SAMPLE_C_D_CL_V3_V8_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_160, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)702...703---704 705# GFX12-LABEL: name: image_sample_c_d_cl_o_merged_v1v3706# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_D_CL_O_V4_V9_gfx12 %5, %5, %5, %6, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)707# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %9.sub0708# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %9.sub1_sub2_sub3709 710name: image_sample_c_d_cl_o_merged_v1v3711body:             |712  bb.0.entry:713    %0:sgpr_64 = COPY $sgpr0_sgpr1714    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0715    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99716    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0717    %4:vgpr_32 = COPY %2.sub3718    %5:vgpr_32 = IMPLICIT_DEF719    %6:vreg_192 = IMPLICIT_DEF720    %7:vgpr_32 = IMAGE_SAMPLE_C_D_CL_O_V1_V9_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_192, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)721    %8:vreg_96 = IMAGE_SAMPLE_C_D_CL_O_V3_V9_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_192, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)722...723---724 725# GFX12-LABEL: name: image_sample_c_d_o_merged_v1v3726# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_D_O_V4_V8_gfx12 %5, %5, %5, %6, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)727# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %9.sub0728# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %9.sub1_sub2_sub3729 730name: image_sample_c_d_o_merged_v1v3731body:             |732  bb.0.entry:733    %0:sgpr_64 = COPY $sgpr0_sgpr1734    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0735    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99736    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0737    %4:vgpr_32 = COPY %2.sub3738    %5:vgpr_32 = IMPLICIT_DEF739    %6:vreg_160 = IMPLICIT_DEF740    %7:vgpr_32 = IMAGE_SAMPLE_C_D_O_V1_V8_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_160, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)741    %8:vreg_96 = IMAGE_SAMPLE_C_D_O_V3_V8_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_160, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)742...743---744 745# GFX12-LABEL: name: image_sample_c_l_merged_v1v3746# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_L_V4_V4_gfx12 %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)747# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0748# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3749 750name: image_sample_c_l_merged_v1v3751body:             |752  bb.0.entry:753    %0:sgpr_64 = COPY $sgpr0_sgpr1754    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0755    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99756    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0757    %4:vgpr_32 = COPY %2.sub3758    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)759    %6:vgpr_32 = IMAGE_SAMPLE_C_L_V1_V4_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)760    %7:vreg_96 = IMAGE_SAMPLE_C_L_V3_V4_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)761...762---763 764# GFX12-LABEL: name: image_sample_c_lz_merged_v1v3765# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_LZ_V4_V3_gfx12 %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)766# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0767# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3768 769name: image_sample_c_lz_merged_v1v3770body:             |771  bb.0.entry:772    %0:sgpr_64 = COPY $sgpr0_sgpr1773    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0774    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99775    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0776    %4:vgpr_32 = COPY %2.sub3777    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)778    %6:vgpr_32 = IMAGE_SAMPLE_C_LZ_V1_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)779    %7:vreg_96 = IMAGE_SAMPLE_C_LZ_V3_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)780...781---782 783# GFX12-LABEL: name: image_sample_c_lz_o_merged_v1v3784# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_LZ_O_V4_V4_gfx12 %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)785# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0786# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3787 788name: image_sample_c_lz_o_merged_v1v3789body:             |790  bb.0.entry:791    %0:sgpr_64 = COPY $sgpr0_sgpr1792    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0793    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99794    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0795    %4:vgpr_32 = COPY %2.sub3796    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)797    %6:vgpr_32 = IMAGE_SAMPLE_C_LZ_O_V1_V4_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)798    %7:vreg_96 = IMAGE_SAMPLE_C_LZ_O_V3_V4_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)799...800---801 802# GFX12-LABEL: name: image_sample_c_l_o_merged_v1v3803# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_L_O_V4_V5_gfx12 %5, %5, %5, %6, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)804# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %9.sub0805# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %9.sub1_sub2_sub3806 807name: image_sample_c_l_o_merged_v1v3808body:             |809  bb.0.entry:810    %0:sgpr_64 = COPY $sgpr0_sgpr1811    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0812    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99813    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0814    %4:vgpr_32 = COPY %2.sub3815    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)816    %6:vreg_64 = REG_SEQUENCE %5:vgpr_32, %subreg.sub0, %5:vgpr_32, %subreg.sub1817    %7:vgpr_32 = IMAGE_SAMPLE_C_L_O_V1_V5_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_64, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)818    %8:vreg_96 = IMAGE_SAMPLE_C_L_O_V3_V5_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_64, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)819...820---821 822# GFX12-LABEL: name: image_sample_c_o_merged_v1v3823# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_C_O_V4_V4_gfx12 %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)824# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0825# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3826 827name: image_sample_c_o_merged_v1v3828body:             |829  bb.0.entry:830    %0:sgpr_64 = COPY $sgpr0_sgpr1831    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0832    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99833    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0834    %4:vgpr_32 = COPY %2.sub3835    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)836    %6:vgpr_32 = IMAGE_SAMPLE_C_O_V1_V4_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)837    %7:vreg_96 = IMAGE_SAMPLE_C_O_V3_V4_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)838...839---840 841# GFX12-LABEL: name: image_sample_d_merged_v1v3842# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_D_V4_V6_gfx12 %5, %5, %5, %6, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)843# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %9.sub0844# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %9.sub1_sub2_sub3845 846name: image_sample_d_merged_v1v3847body:             |848  bb.0.entry:849    %0:sgpr_64 = COPY $sgpr0_sgpr1850    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0851    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99852    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0853    %4:vgpr_32 = COPY %2.sub3854    %5:vgpr_32 = IMPLICIT_DEF855    %6:vreg_96 = IMPLICIT_DEF856    %7:vgpr_32 = IMAGE_SAMPLE_D_V1_V6_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_96, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)857    %8:vreg_96 = IMAGE_SAMPLE_D_V3_V6_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_96, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)858...859---860 861# GFX12-LABEL: name: image_sample_d_cl_merged_v1v3862# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_D_CL_V4_V7_gfx12 %5, %5, %5, %6, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)863# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %9.sub0864# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %9.sub1_sub2_sub3865 866name: image_sample_d_cl_merged_v1v3867body:             |868  bb.0.entry:869    %0:sgpr_64 = COPY $sgpr0_sgpr1870    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0871    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99872    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0873    %4:vgpr_32 = COPY %2.sub3874    %5:vgpr_32 = IMPLICIT_DEF875    %6:vreg_128 = IMPLICIT_DEF876    %7:vgpr_32 = IMAGE_SAMPLE_D_CL_V1_V7_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_128, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)877    %8:vreg_96 = IMAGE_SAMPLE_D_CL_V3_V7_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_128, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)878...879---880 881# GFX12-LABEL: name: image_sample_d_cl_o_merged_v1v3882# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_D_CL_O_V4_V8_gfx12 %5, %5, %5, %6, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)883# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %9.sub0884# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %9.sub1_sub2_sub3885 886name: image_sample_d_cl_o_merged_v1v3887body:             |888  bb.0.entry:889    %0:sgpr_64 = COPY $sgpr0_sgpr1890    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0891    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99892    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0893    %4:vgpr_32 = COPY %2.sub3894    %5:vgpr_32 = IMPLICIT_DEF895    %6:vreg_160 = IMPLICIT_DEF896    %7:vgpr_32 = IMAGE_SAMPLE_D_CL_O_V1_V8_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_160, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)897    %8:vreg_96 = IMAGE_SAMPLE_D_CL_O_V3_V8_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_160, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)898...899---900 901# GFX12-LABEL: name: image_sample_d_o_merged_v1v3902# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_D_O_V4_V7_gfx12 %5, %5, %5, %6, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)903# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %9.sub0904# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %9.sub1_sub2_sub3905 906name: image_sample_d_o_merged_v1v3907body:             |908  bb.0.entry:909    %0:sgpr_64 = COPY $sgpr0_sgpr1910    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0911    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99912    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0913    %4:vgpr_32 = COPY %2.sub3914    %5:vgpr_32 = IMPLICIT_DEF915    %6:vreg_128 = IMPLICIT_DEF916    %7:vgpr_32 = IMAGE_SAMPLE_D_O_V1_V7_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_128, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)917    %8:vreg_96 = IMAGE_SAMPLE_D_O_V3_V7_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %6:vreg_128, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)918...919---920 921# GFX12-LABEL: name: image_sample_lz_merged_v1v3922# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_LZ_V4_V2_gfx12 %5, %5, %3, %2, 15, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec, implicit $exec :: (dereferenceable load (s128), align 4, addrspace 4)923# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0924# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3925 926name: image_sample_lz_merged_v1v3927body:             |928  bb.0.entry:929    %0:sgpr_64 = COPY $sgpr0_sgpr1930    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0931    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99932    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0933    %4:vgpr_32 = COPY %2.sub3934    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)935    %6:vgpr_32 = IMAGE_SAMPLE_LZ_V1_V2_gfx12 %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)936    %7:vreg_96 = IMAGE_SAMPLE_LZ_V3_V2_gfx12 %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)937...938---939 940# GFX12-LABEL: name: image_sample_lz_o_merged_v1v3941# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_LZ_O_V4_V3_gfx12 %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)942# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0943# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3944 945name: image_sample_lz_o_merged_v1v3946body:             |947  bb.0.entry:948    %0:sgpr_64 = COPY $sgpr0_sgpr1949    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0950    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99951    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0952    %4:vgpr_32 = COPY %2.sub3953    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)954    %6:vgpr_32 = IMAGE_SAMPLE_LZ_O_V1_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)955    %7:vreg_96 = IMAGE_SAMPLE_LZ_O_V3_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)956...957---958 959# GFX12-LABEL: name: image_sample_l_o_merged_v1v3960# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_L_O_V4_V4_gfx12 %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)961# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0962# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3963 964name: image_sample_l_o_merged_v1v3965body:             |966  bb.0.entry:967    %0:sgpr_64 = COPY $sgpr0_sgpr1968    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0969    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99970    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0971    %4:vgpr_32 = COPY %2.sub3972    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)973    %6:vgpr_32 = IMAGE_SAMPLE_L_O_V1_V4_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)974    %7:vreg_96 = IMAGE_SAMPLE_L_O_V3_V4_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)975...976---977 978# GFX12-LABEL: name: image_sample_o_merged_v1v3979# GFX12: %{{[0-9]+}}:vreg_128 = IMAGE_SAMPLE_O_V4_V3_gfx12 %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)980# GFX12: %{{[0-9]+}}:vgpr_32 = COPY %8.sub0981# GFX12: %{{[0-9]+}}:vreg_96 = COPY killed %8.sub1_sub2_sub3982 983name: image_sample_o_merged_v1v3984body:             |985  bb.0.entry:986    %0:sgpr_64 = COPY $sgpr0_sgpr1987    %1:sreg_64_xexec = S_LOAD_DWORDX2_IMM %0, 36, 0988    %2:sgpr_128 = COPY $sgpr96_sgpr97_sgpr98_sgpr99989    %3:sgpr_256 = S_LOAD_DWORDX8_IMM %1, 208, 0990    %4:vgpr_32 = COPY %2.sub3991    %5:vgpr_32 = BUFFER_LOAD_DWORD_OFFSET %2:sgpr_128, 0, 0, 0, 0, implicit $exec :: (dereferenceable invariant load 16)992    %6:vgpr_32 = IMAGE_SAMPLE_O_V1_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 1, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 4, addrspace 4)993    %7:vreg_96 = IMAGE_SAMPLE_O_V3_V3_gfx12 %5:vgpr_32, %5:vgpr_32, %5:vgpr_32, %3:sgpr_256, %2:sgpr_128, 14, 1, -1, 0, 0, 0, 0, 0, 0, implicit $exec :: (dereferenceable load 12, align 16, addrspace 4)994...995---996