@@ -20,8 +20,9 @@ The mapping of numeric instructions to their underlying operators is expressed b
2020
2121.. math ::
2222 \begin {array}{lll@{\qquad }l}
23- \X {op}_{\K {i}N}(n_1 ,\dots ,n_k) &=& \F {i}\X {op}_N(n_1 ,\dots ,n_k) \\
24- \X {op}_{\K {f}N}(z_1 ,\dots ,z_k) &=& \F {f}\X {op}_N(z_1 ,\dots ,z_k) \\
23+ \X {op}_{\IN }(i_1 ,\dots ,i_k) &=& \F {i}\X {op}_N(i_1 ,\dots ,i_k) \\
24+ \X {op}_{\FN }(z_1 ,\dots ,z_k) &=& \F {f}\X {op}_N(z_1 ,\dots ,z_k) \\
25+ \X {op}_{\VN }(i_1 ,\dots ,i_k) &=& \F {i}\X {op}_N(i_1 ,\dots ,i_k) \\
2526 \end {array}
2627
2728 And for :ref: `conversion operators <exec-cvtop >`:
@@ -292,14 +293,14 @@ Most vector instructions are defined in terms of generic numeric operators appli
292293
2932942. Pop the value :math: `\V128 .\VCONST ~c_1 ` from the stack.
294295
295- 3. Let :math: `c` be the result of computing :math: `\vvunop _{\I 128 }(c_1 )`.
296+ 3. Let :math: `c` be the result of computing :math: `\vvunop _{\V 128 }(c_1 )`.
296297
2972984. Push the value :math: `\V128 .\VCONST ~c` to the stack.
298299
299300.. math ::
300301 \begin {array}{lcl@{\qquad }l}
301302 (\V128 \K {.}\VCONST ~c_1 )~\V128 \K {.}\vvunop &\stepto & (\V128 \K {.}\VCONST ~c)
302- & (\iff c = \vvunop _{\I 128 }(c_1 )) \\
303+ & (\iff c = \vvunop _{\V 128 }(c_1 )) \\
303304 \end {array}
304305
305306
@@ -314,14 +315,14 @@ Most vector instructions are defined in terms of generic numeric operators appli
314315
3153163. Pop the value :math: `\V128 .\VCONST ~c_1 ` from the stack.
316317
317- 4. Let :math: `c` be the result of computing :math: `\vvbinop _{\I 128 }(c_1 , c_2 )`.
318+ 4. Let :math: `c` be the result of computing :math: `\vvbinop _{\V 128 }(c_1 , c_2 )`.
318319
3193205. Push the value :math: `\V128 .\VCONST ~c` to the stack.
320321
321322.. math ::
322323 \begin {array}{lcl@{\qquad }l}
323324 (\V128 \K {.}\VCONST ~c_1 )~(\V128 \K {.}\VCONST ~c_2 )~\V128 \K {.}\vvbinop &\stepto & (\V128 \K {.}\VCONST ~c)
324- & (\iff c = \vvbinop _{\I 128 }(c_1 , c_2 )) \\
325+ & (\iff c = \vvbinop _{\V 128 }(c_1 , c_2 )) \\
325326 \end {array}
326327
327328
@@ -338,14 +339,14 @@ Most vector instructions are defined in terms of generic numeric operators appli
338339
3393404. Pop the value :math: `\V128 .\VCONST ~c_1 ` from the stack.
340341
341- 5. Let :math: `c` be the result of computing :math: `\vvternop _{\I 128 }(c_1 , c_2 , c_3 )`.
342+ 5. Let :math: `c` be the result of computing :math: `\vvternop _{\V 128 }(c_1 , c_2 , c_3 )`.
342343
3433446. Push the value :math: `\V128 .\VCONST ~c` to the stack.
344345
345346.. math ::
346347 \begin {array}{lcl@{\qquad }l}
347348 (\V128 \K {.}\VCONST ~c_1 )~(\V128 \K {.}\VCONST ~c_2 )~(\V128 \K {.}\VCONST ~c_3 )~\V128 \K {.}\vvternop &\stepto & (\V128 \K {.}\VCONST ~c)
348- & (\iff c = \vvternop _{\I 128 }(c_1 , c_2 , c_3 )) \\
349+ & (\iff c = \vvternop _{\V 128 }(c_1 , c_2 , c_3 )) \\
349350 \end {array}
350351
351352
@@ -379,15 +380,15 @@ Most vector instructions are defined in terms of generic numeric operators appli
379380
3803812. Pop the value :math: `\V128 .\VCONST ~c_2 ` from the stack.
381382
382- 3. Let :math: `i^\ast ` be the result of computing :math: `\lanes _{i 8 x 16 }(c_2 )`.
383+ 3. Let :math: `i^\ast ` be the result of computing :math: `\lanes _{\I 8 X 16 }(c_2 )`.
383384
3843854. Pop the value :math: `\V128 .\VCONST ~c_1 ` from the stack.
385386
386- 5. Let :math: `j^\ast ` be the result of computing :math: `\lanes _{i 8 x 16 }(c_1 )`.
387+ 5. Let :math: `j^\ast ` be the result of computing :math: `\lanes _{\I 8 X 16 }(c_1 )`.
387388
3883896. Let :math: `c^\ast ` be the concatenation of the two sequences :math: `j^\ast ` and :math: `0 ^{240 }`.
389390
390- 7. Let :math: `c'` be the result of computing :math: `\lanes ^{-1 }_{i 8 x 16 }(c^\ast [ i^\ast [0 ] ] \dots c^\ast [ i^\ast [15 ] ])`.
391+ 7. Let :math: `c'` be the result of computing :math: `\lanes ^{-1 }_{\I 8 X 16 }(c^\ast [ i^\ast [0 ] ] \dots c^\ast [ i^\ast [15 ] ])`.
391392
3923938. Push the value :math: `\V128 .\VCONST ~c'` onto the stack.
393394
@@ -398,9 +399,9 @@ Most vector instructions are defined in terms of generic numeric operators appli
398399 \end {array}
399400 \\ \qquad
400401 \begin {array}[t]{@{}r@{~}l@{}}
401- (\iff & i^\ast = \lanes _{i 8 x 16 }(c_2 ) \\
402- \wedge & c^\ast = \lanes _{i 8 x 16 }(c_1 )~0 ^{240 } \\
403- \wedge & c' = \lanes ^{-1 }_{i 8 x 16 }(c^\ast [ i^\ast [0 ] ] \dots c^\ast [ i^\ast [15 ] ]))
402+ (\iff & i^\ast = \lanes _{\I 8 X 16 }(c_2 ) \\
403+ \wedge & c^\ast = \lanes _{\I 8 X 16 }(c_1 )~0 ^{240 } \\
404+ \wedge & c' = \lanes ^{-1 }_{\I 8 X 16 }(c^\ast [ i^\ast [0 ] ] \dots c^\ast [ i^\ast [15 ] ]))
404405 \end {array}
405406 \end {array}
406407
@@ -416,15 +417,15 @@ Most vector instructions are defined in terms of generic numeric operators appli
416417
4174183. Pop the value :math: `\V128 .\VCONST ~c_2 ` from the stack.
418419
419- 4. Let :math: `i_2 ^\ast ` be the result of computing :math: `\lanes _{i 8 x 16 }(c_2 )`.
420+ 4. Let :math: `i_2 ^\ast ` be the result of computing :math: `\lanes _{\I 8 X 16 }(c_2 )`.
420421
4214225. Pop the value :math: `\V128 .\VCONST ~c_1 ` from the stack.
422423
423- 6. Let :math: `i_1 ^\ast ` be the result of computing :math: `\lanes _{i 8 x 16 }(c_1 )`.
424+ 6. Let :math: `i_1 ^\ast ` be the result of computing :math: `\lanes _{\I 8 X 16 }(c_1 )`.
424425
4254267. Let :math: `i^\ast ` be the concatenation of the two sequences :math: `i_1 ^\ast ` and :math: `i_2 ^\ast `.
426427
427- 8. Let :math: `c` be the result of computing :math: `\lanes ^{-1 }_{i 8 x 16 }(i^\ast [x^\ast [0 ]] \dots i^\ast [x^\ast [15 ]])`.
428+ 8. Let :math: `c` be the result of computing :math: `\lanes ^{-1 }_{\I 8 X 16 }(i^\ast [x^\ast [0 ]] \dots i^\ast [x^\ast [15 ]])`.
428429
4294309. Push the value :math: `\V128 .\VCONST ~c` onto the stack.
430431
@@ -435,8 +436,8 @@ Most vector instructions are defined in terms of generic numeric operators appli
435436 \end {array}
436437 \\ \qquad
437438 \begin {array}[t]{@{}r@{~}l@{}}
438- (\iff & i^\ast = \lanes _{i 8 x 16 }(c_1 )~\lanes _{i 8 x 16 }(c_2 ) \\
439- \wedge & c = \lanes ^{-1 }_{i 8 x 16 }(i^\ast [x^\ast [0 ]] \dots i^\ast [x^\ast [15 ]]))
439+ (\iff & i^\ast = \lanes _{\I 8 X 16 }(c_1 )~\lanes _{\I 8 X 16 }(c_2 ) \\
440+ \wedge & c = \lanes ^{-1 }_{\I 8 X 16 }(i^\ast [x^\ast [0 ]] \dots i^\ast [x^\ast [15 ]]))
440441 \end {array}
441442 \end {array}
442443
@@ -1820,7 +1821,7 @@ Memory Instructions
18201821
1821182213. Let :math: `n_k` be the result of computing :math: `\extend ^{\sx }_{M,W}(m_k)`.
18221823
1823- 14. Let :math: `c` be the result of computing :math: `\lanes ^{-1 }_{\X {i}W\K {x}N}(n_0 \dots n_{N-1 })`.
1824+ 14. Let :math: `c` be the result of computing :math: `\lanes ^{-1 }_{\K {i}W\K {x}N}(n_0 \dots n_{N-1 })`.
18241825
1825182615. Push the value :math: `\V128 .\CONST ~c` to the stack.
18261827
@@ -1837,7 +1838,7 @@ Memory Instructions
18371838 \wedge & \X {ea} + M \cdot N / 8 \leq |S.\SMEMS [F.\AMODULE .\MIMEMS [0 ]].\MIDATA | \\
18381839 \wedge & \bytes _{\iM }(m_k) = S.\SMEMS [F.\AMODULE .\MIMEMS [0 ]].\MIDATA [\X {ea} + k \cdot M/8 \slice M/8 ] \\
18391840 \wedge & W = M \cdot 2 \\
1840- \wedge & c = \lanes ^{-1 }_{\X {i}W\K {x}N}(\extend ^{\sx }_{M,W}(m_0 ) \dots \extend ^{\sx }_{M,W}(m_{N-1 })))
1841+ \wedge & c = \lanes ^{-1 }_{\K {i}W\K {x}N}(\extend ^{\sx }_{M,W}(m_0 ) \dots \extend ^{\sx }_{M,W}(m_{N-1 })))
18411842 \end {array}
18421843 \\[ 1 ex]
18431844 \begin {array}{lcl@{\qquad }l}
@@ -1879,7 +1880,7 @@ Memory Instructions
18791880
1880188112. Let :math: `L` be the integer :math: `128 / N`.
18811882
1882- 13. Let :math: `c` be the result of computing :math: `\lanes ^{-1 }_{\iN \K {x}L}(n^L)`.
1883+ 13. Let :math: `c` be the result of computing :math: `\lanes ^{-1 }_{\IN \K {x}L}(n^L)`.
18831884
1884188514. Push the value :math: `\V128 .\CONST ~c` to the stack.
18851886
@@ -1894,7 +1895,7 @@ Memory Instructions
18941895 (\iff & \X {ea} = i + \memarg .\OFFSET \\
18951896 \wedge & \X {ea} + N/8 \leq |S.\SMEMS [F.\AMODULE .\MIMEMS [0 ]].\MIDATA | \\
18961897 \wedge & \bytes _{\iN }(n) = S.\SMEMS [F.\AMODULE .\MIMEMS [0 ]].\MIDATA [\X {ea} \slice N/8 ] \\
1897- \wedge & c = \lanes ^{-1 }_{\iN \K {x}L}(n^L))
1898+ \wedge & c = \lanes ^{-1 }_{\IN \K {x}L}(n^L))
18981899 \end {array}
18991900 \\[ 1 ex]
19001901 \begin {array}{lcl@{\qquad }l}
@@ -1995,9 +1996,9 @@ Memory Instructions
19951996
1996199714. Let :math: `L` be :math: `128 / N`.
19971998
1998- 15. Let :math: `j^\ast ` be the result of computing :math: `\lanes _{\K {i}N \K {x}L}(v)`.
1999+ 15. Let :math: `j^\ast ` be the result of computing :math: `\lanes _{\IN \K {x}L}(v)`.
19992000
2000- 16. Let :math: `c` be the result of computing :math: `\lanes ^{-1 }_{\K {i}N \K {x}L}(j^\ast \with [x] = r)`.
2001+ 16. Let :math: `c` be the result of computing :math: `\lanes ^{-1 }_{\IN \K {x}L}(j^\ast \with [x] = r)`.
20012002
2002200317. Push the value :math: `\V128 .\CONST ~c` to the stack.
20032004
@@ -2013,7 +2014,7 @@ Memory Instructions
20132014 \wedge & \X {ea} + N/8 \leq |S.\SMEMS [F.\AMODULE .\MIMEMS [0 ]].\MIDATA | \\
20142015 \wedge & \bytes _{\iN }(r) = S.\SMEMS [F.\AMODULE .\MIMEMS [0 ]].\MIDATA [\X {ea} \slice N/8 ] \\
20152016 \wedge & L = 128 /N \\
2016- \wedge & c = \lanes ^{-1 }_{\K {i}N \K {x}L}(\lanes _{\K {i}N \K {x}L}(v) \with [x] = r))
2017+ \wedge & c = \lanes ^{-1 }_{\IN \K {x}L}(\lanes _{\IN \K {x}L}(v) \with [x] = r))
20172018 \end {array}
20182019 \\[ 1 ex]
20192020 \begin {array}{lcl@{\qquad }l}
@@ -2132,7 +2133,7 @@ Memory Instructions
21322133
2133213412. Let :math: `L` be :math: `128 /N`.
21342135
2135- 13. Let :math: `j^\ast ` be the result of computing :math: `\lanes _{\K {i}N \K {x}L}(c)`.
2136+ 13. Let :math: `j^\ast ` be the result of computing :math: `\lanes _{\IN \K {x}L}(c)`.
21362137
2137213814. Let :math: `b^\ast ` be the result of computing :math: `\bytes _{\iN }(j^\ast [x])`.
21382139
@@ -2149,7 +2150,7 @@ Memory Instructions
21492150 (\iff & \X {ea} = i + \memarg .\OFFSET \\
21502151 \wedge & \X {ea} + N \leq |S.\SMEMS [F.\AMODULE .\MIMEMS [0 ]].\MIDATA | \\
21512152 \wedge & L = 128 /N \\
2152- \wedge & S' = S \with \SMEMS [F.\AMODULE .\MIMEMS [0 ]].\MIDATA [\X {ea} \slice N/8 ] = \bytes _{\iN }(\lanes _{\K {i}N \K {x}L}(c)[x]))
2153+ \wedge & S' = S \with \SMEMS [F.\AMODULE .\MIMEMS [0 ]].\MIDATA [\X {ea} \slice N/8 ] = \bytes _{\iN }(\lanes _{\IN \K {x}L}(c)[x]))
21532154 \end {array}
21542155 \\[ 1 ex]
21552156 \begin {array}{lcl@{\qquad }l}
0 commit comments