Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WebAssembly SIMD support in Chakra #4200

Merged
merged 72 commits into from
Dec 12, 2017
Merged

Commits on Mar 23, 2017

  1. Adding WASM-SIMD feature flag

    running simple SIMD tests
    
    build ops
    
    generating signatures with macroses
    
    running simple tests for simd build ops
    
    bbrk fix
    
    multi-byte reader
    
     all opcodes
    
    enabling build and extract ops back
    
    separate op file, using flag
    
    i8x16, i16x8 fixes
    
    float fix & i8x16
    
    boolean type fix
    
    aruns comments
    
    binary arithmetics
    
    fixes, review r2
    
    more fixes
    
    fixed macros
    
    fixes
    
    build & extract tests
    
    removing the uneccessary part of fix  7c63df5
    
    renaming wast files for consistency
    arunetm authored and Krovatkin committed Mar 23, 2017
    Configuration menu
    Copy the full SHA
    2ea6c86 View commit details
    Browse the repository at this point in the history
  2. arithmetics tests

    Krovatkin committed Mar 23, 2017
    Configuration menu
    Copy the full SHA
    79c541b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e87d84f View commit details
    Browse the repository at this point in the history
  4. CI failures

    Krovatkin committed Mar 23, 2017
    Configuration menu
    Copy the full SHA
    6bbabaf View commit details
    Browse the repository at this point in the history
  5. CI fixes 2

    Krovatkin committed Mar 23, 2017
    Configuration menu
    Copy the full SHA
    6b89b85 View commit details
    Browse the repository at this point in the history

Commits on Mar 24, 2017

  1. CI 3 fixing win7 failures

    Krovatkin committed Mar 24, 2017
    Configuration menu
    Copy the full SHA
    1e30eec View commit details
    Browse the repository at this point in the history

Commits on Mar 29, 2017

  1. llvm fixes 2

    Krovatkin committed Mar 29, 2017
    Configuration menu
    Copy the full SHA
    65f235c View commit details
    Browse the repository at this point in the history

Commits on Mar 30, 2017

  1. Configuration menu
    Copy the full SHA
    952760c View commit details
    Browse the repository at this point in the history
  2. initial switch to m128

    Krovatkin committed Mar 30, 2017
    Configuration menu
    Copy the full SHA
    5564041 View commit details
    Browse the repository at this point in the history
  3. addressing mike's feedback

    Krovatkin committed Mar 30, 2017
    Configuration menu
    Copy the full SHA
    501145b View commit details
    Browse the repository at this point in the history

Commits on Apr 3, 2017

  1. mike's feedback p2

    Krovatkin committed Apr 3, 2017
    Configuration menu
    Copy the full SHA
    347d683 View commit details
    Browse the repository at this point in the history

Commits on Apr 4, 2017

  1. Configuration menu
    Copy the full SHA
    e373f82 View commit details
    Browse the repository at this point in the history

Commits on Apr 5, 2017

  1. [MERGE chakra-core#2736 @Krovatkin] Initial PR for Wasm.Simd. Include…

    …s build/extract and binary arithmetic ops.
    
    Merge pull request chakra-core#2736 from Krovatkin:wasm-simd-collab
    
    This PR includes
    * A list of SIMD opcodes
    * Initial extensions to WasmBytecodeGenerator and WasmBinaryReader to support reading and generating bytecodes for `extract`, `build` and arithmetic binary operations.
    * Tests for these operations
    * A few fixes
    
    The fixes include:
    * https://github.com/Microsoft/ChakraCore/pull/2736/files#diff-b0ef4db6dba17fc268e8745b695badceL1117
    * https://github.com/Microsoft/ChakraCore/pull/2736/files#diff-9d396b386e20933b7bfbec028a04e8c9R248
    * https://github.com/Microsoft/ChakraCore/pull/2736/files#diff-314ffb76644084b820e66bdfe3f879d9R377
    
    In this version, we decided to not group SIMD operations into one case arm since this way we could encapsulate all SIMD-related reading logic in `ReadOpCode`. We could always move all SIMD ops into a separate case arm later.
    
    I  temp disabled short-signature comparisons since I didn't know what the best way would be to extend it to support SIMD types.
    Cellule committed Apr 5, 2017
    Configuration menu
    Copy the full SHA
    5e21fbd View commit details
    Browse the repository at this point in the history

Commits on Apr 6, 2017

  1. fix uint16_t bbrk

    Krovatkin committed Apr 6, 2017
    Configuration menu
    Copy the full SHA
    38ec30d View commit details
    Browse the repository at this point in the history

Commits on Apr 11, 2017

  1. [MERGE chakra-core#2791 @Krovatkin] fix uint16_t bbrk on wasm.simd br…

    …anch
    
    Merge pull request chakra-core#2791 from Krovatkin:wasm-simd-collab
    Cellule committed Apr 11, 2017
    Configuration menu
    Copy the full SHA
    37a8368 View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2017

  1. Configuration menu
    Copy the full SHA
    5ceb609 View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2017

  1. working loads and stores needs clean up

    loads & stores cleaned up
    Krovatkin committed Jun 16, 2017
    Configuration menu
    Copy the full SHA
    3d31f23 View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2017

  1. simd const operators

    wraparound tests + wraparound fix in OpSimdXXArrGeneric
    Krovatkin committed Jun 26, 2017
    Configuration menu
    Copy the full SHA
    a6fed1a View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2017

  1. [MERGE chakra-core#3185 @Krovatkin] wasm.simd new binary format + loa…

    …d/store + constants
    
    Merge pull request chakra-core#3185 from Krovatkin:wasm.simd_0xfd
    
    This PR contains
    * updates to `WasmBinaryReader` to decode simd ops in the current spec format
    * regenerated tests for load/store and constants
    * load and store ops
    * extract_lane ops
    * ops for generating simd128 constants
    Cellule committed Jun 27, 2017
    Configuration menu
    Copy the full SHA
    6c0f096 View commit details
    Browse the repository at this point in the history

Commits on Jun 30, 2017

  1. replaceLane + tests

    extractlane fix
    
    add missing wasm files for negation and splat tests
    
    addressing Mike's feedback
    Krovatkin committed Jun 30, 2017
    Configuration menu
    Copy the full SHA
    8798239 View commit details
    Browse the repository at this point in the history
  2. [MERGE chakra-core#3237 @Krovatkin] Wasm.simd Negation, Splat, Replac…

    …eLane + tests
    
    Merge pull request chakra-core#3237 from Krovatkin:replacelane
    
    This PR includes:
    * Negation op  + tests
    * Splat op + tests
    * ReplaceLane op + tests
    Cellule committed Jun 30, 2017
    Configuration menu
    Copy the full SHA
    e7f738c View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2017

  1. Configuration menu
    Copy the full SHA
    7650717 View commit details
    Browse the repository at this point in the history
  2. logical ops

    Krovatkin committed Jul 5, 2017
    Configuration menu
    Copy the full SHA
    b43c0ce View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2017

  1. Configuration menu
    Copy the full SHA
    8d5ea33 View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2017

  1. Configuration menu
    Copy the full SHA
    cff6be7 View commit details
    Browse the repository at this point in the history

Commits on Jul 13, 2017

  1. [MERGE chakra-core#3288 @Krovatkin] Logical & TruncConv Ops + Tests

    Merge pull request chakra-core#3288 from Krovatkin:wasm.simd.logical
    
    This PR includes
    
    * logical operations + tests
    * truncation & conversion operations for 32x4 types + tests
    Cellule committed Jul 13, 2017
    Configuration menu
    Copy the full SHA
    e1ab43b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e4acc19 View commit details
    Browse the repository at this point in the history
  3. [MERGE chakra-core#3342 @Krovatkin] WASM.SIMD Use appropriate overloa…

    …ds (matching lane width) of CanonicalizeToBools
    
    Merge pull request chakra-core#3342 from Krovatkin:wasm.simd.compops
    
    This should fix failures in SIMD.validation
    Cellule committed Jul 13, 2017
    Configuration menu
    Copy the full SHA
    52e6330 View commit details
    Browse the repository at this point in the history
  4. comparison ops

    fixing flag
    Krovatkin committed Jul 13, 2017
    Configuration menu
    Copy the full SHA
    3d2fbc9 View commit details
    Browse the repository at this point in the history

Commits on Jul 14, 2017

  1. binary ops + tests

    Krovatkin committed Jul 14, 2017
    Configuration menu
    Copy the full SHA
    00a1a3c View commit details
    Browse the repository at this point in the history

Commits on Jul 20, 2017

  1. merge

    Krovatkin committed Jul 20, 2017
    Configuration menu
    Copy the full SHA
    bc130b8 View commit details
    Browse the repository at this point in the history

Commits on Jul 24, 2017

  1. [MERGE chakra-core#3348 @Krovatkin] WASM.SIMD Comparison ops for 32x4…

    … types
    
    Merge pull request chakra-core#3348 from Krovatkin:wasm.simd.compops2
    
    This PR includes
    * enable comparison operations + tests
    * binary arithmetic operations + tests
    * unary arithmetic operations + tests
    * flag fix to make sure we can pass around v128 within the same wasm module
    Cellule committed Jul 24, 2017
    Configuration menu
    Copy the full SHA
    95e565b View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2017

  1. flag/macro fix

    Krovatkin committed Jul 25, 2017
    Configuration menu
    Copy the full SHA
    3975f88 View commit details
    Browse the repository at this point in the history
  2. more bbrk fixes

    Krovatkin committed Jul 25, 2017
    Configuration menu
    Copy the full SHA
    9f6ceb0 View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2017

  1. missing thunk clang/x64

    Krovatkin committed Jul 26, 2017
    Configuration menu
    Copy the full SHA
    9e4cc60 View commit details
    Browse the repository at this point in the history
  2. prettier macros

    Krovatkin committed Jul 26, 2017
    Configuration menu
    Copy the full SHA
    e5018e8 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d5e5646 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4e0a014 View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2017

  1. Configuration menu
    Copy the full SHA
    074bc4e View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2017

  1. Configuration menu
    Copy the full SHA
    7c7fe6c View commit details
    Browse the repository at this point in the history

Commits on Aug 3, 2017

  1. Configuration menu
    Copy the full SHA
    35be042 View commit details
    Browse the repository at this point in the history
  2. [master>wasm.simd] Integrate master to wasm.simd

    # Conflicts:
    #	lib/WasmReader/WasmBinaryReader.cpp
    Cellule committed Aug 3, 2017
    Configuration menu
    Copy the full SHA
    12c53f9 View commit details
    Browse the repository at this point in the history

Commits on Aug 11, 2017

  1. int64x2 infra

    int64x2
    
    formatting fixes
    
    using scratch area to pass simd vars into helpers
    
    sse2 fallbacks
    
    cleaned up a test file
    
    better seqs
    Krovatkin committed Aug 11, 2017
    Configuration menu
    Copy the full SHA
    25d29a0 View commit details
    Browse the repository at this point in the history
  2. removing unused code

    Krovatkin committed Aug 11, 2017
    Configuration menu
    Copy the full SHA
    b8c4da2 View commit details
    Browse the repository at this point in the history

Commits on Aug 17, 2017

  1. Configuration menu
    Copy the full SHA
    12c4409 View commit details
    Browse the repository at this point in the history

Commits on Aug 18, 2017

  1. Configuration menu
    Copy the full SHA
    8c98360 View commit details
    Browse the repository at this point in the history

Commits on Sep 15, 2017

  1. [MERGE chakra-core#3490 @Krovatkin] WASM.SIMD int64x2 operations

    Merge pull request chakra-core#3490 from Krovatkin:wasm.simd.int64x2
    
    This PR includes:
     * interpreter handlers + lowerer evaluators for most int64x2 ops (e.g. no conversion ops yet since we need float64x2 for that)
     * tests
    
    <!-- Reviewable:start -->
    ---
    This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/microsoft/chakracore/3490)
    <!-- Reviewable:end -->
    arunetm-zz committed Sep 15, 2017
    Configuration menu
    Copy the full SHA
    dc8893b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    bf8d8e7 View commit details
    Browse the repository at this point in the history

Commits on Sep 18, 2017

  1. Configuration menu
    Copy the full SHA
    8ca37c4 View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2017

  1. bitselect

    shuffle decoding
    
    new opcode?
    
    shuffle working
    
    get rid of unaligned, compress asmshuffle bytecode encoding, format fixes
    
    code cleanup
    Krovatkin committed Sep 19, 2017
    Configuration menu
    Copy the full SHA
    7c3ca9c View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2017

  1. Configuration menu
    Copy the full SHA
    4a7149b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    287b00f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a97eaee View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b1761af View commit details
    Browse the repository at this point in the history
  5. float64x2

    Krovatkin committed Sep 25, 2017
    Configuration menu
    Copy the full SHA
    becd54a View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2017

  1. [MERGE chakra-core#3763 @Krovatkin] WASM.SIMD BitSelect & Shuffle ops…

    … + Tests
    
    Merge pull request chakra-core#3763 from Krovatkin:wasm.bitselect2
    
    This PR adds
     * BitSelect + tests
     * Shuffle + tests
    MikeHolman committed Sep 26, 2017
    Configuration menu
    Copy the full SHA
    7d24685 View commit details
    Browse the repository at this point in the history
  2. formatting fixes

    Krovatkin committed Sep 26, 2017
    Configuration menu
    Copy the full SHA
    5587cb4 View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2017

  1. Configuration menu
    Copy the full SHA
    8d04ab3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d4d65f0 View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2017

  1. [MERGE chakra-core#3807 @Krovatkin] WASM.SIMD Float64x2 Ops

    Merge pull request chakra-core#3807 from Krovatkin:wasm.floatx64x2_2
    
    This PR includes
    
    * Float64x2 Ops + tests
    Cellule committed Oct 4, 2017
    Configuration menu
    Copy the full SHA
    89d45e5 View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2017

  1. Configuration menu
    Copy the full SHA
    647fc62 View commit details
    Browse the repository at this point in the history
  2. Fixing x86 build failures

    arunetm-zz committed Oct 20, 2017
    Configuration menu
    Copy the full SHA
    37e52c1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    66bb1a9 View commit details
    Browse the repository at this point in the history

Commits on Oct 26, 2017

  1. Configuration menu
    Copy the full SHA
    d3c6d41 View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2017

  1. Configuration menu
    Copy the full SHA
    e12dac3 View commit details
    Browse the repository at this point in the history
  2. [MERGE chakra-core#4074 @arunetm] WASM.SIMD: Trunc & Conv ops for 64x…

    …2 types
    
    Merge pull request chakra-core#4074 from arunetm:arunetm/wasm.simd.trunc64x2
    
    Truncation & conversion operstions for 64x2 types.
    
    Xplat link error fixes
    arunetm-zz committed Oct 30, 2017
    Configuration menu
    Copy the full SHA
    f70f51c View commit details
    Browse the repository at this point in the history

Commits on Nov 9, 2017

  1. Configuration menu
    Copy the full SHA
    7c94e25 View commit details
    Browse the repository at this point in the history

Commits on Nov 22, 2017

  1. Configuration menu
    Copy the full SHA
    eebff83 View commit details
    Browse the repository at this point in the history

Commits on Nov 26, 2017

  1. Incorporating CR feedback1

    arunetm committed Nov 26, 2017
    Configuration menu
    Copy the full SHA
    1f295d2 View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2017

  1. Code review 2

    arunetm committed Dec 8, 2017
    Configuration menu
    Copy the full SHA
    0291cc2 View commit details
    Browse the repository at this point in the history

Commits on Dec 9, 2017

  1. Configuration menu
    Copy the full SHA
    6bf5bbc View commit details
    Browse the repository at this point in the history

Commits on Dec 10, 2017

  1. Configuration menu
    Copy the full SHA
    982f59e View commit details
    Browse the repository at this point in the history