• Ng Zhi An's avatar
    Reland "[wasm-simd][liftoff][x64][ia32] Implement load extend" · 6b228044
    Ng Zhi An authored
    This is a reland of dd19a400
    
    Original change's description:
    > [wasm-simd][liftoff][x64][ia32] Implement load extend
    > 
    > The operations are implemented:
    > 
    > - i16x8.load8x8_s
    > - i16x8.load8x8_u
    > - i32x4.load16x4_s
    > - i32x4.load16x4_u
    > - i64x2.load32x2_s
    > - i64x2.load32x2_u
    > 
    > on x64 and i32. The rest of the arch currently bail out, and will be
    > implemented in subsequent patches.
    > 
    > The liftoff-compiler.cc code looks very similar to the one for LoadMem,
    > the only difference is special handling of kSplat v.s. kExtend. kExtend
    > always loads 8 bytes, so the bounds check and tracing is different.
    > Compared to LoadMem there is less need for pinning, since the result is
    > always going to be in a SIMD/FP register, which is different from the
    > index/addr register.
    > 
    > The enum LoadTransformationKind was moved from
    > function-body-decoder-impl.h to function-body-decoder.h so that no
    > unncessary header file inclusions were needed to liftoff, and also it's
    > a better place for it to live.
    > 
    > Bug: v8:9909
    > Change-Id: I926bcc01c0c3c860223e8c08f91bc4ab3b75c399
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2203730
    > Commit-Queue: Zhi An Ng <zhin@chromium.org>
    > Reviewed-by: Clemens Backes <clemensb@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#67914}
    
    Bug: v8:9909
    Change-Id: Ic1d8dcc00d9c5af0d51100a947161eaa315b7659
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2209268Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
    Commit-Queue: Zhi An Ng <zhin@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#67930}
    6b228044
function-body-decoder.h 6.38 KB