Commit 0d35d2d
committed
[AArch64][SDAG] Lower f16->s16 FP_TO_INT_SAT to *v1f16
Conversions from f16 to s16 performed by FP_TO_INT_SAT can be done
directly within FPRs, e.g. `fcvtzs h0, h0`.
Generating this format reduces the number of instruction required for
correct behaviour, as it sidesteps the issues with incorrect saturation
that arise when using `fcvtzs w0, h0` for the same casts.
Signed-off-by: Kajetan Puchalski <[email protected]>1 parent 319705d commit 0d35d2d
File tree
3 files changed
+22
-11
lines changed- llvm
- lib/Target/AArch64
- test/CodeGen/AArch64
3 files changed
+22
-11
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4911 | 4911 | | |
4912 | 4912 | | |
4913 | 4913 | | |
| 4914 | + | |
| 4915 | + | |
| 4916 | + | |
| 4917 | + | |
| 4918 | + | |
| 4919 | + | |
| 4920 | + | |
| 4921 | + | |
| 4922 | + | |
| 4923 | + | |
| 4924 | + | |
| 4925 | + | |
| 4926 | + | |
| 4927 | + | |
| 4928 | + | |
| 4929 | + | |
| 4930 | + | |
| 4931 | + | |
4914 | 4932 | | |
4915 | 4933 | | |
4916 | 4934 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
670 | 670 | | |
671 | 671 | | |
672 | 672 | | |
673 | | - | |
674 | | - | |
675 | | - | |
676 | | - | |
677 | | - | |
678 | | - | |
679 | | - | |
| 673 | + | |
| 674 | + | |
680 | 675 | | |
681 | 676 | | |
682 | 677 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
531 | 531 | | |
532 | 532 | | |
533 | 533 | | |
534 | | - | |
535 | | - | |
536 | | - | |
537 | | - | |
| 534 | + | |
| 535 | + | |
538 | 536 | | |
539 | 537 | | |
540 | 538 | | |
| |||
0 commit comments