|
4 | 4 | | `v128.store` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
5 | 5 | | `v128.const` | `-munimplemented-simd128` | | :heavy_check_mark: | :heavy_check_mark: |
|
6 | 6 | | `i8x16.splat` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
7 |
| -| `v8x16.load_splat` | `-munimplemented-simd128` | | :heavy_check_mark: | | |
| 7 | +| `v8x16.load_splat` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | | |
8 | 8 | | `i8x16.extract_lane_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
9 | 9 | | `i8x16.extract_lane_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
10 | 10 | | `i8x16.replace_lane` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
11 | 11 | | `i16x8.splat` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
12 |
| -| `v16x8.load_splat` | `-munimplemented-simd128` | | :heavy_check_mark: | | |
| 12 | +| `v16x8.load_splat` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | | |
13 | 13 | | `i16x8.extract_lane_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
14 | 14 | | `i16x8.extract_lane_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
15 | 15 | | `i16x8.replace_lane` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
16 | 16 | | `i32x4.splat` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
17 |
| -| `v32x4.load_splat` | `-munimplemented-simd128` | | :heavy_check_mark: | | |
| 17 | +| `v32x4.load_splat` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | | |
18 | 18 | | `i32x4.extract_lane` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
19 | 19 | | `i32x4.replace_lane` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
20 | 20 | | `i64x2.splat` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
|
24 | 24 | | `f32x4.extract_lane` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
25 | 25 | | `f32x4.replace_lane` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
26 | 26 | | `f64x2.splat` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
27 |
| -| `v64x2.load_splat` | `-munimplemented-simd128` | | :heavy_check_mark: | | |
| 27 | +| `v64x2.load_splat` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | | |
28 | 28 | | `f64x2.extract_lane` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
29 | 29 | | `f64x2.replace_lane` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
30 | 30 | | `i8x16.eq` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
|
71 | 71 | | `f64x2.ge` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
72 | 72 | | `v128.not` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
73 | 73 | | `v128.and` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
74 |
| -| `v128.andnot` | `-munimplemented-simd128` | | :heavy_check_mark: | | |
| 74 | +| `v128.andnot` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | | |
75 | 75 | | `v128.or` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
76 | 76 | | `v128.xor` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
77 | 77 | | `v128.bitselect` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
|
132 | 132 | | `i64x2.shr_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
133 | 133 | | `i64x2.add` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
134 | 134 | | `i64x2.sub` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
135 |
| -| `i64x2.mul` | | | :heavy_check_mark: | | |
| 135 | +| `i64x2.mul` | | :heavy_check_mark: | :heavy_check_mark: | | |
136 | 136 | | `f32x4.abs` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
137 | 137 | | `f32x4.neg` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
138 | 138 | | `f32x4.sqrt` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
|
155 | 155 | | `i32x4.trunc_sat_f32x4_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
156 | 156 | | `f32x4.convert_i32x4_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
157 | 157 | | `f32x4.convert_i32x4_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
158 |
| -| `v8x16.swizzle` | `-munimplemented-simd128` | | :heavy_check_mark: | | |
159 |
| -| `v8x16.shuffle` | `-msimd128`[5] | :white_check_mark:[5] | :heavy_check_mark: | :heavy_check_mark: | |
160 |
| -| `i16x8.load8x8_s` | `-munimplemented-simd128` | | :heavy_check_mark: | | |
161 |
| -| `i16x8.load8x8_u` | `-munimplemented-simd128` | | :heavy_check_mark: | | |
162 |
| -| `i32x4.load16x4_s` | `-munimplemented-simd128` | | :heavy_check_mark: | | |
163 |
| -| `i32x4.load16x4_u` | `-munimplemented-simd128` | | :heavy_check_mark: | | |
164 |
| -| `i64x2.load32x2_s` | `-munimplemented-simd128` | | :heavy_check_mark: | | |
165 |
| -| `i64x2.load32x2_u` | `-munimplemented-simd128` | | :heavy_check_mark: | | |
| 158 | +| `v8x16.swizzle` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | | |
| 159 | +| `v8x16.shuffle` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 160 | +| `i16x8.load8x8_s` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | | |
| 161 | +| `i16x8.load8x8_u` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | | |
| 162 | +| `i32x4.load16x4_s` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | | |
| 163 | +| `i32x4.load16x4_u` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | | |
| 164 | +| `i64x2.load32x2_s` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | | |
| 165 | +| `i64x2.load32x2_u` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | | |
166 | 166 | | `i8x16.narrow_i16x8_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |
|
167 | 167 | | `i8x16.narrow_i16x8_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |
|
168 | 168 | | `i16x8.narrow_i32x4_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |
|
|
176 | 176 | | `i32x4.widen_low_i16x8_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |
|
177 | 177 | | `i32x4.widen_high_i16x8_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |
|
178 | 178 |
|
179 |
| -[1] Tip of tree LLVM as of March 23, 2020 |
| 179 | +[1] Tip of tree LLVM as of May 6, 2020 |
180 | 180 |
|
181 |
| -[2] Tested on V8 8.1.0 (candidate). Requires flag `--experimental-wasm-simd` |
| 181 | +[2] Tested on V8 8.4.272. Requires flag `--experimental-wasm-simd` |
182 | 182 |
|
183 | 183 | [3] Tip of tree WAVM as of Feb 16, 2020. Requires flag `--enable simd`
|
184 | 184 |
|
185 | 185 | [4] Requires (case-insensitive) flag `-wasmsimd`
|
186 |
| - |
187 |
| -[5] Uses older `v8x16.shuffle` opcode `0xfd 0x03` |
0 commit comments