brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.3 KiB · 3acd1b0 Raw
54 lines · plain
1; RUN: llc < %s -mtriple=amdgcn -mcpu=tonga | FileCheck %s -check-prefix=CHECK2 3; Test that buffer_load_format with VGPR resource descriptor is properly4; legalized.5 6; Uses the old buffer_load_format intrinsics that don't take pointer7; arguments.8 9; CHECK-LABEL: {{^}}test_none:10; CHECK: buffer_load_format_x v0, off, {{s\[[0-9]+:[0-9]+\]}}, 0{{$}}11define amdgpu_vs float @test_none(ptr addrspace(4) inreg %base, i32 %i) {12main_body:13  %ptr = getelementptr <4 x i32>, ptr addrspace(4) %base, i32 %i14  %tmp2 = load <4 x i32>, ptr addrspace(4) %ptr, align 3215  %tmp7 = call float @llvm.amdgcn.raw.buffer.load.format.f32(<4 x i32> %tmp2, i32 0, i32 0, i32 0)16  ret float %tmp717}18 19; CHECK-LABEL: {{^}}test_idxen:20; CHECK: buffer_load_format_x v0, {{v[0-9]+}}, {{s\[[0-9]+:[0-9]+\]}}, 0 idxen{{$}}21define amdgpu_vs float @test_idxen(ptr addrspace(4) inreg %base, i32 %i) {22main_body:23  %ptr = getelementptr <4 x i32>, ptr addrspace(4) %base, i32 %i24  %tmp2 = load <4 x i32>, ptr addrspace(4) %ptr, align 3225  %tmp7 = call float @llvm.amdgcn.struct.buffer.load.format.f32(<4 x i32> %tmp2, i32 poison, i32 0, i32 0, i32 0)26  ret float %tmp727}28 29; CHECK-LABEL: {{^}}test_offen:30; CHECK: buffer_load_format_x v0, {{v[0-9]+}}, {{s\[[0-9]+:[0-9]+\]}}, 0 offen{{$}}31define amdgpu_vs float @test_offen(ptr addrspace(4) inreg %base, i32 %i) {32main_body:33  %ptr = getelementptr <4 x i32>, ptr addrspace(4) %base, i32 %i34  %tmp2 = load <4 x i32>, ptr addrspace(4) %ptr, align 3235  %tmp7 = call float @llvm.amdgcn.raw.buffer.load.format.f32(<4 x i32> %tmp2, i32 poison, i32 0, i32 0)36  ret float %tmp737}38 39; CHECK-LABEL: {{^}}test_both:40; CHECK: buffer_load_format_x v0, {{v\[[0-9]+:[0-9]+\]}}, {{s\[[0-9]+:[0-9]+\]}}, 0 idxen offen{{$}}41define amdgpu_vs float @test_both(ptr addrspace(4) inreg %base, i32 %i) {42main_body:43  %ptr = getelementptr <4 x i32>, ptr addrspace(4) %base, i32 %i44  %tmp2 = load <4 x i32>, ptr addrspace(4) %ptr, align 3245  %tmp7 = call float @llvm.amdgcn.struct.buffer.load.format.f32(<4 x i32> %tmp2, i32 poison, i32 poison, i32 0, i32 0)46  ret float %tmp747}48 49declare float @llvm.amdgcn.struct.buffer.load.format.f32(<4 x i32>, i32, i32, i32, i32 immarg) #150declare float @llvm.amdgcn.raw.buffer.load.format.f32(<4 x i32>, i32, i32, i32 immarg) #151 52attributes #0 = { nounwind readnone }53attributes #1 = { nounwind readonly }54