|
6 | 6 | | `i8x16.splat` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
7 | 7 | | `v8x16.load_splat` | `-munimplemented-simd128` | | :heavy_check_mark: | | |
8 | 8 | | `i8x16.extract_lane_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
9 | | -| `i8x16.extract_lane_u` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 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 | 12 | | `v16x8.load_splat` | `-munimplemented-simd128` | | :heavy_check_mark: | | |
13 | 13 | | `i16x8.extract_lane_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
14 | | -| `i16x8.extract_lane_u` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 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 | 17 | | `v32x4.load_splat` | `-munimplemented-simd128` | | :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 | | -| `i64x2.splat` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
21 | | -| `i64x2.extract_lane` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
22 | | -| `i64x2.replace_lane` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 20 | +| `i64x2.splat` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 21 | +| `i64x2.extract_lane` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 22 | +| `i64x2.replace_lane` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
23 | 23 | | `f32x4.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 | | -| `f64x2.splat` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 26 | +| `f64x2.splat` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
27 | 27 | | `v64x2.load_splat` | `-munimplemented-simd128` | | :heavy_check_mark: | | |
28 | | -| `f64x2.extract_lane` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
29 | | -| `f64x2.replace_lane` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 28 | +| `f64x2.extract_lane` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 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: | |
31 | 31 | | `i8x16.ne` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
32 | 32 | | `i8x16.lt_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
|
63 | 63 | | `f32x4.gt` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
64 | 64 | | `f32x4.le` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
65 | 65 | | `f32x4.ge` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
66 | | -| `f64x2.eq` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
67 | | -| `f64x2.ne` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
68 | | -| `f64x2.lt` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
69 | | -| `f64x2.gt` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
70 | | -| `f64x2.le` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
71 | | -| `f64x2.ge` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 66 | +| `f64x2.eq` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 67 | +| `f64x2.ne` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 68 | +| `f64x2.lt` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 69 | +| `f64x2.gt` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 70 | +| `f64x2.le` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 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 | 74 | | `v128.andnot` | `-munimplemented-simd128` | | :heavy_check_mark: | | |
|
78 | 78 | | `i8x16.neg` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
79 | 79 | | `i8x16.any_true` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
80 | 80 | | `i8x16.all_true` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
81 | | -| `i8x16.shl` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
82 | | -| `i8x16.shr_s` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
83 | | -| `i8x16.shr_u` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 81 | +| `i8x16.shl` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 82 | +| `i8x16.shr_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 83 | +| `i8x16.shr_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
84 | 84 | | `i8x16.add` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
85 | 85 | | `i8x16.add_saturate_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
86 | 86 | | `i8x16.add_saturate_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
|
91 | 91 | | `i8x16.min_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | | |
92 | 92 | | `i8x16.max_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | | |
93 | 93 | | `i8x16.max_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | | |
94 | | -| `i8x16.avgr_u` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | | |
| 94 | +| `i8x16.avgr_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | | |
95 | 95 | | `i16x8.neg` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
96 | 96 | | `i16x8.any_true` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
97 | 97 | | `i16x8.all_true` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
98 | | -| `i16x8.shl` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
99 | | -| `i16x8.shr_s` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
100 | | -| `i16x8.shr_u` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 98 | +| `i16x8.shl` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 99 | +| `i16x8.shr_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 100 | +| `i16x8.shr_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
101 | 101 | | `i16x8.add` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
102 | 102 | | `i16x8.add_saturate_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
103 | 103 | | `i16x8.add_saturate_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
|
109 | 109 | | `i16x8.min_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | | |
110 | 110 | | `i16x8.max_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | | |
111 | 111 | | `i16x8.max_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | | |
112 | | -| `i16x8.avgr_u` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | | |
| 112 | +| `i16x8.avgr_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | | |
113 | 113 | | `i32x4.neg` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
114 | 114 | | `i32x4.any_true` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
115 | 115 | | `i32x4.all_true` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
116 | | -| `i32x4.shl` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
117 | | -| `i32x4.shr_s` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
118 | | -| `i32x4.shr_u` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 116 | +| `i32x4.shl` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 117 | +| `i32x4.shr_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 118 | +| `i32x4.shr_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
119 | 119 | | `i32x4.add` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
120 | 120 | | `i32x4.sub` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
121 | 121 | | `i32x4.mul` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
122 | 122 | | `i32x4.min_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | | |
123 | 123 | | `i32x4.min_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | | |
124 | 124 | | `i32x4.max_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | | |
125 | 125 | | `i32x4.max_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | | |
126 | | -| `i64x2.neg` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
127 | | -| `i64x2.shl` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
128 | | -| `i64x2.shr_s` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
129 | | -| `i64x2.shr_u` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
130 | | -| `i64x2.add` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
131 | | -| `i64x2.sub` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 126 | +| `i64x2.neg` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 127 | +| `i64x2.shl` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 128 | +| `i64x2.shr_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 129 | +| `i64x2.shr_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 130 | +| `i64x2.add` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 131 | +| `i64x2.sub` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
132 | 132 | | `i64x2.mul` | | | :heavy_check_mark: | | |
133 | 133 | | `f32x4.abs` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
134 | 134 | | `f32x4.neg` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
|
139 | 139 | | `f32x4.div` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
140 | 140 | | `f32x4.min` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
141 | 141 | | `f32x4.max` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
142 | | -| `f64x2.abs` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
143 | | -| `f64x2.neg` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
144 | | -| `f64x2.sqrt` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
145 | | -| `f64x2.add` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
146 | | -| `f64x2.sub` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
147 | | -| `f64x2.mul` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
148 | | -| `f64x2.div` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
149 | | -| `f64x2.min` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
150 | | -| `f64x2.max` | `-munimplemented-simd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 142 | +| `f64x2.abs` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 143 | +| `f64x2.neg` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 144 | +| `f64x2.sqrt` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 145 | +| `f64x2.add` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 146 | +| `f64x2.sub` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 147 | +| `f64x2.mul` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 148 | +| `f64x2.div` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 149 | +| `f64x2.min` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
| 150 | +| `f64x2.max` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
151 | 151 | | `i32x4.trunc_sat_f32x4_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
152 | 152 | | `i32x4.trunc_sat_f32x4_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
153 | 153 | | `f32x4.convert_i32x4_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | |
|
173 | 173 | | `i32x4.widen_low_i16x8_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | | |
174 | 174 | | `i32x4.widen_high_i16x8_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | | |
175 | 175 |
|
176 | | -[1] Tip of tree LLVM as of December 18, 2019 |
| 176 | +[1] Tip of tree LLVM as of February 7, 2020 |
177 | 177 |
|
178 | 178 | [2] Tested on V8 8.1.0 (candidate). Requires flag `--experimental-wasm-simd` |
179 | 179 |
|
|
0 commit comments