28 lines · plain
1; RUN: llc -mtriple=amdgcn -mcpu=gfx900 < %s | FileCheck %s2; RUN: llc -mtriple=amdgcn -mcpu=gfx1010 < %s | FileCheck %s3; RUN: llc -mtriple=amdgcn -mcpu=gfx1100 < %s | FileCheck %s4 5@g = protected local_unnamed_addr addrspace(4) externally_initialized global i32 0, align 46 7; CHECK-LABEL: rel32_neg_offset:8; CHECK: s_getpc_b64 s[[[LO:[0-9]+]]:[[HI:[0-9]+]]]9; CHECK-NEXT: s_add_u32 s[[LO]], s[[LO]], g@rel32@lo+410; CHECK-NEXT: s_addc_u32 s[[HI]], s[[HI]], g@rel32@hi+1211; CHECK-NEXT: s_add_u32 s[[LO]], s[[LO]], -1612; CHECK-NEXT: s_addc_u32 s[[HI]], s[[HI]], -113define ptr addrspace(4) @rel32_neg_offset() {14 %r = getelementptr i32, ptr addrspace(4) @g, i64 -415 ret ptr addrspace(4) %r16}17 18; CHECK-LABEL: rel32_large_offset:19; CHECK: s_getpc_b64 s[[[LO:[0-9]+]]:[[HI:[0-9]+]]]20; CHECK-NEXT: s_add_u32 s[[LO]], s[[LO]], g@rel32@lo+421; CHECK-NEXT: s_addc_u32 s[[HI]], s[[HI]], g@rel32@hi+1222; CHECK-NEXT: s_add_u32 s[[LO]], s[[LO]], 0x502f900023; CHECK-NEXT: s_addc_u32 s[[HI]], s[[HI]], 924define ptr addrspace(4) @rel32_large_offset() {25 %r = getelementptr i32, ptr addrspace(4) @g, i64 1000000000026 ret ptr addrspace(4) %r27}28