brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · ed7bd22 Raw
47 lines · plain
1; RUN: llc -mtriple=amdgcn-unknown-amdhsa < %s | FileCheck %s2; RUN: llc -mtriple=amdgcn-unknown-unknown < %s | FileCheck %s3 4; and can be eliminated5; CHECK-LABEL: {{^}}test_workitem_id_x_known_max_range:6; CHECK-NOT: v07; CHECK: {{flat|buffer}}_store_dword {{.*}}v08define amdgpu_kernel void @test_workitem_id_x_known_max_range(ptr addrspace(1) nocapture %out) #0 {9entry:10  %id = tail call i32 @llvm.amdgcn.workitem.id.x(), !range !011  %and = and i32 %id, 102312  store i32 %and, ptr addrspace(1) %out, align 413  ret void14}15 16; CHECK-LABEL: {{^}}test_workitem_id_x_known_trunc_1_bit_range:17; CHECK-NOT: v_and_b3218; CHECK: {{flat|buffer}}_store_dword {{.*}}v019define amdgpu_kernel void @test_workitem_id_x_known_trunc_1_bit_range(ptr addrspace(1) nocapture %out) #0 {20entry:21  %id = tail call i32 @llvm.amdgcn.workitem.id.x(), !range !022  %and = and i32 %id, 51123  store i32 %and, ptr addrspace(1) %out, align 424  ret void25}26 27; CHECK-LABEL: {{^}}test_workitem_id_x_known_max_range_m1:28; CHECK-NOT: v029; CHECK-NOT: v_and_b3230; CHECK: {{flat|buffer}}_store_dword {{.*}}v031define amdgpu_kernel void @test_workitem_id_x_known_max_range_m1(ptr addrspace(1) nocapture %out) #0 {32entry:33  %id = tail call i32 @llvm.amdgcn.workitem.id.x(), !range !134  %and = and i32 %id, 25535  store i32 %and, ptr addrspace(1) %out, align 436  ret void37}38 39 40declare i32 @llvm.amdgcn.workitem.id.x() #141 42attributes #0 = { norecurse nounwind "amdgpu-flat-work-group-size"="1,256" }43attributes #1 = { nounwind readnone }44 45!0 = !{i32 0, i32 1024}46!1 = !{i32 0, i32 1023}47