aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2014-05-30 13:53:58 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2014-05-30 13:53:58 +0000
commit7480a39b770374d5355c60804dd8cc99a8a65a83 (patch)
tree954341b1f6de0160a743a741c85a9d5a24b7f482
parentecd5543ffa4648505979d4e0b90118273acf6c17 (diff)
downloadgcc-7480a39b770374d5355c60804dd8cc99a8a65a83.zip
gcc-7480a39b770374d5355c60804dd8cc99a8a65a83.tar.gz
gcc-7480a39b770374d5355c60804dd8cc99a8a65a83.tar.bz2
runtime: Use _mm_pause rather than __builtin_ia32_pause.
Based on a patch from Peter Collingbourne. From-SVN: r211081
-rw-r--r--libgo/runtime/yield.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libgo/runtime/yield.c b/libgo/runtime/yield.c
index 5c47719..442d346 100644
--- a/libgo/runtime/yield.c
+++ b/libgo/runtime/yield.c
@@ -14,6 +14,10 @@
#include <sys/select.h>
#endif
+#if defined (__i386__) || defined (__x86_64__)
+#include <xmmintrin.h>
+#endif
+
#include "runtime.h"
/* Spin wait. */
@@ -26,7 +30,7 @@ runtime_procyield (uint32 cnt)
for (i = 0; i < cnt; ++i)
{
#if defined (__i386__) || defined (__x86_64__)
- __builtin_ia32_pause ();
+ _mm_pause ();
#endif
}
}