Revert " [LoongArch][ISel] Check the number of sign bits in `PatGprGpr_32` (#107432)"
[llvm-project.git] / llvm / test / CodeGen / PowerPC / aix32-crsave.mir
blob73736d6d5353fb18e4bc2884dcad4b6a1cf18320
1 # RUN: llc -mtriple powerpc-unknown-aix-xcoff -x mir -mcpu=pwr4 -mattr=-altivec \
2 # RUN: -run-pass=prologepilog --verify-machineinstrs < %s | \
3 # RUN: FileCheck %s --check-prefixes=CHECK
5 ---
6 name:            CRMultiSave
7 alignment:       16
8 tracksRegLiveness: true
9 liveins:
10   - { reg: '$r3', virtual-reg: '' }
11 body:             |
12   bb.0.entry:
13     liveins: $r3
14     renamable $r29 = ANDI_rec killed renamable $r3, 1, implicit-def dead $cr0, implicit-def $cr0gt
15     renamable $cr2lt = COPY $cr0gt
16     renamable $cr4lt = COPY $cr0gt
17     renamable $r3 = COPY $r29
18     BLR implicit $lr, implicit $rm, implicit $r3
20     ; CHECK-LABEL:  fixedStack:
21     ; CHECK-NEXT:   - { id: 0, type: spill-slot, offset: -4, size: 4, alignment: 4, stack-id: default, 
22     ; CHECK-NEXT:       callee-saved-register: '$r31', callee-saved-restored: true, debug-info-variable: '', 
23     ; CHECK-NEXT:       debug-info-expression: '', debug-info-location: '' }
24     ; CHECK-NEXT:   - { id: 1, type: spill-slot, offset: -8, size: 4, alignment: 8, stack-id: default, 
25     ; CHECK-NEXT:       callee-saved-register: '$r30', callee-saved-restored: true, debug-info-variable: '', 
26     ; CHECK-NEXT:       debug-info-expression: '', debug-info-location: '' }
27     ; CHECK-NEXT:   - { id: 2, type: spill-slot, offset: -12, size: 4, alignment: 4, stack-id: default,
28     ; CHECK-NEXT:       callee-saved-register: '$r29', callee-saved-restored: true, debug-info-variable: '',
29     ; CHECK-NEXT:       debug-info-expression: '', debug-info-location: '' }
30     ; CHECK-NEXT:   - { id: 3, type: default, offset: 4, size: 4, alignment: 4, stack-id: default,
31     ; CHECK-NEXT:       isImmutable: true, isAliased: false, callee-saved-register: '$cr4',
32     ; CHECK-NEXT:       callee-saved-restored: true, debug-info-variable: '', debug-info-expression: '',
33     ; CHECK-NEXT:       debug-info-location: '' }
34     ; CHECK-LABEL:  stack:
36     ; CHECK:      bb.0.entry:
37     ; CHECK-NEXT:  liveins: $r3, $r29, $r30, $r31, $cr2, $cr4
39     ; CHECK:      $r12 = MFCR implicit killed $cr2, implicit killed $cr4
40     ; CHECK-NEXT: STW killed $r12, 4, $r1
41     ; CHECK-NEXT: STW killed $r29, -12, $r1 :: (store (s32) into %fixed-stack.2)
42     ; CHECK-NEXT: STW killed $r30, -8, $r1 :: (store (s32) into %fixed-stack.1, align 8)
43     ; CHECK-NEXT: STW killed $r31, -4, $r1 :: (store (s32) into %fixed-stack.0)
45     ; CHECK:      $r31 = LWZ -4, $r1 :: (load (s32) from %fixed-stack.0)
46     ; CHECK-NEXT: $r30 = LWZ -8, $r1 :: (load (s32) from %fixed-stack.1, align 8)
47     ; CHECK-NEXT: $r29 = LWZ -12, $r1 :: (load (s32) from %fixed-stack.2)
48     ; CHECK-NEXT: $r12 = LWZ 4, $r1
49     ; CHECK-NEXT: $cr2 = MTOCRF $r12
50     ; CHECK-NEXT: $cr4 = MTOCRF killed $r12
52 ...
53 ---
54 name:            CR3Save
55 alignment:       16
56 tracksRegLiveness: true
57 liveins:
58   - { reg: '$r3', virtual-reg: '' }
59 body:             |
60   bb.0.entry:
61     liveins: $r3
62     renamable $r31 = ANDI_rec killed renamable $r3, 1, implicit-def dead $cr0, implicit-def $cr0gt
63     renamable $cr3lt = COPY $cr0gt
64     renamable $r3 = COPY $r31
65     BLR implicit $lr, implicit $rm, implicit $r3
67     ; CHECK-LABEL: fixedStack:
68     ; CHECK-NEXT:  - { id: 0, type: spill-slot, offset: -4, size: 4, alignment: 4, stack-id: default,
69     ; CHECK-NEXT:      callee-saved-register: '$r31', callee-saved-restored: true, debug-info-variable: '',
70     ; CHECK-NEXT:      debug-info-expression: '', debug-info-location: '' }
71     ; CHECK-NEXT:  - { id: 1, type: default, offset: 4, size: 4, alignment: 4, stack-id: default,
72     ; CHECK-NEXT:      isImmutable: true, isAliased: false, callee-saved-register: '$cr3',
73     ; CHECK-NEXT:      callee-saved-restored: true, debug-info-variable: '', debug-info-expression: '',
74     ; CHECK-NEXT:      debug-info-location: '' }
75     ; CHECK-LABEL: stack:
77     ; CHECK:      bb.0.entry:
78     ; CHECK-NEXT:   liveins: $r3, $r31, $cr3
80     ; CHECK:      $r12 = MFCR implicit killed $cr3
81     ; CHECK-NEXT: STW killed $r12, 4, $r1
82     ; CHECK-NEXT: STW killed $r31, -4, $r1 :: (store (s32) into %fixed-stack.0)
84     ; CHECK:      $r31 = LWZ -4, $r1 :: (load (s32) from %fixed-stack.0)
85     ; CHECK-NEXT: $r12 = LWZ 4, $r1
86     ; CHECK-NEXT: $cr3 = MTOCRF killed $r12