iximeow opened Issue #1497:
In
isa/x86/abi.rs
, callee-save FPRs are represented asF64
. In the only ABI we currently support with callee-save FPRs, we preserve xmm registers, which should be written more specifically asF64x2
or some other equivalently-sized type.F64
gets correct codegen out at the moment, but some optimization that tries to be clever about only preserving the low 64 bits of a callee-save register might break this in the future. It also would make the code less surprising by removing a point of confusion for the reader :)This was done at the time because of a missing
fstDisp8
encoding allowing a REX prefix. Such an encoding might have been added in the intervening time, so hopefully this is a very simple change.
iximeow labeled Issue #1497:
In
isa/x86/abi.rs
, callee-save FPRs are represented asF64
. In the only ABI we currently support with callee-save FPRs, we preserve xmm registers, which should be written more specifically asF64x2
or some other equivalently-sized type.F64
gets correct codegen out at the moment, but some optimization that tries to be clever about only preserving the low 64 bits of a callee-save register might break this in the future. It also would make the code less surprising by removing a point of confusion for the reader :)This was done at the time because of a missing
fstDisp8
encoding allowing a REX prefix. Such an encoding might have been added in the intervening time, so hopefully this is a very simple change.
iximeow labeled Issue #1497:
In
isa/x86/abi.rs
, callee-save FPRs are represented asF64
. In the only ABI we currently support with callee-save FPRs, we preserve xmm registers, which should be written more specifically asF64x2
or some other equivalently-sized type.F64
gets correct codegen out at the moment, but some optimization that tries to be clever about only preserving the low 64 bits of a callee-save register might break this in the future. It also would make the code less surprising by removing a point of confusion for the reader :)This was done at the time because of a missing
fstDisp8
encoding allowing a REX prefix. Such an encoding might have been added in the intervening time, so hopefully this is a very simple change.
github-actions[bot] commented on Issue #1497:
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>
samrat commented on Issue #1497:
Hello! I would like to take a stab at this issue. I'm fairly new to the codebase though, so I'll probably need to spend some time familiarizing myself with how codegen works in Cranelift.
iximeow closed Issue #1497:
In
isa/x86/abi.rs
, callee-save FPRs are represented asF64
. In the only ABI we currently support with callee-save FPRs, we preserve xmm registers, which should be written more specifically asF64x2
or some other equivalently-sized type.F64
gets correct codegen out at the moment, but some optimization that tries to be clever about only preserving the low 64 bits of a callee-save register might break this in the future. It also would make the code less surprising by removing a point of confusion for the reader :)This was done at the time because of a missing
fstDisp8
encoding allowing a REX prefix. Such an encoding might have been added in the intervening time, so hopefully this is a very simple change.
Last updated: Dec 23 2024 at 12:05 UTC