Remove redundant 'cc' clobber for LDREXD instruction (gcc/arm)
authorIvan Maidanski <ivmai@mail.ru>
Sun, 6 Jan 2013 11:08:12 +0000 (15:08 +0400)
committerIvan Maidanski <ivmai@mail.ru>
Sun, 6 Jan 2013 11:31:24 +0000 (15:31 +0400)
(revert commit 07e9ea9 partially)

* src/atomic_ops/sysdeps/gcc/arm.h (AO_fetch_compare_and_swap): Remove
redundant "cc" clobber for assembly code that consists of a single
LDREXD instruction.

src/atomic_ops/sysdeps/gcc/arm.h

index 62de090..37bc811 100644 (file)
@@ -337,7 +337,7 @@ AO_fetch_compare_and_swap(volatile AO_t *addr, AO_t old_val, AO_t new_val)
         "       ldrexd  %0, [%1]\n"     /* get original to r1 & r2 */
         : "=&r"(tmp)
         : "r"(addr)
-        : "cc");
+        /* : no clobber */);
       if (tmp != old_val.AO_whole)
         break;
       __asm__ __volatile__(