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; }