x64: Migrate fcvt_from_sint and fcvt_low_from_sint to ISLE - #4650
Conversation
Subscribe to Label ActionDetailsThis issue or pull request has been labeled: "cranelift", "cranelift:area:x64", "isle"Thus the following users have been cc'd because of the following labels:
To subscribe or unsubscribe from this label, edit the |
cfallin
left a comment
There was a problem hiding this comment.
Thanks! Just one note below as we're going through the opcodes to fully clean up the unary vs binary distinction...
| SseOpcode::Cvtdq2pd => (LegacyPrefixes::_F3, 0x0FE6, 2), | ||
| SseOpcode::Cvtpd2ps => (LegacyPrefixes::_66, 0x0F5A, 2), | ||
| SseOpcode::Cvtps2pd => (LegacyPrefixes::None, 0x0F5A, 2), | ||
| SseOpcode::Cvtdq2ps => (LegacyPrefixes::None, 0x0F5B, 2), |
There was a problem hiding this comment.
In addition to adding it here, can we remove it from here and make sure we switch over any uses of that (tweaking any handwritten uses of it in-place is fine for now)? Since the opcode has unary (one src, one dst) semantics it should only appear here, not elsewhere.
I'm also slightly suspect of the two cvt* opcodes above that one in XmmRmR too, and we should see if they should be moved over too, while we're at it...
ee99a41 to
cc0b69f
Compare
cc0b69f to
0d9a272
Compare
Migrate
fcvt_from_sintandfcvt_low_from_sintto ISLE. Also support theCvtdq2psopcode when emittingXmmUnaryRmRinstructions.