iximeow opened Issue #1498:
In
isa/x86/abi.rs
we have to save callee-preserved FPRs for some calling conventions. We save these to the stack and reload them before exiting, but at the moment the Cranelift IR operationsstack_load
andstack_store
are not directly encodable. In other parts of a function,stack_load
andstack_store
would be legalized and then optimized into the assembly we'd like (movdqa [rsp + offset], xmm*
), but prologue/epilogue addition happen after both legalization and register allocation.When
stack_load
andstack_store
can be directly encoded, we can switch to those, remove an explicitstack_address
, and simplify x86 callee-preserved FPR machinery.For more, see this comment and this comment.
iximeow labeled Issue #1498:
In
isa/x86/abi.rs
we have to save callee-preserved FPRs for some calling conventions. We save these to the stack and reload them before exiting, but at the moment the Cranelift IR operationsstack_load
andstack_store
are not directly encodable. In other parts of a function,stack_load
andstack_store
would be legalized and then optimized into the assembly we'd like (movdqa [rsp + offset], xmm*
), but prologue/epilogue addition happen after both legalization and register allocation.When
stack_load
andstack_store
can be directly encoded, we can switch to those, remove an explicitstack_address
, and simplify x86 callee-preserved FPR machinery.For more, see this comment and this comment.
github-actions[bot] commented on Issue #1498:
Subscribe to Label Action
cc @bnjbvr
<details>
This issue or pull request has been labeled: "cranelift"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>
iximeow edited Issue #1498:
In
isa/x86/abi.rs
we have to save callee-preserved FPRs for some calling conventions. We save these to the stack and reload them before exiting, but at the moment the Cranelift IR operationsstack_load
andstack_store
are not directly encodable. In other parts of a function,stack_load
andstack_store
would be legalized and then optimized into the assembly we'd like (movdqa [rsp + offset], xmm*
), but prologue/epilogue addition happen after both legalization and register allocation.When
stack_load
andstack_store
can be directly encoded, we can switch to those, remove an explicitstack_address
, and simplify x86 callee-preserved FPR machinery. #1198 adds these encodings.For more, see this comment and this comment.
bjorn3 commented on Issue #1498:
I think this is fixed with the new backend framework.
cfallin closed Issue #1498:
In
isa/x86/abi.rs
we have to save callee-preserved FPRs for some calling conventions. We save these to the stack and reload them before exiting, but at the moment the Cranelift IR operationsstack_load
andstack_store
are not directly encodable. In other parts of a function,stack_load
andstack_store
would be legalized and then optimized into the assembly we'd like (movdqa [rsp + offset], xmm*
), but prologue/epilogue addition happen after both legalization and register allocation.When
stack_load
andstack_store
can be directly encoded, we can switch to those, remove an explicitstack_address
, and simplify x86 callee-preserved FPR machinery. #1198 adds these encodings.For more, see this comment and this comment.
Last updated: Dec 23 2024 at 12:05 UTC