blob: 88372873c6ee0c8866f1bf4ac82db31dd25219b9 [file] [log] [blame]
Matt Arsenault36b4b0b2017-08-07 18:30:35 +00001; RUN: llc -march=amdgcn -mcpu=tahiti -filetype=obj < %s | llvm-readobj -relocations -symbols | FileCheck %s -check-prefix=GCN
Jan Vesely3bc1af22016-06-25 18:24:16 +00002; RUN: llc -march=amdgcn -mcpu=tonga -filetype=obj < %s | llvm-readobj -relocations -symbols | FileCheck %s -check-prefix=GCN
3; RUN: llc -march=r600 -mcpu=cypress -filetype=obj < %s | llvm-readobj -relocations -symbols | FileCheck %s -check-prefix=EG
Matt Arsenaulte682a192014-06-14 04:26:05 +00004
Jan Vesely3bc1af22016-06-25 18:24:16 +00005; GCN: R_AMDGPU_REL32 extern_const_addrspace
6; EG: R_AMDGPU_ABS32 extern_const_addrspace
7
8; CHECK-DAG: Name: extern_const_addrspace
Yaxun Liu0124b542018-02-13 18:00:25 +00009@extern_const_addrspace = external unnamed_addr addrspace(4) constant [5 x i32], align 4
Matt Arsenaulte682a192014-06-14 04:26:05 +000010
Jan Vesely3bc1af22016-06-25 18:24:16 +000011; CHECK-DAG: Name: load_extern_const_init
Matt Arsenault3dbeefa2017-03-21 21:39:51 +000012define amdgpu_kernel void @load_extern_const_init(i32 addrspace(1)* %out) nounwind {
Yaxun Liu0124b542018-02-13 18:00:25 +000013 %val = load i32, i32 addrspace(4)* getelementptr ([5 x i32], [5 x i32] addrspace(4)* @extern_const_addrspace, i64 0, i64 3), align 4
Matt Arsenaulte682a192014-06-14 04:26:05 +000014 store i32 %val, i32 addrspace(1)* %out, align 4
15 ret void
16}
17
Jan Vesely3bc1af22016-06-25 18:24:16 +000018; CHECK-DAG: Name: undef_const_addrspace
Yaxun Liu0124b542018-02-13 18:00:25 +000019@undef_const_addrspace = unnamed_addr addrspace(4) constant [5 x i32] undef, align 4
Matt Arsenaulte682a192014-06-14 04:26:05 +000020
Jan Vesely3bc1af22016-06-25 18:24:16 +000021; CHECK-DAG: Name: undef_const_addrspace
Matt Arsenault3dbeefa2017-03-21 21:39:51 +000022define amdgpu_kernel void @load_undef_const_init(i32 addrspace(1)* %out) nounwind {
Yaxun Liu0124b542018-02-13 18:00:25 +000023 %val = load i32, i32 addrspace(4)* getelementptr ([5 x i32], [5 x i32] addrspace(4)* @undef_const_addrspace, i64 0, i64 3), align 4
Matt Arsenaulte682a192014-06-14 04:26:05 +000024 store i32 %val, i32 addrspace(1)* %out, align 4
25 ret void
26}