Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 09468ef2b3b3474e17c023ad0d02c9fd087bf2ee https://github.com/WebKit/WebKit/commit/09468ef2b3b3474e17c023ad0d02c9fd087bf2ee Author: Yusuke Suzuki <ysuz...@apple.com> Date: 2023-05-20 (Sat, 20 May 2023)
Changed paths: M Source/JavaScriptCore/assembler/MacroAssemblerARM64.h M Source/JavaScriptCore/b3/B3MoveConstants.cpp M Source/JavaScriptCore/b3/air/AirArg.h Log Message: ----------- [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 _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes