Commit 4a56480
committed
[X86][SATCVT] Reduce MIN/MAXSS/D by conversion instruction result
CVTSD2SI returns INT_MIN/LONG_MIN when underflow happens.
VCVTPS/D2UD/QQ returns INT_MAX/LONG_MAX when overflow happens.
We can reduce one MIN/MAXSS/D instruction leveraging the result of the conversion instruction.
Partially fixes #1363421 parent 0a17427 commit 4a56480
File tree
5 files changed
+639
-21
lines changed- llvm
- lib/Target/X86
- test/CodeGen/X86
5 files changed
+639
-21
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21851 | 21851 | | |
21852 | 21852 | | |
21853 | 21853 | | |
| 21854 | + | |
| 21855 | + | |
| 21856 | + | |
| 21857 | + | |
| 21858 | + | |
| 21859 | + | |
| 21860 | + | |
| 21861 | + | |
| 21862 | + | |
21854 | 21863 | | |
21855 | 21864 | | |
21856 | 21865 | | |
| |||
21912 | 21921 | | |
21913 | 21922 | | |
21914 | 21923 | | |
| 21924 | + | |
21915 | 21925 | | |
21916 | | - | |
21917 | | - | |
| 21926 | + | |
| 21927 | + | |
21918 | 21928 | | |
21919 | 21929 | | |
21920 | 21930 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
9 | 12 | | |
10 | 13 | | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| |||
619 | 619 | | |
620 | 620 | | |
621 | 621 | | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
622 | 625 | | |
623 | 626 | | |
624 | | - | |
625 | | - | |
626 | | - | |
627 | 627 | | |
628 | 628 | | |
629 | 629 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1453 | 1453 | | |
1454 | 1454 | | |
1455 | 1455 | | |
| 1456 | + | |
| 1457 | + | |
| 1458 | + | |
1456 | 1459 | | |
1457 | 1460 | | |
1458 | | - | |
1459 | | - | |
1460 | | - | |
1461 | 1461 | | |
1462 | 1462 | | |
1463 | 1463 | | |
1464 | 1464 | | |
1465 | 1465 | | |
| 1466 | + | |
| 1467 | + | |
| 1468 | + | |
1466 | 1469 | | |
1467 | 1470 | | |
1468 | | - | |
1469 | | - | |
1470 | | - | |
1471 | 1471 | | |
1472 | 1472 | | |
1473 | 1473 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
418 | 418 | | |
419 | 419 | | |
420 | 420 | | |
421 | | - | |
| 421 | + | |
422 | 422 | | |
423 | | - | |
424 | | - | |
425 | | - | |
| 423 | + | |
426 | 424 | | |
427 | 425 | | |
428 | 426 | | |
429 | 427 | | |
430 | 428 | | |
431 | 429 | | |
| 430 | + | |
| 431 | + | |
432 | 432 | | |
433 | | - | |
434 | | - | |
435 | | - | |
436 | 433 | | |
437 | 434 | | |
438 | 435 | | |
| |||
0 commit comments