[webkit-changes] [WebKit/WebKit] 46168c: Implemented SIMD trunc instructions.

Daniel Liu noreply at github.com
Tue Jun 13 15:01:13 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 46168caf6713a0f0287f2fa5b04861e586750c6d
      https://github.com/WebKit/WebKit/commit/46168caf6713a0f0287f2fa5b04861e586750c6d
  Author: Daniel Liu <danlliu at umich.edu>
  Date:   2023-06-13 (Tue, 13 Jun 2023)

  Changed paths:
    A JSTests/wasm/stress/simd-const-relaxed-f32-trunc.js
    A JSTests/wasm/stress/simd-const-relaxed-f64-trunc.js
    M Source/JavaScriptCore/b3/B3LowerToAir.cpp
    M Source/JavaScriptCore/b3/B3Opcode.cpp
    M Source/JavaScriptCore/b3/B3Opcode.h
    M Source/JavaScriptCore/b3/B3SIMDValue.h
    M Source/JavaScriptCore/b3/B3Validate.cpp
    M Source/JavaScriptCore/b3/B3Value.cpp
    M Source/JavaScriptCore/b3/B3Value.h
    M Source/JavaScriptCore/b3/B3ValueInlines.h
    M Source/JavaScriptCore/b3/B3ValueKey.cpp
    M Source/JavaScriptCore/wasm/WasmAirIRGenerator64.cpp
    M Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp
    M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp
    M Source/JavaScriptCore/wasm/WasmFunctionParser.h
    M Source/JavaScriptCore/wasm/WasmSIMDOpcodes.h

  Log Message:
  -----------
  Implemented SIMD trunc instructions.
https://bugs.webkit.org/show_bug.cgi?id=257923
rdar://problem/110554488

Reviewed by Justin Michaud.

Implemented and added tests for relaxed_trunc_f32x4_s, relaxed_trunc_f32x4_u, relaxed_trunc_f64x2_s_zero, and relaxed_trunc_64x2_u_zero.

* JSTests/wasm/stress/simd-const-relaxed-f32-trunc.js: Added.
(from.string_appeared_here.import.as.assert.from.string_appeared_here.let.wat.module.func.export.string_appeared_here.param.sz.i32.result.i32.i32.const.9.drop.v128.const.f32x4.1.5.2.4.3.3.4.2.i32x4.relaxed_trunc_f32x4_s.return.i32x4.extract_lane.1.func.export.string_appeared_here.param.sz.i32.result.i32.v128.const.f32x4.1.4.2.3.3.2.4.1.i32x4.relaxed_trunc_f32x4_s.return.i32x4.extract_lane.1.func.export.string_appeared_here.param.sz.i32.result.i32.v128.const.f32x4.1.5.2.4.3.3.4.2.i32x4.relaxed_trunc_f32x4_u.return.i32x4.extract_lane.1.func.export.string_appeared_here.param.sz.i32.result.i32.v128.const.f32x4.14.0.1.39.16.5.1.0.i32x4.relaxed_trunc_f32x4_u.return.i32x4.extract_lane.2.async test):
* JSTests/wasm/stress/simd-const-relaxed-f64-trunc.js: Added.
(from.string_appeared_here.import.as.assert.from.string_appeared_here.let.wat.module.func.export.string_appeared_here.param.sz.i32.result.i32.i32.const.9.drop.v128.const.f64x2.1.5.1.5.i32x4.relaxed_trunc_f64x2_s_zero.return.i32x4.extract_lane.1.func.export.string_appeared_here.param.sz.i32.result.i32.v128.const.f64x2.1.4.2.3.i32x4.relaxed_trunc_f64x2_s_zero.return.i32x4.extract_lane.2.func.export.string_appeared_here.param.sz.i32.result.i32.v128.const.f64x2.1.5.2.4.i32x4.relaxed_trunc_f64x2_u_zero.return.i32x4.extract_lane.1.func.export.string_appeared_here.param.sz.i32.result.i32.v128.const.f64x2.14.0.1.39.i32x4.relaxed_trunc_f64x2_u_zero.return.i32x4.extract_lane.2.async test):
* Source/JavaScriptCore/b3/B3LowerToAir.cpp:
* Source/JavaScriptCore/b3/B3Opcode.cpp:
(WTF::printInternal):
* Source/JavaScriptCore/b3/B3Opcode.h:
* Source/JavaScriptCore/b3/B3SIMDValue.h:
* Source/JavaScriptCore/b3/B3Validate.cpp:
* Source/JavaScriptCore/b3/B3Value.cpp:
(JSC::B3::Value::effects const):
(JSC::B3::Value::key const):
* Source/JavaScriptCore/b3/B3Value.h:
* Source/JavaScriptCore/b3/B3ValueInlines.h:
* Source/JavaScriptCore/b3/B3ValueKey.cpp:
(JSC::B3::ValueKey::materialize const):
* Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::addSIMDV_V):
* Source/JavaScriptCore/wasm/WasmBBQJIT.cpp:
(JSC::Wasm::BBQJIT::addSIMDV_V):
* Source/JavaScriptCore/wasm/WasmFunctionParser.h:
(JSC::Wasm::FunctionParser<Context>::simd):
* Source/JavaScriptCore/wasm/WasmSIMDOpcodes.h:
(JSC::dumpSIMDLaneOperation):
(JSC::isRelaxedSIMDOperation):

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




More information about the webkit-changes mailing list