[webkit-changes] [WebKit/WebKit] 45c054: [JSC] Optimize Move32 in ARM64
Yusuke Suzuki
noreply at github.com
Mon May 22 10:55:34 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 45c0547c1d8e948bee6c53314d285d7ed7b7a63d
https://github.com/WebKit/WebKit/commit/45c0547c1d8e948bee6c53314d285d7ed7b7a63d
Author: Yusuke Suzuki <ysuzuki at apple.com>
Date: 2023-05-22 (Mon, 22 May 2023)
Changed paths:
M Source/JavaScriptCore/assembler/MacroAssemblerARM64.h
M Source/JavaScriptCore/b3/air/AirAllocateRegistersByGraphColoring.cpp
Log Message:
-----------
[JSC] Optimize Move32 in ARM64
https://bugs.webkit.org/show_bug.cgi?id=257097
rdar://109615916
Reviewed by Michael Saboff.
Move32 is actually more costly than Move in ARM64. We should prefer Move over Move32 in register allocator in ARM64.
We also use "and" instead of "uxth" for zero-extend ops since "and" is cheaper than "uxth" (and clang chooses it).
* Source/JavaScriptCore/assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::zeroExtend16To32):
(JSC::MacroAssemblerARM64::zeroExtend16To64):
(JSC::MacroAssemblerARM64::zeroExtend8To32):
(JSC::MacroAssemblerARM64::zeroExtend8To64):
(JSC::MacroAssemblerARM64::zeroExtend32ToWord):
* Source/JavaScriptCore/b3/air/AirAllocateRegistersByGraphColoring.cpp:
Canonical link: https://commits.webkit.org/264333@main
More information about the webkit-changes
mailing list