-
Notifications
You must be signed in to change notification settings - Fork 452
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
Merge SIMD proposal #1391
Merge SIMD proposal #1391
Commits on Jun 25, 2020
-
Move implementation of avgr_u into Int functor, require Rep to have t…
…o_int64 and of_int64
Configuration menu - View commit details
-
Copy full SHA for 89d1040 - Browse repository at this point
Copy the full SHA 89d1040View commit details
Commits on Jun 30, 2020
-
Configuration menu - View commit details
-
Copy full SHA for d516baa - Browse repository at this point
Copy the full SHA d516baaView commit details -
Merge pull request WebAssembly#260 from ngzhian/i16x8
Implement i16x8 operations
Configuration menu - View commit details
-
Copy full SHA for f372599 - Browse repository at this point
Copy the full SHA f372599View commit details
Commits on Jul 1, 2020
-
Add i8x16 support (WebAssembly#263)
Implement add sub neg for i8x16, this passes simd_i8x16_arith.wast.
Configuration menu - View commit details
-
Copy full SHA for 6987f8f - Browse repository at this point
Copy the full SHA 6987f8fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 729c635 - Browse repository at this point
Copy the full SHA 729c635View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9f1295a - Browse repository at this point
Copy the full SHA 9f1295aView commit details
Commits on Jul 14, 2020
-
Implement 8x16 abs, min_{s,u}, max_{s,u}, avgr_u (WebAssembly#265)
This passes simd_i8x16_arith2.wast.
Configuration menu - View commit details
-
Copy full SHA for 225a9b2 - Browse repository at this point
Copy the full SHA 225a9b2View commit details -
Support I64x2 (WebAssembly#266)
Add i64x2.{neg,add,sub,mul}, now simd/simd_i64x2_arith.wast passes.
Configuration menu - View commit details
-
Copy full SHA for 7ac7d92 - Browse repository at this point
Copy the full SHA 7ac7d92View commit details -
Update v128.const implementation status for v8 (WebAssembly#268)
* Update v128.const implementation status for v8 * Add note about Chrome version
Configuration menu - View commit details
-
Copy full SHA for f65d981 - Browse repository at this point
Copy the full SHA f65d981View commit details
Commits on Jul 24, 2020
-
Implement v128 bitwise operations (WebAssembly#267)
Not, and, or, xor, andnot. Create V128 submodule for vector bitwise ops, converting to i64x2 for the actual operations
Configuration menu - View commit details
-
Copy full SHA for b82988e - Browse repository at this point
Copy the full SHA b82988eView commit details -
Implement v128 boolean operations (WebAssembly#270)
{i8x16,i16x8,i32x4}_{any_true,all_true} v128.bitselect is used in the tests (simd_boolean.wast) so implemented here using a new AST node, Ternary. Bitselect is the only ternary instruction now.
Configuration menu - View commit details
-
Copy full SHA for c8d539e - Browse repository at this point
Copy the full SHA c8d539eView commit details -
Add SIMD type and value (WebAssembly#269)
Packed data is not defined anywhere. We can specify SIMD as a i128 (128-bit integer). Later when specifying the SIMD instructions, we can use some "expansions" to expand i128 into the required lane shapes. Also, use v128 instead of s128, v128 is already commonly used in many places in this proposal, in the BinarySIMD.md, SIMD.md, and reference interpreter.
Configuration menu - View commit details
-
Copy full SHA for 5247c98 - Browse repository at this point
Copy the full SHA 5247c98View commit details
Commits on Jul 27, 2020
-
Implement SIMD splats using Convert (WebAssembly#274)
i8x16, i16x8, i32x4, i64x2, f32x4, f64x2 splats. Implemented using Convert ast as a splat essentially takes a value of every other type to V128.
Configuration menu - View commit details
-
Copy full SHA for 129da6c - Browse repository at this point
Copy the full SHA 129da6cView commit details -
Implement shl and shr_s for v128 (WebAssembly#272)
shr_u is a bit more tricky due for I8 and I16. E.g. -128 in I8 has all top bits set (sign extended) in an int32, and shr_u using Int's implementation will result in 0xffffffc0, instead of 0x000000c0. But we can't simply change the implementation, since parsing relies on this behavior. I'll figure that out in a later patch.
Configuration menu - View commit details
-
Copy full SHA for 5ef6087 - Browse repository at this point
Copy the full SHA 5ef6087View commit details -
Fix parsing of splat (WebAssembly#277)
Lost the token in the parser during rebases.
Configuration menu - View commit details
-
Copy full SHA for 0419529 - Browse repository at this point
Copy the full SHA 0419529View commit details -
Implement SIMD integer comparisons (WebAssembly#275)
i8x16, i16x8, i32x4, i64x2 eq, ne, lt_s, lt_u, le_s, le_u, gt_s, gt_u, ge_s, ge_u. Implemented in terms of Binary operations, since they return the same v128 type, rather than a boolean like for I32 and I64. Lanes that compare true return all 1s, otherwise all 0s.
Configuration menu - View commit details
-
Copy full SHA for 14772e3 - Browse repository at this point
Copy the full SHA 14772e3View commit details -
Implement SIMD float comparisons (WebAssembly#276)
f32x4, f64x2 eq, ne, lt, le, gt, ge. Similar to integer comparisons, this is implemented with the Binary ast node.
Configuration menu - View commit details
-
Copy full SHA for da8e260 - Browse repository at this point
Copy the full SHA da8e260View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5d24c2c - Browse repository at this point
Copy the full SHA 5d24c2cView commit details -
Fix missing parser non-terminal rule for splat (WebAssembly#280)
This got lost in the rebase too, and WebAssembly#277 only partially fixed it.
Configuration menu - View commit details
-
Copy full SHA for ea4e9e0 - Browse repository at this point
Copy the full SHA ea4e9e0View commit details -
Set OCaml version to 4.08.1 (WebAssembly#279)
The Bytes [0] functions we use require 4.08.1. This should only be set on SIMD repo, since bytes is only used for SIMD implementation. By the time we would like to merge this back into main spec, 4.08.1 should hopefully be widespread enough for us to bump minimum version of OCaml for spec to 4.08.1 too. [0] https://caml.inria.fr/pub/docs/manual-ocaml/libref/Bytes.html see "Binary encoding/decoding of integers"
Configuration menu - View commit details
-
Copy full SHA for 0e85e92 - Browse repository at this point
Copy the full SHA 0e85e92View commit details
Commits on Aug 3, 2020
-
Implement extract lane for the remaining shapes (WebAssembly#281)
i8x16, i16x8, i64x2, f64x2. Created a new extractop that is based on v128op. Use extension type to determine signed or unsigned extract (only used for i8x16 and i16x8).
Configuration menu - View commit details
-
Copy full SHA for 766d7aa - Browse repository at this point
Copy the full SHA 766d7aaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2bab880 - Browse repository at this point
Copy the full SHA 2bab880View commit details
Commits on Aug 4, 2020
-
Implement v8x16.swizzle (WebAssembly#283)
Decided to cheat a little bit, and squeeze v8x16.swizzle into the i8x16 ast node, so that we don't have to create a new v8x16 data type. Semantically it means the same thing, v8x16 is called that way since it doesn't treat the underlying data as any particular type, so treating it as int will work too.
Configuration menu - View commit details
-
Copy full SHA for c75ca82 - Browse repository at this point
Copy the full SHA c75ca82View commit details -
Configuration menu - View commit details
-
Copy full SHA for 686463e - Browse repository at this point
Copy the full SHA 686463eView commit details
Commits on Aug 5, 2020
-
Implement replace_lane for all shapes (WebAssembly#288)
The error messages don't match the tests yet (simd_lane.wast), that still needs to be worked out in WebAssembly#287.
Configuration menu - View commit details
-
Copy full SHA for 377390a - Browse repository at this point
Copy the full SHA 377390aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 21b691f - Browse repository at this point
Copy the full SHA 21b691fView commit details
Commits on Aug 6, 2020
-
Update lane index errors (WebAssembly#289)
- lane indices are u8 (nats), negative values are now parse errors ("unexpected token"), as are values with a positive sign +0x1 - changed a bunch of "expected i8 literal" to "unexpected token", in order to differentiate these syntax errors we probably need to change the parser to match on a bunch of EXTRACT_LANE <token we don't care about> - some "type mismatch" are now unexpected token Fixed WebAssembly#287
Configuration menu - View commit details
-
Copy full SHA for d51c515 - Browse repository at this point
Copy the full SHA d51c515View commit details -
Configuration menu - View commit details
-
Copy full SHA for 53e783e - Browse repository at this point
Copy the full SHA 53e783eView commit details
Commits on Aug 10, 2020
-
Fix SIMD trunc sat (WebAssembly#295)
It was incorrectly using the non-saturing versions, leading to runtime traps.
Configuration menu - View commit details
-
Copy full SHA for 3426204 - Browse repository at this point
Copy the full SHA 3426204View commit details
Commits on Aug 12, 2020
-
Validate lane index (WebAssembly#291)
* Extract lane, parse error for i8x16 and i16x8 * Parse error if simd lane index cannot fit in u8 * Validate lane index in extract and replace
Configuration menu - View commit details
-
Copy full SHA for 44e9f89 - Browse repository at this point
Copy the full SHA 44e9f89View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1f035fc - Browse repository at this point
Copy the full SHA 1f035fcView commit details -
Fix some of the shuffle related error messages (WebAssembly#299)
- some test cases were not written in the correct text format - no more "expected i8 literal", it is now "malformed lane index" - "v8x16.shuffle (v128.const)" is parsed as shuffle with no literals, so the error is "invalid lane length"
Configuration menu - View commit details
-
Copy full SHA for 49eda2a - Browse repository at this point
Copy the full SHA 49eda2aView commit details
Commits on Aug 13, 2020
-
Implement SIMD narrow and widen (WebAssembly#296)
* Implement SIMD narrow and widen These are the operations implemented: - i8x16.narrow_i16x8_s(a: v128, b: v128) -> v128 - i8x16.narrow_i16x8_u(a: v128, b: v128) -> v128 - i16x8.narrow_i32x4_s(a: v128, b: v128) -> v128 - i16x8.narrow_i32x4_u(a: v128, b: v128) -> v128 - i16x8.widen_low_i8x16_s(a: v128) -> v128 - i16x8.widen_high_i8x16_s(a: v128) -> v128 - i16x8.widen_low_i8x16_u(a: v128) -> v128 - i16x8.widen_high_i8x16_u(a: v128) -> v128 - i32x4.widen_low_i16x8_s(a: v128) -> v128 - i32x4.widen_high_i16x8_s(a: v128) -> v128 - i32x4.widen_low_i16x8_u(a: v128) -> v128 - i32x4.widen_high_i16x8_u(a: v128) -> v128 This now passes test/core/simd/simd_conversions.wast. * Fix formatting and ordering of definitions * Apply suggestions from code review - Remove unnecessary parens - use 0xffl for int32 - inline the masks Co-authored-by: Andreas Rossberg <rossberg@mpi-sws.org> * Have widen take a mask instead of function * Pass param as int32 to avoid conversions * Remove _using suffix Co-authored-by: Andreas Rossberg <rossberg@mpi-sws.org>
Configuration menu - View commit details
-
Copy full SHA for 3abad5d - Browse repository at this point
Copy the full SHA 3abad5dView commit details -
Configuration menu - View commit details
-
Copy full SHA for b9fcded - Browse repository at this point
Copy the full SHA b9fcdedView commit details -
Implement add_saturate_{sx} and sub_saturate_{sx} (WebAssembly#300)
These operations are implemented: - i8x16.add_saturate_s(a: v128, b: v128) -> v128 - i8x16.add_saturate_u(a: v128, b: v128) -> v128 - i16x8.add_saturate_s(a: v128, b: v128) -> v128 - i16x8.add_saturate_u(a: v128, b: v128) -> v128 - i8x16.sub_saturate_s(a: v128, b: v128) -> v128 - i8x16.sub_saturate_u(a: v128, b: v128) -> v128 - i16x8.sub_saturate_s(a: v128, b: v128) -> v128 - i16x8.sub_saturate_u(a: v128, b: v128) -> v128 This passes simd_i8x16_sat_arith.wast and simd_i16x8_sat_arith.wast.
Configuration menu - View commit details
-
Copy full SHA for 06bf5d7 - Browse repository at this point
Copy the full SHA 06bf5d7View commit details -
Implement some binary<->text support for SIMD (WebAssembly#298)
This is sufficient to pass test/core/simd/simd_i32x4_arith.wast.
Configuration menu - View commit details
-
Copy full SHA for c8be84a - Browse repository at this point
Copy the full SHA c8be84aView commit details
Commits on Aug 14, 2020
-
Implement binary<->text support for SIMD i8x16 i16x8 i32x4 arithmetic…
… ops (WebAssembly#303) This is sufficient to pass: - test/core/simd/simd_i32x4_arith2.wast - test/core/simd/simd_i8x16_arith.wast - test/core/simd/simd_i8x16_arith2.wast - test/core/simd/simd_i16x8_arith.wast. - test/core/simd/simd_i16x8_arith2.wast
Configuration menu - View commit details
-
Copy full SHA for 0bed616 - Browse repository at this point
Copy the full SHA 0bed616View commit details
Commits on Aug 17, 2020
-
Implement more binary<->text support for SIMD (WebAssembly#304)
This is sufficient to pass test/core/simd/simd_i64x2_arith.wast.
Configuration menu - View commit details
-
Copy full SHA for 6d60a67 - Browse repository at this point
Copy the full SHA 6d60a67View commit details -
Implement more binary<->text support for SIMD (WebAssembly#305)
This is sufficient to pass simd_f32x4.wast, simd_f32x4_arith.wast, and simd_f32x4_cmp.wast.
Configuration menu - View commit details
-
Copy full SHA for 25462e6 - Browse repository at this point
Copy the full SHA 25462e6View commit details -
Implement binary<->text support for SIMD f64x2 ops (WebAssembly#308)
This is sufficient to pass simd_f64x2.wast, simd_f64x2_arith.wast, and simd_f64x2_cmp.wast.
Configuration menu - View commit details
-
Copy full SHA for e57649a - Browse repository at this point
Copy the full SHA e57649aView commit details -
Implement more binary<->text support for SIMD (WebAssembly#309)
This is sufficient to pass simd_i8x16_cmp.wast, simd_i16x8_cmp.wast, and simd_i32x4_cmp.wast.
Configuration menu - View commit details
-
Copy full SHA for 61eb66c - Browse repository at this point
Copy the full SHA 61eb66cView commit details -
Implement more binary<->text support for SIMD (WebAssembly#310)
This is sufficient to pass simd_bitwise.wast.
Configuration menu - View commit details
-
Copy full SHA for d1d2214 - Browse repository at this point
Copy the full SHA d1d2214View commit details -
Implement more binary<->text support for SIMD (WebAssembly#312)
This is sufficient to pass simd_boolean.wast.
Configuration menu - View commit details
-
Copy full SHA for 33b5210 - Browse repository at this point
Copy the full SHA 33b5210View commit details
Commits on Aug 18, 2020
-
Implement more binary<->text support for SIMD (WebAssembly#313)
This is sufficient to pass simd_load.wast and simd_store.wast. There are some extra instructions, like swizzle and i8x16.shl that is implemented here, because simd_load.wast uses them.
Configuration menu - View commit details
-
Copy full SHA for 5e03088 - Browse repository at this point
Copy the full SHA 5e03088View commit details -
Implement binary<->text support for SIMD lane operations (WebAssembly…
…#314) This is sufficient to pass simd_lane.wast.
Configuration menu - View commit details
-
Copy full SHA for 7ac3c74 - Browse repository at this point
Copy the full SHA 7ac3c74View commit details
Commits on Aug 19, 2020
-
Implement binary<->text support for SIMD conversion operations (WebAs…
…sembly#315) This is sufficient to pass simd_conversions.wast.
Configuration menu - View commit details
-
Copy full SHA for d1c7783 - Browse repository at this point
Copy the full SHA d1c7783View commit details
Commits on Aug 21, 2020
-
Implement binary<->text support for SIMD saturating ops and some shif…
…ts (WebAssembly#317) This is sufficient to pass simd_splat.wast.
Configuration menu - View commit details
-
Copy full SHA for 2d0868d - Browse repository at this point
Copy the full SHA 2d0868dView commit details -
Implement SIMD shr_u (WebAssembly#311)
Shifting requires masking i8 and i16 top bits first, since we store them sign-extended. Implement `needs_extend` correctly, previously it was implementing the opposite, but it was used by callers correctly, so change all callers to use `not needs_extend`.
Configuration menu - View commit details
-
Copy full SHA for b81310b - Browse repository at this point
Copy the full SHA b81310bView commit details
Commits on Aug 24, 2020
-
Configuration menu - View commit details
-
Copy full SHA for b89087d - Browse repository at this point
Copy the full SHA b89087dView commit details
Commits on Aug 25, 2020
-
Implement bitmask for SIMD (WebAssembly#319)
i8x16.bitmask, i16x8.bitmask, i32x4.bitmask. Add some tests to simd_boolean.wast (just a simple correctness check, future work is to generate the test, move it into a python script.) This introduces a new AST, SimdBitmask, since it doesn't really fit in with any existing AST (Test returns a bool).
Configuration menu - View commit details
-
Copy full SHA for e2e7006 - Browse repository at this point
Copy the full SHA e2e7006View commit details -
Configuration menu - View commit details
-
Copy full SHA for 91fe007 - Browse repository at this point
Copy the full SHA 91fe007View commit details -
Configuration menu - View commit details
-
Copy full SHA for e06fca2 - Browse repository at this point
Copy the full SHA e06fca2View commit details -
Fix to_hex_string for I8 and I16 (WebAssembly#320)
Print out the full i32 hex string, then extract the lower 2 or 4 chars.
Configuration menu - View commit details
-
Copy full SHA for b7aea06 - Browse repository at this point
Copy the full SHA b7aea06View commit details
Commits on Aug 26, 2020
-
Complete binary<->text for SIMD shifts (WebAssembly#325)
Adding all shr_u and also i64x2 shifts.
Configuration menu - View commit details
-
Copy full SHA for 6c852bb - Browse repository at this point
Copy the full SHA 6c852bbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9f36f3c - Browse repository at this point
Copy the full SHA 9f36f3cView commit details -
Implement SIMD load splat and load extend
Add more pack types for SIMD load splat and load extends.
Configuration menu - View commit details
-
Copy full SHA for d051fb6 - Browse repository at this point
Copy the full SHA d051fb6View commit details
Commits on Aug 27, 2020
-
Merge pull request WebAssembly#329 from ngzhian/master
Merge from upstream spec
Configuration menu - View commit details
-
Copy full SHA for e24bf43 - Browse repository at this point
Copy the full SHA e24bf43View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9303b60 - Browse repository at this point
Copy the full SHA 9303b60View commit details -
Configuration menu - View commit details
-
Copy full SHA for c5d59f5 - Browse repository at this point
Copy the full SHA c5d59f5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 38045d7 - Browse repository at this point
Copy the full SHA 38045d7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0f07076 - Browse repository at this point
Copy the full SHA 0f07076View commit details
Commits on Aug 28, 2020
-
Configuration menu - View commit details
-
Copy full SHA for e8b2f1f - Browse repository at this point
Copy the full SHA e8b2f1fView commit details -
Implement JS output for SIMD (WebAssembly#331)
* Implement JS output for SIMD V128 is not exposed to JS at all, so transform all functions with V128 in the signatures into consts, compare with the expected value, and reduce it to a int32. An assertion against a SimdResult needs to be converted into a plain Const containing a v128. This conversion is tricky since SimdResult can contain both LitPat and NanPat. NaNs need special treatment to mask and compare to a canonical value. For simplicity, we build a mask for all the patterns in a SimdResult (even for literals, which will have a mask with all bits set). That way the test is consistent: - v128.const(mask) - v128.and - v128.const(expected) - i8x16.eq - i8x16.all_true - br_if 0 to unreachable * Formatting fixes Co-authored-by: Andreas Rossberg <rossberg@mpi-sws.org> * Remove redundant prefixes Co-authored-by: Andreas Rossberg <rossberg@mpi-sws.org>
Configuration menu - View commit details
-
Copy full SHA for 403859f - Browse repository at this point
Copy the full SHA 403859fView commit details
Commits on Aug 31, 2020
-
Implement SIMD load splat and load extend (WebAssembly#307)
* Implement SIMD load splat and load extend Add more pack types for SIMD load splat and load extends. * Create new pack_simd type and SimdLoad AST * Reorder functions * Formatting * Simplify simd packed loads * Add SimdStore and make simd_loadop more consistent New AST nodes SimdLoad and SimdStore.
Configuration menu - View commit details
-
Copy full SHA for b295c5d - Browse repository at this point
Copy the full SHA b295c5dView commit details -
Implement binary<->text support for SIMD load splats and extends
The names are still pre WebAssembly#297, once that's finalize I can fix this up (after the sync WebAssembly#323). With this change, test/core/run.py passes on all test cases in simd/.
Configuration menu - View commit details
-
Copy full SHA for 61085bd - Browse repository at this point
Copy the full SHA 61085bdView commit details -
Merge pull request WebAssembly#334 from ngzhian/simd-loads-binary-encode
Implement binary<->text support for SIMD load splats and extends
Configuration menu - View commit details
-
Copy full SHA for ab14709 - Browse repository at this point
Copy the full SHA ab14709View commit details -
Fix SIMD bitmask (WebAssembly#335)
Bitmask was confused about endianness. The text format for v128.const is little endian, so the lowest lane set translates to the least significant bit set.
Configuration menu - View commit details
-
Copy full SHA for bd0f5af - Browse repository at this point
Copy the full SHA bd0f5afView commit details
Commits on Sep 1, 2020
-
Run SIMD tests (WebAssembly#326)
This enables running all the SIMD tests (in test/core/simd) whenever we do `make test`.
Configuration menu - View commit details
-
Copy full SHA for 7076939 - Browse repository at this point
Copy the full SHA 7076939View commit details -
Configuration menu - View commit details
-
Copy full SHA for 71d4fa7 - Browse repository at this point
Copy the full SHA 71d4fa7View commit details
Commits on Sep 8, 2020
-
Rename shuffle and swizzle to i8x16 prefix (WebAssembly#321)
v8x16.shuffle and v8x16.swizzle is now i8x16.shuffle and i8x16.swizzle respectively. Fixed WebAssembly#316.
Configuration menu - View commit details
-
Copy full SHA for 13da962 - Browse repository at this point
Copy the full SHA 13da962View commit details -
Rename SIMD load splats and load extends. (WebAssembly#322)
Following suggestions in WebAssembly#297, renaming load splats and load extends to something more consistent. Fixed WebAssembly#297.
Configuration menu - View commit details
-
Copy full SHA for 3e652c3 - Browse repository at this point
Copy the full SHA 3e652c3View commit details -
Specify text format for SIMD (WebAssembly#336)
* Specify text format for SIMD * Reword description of SIMD memory instructions Co-authored-by: Ben Smith <binjimin@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 163e122 - Browse repository at this point
Copy the full SHA 163e122View commit details
Commits on Sep 10, 2020
-
Shorten saturating instructions to sat (WebAssembly#341)
Also update the test generation script, and regenerate all test files. Adressess WebAssembly#332 (not closing so other tools can also use it to track their rename progress).
Configuration menu - View commit details
-
Copy full SHA for e7c2002 - Browse repository at this point
Copy the full SHA e7c2002View commit details
Commits on Sep 11, 2020
-
Pseudo-Minimum and Pseudo-Maximum instructions (WebAssembly#122)
Introduce Pseudo-Minimum (`f32x4.pmin` and `f64x2.pmin`) and Pseudo-Maximum (`f32x4.pmax` and `f64x2.pmax`) instructions, which implement Pseudo-Minimum and Pseudo-Maximum operations with slightly different semantics than the Minimum and Maximum in the current spec. Pseudo-Minimum is defined as `pmin(a, b) := b < a ? b : a` and Pseudo-Maximum is defined as `pmax(a, b) := a < b ? b : a`. "Pseudo" in the name refers to the fact that these operations may not return the minimum in case of signed zero inputs, in particular: - `pmin(+0.0, -0.0) == +0.0` - `pmax(-0.0, +0.0) == -0.0`
Configuration menu - View commit details
-
Copy full SHA for e1ff82e - Browse repository at this point
Copy the full SHA e1ff82eView commit details -
Floating-point rounding instructions (WebAssembly#232)
New floating-point rounding instructions: - Round to nearest integer, ties to even: `f32x4.nearest`/`f64x2.nearest` - Round to integer towards zero (truncate to integer): `f32x4.trunc`/`f64x2.trunc` - Round to integer above (ceiling): `f32x4.ceil`/`f64x2.ceil` - Round to integer below (floor): `f32x4.floor`/`f64x2.floor`
Configuration menu - View commit details
-
Copy full SHA for 8e87db7 - Browse repository at this point
Copy the full SHA 8e87db7View commit details
Commits on Sep 17, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 1167507 - Browse repository at this point
Copy the full SHA 1167507View commit details -
Inline bytes expansion into text format (WebAssembly#347)
Also formatting of SIMD instructions
Configuration menu - View commit details
-
Copy full SHA for 9576fd0 - Browse repository at this point
Copy the full SHA 9576fd0View commit details -
Implement floating-point rounding in interpreter (WebAssembly#344)
Implement f32x4 and f64x2 ceil, floor, trunc, nearest. They have the same behavior as the f32 and f64 instructions. Also implemented to encoding and decoding. These new instructions were added to simd_f32x4.wast test case, and the test generation script is updated with these new instructions.
Configuration menu - View commit details
-
Copy full SHA for da4f63b - Browse repository at this point
Copy the full SHA da4f63bView commit details
Commits on Sep 21, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 34a5da5 - Browse repository at this point
Copy the full SHA 34a5da5View commit details
Commits on Sep 22, 2020
-
Configuration menu - View commit details
-
Copy full SHA for bbb88f2 - Browse repository at this point
Copy the full SHA bbb88f2View commit details -
Update implementation status (WebAssembly#355)
Add pmin/pmax and mark pmin/pmax and floating-point rounding instructions as implemented on both V8 and SM (based on this mozilla/gecko-dev@8070228).
Configuration menu - View commit details
-
Copy full SHA for 65d3504 - Browse repository at this point
Copy the full SHA 65d3504View commit details -
Configuration menu - View commit details
-
Copy full SHA for e0fff32 - Browse repository at this point
Copy the full SHA e0fff32View commit details -
Implement pmin/pmax in interpreter (WebAssembly#349)
Implement f32x4 pmin, pmax, and f64x2 pmin, pmax. Encoding/decoding is included. Added new test generation scripts and generated tests.
Configuration menu - View commit details
-
Copy full SHA for f49eb17 - Browse repository at this point
Copy the full SHA f49eb17View commit details -
Configuration menu - View commit details
-
Copy full SHA for 334a923 - Browse repository at this point
Copy the full SHA 334a923View commit details
Commits on Sep 23, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 43825a2 - Browse repository at this point
Copy the full SHA 43825a2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9579d43 - Browse repository at this point
Copy the full SHA 9579d43View commit details
Commits on Sep 24, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 09a621b - Browse repository at this point
Copy the full SHA 09a621bView commit details
Commits on Sep 28, 2020
-
Merge pull request WebAssembly#362 from ngzhian/master
Merge upstream/master
Configuration menu - View commit details
-
Copy full SHA for b00d926 - Browse repository at this point
Copy the full SHA b00d926View commit details
Commits on Sep 29, 2020
-
Clean up some SIMD TODOs (WebAssembly#367)
Replace them with assert false, to indicate that those aren't supposed to happen, rather than unimplemented.
Configuration menu - View commit details
-
Copy full SHA for d9e9d22 - Browse repository at this point
Copy the full SHA d9e9d22View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1a08547 - Browse repository at this point
Copy the full SHA 1a08547View commit details
Commits on Oct 5, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 8a7c145 - Browse repository at this point
Copy the full SHA 8a7c145View commit details
Commits on Oct 6, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 9c0aaec - Browse repository at this point
Copy the full SHA 9c0aaecView commit details
Commits on Oct 8, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 1839dc1 - Browse repository at this point
Copy the full SHA 1839dc1View commit details -
Move simd operations out into a new file (WebAssembly#377)
* Move simd operations out into a new file * Rename Ternary to SimdTernary
Configuration menu - View commit details
-
Copy full SHA for 73bbae8 - Browse repository at this point
Copy the full SHA 73bbae8View commit details
Commits on Oct 15, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 8af851e - Browse repository at this point
Copy the full SHA 8af851eView commit details
Commits on Oct 19, 2020
-
Configuration menu - View commit details
-
Copy full SHA for a5eb71a - Browse repository at this point
Copy the full SHA a5eb71aView commit details -
Configuration menu - View commit details
-
Copy full SHA for b9b54b0 - Browse repository at this point
Copy the full SHA b9b54b0View commit details -
i32x4.dot_i16x8_s instruction (WebAssembly#127)
* i32x4.dot_i16x8_s instruction * Update proposals/simd/ImplementationStatus.md Co-authored-by: Thomas Lively <7121787+tlively@users.noreply.github.com> Co-authored-by: Thomas Lively <7121787+tlively@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 1cfd484 - Browse repository at this point
Copy the full SHA 1cfd484View commit details
Commits on Nov 2, 2020
-
Implement v128.load32_zero and v128.load64_zero (WebAssembly#388)
The tests are adapted from load_extend tests.
Configuration menu - View commit details
-
Copy full SHA for 2e2e494 - Browse repository at this point
Copy the full SHA 2e2e494View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2f4dc50 - Browse repository at this point
Copy the full SHA 2f4dc50View commit details
Commits on Nov 4, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 4686958 - Browse repository at this point
Copy the full SHA 4686958View commit details -
Update SpiderMonkey implementation status
Dot and LoadZero landed a while back, should be in FF83.
Configuration menu - View commit details
-
Copy full SHA for 9d6d59d - Browse repository at this point
Copy the full SHA 9d6d59dView commit details -
Merge pull request WebAssembly#394 from WebAssembly/ff-impl-status-20…
…201104 Update SpiderMonkey implementation status
Configuration menu - View commit details
-
Copy full SHA for 599b20d - Browse repository at this point
Copy the full SHA 599b20dView commit details -
Implement i32x4.dot_i16x8_s (WebAssembly#393)
It multiplies respective lanes from the 2 input operands, then adds adjacent lanes. This was merged into the proposal in WebAssembly#127.
Configuration menu - View commit details
-
Copy full SHA for d154084 - Browse repository at this point
Copy the full SHA d154084View commit details
Commits on Dec 2, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 8551a32 - Browse repository at this point
Copy the full SHA 8551a32View commit details
Commits on Dec 8, 2020
-
Execution semantics (WebAssembly#340)
- Add execution semantics for SIMD instructions. - Add new numeric primitives required for SIMD instructions. - Rename auxiliary lanes function to dim (number of elements in a shape) - Define auxiliary lanes function to interpret i128 as a sequence of numeric values - Define auxiliary saturation operators, and use it for existing trunc sat - Fix definition of trunc and convert in SIMD instruction syntax, pull them out into their own production, and add validation for them.
Configuration menu - View commit details
-
Copy full SHA for 890c043 - Browse repository at this point
Copy the full SHA 890c043View commit details
Commits on Dec 11, 2020
-
Small cleanup of simd exec/instructions (WebAssembly#401)
- `extend` can have types as params, we don't need to take the bitwidth - bunch of places using `i_1^N` or `i_2^N` can be changed to `i^\ast`
Configuration menu - View commit details
-
Copy full SHA for c46c5cf - Browse repository at this point
Copy the full SHA c46c5cfView commit details
Commits on Dec 14, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 20e914b - Browse repository at this point
Copy the full SHA 20e914bView commit details
Commits on Dec 21, 2020
-
Fix typo in SIMD.md (WebAssembly#409)
Anonymous authoredDec 21, 2020 Configuration menu - View commit details
-
Copy full SHA for 2fd21c0 - Browse repository at this point
Copy the full SHA 2fd21c0View commit details
Commits on Jan 11, 2021
-
i16x8.q15rmul_sat_s instruction (WebAssembly#365)
Merging with TBD opcodes.
Configuration menu - View commit details
-
Copy full SHA for df999c8 - Browse repository at this point
Copy the full SHA df999c8View commit details -
Merge from upstream spec (WebAssembly#407)
* [spec] automate instruction index rebuild (WebAssembly#1259) * [test] Add test for malformed functype (WebAssembly#1254) * [test] Correct tests for missing elements (WebAssembly#1251) Remove the code section in tests for malformed element section. Otherwise the code section id (0x0a) is taken as an element's table index what is a validation error. This is similar to the previously reported issue: WebAssembly#1170. * [test] Add tests for data segment with memidx 1 (WebAssembly#1249) * [test] Correct i32.store alignment in a LEB128 test (WebAssembly#1261) In the binary-leb128.wast, change the alignment of an i32.store instruction from 3 (invalid) to 2 (the intention suggested by the comment). Co-authored-by: Andreas Rossberg <rossberg@dfinity.org> Co-authored-by: Paweł Bylica <chfast@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 364e89f - Browse repository at this point
Copy the full SHA 364e89fView commit details -
Configuration menu - View commit details
-
Copy full SHA for dc1646a - Browse repository at this point
Copy the full SHA dc1646aView commit details -
Configuration menu - View commit details
-
Copy full SHA for daa35f5 - Browse repository at this point
Copy the full SHA daa35f5View commit details
Commits on Jan 12, 2021
-
Configuration menu - View commit details
-
Copy full SHA for c0a5dde - Browse repository at this point
Copy the full SHA c0a5ddeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 32d700a - Browse repository at this point
Copy the full SHA 32d700aView commit details
Commits on Jan 14, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 10d3153 - Browse repository at this point
Copy the full SHA 10d3153View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0813f85 - Browse repository at this point
Copy the full SHA 0813f85View commit details
Commits on Jan 19, 2021
-
Update v8 implementation status
For i64x2.bitmask and ext_mul instructions.
Configuration menu - View commit details
-
Copy full SHA for 723c967 - Browse repository at this point
Copy the full SHA 723c967View commit details
Commits on Jan 26, 2021
-
Rename i8x16.any_true to v128.any_true and remove other variants
This was accepted in WebAssembly#416. The test code is manually modified (this is not generated code), to always call v128.any_true. The exported function names are unchanged, and no tests are removed, since it is useful to test v128 of different constants.
Configuration menu - View commit details
-
Copy full SHA for 194b993 - Browse repository at this point
Copy the full SHA 194b993View commit details -
This was accepted into this proposal in WebAssembly#410.
Configuration menu - View commit details
-
Copy full SHA for 6ff10c8 - Browse repository at this point
Copy the full SHA 6ff10c8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 73c7608 - Browse repository at this point
Copy the full SHA 73c7608View commit details -
Configuration menu - View commit details
-
Copy full SHA for dfffd0d - Browse repository at this point
Copy the full SHA dfffd0dView commit details -
Configuration menu - View commit details
-
Copy full SHA for e6673a7 - Browse repository at this point
Copy the full SHA e6673a7View commit details
Commits on Jan 27, 2021
-
[spectext] Rename i8x16.any_true to v128.any_true
The renaming was accepted in WebAssembly#416. Interpreter was changed in WebAssembly#426. This makes similar changes to the formal text.
Configuration menu - View commit details
-
Copy full SHA for 89f115d - Browse repository at this point
Copy the full SHA 89f115dView commit details
Commits on Jan 28, 2021
-
Fix labels for SIMD instructions in gen-index-instructions.py
Drive-by fix a wrong label in exec/instructions.rst.
Configuration menu - View commit details
-
Copy full SHA for ffe1db3 - Browse repository at this point
Copy the full SHA ffe1db3View commit details
Commits on Jan 29, 2021
-
[interpreter] Implement load lane instructions (WebAssembly#428)
v128.load8_lane v128.load16_lane v128.load32_lane v128.load64_lane Introduce a new ast type, SimdLoadLane, since it takes a lane index immediate, on top of the usual memarg, and also pops a v128 off, in addition to the index. The exact binary opcodes for these instructions are not yet fixed, I've used the ones currently implement in V8 and LLVM/Binaryen, we can change those later. Also added a new test generation script, and the generated test files.
Configuration menu - View commit details
-
Copy full SHA for 0cd0a20 - Browse repository at this point
Copy the full SHA 0cd0a20View commit details
Commits on Jan 30, 2021
-
Configuration menu - View commit details
-
Copy full SHA for c8c0de2 - Browse repository at this point
Copy the full SHA c8c0de2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 394330d - Browse repository at this point
Copy the full SHA 394330dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3d8c870 - Browse repository at this point
Copy the full SHA 3d8c870View commit details
Commits on Feb 1, 2021
-
Configuration menu - View commit details
-
Copy full SHA for dae9f6c - Browse repository at this point
Copy the full SHA dae9f6cView commit details
Commits on Feb 2, 2021
-
Add v128 to JS API (WebAssembly#360)
Following the description given in https://github.com/WebAssembly/simd/blob/master/proposals/simd/SIMD.md#javascript-api-and-simd-values and also what I64 did before bigint integration.
Configuration menu - View commit details
-
Copy full SHA for f5c5dcc - Browse repository at this point
Copy the full SHA f5c5dccView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7266523 - Browse repository at this point
Copy the full SHA 7266523View commit details -
Merge pull request WebAssembly#442 from ngzhian/merge-upstream
Merge upstream
Configuration menu - View commit details
-
Copy full SHA for 92ee194 - Browse repository at this point
Copy the full SHA 92ee194View commit details
Commits on Feb 3, 2021
-
Run simd test cases with make partest (WebAssembly#434)
* Run simd test cases with make partest We list all simd test cases in simd/* in TESTFILES, then tweak the substitution in quiettest to strip quiettest/ from the front of the target, rather than match on just the file name (which loses the simd/) prefix. The temp output file name is unchanged, it uses the base file name (no simd/ prefix). * List all subdirs not just simd/ Co-authored-by: Andreas Rossberg <rossberg@mpi-sws.org>
Configuration menu - View commit details
-
Copy full SHA for 40b255f - Browse repository at this point
Copy the full SHA 40b255fView commit details -
[interpreter] Add i64x2.eq and i64x2.ne
These instructions were added in WebAssembly#381 and WebAssembly#411 respectively. The binary opcodes for these are still not finalized, I'm using what V8 is using for now.
Configuration menu - View commit details
-
Copy full SHA for b638fe3 - Browse repository at this point
Copy the full SHA b638fe3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 98915d5 - Browse repository at this point
Copy the full SHA 98915d5View commit details -
[interpreter] Implement SIMD extended multiply instructions (WebAssem…
…bly#438) These were accepted into the proposal in WebAssembly#376. There are 12 instructions in total: - i16x8.extmul_{low,high}_i8x16_{s,u} - i32x4.extmul_{low,high}_i16x8_{s,u} - i64x2.extmul_{low,high}_i32x4_{s,u} The implementation is straightforward, widen (using existing operations), then a multiply with the wider shape. The binary opcodes are not decided yet, they currently follow the ones used in V8, when those are finalized, we can change it to match. Added a test generation script that reuses some logic in the generator for arithmetic instructions. Since these instructions have different src and dst shapes, I tweaked the base class to allow for having different shapes.
Configuration menu - View commit details
-
Copy full SHA for 7c37165 - Browse repository at this point
Copy the full SHA 7c37165View commit details -
[spectext] Add i64x2.all_true (WebAssembly#444)
* [spectext] Add i64x2.all_true This instruction was accepted into the proposal in WebAssembly#415. * Simplify syntax/instruction bitmask
Configuration menu - View commit details
-
Copy full SHA for b300c7a - Browse repository at this point
Copy the full SHA b300c7aView commit details
Commits on Feb 4, 2021
-
Implement i64x2.bitmask (WebAssembly#368)
This was accepted into this proposal in WebAssembly#410.
Configuration menu - View commit details
-
Copy full SHA for ef06db0 - Browse repository at this point
Copy the full SHA ef06db0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 25f9d41 - Browse repository at this point
Copy the full SHA 25f9d41View commit details -
Configuration menu - View commit details
-
Copy full SHA for b6ca6b2 - Browse repository at this point
Copy the full SHA b6ca6b2View commit details
Commits on Feb 5, 2021
-
Configuration menu - View commit details
-
Copy full SHA for c69b8ef - Browse repository at this point
Copy the full SHA c69b8efView commit details -
Configuration menu - View commit details
-
Copy full SHA for 961edc4 - Browse repository at this point
Copy the full SHA 961edc4View commit details
Commits on Feb 9, 2021
-
[spectext] Add i64x2 signed comparisons
Previously it was included \ishape.\virelop, but it is incorrect, as we don't have i64x2 unsigned comparisons. i64x2 signed comparisons were added in WebAssembly#412.
Configuration menu - View commit details
-
Copy full SHA for 7a8190f - Browse repository at this point
Copy the full SHA 7a8190fView commit details -
Configuration menu - View commit details
-
Copy full SHA for a2091ba - Browse repository at this point
Copy the full SHA a2091baView commit details -
[spectext] Add i8x16.popcnt to syntax
It maps nicely to the existing vunop group, so the validation and execution semantics are taken care of. Drive-by fixes: - was using NEG instead of VNEG for SIMD negation instruction - vunop includes neg twice, since viunop already includes neg.
Configuration menu - View commit details
-
Copy full SHA for dd16427 - Browse repository at this point
Copy the full SHA dd16427View commit details -
Skip _output directory when listing wast files for test. (WebAssembly…
…#449) * Skip _output directory when listing wast files for test. Follow-up to WebAssembly#434. Now `make partest && make partest` shouldn't fail. * Use a simpler glob Co-authored-by: Andreas Rossberg <rossberg@mpi-sws.org>
Configuration menu - View commit details
-
Copy full SHA for 0fe0ade - Browse repository at this point
Copy the full SHA 0fe0adeView commit details -
Update simd_i64x2_cmp test output
I think I missed generating these tests in WebAssembly#440.
Configuration menu - View commit details
-
Copy full SHA for 01fdbd3 - Browse repository at this point
Copy the full SHA 01fdbd3View commit details -
[spectext] Add i64x2.widen_{low,high}_i32x4_{s,u} to syntax
This is a simple change, validation and execution is already shape-agnostic, so we only need to add it to the syntax. Instructions were merged in WebAssembly#290.
Configuration menu - View commit details
-
Copy full SHA for 52fac1b - Browse repository at this point
Copy the full SHA 52fac1bView commit details -
[spectext] Load lane and store lane validation and semantics (WebAsse…
…mbly#445) Load lane and store lane instructions added in WebAssembly#350.
Configuration menu - View commit details
-
Copy full SHA for 34e195c - Browse repository at this point
Copy the full SHA 34e195cView commit details -
[interpreter] Implement i64x2.widen_{low,high}_i32x4_{s,u}
This was merged in WebAssembly#290. Also tweaked the file generation scripts: - Make simd_arithmetic more generic (allow different instruction name patterns) - create a new file simd_int_to_int_widen to generate all integer widening operations (including the ones implemented in this PR) - remove widening tests from simd_conversions.wast
Configuration menu - View commit details
-
Copy full SHA for 634be58 - Browse repository at this point
Copy the full SHA 634be58View commit details -
[interpreter] Implement i8x16.popcnt (WebAssembly#451)
Small fix to the test generation script, the order of applying operators was incorrect. Includes a fix to popcnt implementation that is upstream (WebAssembly#1286).
Configuration menu - View commit details
-
Copy full SHA for ef343cb - Browse repository at this point
Copy the full SHA ef343cbView commit details -
[interpreter] Add i64x2 signed comparisons (WebAssembly#454)
These instructions were merged in WebAssembly#412. The binary opcodes are temporary, they will be fixed up when we finalize the opcodes.
Configuration menu - View commit details
-
Copy full SHA for 17f55c3 - Browse repository at this point
Copy the full SHA 17f55c3View commit details
Commits on Feb 10, 2021
-
[interpreter] Implement i64x2.abs
This was merged in WebAssembly#413.
Configuration menu - View commit details
-
Copy full SHA for fe63095 - Browse repository at this point
Copy the full SHA fe63095View commit details -
Configuration menu - View commit details
-
Copy full SHA for c300b8a - Browse repository at this point
Copy the full SHA c300b8aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 14436c0 - Browse repository at this point
Copy the full SHA 14436c0View commit details -
Configuration menu - View commit details
-
Copy full SHA for ab6a361 - Browse repository at this point
Copy the full SHA ab6a361View commit details -
[spectext] Add i64x2 comparisons to text and binary format
Missed adding these instructions in previous PRs.
Configuration menu - View commit details
-
Copy full SHA for 6dcabf6 - Browse repository at this point
Copy the full SHA 6dcabf6View commit details
Commits on Feb 11, 2021
-
[spectext] Add extmul instructions to text/binary formats
Missed them when adding the syntax and semantics previously.
Configuration menu - View commit details
-
Copy full SHA for ebe26fe - Browse repository at this point
Copy the full SHA ebe26feView commit details -
[interpreter] Implement store lane instructions (WebAssembly#435)
v128.store8_lane v128.store16_lane v128.store32_lane v128.store64_lane Introduce a new ast type, SimdStoreLane. The exact binary opcodes for these instructions are not yet fixed, I've used the ones currently implement in V8 and LLVM/Binaryen, we can change those later. Also added a new test generation script, and the generated test files. * Fix indent in lexer * Simplify simd load/store lane validation * Inline store_simd_lane into eval.ml * Inline load_simd_lane into eval.ml
Configuration menu - View commit details
-
Copy full SHA for 7c43e09 - Browse repository at this point
Copy the full SHA 7c43e09View commit details
Commits on Feb 17, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 2d191fe - Browse repository at this point
Copy the full SHA 2d191feView commit details -
[interpreter] Implement i16x8.qmulr_sat_s (WebAssembly#463)
* [interpreter] Implement i16x8.qmulr_sat_s This was merged in WebAssembly#365. * Update interpreter/exec/int.ml Co-authored-by: Andreas Rossberg <rossberg@mpi-sws.org> Co-authored-by: Andreas Rossberg <rossberg@mpi-sws.org>
Configuration menu - View commit details
-
Copy full SHA for 2eb77e2 - Browse repository at this point
Copy the full SHA 2eb77e2View commit details -
[interpreter] Implement i32x4.trunc_sat_f64x2_{s,u}_zero (WebAssembly…
…#466) * [interpreter] Implement i32x4.trunc_sat_f64x2_{s,u}_zero This converts 2 f64 to 2 i32, then zeroes the top 2 lanes. These 2 instructions were merged as part of WebAssembly#383. This change also refactors some test cases from simd_conversions out into a script that generates both i32x4.trunc_sat_i32x4_{s,u} and i32x4.trunc_sat_f64x2_{s,u}_zero. * Add encode/decode * Update interpreter/exec/simd.ml Co-authored-by: Andreas Rossberg <rossberg@mpi-sws.org> Co-authored-by: Andreas Rossberg <rossberg@mpi-sws.org>
Configuration menu - View commit details
-
Copy full SHA for bf505da - Browse repository at this point
Copy the full SHA bf505daView commit details -
[spectext] Add load/store lane text and binary format
Drive-by fix for v128.store definition in gen-index-instructions.py.
Configuration menu - View commit details
-
Copy full SHA for 4c8378f - Browse repository at this point
Copy the full SHA 4c8378fView commit details -
[spectext] Add {f32x4,f64x2}.{pmin,pmax}
We added these instructions to the syntax in WebAssembly#353, this adds them to the other sections, numerics, text, binary.
Configuration menu - View commit details
-
Copy full SHA for 77b3177 - Browse repository at this point
Copy the full SHA 77b3177View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4c442ce - Browse repository at this point
Copy the full SHA 4c442ceView commit details
Commits on Feb 18, 2021
-
[interpreter] Add a missing closing parens
Missed it in WebAssembly#466.
Configuration menu - View commit details
-
Copy full SHA for 31efb15 - Browse repository at this point
Copy the full SHA 31efb15View commit details -
[interpreter] f64x2.promote_low_f32x4 and f32x4.demote_f64x2_zero
These 2 instructions were merged as part of WebAssembly#383. The test cases are add manually to simd_conversions.wast, using constants from test/core/conversions.wast.
Configuration menu - View commit details
-
Copy full SHA for b2e0c76 - Browse repository at this point
Copy the full SHA b2e0c76View commit details
Commits on Feb 19, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 2c28fa8 - Browse repository at this point
Copy the full SHA 2c28fa8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 958c09b - Browse repository at this point
Copy the full SHA 958c09bView commit details
Commits on Feb 23, 2021
-
[spectext] Rename integer widen instructions to integer extend
Changes to interpreter will come in a follow-up patch. Fixed WebAssembly#467.
Configuration menu - View commit details
-
Copy full SHA for 64b8775 - Browse repository at this point
Copy the full SHA 64b8775View commit details -
[interpreter] Implement f64x2.convert_low_i32x4_{s,u}
These 2 instructions were merged as part of WebAssembly#383.
Configuration menu - View commit details
-
Copy full SHA for a64adb9 - Browse repository at this point
Copy the full SHA a64adb9View commit details -
[interpreter] Implement extadd pairwise instructions
These 4 instructions: - i32x4.extadd_pairwise_i16x8_s - i32x4.extadd_pairwise_i16x8_u - i16x8.extadd_pairwise_i8x16_s - i16x8.extadd_pairwise_i8x16_u were merged in WebAssembly#380. Drive-by cleanup to meta/README.md to list all generated files.
Configuration menu - View commit details
-
Copy full SHA for a041470 - Browse repository at this point
Copy the full SHA a041470View commit details
Commits on Feb 24, 2021
-
[spectext] Add i32x4.dot_i16x8_s (WebAssembly#475)
This instruction was added in WebAssembly#127. Co-authored-by: Andreas Rossberg <rossberg@mpi-sws.org>
Configuration menu - View commit details
-
Copy full SHA for 7c0ca01 - Browse repository at this point
Copy the full SHA 7c0ca01View commit details -
[spectext] Add extended pairwise add instructions (WebAssembly#476)
This was merged in WebAssembly#380.
Configuration menu - View commit details
-
Copy full SHA for 33ba45f - Browse repository at this point
Copy the full SHA 33ba45fView commit details -
Configuration menu - View commit details
-
Copy full SHA for bc618a3 - Browse repository at this point
Copy the full SHA bc618a3View commit details -
[spectext] Add double precision conversion
Instructions were added in WebAssembly#383. Consolidate conversion operations (vcvtop) more, merging int-int widening operations. Drive-by fix extmul definition in syntax (shouldn't include the shape).
Configuration menu - View commit details
-
Copy full SHA for cd63ede - Browse repository at this point
Copy the full SHA cd63edeView commit details
Commits on Feb 25, 2021
-
Check in simd_i64x2_arith2.wast test file
Missed adding this when implementing i64x2.abs.
Configuration menu - View commit details
-
Copy full SHA for f6671c1 - Browse repository at this point
Copy the full SHA f6671c1View commit details -
Fix i32x4.trunc_sat_f64x2_zero
The zeroed lanes should be the upper 2 lanes. Fix test generation script and interpreter.
Configuration menu - View commit details
-
Copy full SHA for b4fde03 - Browse repository at this point
Copy the full SHA b4fde03View commit details -
Forgot to saturate the result in both test generation code and interpreter. This fixes both cases.
Configuration menu - View commit details
-
Copy full SHA for 770ce64 - Browse repository at this point
Copy the full SHA 770ce64View commit details
Commits on Mar 3, 2021
-
Update interpreter and text with finalized opcodes
Opcodes were finalized in WebAssembly#452, this updates the interpreter and spec text to use these final opcodes.
Configuration menu - View commit details
-
Copy full SHA for e5ce801 - Browse repository at this point
Copy the full SHA e5ce801View commit details
Commits on Mar 5, 2021
-
Fix a typo in the f64x2.{pmin,pmax} binary spec
It looks like these have a typo in copying them over from `BinarySIMD.md`
Configuration menu - View commit details
-
Copy full SHA for 5c9aeed - Browse repository at this point
Copy the full SHA 5c9aeedView commit details -
Fix instructions in gen-index-instructions
- i8x16.shuffle has wrong signature - i16x8.replace_lane has a typo in signature - i16x8.narrow has wrong instruction names - sqrt has wrong signature
Configuration menu - View commit details
-
Copy full SHA for 466ca5a - Browse repository at this point
Copy the full SHA 466ca5aView commit details
Commits on Mar 10, 2021
-
Check in fixed generated index-instructions.rst
Fixed the script in 466ca5a but forgot to check in the generated output.
Configuration menu - View commit details
-
Copy full SHA for 6b8204b - Browse repository at this point
Copy the full SHA 6b8204bView commit details
Commits on Mar 11, 2021
-
Comparison instructions should return -1 in lanes (WebAssembly#493)
SIMD comparisons return -1 (all bits set) in the lanes. Currently as specified, they return 1 (since we use the numeric comparison). We fix this by extracting these instructions (virelop and vfrelop) into vrelop, and in the execution, sign extend them from i1 to iX (which treats the 1-bit integer "1" as -1). Drive-by fix for exec-vbinop, some typos in the execution semantics. Fixed WebAssembly#441.
Configuration menu - View commit details
-
Copy full SHA for 22bd78d - Browse repository at this point
Copy the full SHA 22bd78dView commit details -
Fix usages of \extend in SIMD instructions (WebAssembly#494)
\extend takes the bitwidth of type, but we have been passing the number of lanes, i.e. for i64x2, we should be passing 64, not 2.
Configuration menu - View commit details
-
Copy full SHA for 2c59b1d - Browse repository at this point
Copy the full SHA 2c59b1dView commit details
Commits on Mar 12, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 1faf045 - Browse repository at this point
Copy the full SHA 1faf045View commit details -
Fix SIMD implementation get tests passing
Mostly fixes to add Num due to the num_type v.s. value_type change in ref types proposal. Moved some code from Eval_numeric into Values to avoid circular imports: - eval_numeric imports eval_simd - both needs the I32Num and TypeError
Configuration menu - View commit details
-
Copy full SHA for 510b652 - Browse repository at this point
Copy the full SHA 510b652View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9da8a61 - Browse repository at this point
Copy the full SHA 9da8a61View commit details
Commits on Mar 15, 2021
-
Merge pull request WebAssembly#495 from ngzhian/merging-upstream
Merge from upstream spec
Configuration menu - View commit details
-
Copy full SHA for acd913d - Browse repository at this point
Copy the full SHA acd913dView commit details
Commits on Mar 18, 2021
-
Small cleanup to num_pat to remove redundant Source.phrase
Took the chance to clean up the matching logic for SimdResult too.
Configuration menu - View commit details
-
Copy full SHA for 886123e - Browse repository at this point
Copy the full SHA 886123eView commit details
Commits on Mar 23, 2021
-
Update SpiderMonkey implementation status
Lars T Hansen committedMar 23, 2021 Configuration menu - View commit details
-
Copy full SHA for 01b4127 - Browse repository at this point
Copy the full SHA 01b4127View commit details -
Merge pull request WebAssembly#499 from lars-t-hansen/spidermonkey_co…
…nformance Update SpiderMonkey implementation status
Configuration menu - View commit details
-
Copy full SHA for bdcc304 - Browse repository at this point
Copy the full SHA bdcc304View commit details
Commits on Mar 24, 2021
-
Convert simd instructions in index to use hex
This follows the recent additions of ref types instructions, which uses hex. It also makes it more consistent which the opcode prefix, which is in hex.
Configuration menu - View commit details
-
Copy full SHA for a65385e - Browse repository at this point
Copy the full SHA a65385eView commit details
Commits on Mar 26, 2021
-
Fixes WebAssembly#487 by flipping the operands of the `ge_s` and `le_s` tests. This change makes immediately clear when an x86 implementation incorrectly uses the XMM registers; without these tests, running the SIMD suite could pass with an incorrect implementation.
Configuration menu - View commit details
-
Copy full SHA for 5580da2 - Browse repository at this point
Copy the full SHA 5580da2View commit details
Commits on Mar 29, 2021
-
Merge pull request WebAssembly#501 from abrown/fix-487
Improve simd_i64x2_cmp.wast
Configuration menu - View commit details
-
Copy full SHA for 1618b39 - Browse repository at this point
Copy the full SHA 1618b39View commit details
Commits on Apr 6, 2021
-
Merge pull request WebAssembly#500 from ngzhian/simd-index-instr
Convert simd instructions in index to use hex
Configuration menu - View commit details
-
Copy full SHA for c972ba6 - Browse repository at this point
Copy the full SHA c972ba6View commit details
Commits on Apr 7, 2021
-
Merge pull request WebAssembly#497 from ngzhian/script-pat-cleanup
Small cleanup to num_pat to remove redundant Source.phrase
Configuration menu - View commit details
-
Copy full SHA for 291d2ec - Browse repository at this point
Copy the full SHA 291d2ecView commit details
Commits on Apr 22, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 5fcd0bd - Browse repository at this point
Copy the full SHA 5fcd0bdView commit details
Commits on Apr 26, 2021
-
Merge pull request WebAssembly#503 from ngzhian/update-v8-impl-status
Update V8 implementation status
Configuration menu - View commit details
-
Copy full SHA for de4409b - Browse repository at this point
Copy the full SHA de4409bView commit details
Commits on May 12, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 05d0cb6 - Browse repository at this point
Copy the full SHA 05d0cb6View commit details
Commits on May 13, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 3c70759 - Browse repository at this point
Copy the full SHA 3c70759View commit details
Commits on May 27, 2021
-
Configuration menu - View commit details
-
Copy full SHA for a7404ca - Browse repository at this point
Copy the full SHA a7404caView commit details -
Merge pull request WebAssembly#505 from WebAssembly/lars-t-hansen-pat…
…ch-1 Update Firefox implementation status
Configuration menu - View commit details
-
Copy full SHA for c4e4b96 - Browse repository at this point
Copy the full SHA c4e4b96View commit details
Commits on Jun 15, 2021
-
Add simple JS api test for SIMD (WebAssembly#496)
Global v128 is not supported.
Configuration menu - View commit details
-
Copy full SHA for b0720df - Browse repository at this point
Copy the full SHA b0720dfView commit details
Commits on Jul 31, 2021
-
Configuration menu - View commit details
-
Copy full SHA for d532655 - Browse repository at this point
Copy the full SHA d532655View commit details -
Configuration menu - View commit details
-
Copy full SHA for ca8ea9a - Browse repository at this point
Copy the full SHA ca8ea9aView commit details
Commits on Aug 2, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 576bcab - Browse repository at this point
Copy the full SHA 576bcabView commit details -
Configuration menu - View commit details
-
Copy full SHA for 89e4f59 - Browse repository at this point
Copy the full SHA 89e4f59View commit details -
Configuration menu - View commit details
-
Copy full SHA for a373625 - Browse repository at this point
Copy the full SHA a373625View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6ffe701 - Browse repository at this point
Copy the full SHA 6ffe701View commit details -
Merge pull request WebAssembly#510 from WebAssembly/refactor
Refactor some SIMD code
Configuration menu - View commit details
-
Copy full SHA for cc888ba - Browse repository at this point
Copy the full SHA cc888baView commit details
Commits on Aug 3, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 08a82f9 - Browse repository at this point
Copy the full SHA 08a82f9View commit details -
Configuration menu - View commit details
-
Copy full SHA for da4e926 - Browse repository at this point
Copy the full SHA da4e926View commit details -
Configuration menu - View commit details
-
Copy full SHA for eb515ca - Browse repository at this point
Copy the full SHA eb515caView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2387754 - Browse repository at this point
Copy the full SHA 2387754View commit details -
Merge pull request WebAssembly#512 from WebAssembly/ixx
Rename Int/Float modules to Ixx/Fxx
Configuration menu - View commit details
-
Copy full SHA for 4345d4f - Browse repository at this point
Copy the full SHA 4345d4fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 04ce4a3 - Browse repository at this point
Copy the full SHA 04ce4a3View commit details
Commits on Aug 5, 2021
-
Configuration menu - View commit details
-
Copy full SHA for e68f37a - Browse repository at this point
Copy the full SHA e68f37aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 17c4983 - Browse repository at this point
Copy the full SHA 17c4983View commit details -
Configuration menu - View commit details
-
Copy full SHA for b61ed92 - Browse repository at this point
Copy the full SHA b61ed92View commit details -
Configuration menu - View commit details
-
Copy full SHA for f6c9635 - Browse repository at this point
Copy the full SHA f6c9635View commit details
Commits on Aug 11, 2021
-
Configuration menu - View commit details
-
Copy full SHA for b3f039b - Browse repository at this point
Copy the full SHA b3f039bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 47f7b93 - Browse repository at this point
Copy the full SHA 47f7b93View commit details -
Configuration menu - View commit details
-
Copy full SHA for d1dc52c - Browse repository at this point
Copy the full SHA d1dc52cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9382cc2 - Browse repository at this point
Copy the full SHA 9382cc2View commit details
Commits on Aug 12, 2021
-
Configuration menu - View commit details
-
Copy full SHA for e2e5b96 - Browse repository at this point
Copy the full SHA e2e5b96View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7794d59 - Browse repository at this point
Copy the full SHA 7794d59View commit details -
Configuration menu - View commit details
-
Copy full SHA for 08aeb77 - Browse repository at this point
Copy the full SHA 08aeb77View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6d7e83d - Browse repository at this point
Copy the full SHA 6d7e83dView commit details
Commits on Aug 17, 2021
-
Update BinarySIMD.md (WebAssembly#518)
Add m:memarg to immediate column for v128.load32_zero and v128.load64_zero
Configuration menu - View commit details
-
Copy full SHA for 02cf939 - Browse repository at this point
Copy the full SHA 02cf939View commit details
Commits on Sep 8, 2021
-
Merge pull request WebAssembly#516 from WebAssembly/vec.spec
[spec] Rename simd->vec types
Configuration menu - View commit details
-
Copy full SHA for a288cc7 - Browse repository at this point
Copy the full SHA a288cc7View commit details -
Merge pull request WebAssembly#515 from WebAssembly/refactor.spec
[spec] Refactor spec to align with interpreter
Configuration menu - View commit details
-
Copy full SHA for b9fbe20 - Browse repository at this point
Copy the full SHA b9fbe20View commit details
Commits on Sep 17, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 80c0603 - Browse repository at this point
Copy the full SHA 80c0603View commit details -
Configuration menu - View commit details
-
Copy full SHA for a19f219 - Browse repository at this point
Copy the full SHA a19f219View commit details
Commits on Sep 18, 2021
-
Merge pull request WebAssembly#519 from ngzhian/sync-upstream
Sync upstream
Configuration menu - View commit details
-
Copy full SHA for dec105e - Browse repository at this point
Copy the full SHA dec105eView commit details
Commits on Sep 29, 2021
-
Merge pull request WebAssembly#520 from ngzhian/fix-memarg
Name memarg arguments
Configuration menu - View commit details
-
Copy full SHA for 32a461f - Browse repository at this point
Copy the full SHA 32a461fView commit details
Commits on Oct 4, 2021
-
Add Changelog (WebAssembly#522)
* Add Changelog * Comments * Split narrow * Regroup instructions
Configuration menu - View commit details
-
Copy full SHA for a3e4b05 - Browse repository at this point
Copy the full SHA a3e4b05View commit details
Commits on Oct 21, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 5ef6f0d - Browse repository at this point
Copy the full SHA 5ef6f0dView commit details -
Merge pull request WebAssembly#525 from ngzhian/merge-upstream
Merge upstream
Configuration menu - View commit details
-
Copy full SHA for c1802b6 - Browse repository at this point
Copy the full SHA c1802b6View commit details
Commits on Nov 4, 2021
-
Configuration menu - View commit details
-
Copy full SHA for e86f7ab - Browse repository at this point
Copy the full SHA e86f7abView commit details -
Merge pull request WebAssembly#526 from ngzhian/merge-upstream
Merge upstream
Configuration menu - View commit details
-
Copy full SHA for 73af50a - Browse repository at this point
Copy the full SHA 73af50aView commit details
Commits on Nov 11, 2021
-
Fix some stale references to value types (WebAssembly#527)
Based on comments from WebAssembly#1391.
Configuration menu - View commit details
-
Copy full SHA for eda5421 - Browse repository at this point
Copy the full SHA eda5421View commit details
Commits on Nov 15, 2021
-
Make i8 and i16 work correctly on their own (WebAssembly#528)
Previously, i8 and i16 was careless w.r.t. the top bits, because they were only used by v128, which uses Bytes.get/set that appropriate masks the top bits when storing into the byte array. With this change, i8 and i16 are self contained small integers implemented using int32. They are always stored signed-extended, e.g. INT8_MIN (-128) is stored as 0xffffff80. This requires adding sign-extension operation (Rep.sx) in a couple of places, that will make sure to extend the sign bit to the rest of the int32. Also add a small, non-exhaustive test for these small integers in a new file tests/smallint.ml. This is the first ml test we are adding (all previous tests are wasm/wast tests that we run using the interpreter), so there are some modifications to the Makefile to build and run this test (make smallinttest, make test will also run it). This test is in the tests/ folder to avoid a conflict with a Makefile goal test/x to run x.wast in ../test/core, otherwise it tries to run smallint.ml as a wast test. Co-authored-by: Andreas Rossberg <rossberg@mpi-sws.org>
Configuration menu - View commit details
-
Copy full SHA for 7ce9b41 - Browse repository at this point
Copy the full SHA 7ce9b41View commit details
Commits on Nov 16, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 9468abb - Browse repository at this point
Copy the full SHA 9468abbView commit details -
Merge pull request WebAssembly#529 from ngzhian/merge-upstream
Merge upstream
Configuration menu - View commit details
-
Copy full SHA for 4c2d74d - Browse repository at this point
Copy the full SHA 4c2d74dView commit details -
Configuration menu - View commit details
-
Copy full SHA for a78b98a - Browse repository at this point
Copy the full SHA a78b98aView commit details -
Configuration menu - View commit details
-
Copy full SHA for dbb6289 - Browse repository at this point
Copy the full SHA dbb6289View commit details -
Configuration menu - View commit details
-
Copy full SHA for dc05aa1 - Browse repository at this point
Copy the full SHA dc05aa1View commit details
Commits on Nov 18, 2021
-
Configuration menu - View commit details
-
Copy full SHA for c442ee0 - Browse repository at this point
Copy the full SHA c442ee0View commit details