[webkit-changes] [WebKit/WebKit] 0aa3e3: [JSC] Fix x64 CompareIntegerVector

Yusuke Suzuki noreply at github.com
Tue Dec 13 23:51:00 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0aa3e359ab03198c250afecead9196d4e1d7fd2b
      https://github.com/WebKit/WebKit/commit/0aa3e359ab03198c250afecead9196d4e1d7fd2b
  Author: Yusuke Suzuki <ysuzuki at apple.com>
  Date:   2022-12-13 (Tue, 13 Dec 2022)

  Changed paths:
    M Source/JavaScriptCore/assembler/MacroAssemblerX86_64.h
    M Source/JavaScriptCore/b3/air/AirOpcode.opcodes
    M Source/JavaScriptCore/wasm/WasmAirIRGenerator64.cpp

  Log Message:
  -----------
  [JSC] Fix x64 CompareIntegerVector
https://bugs.webkit.org/show_bug.cgi?id=249288
rdar://103335482

Reviewed by Mark Lam.

This patch fixes a bug in x64 CompareIntegerVector, where it does noot account the cases where the left,
right, and dest registers may be the same: specifically, the left == dest, or right == dest, or left == right == dest cases.
We add scratch register to fix this.

* Source/JavaScriptCore/assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::compareIntegerVector):
* Source/JavaScriptCore/b3/air/AirOpcode.opcodes:
* Source/JavaScriptCore/wasm/WasmAirIRGenerator64.cpp:
(JSC::Wasm::AirIRGenerator64::addSIMDRelOp):
(JSC::Wasm::AirIRGenerator64::addConstant):

Canonical link: https://commits.webkit.org/257835@main




More information about the webkit-changes mailing list