[NFC][Py Reformat] Reformat python files in llvm
[llvm-project.git] / llvm / test / CodeGen / PowerPC / aix-crspill.ll
blob9487c482e9c2897c3f76184290f818e7ae97f00d
1 ; RUN: llc -mtriple=powerpc64-unknown-aix-xcoff -mcpu=pwr4 --mattr=-altivec \
2 ; RUN: --verify-machineinstrs < %s | FileCheck --check-prefix=64BIT %s
4 ; RUN: llc -mtriple=powerpc-unknown-aix-xcoff -mcpu=pwr4 --mattr=-altivec \
5 ; RUN: --verify-machineinstrs < %s | FileCheck --check-prefix=32BIT %s
7 define dso_local signext i32 @killOne(i32 signext %i) {
8 entry:
9   tail call void asm sideeffect "# Clobber CR", "~{cr4}"()
10   %call = call signext i32 @do_something(i32 %i)
11   ret i32 %call
14 define dso_local signext i32 @killAll(i32 signext %i) {
15 entry:
16   tail call void asm sideeffect "# Clobber CR", "~{cr0},~{cr1},~{cr2},~{cr3},~{cr4},~{cr5},~{cr6},~{cr7}" ()
17   %call = call signext i32 @do_something(i32 %i)
18   ret i32 %call
21 declare signext i32 @do_something(i32 signext)
23 ; 64BIT-LABEL: .killOne:
25 ; 64BIT:       mfcr 12
26 ; 64BIT-NEXT:  stw 12, 8(1)
27 ; 64BIT-NEXT:  mflr 0
28 ; 64BIT-NEXT:  stdu 1, -112(1)
29 ; 64BIT:       std 0, 128(1)
31 ; 64BIT:       # Clobber CR
32 ; 64BIT:       bl .do_something
34 ; 64BIT:       addi 1, 1, 112
35 ; 64BIT-NEXT:  ld 0, 16(1)
36 ; 64BIT-NEXT:  lwz 12, 8(1)
37 ; 64BIT-NEXT:  mtlr 0
38 ; 64BIT-NEXT:  mtocrf 8, 12
39 ; 64BIT:       blr
41 ; 32BIT-LABEL: .killOne:
43 ; 32BIT:       mfcr 12
44 ; 32BIT-NEXT:  stw 12, 4(1)
45 ; 32BIT-NEXT:  mflr 0
46 ; 32BIT-NEXT:  stwu 1, -64(1)
47 ; 32BIT:       stw 0, 72(1)
49 ; 32BIT:       # Clobber CR
50 ; 32BIT:       bl .do_something
52 ; 32BIT:       addi 1, 1, 64
53 ; 32BIT-NEXT:  lwz 0, 8(1)
54 ; 32BIT-NEXT:  lwz 12, 4(1)
55 ; 32BIT-NEXT:  mtlr 0
56 ; 32BIT-NEXT:  mtocrf 8, 12
57 ; 32BIT:       blr
60 ; 64BIT-LABEL: .killAll:
62 ; 64BIT:        addi 1, 1, 112
63 ; 64BIT-NEXT:   ld 0, 16(1)
64 ; 64BIT-NEXT:   lwz 12, 8(1)
65 ; 64BIT-NEXT:   mtlr 0
66 ; 64BIT-NEXT:   mtocrf 32, 12
67 ; 64BIT-NEXT:   mtocrf 16, 12
68 ; 64BIT-NEXT:   mtocrf 8, 12
69 ; 64BIT-NEXT:   blr
72 ; 32BIT-LABEL: .killAll:
74 ; 32BIT:        addi 1, 1, 64
75 ; 32BIT-NEXT:   lwz 0, 8(1)
76 ; 32BIT-NEXT:   lwz 12, 4(1)
77 ; 32BIT-NEXT:   mtlr 0
78 ; 32BIT-NEXT:   mtocrf 32, 12
79 ; 32BIT-NEXT:   mtocrf 16, 12
80 ; 32BIT-NEXT:   mtocrf 8, 12
81 ; 32BIT-NEXT:   blr