WebAssembly SIMD-spezifische Arithmetikinstruktionen
WebAssembly SIMD-spezifische Arithmetikinstruktionen.
Adjacent pairs hinzufügen
extadd_pairwise_i8x16_s-
Addiert jedes benachbarte Paar von Lanes einer signed
v128i8x16Wertinterpretation und gibt die Ergebnisse alsi16x8Wertinterpretation aus. extadd_pairwise_i8x16_u-
Addiert jedes benachbarte Paar von Lanes einer unsigned
v128i8x16Wertinterpretation und gibt die Ergebnisse alsi16x8Wertinterpretation aus. extadd_pairwise_i16x8_s-
Addiert jedes benachbarte Paar von Lanes einer signed
v128i16x8Wertinterpretation und gibt die Ergebnisse alsi32x4Wertinterpretation aus. extadd_pairwise_i16x8_u-
Addiert jedes benachbarte Paar von Lanes einer unsigned
v128i16x8Wertinterpretation und gibt die Ergebnisse alsi32x4Wertinterpretation aus.
Ganzzahliges Punktprodukt
dot_i16x8_s-
Führt eine Punktproduktberechnung auf zwei signed
v128i16x8Wertinterpretationen durch. Die entsprechenden Lanes der Eingabewerte werden miteinander multipliziert, dann werden jeweils benachbarte Paare von Produkten zusammen addiert. Die vier Ergebnisse dieser Additionen werden alsi32x4Wertinterpretation ausgegeben.
Lane-weise gerundeter Durchschnitt
avgr_u-
Führt einen gerundeten Durchschnitt zweier unsigned
v128Wertinterpretationen durch. Jede Lane des Ausgabewerts ist(a + b + 1) / 2, gerundet nach oben (Decken-Division).
Lane-weise sättigende Rundungsmultiplikation
q15mulr_sat_s-
Führt eine lane-weise sättigende Rundungsmultiplikation im Q15-Format auf zwei signed
v128i16x8Wertinterpretationen durch — Begrenzung der Ausgabe auf den durch den Werttyp erlaubten Bereich (eine einzigei16x8Wertinterpretation).
Minimum und Maximum
max_s-
Vergleicht zwei
v128signed integer Wertinterpretationen und gibt eine neue Interpretation zurück, wobei jede Lane auf den größeren Wert dieses Lane-Indexes der beiden Eingaben gesetzt wird. max_u-
Vergleicht zwei
v128unsigned integer Wertinterpretationen und gibt eine neue Interpretation zurück, wobei jede Lane auf den größeren Wert dieses Lane-Indexes der beiden Eingaben gesetzt wird. min_s-
Vergleicht zwei
v128signed integer Wertinterpretationen und gibt eine neue Interpretation zurück, wobei jede Lane auf den kleineren Wert dieses Lane-Indexes der beiden Eingaben gesetzt wird. min_u-
Vergleicht zwei
v128unsigned integer Wertinterpretationen und gibt eine neue Interpretation zurück, wobei jede Lane auf den kleineren Wert dieses Lane-Indexes der beiden Eingaben gesetzt wird. pmax-
Vergleicht zwei
v128Gleitpunktwertinterpretationen und gibt eine neue Interpretation zurück, wobei jede Ausgabelane auf den größeren der entsprechenden Eingabelanes gesetzt wird. pmin-
Vergleicht zwei
v128Gleitpunktwertinterpretationen und gibt eine neue Interpretation zurück, wobei jede Ausgabelane auf den kleineren der entsprechenden Eingabelanes gesetzt wird.
Multiplizieren und erweitern
extmul_low_i8x16_s-
Nimmt Lanes 0–7 von zwei signed
v128i8x16Wertinterpretationen, multipliziert die Werte in den entsprechenden Lanes und gibt das Ergebnis dieser Operationen alsi16x8Wertinterpretation aus. extmul_high_i8x16_s-
Nimmt Lanes 8–15 von zwei signed
v128i8x16Wertinterpretationen, multipliziert die Werte in den entsprechenden Lanes und gibt das Ergebnis dieser Operationen alsi16x8Wertinterpretation aus. extmul_low_i8x16_u-
Nimmt Lanes 0–7 von zwei unsigned
v128i8x16Wertinterpretationen, multipliziert die Werte in den entsprechenden Lanes und gibt das Ergebnis dieser Operationen alsi16x8Wertinterpretation aus. extmul_high_i8x16_u-
Nimmt Lanes 8–15 von zwei unsigned
v128i8x16Wertinterpretationen, multipliziert die Werte in den entsprechenden Lanes und gibt das Ergebnis dieser Operationen alsi16x8Wertinterpretation aus. extmul_low_i16x8_s-
Nimmt Lanes 0–3 von zwei signed
v128i16x8Wertinterpretationen, multipliziert die Werte in den entsprechenden Lanes und gibt das Ergebnis dieser Operationen alsi32x4Wertinterpretation aus. extmul_high_i16x8_s-
Nimmt Lanes 4–7 von zwei signed
v128i16x8Wertinterpretationen, multipliziert die Werte in den entsprechenden Lanes und gibt das Ergebnis dieser Operationen alsi32x4Wertinterpretation aus. extmul_low_i16x8_u-
Nimmt Lanes 0–3 von zwei unsigned
v128i16x8Wertinterpretationen, multipliziert die Werte in den entsprechenden Lanes und gibt das Ergebnis dieser Operationen alsi32x4Wertinterpretation aus. extmul_high_i16x8_u-
Nimmt Lanes 4–7 von zwei unsigned
v128i16x8Wertinterpretationen, multipliziert die Werte in den entsprechenden Lanes und gibt das Ergebnis dieser Operationen alsi32x4Wertinterpretation aus. extmul_low_i32x4_s-
Nimmt Lanes 0–1 von zwei signed
v128i32x4Wertinterpretationen, multipliziert die Werte in den entsprechenden Lanes und gibt das Ergebnis dieser Operationen alsi64x2Wertinterpretation aus. extmul_high_i32x4_s-
Nimmt Lanes 2–3 von zwei signed
v128i32x4Wertinterpretationen, multipliziert die Werte in den entsprechenden Lanes und gibt das Ergebnis dieser Operationen alsi64x2Wertinterpretation aus. extmul_low_i32x4_u-
Nimmt Lanes 0–1 von zwei unsigned
v128i32x4Wertinterpretationen, multipliziert die Werte in den entsprechenden Lanes und gibt das Ergebnis dieser Operationen alsi64x2Wertinterpretation aus. extmul_high_i32x4_u-
Nimmt Lanes 2–3 von zwei unsigned
v128i32x4Wertinterpretationen, multipliziert die Werte in den entsprechenden Lanes und gibt das Ergebnis dieser Operationen alsi64x2Wertinterpretation aus.
Sättigende Addition und Subtraktion
add_sat_s-
Führt eine sättigende Addition von zwei signed
v128Wertinterpretationen durch — Begrenzung der Ausgabe auf den durch den Werttyp erlaubten Bereich. Jede Lane des Ausgabewerts ist das Ergebnis der Addition der entsprechenden Lanes der Eingabewerte. add_sat_u-
Führt eine sättigende Addition von zwei unsigned
v128Wertinterpretationen durch — Begrenzung der Ausgabe auf den durch den Werttyp erlaubten Bereich. Jede Lane des Ausgabewerts ist das Ergebnis der Addition der entsprechenden Lanes der Eingabewerte. sub_sat_s-
Führt eine sättigende Subtraktion von zwei signed
v128Wertinterpretationen durch — Begrenzung der Ausgabe auf den durch den Werttyp erlaubten Bereich. Jede Lane des Ausgabewerts ist das Ergebnis der Subtraktion der entsprechenden Lane des zweiten Eingabewerts von der entsprechenden Lane des ersten Eingabewerts. sub_sat_u-
Führt eine sättigende Subtraktion von zwei unsigned
v128Wertinterpretationen durch — Begrenzung der Ausgabe auf den durch den Werttyp erlaubten Bereich. Jede Lane des Ausgabewerts ist das Ergebnis der Subtraktion der entsprechenden Lane des zweiten Eingabewerts von der entsprechenden Lane des ersten Eingabewerts.