58 lines · plain
1; RUN: llc -global-isel=0 -mtriple=amdgcn--amdhsa < %s | FileCheck -check-prefix=GCN %s2; RUN: llc -global-isel -new-reg-bank-select -mtriple=amdgcn--amdhsa < %s | FileCheck -check-prefix=GCN %s3 4declare i64 @llvm.amdgcn.dispatch.id() #15 6; GCN-LABEL: {{^}}dispatch_id:7; GCN-DAG: v_mov_b32_e32 v[[LO:[0-9]+]], s108; GCN-DAG: v_mov_b32_e32 v[[HI:[0-9]+]], s119; GCN: flat_store_dwordx2 v{{\[[0-9]+:[0-9]+\]}}, v[[[LO]]:[[HI]]]10; GCN: .amdhsa_user_sgpr_dispatch_id 111define amdgpu_kernel void @dispatch_id(ptr addrspace(1) %out) #0 {12 %tmp0 = call i64 @llvm.amdgcn.dispatch.id()13 store i64 %tmp0, ptr addrspace(1) %out14 ret void15}16 17; GCN-LABEL: {{^}}dispatch_id_opt0:18; GCN-DAG: v_mov_b32_e32 v[[LO:[0-9]+]], s819; GCN-DAG: v_mov_b32_e32 v[[HI:[0-9]+]], s920; GCN: flat_store_dwordx2 v{{\[[0-9]+:[0-9]+\]}}, v[[[LO]]:[[HI]]]21; GCN: .amdhsa_user_sgpr_dispatch_id 122define amdgpu_kernel void @dispatch_id_opt0(ptr addrspace(1) %out) #2 {23 %tmp0 = call i64 @llvm.amdgcn.dispatch.id()24 store i64 %tmp0, ptr addrspace(1) %out25 ret void26}27 28; GCN-LABEL: {{^}}dispatch_id_opt1:29; GCN-DAG: v_mov_b32_e32 v[[LO:[0-9]+]], s630; GCN-DAG: v_mov_b32_e32 v[[HI:[0-9]+]], s731; GCN: flat_store_dwordx2 v{{\[[0-9]+:[0-9]+\]}}, v[[[LO]]:[[HI]]]32; GCN: .amdhsa_user_sgpr_dispatch_id 133define amdgpu_kernel void @dispatch_id_opt1(ptr addrspace(1) %out) #3 {34 %tmp0 = call i64 @llvm.amdgcn.dispatch.id()35 store i64 %tmp0, ptr addrspace(1) %out36 ret void37}38 39; GCN-LABEL: {{^}}dispatch_id_opt2:40; GCN-DAG: v_mov_b32_e32 v[[LO:[0-9]+]], s441; GCN-DAG: v_mov_b32_e32 v[[HI:[0-9]+]], s542; GCN: flat_store_dwordx2 v{{\[[0-9]+:[0-9]+\]}}, v[[[LO]]:[[HI]]]43; GCN: .amdhsa_user_sgpr_dispatch_id 144define amdgpu_kernel void @dispatch_id_opt2() #4 {45 %tmp0 = call i64 @llvm.amdgcn.dispatch.id()46 store i64 %tmp0, ptr addrspace(1) null47 ret void48}49 50attributes #0 = { nounwind }51attributes #1 = { nounwind readnone }52attributes #2 = { "amdgpu-no-dispatch-ptr" }53attributes #3 = { "amdgpu-no-dispatch-ptr" "amdgpu-no-queue-ptr" }54attributes #4 = { "amdgpu-no-dispatch-ptr" "amdgpu-no-queue-ptr" "amdgpu-no-implicitarg-ptr" }55 56!llvm.module.flags = !{!0}57!0 = !{i32 1, !"amdhsa_code_object_version", i32 400}58