Re: Which header for AMD XOP _mm_roti_epi64?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jul 2, 2019 at 3:28 PM Jeffrey Walton <noloader@xxxxxxxxx> wrote:
>
> We caught a bug report for AMD XOP's _mm_roti_epi64. We are using
> <ammintrin.h> for XOP:

I believe this is the reproducer:

bulldozer:~$ g++ -march=bdver1 -msse4.1 test.cxx
test.cxx: In function ‘int main(int, char**)’:
test.cxx:15:9: error: ‘_mm_roti_epi64’ was not declared in this scope
     b = _mm_roti_epi64(a, 1);
         ^~~~~~~~~~~~~~
test.cxx:15:9: note: suggested alternative: ‘_mm_rorv_epi64’
     b = _mm_roti_epi64(a, 1);
         ^~~~~~~~~~~~~~
         _mm_rorv_epi64

bulldozer:~$ cat test.cxx
#ifdef __XOP__
#include <immintrin.h>
#include <ammintrin.h>
#endif

#ifdef __SSE41__
#include <smmintrin.h>
#endif

int main(int argc, char* argv[])
{
    __m128i a=_mm_setzero_si128(), b=_mm_setzero_si128(), c;

#ifdef __XOP__
    b = _mm_roti_epi64(a, 1);
#endif

#ifdef __SSE41__
    c = _mm_blend_epi16(a, b, 0);
#endif

    return 0;
}




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux