(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
Informationen
Das angeforderte Thema wird unten angezeigt. Es ist jedoch nicht in dieser Bibliothek vorhanden.

_mm_alignr_pi8

[Diese Dokumentation ist nur eine Vorschau und wird in späteren Versionen ggf. geändert. Blank topics are included as placeholders.]

Microsoft-spezifisch

Gibt die zusätzliche Anweisung palignrder Streaming SIMD-Erweiterungen 3 (SSSE3) aus. Diese Anweisung einen extrahiert 64-Bit-Byte ausgerichteten Wert aus der Verkettung der Eingabeparameter.


          
__m64 _mm_alignr_pi8( 
   __m64 a,
   __m64 b,
   const int ralign 
);
        

[in] a

Ein 64-Bit-Parameter, der acht 8-Bit-Ganzzahlen enthält.

[in] b

Ein 64-Bit-Parameter, der acht 8-Bit-Ganzzahlen enthält.

[in] ralign

Eine ganzzahlige Konstante, die angibt, wie viele Bytes, ergebnisses Zwischen dem nach rechts verschoben werden soll.

r := (CONCAT(a, b) >> (ralign * 8)) & 0xffffffff

Intrinsisch

Architektur

_mm_alignr_pi8

x86, x64

Headerdatei <tmmintrin.h>

r ist der Wert 64-Bit-Ergebnis.

ZwischenCONCAT(a, b) ist der Wert des 128-Bits ohne Vorzeichen, der formatiert werden soll, indem Sie Parameter a und bverkettet. Der Ergebniswert ist die am weitesten rechts befindende 64 Bits, nachdem Sie diese durch ralign Bytes zwischen Ergebnis rechts verschoben wurde.

Wenn ralign der Ergebniswert > 16 (null) ist.

Vor der Verwendung dieses systeminterne Software muss sicherstellen, dass der Prozessor die Anweisung unterstützt.

// _mm_alignr_pi8
#include <stdio.h>
#include <tmmintrin.h>

int main () {
    __m64 a, b;

    a.m64_u32[1] = 0x01234567;
    a.m64_u32[0] = 0x89ABCDEF;
    b.m64_u32[1] = 0xFFDDEECC;
    b.m64_u32[0] = 0xBBAA9988;

    // A right align value of four should remove the lowest 4 bytes of "b"
    __m64 res = _mm_alignr_pi8( a, b, 4 );

    printf_s("Original a: 0x%016I64x\nOriginal b: 0x%016I64x\n",
        a.m64_u64, b.m64_u64);
    printf_s("Result res: 0x%016I64x\n",
        res.m64_u64);

    _mm_empty();

    return 0;
}
          Vorlage A: 0x0123456789abcdef
Ursprünglich: b 0xffddeeccbbaa9988
RES Ergebnis: 0x89abcdefffddeecc
        
Anzeigen:
© 2014 Microsoft