1 ; RUN: llc < %s -march=xcore | FileCheck %s
3 declare i8* @llvm.frameaddress(i32) nounwind readnone
4 define i8* @FA0() nounwind {
7 ; CHECK: ldaw r0, sp[0]
9 %0 = call i8* @llvm.frameaddress(i32 0)
13 define i8* @FA1() nounwind {
17 ; CHECK-NEXT: ldaw r0, sp[0]
18 ; CHECK-NEXT: retsp 100
19 %0 = alloca [100 x i32]
20 %1 = call i8* @llvm.frameaddress(i32 0)
25 declare i8* @llvm.returnaddress(i32) nounwind readnone
26 define i8* @RA0() nounwind {
29 ; CHECK: stw lr, sp[0]
30 ; CHECK-NEXT: ldw r0, sp[0]
31 ; CHECK-NEXT: ldw lr, sp[0]
33 %0 = call i8* @llvm.returnaddress(i32 0)
37 define i8* @RA1() nounwind {
41 ; CHECK-NEXT: ldw r0, sp[100]
42 ; CHECK-NEXT: retsp 100
43 %0 = alloca [100 x i32]
44 %1 = call i8* @llvm.returnaddress(i32 0)