|  | ; RUN: llc < %s -mtriple=xcore -mcpu=xs1b-generic | FileCheck %s | 
|  | ; RUN: llc -mtriple=xcore -mcpu=xs1b-generic -filetype=null %s | 
|  |  | 
|  | define ptr @addr_G1() { | 
|  | entry: | 
|  | ; CHECK-LABEL: addr_G1: | 
|  | ; CHECK: ldaw r0, dp[G1] | 
|  | ret ptr @G1 | 
|  | } | 
|  |  | 
|  | define ptr @addr_G2() { | 
|  | entry: | 
|  | ; CHECK-LABEL: addr_G2: | 
|  | ; CHECK: ldaw r0, dp[G2] | 
|  | ret ptr @G2 | 
|  | } | 
|  |  | 
|  | define ptr @addr_G3() { | 
|  | entry: | 
|  | ; CHECK-LABEL: addr_G3: | 
|  | ; CHECK: ldaw r0, dp[G3] | 
|  | ret ptr @G3 | 
|  | } | 
|  |  | 
|  | define ptr @addr_iG3() { | 
|  | entry: | 
|  | ; CHECK-LABEL: addr_iG3: | 
|  | ; CHECK: ldaw r11, cp[iG3] | 
|  | ; CHECK: mov r0, r11 | 
|  | ret ptr @iG3 | 
|  | } | 
|  |  | 
|  | define ptr @addr_G4() { | 
|  | entry: | 
|  | ; CHECK-LABEL: addr_G4: | 
|  | ; CHECK: ldaw r0, dp[G4] | 
|  | ret ptr @G4 | 
|  | } | 
|  |  | 
|  | define ptr @addr_G5() { | 
|  | entry: | 
|  | ; CHECK-LABEL: addr_G5: | 
|  | ; CHECK: ldaw r0, dp[G5] | 
|  | ret ptr @G5 | 
|  | } | 
|  |  | 
|  | define ptr @addr_iG5() { | 
|  | entry: | 
|  | ; CHECK-LABEL: addr_iG5: | 
|  | ; CHECK: ldaw r11, cp[iG5] | 
|  | ; CHECK: mov r0, r11 | 
|  | ret ptr @iG5 | 
|  | } | 
|  |  | 
|  | define ptr @addr_G6() { | 
|  | entry: | 
|  | ; CHECK-LABEL: addr_G6: | 
|  | ; CHECK: ldaw r0, dp[G6] | 
|  | ret ptr @G6 | 
|  | } | 
|  |  | 
|  | define ptr @addr_G7() { | 
|  | entry: | 
|  | ; CHECK-LABEL: addr_G7: | 
|  | ; CHECK: ldaw r0, dp[G7] | 
|  | ret ptr @G7 | 
|  | } | 
|  |  | 
|  | define ptr @addr_iG7() { | 
|  | entry: | 
|  | ; CHECK-LABEL: addr_iG7: | 
|  | ; CHECK: ldaw r11, cp[iG7] | 
|  | ; CHECK: mov r0, r11 | 
|  | ret ptr @iG7 | 
|  | } | 
|  |  | 
|  | define ptr @addr_G8() { | 
|  | entry: | 
|  | ; CHECK-LABEL: addr_G8: | 
|  | ; CHECK: ldaw r0, dp[G8] | 
|  | ret ptr @G8 | 
|  | } | 
|  |  | 
|  | @G1 = global i32 4712 | 
|  | ; CHECK: .section .dp.data,"awd",@progbits | 
|  | ; CHECK: G1: | 
|  |  | 
|  | @G2 = global i32 0 | 
|  | ; CHECK: .section .dp.bss,"awd",@nobits | 
|  | ; CHECK: G2: | 
|  |  | 
|  | @G3 = unnamed_addr constant i32 9401 | 
|  | ; CHECK: .section .dp.rodata,"awd",@progbits | 
|  | ; CHECK: G3: | 
|  |  | 
|  | @iG3 = internal constant i32 9401 | 
|  | ; CHECK: .section .cp.rodata,"ac",@progbits | 
|  | ; CHECK: iG3: | 
|  |  | 
|  | @G4 = global ptr @G1 | 
|  | ; CHECK: .section .dp.data,"awd",@progbits | 
|  | ; CHECK: G4: | 
|  |  | 
|  | @G5 = unnamed_addr constant ptr @G1 | 
|  | ; CHECK: .section .dp.rodata,"awd",@progbits | 
|  | ; CHECK: G5: | 
|  |  | 
|  | @iG5 = internal unnamed_addr constant ptr @G1 | 
|  | ; CHECK: .section .cp.rodata,"ac",@progbits | 
|  | ; CHECK: iG5: | 
|  |  | 
|  | @G6 = global ptr @G8 | 
|  | ; CHECK: .section .dp.data,"awd",@progbits | 
|  | ; CHECK: G6: | 
|  |  | 
|  | @G7 = unnamed_addr constant ptr @G8 | 
|  | ; CHECK: .section .dp.rodata,"awd",@progbits | 
|  | ; CHECK: G7: | 
|  |  | 
|  | @iG7 = internal unnamed_addr constant ptr @G8 | 
|  | ; CHECK: .section .cp.rodata,"ac",@progbits | 
|  | ; CHECK: iG7: | 
|  |  | 
|  | @G8 = global i32 9312 | 
|  | ; CHECK: .section .dp.data,"awd",@progbits | 
|  | ; CHECK: G8: | 
|  |  | 
|  | @array = global [10 x i16] zeroinitializer, align 2 | 
|  | ; CHECK: .globl  array.globound | 
|  | ; CHECK: array.globound = 10 |