[MIParser] Set RegClassOrRegBank during instruction parsing
[llvm-complete.git] / test / CodeGen / PowerPC / Frames-large.ll
blob1c49de5bfeabc47de05ba1c299e943218cb71bcd
1 ; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc-unknown-linux-gnu | FileCheck %s -check-prefix=PPC32-NOFP
2 ; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc-unknown-linux-gnu -frame-pointer=all | FileCheck %s -check-prefix=PPC32-FP
4 ; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc64-unknown-linux-gnu | FileCheck %s -check-prefix=PPC64-NOFP
5 ; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc64-unknown-linux-gnu -frame-pointer=all | FileCheck %s -check-prefix=PPC64-FP
7 define i32* @f1() nounwind {
8         %tmp = alloca i32, i32 8191             ; <i32*> [#uses=1]
9         ret i32* %tmp
12 ; PPC32-NOFP: f1:
13 ; PPC32-NOFP:   lis 0, -1
14 ; PPC32-NOFP:   ori 0, 0, 32752
15 ; PPC32-NOFP:   stwux 1, 1, 0
16 ; PPC32-NOFP-DAG:       addi 3, 1, 20
17 ; PPC32-NOFP-DAG:       lwz 31, 0(1)
18 ; PPC32-NOFP:   mr 1, 31
19 ; PPC32-NOFP:   mr 31, 0
20 ; PPC32-NOFP:   blr
22 ; PPC32-FP: lis 0, -1
23 ; PPC32-FP: ori 0, 0, 32752
24 ; PPC32-FP: stwux 1, 1, 0
25 ; PPC32-FP: subf 0, 0, 1
26 ; PPC32-FP: addic 0, 0, -4
27 ; PPC32-FP: stwx 31, 0, 0
28 ; PPC32-FP: mr 31, 1
29 ; PPC32-FP: addi 3, 31, 16
30 ; PPC32-FP: lwz 31, 0(1)
31 ; PPC32-FP: lwz 0, -4(31)
32 ; PPC32-FP: mr 1, 31
33 ; PPC32-FP: mr 31, 0
34 ; PPC32-FP: blr
36 ; PPC64-NOFP: f1:
37 ; PPC64-NOFP:   lis 0, -1
38 ; PPC64-NOFP:   ori 0, 0, 32720
39 ; PPC64-NOFP:   stdux 1, 1, 0
40 ; PPC64-NOFP:   addi 3, 1, 52
41 ; PPC64-NOFP:   ld 1, 0(1)
42 ; PPC64-NOFP:   blr
44 ; PPC64-FP: f1:
45 ; PPC64-FP:     lis 0, -1
46 ; PPC64-FP:     ori 0, 0, 32704
47 ; PPC64-FP:     std 31, -8(1)
48 ; PPC64-FP:     stdux 1, 1, 0
49 ; PPC64-FP:     mr 31, 1
50 ; PPC64-FP:     addi 3, 31, 60
51 ; PPC64-FP:     ld 1, 0(1)
52 ; PPC64-FP:     ld 31, -8(1)
53 ; PPC64-FP:     blr