[InstCombine] Signed saturation patterns
[llvm-core.git] / test / MC / Mips / target-soft-float.s
blob5865d5ab12696c26937c442e9a331b60f2da39c8
1 # RUN: not llvm-mc %s -triple=mips-unknown-linux -mcpu=mips32 -mattr=+soft-float 2>&1 |\
2 # RUN: FileCheck %s --check-prefix=32
3 # RUN: not llvm-mc %s -triple=mips-unknown-linux -mcpu=mips64 -mattr=+soft-float 2>&1 |\
4 # RUN: FileCheck %s --check-prefix=64
5 # RUN: not llvm-mc %s -triple=mips-unknown-linux -mcpu=mips32r2 -mattr=+soft-float 2>&1 |\
6 # RUN: FileCheck %s --check-prefix=R2
7 # RUN: not llvm-mc %s -triple=mips-unknown-linux -mcpu=mips32r6 -mattr=+soft-float 2>&1 |\
8 # RUN: FileCheck %s --check-prefix=R6
10 foo:
11 dmfc1 $7, $f2
12 # 64: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
13 dmtc1 $6, $f2
14 # 64: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
16 ceil.l.d $f2, $f2
17 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
18 ceil.l.s $f2, $f2
19 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
20 cvt.d.l $f2, $f2
21 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
22 cvt.l.d $f2, $f2
23 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
24 cvt.l.s $f2, $f2
25 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
26 cvt.s.l $f2, $f2
27 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
28 floor.l.d $f2, $f2
29 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
30 floor.l.s $f2, $f2
31 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
32 ldxc1 $f2, $4($6)
33 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
34 luxc1 $f2, $4($6)
35 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
36 lwxc1 $f2, $4($6)
37 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
38 mfhc1 $7, $f2
39 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
40 msub.s $f2, $f2, $f2, $f2
41 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
42 mthc1 $7, $f2
43 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
44 nmadd.s $f2, $f2, $f2, $f2
45 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
46 nmsub.s $f2, $f2, $f2, $f2
47 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
48 round.l.s $f2, $f2
49 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
50 sdxc1 $f2, $4($6)
51 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
52 suxc1 $f2, $4($6)
53 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
54 swxc1 $f2, $4($6)
55 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
56 trunc.l.d $f2, $f2
57 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
58 trunc.l.s $f2, $f2
59 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
61 bc1eqz $f2, 123
62 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
63 bc1nez $f2, 456
64 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
65 class.d $f2, $f2
66 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
67 class.s $f2, $f2
68 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
69 cmp.af.d $f2, $f2, $f2
70 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
71 cmp.af.s $f2, $f2, $f2
72 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
73 cmp.eq.d $f2, $f2, $f2
74 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
75 cmp.eq.s $f2, $f2, $f2
76 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
77 cmp.le.d $f2, $f2, $f2
78 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
79 cmp.le.s $f2, $f2, $f2
80 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
81 cmp.lt.d $f2, $f2, $f2
82 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
83 cmp.lt.s $f2, $f2, $f2
84 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
85 cmp.saf.d $f2, $f2, $f2
86 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
87 cmp.saf.s $f2, $f2, $f2
88 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
89 cmp.seq.d $f2, $f2, $f2
90 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
91 cmp.seq.s $f2, $f2, $f2
92 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
93 cmp.sle.d $f2, $f2, $f2
94 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
95 cmp.sle.s $f2, $f2, $f2
96 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
97 cmp.slt.d $f2, $f2, $f2
98 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
99 cmp.slt.s $f2, $f2, $f2
100 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
101 cmp.sueq.d $f2, $f2, $f2
102 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
103 cmp.sueq.s $f2, $f2, $f2
104 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
105 cmp.sule.d $f2, $f2, $f2
106 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
107 cmp.sule.s $f2, $f2, $f2
108 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
109 cmp.sult.d $f2, $f2, $f2
110 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
111 cmp.sult.s $f2, $f2, $f2
112 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
113 cmp.sun.d $f2, $f2, $f2
114 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
115 cmp.sun.s $f2, $f2, $f2
116 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
117 cmp.ueq.d $f2, $f2, $f2
118 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
119 cmp.ueq.s $f2, $f2, $f2
120 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
121 cmp.ule.d $f2, $f2, $f2
122 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
123 cmp.ule.s $f2, $f2, $f2
124 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
125 cmp.ult.d $f2, $f2, $f2
126 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
127 cmp.ult.s $f2, $f2, $f2
128 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
129 cmp.un.d $f2, $f2, $f2
130 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
131 cmp.un.s $f2, $f2, $f2
132 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
133 maddf.d $f2, $f2, $f2
134 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
135 maddf.s $f2, $f2, $f2
136 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
137 max.d $f2, $f2, $f2
138 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
139 max.s $f2, $f2, $f2
140 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
141 maxa.d $f2, $f2, $f2
142 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
143 maxa.s $f2, $f2, $f2
144 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
145 min.d $f2, $f2, $f2
146 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
147 min.s $f2, $f2, $f2
148 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
149 mina.d $f2, $f2, $f2
150 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
151 mina.s $f2, $f2, $f2
152 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
153 msubf.d $f2, $f2, $f2
154 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
155 msubf.s $f2, $f2, $f2
156 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
157 rint.d $f2, $f2
158 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
159 rint.s $f2, $f2
160 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
161 sel.d $f2, $f2, $f2
162 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
163 sel.s $f2, $f2, $f2
164 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
165 seleqz.d $f2, $f2, $f2
166 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
167 seleqz.s $f2, $f2, $f2
168 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
169 selnez.d $f2, $f2, $f2
170 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
171 selnez.s $f2, $f2, $f2
172 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
174 abs.d $f2, $f2
175 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
176 abs.s $f2, $f2
177 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
178 add.d $f2, $f2, $f2
179 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
180 add.s $f2, $f2, $f2
181 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
182 c.eq.d $f2, $f2
183 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
184 c.eq.s $f2, $f2
185 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
186 c.f.d $f2, $f2
187 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
188 c.f.s $f2, $f2
189 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
190 c.le.d $f2, $f2
191 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
192 c.le.s $f2, $f2
193 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
194 c.lt.d $f2, $f2
195 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
196 c.lt.s $f2, $f2
197 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
198 c.nge.d $f2, $f2
199 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
200 c.nge.s $f2, $f2
201 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
202 c.ngl.d $f2, $f2
203 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
204 c.ngl.s $f2, $f2
205 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
206 c.ngle.d $f2, $f2
207 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
208 c.ngle.s $f2, $f2
209 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
210 c.ngt.d $f2, $f2
211 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
212 c.ngt.s $f2, $f2
213 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
214 c.ole.d $f2, $f2
215 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
216 c.ole.s $f2, $f2
217 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
218 c.olt.d $f2, $f2
219 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
220 c.olt.s $f2, $f2
221 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
222 c.seq.d $f2, $f2
223 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
224 c.seq.s $f2, $f2
225 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
226 c.sf.d $f2, $f2
227 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
228 c.sf.s $f2, $f2
229 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
230 c.ueq.d $f2, $f2
231 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
232 c.ueq.s $f2, $f2
233 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
234 c.ule.d $f2, $f2
235 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
236 c.ule.s $f2, $f2
237 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
238 c.ult.d $f2, $f2
239 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
240 c.ult.s $f2, $f2
241 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
242 c.un.d $f2, $f2
243 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
244 c.un.s $f2, $f2
245 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
246 ceil.w.d $f2, $f2
247 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
248 ceil.w.s $f2, $f2
249 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
250 cvt.d.s $f2, $f2
251 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
252 cvt.d.w $f2, $f2
253 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
254 cvt.s.d $f2, $f2
255 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
256 cvt.s.w $f2, $f2
257 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
258 cvt.w.d $f2, $f2
259 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
260 cvt.w.s $f2, $f2
261 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
262 div.d $f2, $f2, $f2
263 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
264 div.s $f2, $f2, $f2
265 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
266 floor.w.d $f2, $f2
267 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
268 floor.w.s $f2, $f2
269 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
270 ldc1 $f2, 16($7)
271 # FIXME: LDC1 is correctly rejected but the wrong error message is emitted.
272 # 32: :[[@LINE-2]]:19: error: invalid operand for instruction
273 lwc1 $f2, 16($7)
274 # FIXME: LWC1 is correctly rejected but the wrong error message is emitted.
275 # 32: :[[@LINE-2]]:19: error: invalid operand for instruction
276 madd.s $f2, $f2, $f2, $f2
277 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
278 mfc1 $7, $f2
279 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
280 mov.d $f2, $f2
281 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
282 mov.s $f2, $f2
283 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
284 movf.d $f2, $f2, $fcc2
285 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
286 movf.s $f2, $f2, $fcc5
287 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
288 movn.d $f2, $f2, $6
289 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
290 movn.s $f2, $f2, $6
291 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
292 movt.d $f2, $f2, $fcc0
293 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
294 movt.s $f2, $f2, $fcc1
295 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
296 movz.d $f2, $f2, $6
297 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
298 movz.s $f2, $f2, $6
299 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
300 mtc1 $7, $f2
301 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
302 mul.d $f2, $f2, $f2
303 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
304 mul.s $f2, $f2, $f2
305 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
306 neg.d $f2, $f2
307 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
308 neg.s $f2, $f2
309 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
310 round.w.d $f2, $f2
311 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
312 round.w.s $f2, $f2
313 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
314 sdc1 $f2, 16($7)
315 # FIXME: SDC1 is correctly rejected but the wrong error message is emitted.
316 # 32: :[[@LINE-2]]:19: error: invalid operand for instruction
317 sqrt.d $f2, $f2
318 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
319 sqrt.s $f2, $f2
320 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
321 sub.d $f2, $f2, $f2
322 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
323 sub.s $f2, $f2, $f2
324 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
325 swc1 $f2, 16($7)
326 # FIXME: SWC1 is correctly rejected but the wrong error message is emitted.
327 # 32: :[[@LINE-2]]:19: error: invalid operand for instruction
328 trunc.w.d $f2, $f2
329 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled
330 trunc.w.s $f2, $f2
331 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled