brintos

brintos / llvm-project-archived public Read only

0
0
Text · 42.5 KiB · 59c57a5 Raw
1053 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=amdgcn -mcpu=tahiti -run-pass=instruction-select -verify-machineinstrs  -global-isel-abort=0 -disable-gisel-legality-check -o - %s | FileCheck -check-prefix=GFX6 %s3# RUN: llc -mtriple=amdgcn -mcpu=hawaii -run-pass=instruction-select -verify-machineinstrs  -global-isel-abort=0 -disable-gisel-legality-check -o - %s | FileCheck -check-prefix=GFX7 %s4# RUN: llc -mtriple=amdgcn -mcpu=fiji -run-pass=instruction-select -verify-machineinstrs  -global-isel-abort=0 -disable-gisel-legality-check -o - %s | FileCheck -check-prefix=GFX7 %s5# RUN: llc -mtriple=amdgcn -mcpu=gfx900 -run-pass=instruction-select -verify-machineinstrs -global-isel-abort=0 -o - %s | FileCheck -check-prefix=GFX9 %s6# RUN: llc -mtriple=amdgcn -mcpu=gfx1010 -mattr=+cumode -run-pass=instruction-select -verify-machineinstrs -global-isel-abort=0 -o - %s | FileCheck -check-prefix=GFX10 %s7# RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -run-pass=instruction-select -verify-machineinstrs -global-isel-abort=0 -o - %s | FileCheck -check-prefix=GFX9 %s8 9---10 11name: load_local_s32_from_412legalized:       true13regBankSelected: true14tracksRegLiveness: true15 16body: |17  bb.0:18    liveins:  $vgpr019 20    ; GFX6-LABEL: name: load_local_s32_from_421    ; GFX6: liveins: $vgpr022    ; GFX6-NEXT: {{  $}}23    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr024    ; GFX6-NEXT: $m0 = S_MOV_B32 -125    ; GFX6-NEXT: [[DS_READ_B32_:%[0-9]+]]:vgpr_32 = DS_READ_B32 [[COPY]], 0, 0, implicit $m0, implicit $exec :: (load (s32), addrspace 3)26    ; GFX6-NEXT: $vgpr0 = COPY [[DS_READ_B32_]]27    ;28    ; GFX7-LABEL: name: load_local_s32_from_429    ; GFX7: liveins: $vgpr030    ; GFX7-NEXT: {{  $}}31    ; GFX7-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr032    ; GFX7-NEXT: $m0 = S_MOV_B32 -133    ; GFX7-NEXT: [[DS_READ_B32_:%[0-9]+]]:vgpr_32 = DS_READ_B32 [[COPY]], 0, 0, implicit $m0, implicit $exec :: (load (s32), addrspace 3)34    ; GFX7-NEXT: $vgpr0 = COPY [[DS_READ_B32_]]35    ;36    ; GFX9-LABEL: name: load_local_s32_from_437    ; GFX9: liveins: $vgpr038    ; GFX9-NEXT: {{  $}}39    ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr040    ; GFX9-NEXT: [[DS_READ_B32_gfx9_:%[0-9]+]]:vgpr_32 = DS_READ_B32_gfx9 [[COPY]], 0, 0, implicit $exec :: (load (s32), addrspace 3)41    ; GFX9-NEXT: $vgpr0 = COPY [[DS_READ_B32_gfx9_]]42    ;43    ; GFX10-LABEL: name: load_local_s32_from_444    ; GFX10: liveins: $vgpr045    ; GFX10-NEXT: {{  $}}46    ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr047    ; GFX10-NEXT: [[DS_READ_B32_gfx9_:%[0-9]+]]:vgpr_32 = DS_READ_B32_gfx9 [[COPY]], 0, 0, implicit $exec :: (load (s32), addrspace 3)48    ; GFX10-NEXT: $vgpr0 = COPY [[DS_READ_B32_gfx9_]]49    %0:vgpr(p3) = COPY $vgpr050    %1:vgpr(s32) = G_LOAD %0 :: (load (s32), align 4, addrspace 3)51    $vgpr0 = COPY %152 53...54 55---56 57name: load_local_s32_from_258legalized:       true59regBankSelected: true60tracksRegLiveness: true61 62body: |63  bb.0:64    liveins:  $vgpr065 66    ; GFX6-LABEL: name: load_local_s32_from_267    ; GFX6: liveins: $vgpr068    ; GFX6-NEXT: {{  $}}69    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr070    ; GFX6-NEXT: $m0 = S_MOV_B32 -171    ; GFX6-NEXT: [[DS_READ_U16_:%[0-9]+]]:vgpr_32 = DS_READ_U16 [[COPY]], 0, 0, implicit $m0, implicit $exec :: (load (s16), addrspace 3)72    ; GFX6-NEXT: $vgpr0 = COPY [[DS_READ_U16_]]73    ;74    ; GFX7-LABEL: name: load_local_s32_from_275    ; GFX7: liveins: $vgpr076    ; GFX7-NEXT: {{  $}}77    ; GFX7-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr078    ; GFX7-NEXT: $m0 = S_MOV_B32 -179    ; GFX7-NEXT: [[DS_READ_U16_:%[0-9]+]]:vgpr_32 = DS_READ_U16 [[COPY]], 0, 0, implicit $m0, implicit $exec :: (load (s16), addrspace 3)80    ; GFX7-NEXT: $vgpr0 = COPY [[DS_READ_U16_]]81    ;82    ; GFX9-LABEL: name: load_local_s32_from_283    ; GFX9: liveins: $vgpr084    ; GFX9-NEXT: {{  $}}85    ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr086    ; GFX9-NEXT: [[DS_READ_U16_gfx9_:%[0-9]+]]:vgpr_32 = DS_READ_U16_gfx9 [[COPY]], 0, 0, implicit $exec :: (load (s16), addrspace 3)87    ; GFX9-NEXT: $vgpr0 = COPY [[DS_READ_U16_gfx9_]]88    ;89    ; GFX10-LABEL: name: load_local_s32_from_290    ; GFX10: liveins: $vgpr091    ; GFX10-NEXT: {{  $}}92    ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr093    ; GFX10-NEXT: [[DS_READ_U16_gfx9_:%[0-9]+]]:vgpr_32 = DS_READ_U16_gfx9 [[COPY]], 0, 0, implicit $exec :: (load (s16), addrspace 3)94    ; GFX10-NEXT: $vgpr0 = COPY [[DS_READ_U16_gfx9_]]95    %0:vgpr(p3) = COPY $vgpr096    %1:vgpr(s32) = G_LOAD %0 :: (load (s16), align 2, addrspace 3)97    $vgpr0 = COPY %198 99...100 101---102 103name: load_local_s32_from_1104legalized:       true105regBankSelected: true106tracksRegLiveness: true107machineFunctionInfo:108  scratchRSrcReg: $sgpr0_sgpr1_sgpr2_sgpr3109  stackPtrOffsetReg: $sgpr32110 111body: |112  bb.0:113    liveins:  $vgpr0114 115    ; GFX6-LABEL: name: load_local_s32_from_1116    ; GFX6: liveins: $vgpr0117    ; GFX6-NEXT: {{  $}}118    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0119    ; GFX6-NEXT: $m0 = S_MOV_B32 -1120    ; GFX6-NEXT: [[DS_READ_U8_:%[0-9]+]]:vgpr_32 = DS_READ_U8 [[COPY]], 0, 0, implicit $m0, implicit $exec :: (load (s8), addrspace 3)121    ; GFX6-NEXT: $vgpr0 = COPY [[DS_READ_U8_]]122    ;123    ; GFX7-LABEL: name: load_local_s32_from_1124    ; GFX7: liveins: $vgpr0125    ; GFX7-NEXT: {{  $}}126    ; GFX7-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0127    ; GFX7-NEXT: $m0 = S_MOV_B32 -1128    ; GFX7-NEXT: [[DS_READ_U8_:%[0-9]+]]:vgpr_32 = DS_READ_U8 [[COPY]], 0, 0, implicit $m0, implicit $exec :: (load (s8), addrspace 3)129    ; GFX7-NEXT: $vgpr0 = COPY [[DS_READ_U8_]]130    ;131    ; GFX9-LABEL: name: load_local_s32_from_1132    ; GFX9: liveins: $vgpr0133    ; GFX9-NEXT: {{  $}}134    ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0135    ; GFX9-NEXT: [[DS_READ_U8_gfx9_:%[0-9]+]]:vgpr_32 = DS_READ_U8_gfx9 [[COPY]], 0, 0, implicit $exec :: (load (s8), addrspace 3)136    ; GFX9-NEXT: $vgpr0 = COPY [[DS_READ_U8_gfx9_]]137    ;138    ; GFX10-LABEL: name: load_local_s32_from_1139    ; GFX10: liveins: $vgpr0140    ; GFX10-NEXT: {{  $}}141    ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0142    ; GFX10-NEXT: [[DS_READ_U8_gfx9_:%[0-9]+]]:vgpr_32 = DS_READ_U8_gfx9 [[COPY]], 0, 0, implicit $exec :: (load (s8), addrspace 3)143    ; GFX10-NEXT: $vgpr0 = COPY [[DS_READ_U8_gfx9_]]144    %0:vgpr(p3) = COPY $vgpr0145    %1:vgpr(s32) = G_LOAD %0 :: (load (s8), align 1, addrspace 3)146    $vgpr0 = COPY %1147 148...149 150---151 152name: load_local_v2s32153legalized:       true154regBankSelected: true155tracksRegLiveness: true156 157body: |158  bb.0:159    liveins:  $vgpr0160 161    ; GFX6-LABEL: name: load_local_v2s32162    ; GFX6: liveins: $vgpr0163    ; GFX6-NEXT: {{  $}}164    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0165    ; GFX6-NEXT: $m0 = S_MOV_B32 -1166    ; GFX6-NEXT: [[DS_READ_B64_:%[0-9]+]]:vreg_64 = DS_READ_B64 [[COPY]], 0, 0, implicit $m0, implicit $exec :: (load (<2 x s32>), addrspace 3)167    ; GFX6-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ_B64_]]168    ;169    ; GFX7-LABEL: name: load_local_v2s32170    ; GFX7: liveins: $vgpr0171    ; GFX7-NEXT: {{  $}}172    ; GFX7-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0173    ; GFX7-NEXT: $m0 = S_MOV_B32 -1174    ; GFX7-NEXT: [[DS_READ_B64_:%[0-9]+]]:vreg_64 = DS_READ_B64 [[COPY]], 0, 0, implicit $m0, implicit $exec :: (load (<2 x s32>), addrspace 3)175    ; GFX7-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ_B64_]]176    ;177    ; GFX9-LABEL: name: load_local_v2s32178    ; GFX9: liveins: $vgpr0179    ; GFX9-NEXT: {{  $}}180    ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0181    ; GFX9-NEXT: [[DS_READ_B64_gfx9_:%[0-9]+]]:vreg_64 = DS_READ_B64_gfx9 [[COPY]], 0, 0, implicit $exec :: (load (<2 x s32>), addrspace 3)182    ; GFX9-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ_B64_gfx9_]]183    ;184    ; GFX10-LABEL: name: load_local_v2s32185    ; GFX10: liveins: $vgpr0186    ; GFX10-NEXT: {{  $}}187    ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0188    ; GFX10-NEXT: [[DS_READ_B64_gfx9_:%[0-9]+]]:vreg_64 = DS_READ_B64_gfx9 [[COPY]], 0, 0, implicit $exec :: (load (<2 x s32>), addrspace 3)189    ; GFX10-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ_B64_gfx9_]]190    %0:vgpr(p3) = COPY $vgpr0191    %1:vgpr(<2 x s32>) = G_LOAD %0 :: (load (<2 x s32>), align 8, addrspace 3)192    $vgpr0_vgpr1 = COPY %1193 194...195 196---197 198name: load_local_v2s32_align4199legalized:       true200regBankSelected: true201tracksRegLiveness: true202 203body: |204  bb.0:205    liveins:  $vgpr0206 207    ; GFX6-LABEL: name: load_local_v2s32_align4208    ; GFX6: liveins: $vgpr0209    ; GFX6-NEXT: {{  $}}210    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr(p3) = COPY $vgpr0211    ; GFX6-NEXT: $m0 = S_MOV_B32 -1212    ; GFX6-NEXT: [[LOAD:%[0-9]+]]:vreg_64(<2 x s32>) = G_LOAD [[COPY]](p3) :: (load (<2 x s32>), align 4, addrspace 3)213    ; GFX6-NEXT: $vgpr0_vgpr1 = COPY [[LOAD]](<2 x s32>)214    ;215    ; GFX7-LABEL: name: load_local_v2s32_align4216    ; GFX7: liveins: $vgpr0217    ; GFX7-NEXT: {{  $}}218    ; GFX7-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0219    ; GFX7-NEXT: $m0 = S_MOV_B32 -1220    ; GFX7-NEXT: [[DS_READ2_B32_:%[0-9]+]]:vreg_64 = DS_READ2_B32 [[COPY]], 0, 1, 0, implicit $m0, implicit $exec :: (load (<2 x s32>), align 4, addrspace 3)221    ; GFX7-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ2_B32_]]222    ;223    ; GFX9-LABEL: name: load_local_v2s32_align4224    ; GFX9: liveins: $vgpr0225    ; GFX9-NEXT: {{  $}}226    ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0227    ; GFX9-NEXT: [[DS_READ2_B32_gfx9_:%[0-9]+]]:vreg_64 = DS_READ2_B32_gfx9 [[COPY]], 0, 1, 0, implicit $exec :: (load (<2 x s32>), align 4, addrspace 3)228    ; GFX9-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ2_B32_gfx9_]]229    ;230    ; GFX10-LABEL: name: load_local_v2s32_align4231    ; GFX10: liveins: $vgpr0232    ; GFX10-NEXT: {{  $}}233    ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0234    ; GFX10-NEXT: [[DS_READ2_B32_gfx9_:%[0-9]+]]:vreg_64 = DS_READ2_B32_gfx9 [[COPY]], 0, 1, 0, implicit $exec :: (load (<2 x s32>), align 4, addrspace 3)235    ; GFX10-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ2_B32_gfx9_]]236    %0:vgpr(p3) = COPY $vgpr0237    %1:vgpr(<2 x s32>) = G_LOAD %0 :: (load (<2 x s32>), align 4, addrspace 3)238    $vgpr0_vgpr1 = COPY %1239 240...241 242---243 244name: load_local_s64245legalized:       true246regBankSelected: true247tracksRegLiveness: true248 249body: |250  bb.0:251    liveins:  $vgpr0252 253    ; GFX6-LABEL: name: load_local_s64254    ; GFX6: liveins: $vgpr0255    ; GFX6-NEXT: {{  $}}256    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0257    ; GFX6-NEXT: $m0 = S_MOV_B32 -1258    ; GFX6-NEXT: [[DS_READ_B64_:%[0-9]+]]:vreg_64 = DS_READ_B64 [[COPY]], 0, 0, implicit $m0, implicit $exec :: (load (s64), addrspace 3)259    ; GFX6-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ_B64_]]260    ;261    ; GFX7-LABEL: name: load_local_s64262    ; GFX7: liveins: $vgpr0263    ; GFX7-NEXT: {{  $}}264    ; GFX7-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0265    ; GFX7-NEXT: $m0 = S_MOV_B32 -1266    ; GFX7-NEXT: [[DS_READ_B64_:%[0-9]+]]:vreg_64 = DS_READ_B64 [[COPY]], 0, 0, implicit $m0, implicit $exec :: (load (s64), addrspace 3)267    ; GFX7-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ_B64_]]268    ;269    ; GFX9-LABEL: name: load_local_s64270    ; GFX9: liveins: $vgpr0271    ; GFX9-NEXT: {{  $}}272    ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0273    ; GFX9-NEXT: [[DS_READ_B64_gfx9_:%[0-9]+]]:vreg_64 = DS_READ_B64_gfx9 [[COPY]], 0, 0, implicit $exec :: (load (s64), addrspace 3)274    ; GFX9-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ_B64_gfx9_]]275    ;276    ; GFX10-LABEL: name: load_local_s64277    ; GFX10: liveins: $vgpr0278    ; GFX10-NEXT: {{  $}}279    ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0280    ; GFX10-NEXT: [[DS_READ_B64_gfx9_:%[0-9]+]]:vreg_64 = DS_READ_B64_gfx9 [[COPY]], 0, 0, implicit $exec :: (load (s64), addrspace 3)281    ; GFX10-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ_B64_gfx9_]]282    %0:vgpr(p3) = COPY $vgpr0283    %1:vgpr(s64) = G_LOAD %0 :: (load (s64), align 8, addrspace 3)284    $vgpr0_vgpr1 = COPY %1285 286...287 288---289 290name: load_local_s64_align4291legalized:       true292regBankSelected: true293tracksRegLiveness: true294 295body: |296  bb.0:297    liveins:  $vgpr0298 299    ; GFX6-LABEL: name: load_local_s64_align4300    ; GFX6: liveins: $vgpr0301    ; GFX6-NEXT: {{  $}}302    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr(p3) = COPY $vgpr0303    ; GFX6-NEXT: $m0 = S_MOV_B32 -1304    ; GFX6-NEXT: [[LOAD:%[0-9]+]]:vreg_64(s64) = G_LOAD [[COPY]](p3) :: (load (s64), align 4, addrspace 3)305    ; GFX6-NEXT: $vgpr0_vgpr1 = COPY [[LOAD]](s64)306    ;307    ; GFX7-LABEL: name: load_local_s64_align4308    ; GFX7: liveins: $vgpr0309    ; GFX7-NEXT: {{  $}}310    ; GFX7-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0311    ; GFX7-NEXT: $m0 = S_MOV_B32 -1312    ; GFX7-NEXT: [[DS_READ2_B32_:%[0-9]+]]:vreg_64 = DS_READ2_B32 [[COPY]], 0, 1, 0, implicit $m0, implicit $exec :: (load (s64), align 4, addrspace 3)313    ; GFX7-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ2_B32_]]314    ;315    ; GFX9-LABEL: name: load_local_s64_align4316    ; GFX9: liveins: $vgpr0317    ; GFX9-NEXT: {{  $}}318    ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0319    ; GFX9-NEXT: [[DS_READ2_B32_gfx9_:%[0-9]+]]:vreg_64 = DS_READ2_B32_gfx9 [[COPY]], 0, 1, 0, implicit $exec :: (load (s64), align 4, addrspace 3)320    ; GFX9-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ2_B32_gfx9_]]321    ;322    ; GFX10-LABEL: name: load_local_s64_align4323    ; GFX10: liveins: $vgpr0324    ; GFX10-NEXT: {{  $}}325    ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0326    ; GFX10-NEXT: [[DS_READ2_B32_gfx9_:%[0-9]+]]:vreg_64 = DS_READ2_B32_gfx9 [[COPY]], 0, 1, 0, implicit $exec :: (load (s64), align 4, addrspace 3)327    ; GFX10-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ2_B32_gfx9_]]328    %0:vgpr(p3) = COPY $vgpr0329    %1:vgpr(s64) = G_LOAD %0 :: (load (s64), align 4, addrspace 3)330    $vgpr0_vgpr1 = COPY %1331 332...333 334---335 336name: load_local_p3_from_4337legalized:       true338regBankSelected: true339tracksRegLiveness: true340 341body: |342  bb.0:343    liveins:  $vgpr0344 345    ; GFX6-LABEL: name: load_local_p3_from_4346    ; GFX6: liveins: $vgpr0347    ; GFX6-NEXT: {{  $}}348    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0349    ; GFX6-NEXT: $m0 = S_MOV_B32 -1350    ; GFX6-NEXT: [[DS_READ_B32_:%[0-9]+]]:vgpr_32 = DS_READ_B32 [[COPY]], 0, 0, implicit $m0, implicit $exec :: (load (p3), addrspace 3)351    ; GFX6-NEXT: $vgpr0 = COPY [[DS_READ_B32_]]352    ;353    ; GFX7-LABEL: name: load_local_p3_from_4354    ; GFX7: liveins: $vgpr0355    ; GFX7-NEXT: {{  $}}356    ; GFX7-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0357    ; GFX7-NEXT: $m0 = S_MOV_B32 -1358    ; GFX7-NEXT: [[DS_READ_B32_:%[0-9]+]]:vgpr_32 = DS_READ_B32 [[COPY]], 0, 0, implicit $m0, implicit $exec :: (load (p3), addrspace 3)359    ; GFX7-NEXT: $vgpr0 = COPY [[DS_READ_B32_]]360    ;361    ; GFX9-LABEL: name: load_local_p3_from_4362    ; GFX9: liveins: $vgpr0363    ; GFX9-NEXT: {{  $}}364    ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0365    ; GFX9-NEXT: [[DS_READ_B32_gfx9_:%[0-9]+]]:vgpr_32 = DS_READ_B32_gfx9 [[COPY]], 0, 0, implicit $exec :: (load (p3), addrspace 3)366    ; GFX9-NEXT: $vgpr0 = COPY [[DS_READ_B32_gfx9_]]367    ;368    ; GFX10-LABEL: name: load_local_p3_from_4369    ; GFX10: liveins: $vgpr0370    ; GFX10-NEXT: {{  $}}371    ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0372    ; GFX10-NEXT: [[DS_READ_B32_gfx9_:%[0-9]+]]:vgpr_32 = DS_READ_B32_gfx9 [[COPY]], 0, 0, implicit $exec :: (load (p3), addrspace 3)373    ; GFX10-NEXT: $vgpr0 = COPY [[DS_READ_B32_gfx9_]]374    %0:vgpr(p3) = COPY $vgpr0375    %1:vgpr(p3) = G_LOAD %0 :: (load (p3), align 4, addrspace 3)376    $vgpr0 = COPY %1377 378...379 380---381 382name: load_local_p5_from_4383legalized:       true384regBankSelected: true385tracksRegLiveness: true386 387body: |388  bb.0:389    liveins:  $vgpr0390 391    ; GFX6-LABEL: name: load_local_p5_from_4392    ; GFX6: liveins: $vgpr0393    ; GFX6-NEXT: {{  $}}394    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0395    ; GFX6-NEXT: $m0 = S_MOV_B32 -1396    ; GFX6-NEXT: [[DS_READ_B32_:%[0-9]+]]:vgpr_32 = DS_READ_B32 [[COPY]], 0, 0, implicit $m0, implicit $exec :: (load (p5), addrspace 3)397    ; GFX6-NEXT: $vgpr0 = COPY [[DS_READ_B32_]]398    ;399    ; GFX7-LABEL: name: load_local_p5_from_4400    ; GFX7: liveins: $vgpr0401    ; GFX7-NEXT: {{  $}}402    ; GFX7-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0403    ; GFX7-NEXT: $m0 = S_MOV_B32 -1404    ; GFX7-NEXT: [[DS_READ_B32_:%[0-9]+]]:vgpr_32 = DS_READ_B32 [[COPY]], 0, 0, implicit $m0, implicit $exec :: (load (p5), addrspace 3)405    ; GFX7-NEXT: $vgpr0 = COPY [[DS_READ_B32_]]406    ;407    ; GFX9-LABEL: name: load_local_p5_from_4408    ; GFX9: liveins: $vgpr0409    ; GFX9-NEXT: {{  $}}410    ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0411    ; GFX9-NEXT: [[DS_READ_B32_gfx9_:%[0-9]+]]:vgpr_32 = DS_READ_B32_gfx9 [[COPY]], 0, 0, implicit $exec :: (load (p5), addrspace 3)412    ; GFX9-NEXT: $vgpr0 = COPY [[DS_READ_B32_gfx9_]]413    ;414    ; GFX10-LABEL: name: load_local_p5_from_4415    ; GFX10: liveins: $vgpr0416    ; GFX10-NEXT: {{  $}}417    ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0418    ; GFX10-NEXT: [[DS_READ_B32_gfx9_:%[0-9]+]]:vgpr_32 = DS_READ_B32_gfx9 [[COPY]], 0, 0, implicit $exec :: (load (p5), addrspace 3)419    ; GFX10-NEXT: $vgpr0 = COPY [[DS_READ_B32_gfx9_]]420    %0:vgpr(p3) = COPY $vgpr0421    %1:vgpr(p5) = G_LOAD %0 :: (load (p5), align 4, addrspace 3)422    $vgpr0 = COPY %1423 424...425 426---427 428name: load_local_p1_align8429legalized:       true430regBankSelected: true431tracksRegLiveness: true432 433body: |434  bb.0:435    liveins:  $vgpr0436 437    ; GFX6-LABEL: name: load_local_p1_align8438    ; GFX6: liveins: $vgpr0439    ; GFX6-NEXT: {{  $}}440    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0441    ; GFX6-NEXT: $m0 = S_MOV_B32 -1442    ; GFX6-NEXT: [[DS_READ_B64_:%[0-9]+]]:vreg_64 = DS_READ_B64 [[COPY]], 0, 0, implicit $m0, implicit $exec :: (load (p1), addrspace 3)443    ; GFX6-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ_B64_]]444    ;445    ; GFX7-LABEL: name: load_local_p1_align8446    ; GFX7: liveins: $vgpr0447    ; GFX7-NEXT: {{  $}}448    ; GFX7-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0449    ; GFX7-NEXT: $m0 = S_MOV_B32 -1450    ; GFX7-NEXT: [[DS_READ_B64_:%[0-9]+]]:vreg_64 = DS_READ_B64 [[COPY]], 0, 0, implicit $m0, implicit $exec :: (load (p1), addrspace 3)451    ; GFX7-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ_B64_]]452    ;453    ; GFX9-LABEL: name: load_local_p1_align8454    ; GFX9: liveins: $vgpr0455    ; GFX9-NEXT: {{  $}}456    ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0457    ; GFX9-NEXT: [[DS_READ_B64_gfx9_:%[0-9]+]]:vreg_64 = DS_READ_B64_gfx9 [[COPY]], 0, 0, implicit $exec :: (load (p1), addrspace 3)458    ; GFX9-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ_B64_gfx9_]]459    ;460    ; GFX10-LABEL: name: load_local_p1_align8461    ; GFX10: liveins: $vgpr0462    ; GFX10-NEXT: {{  $}}463    ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0464    ; GFX10-NEXT: [[DS_READ_B64_gfx9_:%[0-9]+]]:vreg_64 = DS_READ_B64_gfx9 [[COPY]], 0, 0, implicit $exec :: (load (p1), addrspace 3)465    ; GFX10-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ_B64_gfx9_]]466    %0:vgpr(p3) = COPY $vgpr0467    %1:vgpr(p1) = G_LOAD %0 :: (load (p1), align 8, addrspace 3)468    $vgpr0_vgpr1 = COPY %1469 470...471 472---473 474name: load_local_p1_align4475legalized:       true476regBankSelected: true477tracksRegLiveness: true478 479body: |480  bb.0:481    liveins:  $vgpr0482 483    ; GFX6-LABEL: name: load_local_p1_align4484    ; GFX6: liveins: $vgpr0485    ; GFX6-NEXT: {{  $}}486    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr(p3) = COPY $vgpr0487    ; GFX6-NEXT: $m0 = S_MOV_B32 -1488    ; GFX6-NEXT: [[LOAD:%[0-9]+]]:vreg_64(p1) = G_LOAD [[COPY]](p3) :: (load (p1), align 4, addrspace 3)489    ; GFX6-NEXT: $vgpr0_vgpr1 = COPY [[LOAD]](p1)490    ;491    ; GFX7-LABEL: name: load_local_p1_align4492    ; GFX7: liveins: $vgpr0493    ; GFX7-NEXT: {{  $}}494    ; GFX7-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0495    ; GFX7-NEXT: $m0 = S_MOV_B32 -1496    ; GFX7-NEXT: [[DS_READ2_B32_:%[0-9]+]]:vreg_64 = DS_READ2_B32 [[COPY]], 0, 1, 0, implicit $m0, implicit $exec :: (load (p1), align 4, addrspace 3)497    ; GFX7-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ2_B32_]]498    ;499    ; GFX9-LABEL: name: load_local_p1_align4500    ; GFX9: liveins: $vgpr0501    ; GFX9-NEXT: {{  $}}502    ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0503    ; GFX9-NEXT: [[DS_READ2_B32_gfx9_:%[0-9]+]]:vreg_64 = DS_READ2_B32_gfx9 [[COPY]], 0, 1, 0, implicit $exec :: (load (p1), align 4, addrspace 3)504    ; GFX9-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ2_B32_gfx9_]]505    ;506    ; GFX10-LABEL: name: load_local_p1_align4507    ; GFX10: liveins: $vgpr0508    ; GFX10-NEXT: {{  $}}509    ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0510    ; GFX10-NEXT: [[DS_READ2_B32_gfx9_:%[0-9]+]]:vreg_64 = DS_READ2_B32_gfx9 [[COPY]], 0, 1, 0, implicit $exec :: (load (p1), align 4, addrspace 3)511    ; GFX10-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ2_B32_gfx9_]]512    %0:vgpr(p3) = COPY $vgpr0513    %1:vgpr(p1) = G_LOAD %0 :: (load (p1), align 4, addrspace 3)514    $vgpr0_vgpr1 = COPY %1515 516...517 518---519 520name: load_local_p999_from_8521legalized:       true522regBankSelected: true523tracksRegLiveness: true524 525body: |526  bb.0:527    liveins:  $vgpr0528 529    ; GFX6-LABEL: name: load_local_p999_from_8530    ; GFX6: liveins: $vgpr0531    ; GFX6-NEXT: {{  $}}532    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr(p3) = COPY $vgpr0533    ; GFX6-NEXT: $m0 = S_MOV_B32 -1534    ; GFX6-NEXT: [[LOAD:%[0-9]+]]:vreg_64(p999) = G_LOAD [[COPY]](p3) :: (load (p999), addrspace 3)535    ; GFX6-NEXT: $vgpr0_vgpr1 = COPY [[LOAD]](p999)536    ;537    ; GFX7-LABEL: name: load_local_p999_from_8538    ; GFX7: liveins: $vgpr0539    ; GFX7-NEXT: {{  $}}540    ; GFX7-NEXT: [[COPY:%[0-9]+]]:vgpr(p3) = COPY $vgpr0541    ; GFX7-NEXT: $m0 = S_MOV_B32 -1542    ; GFX7-NEXT: [[LOAD:%[0-9]+]]:vreg_64(p999) = G_LOAD [[COPY]](p3) :: (load (p999), addrspace 3)543    ; GFX7-NEXT: $vgpr0_vgpr1 = COPY [[LOAD]](p999)544    ;545    ; GFX9-LABEL: name: load_local_p999_from_8546    ; GFX9: liveins: $vgpr0547    ; GFX9-NEXT: {{  $}}548    ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr(p3) = COPY $vgpr0549    ; GFX9-NEXT: [[LOAD:%[0-9]+]]:vreg_64(p999) = G_LOAD [[COPY]](p3) :: (load (p999), addrspace 3)550    ; GFX9-NEXT: $vgpr0_vgpr1 = COPY [[LOAD]](p999)551    ;552    ; GFX10-LABEL: name: load_local_p999_from_8553    ; GFX10: liveins: $vgpr0554    ; GFX10-NEXT: {{  $}}555    ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr(p3) = COPY $vgpr0556    ; GFX10-NEXT: [[LOAD:%[0-9]+]]:vreg_64(p999) = G_LOAD [[COPY]](p3) :: (load (p999), addrspace 3)557    ; GFX10-NEXT: $vgpr0_vgpr1 = COPY [[LOAD]](p999)558    %0:vgpr(p3) = COPY $vgpr0559    %1:vgpr(p999) = G_LOAD %0 :: (load (p999), align 8, addrspace 3)560    $vgpr0_vgpr1 = COPY %1561 562...563 564---565 566name: load_local_v2p3567legalized:       true568regBankSelected: true569tracksRegLiveness: true570 571body: |572  bb.0:573    liveins:  $vgpr0574 575    ; GFX6-LABEL: name: load_local_v2p3576    ; GFX6: liveins: $vgpr0577    ; GFX6-NEXT: {{  $}}578    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0579    ; GFX6-NEXT: $m0 = S_MOV_B32 -1580    ; GFX6-NEXT: [[DS_READ_B64_:%[0-9]+]]:vreg_64 = DS_READ_B64 [[COPY]], 0, 0, implicit $m0, implicit $exec :: (load (<2 x s32>), addrspace 3)581    ; GFX6-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ_B64_]]582    ;583    ; GFX7-LABEL: name: load_local_v2p3584    ; GFX7: liveins: $vgpr0585    ; GFX7-NEXT: {{  $}}586    ; GFX7-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0587    ; GFX7-NEXT: $m0 = S_MOV_B32 -1588    ; GFX7-NEXT: [[DS_READ_B64_:%[0-9]+]]:vreg_64 = DS_READ_B64 [[COPY]], 0, 0, implicit $m0, implicit $exec :: (load (<2 x s32>), addrspace 3)589    ; GFX7-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ_B64_]]590    ;591    ; GFX9-LABEL: name: load_local_v2p3592    ; GFX9: liveins: $vgpr0593    ; GFX9-NEXT: {{  $}}594    ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0595    ; GFX9-NEXT: [[DS_READ_B64_gfx9_:%[0-9]+]]:vreg_64 = DS_READ_B64_gfx9 [[COPY]], 0, 0, implicit $exec :: (load (<2 x s32>), addrspace 3)596    ; GFX9-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ_B64_gfx9_]]597    ;598    ; GFX10-LABEL: name: load_local_v2p3599    ; GFX10: liveins: $vgpr0600    ; GFX10-NEXT: {{  $}}601    ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0602    ; GFX10-NEXT: [[DS_READ_B64_gfx9_:%[0-9]+]]:vreg_64 = DS_READ_B64_gfx9 [[COPY]], 0, 0, implicit $exec :: (load (<2 x s32>), addrspace 3)603    ; GFX10-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ_B64_gfx9_]]604    %0:vgpr(p3) = COPY $vgpr0605    %1:vgpr(<2 x s32>) = G_LOAD %0 :: (load (<2 x s32>), align 8, addrspace 3)606    %2:vgpr(<2 x p3>) = G_BITCAST %1(<2 x s32>)607    $vgpr0_vgpr1 = COPY %2608 609...610 611---612 613name: load_local_v2s16614legalized:       true615regBankSelected: true616tracksRegLiveness: true617 618body: |619  bb.0:620    liveins:  $vgpr0621 622    ; GFX6-LABEL: name: load_local_v2s16623    ; GFX6: liveins: $vgpr0624    ; GFX6-NEXT: {{  $}}625    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0626    ; GFX6-NEXT: $m0 = S_MOV_B32 -1627    ; GFX6-NEXT: [[DS_READ_B32_:%[0-9]+]]:vgpr_32 = DS_READ_B32 [[COPY]], 0, 0, implicit $m0, implicit $exec :: (load (<2 x s16>), addrspace 3)628    ; GFX6-NEXT: $vgpr0 = COPY [[DS_READ_B32_]]629    ;630    ; GFX7-LABEL: name: load_local_v2s16631    ; GFX7: liveins: $vgpr0632    ; GFX7-NEXT: {{  $}}633    ; GFX7-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0634    ; GFX7-NEXT: $m0 = S_MOV_B32 -1635    ; GFX7-NEXT: [[DS_READ_B32_:%[0-9]+]]:vgpr_32 = DS_READ_B32 [[COPY]], 0, 0, implicit $m0, implicit $exec :: (load (<2 x s16>), addrspace 3)636    ; GFX7-NEXT: $vgpr0 = COPY [[DS_READ_B32_]]637    ;638    ; GFX9-LABEL: name: load_local_v2s16639    ; GFX9: liveins: $vgpr0640    ; GFX9-NEXT: {{  $}}641    ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0642    ; GFX9-NEXT: [[DS_READ_B32_gfx9_:%[0-9]+]]:vgpr_32 = DS_READ_B32_gfx9 [[COPY]], 0, 0, implicit $exec :: (load (<2 x s16>), addrspace 3)643    ; GFX9-NEXT: $vgpr0 = COPY [[DS_READ_B32_gfx9_]]644    ;645    ; GFX10-LABEL: name: load_local_v2s16646    ; GFX10: liveins: $vgpr0647    ; GFX10-NEXT: {{  $}}648    ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0649    ; GFX10-NEXT: [[DS_READ_B32_gfx9_:%[0-9]+]]:vgpr_32 = DS_READ_B32_gfx9 [[COPY]], 0, 0, implicit $exec :: (load (<2 x s16>), addrspace 3)650    ; GFX10-NEXT: $vgpr0 = COPY [[DS_READ_B32_gfx9_]]651    %0:vgpr(p3) = COPY $vgpr0652    %1:vgpr(<2 x s16>) = G_LOAD %0 :: (load (<2 x s16>), align 4, addrspace 3)653    $vgpr0 = COPY %1654 655...656 657---658 659name: load_local_v4s16660legalized:       true661regBankSelected: true662tracksRegLiveness: true663 664body: |665  bb.0:666    liveins:  $vgpr0667 668    ; GFX6-LABEL: name: load_local_v4s16669    ; GFX6: liveins: $vgpr0670    ; GFX6-NEXT: {{  $}}671    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0672    ; GFX6-NEXT: $m0 = S_MOV_B32 -1673    ; GFX6-NEXT: [[DS_READ_B64_:%[0-9]+]]:vreg_64 = DS_READ_B64 [[COPY]], 0, 0, implicit $m0, implicit $exec :: (load (<4 x s16>), addrspace 3)674    ; GFX6-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ_B64_]]675    ;676    ; GFX7-LABEL: name: load_local_v4s16677    ; GFX7: liveins: $vgpr0678    ; GFX7-NEXT: {{  $}}679    ; GFX7-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0680    ; GFX7-NEXT: $m0 = S_MOV_B32 -1681    ; GFX7-NEXT: [[DS_READ_B64_:%[0-9]+]]:vreg_64 = DS_READ_B64 [[COPY]], 0, 0, implicit $m0, implicit $exec :: (load (<4 x s16>), addrspace 3)682    ; GFX7-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ_B64_]]683    ;684    ; GFX9-LABEL: name: load_local_v4s16685    ; GFX9: liveins: $vgpr0686    ; GFX9-NEXT: {{  $}}687    ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0688    ; GFX9-NEXT: [[DS_READ_B64_gfx9_:%[0-9]+]]:vreg_64 = DS_READ_B64_gfx9 [[COPY]], 0, 0, implicit $exec :: (load (<4 x s16>), addrspace 3)689    ; GFX9-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ_B64_gfx9_]]690    ;691    ; GFX10-LABEL: name: load_local_v4s16692    ; GFX10: liveins: $vgpr0693    ; GFX10-NEXT: {{  $}}694    ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0695    ; GFX10-NEXT: [[DS_READ_B64_gfx9_:%[0-9]+]]:vreg_64 = DS_READ_B64_gfx9 [[COPY]], 0, 0, implicit $exec :: (load (<4 x s16>), addrspace 3)696    ; GFX10-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ_B64_gfx9_]]697    %0:vgpr(p3) = COPY $vgpr0698    %1:vgpr(<4 x s16>) = G_LOAD %0 :: (load (<4 x s16>), align 8, addrspace 3)699    $vgpr0_vgpr1 = COPY %1700 701...702 703# ---704 705# name: load_local_v6s16706# legalized:       true707# regBankSelected: true708# tracksRegLiveness: true709# machineFunctionInfo:710#   scratchRSrcReg: $sgpr0_sgpr1_sgpr2_sgpr3711#   stackPtrOffsetReg: $sgpr32712 713# body: |714#   bb.0:715#     liveins:  $vgpr0716 717#     %0:vgpr(p3) = COPY $vgpr0718#     %1:vgpr(<6 x  s16>) = G_LOAD %0 :: (load (<6 x s16>), align 4, addrspace 3)719#     $vgpr0_vgpr1_vgpr2 = COPY %1720 721# ...722 723################################################################################724### Stress addressing modes725################################################################################726 727---728 729name: load_local_s32_from_1_gep_65535730legalized:       true731regBankSelected: true732tracksRegLiveness: true733 734body: |735  bb.0:736    liveins:  $vgpr0737 738    ; GFX6-LABEL: name: load_local_s32_from_1_gep_65535739    ; GFX6: liveins: $vgpr0740    ; GFX6-NEXT: {{  $}}741    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0742    ; GFX6-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 65535, implicit $exec743    ; GFX6-NEXT: [[V_ADD_CO_U32_e64_:%[0-9]+]]:vgpr_32, dead [[V_ADD_CO_U32_e64_1:%[0-9]+]]:sreg_64_xexec = V_ADD_CO_U32_e64 [[COPY]], [[V_MOV_B32_e32_]], 0, implicit $exec744    ; GFX6-NEXT: $m0 = S_MOV_B32 -1745    ; GFX6-NEXT: [[DS_READ_U8_:%[0-9]+]]:vgpr_32 = DS_READ_U8 [[V_ADD_CO_U32_e64_]], 0, 0, implicit $m0, implicit $exec :: (load (s8), addrspace 3)746    ; GFX6-NEXT: $vgpr0 = COPY [[DS_READ_U8_]]747    ;748    ; GFX7-LABEL: name: load_local_s32_from_1_gep_65535749    ; GFX7: liveins: $vgpr0750    ; GFX7-NEXT: {{  $}}751    ; GFX7-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0752    ; GFX7-NEXT: $m0 = S_MOV_B32 -1753    ; GFX7-NEXT: [[DS_READ_U8_:%[0-9]+]]:vgpr_32 = DS_READ_U8 [[COPY]], 65535, 0, implicit $m0, implicit $exec :: (load (s8), addrspace 3)754    ; GFX7-NEXT: $vgpr0 = COPY [[DS_READ_U8_]]755    ;756    ; GFX9-LABEL: name: load_local_s32_from_1_gep_65535757    ; GFX9: liveins: $vgpr0758    ; GFX9-NEXT: {{  $}}759    ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0760    ; GFX9-NEXT: [[DS_READ_U8_gfx9_:%[0-9]+]]:vgpr_32 = DS_READ_U8_gfx9 [[COPY]], 65535, 0, implicit $exec :: (load (s8), addrspace 3)761    ; GFX9-NEXT: $vgpr0 = COPY [[DS_READ_U8_gfx9_]]762    ;763    ; GFX10-LABEL: name: load_local_s32_from_1_gep_65535764    ; GFX10: liveins: $vgpr0765    ; GFX10-NEXT: {{  $}}766    ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0767    ; GFX10-NEXT: [[DS_READ_U8_gfx9_:%[0-9]+]]:vgpr_32 = DS_READ_U8_gfx9 [[COPY]], 65535, 0, implicit $exec :: (load (s8), addrspace 3)768    ; GFX10-NEXT: $vgpr0 = COPY [[DS_READ_U8_gfx9_]]769    %0:vgpr(p3) = COPY $vgpr0770    %1:vgpr(s32) = G_CONSTANT i32 65535771    %2:vgpr(p3) = G_PTR_ADD %0, %1772    %3:vgpr(s32) = G_LOAD %2 :: (load (s8), align 1, addrspace 3)773    $vgpr0 = COPY %3774 775...776 777---778 779name: load_local_s32_from_1_gep_65535_known_bits_base_address780legalized:       true781regBankSelected: true782tracksRegLiveness: true783 784body: |785  bb.0:786    liveins:  $vgpr0787 788    ; GFX6-LABEL: name: load_local_s32_from_1_gep_65535_known_bits_base_address789    ; GFX6: liveins: $vgpr0790    ; GFX6-NEXT: {{  $}}791    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0792    ; GFX6-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 2147483647, implicit $exec793    ; GFX6-NEXT: [[V_AND_B32_e64_:%[0-9]+]]:vgpr_32 = V_AND_B32_e64 [[COPY]], [[V_MOV_B32_e32_]], implicit $exec794    ; GFX6-NEXT: $m0 = S_MOV_B32 -1795    ; GFX6-NEXT: [[DS_READ_U8_:%[0-9]+]]:vgpr_32 = DS_READ_U8 [[V_AND_B32_e64_]], 65535, 0, implicit $m0, implicit $exec :: (load (s8), addrspace 3)796    ; GFX6-NEXT: $vgpr0 = COPY [[DS_READ_U8_]]797    ;798    ; GFX7-LABEL: name: load_local_s32_from_1_gep_65535_known_bits_base_address799    ; GFX7: liveins: $vgpr0800    ; GFX7-NEXT: {{  $}}801    ; GFX7-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0802    ; GFX7-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 2147483647, implicit $exec803    ; GFX7-NEXT: [[V_AND_B32_e64_:%[0-9]+]]:vgpr_32 = V_AND_B32_e64 [[COPY]], [[V_MOV_B32_e32_]], implicit $exec804    ; GFX7-NEXT: $m0 = S_MOV_B32 -1805    ; GFX7-NEXT: [[DS_READ_U8_:%[0-9]+]]:vgpr_32 = DS_READ_U8 [[V_AND_B32_e64_]], 65535, 0, implicit $m0, implicit $exec :: (load (s8), addrspace 3)806    ; GFX7-NEXT: $vgpr0 = COPY [[DS_READ_U8_]]807    ;808    ; GFX9-LABEL: name: load_local_s32_from_1_gep_65535_known_bits_base_address809    ; GFX9: liveins: $vgpr0810    ; GFX9-NEXT: {{  $}}811    ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0812    ; GFX9-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 2147483647, implicit $exec813    ; GFX9-NEXT: [[V_AND_B32_e64_:%[0-9]+]]:vgpr_32 = V_AND_B32_e64 [[COPY]], [[V_MOV_B32_e32_]], implicit $exec814    ; GFX9-NEXT: [[DS_READ_U8_gfx9_:%[0-9]+]]:vgpr_32 = DS_READ_U8_gfx9 [[V_AND_B32_e64_]], 65535, 0, implicit $exec :: (load (s8), addrspace 3)815    ; GFX9-NEXT: $vgpr0 = COPY [[DS_READ_U8_gfx9_]]816    ;817    ; GFX10-LABEL: name: load_local_s32_from_1_gep_65535_known_bits_base_address818    ; GFX10: liveins: $vgpr0819    ; GFX10-NEXT: {{  $}}820    ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0821    ; GFX10-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 2147483647, implicit $exec822    ; GFX10-NEXT: [[V_AND_B32_e64_:%[0-9]+]]:vgpr_32 = V_AND_B32_e64 [[COPY]], [[V_MOV_B32_e32_]], implicit $exec823    ; GFX10-NEXT: [[DS_READ_U8_gfx9_:%[0-9]+]]:vgpr_32 = DS_READ_U8_gfx9 [[V_AND_B32_e64_]], 65535, 0, implicit $exec :: (load (s8), addrspace 3)824    ; GFX10-NEXT: $vgpr0 = COPY [[DS_READ_U8_gfx9_]]825    %0:vgpr(s32) = COPY $vgpr0826    %1:vgpr(s32) = G_CONSTANT i32 2147483647827    %2:vgpr(s32) = G_AND %0, %1828    %3:vgpr(p3) = G_INTTOPTR %2829    %4:vgpr(s32) = G_CONSTANT i32 65535830    %5:vgpr(p3) = G_PTR_ADD %3, %4831    %6:vgpr(s32) = G_LOAD %5 :: (load (s8), align 1, addrspace 3)832    $vgpr0 = COPY %6833 834...835 836---837 838name: load_local_s32_from_1_gep_65536839legalized:       true840regBankSelected: true841tracksRegLiveness: true842 843body: |844  bb.0:845    liveins:  $vgpr0846 847    ; GFX6-LABEL: name: load_local_s32_from_1_gep_65536848    ; GFX6: liveins: $vgpr0849    ; GFX6-NEXT: {{  $}}850    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0851    ; GFX6-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 65536, implicit $exec852    ; GFX6-NEXT: [[V_ADD_CO_U32_e64_:%[0-9]+]]:vgpr_32, dead [[V_ADD_CO_U32_e64_1:%[0-9]+]]:sreg_64_xexec = V_ADD_CO_U32_e64 [[COPY]], [[V_MOV_B32_e32_]], 0, implicit $exec853    ; GFX6-NEXT: $m0 = S_MOV_B32 -1854    ; GFX6-NEXT: [[DS_READ_U8_:%[0-9]+]]:vgpr_32 = DS_READ_U8 [[V_ADD_CO_U32_e64_]], 0, 0, implicit $m0, implicit $exec :: (load (s8), addrspace 3)855    ; GFX6-NEXT: $vgpr0 = COPY [[DS_READ_U8_]]856    ;857    ; GFX7-LABEL: name: load_local_s32_from_1_gep_65536858    ; GFX7: liveins: $vgpr0859    ; GFX7-NEXT: {{  $}}860    ; GFX7-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0861    ; GFX7-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 65536, implicit $exec862    ; GFX7-NEXT: [[V_ADD_CO_U32_e64_:%[0-9]+]]:vgpr_32, dead [[V_ADD_CO_U32_e64_1:%[0-9]+]]:sreg_64_xexec = V_ADD_CO_U32_e64 [[COPY]], [[V_MOV_B32_e32_]], 0, implicit $exec863    ; GFX7-NEXT: $m0 = S_MOV_B32 -1864    ; GFX7-NEXT: [[DS_READ_U8_:%[0-9]+]]:vgpr_32 = DS_READ_U8 [[V_ADD_CO_U32_e64_]], 0, 0, implicit $m0, implicit $exec :: (load (s8), addrspace 3)865    ; GFX7-NEXT: $vgpr0 = COPY [[DS_READ_U8_]]866    ;867    ; GFX9-LABEL: name: load_local_s32_from_1_gep_65536868    ; GFX9: liveins: $vgpr0869    ; GFX9-NEXT: {{  $}}870    ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0871    ; GFX9-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 65536, implicit $exec872    ; GFX9-NEXT: [[V_ADD_U32_e64_:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[COPY]], [[V_MOV_B32_e32_]], 0, implicit $exec873    ; GFX9-NEXT: [[DS_READ_U8_gfx9_:%[0-9]+]]:vgpr_32 = DS_READ_U8_gfx9 [[V_ADD_U32_e64_]], 0, 0, implicit $exec :: (load (s8), addrspace 3)874    ; GFX9-NEXT: $vgpr0 = COPY [[DS_READ_U8_gfx9_]]875    ;876    ; GFX10-LABEL: name: load_local_s32_from_1_gep_65536877    ; GFX10: liveins: $vgpr0878    ; GFX10-NEXT: {{  $}}879    ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0880    ; GFX10-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 65536, implicit $exec881    ; GFX10-NEXT: [[V_ADD_U32_e64_:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[COPY]], [[V_MOV_B32_e32_]], 0, implicit $exec882    ; GFX10-NEXT: [[DS_READ_U8_gfx9_:%[0-9]+]]:vgpr_32 = DS_READ_U8_gfx9 [[V_ADD_U32_e64_]], 0, 0, implicit $exec :: (load (s8), addrspace 3)883    ; GFX10-NEXT: $vgpr0 = COPY [[DS_READ_U8_gfx9_]]884    %0:vgpr(p3) = COPY $vgpr0885    %1:vgpr(s32) = G_CONSTANT i32 65536886    %2:vgpr(p3) = G_PTR_ADD %0, %1887    %3:vgpr(s32) = G_LOAD %2 :: (load (s8), align 1, addrspace 3)888    $vgpr0 = COPY %3889 890...891 892---893 894name: load_local_s32_from_1_gep_m1895legalized:       true896regBankSelected: true897tracksRegLiveness: true898 899body: |900  bb.0:901    liveins:  $vgpr0902 903    ; GFX6-LABEL: name: load_local_s32_from_1_gep_m1904    ; GFX6: liveins: $vgpr0905    ; GFX6-NEXT: {{  $}}906    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0907    ; GFX6-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 -1, implicit $exec908    ; GFX6-NEXT: [[V_ADD_CO_U32_e64_:%[0-9]+]]:vgpr_32, dead [[V_ADD_CO_U32_e64_1:%[0-9]+]]:sreg_64_xexec = V_ADD_CO_U32_e64 [[COPY]], [[V_MOV_B32_e32_]], 0, implicit $exec909    ; GFX6-NEXT: $m0 = S_MOV_B32 -1910    ; GFX6-NEXT: [[DS_READ_U8_:%[0-9]+]]:vgpr_32 = DS_READ_U8 [[V_ADD_CO_U32_e64_]], 0, 0, implicit $m0, implicit $exec :: (load (s8), addrspace 3)911    ; GFX6-NEXT: $vgpr0 = COPY [[DS_READ_U8_]]912    ;913    ; GFX7-LABEL: name: load_local_s32_from_1_gep_m1914    ; GFX7: liveins: $vgpr0915    ; GFX7-NEXT: {{  $}}916    ; GFX7-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0917    ; GFX7-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 -1, implicit $exec918    ; GFX7-NEXT: [[V_ADD_CO_U32_e64_:%[0-9]+]]:vgpr_32, dead [[V_ADD_CO_U32_e64_1:%[0-9]+]]:sreg_64_xexec = V_ADD_CO_U32_e64 [[COPY]], [[V_MOV_B32_e32_]], 0, implicit $exec919    ; GFX7-NEXT: $m0 = S_MOV_B32 -1920    ; GFX7-NEXT: [[DS_READ_U8_:%[0-9]+]]:vgpr_32 = DS_READ_U8 [[V_ADD_CO_U32_e64_]], 0, 0, implicit $m0, implicit $exec :: (load (s8), addrspace 3)921    ; GFX7-NEXT: $vgpr0 = COPY [[DS_READ_U8_]]922    ;923    ; GFX9-LABEL: name: load_local_s32_from_1_gep_m1924    ; GFX9: liveins: $vgpr0925    ; GFX9-NEXT: {{  $}}926    ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0927    ; GFX9-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 -1, implicit $exec928    ; GFX9-NEXT: [[V_ADD_U32_e64_:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[COPY]], [[V_MOV_B32_e32_]], 0, implicit $exec929    ; GFX9-NEXT: [[DS_READ_U8_gfx9_:%[0-9]+]]:vgpr_32 = DS_READ_U8_gfx9 [[V_ADD_U32_e64_]], 0, 0, implicit $exec :: (load (s8), addrspace 3)930    ; GFX9-NEXT: $vgpr0 = COPY [[DS_READ_U8_gfx9_]]931    ;932    ; GFX10-LABEL: name: load_local_s32_from_1_gep_m1933    ; GFX10: liveins: $vgpr0934    ; GFX10-NEXT: {{  $}}935    ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0936    ; GFX10-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 -1, implicit $exec937    ; GFX10-NEXT: [[V_ADD_U32_e64_:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[COPY]], [[V_MOV_B32_e32_]], 0, implicit $exec938    ; GFX10-NEXT: [[DS_READ_U8_gfx9_:%[0-9]+]]:vgpr_32 = DS_READ_U8_gfx9 [[V_ADD_U32_e64_]], 0, 0, implicit $exec :: (load (s8), addrspace 3)939    ; GFX10-NEXT: $vgpr0 = COPY [[DS_READ_U8_gfx9_]]940    %0:vgpr(p3) = COPY $vgpr0941    %1:vgpr(s32) = G_CONSTANT i32 -1942    %2:vgpr(p3) = G_PTR_ADD %0, %1943    %3:vgpr(s32) = G_LOAD %2 :: (load (s8), align 1, addrspace 3)944    $vgpr0 = COPY %3945 946...947 948---949 950name: load_local_s64_align4_from_1_gep_1016951legalized:       true952regBankSelected: true953tracksRegLiveness: true954 955body: |956  bb.0:957    liveins:  $vgpr0_vgpr1958 959    ; GFX6-LABEL: name: load_local_s64_align4_from_1_gep_1016960    ; GFX6: liveins: $vgpr0_vgpr1961    ; GFX6-NEXT: {{  $}}962    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr(p3) = COPY $vgpr0963    ; GFX6-NEXT: [[C:%[0-9]+]]:vgpr(s32) = G_CONSTANT i32 1016964    ; GFX6-NEXT: [[PTR_ADD:%[0-9]+]]:vgpr(p3) = G_PTR_ADD [[COPY]], [[C]](s32)965    ; GFX6-NEXT: $m0 = S_MOV_B32 -1966    ; GFX6-NEXT: [[LOAD:%[0-9]+]]:vreg_64(s64) = G_LOAD [[PTR_ADD]](p3) :: (load (s64), align 4, addrspace 3)967    ; GFX6-NEXT: $vgpr0_vgpr1 = COPY [[LOAD]](s64)968    ;969    ; GFX7-LABEL: name: load_local_s64_align4_from_1_gep_1016970    ; GFX7: liveins: $vgpr0_vgpr1971    ; GFX7-NEXT: {{  $}}972    ; GFX7-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0973    ; GFX7-NEXT: $m0 = S_MOV_B32 -1974    ; GFX7-NEXT: [[DS_READ2_B32_:%[0-9]+]]:vreg_64 = DS_READ2_B32 [[COPY]], 254, 255, 0, implicit $m0, implicit $exec :: (load (s64), align 4, addrspace 3)975    ; GFX7-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ2_B32_]]976    ;977    ; GFX9-LABEL: name: load_local_s64_align4_from_1_gep_1016978    ; GFX9: liveins: $vgpr0_vgpr1979    ; GFX9-NEXT: {{  $}}980    ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0981    ; GFX9-NEXT: [[DS_READ2_B32_gfx9_:%[0-9]+]]:vreg_64 = DS_READ2_B32_gfx9 [[COPY]], 254, 255, 0, implicit $exec :: (load (s64), align 4, addrspace 3)982    ; GFX9-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ2_B32_gfx9_]]983    ;984    ; GFX10-LABEL: name: load_local_s64_align4_from_1_gep_1016985    ; GFX10: liveins: $vgpr0_vgpr1986    ; GFX10-NEXT: {{  $}}987    ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0988    ; GFX10-NEXT: [[DS_READ2_B32_gfx9_:%[0-9]+]]:vreg_64 = DS_READ2_B32_gfx9 [[COPY]], 254, 255, 0, implicit $exec :: (load (s64), align 4, addrspace 3)989    ; GFX10-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ2_B32_gfx9_]]990    %0:vgpr(p3) = COPY $vgpr0991    %1:vgpr(s32) = G_CONSTANT i32 1016992    %2:vgpr(p3) = G_PTR_ADD %0, %1993    %3:vgpr(s64) = G_LOAD %2 :: (load (s64), align 4, addrspace 3)994    $vgpr0_vgpr1 = COPY %3995 996...997 998---999 1000name: load_local_s64_align4_from_1_gep_10201001legalized:       true1002regBankSelected: true1003tracksRegLiveness: true1004 1005body: |1006  bb.0:1007    liveins:  $vgpr0_vgpr11008 1009    ; GFX6-LABEL: name: load_local_s64_align4_from_1_gep_10201010    ; GFX6: liveins: $vgpr0_vgpr11011    ; GFX6-NEXT: {{  $}}1012    ; GFX6-NEXT: [[COPY:%[0-9]+]]:vgpr(p3) = COPY $vgpr01013    ; GFX6-NEXT: [[C:%[0-9]+]]:vgpr(s32) = G_CONSTANT i32 10201014    ; GFX6-NEXT: [[PTR_ADD:%[0-9]+]]:vgpr(p3) = G_PTR_ADD [[COPY]], [[C]](s32)1015    ; GFX6-NEXT: $m0 = S_MOV_B32 -11016    ; GFX6-NEXT: [[LOAD:%[0-9]+]]:vreg_64(s64) = G_LOAD [[PTR_ADD]](p3) :: (load (s64), align 4, addrspace 3)1017    ; GFX6-NEXT: $vgpr0_vgpr1 = COPY [[LOAD]](s64)1018    ;1019    ; GFX7-LABEL: name: load_local_s64_align4_from_1_gep_10201020    ; GFX7: liveins: $vgpr0_vgpr11021    ; GFX7-NEXT: {{  $}}1022    ; GFX7-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01023    ; GFX7-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 1020, implicit $exec1024    ; GFX7-NEXT: [[V_ADD_CO_U32_e64_:%[0-9]+]]:vgpr_32, dead [[V_ADD_CO_U32_e64_1:%[0-9]+]]:sreg_64_xexec = V_ADD_CO_U32_e64 [[COPY]], [[V_MOV_B32_e32_]], 0, implicit $exec1025    ; GFX7-NEXT: $m0 = S_MOV_B32 -11026    ; GFX7-NEXT: [[DS_READ2_B32_:%[0-9]+]]:vreg_64 = DS_READ2_B32 [[V_ADD_CO_U32_e64_]], 0, 1, 0, implicit $m0, implicit $exec :: (load (s64), align 4, addrspace 3)1027    ; GFX7-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ2_B32_]]1028    ;1029    ; GFX9-LABEL: name: load_local_s64_align4_from_1_gep_10201030    ; GFX9: liveins: $vgpr0_vgpr11031    ; GFX9-NEXT: {{  $}}1032    ; GFX9-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01033    ; GFX9-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 1020, implicit $exec1034    ; GFX9-NEXT: [[V_ADD_U32_e64_:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[COPY]], [[V_MOV_B32_e32_]], 0, implicit $exec1035    ; GFX9-NEXT: [[DS_READ2_B32_gfx9_:%[0-9]+]]:vreg_64 = DS_READ2_B32_gfx9 [[V_ADD_U32_e64_]], 0, 1, 0, implicit $exec :: (load (s64), align 4, addrspace 3)1036    ; GFX9-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ2_B32_gfx9_]]1037    ;1038    ; GFX10-LABEL: name: load_local_s64_align4_from_1_gep_10201039    ; GFX10: liveins: $vgpr0_vgpr11040    ; GFX10-NEXT: {{  $}}1041    ; GFX10-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr01042    ; GFX10-NEXT: [[V_MOV_B32_e32_:%[0-9]+]]:vgpr_32 = V_MOV_B32_e32 1020, implicit $exec1043    ; GFX10-NEXT: [[V_ADD_U32_e64_:%[0-9]+]]:vgpr_32 = V_ADD_U32_e64 [[COPY]], [[V_MOV_B32_e32_]], 0, implicit $exec1044    ; GFX10-NEXT: [[DS_READ2_B32_gfx9_:%[0-9]+]]:vreg_64 = DS_READ2_B32_gfx9 [[V_ADD_U32_e64_]], 0, 1, 0, implicit $exec :: (load (s64), align 4, addrspace 3)1045    ; GFX10-NEXT: $vgpr0_vgpr1 = COPY [[DS_READ2_B32_gfx9_]]1046    %0:vgpr(p3) = COPY $vgpr01047    %1:vgpr(s32) = G_CONSTANT i32 10201048    %2:vgpr(p3) = G_PTR_ADD %0, %11049    %3:vgpr(s64) = G_LOAD %2 :: (load (s64), align 4, addrspace 3)1050    $vgpr0_vgpr1 = COPY %31051 1052...1053