brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · 54a6919 Raw
58 lines · plain
1; RUN: llc -mtriple=amdgcn < %s | FileCheck -check-prefix=FUNC %s2; RUN: llc -mtriple=amdgcn-amdhsa -mcpu=kaveri < %s | FileCheck -check-prefix=FUNC %s3; RUN: llc -mtriple=amdgcn -mcpu=tonga -mattr=-flat-for-global < %s | FileCheck -check-prefix=FUNC %s4; RUN: llc -mtriple=r600 -mcpu=redwood < %s | FileCheck --check-prefixes=EG,FUNC %s5 6; FIXME: This seems to not ever actually become an extload7; FUNC-LABEL: {{^}}global_anyext_load_i8:8; GCN: buffer_load_dword v{{[0-9]+}}9; GCN: buffer_store_dword v{{[0-9]+}}10 11; EG: MEM_RAT_CACHELESS STORE_RAW [[VAL:T[0-9]+.[XYZW]]],12; EG: VTX_READ_32 [[VAL]]13define amdgpu_kernel void @global_anyext_load_i8(ptr addrspace(1) nocapture noalias %out, ptr addrspace(1) nocapture noalias %src) nounwind {14  %load = load i32, ptr addrspace(1) %src15  %x = bitcast i32 %load to <4 x i8>16  store <4 x i8> %x, ptr addrspace(1) %out17  ret void18}19 20; FUNC-LABEL: {{^}}global_anyext_load_i16:21; GCN: buffer_load_dword v{{[0-9]+}}22; GCN: buffer_store_dword v{{[0-9]+}}23 24; EG: MEM_RAT_CACHELESS STORE_RAW [[VAL:T[0-9]+.[XYZW]]],25; EG: VTX_READ_32 [[VAL]]26define amdgpu_kernel void @global_anyext_load_i16(ptr addrspace(1) nocapture noalias %out, ptr addrspace(1) nocapture noalias %src) nounwind {27  %load = load i32, ptr addrspace(1) %src28  %x = bitcast i32 %load to <2 x i16>29  store <2 x i16> %x, ptr addrspace(1) %out30  ret void31}32 33; FUNC-LABEL: {{^}}local_anyext_load_i8:34; GCN: ds_read_b32 v{{[0-9]+}}35; GCN: ds_write_b32 v{{[0-9]+}}36 37; EG: LDS_READ_RET {{.*}}, [[VAL:T[0-9]+.[XYZW]]]38; EG: LDS_WRITE * [[VAL]]39define amdgpu_kernel void @local_anyext_load_i8(ptr addrspace(3) nocapture noalias %out, ptr addrspace(3) nocapture noalias %src) nounwind {40  %load = load i32, ptr addrspace(3) %src41  %x = bitcast i32 %load to <4 x i8>42  store <4 x i8> %x, ptr addrspace(3) %out43  ret void44}45 46; FUNC-LABEL: {{^}}local_anyext_load_i16:47; GCN: ds_read_b32 v{{[0-9]+}}48; GCN: ds_write_b32 v{{[0-9]+}}49 50; EG: LDS_READ_RET {{.*}}, [[VAL:T[0-9]+.[XYZW]]]51; EG: LDS_WRITE * [[VAL]]52define amdgpu_kernel void @local_anyext_load_i16(ptr addrspace(3) nocapture noalias %out, ptr addrspace(3) nocapture noalias %src) nounwind {53  %load = load i32, ptr addrspace(3) %src54  %x = bitcast i32 %load to <2 x i16>55  store <2 x i16> %x, ptr addrspace(3) %out56  ret void57}58