; RUN: llc < %s -march=xcore -mcpu=xs1b-generic | FileCheck %s define i32 *@addr_G1() { entry: ; CHECK: addr_G1: ; CHECK: ldaw r0, dp[G1] ret i32* @G1 } define i32 *@addr_G2() { entry: ; CHECK: addr_G2: ; CHECK: ldaw r0, dp[G2] ret i32* @G2 } define i32 *@addr_G3() { entry: ; CHECK: addr_G3: ; CHECK: ldaw r11, cp[G3] ; CHECK: mov r0, r11 ret i32* @G3 } define i32 **@addr_G4() { entry: ; CHECK: addr_G4: ; CHECK: ldaw r0, dp[G4] ret i32** @G4 } define i32 **@addr_G5() { entry: ; CHECK: addr_G5: ; CHECK: ldaw r11, cp[G5] ; CHECK: mov r0, r11 ret i32** @G5 } define i32 **@addr_G6() { entry: ; CHECK: addr_G6: ; CHECK: ldaw r0, dp[G6] ret i32** @G6 } define i32 **@addr_G7() { entry: ; CHECK: addr_G7: ; CHECK: ldaw r11, cp[G7] ; CHECK: mov r0, r11 ret i32** @G7 } define i32 *@addr_G8() { entry: ; CHECK: addr_G8: ; CHECK: ldaw r0, dp[G8] ret i32* @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 .cp.rodata.cst4,"aMc",@progbits,4 ; CHECK: G3: @G4 = global i32* @G1 ; CHECK: .section .dp.data,"awd",@progbits ; CHECK: G4: @G5 = unnamed_addr constant i32* @G1 ; CHECK: .section .cp.rodata,"ac",@progbits ; CHECK: G5: @G6 = global i32* @G8 ; CHECK: .section .dp.data,"awd",@progbits ; CHECK: G6: @G7 = unnamed_addr constant i32* @G8 ; CHECK: .section .cp.rodata,"ac",@progbits ; CHECK: G7: @G8 = internal global i32 9312 ; CHECK: .section .dp.data,"awd",@progbits ; CHECK: G8: