1. 11 Apr, 2017 37 commits
  2. 10 Apr, 2017 3 commits
    • 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
    • bbudge's avatar
      [ARM] Implement D-register versions of vzip, vuzp, and vtrn. · 5f7e6331
      bbudge authored
      LOG=N
      BUG=v8:6020
      
      Review-Url: https://codereview.chromium.org/2797923006
      Cr-Original-Commit-Position: refs/heads/master@{#44536}
      Committed: https://chromium.googlesource.com/v8/v8/+/6588187ae3acaa5b40762c539ee9fe355551bea3
      Review-Url: https://codereview.chromium.org/2797923006
      Cr-Commit-Position: refs/heads/master@{#44540}
      5f7e6331
    • bjaideep's avatar
      PPC/s390: [ignition] Add call bytecodes for undefined receiver · 41b22805
      bjaideep authored
      Port 751e8935
      
      Original Commit Message:
      
          Adds a collection of call bytecodes which have an implicit undefined
          receiver argument, for cases such as global calls where we know that the
          receiver has to be undefined. This way we can skip an LdaUndefined,
          decrease bytecode register pressure, and set a more accurate
          ConvertReceiverMode on the interpreter and TurboFan call.
      
          As a side effect, the "normal" Call bytecode now becomes a rare case
          (only with calls and super property calls), so we get rid of its 0-2
          argument special cases and modify CallProperty[N] to use the
          NotNullOrUndefined ConvertReceiverMode.
      
      R=leszeks@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      LOG=N
      
      Review-Url: https://codereview.chromium.org/2809743003
      Cr-Commit-Position: refs/heads/master@{#44539}
      41b22805