diff options
author | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-05-30 13:11:05 +0000 |
---|---|---|
committer | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-05-30 13:11:05 +0000 |
commit | 8776d2d7ff0b3caf49cc3bdc8fc4308c7e4e6211 (patch) | |
tree | 61f34fc8b2aa5a6e7598a27db079de7e146e88b0 /gcc/config/i386/xmmintrin.h | |
parent | c86468ff64f4e19f35629d5e1fc5c7ca446f545f (diff) | |
download | gcc-8776d2d7ff0b3caf49cc3bdc8fc4308c7e4e6211.tar.gz |
gcc/:
* config/i386/xmmintrin.h (_mm_pause): Move out of scope of pragma
target("sse").
testsuite/:
* gcc.target/i386/pause-2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211079 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i386/xmmintrin.h')
-rw-r--r-- | gcc/config/i386/xmmintrin.h | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/gcc/config/i386/xmmintrin.h b/gcc/config/i386/xmmintrin.h index a3824e73fc2..ec572348c38 100644 --- a/gcc/config/i386/xmmintrin.h +++ b/gcc/config/i386/xmmintrin.h @@ -1231,15 +1231,6 @@ _mm_sfence (void) __builtin_ia32_sfence (); } -/* The execution of the next instruction is delayed by an implementation - specific amount of time. The instruction does not modify the - architectural state. */ -extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) -_mm_pause (void) -{ - __builtin_ia32_pause (); -} - /* Transpose the 4x4 matrix composed of row[0-3]. */ #define _MM_TRANSPOSE4_PS(row0, row1, row2, row3) \ do { \ @@ -1262,4 +1253,15 @@ do { \ #pragma GCC pop_options #endif /* __DISABLE_SSE__ */ +/* The execution of the next instruction is delayed by an implementation + specific amount of time. The instruction does not modify the + architectural state. This is after the pop_options pragma because + it does not require SSE support in the processor--the encoding is a + nop on processors that do not support it. */ +extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__)) +_mm_pause (void) +{ + __builtin_ia32_pause (); +} + #endif /* _XMMINTRIN_H_INCLUDED */ |