Commit ce65262
[AArch64][GlobalISel] Fix incorrect handling of fp truncating stores.
When the tablegen patterns fail to select a truncating scalar FPR store,
our manual selection code also failed to handle it silently, trying to
generate an invalid copy. Fix this by adding support in the manual code
to generate a proper subreg copy before selecting a non-truncating store.
(cherry-picked from 04fb9b7)1 parent 2abffbf commit ce65262
File tree
3 files changed
+151
-15
lines changed- llvm
- lib/Target/AArch64/GISel
- test/CodeGen/AArch64/GlobalISel
3 files changed
+151
-15
lines changedLines changed: 31 additions & 11 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
25 | 26 | | |
26 | 27 | | |
27 | 28 | | |
| |||
2701 | 2702 | | |
2702 | 2703 | | |
2703 | 2704 | | |
| 2705 | + | |
2704 | 2706 | | |
2705 | | - | |
| 2707 | + | |
2706 | 2708 | | |
2707 | 2709 | | |
2708 | 2710 | | |
2709 | 2711 | | |
2710 | 2712 | | |
2711 | 2713 | | |
2712 | 2714 | | |
2713 | | - | |
2714 | | - | |
2715 | | - | |
2716 | | - | |
| 2715 | + | |
| 2716 | + | |
| 2717 | + | |
2717 | 2718 | | |
2718 | 2719 | | |
2719 | 2720 | | |
2720 | 2721 | | |
2721 | 2722 | | |
2722 | | - | |
| 2723 | + | |
2723 | 2724 | | |
2724 | 2725 | | |
2725 | 2726 | | |
2726 | | - | |
| 2727 | + | |
2727 | 2728 | | |
2728 | 2729 | | |
2729 | 2730 | | |
| |||
2737 | 2738 | | |
2738 | 2739 | | |
2739 | 2740 | | |
2740 | | - | |
| 2741 | + | |
2741 | 2742 | | |
2742 | 2743 | | |
2743 | 2744 | | |
| |||
2746 | 2747 | | |
2747 | 2748 | | |
2748 | 2749 | | |
2749 | | - | |
| 2750 | + | |
| 2751 | + | |
2750 | 2752 | | |
2751 | 2753 | | |
| 2754 | + | |
| 2755 | + | |
| 2756 | + | |
| 2757 | + | |
| 2758 | + | |
| 2759 | + | |
| 2760 | + | |
| 2761 | + | |
| 2762 | + | |
| 2763 | + | |
| 2764 | + | |
| 2765 | + | |
| 2766 | + | |
| 2767 | + | |
| 2768 | + | |
| 2769 | + | |
| 2770 | + | |
2752 | 2771 | | |
2753 | 2772 | | |
2754 | 2773 | | |
2755 | | - | |
| 2774 | + | |
2756 | 2775 | | |
2757 | 2776 | | |
2758 | 2777 | | |
| |||
2769 | 2788 | | |
2770 | 2789 | | |
2771 | 2790 | | |
2772 | | - | |
| 2791 | + | |
| 2792 | + | |
2773 | 2793 | | |
2774 | 2794 | | |
2775 | 2795 | | |
| |||
Lines changed: 116 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
Lines changed: 4 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
278 | 278 | | |
279 | 279 | | |
280 | 280 | | |
281 | | - | |
| 281 | + | |
282 | 282 | | |
283 | | - | |
| 283 | + | |
284 | 284 | | |
285 | 285 | | |
286 | | - | |
287 | | - | |
| 286 | + | |
| 287 | + | |
288 | 288 | | |
289 | 289 | | |
290 | 290 | | |
| |||
0 commit comments