brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.4 KiB · e4a0465 Raw
215 lines · plain
1; RUN: llc -mtriple=amdgcn-- -mcpu=verde < %s | FileCheck -check-prefixes=GCN,SICIVI,FUNC %s2; RUN: llc -mtriple=amdgcn-- -mcpu=tonga < %s | FileCheck -check-prefixes=GCN,SICIVI,VI,FUNC %s3; RUN: llc -mtriple=amdgcn-- -mcpu=gfx900 < %s | FileCheck -check-prefixes=GCN,GFX9,FUNC %s4; RUN: llc -mtriple=r600-- -mcpu=redwood < %s | FileCheck -check-prefixes=EG,FUNC %s5; RUN: llc -mtriple=r600-- -mcpu=cayman < %s | FileCheck -check-prefixes=CM,FUNC %s6 7; FUNC-LABEL: {{^}}store_local_i1:8; SICIVI: s_mov_b32 m09; GFX9-NOT: m010 11; EG: LDS_BYTE_WRITE12 13; CM: LDS_BYTE_WRITE14 15; GCN: ds_write_b816define amdgpu_kernel void @store_local_i1(ptr addrspace(3) %out) {17entry:18  store i1 true, ptr addrspace(3) %out19  ret void20}21 22; FUNC-LABEL: {{^}}store_local_i8:23; SICIVI: s_mov_b32 m024; GFX9-NOT: m025 26; EG: LDS_BYTE_WRITE27 28; CM: LDS_BYTE_WRITE29 30; GCN: ds_write_b831define amdgpu_kernel void @store_local_i8(ptr addrspace(3) %out, i8 %in) {32  store i8 %in, ptr addrspace(3) %out33  ret void34}35 36; FUNC-LABEL: {{^}}store_local_i16:37; SICIVI: s_mov_b32 m038; GFX9-NOT: m039 40; EG: LDS_SHORT_WRITE41 42; CM: LDS_SHORT_WRITE43 44; GCN: ds_write_b1645define amdgpu_kernel void @store_local_i16(ptr addrspace(3) %out, i16 %in) {46  store i16 %in, ptr addrspace(3) %out47  ret void48}49 50; FUNC-LABEL: {{^}}store_local_v2i16:51; SICIVI: s_mov_b32 m052; GFX9-NOT: m053 54; EG: LDS_WRITE55 56; CM: LDS_WRITE57 58; GCN: ds_write_b3259define amdgpu_kernel void @store_local_v2i16(ptr addrspace(3) %out, <2 x i16> %in) {60entry:61  store <2 x i16> %in, ptr addrspace(3) %out62  ret void63}64 65; FUNC-LABEL: {{^}}store_local_v4i8:66; SICIVI: s_mov_b32 m067; GFX9-NOT: m068 69; EG: LDS_WRITE70 71; CM: LDS_WRITE72 73; GCN: ds_write_b3274define amdgpu_kernel void @store_local_v4i8(ptr addrspace(3) %out, <4 x i8> %in) {75entry:76  store <4 x i8> %in, ptr addrspace(3) %out77  ret void78}79 80; FUNC-LABEL: {{^}}store_local_v4i8_unaligned:81; SICIVI: s_mov_b32 m082; GFX9-NOT: m083 84; EG: LDS_BYTE_WRITE85; EG: LDS_BYTE_WRITE86; EG: LDS_BYTE_WRITE87; EG: LDS_BYTE_WRITE88; EG-NOT: LDS_WRITE89 90; CM: LDS_BYTE_WRITE91; CM: LDS_BYTE_WRITE92; CM: LDS_BYTE_WRITE93; CM: LDS_BYTE_WRITE94; CM-NOT: LDS_WRITE95 96; GCN: ds_write_b897; GCN: ds_write_b898; GCN: ds_write_b899; GCN: ds_write_b8100define amdgpu_kernel void @store_local_v4i8_unaligned(ptr addrspace(3) %out, <4 x i8> %in) {101entry:102  store <4 x i8> %in, ptr addrspace(3) %out, align 1103  ret void104}105 106; FUNC-LABEL: {{^}}store_local_v4i8_halfaligned:107; SICIVI: s_mov_b32 m0108; GFX9-NOT: m0109 110; EG: LDS_SHORT_WRITE111; EG: LDS_SHORT_WRITE112; EG-NOT: LDS_WRITE113 114; CM: LDS_SHORT_WRITE115; CM: LDS_SHORT_WRITE116; CM-NOT: LDS_WRITE117 118; GCN: ds_write_b16119; GCN: ds_write_b16120define amdgpu_kernel void @store_local_v4i8_halfaligned(ptr addrspace(3) %out, <4 x i8> %in) {121entry:122  store <4 x i8> %in, ptr addrspace(3) %out, align 2123  ret void124}125 126; FUNC-LABEL: {{^}}store_local_v2i32:127; SICIVI: s_mov_b32 m0128; GFX9-NOT: m0129 130; EG: LDS_WRITE131; EG: LDS_WRITE132; EG-NOT: LDS_WRITE133 134; CM: LDS_WRITE135; CM: LDS_WRITE136; CM-NOT: LDS_WRITE137 138; GCN: ds_write_b64139define amdgpu_kernel void @store_local_v2i32(ptr addrspace(3) %out, <2 x i32> %in) {140entry:141  store <2 x i32> %in, ptr addrspace(3) %out142  ret void143}144 145; FUNC-LABEL: {{^}}store_local_v4i32:146; SICIVI: s_mov_b32 m0147; GFX9-NOT: m0148 149; EG: LDS_WRITE150; EG: LDS_WRITE151; EG: LDS_WRITE152; EG: LDS_WRITE153 154; CM: LDS_WRITE155; CM: LDS_WRITE156; CM: LDS_WRITE157; CM: LDS_WRITE158 159; SI: ds_write2_b32160; VI: ds_write_b128161; GFX9: ds_write_b128162define amdgpu_kernel void @store_local_v4i32(ptr addrspace(3) %out, <4 x i32> %in) {163entry:164  store <4 x i32> %in, ptr addrspace(3) %out165  ret void166}167 168; FUNC-LABEL: {{^}}store_local_v4i32_align4:169; SICIVI: s_mov_b32 m0170; GFX9-NOT: m0171 172; EG: LDS_WRITE173; EG: LDS_WRITE174; EG: LDS_WRITE175; EG: LDS_WRITE176 177; CM: LDS_WRITE178; CM: LDS_WRITE179; CM: LDS_WRITE180; CM: LDS_WRITE181 182; GCN: ds_write2_b32183; GCN: ds_write2_b32184define amdgpu_kernel void @store_local_v4i32_align4(ptr addrspace(3) %out, <4 x i32> %in) {185entry:186  store <4 x i32> %in, ptr addrspace(3) %out, align 4187  ret void188}189 190; FUNC-LABEL: {{^}}store_local_i64_i8:191; SICIVI: s_mov_b32 m0192; GFX9-NOT: m0193 194; EG: LDS_BYTE_WRITE195; GCN: ds_write_b8196define amdgpu_kernel void @store_local_i64_i8(ptr addrspace(3) %out, i64 %in) {197entry:198  %0 = trunc i64 %in to i8199  store i8 %0, ptr addrspace(3) %out200  ret void201}202 203; FUNC-LABEL: {{^}}store_local_i64_i16:204; SICIVI: s_mov_b32 m0205; GFX9-NOT: m0206 207; EG: LDS_SHORT_WRITE208; GCN: ds_write_b16209define amdgpu_kernel void @store_local_i64_i16(ptr addrspace(3) %out, i64 %in) {210entry:211  %0 = trunc i64 %in to i16212  store i16 %0, ptr addrspace(3) %out213  ret void214}215