Saturday 15 June 2013

c++11 - Clang intrinsics for _mm256_shuffle_epi32 -


I'm trying to compile some AVX 2 code in the clag. However, it seems that the implementation of the clips of AVX 2 does not correspond to Intel's internal documents.

This code

  Fixed inline __m256i mask complex (Const VX4 and Input, Const UIT 8_btmask) {Const int mask = mask compression aluity 4 [bitmask]; #ifdef __AVX2__ __m256i retval = _mm256_shuffle_epi32 (input, mask); Return return; Results in:  
  Error: with a rvalue of type 'zero', '__m256i' can not start a variable type  

and if only I try: I get:

  Error: The index of __builtin_shufflevector should be a continuous integer  

According to this:

This should only be shuffle with the control mask that goes on the runtime (if it does not happen, then the more shuffle Ndu would not?). The shuffle should also be returned to __ m256i , but the quarrel seems that the method does not return anything.

I & lt; Immintrin.h & gt; / P>

Even I tried to index, it looks broken. How to make the shuffle as specified in Klein?


No comments:

Post a Comment