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