[webkit-changes] [WebKit/WebKit] 672628: [JSC] Fix SIMD in new BBQ

Yusuke Suzuki noreply at github.com
Wed Feb 22 13:42:39 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 672628fb19da7b1b93ab08eaa288fdb3ef5897d9
      https://github.com/WebKit/WebKit/commit/672628fb19da7b1b93ab08eaa288fdb3ef5897d9
  Author: Yusuke Suzuki <ysuzuki at apple.com>
  Date:   2023-02-22 (Wed, 22 Feb 2023)

  Changed paths:
    M Source/JavaScriptCore/b3/air/AirLowerMacros.cpp
    M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp

  Log Message:
  -----------
  [JSC] Fix SIMD in new BBQ
https://bugs.webkit.org/show_bug.cgi?id=252736
rdar://105769837

Reviewed by Mark Lam.

Fix SIMD ops in new BBQ.

1. Some ops uses possibly-overwritten FPR registers. Fixed with scratch registers.
2. Clean up AirLowerMacros's generation.
3. SIMD splat can take Int constants. Thus we should check and load constants.

* Source/JavaScriptCore/b3/air/AirLowerMacros.cpp:
(JSC::B3::Air::lowerMacros):
* Source/JavaScriptCore/wasm/WasmBBQJIT.cpp:
(JSC::Wasm::BBQJIT::addSIMDSplat):
(JSC::Wasm::BBQJIT::addSIMDI_V):
(JSC::Wasm::BBQJIT::addSIMDV_V):
(JSC::Wasm::BBQJIT::addSIMDRelOp):
(JSC::Wasm::BBQJIT::emitVectorMul):

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




More information about the webkit-changes mailing list