Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[JSC] ARM64 Imm should accept -UInt12
https://bugs.webkit.org/show_bug.cgi?id=257074 rdar://109596645 Reviewed by Keith Miller. If ARM64 instructions is listed in AirOpcodes.opcode with Imm, this instruction supports -UInt12 and UInt12 forms. We should correctly reflect it in Air::Arg::isValidImmForm. This avoids unnecessary constant materialization for negative values, and it reduces register pressures. Also ARM64 instruction selection can select cmn (cmp with negative UInt12) for example with this change. * Source/JavaScriptCore/assembler/MacroAssemblerARM64.h: (JSC::MacroAssemblerARM64::branchAdd64): (JSC::MacroAssemblerARM64::branchSub64): * Source/JavaScriptCore/b3/B3MoveConstants.cpp: * Source/JavaScriptCore/b3/air/AirArg.h: (JSC::B3::Air::Arg::isValidImmForm): Canonical link: https://commits.webkit.org/264296@main
- Loading branch information
1 parent
26e31e6
commit 09468ef
Showing
3 changed files
with
9 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters