Lines Matching +full:test +full:- +full:check
1 ; Test an i32 0/-1 SELECTCCC for every floating-point condition.
3 ; RUN: llc < %s -mtriple=s390x-linux-gnu | FileCheck %s
5 ; Test CC in { 1, 2, 3 }
7 ; CHECK-LABEL: f1:
8 ; CHECK: ipm %r2
9 ; CHECK-NEXT: afi %r2, 1879048192
10 ; CHECK-NEXT: sra %r2, 31
11 ; CHECK: br %r14
13 %res = select i1 %cond, i32 0, i32 -1
17 ; Test CC in { 0, 2, 3 }
19 ; CHECK-LABEL: f2:
20 ; CHECK: ipm %r2
21 ; CHECK-NEXT: xilf %r2, 268435456
22 ; CHECK-NEXT: afi %r2, 1879048192
23 ; CHECK-NEXT: sra %r2, 31
24 ; CHECK: br %r14
26 %res = select i1 %cond, i32 0, i32 -1
30 ; Test CC in { 2, 3 }
32 ; CHECK-LABEL: f3:
33 ; CHECK: ipm %r2
34 ; CHECK-NEXT: sll %r2, 2
35 ; CHECK-NEXT: sra %r2, 31
36 ; CHECK: br %r14
38 %res = select i1 %cond, i32 0, i32 -1
42 ; Test CC in { 0, 1, 3 }
44 ; CHECK-LABEL: f4:
45 ; CHECK: ipm %r2
46 ; CHECK-NEXT: xilf %r2, 268435456
47 ; CHECK-NEXT: afi %r2, -805306368
48 ; CHECK-NEXT: sra %r2, 31
49 ; CHECK: br %r14
51 %res = select i1 %cond, i32 0, i32 -1
55 ; Test CC in { 1, 3 }
57 ; CHECK-LABEL: f5:
58 ; CHECK: ipm %r2
59 ; CHECK-NEXT: sll %r2, 3
60 ; CHECK-NEXT: sra %r2, 31
61 ; CHECK: br %r14
63 %res = select i1 %cond, i32 0, i32 -1
67 ; Test CC in { 0, 3 }
69 ; CHECK-LABEL: f6:
70 ; CHECK: ipm %r2
71 ; CHECK-NEXT: afi %r2, -268435456
72 ; CHECK-NEXT: sll %r2, 2
73 ; CHECK-NEXT: sra %r2, 31
74 ; CHECK: br %r14
76 %res = select i1 %cond, i32 0, i32 -1
80 ; Test CC in { 3 }
82 ; CHECK-LABEL: f7:
83 ; CHECK: ipm %r2
84 ; CHECK-NEXT: afi %r2, 1342177280
85 ; CHECK-NEXT: sra %r2, 31
86 ; CHECK: br %r14
88 %res = select i1 %cond, i32 0, i32 -1
92 ; Test CC in { 0, 1, 2 }
94 ; CHECK-LABEL: f8:
95 ; CHECK: ipm %r2
96 ; CHECK-NEXT: afi %r2, -805306368
97 ; CHECK-NEXT: sra %r2, 31
98 ; CHECK: br %r14
100 %res = select i1 %cond, i32 0, i32 -1
104 ; Test CC in { 1, 2 }
106 ; CHECK-LABEL: f9:
107 ; CHECK: ipm %r2
108 ; CHECK-NEXT: afi %r2, 268435456
109 ; CHECK-NEXT: sll %r2, 2
110 ; CHECK-NEXT: sra %r2, 31
111 ; CHECK: br %r14
113 %res = select i1 %cond, i32 0, i32 -1
117 ; Test CC in { 0, 2 }
119 ; CHECK-LABEL: f10:
120 ; CHECK: ipm %r2
121 ; CHECK-NEXT: xilf %r2, 4294967295
122 ; CHECK-NEXT: sll %r2, 3
123 ; CHECK-NEXT: sra %r2, 31
124 ; CHECK: br %r14
126 %res = select i1 %cond, i32 0, i32 -1
130 ; Test CC in { 2 }
132 ; CHECK-LABEL: f11:
133 ; CHECK: ipm %r2
134 ; CHECK-NEXT: xilf %r2, 268435456
135 ; CHECK-NEXT: afi %r2, 1342177280
136 ; CHECK-NEXT: sra %r2, 31
137 ; CHECK: br %r14
139 %res = select i1 %cond, i32 0, i32 -1
143 ; Test CC in { 0, 1 }
145 ; CHECK-LABEL: f12:
146 ; CHECK: ipm %r2
147 ; CHECK-NEXT: afi %r2, -536870912
148 ; CHECK-NEXT: sra %r2, 31
149 ; CHECK: br %r14
151 %res = select i1 %cond, i32 0, i32 -1
155 ; Test CC in { 1 }
157 ; CHECK-LABEL: f13:
158 ; CHECK: ipm %r2
159 ; CHECK-NEXT: xilf %r2, 268435456
160 ; CHECK-NEXT: afi %r2, -268435456
161 ; CHECK-NEXT: sra %r2, 31
162 ; CHECK: br %r14
164 %res = select i1 %cond, i32 0, i32 -1
168 ; Test CC in { 0 }
170 ; CHECK-LABEL: f14:
171 ; CHECK: ipm %r2
172 ; CHECK-NEXT: afi %r2, -268435456
173 ; CHECK-NEXT: sra %r2, 31
174 ; CHECK: br %r14
176 %res = select i1 %cond, i32 0, i32 -1