117 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 52# RUN: llc -mtriple=amdgcn -mcpu=gfx90a -verify-machineinstrs -run-pass si-load-store-opt -o - %s | FileCheck -enable-var-scope -check-prefix=GCN %s3 4---5name: ds_read_b32_v_v6body: |7 bb.0:8 9 ; GCN-LABEL: name: ds_read_b32_v_v10 ; GCN: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF11 ; GCN-NEXT: [[DS_READ2_B32_gfx9_:%[0-9]+]]:vreg_64_align2 = DS_READ2_B32_gfx9 [[DEF]], 0, 2, 0, implicit $exec :: (load (s32) from `ptr addrspace(3) poison`, addrspace 3)12 ; GCN-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY [[DS_READ2_B32_gfx9_]].sub013 ; GCN-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY killed [[DS_READ2_B32_gfx9_]].sub114 %0:vgpr_32 = IMPLICIT_DEF15 %1:vgpr_32 = DS_READ_B32_gfx9 %0, 0, 0, implicit $exec :: (load (s32) from `ptr addrspace(3) poison`)16 %2:vgpr_32 = DS_READ_B32_gfx9 %0, 8, 0, implicit $exec :: (load (s32) from `ptr addrspace(3) poison`)17...18---19name: ds_read_b32_a_a20body: |21 bb.0:22 23 ; GCN-LABEL: name: ds_read_b32_a_a24 ; GCN: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF25 ; GCN-NEXT: [[DS_READ2_B32_gfx9_:%[0-9]+]]:areg_64_align2 = DS_READ2_B32_gfx9 [[DEF]], 0, 2, 0, implicit $exec :: (load (s32) from `ptr addrspace(3) poison`, addrspace 3)26 ; GCN-NEXT: [[COPY:%[0-9]+]]:agpr_32 = COPY [[DS_READ2_B32_gfx9_]].sub027 ; GCN-NEXT: [[COPY1:%[0-9]+]]:agpr_32 = COPY killed [[DS_READ2_B32_gfx9_]].sub128 %0:vgpr_32 = IMPLICIT_DEF29 %1:agpr_32 = DS_READ_B32_gfx9 %0, 0, 0, implicit $exec :: (load (s32) from `ptr addrspace(3) poison`)30 %2:agpr_32 = DS_READ_B32_gfx9 %0, 8, 0, implicit $exec :: (load (s32) from `ptr addrspace(3) poison`)31...32 33---34name: ds_read_b32_v_a35body: |36 bb.0:37 38 ; GCN-LABEL: name: ds_read_b32_v_a39 ; GCN: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF40 ; GCN-NEXT: [[DS_READ2_B32_gfx9_:%[0-9]+]]:vreg_64_align2 = DS_READ2_B32_gfx9 [[DEF]], 0, 2, 0, implicit $exec :: (load (s32) from `ptr addrspace(3) poison`, addrspace 3)41 ; GCN-NEXT: [[COPY:%[0-9]+]]:vgpr_32 = COPY [[DS_READ2_B32_gfx9_]].sub042 ; GCN-NEXT: [[COPY1:%[0-9]+]]:agpr_32 = COPY killed [[DS_READ2_B32_gfx9_]].sub143 %0:vgpr_32 = IMPLICIT_DEF44 %1:vgpr_32 = DS_READ_B32_gfx9 %0, 0, 0, implicit $exec :: (load (s32) from `ptr addrspace(3) poison`)45 %2:agpr_32 = DS_READ_B32_gfx9 %0, 8, 0, implicit $exec :: (load (s32) from `ptr addrspace(3) poison`)46...47 48---49name: ds_read_b32_a_v50body: |51 bb.0:52 53 ; GCN-LABEL: name: ds_read_b32_a_v54 ; GCN: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF55 ; GCN-NEXT: [[DS_READ2_B32_gfx9_:%[0-9]+]]:areg_64_align2 = DS_READ2_B32_gfx9 [[DEF]], 0, 2, 0, implicit $exec :: (load (s32) from `ptr addrspace(3) poison`, addrspace 3)56 ; GCN-NEXT: [[COPY:%[0-9]+]]:agpr_32 = COPY [[DS_READ2_B32_gfx9_]].sub157 ; GCN-NEXT: [[COPY1:%[0-9]+]]:vgpr_32 = COPY killed [[DS_READ2_B32_gfx9_]].sub058 %0:vgpr_32 = IMPLICIT_DEF59 %1:agpr_32 = DS_READ_B32_gfx9 %0, 8, 0, implicit $exec :: (load (s32) from `ptr addrspace(3) poison`)60 %2:vgpr_32 = DS_READ_B32_gfx9 %0, 0, 0, implicit $exec :: (load (s32) from `ptr addrspace(3) poison`)61...62 63---64name: ds_write_b32_v_v65body: |66 bb.0:67 68 ; GCN-LABEL: name: ds_write_b32_v_v69 ; GCN: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF70 ; GCN-NEXT: DS_WRITE2_B32_gfx9 [[DEF]], undef %1:vgpr_32, undef %2:vgpr_32, 0, 2, 0, implicit $exec :: (store (s32) into `ptr addrspace(3) poison`, addrspace 3)71 %0:vgpr_32 = IMPLICIT_DEF72 DS_WRITE_B32_gfx9 %0, undef %1:vgpr_32, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(3) poison`)73 DS_WRITE_B32_gfx9 %0, undef %2:vgpr_32, 8, 0, implicit $exec :: (store (s32) into `ptr addrspace(3) poison`)74...75 76---77name: ds_write_b32_a_a78body: |79 bb.0:80 81 ; GCN-LABEL: name: ds_write_b32_a_a82 ; GCN: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF83 ; GCN-NEXT: DS_WRITE_B32_gfx9 [[DEF]], undef %1:agpr_32, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(3) poison`, addrspace 3)84 ; GCN-NEXT: DS_WRITE_B32_gfx9 [[DEF]], undef %2:agpr_32, 8, 0, implicit $exec :: (store (s32) into `ptr addrspace(3) poison`, addrspace 3)85 %0:vgpr_32 = IMPLICIT_DEF86 DS_WRITE_B32_gfx9 %0, undef %1:agpr_32, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(3) poison`)87 DS_WRITE_B32_gfx9 %0, undef %2:agpr_32, 8, 0, implicit $exec :: (store (s32) into `ptr addrspace(3) poison`)88...89 90---91name: ds_write_b32_v_a92body: |93 bb.0:94 95 ; GCN-LABEL: name: ds_write_b32_v_a96 ; GCN: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF97 ; GCN-NEXT: DS_WRITE_B32_gfx9 [[DEF]], undef %1:vgpr_32, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(3) poison`, addrspace 3)98 ; GCN-NEXT: DS_WRITE_B32_gfx9 [[DEF]], undef %2:agpr_32, 8, 0, implicit $exec :: (store (s32) into `ptr addrspace(3) poison`, addrspace 3)99 %0:vgpr_32 = IMPLICIT_DEF100 DS_WRITE_B32_gfx9 %0, undef %1:vgpr_32, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(3) poison`)101 DS_WRITE_B32_gfx9 %0, undef %2:agpr_32, 8, 0, implicit $exec :: (store (s32) into `ptr addrspace(3) poison`)102...103 104---105name: ds_write_b32_a_v106body: |107 bb.0:108 109 ; GCN-LABEL: name: ds_write_b32_a_v110 ; GCN: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF111 ; GCN-NEXT: DS_WRITE_B32_gfx9 [[DEF]], undef %1:agpr_32, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(3) poison`, addrspace 3)112 ; GCN-NEXT: DS_WRITE_B32_gfx9 [[DEF]], undef %2:vgpr_32, 8, 0, implicit $exec :: (store (s32) into `ptr addrspace(3) poison`, addrspace 3)113 %0:vgpr_32 = IMPLICIT_DEF114 DS_WRITE_B32_gfx9 %0, undef %1:agpr_32, 0, 0, implicit $exec :: (store (s32) into `ptr addrspace(3) poison`)115 DS_WRITE_B32_gfx9 %0, undef %2:vgpr_32, 8, 0, implicit $exec :: (store (s32) into `ptr addrspace(3) poison`)116...117