| ; RUN: not llvm-as %s --disable-output 2>&1 | FileCheck %s | |
| target triple = "amdgpu7.00-amd-amdhsa" | |
| ; A global variable is never allowed in addrspace(13) (VGPR). That address space | |
| ; is a view of one wave's vector registers, so it cannot provide the storage a | |
| ; global needs. Every other address space is left alone. | |
| ; CHECK: global variable on amdgpu must not be in addrspace(13) | |
| ; CHECK-NEXT: ptr addrspace(13) @gv.13 | |
| @gv.13 = addrspace(13) global i32 0, align 4 | |
| ; A declaration has no initializer, so this covers the path that returns early. | |
| ; CHECK: global variable on amdgpu must not be in addrspace(13) | |
| ; CHECK-NEXT: ptr addrspace(13) @gv.13.extern | |
| @gv.13.extern = external addrspace(13) global i32, align 4 | |
| ; CHECK: global variable on amdgpu must not be in addrspace(13) | |
| ; CHECK-NEXT: ptr addrspace(13) @gv.13.const | |
| @gv.13.const = addrspace(13) constant [4 x i32] zeroinitializer, align 4 | |
| ; CHECK-NOT: global variable on amdgpu | |
| @gv.0 = global i32 0, align 4 | |
| @gv.1 = addrspace(1) global i32 0, align 4 | |
| @gv.3 = addrspace(3) global i32 poison, align 4 | |
| @gv.4 = addrspace(4) constant i32 0, align 4 | |
| @gv.5 = addrspace(5) global i32 0, align 4 |