[MIParser] Set RegClassOrRegBank during instruction parsing
[llvm-complete.git] / test / CodeGen / PowerPC / pr26356.ll
blob67cf4e654ad41ffb97267ff00994f70f9c0b7a6a
1 ; RUN: llc -verify-machineinstrs -O0 -mcpu=pwr7 -mtriple=powerpc64le-unknown-unknown < %s | FileCheck %s
3 define zeroext i32 @f1() {
4 entry:
5   ret i32 65535
7 ; CHECK-LABEL: @f1
8 ; CHECK: lis 3, 0
9 ; CHECK: ori 3, 3, 65535
11 define zeroext i32 @f2() {
12 entry:
13   ret i32 32768
15 ; CHECK-LABEL: @f2
16 ; CHECK: lis 3, 0
17 ; CHECK: ori 3, 3, 32768
19 define zeroext i32 @f3() {
20 entry:
21   ret i32 32767
23 ; CHECK-LABEL: @f3
24 ; CHECK: li 3, 32767
26 define zeroext i16 @f4() {
27 entry:
28   ret i16 65535
30 ; CHECK-LABEL: @f4
31 ; CHECK: lis 3, 0
32 ; CHECK: ori 3, 3, 65535
34 define zeroext i16 @f5() {
35 entry:
36   ret i16 32768
38 ; CHECK-LABEL: @f5
39 ; CHECK: lis 3, 0
40 ; CHECK: ori 3, 3, 32768
42 define zeroext i16 @f6() {
43 entry:
44   ret i16 32767
46 ; CHECK-LABEL: @f6
47 ; CHECK: li 3, 32767
49 define zeroext i16 @f7() {
50 entry:
51   ret i16 -1
53 ; CHECK-LABEL: @f7
54 ; CHECK: lis 3, 0
55 ; CHECK: ori 3, 3, 65535
57 define zeroext i16 @f8() {
58 entry:
59   ret i16 -32768
61 ; CHECK-LABEL: @f8
62 ; CHECK: lis 3, 0
63 ; CHECK: ori 3, 3, 32768
65 define signext i32 @f1s() {
66 entry:
67   ret i32 65535
69 ; CHECK-LABEL: @f1s
70 ; CHECK: lis 3, 0
71 ; CHECK: ori 3, 3, 65535
73 define signext i32 @f2s() {
74 entry:
75   ret i32 32768
77 ; CHECK-LABEL: @f2s
78 ; CHECK: lis 3, 0
79 ; CHECK: ori 3, 3, 32768
81 define signext i32 @f3s() {
82 entry:
83   ret i32 32767
85 ; CHECK-LABEL: @f3s
86 ; CHECK: li 3, 32767
88 define signext i16 @f4s() {
89 entry:
90   ret i16 32767
92 ; CHECK-LABEL: @f4s
93 ; CHECK: li 3, 32767
95 define signext i32 @f1sn() {
96 entry:
97   ret i32 -65535
99 ; CHECK-LABEL: @f1sn
100 ; CHECK: lis 3, -1
101 ; CHECK: ori 3, 3, 1
103 define signext i32 @f2sn() {
104 entry:
105   ret i32 -32768
107 ; CHECK-LABEL: @f2sn
108 ; CHECK: li 3, -32768
110 define signext i32 @f3sn() {
111 entry:
112   ret i32 -32767
114 ; CHECK-LABEL: @f3sn
115 ; CHECK: li 3, -32767
117 define signext i32 @f4sn() {
118 entry:
119   ret i32 -65536
121 ; CHECK-LABEL: @f4sn
122 ; CHECK: lis 3, -1
124 define signext i16 @f5sn() {
125 entry:
126   ret i16 -32767
128 ; CHECK-LABEL: @f5sn
129 ; CHECK: li 3, -32767
131 define signext i16 @f6sn() {
132 entry:
133   ret i16 -32768
135 ; CHECK-LABEL: @f6sn
136 ; CHECK: li 3, -32768