Index: lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp =================================================================== --- lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp +++ lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp @@ -120,6 +120,7 @@ case FK_Data_4: case FK_Data_8: case FK_PCRel_4: + case FK_SecRel_4: return Value; default: llvm_unreachable("unhandled fixup kind"); Index: test/CodeGen/AMDGPU/gv-const-addrspace.ll =================================================================== --- test/CodeGen/AMDGPU/gv-const-addrspace.ll +++ test/CodeGen/AMDGPU/gv-const-addrspace.ll @@ -2,11 +2,14 @@ ; RUN: llc -march=amdgcn -mcpu=tonga -verify-machineinstrs < %s | FileCheck -check-prefix=VI -check-prefix=GCN -check-prefix=FUNC %s ; RUN: llc -march=r600 -mcpu=redwood < %s | FileCheck -check-prefix=EG -check-prefix=FUNC %s ; RUN: llc -march=r600 -mcpu=cayman < %s | FileCheck -check-prefix=EG -check-prefix=FUNC %s +; RUN: llc -march=r600 -mcpu=cypress -filetype=obj < %s | llvm-readobj -relocations -symbols | FileCheck %s -check-prefix=EG-OBJ @b = internal addrspace(2) constant [1 x i16] [ i16 7 ], align 2 +; EG-OBJ-DAG: Name: b @float_gv = internal unnamed_addr addrspace(2) constant [5 x float] [float 0.0, float 1.0, float 2.0, float 3.0, float 4.0], align 4 +; EG-OBJ-DAG: Name: float_gv ; FUNC-LABEL: {{^}}float: ; GCN: s_load_dword @@ -24,6 +27,7 @@ } @i32_gv = internal unnamed_addr addrspace(2) constant [5 x i32] [i32 0, i32 1, i32 2, i32 3, i32 4], align 4 +; EG-OBJ-DAG: Name: i32_gv ; FUNC-LABEL: {{^}}i32: @@ -45,6 +49,7 @@ %struct.foo = type { float, [5 x i32] } @struct_foo_gv = internal unnamed_addr addrspace(2) constant [1 x %struct.foo] [ %struct.foo { float 16.0, [5 x i32] [i32 0, i32 1, i32 2, i32 3, i32 4] } ] +; EG-OBJ-DAG: Name: struct_foo_gv ; FUNC-LABEL: {{^}}struct_foo_gv_load: ; GCN: s_load_dword @@ -64,6 +69,7 @@ <1 x i32> , <1 x i32> , <1 x i32> ] +; EG-OBJ-DAG: Name: array_v1_gv ; FUNC-LABEL: {{^}}array_v1_gv_load: ; GCN: s_load_dword