[PATCH RESEND] x86/asm: Use inout "+" asm onstraint modifiers in __iowrite32_copy()

Uros Bizjak posted 1 patch 2 months, 4 weeks ago
There is a newer version of this series
arch/x86/include/asm/io.h | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
[PATCH RESEND] x86/asm: Use inout "+" asm onstraint modifiers in __iowrite32_copy()
Posted by Uros Bizjak 2 months, 4 weeks ago
Use inout "+" asm constraint modifiers to simplify asm operands.

No functional changes intended.

Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
---
 arch/x86/include/asm/io.h | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h
index ca309a3227c7..2ea25745e059 100644
--- a/arch/x86/include/asm/io.h
+++ b/arch/x86/include/asm/io.h
@@ -218,9 +218,8 @@ static inline void __iowrite32_copy(void __iomem *to, const void *from,
 				    size_t count)
 {
 	asm volatile("rep movsl"
-		     : "=&c"(count), "=&D"(to), "=&S"(from)
-		     : "0"(count), "1"(to), "2"(from)
-		     : "memory");
+		     : "+D"(to), "+S"(from), "+c"(count)
+		     : : "memory");
 }
 #define __iowrite32_copy __iowrite32_copy
 #endif
-- 
2.51.1
Re: [PATCH RESEND] x86/asm: Use inout "+" asm onstraint modifiers in __iowrite32_copy()
Posted by H. Peter Anvin 2 weeks, 3 days ago
On 2025-11-10 14:31, Uros Bizjak wrote:
> Use inout "+" asm constraint modifiers to simplify asm operands.
> 
> No functional changes intended.
> 
> Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Ingo Molnar <mingo@kernel.org>
> Cc: Borislav Petkov <bp@alien8.de>
> Cc: Dave Hansen <dave.hansen@linux.intel.com>
> Cc: "H. Peter Anvin" <hpa@zytor.com>
> ---
>  arch/x86/include/asm/io.h | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)

Looks good to me.

Reviewed-by: H. Peter Anvin (Intel) <hpa@zytor.com>

> diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h
> index ca309a3227c7..2ea25745e059 100644
> --- a/arch/x86/include/asm/io.h
> +++ b/arch/x86/include/asm/io.h
> @@ -218,9 +218,8 @@ static inline void __iowrite32_copy(void __iomem *to, const void *from,
>  				    size_t count)
>  {
>  	asm volatile("rep movsl"
> -		     : "=&c"(count), "=&D"(to), "=&S"(from)
> -		     : "0"(count), "1"(to), "2"(from)
> -		     : "memory");
> +		     : "+D"(to), "+S"(from), "+c"(count)
> +		     : : "memory");
>  }
>  #define __iowrite32_copy __iowrite32_copy
>  #endif