Lines Matching +full:0 +full:x86

2 ; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=-sse -O3 | FileCheck %s --check-prefixes=X86
5 define i32 @test_oeq_q(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
6 ; X86-LABEL: test_oeq_q:
7 ; X86: # %bb.0:
8 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
9 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
10 ; X86-NEXT: fucompp
11 ; X86-NEXT: wait
12 ; X86-NEXT: fnstsw %ax
13 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
14 ; X86-NEXT: sahf
15 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
16 ; X86-NEXT: jne .LBB0_3
17 ; X86-NEXT: # %bb.1:
18 ; X86-NEXT: jp .LBB0_3
19 ; X86-NEXT: # %bb.2:
20 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
21 ; X86-NEXT: .LBB0_3:
22 ; X86-NEXT: movl (%eax), %eax
23 ; X86-NEXT: retl
26 ; X64: # %bb.0:
28 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
29 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
31 ; X64-NEXT: fstp %st(0)
38 metadata !"fpexcept.strict") #0
43 define i32 @test_ogt_q(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
44 ; X86-LABEL: test_ogt_q:
45 ; X86: # %bb.0:
46 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
47 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
48 ; X86-NEXT: fucompp
49 ; X86-NEXT: wait
50 ; X86-NEXT: fnstsw %ax
51 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
52 ; X86-NEXT: sahf
53 ; X86-NEXT: ja .LBB1_1
54 ; X86-NEXT: # %bb.2:
55 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
56 ; X86-NEXT: movl (%eax), %eax
57 ; X86-NEXT: retl
58 ; X86-NEXT: .LBB1_1:
59 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
60 ; X86-NEXT: movl (%eax), %eax
61 ; X86-NEXT: retl
64 ; X64: # %bb.0:
66 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
67 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
69 ; X64-NEXT: fstp %st(0)
75 metadata !"fpexcept.strict") #0
80 define i32 @test_oge_q(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
81 ; X86-LABEL: test_oge_q:
82 ; X86: # %bb.0:
83 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
84 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
85 ; X86-NEXT: fucompp
86 ; X86-NEXT: wait
87 ; X86-NEXT: fnstsw %ax
88 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
89 ; X86-NEXT: sahf
90 ; X86-NEXT: jae .LBB2_1
91 ; X86-NEXT: # %bb.2:
92 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
93 ; X86-NEXT: movl (%eax), %eax
94 ; X86-NEXT: retl
95 ; X86-NEXT: .LBB2_1:
96 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
97 ; X86-NEXT: movl (%eax), %eax
98 ; X86-NEXT: retl
101 ; X64: # %bb.0:
103 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
104 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
106 ; X64-NEXT: fstp %st(0)
112 metadata !"fpexcept.strict") #0
117 define i32 @test_olt_q(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
118 ; X86-LABEL: test_olt_q:
119 ; X86: # %bb.0:
120 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
121 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
122 ; X86-NEXT: fucompp
123 ; X86-NEXT: wait
124 ; X86-NEXT: fnstsw %ax
125 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
126 ; X86-NEXT: sahf
127 ; X86-NEXT: ja .LBB3_1
128 ; X86-NEXT: # %bb.2:
129 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
130 ; X86-NEXT: movl (%eax), %eax
131 ; X86-NEXT: retl
132 ; X86-NEXT: .LBB3_1:
133 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
134 ; X86-NEXT: movl (%eax), %eax
135 ; X86-NEXT: retl
138 ; X64: # %bb.0:
140 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
141 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
143 ; X64-NEXT: fstp %st(0)
149 metadata !"fpexcept.strict") #0
154 define i32 @test_ole_q(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
155 ; X86-LABEL: test_ole_q:
156 ; X86: # %bb.0:
157 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
158 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
159 ; X86-NEXT: fucompp
160 ; X86-NEXT: wait
161 ; X86-NEXT: fnstsw %ax
162 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
163 ; X86-NEXT: sahf
164 ; X86-NEXT: jae .LBB4_1
165 ; X86-NEXT: # %bb.2:
166 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
167 ; X86-NEXT: movl (%eax), %eax
168 ; X86-NEXT: retl
169 ; X86-NEXT: .LBB4_1:
170 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
171 ; X86-NEXT: movl (%eax), %eax
172 ; X86-NEXT: retl
175 ; X64: # %bb.0:
177 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
178 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
180 ; X64-NEXT: fstp %st(0)
186 metadata !"fpexcept.strict") #0
191 define i32 @test_one_q(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
192 ; X86-LABEL: test_one_q:
193 ; X86: # %bb.0:
194 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
195 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
196 ; X86-NEXT: fucompp
197 ; X86-NEXT: wait
198 ; X86-NEXT: fnstsw %ax
199 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
200 ; X86-NEXT: sahf
201 ; X86-NEXT: jne .LBB5_1
202 ; X86-NEXT: # %bb.2:
203 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
204 ; X86-NEXT: movl (%eax), %eax
205 ; X86-NEXT: retl
206 ; X86-NEXT: .LBB5_1:
207 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
208 ; X86-NEXT: movl (%eax), %eax
209 ; X86-NEXT: retl
212 ; X64: # %bb.0:
214 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
215 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
217 ; X64-NEXT: fstp %st(0)
223 metadata !"fpexcept.strict") #0
228 define i32 @test_ord_q(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
229 ; X86-LABEL: test_ord_q:
230 ; X86: # %bb.0:
231 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
232 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
233 ; X86-NEXT: fucompp
234 ; X86-NEXT: wait
235 ; X86-NEXT: fnstsw %ax
236 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
237 ; X86-NEXT: sahf
238 ; X86-NEXT: jnp .LBB6_1
239 ; X86-NEXT: # %bb.2:
240 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
241 ; X86-NEXT: movl (%eax), %eax
242 ; X86-NEXT: retl
243 ; X86-NEXT: .LBB6_1:
244 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
245 ; X86-NEXT: movl (%eax), %eax
246 ; X86-NEXT: retl
249 ; X64: # %bb.0:
251 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
252 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
254 ; X64-NEXT: fstp %st(0)
260 metadata !"fpexcept.strict") #0
265 define i32 @test_ueq_q(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
266 ; X86-LABEL: test_ueq_q:
267 ; X86: # %bb.0:
268 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
269 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
270 ; X86-NEXT: fucompp
271 ; X86-NEXT: wait
272 ; X86-NEXT: fnstsw %ax
273 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
274 ; X86-NEXT: sahf
275 ; X86-NEXT: je .LBB7_1
276 ; X86-NEXT: # %bb.2:
277 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
278 ; X86-NEXT: movl (%eax), %eax
279 ; X86-NEXT: retl
280 ; X86-NEXT: .LBB7_1:
281 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
282 ; X86-NEXT: movl (%eax), %eax
283 ; X86-NEXT: retl
286 ; X64: # %bb.0:
288 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
289 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
291 ; X64-NEXT: fstp %st(0)
297 metadata !"fpexcept.strict") #0
302 define i32 @test_ugt_q(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
303 ; X86-LABEL: test_ugt_q:
304 ; X86: # %bb.0:
305 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
306 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
307 ; X86-NEXT: fucompp
308 ; X86-NEXT: wait
309 ; X86-NEXT: fnstsw %ax
310 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
311 ; X86-NEXT: sahf
312 ; X86-NEXT: jb .LBB8_1
313 ; X86-NEXT: # %bb.2:
314 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
315 ; X86-NEXT: movl (%eax), %eax
316 ; X86-NEXT: retl
317 ; X86-NEXT: .LBB8_1:
318 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
319 ; X86-NEXT: movl (%eax), %eax
320 ; X86-NEXT: retl
323 ; X64: # %bb.0:
325 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
326 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
328 ; X64-NEXT: fstp %st(0)
334 metadata !"fpexcept.strict") #0
339 define i32 @test_uge_q(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
340 ; X86-LABEL: test_uge_q:
341 ; X86: # %bb.0:
342 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
343 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
344 ; X86-NEXT: fucompp
345 ; X86-NEXT: wait
346 ; X86-NEXT: fnstsw %ax
347 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
348 ; X86-NEXT: sahf
349 ; X86-NEXT: jbe .LBB9_1
350 ; X86-NEXT: # %bb.2:
351 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
352 ; X86-NEXT: movl (%eax), %eax
353 ; X86-NEXT: retl
354 ; X86-NEXT: .LBB9_1:
355 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
356 ; X86-NEXT: movl (%eax), %eax
357 ; X86-NEXT: retl
360 ; X64: # %bb.0:
362 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
363 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
365 ; X64-NEXT: fstp %st(0)
371 metadata !"fpexcept.strict") #0
376 define i32 @test_ult_q(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
377 ; X86-LABEL: test_ult_q:
378 ; X86: # %bb.0:
379 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
380 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
381 ; X86-NEXT: fucompp
382 ; X86-NEXT: wait
383 ; X86-NEXT: fnstsw %ax
384 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
385 ; X86-NEXT: sahf
386 ; X86-NEXT: jb .LBB10_1
387 ; X86-NEXT: # %bb.2:
388 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
389 ; X86-NEXT: movl (%eax), %eax
390 ; X86-NEXT: retl
391 ; X86-NEXT: .LBB10_1:
392 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
393 ; X86-NEXT: movl (%eax), %eax
394 ; X86-NEXT: retl
397 ; X64: # %bb.0:
399 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
400 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
402 ; X64-NEXT: fstp %st(0)
408 metadata !"fpexcept.strict") #0
413 define i32 @test_ule_q(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
414 ; X86-LABEL: test_ule_q:
415 ; X86: # %bb.0:
416 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
417 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
418 ; X86-NEXT: fucompp
419 ; X86-NEXT: wait
420 ; X86-NEXT: fnstsw %ax
421 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
422 ; X86-NEXT: sahf
423 ; X86-NEXT: jbe .LBB11_1
424 ; X86-NEXT: # %bb.2:
425 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
426 ; X86-NEXT: movl (%eax), %eax
427 ; X86-NEXT: retl
428 ; X86-NEXT: .LBB11_1:
429 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
430 ; X86-NEXT: movl (%eax), %eax
431 ; X86-NEXT: retl
434 ; X64: # %bb.0:
436 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
437 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
439 ; X64-NEXT: fstp %st(0)
445 metadata !"fpexcept.strict") #0
450 define i32 @test_une_q(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
451 ; X86-LABEL: test_une_q:
452 ; X86: # %bb.0:
453 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
454 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
455 ; X86-NEXT: fucompp
456 ; X86-NEXT: wait
457 ; X86-NEXT: fnstsw %ax
458 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
459 ; X86-NEXT: sahf
460 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
461 ; X86-NEXT: jne .LBB12_3
462 ; X86-NEXT: # %bb.1:
463 ; X86-NEXT: jp .LBB12_3
464 ; X86-NEXT: # %bb.2:
465 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
466 ; X86-NEXT: .LBB12_3:
467 ; X86-NEXT: movl (%eax), %eax
468 ; X86-NEXT: retl
471 ; X64: # %bb.0:
473 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
474 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
476 ; X64-NEXT: fstp %st(0)
483 metadata !"fpexcept.strict") #0
488 define i32 @test_uno_q(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
489 ; X86-LABEL: test_uno_q:
490 ; X86: # %bb.0:
491 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
492 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
493 ; X86-NEXT: fucompp
494 ; X86-NEXT: wait
495 ; X86-NEXT: fnstsw %ax
496 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
497 ; X86-NEXT: sahf
498 ; X86-NEXT: jp .LBB13_1
499 ; X86-NEXT: # %bb.2:
500 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
501 ; X86-NEXT: movl (%eax), %eax
502 ; X86-NEXT: retl
503 ; X86-NEXT: .LBB13_1:
504 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
505 ; X86-NEXT: movl (%eax), %eax
506 ; X86-NEXT: retl
509 ; X64: # %bb.0:
511 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
512 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
514 ; X64-NEXT: fstp %st(0)
520 metadata !"fpexcept.strict") #0
525 define i32 @test_oeq_s(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
526 ; X86-LABEL: test_oeq_s:
527 ; X86: # %bb.0:
528 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
529 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
530 ; X86-NEXT: fcompp
531 ; X86-NEXT: wait
532 ; X86-NEXT: fnstsw %ax
533 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
534 ; X86-NEXT: sahf
535 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
536 ; X86-NEXT: jne .LBB14_3
537 ; X86-NEXT: # %bb.1:
538 ; X86-NEXT: jp .LBB14_3
539 ; X86-NEXT: # %bb.2:
540 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
541 ; X86-NEXT: .LBB14_3:
542 ; X86-NEXT: movl (%eax), %eax
543 ; X86-NEXT: retl
546 ; X64: # %bb.0:
548 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
549 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
551 ; X64-NEXT: fstp %st(0)
558 metadata !"fpexcept.strict") #0
563 define i32 @test_ogt_s(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
564 ; X86-LABEL: test_ogt_s:
565 ; X86: # %bb.0:
566 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
567 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
568 ; X86-NEXT: fcompp
569 ; X86-NEXT: wait
570 ; X86-NEXT: fnstsw %ax
571 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
572 ; X86-NEXT: sahf
573 ; X86-NEXT: ja .LBB15_1
574 ; X86-NEXT: # %bb.2:
575 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
576 ; X86-NEXT: movl (%eax), %eax
577 ; X86-NEXT: retl
578 ; X86-NEXT: .LBB15_1:
579 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
580 ; X86-NEXT: movl (%eax), %eax
581 ; X86-NEXT: retl
584 ; X64: # %bb.0:
586 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
587 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
589 ; X64-NEXT: fstp %st(0)
595 metadata !"fpexcept.strict") #0
600 define i32 @test_oge_s(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
601 ; X86-LABEL: test_oge_s:
602 ; X86: # %bb.0:
603 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
604 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
605 ; X86-NEXT: fcompp
606 ; X86-NEXT: wait
607 ; X86-NEXT: fnstsw %ax
608 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
609 ; X86-NEXT: sahf
610 ; X86-NEXT: jae .LBB16_1
611 ; X86-NEXT: # %bb.2:
612 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
613 ; X86-NEXT: movl (%eax), %eax
614 ; X86-NEXT: retl
615 ; X86-NEXT: .LBB16_1:
616 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
617 ; X86-NEXT: movl (%eax), %eax
618 ; X86-NEXT: retl
621 ; X64: # %bb.0:
623 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
624 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
626 ; X64-NEXT: fstp %st(0)
632 metadata !"fpexcept.strict") #0
637 define i32 @test_olt_s(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
638 ; X86-LABEL: test_olt_s:
639 ; X86: # %bb.0:
640 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
641 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
642 ; X86-NEXT: fcompp
643 ; X86-NEXT: wait
644 ; X86-NEXT: fnstsw %ax
645 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
646 ; X86-NEXT: sahf
647 ; X86-NEXT: ja .LBB17_1
648 ; X86-NEXT: # %bb.2:
649 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
650 ; X86-NEXT: movl (%eax), %eax
651 ; X86-NEXT: retl
652 ; X86-NEXT: .LBB17_1:
653 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
654 ; X86-NEXT: movl (%eax), %eax
655 ; X86-NEXT: retl
658 ; X64: # %bb.0:
660 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
661 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
663 ; X64-NEXT: fstp %st(0)
669 metadata !"fpexcept.strict") #0
674 define i32 @test_ole_s(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
675 ; X86-LABEL: test_ole_s:
676 ; X86: # %bb.0:
677 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
678 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
679 ; X86-NEXT: fcompp
680 ; X86-NEXT: wait
681 ; X86-NEXT: fnstsw %ax
682 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
683 ; X86-NEXT: sahf
684 ; X86-NEXT: jae .LBB18_1
685 ; X86-NEXT: # %bb.2:
686 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
687 ; X86-NEXT: movl (%eax), %eax
688 ; X86-NEXT: retl
689 ; X86-NEXT: .LBB18_1:
690 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
691 ; X86-NEXT: movl (%eax), %eax
692 ; X86-NEXT: retl
695 ; X64: # %bb.0:
697 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
698 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
700 ; X64-NEXT: fstp %st(0)
706 metadata !"fpexcept.strict") #0
711 define i32 @test_one_s(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
712 ; X86-LABEL: test_one_s:
713 ; X86: # %bb.0:
714 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
715 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
716 ; X86-NEXT: fcompp
717 ; X86-NEXT: wait
718 ; X86-NEXT: fnstsw %ax
719 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
720 ; X86-NEXT: sahf
721 ; X86-NEXT: jne .LBB19_1
722 ; X86-NEXT: # %bb.2:
723 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
724 ; X86-NEXT: movl (%eax), %eax
725 ; X86-NEXT: retl
726 ; X86-NEXT: .LBB19_1:
727 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
728 ; X86-NEXT: movl (%eax), %eax
729 ; X86-NEXT: retl
732 ; X64: # %bb.0:
734 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
735 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
737 ; X64-NEXT: fstp %st(0)
743 metadata !"fpexcept.strict") #0
748 define i32 @test_ord_s(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
749 ; X86-LABEL: test_ord_s:
750 ; X86: # %bb.0:
751 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
752 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
753 ; X86-NEXT: fcompp
754 ; X86-NEXT: wait
755 ; X86-NEXT: fnstsw %ax
756 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
757 ; X86-NEXT: sahf
758 ; X86-NEXT: jnp .LBB20_1
759 ; X86-NEXT: # %bb.2:
760 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
761 ; X86-NEXT: movl (%eax), %eax
762 ; X86-NEXT: retl
763 ; X86-NEXT: .LBB20_1:
764 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
765 ; X86-NEXT: movl (%eax), %eax
766 ; X86-NEXT: retl
769 ; X64: # %bb.0:
771 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
772 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
774 ; X64-NEXT: fstp %st(0)
780 metadata !"fpexcept.strict") #0
785 define i32 @test_ueq_s(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
786 ; X86-LABEL: test_ueq_s:
787 ; X86: # %bb.0:
788 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
789 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
790 ; X86-NEXT: fcompp
791 ; X86-NEXT: wait
792 ; X86-NEXT: fnstsw %ax
793 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
794 ; X86-NEXT: sahf
795 ; X86-NEXT: je .LBB21_1
796 ; X86-NEXT: # %bb.2:
797 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
798 ; X86-NEXT: movl (%eax), %eax
799 ; X86-NEXT: retl
800 ; X86-NEXT: .LBB21_1:
801 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
802 ; X86-NEXT: movl (%eax), %eax
803 ; X86-NEXT: retl
806 ; X64: # %bb.0:
808 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
809 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
811 ; X64-NEXT: fstp %st(0)
817 metadata !"fpexcept.strict") #0
822 define i32 @test_ugt_s(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
823 ; X86-LABEL: test_ugt_s:
824 ; X86: # %bb.0:
825 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
826 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
827 ; X86-NEXT: fcompp
828 ; X86-NEXT: wait
829 ; X86-NEXT: fnstsw %ax
830 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
831 ; X86-NEXT: sahf
832 ; X86-NEXT: jb .LBB22_1
833 ; X86-NEXT: # %bb.2:
834 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
835 ; X86-NEXT: movl (%eax), %eax
836 ; X86-NEXT: retl
837 ; X86-NEXT: .LBB22_1:
838 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
839 ; X86-NEXT: movl (%eax), %eax
840 ; X86-NEXT: retl
843 ; X64: # %bb.0:
845 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
846 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
848 ; X64-NEXT: fstp %st(0)
854 metadata !"fpexcept.strict") #0
859 define i32 @test_uge_s(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
860 ; X86-LABEL: test_uge_s:
861 ; X86: # %bb.0:
862 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
863 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
864 ; X86-NEXT: fcompp
865 ; X86-NEXT: wait
866 ; X86-NEXT: fnstsw %ax
867 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
868 ; X86-NEXT: sahf
869 ; X86-NEXT: jbe .LBB23_1
870 ; X86-NEXT: # %bb.2:
871 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
872 ; X86-NEXT: movl (%eax), %eax
873 ; X86-NEXT: retl
874 ; X86-NEXT: .LBB23_1:
875 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
876 ; X86-NEXT: movl (%eax), %eax
877 ; X86-NEXT: retl
880 ; X64: # %bb.0:
882 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
883 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
885 ; X64-NEXT: fstp %st(0)
891 metadata !"fpexcept.strict") #0
896 define i32 @test_ult_s(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
897 ; X86-LABEL: test_ult_s:
898 ; X86: # %bb.0:
899 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
900 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
901 ; X86-NEXT: fcompp
902 ; X86-NEXT: wait
903 ; X86-NEXT: fnstsw %ax
904 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
905 ; X86-NEXT: sahf
906 ; X86-NEXT: jb .LBB24_1
907 ; X86-NEXT: # %bb.2:
908 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
909 ; X86-NEXT: movl (%eax), %eax
910 ; X86-NEXT: retl
911 ; X86-NEXT: .LBB24_1:
912 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
913 ; X86-NEXT: movl (%eax), %eax
914 ; X86-NEXT: retl
917 ; X64: # %bb.0:
919 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
920 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
922 ; X64-NEXT: fstp %st(0)
928 metadata !"fpexcept.strict") #0
933 define i32 @test_ule_s(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
934 ; X86-LABEL: test_ule_s:
935 ; X86: # %bb.0:
936 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
937 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
938 ; X86-NEXT: fcompp
939 ; X86-NEXT: wait
940 ; X86-NEXT: fnstsw %ax
941 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
942 ; X86-NEXT: sahf
943 ; X86-NEXT: jbe .LBB25_1
944 ; X86-NEXT: # %bb.2:
945 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
946 ; X86-NEXT: movl (%eax), %eax
947 ; X86-NEXT: retl
948 ; X86-NEXT: .LBB25_1:
949 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
950 ; X86-NEXT: movl (%eax), %eax
951 ; X86-NEXT: retl
954 ; X64: # %bb.0:
956 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
957 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
959 ; X64-NEXT: fstp %st(0)
965 metadata !"fpexcept.strict") #0
970 define i32 @test_une_s(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
971 ; X86-LABEL: test_une_s:
972 ; X86: # %bb.0:
973 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
974 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
975 ; X86-NEXT: fcompp
976 ; X86-NEXT: wait
977 ; X86-NEXT: fnstsw %ax
978 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
979 ; X86-NEXT: sahf
980 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
981 ; X86-NEXT: jne .LBB26_3
982 ; X86-NEXT: # %bb.1:
983 ; X86-NEXT: jp .LBB26_3
984 ; X86-NEXT: # %bb.2:
985 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
986 ; X86-NEXT: .LBB26_3:
987 ; X86-NEXT: movl (%eax), %eax
988 ; X86-NEXT: retl
991 ; X64: # %bb.0:
993 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
994 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
996 ; X64-NEXT: fstp %st(0)
1003 metadata !"fpexcept.strict") #0
1008 define i32 @test_uno_s(i32 %a, i32 %b, x86_fp80 %f1, x86_fp80 %f2) #0 {
1009 ; X86-LABEL: test_uno_s:
1010 ; X86: # %bb.0:
1011 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
1012 ; X86-NEXT: fldt {{[0-9]+}}(%esp)
1013 ; X86-NEXT: fcompp
1014 ; X86-NEXT: wait
1015 ; X86-NEXT: fnstsw %ax
1016 ; X86-NEXT: # kill: def $ah killed $ah killed $ax
1017 ; X86-NEXT: sahf
1018 ; X86-NEXT: jp .LBB27_1
1019 ; X86-NEXT: # %bb.2:
1020 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
1021 ; X86-NEXT: movl (%eax), %eax
1022 ; X86-NEXT: retl
1023 ; X86-NEXT: .LBB27_1:
1024 ; X86-NEXT: leal {{[0-9]+}}(%esp), %eax
1025 ; X86-NEXT: movl (%eax), %eax
1026 ; X86-NEXT: retl
1029 ; X64: # %bb.0:
1031 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
1032 ; X64-NEXT: fldt {{[0-9]+}}(%rsp)
1034 ; X64-NEXT: fstp %st(0)
1040 metadata !"fpexcept.strict") #0
1045 attributes #0 = { strictfp }