-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
[JSC] Use more specific zero-clearing pattern in MacroAssembler #15277
[JSC] Use more specific zero-clearing pattern in MacroAssembler #15277
Conversation
EWS run on current version of this PR (hash c8e238a) |
if (src != dest) | ||
m_assembler.mov<64>(dest, src); | ||
if (src != dest) { | ||
if (src == ARM64Registers::zr && dest != ARM64Registers::sp) |
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.
Why can we not move 0
to sp
?
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.
sp is special register, and we cannot use as a target of movz on ARM64.
https://bugs.webkit.org/show_bug.cgi?id=258497 rdar://problem/111282793 Reviewed by Keith Miller. Use the most efficient & CPU friendly instruction for zero-clearing registers. * Source/JavaScriptCore/assembler/ARM64Assembler.h: * Source/JavaScriptCore/assembler/MacroAssemblerARM64.h: (JSC::MacroAssemblerARM64::moveZeroToDouble): (JSC::MacroAssemblerARM64::moveZeroToFloat): (JSC::MacroAssemblerARM64::move): (JSC::MacroAssemblerARM64::moveZeroToVector): Canonical link: https://commits.webkit.org/265522@main
c8e238a
to
dcb1617
Compare
Committed 265522@main (dcb1617): https://commits.webkit.org/265522@main Reviewed commits have been landed. Closing PR #15277 and removing active labels. |
dcb1617
c8e238a