Home | History | Annotate | Download | only in XCore
      1 ; RUN: llc < %s -march=xcore | FileCheck %s
      2 declare void @a_val() nounwind
      3 @b_val = external constant i32, section ".cp.rodata"
      4 @c_val = external global i32
      5 
      6 @a = alias void ()* @a_val
      7 @b = alias i32* @b_val
      8 @c = alias i32* @c_val
      9 
     10 ; CHECK-LABEL: a_addr:
     11 ; CHECK: ldap r11, a
     12 ; CHECK: retsp
     13 define void ()* @a_addr() nounwind {
     14 entry:
     15   ret void ()* @a
     16 }
     17 
     18 ; CHECK-LABEL: b_addr:
     19 ; CHECK: ldaw r11, cp[b]
     20 ; CHECK: retsp
     21 define i32 *@b_addr() nounwind {
     22 entry:
     23   ret i32* @b
     24 }
     25 
     26 ; CHECK-LABEL: c_addr:
     27 ; CHECK: ldaw r0, dp[c]
     28 ; CHECK: retsp
     29 define i32 *@c_addr() nounwind {
     30 entry:
     31   ret i32* @c
     32 }
     33