github-actions[bot] commented on Issue #1774:
Subscribe to Label Action
cc @bnjbvr
<details>
This issue or pull request has been labeled: "cranelift", "cranelift:area:aarch64", "cranelift:area:x64"Thus the following users have been cc'd because of the following labels:
- bnjbvr: cranelift
To subscribe or unsubscribe from this label, edit the <code>.github/subscribe-to-label.json</code> configuration file.
Learn more.
</details>
bjorn3 commented on Issue #1774:
The SystemV abi on AArch64 uses
x0
andx1
to return pairs of integers. Could you please do that in Cranelif too? Even if only in the non baldrdash variant of the abi?
cfallin commented on Issue #1774:
The SystemV abi on AArch64 uses
x0
andx1
to return pairs of integers. Could you please do that in Cranelif too? Even if only in the non baldrdash variant of the abi?Happy to take a followup patch for this, but perhaps not in the initial patch, if only because I don't have a way to test it easily. As far as I can tell, the principle in the past (e.g. in #1178) was to keep the ABI as simple as possible initially. I'm not opposed to declaring that we achieve full SysV ABI compatibility eventually, but it's a higher bar for sure!
bjorn3 commented on Issue #1774:
Keeping the abi simple is fine, but I want to have all the primitives necessary to implement full SystemV abi support from the clif ir producer side.
cfallin commented on Issue #1774:
@bjorn3: after more thought, I think it actually wouldn't be too bad to at least give a "all return values are in registers; error if > K returns" (K = 8 on aarch64?) mode. Perhaps we can define this to be the default if we're not in Baldrdash (SpiderMonkey) mode. This would give you the building blocks needed to legalize whatever other ABI (SysV or otherwise) down to CLIF. Does that sound reasonable?
bjorn3 commented on Issue #1774:
:+1:
cfallin commented on Issue #1774:
Updated to return values in x0-x7 by default.
@bnjbvr, PTAL -- I think we'll need to land this first before we can version-bump vendored Cranelift in SpiderMonkey and fix the issues there. Thanks!
Last updated: Dec 23 2024 at 13:07 UTC