Skip to content
This repository was archived by the owner on Dec 22, 2021. It is now read-only.
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 41 additions & 41 deletions proposals/simd/ImplementationStatus.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,27 +6,27 @@
| `i8x16.splat` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `v8x16.load_splat` | `-munimplemented-simd128` | | :heavy_check_mark: | |
| `i8x16.extract_lane_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i8x16.extract_lane_u` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i8x16.extract_lane_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i8x16.replace_lane` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i16x8.splat` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `v16x8.load_splat` | `-munimplemented-simd128` | | :heavy_check_mark: | |
| `i16x8.extract_lane_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i16x8.extract_lane_u` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i16x8.extract_lane_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i16x8.replace_lane` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i32x4.splat` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `v32x4.load_splat` | `-munimplemented-simd128` | | :heavy_check_mark: | |
| `i32x4.extract_lane` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i32x4.replace_lane` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i64x2.splat` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i64x2.extract_lane` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i64x2.replace_lane` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i64x2.splat` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i64x2.extract_lane` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i64x2.replace_lane` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f32x4.splat` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f32x4.extract_lane` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f32x4.replace_lane` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.splat` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.splat` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `v64x2.load_splat` | `-munimplemented-simd128` | | :heavy_check_mark: | |
| `f64x2.extract_lane` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.replace_lane` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.extract_lane` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.replace_lane` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i8x16.eq` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i8x16.ne` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i8x16.lt_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
Expand Down Expand Up @@ -63,12 +63,12 @@
| `f32x4.gt` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f32x4.le` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f32x4.ge` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.eq` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.ne` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.lt` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.gt` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.le` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.ge` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.eq` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.ne` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.lt` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.gt` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.le` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.ge` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `v128.not` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `v128.and` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `v128.andnot` | `-munimplemented-simd128` | | :heavy_check_mark: | |
Expand All @@ -78,9 +78,9 @@
| `i8x16.neg` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i8x16.any_true` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i8x16.all_true` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i8x16.shl` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i8x16.shr_s` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i8x16.shr_u` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i8x16.shl` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i8x16.shr_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i8x16.shr_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i8x16.add` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i8x16.add_saturate_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i8x16.add_saturate_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
Expand All @@ -91,13 +91,13 @@
| `i8x16.min_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |
| `i8x16.max_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |
| `i8x16.max_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |
| `i8x16.avgr_u` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | |
| `i8x16.avgr_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |
| `i16x8.neg` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i16x8.any_true` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i16x8.all_true` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i16x8.shl` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i16x8.shr_s` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i16x8.shr_u` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i16x8.shl` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i16x8.shr_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i16x8.shr_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i16x8.add` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i16x8.add_saturate_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i16x8.add_saturate_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
Expand All @@ -109,26 +109,26 @@
| `i16x8.min_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |
| `i16x8.max_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |
| `i16x8.max_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |
| `i16x8.avgr_u` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | |
| `i16x8.avgr_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |
| `i32x4.neg` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i32x4.any_true` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i32x4.all_true` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i32x4.shl` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i32x4.shr_s` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i32x4.shr_u` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i32x4.shl` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i32x4.shr_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i32x4.shr_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i32x4.add` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i32x4.sub` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i32x4.mul` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i32x4.min_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |
| `i32x4.min_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |
| `i32x4.max_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |
| `i32x4.max_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |
| `i64x2.neg` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i64x2.shl` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i64x2.shr_s` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i64x2.shr_u` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i64x2.add` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i64x2.sub` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i64x2.neg` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i64x2.shl` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i64x2.shr_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i64x2.shr_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i64x2.add` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i64x2.sub` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i64x2.mul` | | | :heavy_check_mark: | |
| `f32x4.abs` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f32x4.neg` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
Expand All @@ -139,15 +139,15 @@
| `f32x4.div` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f32x4.min` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f32x4.max` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.abs` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.neg` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.sqrt` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.add` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.sub` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.mul` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.div` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.min` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.max` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.abs` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.neg` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.sqrt` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.add` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.sub` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.mul` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.div` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.min` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f64x2.max` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i32x4.trunc_sat_f32x4_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `i32x4.trunc_sat_f32x4_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `f32x4.convert_i32x4_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
Expand All @@ -173,7 +173,7 @@
| `i32x4.widen_low_i16x8_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |
| `i32x4.widen_high_i16x8_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |

[1] Tip of tree LLVM as of December 18, 2019
[1] Tip of tree LLVM as of February 7, 2020

[2] Tested on V8 8.1.0 (candidate). Requires flag `--experimental-wasm-simd`

Expand Down