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