-
Notifications
You must be signed in to change notification settings - Fork 707
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
Use 32-bit XORRegReg to zero registers on x64 #19236
Labels
Comments
R2steven
pushed a commit
to R2steven/openj9
that referenced
this issue
Apr 5, 2024
Swept through x86 codegen and replaced XORRegReg with XOR4RegReg when used to zero a register Closes eclipse-openj9#19236 Signed-off-by: Ryan Stevens <restevens52+eclipse@gmail.com>
R2steven
added a commit
to R2steven/openj9
that referenced
this issue
Apr 12, 2024
Swept through x86 codegen and replaced XORRegReg with XOR4RegReg when used to zero a register Closes eclipse-openj9#19236 Signed-off-by: Ryan Stevens <restevens52@gmail.com>
R2steven
added a commit
to R2steven/openj9
that referenced
this issue
Apr 25, 2024
converted XORRegReg() to XOR4RegReg in AMD64JNILinkage.cpp closes eclipse-openj9#19236 Sighed-off-by: Ryan Stevens restevens52@gmail.com
R2steven
added a commit
to R2steven/openj9
that referenced
this issue
May 6, 2024
Swept through x86 codegen and replaced XORRegReg with XOR4RegReg when used to zero a register Closes eclipse-openj9#19236 Signed-off-by: Ryan Stevens <restevens52@gmail.com>
R2steven
added a commit
to R2steven/openj9
that referenced
this issue
May 6, 2024
Swept through x86 codegen and replaced XORRegReg with XOR4RegReg when used to zero a register Closes eclipse-openj9#19236 Signed-off-by: Ryan Stevens <restevens52@gmail.com>
R2steven
added a commit
to R2steven/openj9
that referenced
this issue
May 6, 2024
Swept through x86 codegen and replaced XORRegReg with XOR4RegReg when used to zero a register Closes eclipse-openj9#19236 Signed-off-by: Ryan Stevens <restevens52@gmail.com> Fix missing cases in AMD64JNILinkage converted XORRegReg() to XOR4RegReg in AMD64JNILinkage.cpp closes eclipse-openj9#19236 Signed-off-by: Ryan Stevens <restevens52@gmail.com>
R2steven
added a commit
to R2steven/openj9
that referenced
this issue
May 6, 2024
Swept through x86 codegen and replaced XORRegReg with XOR4RegReg when used to zero a register Fix missing cases in AMD64JNILinkage converted XORRegReg() to XOR4RegReg in AMD64JNILinkage.cpp closes eclipse-openj9#19236 Signed-off-by: Ryan Stevens <restevens52@gmail.com>
AswathySK
pushed a commit
to AswathySK/openj9
that referenced
this issue
Jun 4, 2024
Swept through x86 codegen and replaced XORRegReg with XOR4RegReg when used to zero a register Fix missing cases in AMD64JNILinkage converted XORRegReg() to XOR4RegReg in AMD64JNILinkage.cpp closes eclipse-openj9#19236 Signed-off-by: Ryan Stevens <restevens52@gmail.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
When XORRegReg is used to zero a register on x64, the 32-bit operand form should be used because the upper 32-bits of the result are automatically zero extended. This will save a REX prefix on each of these instructions (1 byte savings).
Sweep through the x86 code generator looking at where XORRegReg or XOR8RegReg is used for the purpose of zeroing a register and ensure it uses XOR4RegReg instead. I found a few on inspection.
OpenJ9 companion issue to eclipse/omr#7295
The text was updated successfully, but these errors were encountered: