All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH resend] x86, asm: Use CC_SET()/CC_OUT() for __cmpxchg_double
@ 2018-09-28  8:33 Uros Bizjak
  2018-10-01 10:28 ` Borislav Petkov
  2018-10-01 11:54 ` [tip:x86/asm] x86/asm: Use CC_SET()/CC_OUT() in __cmpxchg_double() tip-bot for Uros Bizjak
  0 siblings, 2 replies; 6+ messages in thread
From: Uros Bizjak @ 2018-09-28  8:33 UTC (permalink / raw)
  To: linux-kernel; +Cc: x86, Thomas Gleixner, Ingo Molnar, H. Peter Anvin

Remove open-coded uses of set instructions to use CC_SET()/CC_OUT()
for __cmpxchg_double.

Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
---
 arch/x86/include/asm/cmpxchg.h | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/arch/x86/include/asm/cmpxchg.h b/arch/x86/include/asm/cmpxchg.h
index a55d79b233d3..bfb85e5844ab 100644
--- a/arch/x86/include/asm/cmpxchg.h
+++ b/arch/x86/include/asm/cmpxchg.h
@@ -242,10 +242,12 @@ extern void __add_wrong_size(void)
        BUILD_BUG_ON(sizeof(*(p2)) != sizeof(long));                    \
        VM_BUG_ON((unsigned long)(p1) % (2 * sizeof(long)));            \
        VM_BUG_ON((unsigned long)((p1) + 1) != (unsigned long)(p2));    \
-       asm volatile(pfx "cmpxchg%c4b %2; sete %0"                      \
-                    : "=a" (__ret), "+d" (__old2),                     \
-                      "+m" (*(p1)), "+m" (*(p2))                       \
-                    : "i" (2 * sizeof(long)), "a" (__old1),            \
+       asm volatile(pfx "cmpxchg%c5b %1"                               \
+                    CC_SET(e)                                          \
+                    : CC_OUT(e) (__ret),                               \
+                      "+m" (*(p1)), "+m" (*(p2)),                      \
+                      "+a" (__old1), "+d" (__old2)                     \
+                    : "i" (2 * sizeof(long)),                          \
                       "b" (__new1), "c" (__new2));                     \
        __ret;                                                          \
 })
--
2.17.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-10-01 11:55 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-09-28  8:33 [PATCH resend] x86, asm: Use CC_SET()/CC_OUT() for __cmpxchg_double Uros Bizjak
2018-10-01 10:28 ` Borislav Petkov
2018-10-01 11:03   ` Uros Bizjak
2018-10-01 11:35     ` Borislav Petkov
2018-10-01 11:40       ` Uros Bizjak
2018-10-01 11:54 ` [tip:x86/asm] x86/asm: Use CC_SET()/CC_OUT() in __cmpxchg_double() tip-bot for Uros Bizjak

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.