[webkit-changes] [WebKit/WebKit] 5a0f6d: [SIMD] Intel support for saturating integer arithm...

Yijia Huang noreply at github.com
Wed Dec 7 03:34:01 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5a0f6d496df12411613df873460a8b0717a65459
      https://github.com/WebKit/WebKit/commit/5a0f6d496df12411613df873460a8b0717a65459
  Author: Yijia Huang <hyjorc1 at gmail.com>
  Date:   2022-12-07 (Wed, 07 Dec 2022)

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

  Log Message:
  -----------
  [SIMD] Intel support for saturating integer arithmetic operations
https://bugs.webkit.org/show_bug.cgi?id=248862
rdar://103061350

Reviewed by Yusuke Suzuki.

Add WASM SIMD saturating integer arithmetic operations.
https://github.com/WebAssembly/simd/blob/main/proposals/simd/SIMD.md#saturating-integer-arithmetic

* Source/JavaScriptCore/assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::vectorMax):
(JSC::MacroAssemblerX86_64::vectorMin):
(JSC::MacroAssemblerX86_64::vectorAbs):
(JSC::MacroAssemblerX86_64::vectorAddSat):
(JSC::MacroAssemblerX86_64::vectorSubSat):
(JSC::MacroAssemblerX86_64::vectorAvgRound):
(JSC::MacroAssemblerX86_64::vectorMulSat):
* Source/JavaScriptCore/assembler/X86Assembler.h:
(JSC::X86Assembler::paddsb_rr):
(JSC::X86Assembler::vpaddsb_rr):
(JSC::X86Assembler::paddusb_rr):
(JSC::X86Assembler::vpaddusb_rr):
(JSC::X86Assembler::paddsw_rr):
(JSC::X86Assembler::vpaddsw_rr):
(JSC::X86Assembler::paddusw_rr):
(JSC::X86Assembler::vpaddusw_rr):
(JSC::X86Assembler::psubsb_rr):
(JSC::X86Assembler::vpsubsb_rr):
(JSC::X86Assembler::psubusb_rr):
(JSC::X86Assembler::vpsubusb_rr):
(JSC::X86Assembler::psubsw_rr):
(JSC::X86Assembler::vpsubsw_rr):
(JSC::X86Assembler::psubusw_rr):
(JSC::X86Assembler::vpsubusw_rr):
(JSC::X86Assembler::pmaxsb_rr):
(JSC::X86Assembler::vpmaxsb_rr):
(JSC::X86Assembler::pmaxsw_rr):
(JSC::X86Assembler::vpmaxsw_rr):
(JSC::X86Assembler::pmaxsd_rr):
(JSC::X86Assembler::vpmaxsd_rr):
(JSC::X86Assembler::pmaxub_rr):
(JSC::X86Assembler::vpmaxub_rr):
(JSC::X86Assembler::pmaxuw_rr):
(JSC::X86Assembler::vpmaxuw_rr):
(JSC::X86Assembler::pmaxud_rr):
(JSC::X86Assembler::vpmaxud_rr):
(JSC::X86Assembler::pminsb_rr):
(JSC::X86Assembler::vpminsb_rr):
(JSC::X86Assembler::pminsw_rr):
(JSC::X86Assembler::vpminsw_rr):
(JSC::X86Assembler::pminsd_rr):
(JSC::X86Assembler::vpminsd_rr):
(JSC::X86Assembler::pminub_rr):
(JSC::X86Assembler::vpminub_rr):
(JSC::X86Assembler::pminuw_rr):
(JSC::X86Assembler::vpminuw_rr):
(JSC::X86Assembler::pminud_rr):
(JSC::X86Assembler::vpminud_rr):
(JSC::X86Assembler::pavgb_rr):
(JSC::X86Assembler::vpavgb_rr):
(JSC::X86Assembler::pavgw_rr):
(JSC::X86Assembler::vpavgw_rr):
(JSC::X86Assembler::pabsb_rr):
(JSC::X86Assembler::vpabsb_rr):
(JSC::X86Assembler::pabsw_rr):
(JSC::X86Assembler::vpabsw_rr):
(JSC::X86Assembler::pabsd_rr):
(JSC::X86Assembler::vpabsd_rr):
(JSC::X86Assembler::vpxor_rr):
(JSC::X86Assembler::vpsubq_rr):
(JSC::X86Assembler::vblendvpd_rr):
(JSC::X86Assembler::vpmulhrsw_rr):
(JSC::X86Assembler::vpcmpeqw_rr):
(JSC::X86Assembler::X86InstructionFormatter::SingleInstructionBufferWriter::memoryModRM):
* Source/JavaScriptCore/b3/air/AirOpcode.opcodes:
* Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::addSIMDSwizzle):
(JSC::Wasm::AirIRGenerator::addSIMDV_VV):

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




More information about the webkit-changes mailing list