• bbudge's avatar
    [WASM SIMD] Implement packing and unpacking integer conversions. · dbfc0300
    bbudge authored
    - Adds WASM opcodes I32x4SConvertI16x8Low, I32x4SConvertI16x8High,
      I32x4UConvertI16x8Low, I32x4UConvertI16x8High, which unpack half of
      an I16x8 register into a whole I32x4 register, with signed or unsigned
      extension. Having separate Low/High opcodes works around the difficulty
      of having multiple output registers, which would be necessary if we unpacked
      the entire I16x8 register.
    
    - Adds WASM opcodes I16x8SConvertI8x16Low, I16x8SConvertI8x16High,
      I16x8UConvertI8x16Low, I16x8UConvertI8x16High, similarly to above.
    
    - Adds WASM opcodes I16x8SConvertI32x4, I16x8UConvertI32x4,
      I8x16SConvert16x8, I8x16UConvertI16x8, which pack two source registers
      into a single destination register with signed or unsigned saturation. These
      could have been separated into half operations, but this is simpler to
      implement with SSE, AVX, and is acceptable on ARM. It also avoids adding
      operations that only modify half of their destination register.
    
    - Implements these opcodes for ARM.
    
    LOG=N
    BUG=v8:6020
    
    Review-Url: https://codereview.chromium.org/2800523002
    Cr-Commit-Position: refs/heads/master@{#44541}
    dbfc0300
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
docs Loading commit data...
gni Loading commit data...
gypfiles Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...