Commit 4b43545
committed
CogVM source as per VMMaker.oscog-eem.3545
On ARM64 if homogenous float aggregates can be passed in registers then their
fields are spread across the least-significant halves of the outgoing double-
precision float argument registers.
Thanks to Leonard Geier and Tom Beckmann for this fix.
BTW, generating the RiscV64FFIPlugin also as this is written as a subclass
of ThreadedARM64FFIPlugin. This may or may not be correct. Ken Dickey can
you check?
P.S. we need the FFI test suite extended with tests for homogenous float
aggregates.1 parent e93bc0e commit 4b43545
3 files changed
Lines changed: 120 additions & 42 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | | - | |
| 2 | + | |
| 3 | + | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
178 | 178 | | |
179 | 179 | | |
180 | 180 | | |
181 | | - | |
| 181 | + | |
182 | 182 | | |
183 | 183 | | |
184 | 184 | | |
| |||
547 | 547 | | |
548 | 548 | | |
549 | 549 | | |
550 | | - | |
| 550 | + | |
551 | 551 | | |
552 | 552 | | |
553 | 553 | | |
| |||
627 | 627 | | |
628 | 628 | | |
629 | 629 | | |
| 630 | + | |
630 | 631 | | |
631 | 632 | | |
632 | 633 | | |
| |||
743 | 744 | | |
744 | 745 | | |
745 | 746 | | |
746 | | - | |
| 747 | + | |
| 748 | + | |
747 | 749 | | |
748 | | - | |
749 | | - | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
750 | 764 | | |
751 | 765 | | |
752 | 766 | | |
| |||
838 | 852 | | |
839 | 853 | | |
840 | 854 | | |
841 | | - | |
| 855 | + | |
| 856 | + | |
842 | 857 | | |
843 | | - | |
844 | | - | |
| 858 | + | |
| 859 | + | |
| 860 | + | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
845 | 872 | | |
846 | 873 | | |
847 | 874 | | |
| |||
4578 | 4605 | | |
4579 | 4606 | | |
4580 | 4607 | | |
4581 | | - | |
4582 | | - | |
| 4608 | + | |
4583 | 4609 | | |
4584 | 4610 | | |
4585 | 4611 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | | - | |
| 2 | + | |
| 3 | + | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
178 | 178 | | |
179 | 179 | | |
180 | 180 | | |
181 | | - | |
| 181 | + | |
182 | 182 | | |
183 | 183 | | |
184 | 184 | | |
| |||
547 | 547 | | |
548 | 548 | | |
549 | 549 | | |
550 | | - | |
| 550 | + | |
551 | 551 | | |
552 | 552 | | |
553 | 553 | | |
| |||
627 | 627 | | |
628 | 628 | | |
629 | 629 | | |
| 630 | + | |
630 | 631 | | |
631 | 632 | | |
632 | 633 | | |
| |||
743 | 744 | | |
744 | 745 | | |
745 | 746 | | |
746 | | - | |
| 747 | + | |
| 748 | + | |
747 | 749 | | |
748 | | - | |
749 | | - | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
750 | 764 | | |
751 | 765 | | |
752 | 766 | | |
| |||
831 | 845 | | |
832 | 846 | | |
833 | 847 | | |
834 | | - | |
| 848 | + | |
| 849 | + | |
835 | 850 | | |
836 | | - | |
837 | | - | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
| 854 | + | |
| 855 | + | |
| 856 | + | |
| 857 | + | |
| 858 | + | |
| 859 | + | |
| 860 | + | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
| 864 | + | |
838 | 865 | | |
839 | 866 | | |
840 | 867 | | |
| |||
4409 | 4436 | | |
4410 | 4437 | | |
4411 | 4438 | | |
4412 | | - | |
4413 | | - | |
| 4439 | + | |
4414 | 4440 | | |
4415 | 4441 | | |
4416 | 4442 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | | - | |
| 2 | + | |
| 3 | + | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
178 | 178 | | |
179 | 179 | | |
180 | 180 | | |
181 | | - | |
| 181 | + | |
182 | 182 | | |
183 | 183 | | |
184 | 184 | | |
| |||
546 | 546 | | |
547 | 547 | | |
548 | 548 | | |
549 | | - | |
| 549 | + | |
550 | 550 | | |
551 | 551 | | |
552 | 552 | | |
| |||
626 | 626 | | |
627 | 627 | | |
628 | 628 | | |
| 629 | + | |
629 | 630 | | |
630 | 631 | | |
631 | 632 | | |
| |||
742 | 743 | | |
743 | 744 | | |
744 | 745 | | |
745 | | - | |
| 746 | + | |
| 747 | + | |
746 | 748 | | |
747 | | - | |
748 | | - | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
749 | 763 | | |
750 | 764 | | |
751 | 765 | | |
| |||
830 | 844 | | |
831 | 845 | | |
832 | 846 | | |
833 | | - | |
| 847 | + | |
| 848 | + | |
834 | 849 | | |
835 | | - | |
836 | | - | |
| 850 | + | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
| 854 | + | |
| 855 | + | |
| 856 | + | |
| 857 | + | |
| 858 | + | |
| 859 | + | |
| 860 | + | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
837 | 864 | | |
838 | 865 | | |
839 | 866 | | |
| |||
4445 | 4472 | | |
4446 | 4473 | | |
4447 | 4474 | | |
4448 | | - | |
4449 | | - | |
| 4475 | + | |
4450 | 4476 | | |
4451 | 4477 | | |
4452 | 4478 | | |
| |||
0 commit comments