This repository was archived by the owner on Dec 22, 2021. It is now read-only.
File tree Expand file tree Collapse file tree 3 files changed +40
-0
lines changed Expand file tree Collapse file tree 3 files changed +40
-0
lines changed Original file line number Diff line number Diff line change @@ -202,3 +202,11 @@ The `v8x16.shuffle` instruction has 16 bytes after `simdop`.
202
202
| ` i8x16.abs ` | ` 0xe1 ` | - |
203
203
| ` i16x8.abs ` | ` 0xe2 ` | - |
204
204
| ` i32x4.abs ` | ` 0xe3 ` | - |
205
+ | ` f32x4.nearest ` | ` 0xe4 ` | - |
206
+ | ` f32x4.trunc ` | ` 0xe5 ` | - |
207
+ | ` f32x4.ceil ` | ` 0xe6 ` | - |
208
+ | ` f32x4.floor ` | ` 0xe7 ` | - |
209
+ | ` f64x2.nearest ` | ` 0xe8 ` | - |
210
+ | ` f64x2.trunc ` | ` 0xe9 ` | - |
211
+ | ` f64x2.ceil ` | ` 0xea ` | - |
212
+ | ` f64x2.floor ` | ` 0xeb ` | - |
Original file line number Diff line number Diff line change 142
142
| ` f32x4.div ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | :heavy_check_mark : |
143
143
| ` f32x4.min ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | :heavy_check_mark : |
144
144
| ` f32x4.max ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | :heavy_check_mark : |
145
+ | ` f32x4.nearest ` | | | | |
146
+ | ` f32x4.trunc ` | | | | |
147
+ | ` f32x4.ceil ` | | | | |
148
+ | ` f32x4.floor ` | | | | |
145
149
| ` f64x2.abs ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | :heavy_check_mark : |
146
150
| ` f64x2.neg ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | :heavy_check_mark : |
147
151
| ` f64x2.sqrt ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | :heavy_check_mark : |
151
155
| ` f64x2.div ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | :heavy_check_mark : |
152
156
| ` f64x2.min ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | :heavy_check_mark : |
153
157
| ` f64x2.max ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | :heavy_check_mark : |
158
+ | ` f64x2.nearest ` | | | | |
159
+ | ` f64x2.trunc ` | | | | |
160
+ | ` f64x2.ceil ` | | | | |
161
+ | ` f64x2.floor ` | | | | |
154
162
| ` i32x4.trunc_sat_f32x4_s ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | :heavy_check_mark : |
155
163
| ` i32x4.trunc_sat_f32x4_u ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | :heavy_check_mark : |
156
164
| ` f32x4.convert_i32x4_s ` | ` -msimd128 ` | :heavy_check_mark : | :heavy_check_mark : | :heavy_check_mark : |
Original file line number Diff line number Diff line change @@ -882,6 +882,30 @@ Lane-wise IEEE `multiplication`.
882
882
883
883
Lane-wise IEEE ` squareRoot ` .
884
884
885
+ ### Round to nearest integer, ties to even
886
+ * ` f32x4.nearest(a: v128) -> v128 `
887
+ * ` f64x2.nearest(a: v128) -> v128 `
888
+
889
+ Lane-wise rounding to the nearest integral value; if two values are equally near, rounds to the even one.
890
+
891
+ ### Round to integer toward zero (truncate to integer)
892
+ * ` f32x4.trunc(a: v128) -> v128 `
893
+ * ` f64x2.trunc(a: v128) -> v128 `
894
+
895
+ Lane-wise rounding to the nearest integral value with the magniture not larger than the input.
896
+
897
+ ### Round to integer above (ceiling)
898
+ * ` f32x4.ceil(a: v128) -> v128 `
899
+ * ` f64x2.ceil(a: v128) -> v128 `
900
+
901
+ Lane-wise rounding to the nearest integral value not smaller than the input.
902
+
903
+ ### Round to integer below (floor)
904
+ * ` f32x4.floor(a: v128) -> v128 `
905
+ * ` f64x2.floor(a: v128) -> v128 `
906
+
907
+ Lane-wise rounding to the nearest integral value not greater than the input.
908
+
885
909
## Conversions
886
910
### Integer to floating point
887
911
* ` f32x4.convert_i32x4_s(a: v128) -> v128 `
You can’t perform that action at this time.
0 commit comments