-
Ng Zhi An authored
These instructions should always treat inputs as signed, and saturate to unsigned min/max values. E.g. given -1, it should saturate to 0. The spec text, https://github.com/WebAssembly/simd/blob/master/proposals/simd/SIMD.md#integer-to-integer-narrowing, has been updated to describe this. The changes here include codegen changes to ia32, x64, arm, and arm64, changes to arm simulator, assembler, and disassembler to handle the case of treating input as signed and narrowing to unsigned. The vqmovn instruction can handle this case, our assembler wasn't allowing callers to specify this. The interpreter and scalar lowering are also fixed with this change. Bug: v8:9729 Change-Id: I6f72baa825f59037f7754485df6a2964af59fe31 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1879423Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by: Bill Budge <bbudge@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#65051}
e9277642