[webkit-changes] [WebKit/WebKit] 7d8a35: [WebAssembly SIMD] Emulate 8-bit shift instruction...

Commit Queue noreply at github.com
Mon Dec 19 12:46:06 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 7d8a35c36444a89da6244c8122e7bd12780ab3f6
      https://github.com/WebKit/WebKit/commit/7d8a35c36444a89da6244c8122e7bd12780ab3f6
  Author: David Degazio <d_degazio at apple.com>
  Date:   2022-12-19 (Mon, 19 Dec 2022)

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

  Log Message:
  -----------
  [WebAssembly SIMD] Emulate 8-bit shift instructions and i8x16.popcnt on Intel
https://bugs.webkit.org/show_bug.cgi?id=248995
rdar://103159176

Reviewed by Yusuke Suzuki.

Adds implementations for 8-bit shift and popcount SIMD instructions on Intel,
along with i64x2 arithmetic right shift. With this patch, our support for
WebAssembly SIMD on Intel is feature-complete for BBQ Air, and we pass all
spec tests for the Air backend.

* Source/JavaScriptCore/assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::compareFloatingPointVector):
(JSC::MacroAssemblerX86_64::vectorAndnot):
(JSC::MacroAssemblerX86_64::vectorTruncSatSignedFloat64):
(JSC::MacroAssemblerX86_64::vectorUshl8):
(JSC::MacroAssemblerX86_64::vectorUshr8):
(JSC::MacroAssemblerX86_64::vectorSshr8):
(JSC::MacroAssemblerX86_64::vectorPopcnt): Deleted.
* Source/JavaScriptCore/assembler/X86Assembler.h:
(JSC::X86Assembler::vpunpcklbw_rrr):
(JSC::X86Assembler::vpunpckhbw_rrr):
(JSC::X86Assembler::vcmpps_rrr):
(JSC::X86Assembler::vcmppd_rrr):
(JSC::X86Assembler::vpsllw_i8rr):
(JSC::X86Assembler::vpslld_i8rr):
* Source/JavaScriptCore/b3/air/AirLowerMacros.cpp:
(JSC::B3::Air::lowerMacros):
* Source/JavaScriptCore/b3/air/AirOpcode.opcodes:
* Source/JavaScriptCore/wasm/WasmAirIRGenerator64.cpp:
(JSC::Wasm::AirIRGenerator64::addSIMDV_V):
(JSC::Wasm::AirIRGenerator64::addSIMDRelOp):
(JSC::Wasm::AirIRGenerator64::addSIMDShift):

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




More information about the webkit-changes mailing list