[InstCombine] Signed saturation patterns
[llvm-core.git] / test / CodeGen / AVR / intrinsics / stacksave-restore.ll
blob3985f49b92f59775aa1c0fdda714c67480e5a70a
1 ; RUN: llc -O0 < %s -march=avr | FileCheck %s
3 ; CHECK-LABEL: foo
4 define void @foo() {
5 entry:
6   br label %save
8 ; CHECK-LABEL: save
9 ; CHECK: in [[SREG1:r[0-9]+]], 61
10 ; CHECK-NEXT: in [[SREG2:r[0-9]+]], 62
11 save:
12   %saved = call i8* @llvm.stacksave()
13   br label %restore
15 ; CHECK-LABEL: restore
16 ; CHECK: in r0, 63
17 ; CHECK-NEXT: cli
18 ; CHECK-NEXT: out 62, [[SREG2]]
19 ; CHECK-NEXT: out 63, r0
20 ; CHECK-NEXT: out 61, [[SREG1]]
21 restore:
22   call void @llvm.stackrestore(i8* %saved)
23   ret void
26 declare i8* @llvm.stacksave()
27 declare void @llvm.stackrestore(i8* %ptr)