You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Dec 22, 2021. It is now read-only.
Numeric instructions are divided by :ref:`value type <syntax-valtype>`.
@@ -134,15 +237,25 @@ For each type, several subcategories can be distinguished:
134
237
135
238
* *Tests*: consume one operand of the respective type and produce a Boolean integer result.
136
239
137
-
* *Comparisons*: consume two operands of the respective type and produce a Boolean integer result.
240
+
* *Comparisons*: consume two operands of the respective type and produce a Boolean integer result or a result of the respective type.
138
241
139
242
* *Conversions*: consume a value of one type and produce a result of another
140
243
(the source type of the conversion is the one after the ":math:`\K{\_}`").
141
244
245
+
.. todo::
246
+
Do these subcategories have to cover every instruction? E.g. simd shifts don't fit anywhere here, since they take 128-bit int and a 32-bit int.
247
+
142
248
Some integer instructions come in two flavors,
143
249
where a signedness annotation |sx| distinguishes whether the operands are to be :ref:`interpreted <aux-signed>` as :ref:`unsigned <syntax-uint>` or :ref:`signed <syntax-sint>` integers.
144
250
For the other integer instructions, the use of two's complement for the signed interpretation means that they behave the same regardless of signedness.
145
251
252
+
Instructions that operate on |V128| operands have a naming convention that
253
+
determines how those operands will be interpreted. An instruction beginning with :math:`\K{i32x4}`
254
+
will interpret its operands as four |i32|, packed side-by-side into a |i128|.
255
+
Similarly, and instruction beginning with :math:`\K{f64x2}` interprets its operands as two |f64|, packed side-by-side into a |i128|.
256
+
257
+
.. todo::
258
+
write up runtime interpretation for the lane shapes
146
259
147
260
Conventions
148
261
...........
@@ -154,9 +267,22 @@ Occasionally, it is convenient to group operators together according to the foll
0 commit comments