@@ -461,17 +461,17 @@ whereas the actual opcode is encoded by a variable-length :ref:`unsigned integer
461
461
\end {array}
462
462
463
463
464
- .. index :: simd instruction
464
+ .. index :: vector instruction
465
465
pair: binary format; instruction
466
- .. _binary-instr-simd :
466
+ .. _binary-instr-vec :
467
467
468
- SIMD Instructions
469
- ~~~~~~~~~~~~~~~~~~~~
468
+ Vector Instructions
469
+ ~~~~~~~~~~~~~~~~~~~
470
470
471
- All variants of :ref: `SIMD instructions <syntax-instr-simd >` are represented by separate byte codes.
471
+ All variants of :ref: `vector instructions <syntax-instr-vec >` are represented by separate byte codes.
472
472
They all have a one byte prefix, whereas the actual opcode is encoded by a variable-length :ref: `unsigned integer <binary-uint >`.
473
473
474
- SIMD loads and stores are followed by the encoding of their |memarg | immediate.
474
+ Vector loads and stores are followed by the encoding of their |memarg | immediate.
475
475
476
476
.. _binary-laneidx :
477
477
@@ -544,11 +544,11 @@ The |SHUFFLE| instruction is also followed by the encoding of 16 |laneidx| immed
544
544
\hex {FD}~~34 {:}\Bu32 ~~l{:}\Blaneidx &\Rightarrow & \F64 X2 .\REPLACELANE ~l \\
545
545
\end {array}
546
546
547
- All other SIMD instructions are plain opcodes without any immediates.
547
+ All other vector instructions are plain opcodes without any immediates.
548
548
549
549
.. math ::
550
550
\begin {array}{llclll}
551
- \production {instruction} & \Binstr &::=& \dots && \phantom {simdhaslongerinstructionnames } \\&&|&
551
+ \production {instruction} & \Binstr &::=& \dots && \phantom {vechaslongerinstructionnames } \\&&|&
552
552
\hex {FD}~~14 {:}\Bu32 &\Rightarrow & \I8 X16 .\SWIZZLE \\ &&|&
553
553
\hex {FD}~~15 {:}\Bu32 &\Rightarrow & \I8 X16 .\SPLAT \\ &&|&
554
554
\hex {FD}~~16 {:}\Bu32 &\Rightarrow & \I16 X8 .\SPLAT \\ &&|&
@@ -562,7 +562,7 @@ All other SIMD instructions are plain opcodes without any immediates.
562
562
563
563
.. math ::
564
564
\begin {array}{llclll}
565
- \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {simdhaslongerinstructionnames } \\[-2 ex] &&|&
565
+ \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {vechaslongerinstructionnames } \\[-2 ex] &&|&
566
566
\hex {FD}~~35 {:}\Bu32 &\Rightarrow & \I8 X16 .\VEQ \\ &&|&
567
567
\hex {FD}~~36 {:}\Bu32 &\Rightarrow & \I8 X16 .\VNE \\ &&|&
568
568
\hex {FD}~~37 {:}\Bu32 &\Rightarrow & \I8 X16 .\VLT\K {\_s} \\ &&|&
@@ -577,7 +577,7 @@ All other SIMD instructions are plain opcodes without any immediates.
577
577
578
578
.. math ::
579
579
\begin {array}{llclll}
580
- \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {simdhaslongerinstructionnames } \\[-2 ex] &&|&
580
+ \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {vechaslongerinstructionnames } \\[-2 ex] &&|&
581
581
\hex {FD}~~45 {:}\Bu32 &\Rightarrow & \I16 X8 .\VEQ \\ &&|&
582
582
\hex {FD}~~46 {:}\Bu32 &\Rightarrow & \I16 X8 .\VNE \\ &&|&
583
583
\hex {FD}~~47 {:}\Bu32 &\Rightarrow & \I16 X8 .\VLT\K {\_s} \\ &&|&
@@ -592,7 +592,7 @@ All other SIMD instructions are plain opcodes without any immediates.
592
592
593
593
.. math ::
594
594
\begin {array}{llclll}
595
- \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {simdhaslongerinstructionnames } \\[-2 ex] &&|&
595
+ \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {vechaslongerinstructionnames } \\[-2 ex] &&|&
596
596
\hex {FD}~~55 {:}\Bu32 &\Rightarrow & \I32 X4 .\VEQ \\ &&|&
597
597
\hex {FD}~~56 {:}\Bu32 &\Rightarrow & \I32 X4 .\VNE \\ &&|&
598
598
\hex {FD}~~57 {:}\Bu32 &\Rightarrow & \I32 X4 .\VLT\K {\_s} \\ &&|&
@@ -607,7 +607,7 @@ All other SIMD instructions are plain opcodes without any immediates.
607
607
608
608
.. math ::
609
609
\begin {array}{llclll}
610
- \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {simdhaslongerinstructionnames } \\[-2 ex] &&|&
610
+ \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {vechaslongerinstructionnames } \\[-2 ex] &&|&
611
611
\hex {FD}~~214 {:}\Bu32 &\Rightarrow & \I64 X2 .\VEQ \\ &&|&
612
612
\hex {FD}~~215 {:}\Bu32 &\Rightarrow & \I64 X2 .\VNE \\ &&|&
613
613
\hex {FD}~~216 {:}\Bu32 &\Rightarrow & \I64 X2 .\VLT\K {\_s} \\ &&|&
@@ -620,7 +620,7 @@ All other SIMD instructions are plain opcodes without any immediates.
620
620
621
621
.. math ::
622
622
\begin {array}{llclll}
623
- \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {simdhaslongerinstructionnames } \\[-2 ex] &&|&
623
+ \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {vechaslongerinstructionnames } \\[-2 ex] &&|&
624
624
\hex {FD}~~65 {:}\Bu32 &\Rightarrow & \F32 X4 .\VEQ \\ &&|&
625
625
\hex {FD}~~66 {:}\Bu32 &\Rightarrow & \F32 X4 .\VNE \\ &&|&
626
626
\hex {FD}~~67 {:}\Bu32 &\Rightarrow & \F32 X4 .\VLT \\ &&|&
@@ -631,7 +631,7 @@ All other SIMD instructions are plain opcodes without any immediates.
631
631
632
632
.. math ::
633
633
\begin {array}{llclll}
634
- \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {simdhaslongerinstructionnames } \\[-2 ex] &&|&
634
+ \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {vechaslongerinstructionnames } \\[-2 ex] &&|&
635
635
\hex {FD}~~71 {:}\Bu32 &\Rightarrow & \F64 X2 .\VEQ \\ &&|&
636
636
\hex {FD}~~72 {:}\Bu32 &\Rightarrow & \F64 X2 .\VNE \\ &&|&
637
637
\hex {FD}~~73 {:}\Bu32 &\Rightarrow & \F64 X2 .\VLT \\ &&|&
@@ -646,7 +646,7 @@ All other SIMD instructions are plain opcodes without any immediates.
646
646
647
647
.. math ::
648
648
\begin {array}{llclll}
649
- \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {simdhaslongerinstructionnames } \\[-2 ex] &&|&
649
+ \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {vechaslongerinstructionnames } \\[-2 ex] &&|&
650
650
\hex {FD}~~77 {:}\Bu32 &\Rightarrow & \V128 .\VNOT \\ &&|&
651
651
\hex {FD}~~78 {:}\Bu32 &\Rightarrow & \V128 .\VAND \\ &&|&
652
652
\hex {FD}~~79 {:}\Bu32 &\Rightarrow & \V128 .\VANDNOT \\ &&|&
@@ -665,7 +665,7 @@ All other SIMD instructions are plain opcodes without any immediates.
665
665
666
666
.. math ::
667
667
\begin {array}{llclll}
668
- \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {simdhaslongerinstructionnames } \\[-2 ex] &&|&
668
+ \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {vechaslongerinstructionnames } \\[-2 ex] &&|&
669
669
\hex {FD}~~96 {:}\Bu32 &\Rightarrow & \I8 X16 .\VABS \\ &&|&
670
670
\hex {FD}~~97 {:}\Bu32 &\Rightarrow & \I8 X16 .\VNEG \\ &&|&
671
671
\hex {FD}~~98 {:}\Bu32 &\Rightarrow & \I8 X16 .\VPOPCNT \\ &&|&
@@ -691,7 +691,7 @@ All other SIMD instructions are plain opcodes without any immediates.
691
691
692
692
.. math ::
693
693
\begin {array}{llclll}
694
- \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {simdhaslongerinstructionnames } \\[-2 ex] &&|&
694
+ \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {vechaslongerinstructionnames } \\[-2 ex] &&|&
695
695
\hex {FD}~~124 {:}\Bu32 &\Rightarrow & \I16 X8 .\EXTADDPAIRWISE\K {\_i8 x16 \_s}\\ &&|&
696
696
\hex {FD}~~125 {:}\Bu32 &\Rightarrow & \I16 X8 .\EXTADDPAIRWISE\K {\_i8 x16 \_u}\\ &&|&
697
697
\hex {FD}~~128 {:}\Bu32 &\Rightarrow & \I16 X8 .\VABS \\ &&|&
@@ -728,7 +728,7 @@ All other SIMD instructions are plain opcodes without any immediates.
728
728
729
729
.. math ::
730
730
\begin {array}{llclll}
731
- \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {simdhaslongerinstructionnames } \\[-2 ex] &&|&
731
+ \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {vechaslongerinstructionnames } \\[-2 ex] &&|&
732
732
\hex {FD}~~126 {:}\Bu32 &\Rightarrow & \I32 X4 .\EXTADDPAIRWISE\K {\_i16 x8 \_s}\\ &&|&
733
733
\hex {FD}~~127 {:}\Bu32 &\Rightarrow & \I32 X4 .\EXTADDPAIRWISE\K {\_i16 x8 \_u}\\ &&|&
734
734
\hex {FD}~~160 {:}\Bu32 &\Rightarrow & \I32 X4 .\VABS \\ &&|&
@@ -758,7 +758,7 @@ All other SIMD instructions are plain opcodes without any immediates.
758
758
759
759
.. math ::
760
760
\begin {array}{llclll}
761
- \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {simdhaslongerinstructionnames } \\[-2 ex] &&|&
761
+ \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {vechaslongerinstructionnames } \\[-2 ex] &&|&
762
762
\hex {FD}~~192 {:}\Bu32 &\Rightarrow & \I64 X2 .\VABS \\ &&|&
763
763
\hex {FD}~~193 {:}\Bu32 &\Rightarrow & \I64 X2 .\VNEG \\ &&|&
764
764
\hex {FD}~~195 {:}\Bu32 &\Rightarrow & \I64 X2 .\ALLTRUE \\ &&|&
@@ -784,7 +784,7 @@ All other SIMD instructions are plain opcodes without any immediates.
784
784
785
785
.. math ::
786
786
\begin {array}{llclll}
787
- \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {simdhaslongerinstructionnames } \\[-2 ex] &&|&
787
+ \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {vechaslongerinstructionnames } \\[-2 ex] &&|&
788
788
\hex {FD}~~103 {:}\Bu32 &\Rightarrow & \F32 X4 .\VCEIL \\ &&|&
789
789
\hex {FD}~~104 {:}\Bu32 &\Rightarrow & \F32 X4 .\VFLOOR \\ &&|&
790
790
\hex {FD}~~105 {:}\Bu32 &\Rightarrow & \F32 X4 .\VTRUNC \\ &&|&
@@ -804,7 +804,7 @@ All other SIMD instructions are plain opcodes without any immediates.
804
804
805
805
.. math ::
806
806
\begin {array}{llclll}
807
- \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {simdhaslongerinstructionnames } \\[-2 ex] &&|&
807
+ \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {vechaslongerinstructionnames } \\[-2 ex] &&|&
808
808
\hex {FD}~~116 {:}\Bu32 &\Rightarrow & \F64 X2 .\VCEIL \\ &&|&
809
809
\hex {FD}~~117 {:}\Bu32 &\Rightarrow & \F64 X2 .\VFLOOR \\ &&|&
810
810
\hex {FD}~~122 {:}\Bu32 &\Rightarrow & \F64 X2 .\VTRUNC \\ &&|&
@@ -824,7 +824,7 @@ All other SIMD instructions are plain opcodes without any immediates.
824
824
825
825
.. math ::
826
826
\begin {array}{llclll}
827
- \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {simdhaslongerinstructionnames } \\[-2 ex] &&|&
827
+ \phantom {\production {instruction}} & \phantom {\Binstr } &\phantom {::=}& \phantom {\dots } && \phantom {vechaslongerinstructionnames } \\[-2 ex] &&|&
828
828
\hex {FD}~~248 {:}\Bu32 &\Rightarrow & \I32 X4 .\TRUNC\K {\_sat\_f32 x4 \_s} \\ &&|&
829
829
\hex {FD}~~249 {:}\Bu32 &\Rightarrow & \I32 X4 .\TRUNC\K {\_sat\_f32 x4 \_u} \\ &&|&
830
830
\hex {FD}~~250 {:}\Bu32 &\Rightarrow & \F32 X4 .\CONVERT\K {\_i32 x4 \_s} \\ &&|&
0 commit comments