AMDGPU: Fix crash with dispatch.ptr intrinsic with non-HSA target
[oota-llvm.git] / test / CodeGen / AMDGPU / llvm.amdgcn.dispatch.ptr.ll
1 ; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=kaveri -verify-machineinstrs < %s | FileCheck -check-prefix=GCN %s
2 ; RUN: not llc -mtriple=amdgcn-unknown-unknown -mcpu=kaveri -verify-machineinstrs < %s 2>&1 | FileCheck -check-prefix=ERROR %s
3
4 ; ERROR: error: unsupported hsa intrinsic without hsa target in test
5
6 ; GCN-LABEL: {{^}}test:
7 ; GCN: enable_sgpr_dispatch_ptr = 1
8 ; GCN: s_load_dword s{{[0-9]+}}, s[4:5], 0x0
9 define void @test(i32 addrspace(1)* %out) {
10   %dispatch_ptr = call noalias i8 addrspace(2)* @llvm.amdgcn.dispatch.ptr() #0
11   %header_ptr = bitcast i8 addrspace(2)* %dispatch_ptr to i32 addrspace(2)*
12   %value = load i32, i32 addrspace(2)* %header_ptr
13   store i32 %value, i32 addrspace(1)* %out
14   ret void
15 }
16
17 declare noalias i8 addrspace(2)* @llvm.amdgcn.dispatch.ptr() #0
18
19 attributes #0 = { readnone }