brintos

brintos / llvm-project-archived public Read only

0
0
Text · 8.3 KiB · 33f2105 Raw
211 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 52# RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx90a -run-pass=si-load-store-opt  -o - %s | FileCheck %s3 4---5name:            ds_write_b32__av32_x26body:             |7  bb.0:8  liveins: $vgpr0, $vgpr1, $vgpr29 10    ; CHECK-LABEL: name: ds_write_b32__av32_x211    ; CHECK: liveins: $vgpr0, $vgpr1, $vgpr212    ; CHECK-NEXT: {{  $}}13    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr014    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr115    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr216    ; CHECK-NEXT: DS_WRITE2_B32_gfx9 [[COPY]], [[COPY1]], [[COPY2]], 10, 24, 0, implicit $exec :: (store (s32), addrspace 3)17  %0:vgpr_32 = COPY $vgpr018  %1:av_32 = COPY $vgpr119  %2:av_32 = COPY $vgpr220  DS_WRITE_B32_gfx9 %0, %1, 40, 0, implicit $exec :: (store (s32), addrspace 3)21  DS_WRITE_B32_gfx9 %0, %2, 96, 0, implicit $exec :: (store (s32), addrspace 3)22 23...24 25---26name:            ds_write_b32__av32_x2_subregs_different_reg27body:             |28  bb.0:29  liveins: $vgpr0, $vgpr2_vgpr3, $vgpr4_vgpr530 31    ; CHECK-LABEL: name: ds_write_b32__av32_x2_subregs_different_reg32    ; CHECK: liveins: $vgpr0, $vgpr2_vgpr3, $vgpr4_vgpr533    ; CHECK-NEXT: {{  $}}34    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr035    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vreg_64_align2 = COPY $vgpr2_vgpr336    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vreg_64_align2 = COPY $vgpr4_vgpr537    ; CHECK-NEXT: DS_WRITE2_B32_gfx9 [[COPY]], [[COPY1]].sub0, [[COPY2]].sub1, 10, 24, 0, implicit $exec :: (store (s32), addrspace 3)38  %0:vgpr_32 = COPY $vgpr039  %1:av_64_align2 = COPY $vgpr2_vgpr340  %2:av_64_align2 = COPY $vgpr4_vgpr541  DS_WRITE_B32_gfx9 %0, %1.sub0, 40, 0, implicit $exec :: (store (s32), addrspace 3)42  DS_WRITE_B32_gfx9 %0, %2.sub1, 96, 0, implicit $exec :: (store (s32), addrspace 3)43 44...45 46---47name:            ds_write_b32__unaligned_av64_subregs48body:             |49  bb.0:50  liveins: $vgpr0, $vgpr1_vgpr2, $vgpr3_vgpr451 52    ; CHECK-LABEL: name: ds_write_b32__unaligned_av64_subregs53    ; CHECK: liveins: $vgpr0, $vgpr1_vgpr2, $vgpr3_vgpr454    ; CHECK-NEXT: {{  $}}55    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr056    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vreg_64 = COPY $vgpr1_vgpr257    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vreg_64 = COPY $vgpr3_vgpr458    ; CHECK-NEXT: DS_WRITE2_B32_gfx9 [[COPY]], [[COPY1]].sub0, [[COPY2]].sub1, 10, 24, 0, implicit $exec :: (store (s32), addrspace 3)59  %0:vgpr_32 = COPY $vgpr060  %1:av_64 = COPY $vgpr1_vgpr261  %2:av_64 = COPY $vgpr3_vgpr462  DS_WRITE_B32_gfx9 %0, %1.sub0, 40, 0, implicit $exec :: (store (s32), addrspace 3)63  DS_WRITE_B32_gfx9 %0, %2.sub1, 96, 0, implicit $exec :: (store (s32), addrspace 3)64 65...66 67---68name:            ds_write_b32__av32_x2_subregs_same_reg69body:             |70  bb.0:71  liveins: $vgpr0, $vgpr2_vgpr3, $vgpr4_vgpr572 73    ; CHECK-LABEL: name: ds_write_b32__av32_x2_subregs_same_reg74    ; CHECK: liveins: $vgpr0, $vgpr2_vgpr3, $vgpr4_vgpr575    ; CHECK-NEXT: {{  $}}76    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr077    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vreg_64_align2 = COPY $vgpr2_vgpr378    ; CHECK-NEXT: DS_WRITE2_B32_gfx9 [[COPY]], [[COPY1]].sub0, [[COPY1]].sub1, 10, 24, 0, implicit $exec :: (store (s32), addrspace 3)79  %0:vgpr_32 = COPY $vgpr080  %1:av_64_align2 = COPY $vgpr2_vgpr381  DS_WRITE_B32_gfx9 %0, %1.sub0, 40, 0, implicit $exec :: (store (s32), addrspace 3)82  DS_WRITE_B32_gfx9 %0, %1.sub1, 96, 0, implicit $exec :: (store (s32), addrspace 3)83 84...85 86---87name:            ds_write_b32__av32__vgpr3288body:             |89  bb.0:90  liveins: $vgpr0, $vgpr1, $vgpr291 92    ; CHECK-LABEL: name: ds_write_b32__av32__vgpr3293    ; CHECK: liveins: $vgpr0, $vgpr1, $vgpr294    ; CHECK-NEXT: {{  $}}95    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr096    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr197    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr298    ; CHECK-NEXT: DS_WRITE2_B32_gfx9 [[COPY]], [[COPY1]], [[COPY2]], 10, 24, 0, implicit $exec :: (store (s32), addrspace 3)99  %0:vgpr_32 = COPY $vgpr0100  %1:av_32 = COPY $vgpr1101  %2:vgpr_32 = COPY $vgpr2102  DS_WRITE_B32_gfx9 %0, %1, 40, 0, implicit $exec :: (store (s32), addrspace 3)103  DS_WRITE_B32_gfx9 %0, %2, 96, 0, implicit $exec :: (store (s32), addrspace 3)104 105...106 107---108name:            ds_write_b32__vgpr32__av32109body:             |110  bb.0:111  liveins: $vgpr0, $vgpr1, $vgpr2112 113    ; CHECK-LABEL: name: ds_write_b32__vgpr32__av32114    ; CHECK: liveins: $vgpr0, $vgpr1, $vgpr2115    ; CHECK-NEXT: {{  $}}116    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0117    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1118    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr2119    ; CHECK-NEXT: DS_WRITE2_B32_gfx9 [[COPY]], [[COPY1]], [[COPY2]], 10, 24, 0, implicit $exec :: (store (s32), addrspace 3)120  %0:vgpr_32 = COPY $vgpr0121  %1:vgpr_32 = COPY $vgpr1122  %2:av_32 = COPY $vgpr2123  DS_WRITE_B32_gfx9 %0, %1, 40, 0, implicit $exec :: (store (s32), addrspace 3)124  DS_WRITE_B32_gfx9 %0, %2, 96, 0, implicit $exec :: (store (s32), addrspace 3)125 126...127 128---129name:            ds_write_b64__av64_x2130body:             |131  bb.0:132  liveins: $vgpr0, $vgpr2_vgpr3, $vgpr4_vgpr5133 134    ; CHECK-LABEL: name: ds_write_b64__av64_x2135    ; CHECK: liveins: $vgpr0, $vgpr2_vgpr3, $vgpr4_vgpr5136    ; CHECK-NEXT: {{  $}}137    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0138    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vreg_64_align2 = COPY $vgpr2_vgpr3139    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vreg_64_align2 = COPY $vgpr4_vgpr5140    ; CHECK-NEXT: DS_WRITE2_B64_gfx9 [[COPY]], [[COPY1]], [[COPY2]], 5, 12, 0, implicit $exec :: (store (s64), addrspace 3)141  %0:vgpr_32 = COPY $vgpr0142  %1:av_64_align2 = COPY $vgpr2_vgpr3143  %2:av_64_align2 = COPY $vgpr4_vgpr5144  DS_WRITE_B64_gfx9 %0, %1, 40, 0, implicit $exec :: (store (s64), addrspace 3)145  DS_WRITE_B64_gfx9 %0, %2, 96, 0, implicit $exec :: (store (s64), addrspace 3)146 147...148 149---150name:            ds_write_b64__av64_x2_subregs151body:             |152  bb.0:153  liveins: $vgpr0, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr6_vgpr7_vgpr8_vgpr9154 155    ; CHECK-LABEL: name: ds_write_b64__av64_x2_subregs156    ; CHECK: liveins: $vgpr0, $vgpr2_vgpr3_vgpr4_vgpr5, $vgpr6_vgpr7_vgpr8_vgpr9157    ; CHECK-NEXT: {{  $}}158    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0159    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vreg_128_align2 = COPY $vgpr2_vgpr3_vgpr4_vgpr5160    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vreg_128_align2 = COPY $vgpr6_vgpr7_vgpr8_vgpr9161    ; CHECK-NEXT: DS_WRITE2_B64_gfx9 [[COPY]], [[COPY1]].sub2_sub3, [[COPY2]].sub2_sub3, 5, 12, 0, implicit $exec :: (store (s64), addrspace 3)162  %0:vgpr_32 = COPY $vgpr0163  %1:av_128_align2 = COPY $vgpr2_vgpr3_vgpr4_vgpr5164  %2:av_128_align2 = COPY $vgpr6_vgpr7_vgpr8_vgpr9165  DS_WRITE_B64_gfx9 %0, %1.sub2_sub3, 40, 0, implicit $exec :: (store (s64), addrspace 3)166  DS_WRITE_B64_gfx9 %0, %2.sub2_sub3, 96, 0, implicit $exec :: (store (s64), addrspace 3)167 168...169 170---171name:            ds_writest64_b32__av32_x2172body:             |173  bb.0:174  liveins: $vgpr0, $vgpr1, $vgpr2175 176    ; CHECK-LABEL: name: ds_writest64_b32__av32_x2177    ; CHECK: liveins: $vgpr0, $vgpr1, $vgpr2178    ; CHECK-NEXT: {{  $}}179    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0180    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY $vgpr1181    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vgpr_32 = COPY $vgpr2182    ; CHECK-NEXT: DS_WRITE2ST64_B32_gfx9 [[COPY]], [[COPY1]], [[COPY2]], 1, 3, 0, implicit $exec :: (store (s32), addrspace 3)183  %0:vgpr_32 = COPY $vgpr0184  %1:av_32 = COPY $vgpr1185  %2:av_32 = COPY $vgpr2186  DS_WRITE_B32_gfx9 %0, %1, 256, 0, implicit $exec :: (store (s32), addrspace 3)187  DS_WRITE_B32_gfx9 %0, %2, 768, 0, implicit $exec :: (store (s32), addrspace 3)188 189...190 191---192name:            ds_writest64_b64__av64_x2193body:             |194  bb.0:195  liveins: $vgpr0, $vgpr2_vgpr3, $vgpr4_vgpr5196 197    ; CHECK-LABEL: name: ds_writest64_b64__av64_x2198    ; CHECK: liveins: $vgpr0, $vgpr2_vgpr3, $vgpr4_vgpr5199    ; CHECK-NEXT: {{  $}}200    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0201    ; CHECK-NEXT: [[COPY1:%[0-9]+]]:vreg_64_align2 = COPY $vgpr2_vgpr3202    ; CHECK-NEXT: [[COPY2:%[0-9]+]]:vreg_64_align2 = COPY $vgpr4_vgpr5203    ; CHECK-NEXT: DS_WRITE2ST64_B64_gfx9 [[COPY]], [[COPY1]], [[COPY2]], 1, 3, 0, implicit $exec :: (store (s64), addrspace 3)204  %0:vgpr_32 = COPY $vgpr0205  %1:av_64_align2 = COPY $vgpr2_vgpr3206  %2:av_64_align2 = COPY $vgpr4_vgpr5207  DS_WRITE_B64_gfx9 %0, %1, 512, 0, implicit $exec :: (store (s64), addrspace 3)208  DS_WRITE_B64_gfx9 %0, %2, 1536, 0, implicit $exec :: (store (s64), addrspace 3)209 210...211