xmmintrin.h (_mm_sfence): Use __builtin_ia32_pause.
authorUros Bizjak <uros@gcc.gnu.org>
Tue, 3 Jul 2012 07:24:10 +0000 (09:24 +0200)
committerUros Bizjak <uros@gcc.gnu.org>
Tue, 3 Jul 2012 07:24:10 +0000 (09:24 +0200)
gcc/

2012-07-03  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/xmmintrin.h (_mm_sfence): Use __builtin_ia32_pause.

libgomp/

2012-07-03  Uros Bizjak  <ubizjak@gmail.com>

* config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
* testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.

libitm/

2012-07-03  Uros Bizjak  <ubizjak@gmail.com>

* config/x86/target.h (cpu_relax): Use __builtin_ia32_pause.

From-SVN: r189194

gcc/ChangeLog
gcc/config/i386/xmmintrin.h
libgomp/ChangeLog
libgomp/config/linux/x86/futex.h
libgomp/testsuite/libgomp.c/sort-1.c
libitm/ChangeLog
libitm/config/x86/target.h

index 392dbce60ef8f2acc42e660f168f34a5813ce727..8f0d5ecaae562fd19fee64f665353bc4af6051df 100644 (file)
@@ -1,3 +1,7 @@
+2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/xmmintrin.h (_mm_sfence): Use __builtin_ia32_pause.
+
 2012-07-03  Roland McGrath  <mcgrathr@google.com>
 
        * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): Also require that the
index 5aefa9db0c2002bb675218b590c6962f3b7d64df..b3a8c3e1cda038ea1d2ec0663174229650240442 100644 (file)
@@ -1225,7 +1225,7 @@ _mm_sfence (void)
 extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
 _mm_pause (void)
 {
-  __asm__ __volatile__ ("rep; nop" : : );
+  __builtin_ia32_pause ();
 }
 
 /* Transpose the 4x4 matrix composed of row[0-3].  */
index ace010430e7822a8a480608b654945eed0a8d3e2..0b0266c33ea1f14eeec2647873593dee1fe1366b 100644 (file)
@@ -1,7 +1,12 @@
+2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
+       * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
+
 2012-07-02  Richard Guenther  <rguenther@suse.de>
-       Michael Matz  <matz@suse.de>
-       Tobias Grosser <tobias@grosser.es>
-       Sebastian Pop <sebpop@gmail.com>
+           Michael Matz  <matz@suse.de>
+           Tobias Grosser <tobias@grosser.es>
+           Sebastian Pop <sebpop@gmail.com>
 
        * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
        * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
index f6d26dc4918b6f9ed7cb1c6beb5e11d9ba47fc6c..8e87de1ef7d86aabf3208376fa1831ab660cf64c 100644 (file)
@@ -143,5 +143,5 @@ futex_wake (int *addr, int count)
 static inline void
 cpu_relax (void)
 {
-  __asm volatile ("rep; nop" : : : "memory");
+  __builtin_ia32_pause ();
 }
index 269d69da12c614b6c92b65494fdc41c6269cffde..3743065543e141265c8406e44b30651cb6579c06 100644 (file)
@@ -100,7 +100,7 @@ static inline void
 busy_wait (void)
 {
 #if defined __i386__ || defined __x86_64__
-  __asm volatile ("rep; nop" : : : "memory");
+  __builtin_ia32_pause ();
 #elif defined __ia64__
   __asm volatile ("hint @pause" : : : "memory");
 #elif defined __sparc__ && (defined __arch64__ || defined __sparc_v9__)
index 0ccdf42c592d53b30d32e007921cae9b894adb55..2d10d5e8f9703f7b0594f1f294a73b63cc385bca 100644 (file)
@@ -1,3 +1,7 @@
+2012-07-31  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/x86/target.h (cpu_relax): Use __builtin_ia32_pause.
+
 2012-05-21  Patrick Marlier  <patrick.marlier@gmail.com>
 
        * eh_cpp.cc: Fix __cxa_end_catch declaration.
index 5c7e6fbee887f21de786c3221fb76791f907ee2b..73b6585ae7055902c0c4be89040d02e2ae090353 100644 (file)
@@ -63,7 +63,7 @@ typedef struct gtm_jmpbuf
 static inline void
 cpu_relax (void)
 {
-  __asm volatile ("rep; nop" : : : "memory");
+  __builtin_ia32_pause ();
 }
 
 } // namespace GTM