Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f958a5f2b00b9ed097be2b8602f7a574b9ded447
      
https://github.com/WebKit/WebKit/commit/f958a5f2b00b9ed097be2b8602f7a574b9ded447
  Author: David Degazio <[email protected]>
  Date:   2022-11-30 (Wed, 30 Nov 2022)

  Changed paths:
    A JSTests/wasm/stress/simd-return-value-alignment.js
    M Source/JavaScriptCore/jit/RegisterAtOffsetList.cpp
    M Source/JavaScriptCore/jit/Width.h

  Log Message:
  -----------
  Fix assumed alignment of 128-bit Widths
https://bugs.webkit.org/show_bug.cgi?id=248481
rdar://102515450

Reviewed by Yusuke Suzuki.

Currently, when building a RegisterAtOffsetList, the required alignment of each
register's value is assumed to be the size of the register. However, in our 
current
WebAssembly SIMD implementation, vectors are only aligned to multiples of eight
bytes. This patch adds a new alignmentForWidth function to the Width header so 
we
can control alignment independently from register size and properly represent 
how
SIMD registers are treated.

* JSTests/wasm/stress/simd-return-value-alignment.js: Added.
(type.0.result.i32.local.v128.i32.const.42.v128.const.i32x4.0x00000000.0x00000000.0x00000000.0x00000000.local.0.export.string_appeared_here.func.0.async
 test):
* Source/JavaScriptCore/jit/RegisterAtOffsetList.cpp:
(JSC::RegisterAtOffsetList::RegisterAtOffsetList):
* Source/JavaScriptCore/jit/Width.h:
(JSC::alignmentForWidth):

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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to