Skip to content
This repository was archived by the owner on Dec 22, 2021. It is now read-only.

Commit ce49397

Browse files
authored
Update LLVM implementation status (#194)
1 parent 093ecb8 commit ce49397

File tree

1 file changed

+41
-41
lines changed

1 file changed

+41
-41
lines changed

proposals/simd/ImplementationStatus.md

Lines changed: 41 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -6,27 +6,27 @@
66
| `i8x16.splat` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
77
| `v8x16.load_splat` | `-munimplemented-simd128` | | :heavy_check_mark: | |
88
| `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: |
1010
| `i8x16.replace_lane` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
1111
| `i16x8.splat` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
1212
| `v16x8.load_splat` | `-munimplemented-simd128` | | :heavy_check_mark: | |
1313
| `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: |
1515
| `i16x8.replace_lane` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
1616
| `i32x4.splat` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
1717
| `v32x4.load_splat` | `-munimplemented-simd128` | | :heavy_check_mark: | |
1818
| `i32x4.extract_lane` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
1919
| `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: |
2323
| `f32x4.splat` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
2424
| `f32x4.extract_lane` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
2525
| `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: |
2727
| `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: |
3030
| `i8x16.eq` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
3131
| `i8x16.ne` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
3232
| `i8x16.lt_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
@@ -63,12 +63,12 @@
6363
| `f32x4.gt` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
6464
| `f32x4.le` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
6565
| `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: |
7272
| `v128.not` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
7373
| `v128.and` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
7474
| `v128.andnot` | `-munimplemented-simd128` | | :heavy_check_mark: | |
@@ -78,9 +78,9 @@
7878
| `i8x16.neg` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
7979
| `i8x16.any_true` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
8080
| `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: |
8484
| `i8x16.add` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
8585
| `i8x16.add_saturate_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
8686
| `i8x16.add_saturate_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
@@ -91,13 +91,13 @@
9191
| `i8x16.min_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |
9292
| `i8x16.max_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |
9393
| `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: | |
9595
| `i16x8.neg` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
9696
| `i16x8.any_true` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
9797
| `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: |
101101
| `i16x8.add` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
102102
| `i16x8.add_saturate_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
103103
| `i16x8.add_saturate_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
@@ -109,26 +109,26 @@
109109
| `i16x8.min_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |
110110
| `i16x8.max_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |
111111
| `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: | |
113113
| `i32x4.neg` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
114114
| `i32x4.any_true` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
115115
| `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: |
119119
| `i32x4.add` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
120120
| `i32x4.sub` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
121121
| `i32x4.mul` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
122122
| `i32x4.min_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |
123123
| `i32x4.min_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |
124124
| `i32x4.max_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |
125125
| `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: |
132132
| `i64x2.mul` | | | :heavy_check_mark: | |
133133
| `f32x4.abs` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
134134
| `f32x4.neg` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
@@ -139,15 +139,15 @@
139139
| `f32x4.div` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
140140
| `f32x4.min` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
141141
| `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: |
151151
| `i32x4.trunc_sat_f32x4_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
152152
| `i32x4.trunc_sat_f32x4_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
153153
| `f32x4.convert_i32x4_s` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
@@ -173,7 +173,7 @@
173173
| `i32x4.widen_low_i16x8_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |
174174
| `i32x4.widen_high_i16x8_u` | `-msimd128` | :heavy_check_mark: | :heavy_check_mark: | |
175175

176-
[1] Tip of tree LLVM as of December 18, 2019
176+
[1] Tip of tree LLVM as of February 7, 2020
177177

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

0 commit comments

Comments
 (0)