-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Another size estimate fix for mov
s
#64826
Another size estimate fix for mov
s
#64826
Conversation
Tagging subscribers to this area: @JulieLeeMSFT Issue DetailsThis, time, we were overestimating Another small step towards We are expecting a small number of positive diffs.
|
// 64-bit immediates are only supported on mov r64, imm64 | ||
// As per manual: | ||
// Support for 64-bit immediate operands is accomplished by expanding | ||
// the semantics of the existing move (MOV reg, imm16/32) instructions. | ||
if ((valSize > sizeof(INT32)) && (ins != INS_mov)) | ||
valSize = sizeof(INT32); | ||
#else | ||
// occasionally longs get here on x86 | ||
// mov reg, imm64 is the only opcode which takes a full 8 byte immediate | ||
// all other opcodes take a sign-extended 4-byte immediate | ||
noway_assert(valSize <= sizeof(INT32) || !id->idIsCnsReloc()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mov reg, imm64
does not get here as this is for the M
-format instructions, so there is no need to check for it.
Also, this comment is intentionally copied verbatim from emitInsSizeAM
.
25fe641
to
1a2400a
Compare
@dotnet/jit-contrib |
This time, we were overestimating
mov [addr], imm
(by 4 bytes).Another small step towards
CLS_VAR
deletion.A small number of positive diffs.