// RUN: llvm-mc -filetype=obj -triple amdgcn-- -mcpu=kaveri -show-encoding %s | llvm-readobj -relocations | FileCheck %s // CHECK: Relocations [ // CHECK: .rel.text { // CHECK: R_AMDGPU_ABS32_LO SCRATCH_RSRC_DWORD0 0x0 // CHECK: R_AMDGPU_ABS32_HI SCRATCH_RSRC_DWORD1 0x0 // CHECK: R_AMDGPU_GOTPCREL global_var0 0x0 // CHECK: R_AMDGPU_GOTPCREL32_LO global_var1 0x0 // CHECK: R_AMDGPU_GOTPCREL32_HI global_var2 0x0 // CHECK: R_AMDGPU_REL32_LO global_var3 0x0 // CHECK: R_AMDGPU_REL32_HI global_var4 0x0 // CHECK: R_AMDGPU_ABS32_LO SCRATCH_RSRC_DWORD0 0x0 // CHECK: R_AMDGPU_ABS32_HI SCRATCH_RSRC_DWORD1 0x0 // CHECK: R_AMDGPU_GOTPCREL global_var0 0x0 // CHECK: R_AMDGPU_GOTPCREL32_LO global_var1 0x0 // CHECK: R_AMDGPU_GOTPCREL32_HI global_var2 0x0 // CHECK: R_AMDGPU_REL32_LO global_var3 0x0 // CHECK: R_AMDGPU_REL32_HI global_var4 0x0 // CHECK: R_AMDGPU_ABS32 var 0x0 // CHECK: } // CHECK: .rel.data { // CHECK: R_AMDGPU_ABS64 temp 0x0 // CHECK: R_AMDGPU_REL64 temp 0x0 // CHECK: } // CHECK: ] kernel: s_mov_b32 s0, SCRATCH_RSRC_DWORD0 s_mov_b32 s1, SCRATCH_RSRC_DWORD1 s_mov_b32 s2, global_var0@GOTPCREL s_mov_b32 s3, global_var1@gotpcrel32@lo s_mov_b32 s4, global_var2@gotpcrel32@hi s_mov_b32 s5, global_var3@rel32@lo s_mov_b32 s6, global_var4@rel32@hi v_mov_b32 v0, SCRATCH_RSRC_DWORD0 v_mov_b32 v1, SCRATCH_RSRC_DWORD1 v_mov_b32 v2, global_var0@GOTPCREL v_mov_b32 v3, global_var1@gotpcrel32@lo v_mov_b32 v4, global_var2@gotpcrel32@hi v_mov_b32 v5, global_var3@rel32@lo v_mov_b32 v6, global_var4@rel32@hi .globl global_var0 .globl global_var1 .globl global_var2 .globl global_var3 .globl global_var4 .globl SCRATCH_RSRC_DWORD0 .section nonalloc, "w", @progbits .long var, common_var // 8 byte relocations .type ptr,@object .data .globl ptr .globl foo .p2align 3 ptr: .quad temp .size ptr, 8 foo: .quad temp@rel64 .size foo, 8