SSE2-Code-Optimierung

8

Ich verwende SSE2-Intrinsics, um die Engpässe meiner Anwendung zu optimieren, und habe die folgende Frage:

%Vor%

Beim Microsoft C ++ Compiler wird dies nicht kompiliert, weil die Typen __m128i und unsigned int (übergeben an _mm_sll_epi32 Anweisung) nicht austauschbar sind.

Warum ist das so und wie sollte ich den willkürlichen Wert unsigned int an _mm_sll_epi32 übergeben?

_m128i ist:

%Vor%     
Yippie-Ki-Yay 03.11.2011, 13:33
quelle

2 Antworten

11

Es sollte sein:

%Vor%

Beachten Sie die i für "sofort". Ohne dies erwartet die Verschiebung intrinsics einen Vektor als zweites Argument.

    
Paul R 03.11.2011, 13:35
quelle
6

Sie können _mm_slli_epi32 verwenden (beachten Sie die i ) und ebenfalls _mm_srli_epi32 . Es benötigt ein ganzzahliges Argument und nicht __m128i .

    
user7116 03.11.2011 13:36
quelle

Tags und Links