Hello!

> This error is because _mm_pause is defined in the scope of #pragma GCC
> target("sse").  But _mm_pause, which simply generates the pause
> instruction, does not require SSE support.  The pause instruction has
> nothing really to do with SSE, and it works on all x86 processors (on
> processors that do not explicitly recognize it, it is a nop).
>
> I propose the following patch, which moves _mm_pause out of the pragma
> target scope.
>
> I know that x86intrin.h provides a similar intrinsic, __pause, but I
> think it's worth making _mm_pause work reasonably as well.
>
> I'm running a full testsuite run.  OK for mainline if it passes?
>
> gcc/ChangeLog:
>
> 2014-05-29  Ian Lance Taylor  <i...@google.com>
>
> * config/i386/xmmintrin.h (_mm_pause): Move out of scope of pragma
> target("sse").
>
> gcc/testsuite/ChangeLog:
>
> 2014-05-29  Ian Lance Taylor  <i...@google.com>
>
> * gcc.target/i386/pause-2.c: New test.

The patch looks OK to me, but please wait a day or two for possible
comments (compatibility, etc) from Kirill.

Thanks,
Uros.

Reply via email to