• Ng Zhi An's avatar
    [wasm-simd] Fix I8x16UConvertI16x8 in interpreter · 2e9b0e90
    Ng Zhi An authored
    We were hitting an implementation defined behavior in this instruction:
    
    - v is clamped to uint8_t::min and uint8_t::max
    - then we static_cast<int8_t>(v)
    - any values that don't fit in int8_t (> 127) hits and implementation
    defined behavior
    
    We reuse base::saturated_cast here instead to avoid this undefined
    behavior.
    
    Drive-by cleanup of test cases to make the signed/unsigned cases more
    explicity.
    
    Bug: v8:11372
    Change-Id: I4e92cdfb685d74bd5436ba25f1c00db49a231221
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2659501
    Commit-Queue: Zhi An Ng <zhin@chromium.org>
    Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72491}
    2e9b0e90
Name
Last commit
Last update
..
wasm Loading commit data...
DEPS Loading commit data...
assembler-tester.h Loading commit data...
flag-utils.h Loading commit data...
types-fuzz.h Loading commit data...