1; RUN: llc < %s -mtriple=xcore -mcpu=xs1b-generic | FileCheck %s 2; RUN: llc -mtriple=xcore -mcpu=xs1b-generic -filetype=null %s 3 4define ptr @addr_G1() { 5entry: 6; CHECK-LABEL: addr_G1: 7; CHECK: ldaw r0, dp[G1] 8 ret ptr @G1 9} 10 11define ptr @addr_G2() { 12entry: 13; CHECK-LABEL: addr_G2: 14; CHECK: ldaw r0, dp[G2] 15 ret ptr @G2 16} 17 18define ptr @addr_G3() { 19entry: 20; CHECK-LABEL: addr_G3: 21; CHECK: ldaw r0, dp[G3] 22 ret ptr @G3 23} 24 25define ptr @addr_iG3() { 26entry: 27; CHECK-LABEL: addr_iG3: 28; CHECK: ldaw r11, cp[iG3] 29; CHECK: mov r0, r11 30 ret ptr @iG3 31} 32 33define ptr @addr_G4() { 34entry: 35; CHECK-LABEL: addr_G4: 36; CHECK: ldaw r0, dp[G4] 37 ret ptr @G4 38} 39 40define ptr @addr_G5() { 41entry: 42; CHECK-LABEL: addr_G5: 43; CHECK: ldaw r0, dp[G5] 44 ret ptr @G5 45} 46 47define ptr @addr_iG5() { 48entry: 49; CHECK-LABEL: addr_iG5: 50; CHECK: ldaw r11, cp[iG5] 51; CHECK: mov r0, r11 52 ret ptr @iG5 53} 54 55define ptr @addr_G6() { 56entry: 57; CHECK-LABEL: addr_G6: 58; CHECK: ldaw r0, dp[G6] 59 ret ptr @G6 60} 61 62define ptr @addr_G7() { 63entry: 64; CHECK-LABEL: addr_G7: 65; CHECK: ldaw r0, dp[G7] 66 ret ptr @G7 67} 68 69define ptr @addr_iG7() { 70entry: 71; CHECK-LABEL: addr_iG7: 72; CHECK: ldaw r11, cp[iG7] 73; CHECK: mov r0, r11 74 ret ptr @iG7 75} 76 77define ptr @addr_G8() { 78entry: 79; CHECK-LABEL: addr_G8: 80; CHECK: ldaw r0, dp[G8] 81 ret ptr @G8 82} 83 84@G1 = global i32 4712 85; CHECK: .section .dp.data,"awd",@progbits 86; CHECK: G1: 87 88@G2 = global i32 0 89; CHECK: .section .dp.bss,"awd",@nobits 90; CHECK: G2: 91 92@G3 = unnamed_addr constant i32 9401 93; CHECK: .section .dp.rodata,"awd",@progbits 94; CHECK: G3: 95 96@iG3 = internal constant i32 9401 97; CHECK: .section .cp.rodata,"ac",@progbits 98; CHECK: iG3: 99 100@G4 = global ptr @G1 101; CHECK: .section .dp.data,"awd",@progbits 102; CHECK: G4: 103 104@G5 = unnamed_addr constant ptr @G1 105; CHECK: .section .dp.rodata,"awd",@progbits 106; CHECK: G5: 107 108@iG5 = internal unnamed_addr constant ptr @G1 109; CHECK: .section .cp.rodata,"ac",@progbits 110; CHECK: iG5: 111 112@G6 = global ptr @G8 113; CHECK: .section .dp.data,"awd",@progbits 114; CHECK: G6: 115 116@G7 = unnamed_addr constant ptr @G8 117; CHECK: .section .dp.rodata,"awd",@progbits 118; CHECK: G7: 119 120@iG7 = internal unnamed_addr constant ptr @G8 121; CHECK: .section .cp.rodata,"ac",@progbits 122; CHECK: iG7: 123 124@G8 = global i32 9312 125; CHECK: .section .dp.data,"awd",@progbits 126; CHECK: G8: 127 128@array = global [10 x i16] zeroinitializer, align 2 129; CHECK: .globl array.globound 130; CHECK: .set array.globound, 10 131