i386: Use cmpl instead of cmp

Message ID 20220804210037.2613528-1-adhemerval.zanella@linaro.org
State Committed
Commit 26a3499cdbc537de1b6305ed5e6bcff02734f51e
Headers
Series i386: Use cmpl instead of cmp |

Checks

Context Check Description
dj/TryBot-apply_patch success Patch applied to master at the time it was sent
dj/TryBot-32bit success Build for i686

Commit Message

Adhemerval Zanella Netto Aug. 4, 2022, 9 p.m. UTC
  Clang cannot assemble cmp in the AT&T dialect mode.
---
 sysdeps/i386/i686/multiarch/wcscpy-ssse3.S |  8 ++++----
 sysdeps/i386/i686/multiarch/wcslen-sse2.S  | 16 ++++++++--------
 2 files changed, 12 insertions(+), 12 deletions(-)
  

Comments

Fangrui Song Aug. 4, 2022, 9:09 p.m. UTC | #1
On 2022-08-04, Adhemerval Zanella wrote:
>Clang cannot assemble cmp in the AT&T dialect mode.
>---
> sysdeps/i386/i686/multiarch/wcscpy-ssse3.S |  8 ++++----
> sysdeps/i386/i686/multiarch/wcslen-sse2.S  | 16 ++++++++--------
> 2 files changed, 12 insertions(+), 12 deletions(-)
>
>diff --git a/sysdeps/i386/i686/multiarch/wcscpy-ssse3.S b/sysdeps/i386/i686/multiarch/wcscpy-ssse3.S
>index 601e0f0138..fa6598c54d 100644
>--- a/sysdeps/i386/i686/multiarch/wcscpy-ssse3.S
>+++ b/sysdeps/i386/i686/multiarch/wcscpy-ssse3.S
>@@ -41,13 +41,13 @@ ENTRY (__wcscpy_ssse3)
> 	mov	STR1(%esp), %edx
> 	mov	STR2(%esp), %ecx
>
>-	cmp	$0, (%ecx)
>+	cmpl	$0, (%ecx)
> 	jz	L(ExitTail4)
>-	cmp	$0, 4(%ecx)
>+	cmpl	$0, 4(%ecx)
> 	jz	L(ExitTail8)
>-	cmp	$0, 8(%ecx)
>+	cmpl	$0, 8(%ecx)
> 	jz	L(ExitTail12)
>-	cmp	$0, 12(%ecx)
>+	cmpl	$0, 12(%ecx)
> 	jz	L(ExitTail16)
>
> 	PUSH	(%edi)
>diff --git a/sysdeps/i386/i686/multiarch/wcslen-sse2.S b/sysdeps/i386/i686/multiarch/wcslen-sse2.S
>index 5337286d41..d49a7ce355 100644
>--- a/sysdeps/i386/i686/multiarch/wcslen-sse2.S
>+++ b/sysdeps/i386/i686/multiarch/wcslen-sse2.S
>@@ -24,21 +24,21 @@
> ENTRY (__wcslen_sse2)
> 	mov	STR(%esp), %edx
>
>-	cmp	$0, (%edx)
>+	cmpl	$0, (%edx)
> 	jz	L(exit_tail0)
>-	cmp	$0, 4(%edx)
>+	cmpl	$0, 4(%edx)
> 	jz	L(exit_tail1)
>-	cmp	$0, 8(%edx)
>+	cmpl	$0, 8(%edx)
> 	jz	L(exit_tail2)
>-	cmp	$0, 12(%edx)
>+	cmpl	$0, 12(%edx)
> 	jz	L(exit_tail3)
>-	cmp	$0, 16(%edx)
>+	cmpl	$0, 16(%edx)
> 	jz	L(exit_tail4)
>-	cmp	$0, 20(%edx)
>+	cmpl	$0, 20(%edx)
> 	jz	L(exit_tail5)
>-	cmp	$0, 24(%edx)
>+	cmpl	$0, 24(%edx)
> 	jz	L(exit_tail6)
>-	cmp	$0, 28(%edx)
>+	cmpl	$0, 28(%edx)
> 	jz	L(exit_tail7)
>
> 	pxor	%xmm0, %xmm0
>-- 
>2.34.1
>
This also fixes GNU assembler warnings:

../sysdeps/i386/i686/multiarch/wcscpy-ssse3.S: Assembler messages:
../sysdeps/i386/i686/multiarch/wcscpy-ssse3.S:44: Warning: no instruction mnemonic suffix given and no register operands; using default for `cmp'
../sysdeps/i386/i686/multiarch/wcscpy-ssse3.S:46: Warning: no instruction mnemonic suffix given and no register operands; using default for `cmp'
../sysdeps/i386/i686/multiarch/wcscpy-ssse3.S:48: Warning: no instruction mnemonic suffix given and no register operands; using default for `cmp'
../sysdeps/i386/i686/multiarch/wcscpy-ssse3.S:50: Warning: no instruction mnemonic suffix given and no register operands; using default for `cmp'


BTW: I suspect you used git send-email --to='... H.J. Lu <hjl.tools@gmail.com>' instead of --to='... "H.J. Lu" <hjl.tools@gmail.com>' (quotes) :)

Reviewed-by: Fangrui Song <maskray@google.com>
  
H.J. Lu Aug. 4, 2022, 9:25 p.m. UTC | #2
On Thu, Aug 4, 2022 at 2:00 PM Adhemerval Zanella
<adhemerval.zanella@linaro.org> wrote:
>
> Clang cannot assemble cmp in the AT&T dialect mode.
> ---
>  sysdeps/i386/i686/multiarch/wcscpy-ssse3.S |  8 ++++----
>  sysdeps/i386/i686/multiarch/wcslen-sse2.S  | 16 ++++++++--------
>  2 files changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/sysdeps/i386/i686/multiarch/wcscpy-ssse3.S b/sysdeps/i386/i686/multiarch/wcscpy-ssse3.S
> index 601e0f0138..fa6598c54d 100644
> --- a/sysdeps/i386/i686/multiarch/wcscpy-ssse3.S
> +++ b/sysdeps/i386/i686/multiarch/wcscpy-ssse3.S
> @@ -41,13 +41,13 @@ ENTRY (__wcscpy_ssse3)
>         mov     STR1(%esp), %edx
>         mov     STR2(%esp), %ecx
>
> -       cmp     $0, (%ecx)
> +       cmpl    $0, (%ecx)
>         jz      L(ExitTail4)
> -       cmp     $0, 4(%ecx)
> +       cmpl    $0, 4(%ecx)
>         jz      L(ExitTail8)
> -       cmp     $0, 8(%ecx)
> +       cmpl    $0, 8(%ecx)
>         jz      L(ExitTail12)
> -       cmp     $0, 12(%ecx)
> +       cmpl    $0, 12(%ecx)
>         jz      L(ExitTail16)
>
>         PUSH    (%edi)
> diff --git a/sysdeps/i386/i686/multiarch/wcslen-sse2.S b/sysdeps/i386/i686/multiarch/wcslen-sse2.S
> index 5337286d41..d49a7ce355 100644
> --- a/sysdeps/i386/i686/multiarch/wcslen-sse2.S
> +++ b/sysdeps/i386/i686/multiarch/wcslen-sse2.S
> @@ -24,21 +24,21 @@
>  ENTRY (__wcslen_sse2)
>         mov     STR(%esp), %edx
>
> -       cmp     $0, (%edx)
> +       cmpl    $0, (%edx)
>         jz      L(exit_tail0)
> -       cmp     $0, 4(%edx)
> +       cmpl    $0, 4(%edx)
>         jz      L(exit_tail1)
> -       cmp     $0, 8(%edx)
> +       cmpl    $0, 8(%edx)
>         jz      L(exit_tail2)
> -       cmp     $0, 12(%edx)
> +       cmpl    $0, 12(%edx)
>         jz      L(exit_tail3)
> -       cmp     $0, 16(%edx)
> +       cmpl    $0, 16(%edx)
>         jz      L(exit_tail4)
> -       cmp     $0, 20(%edx)
> +       cmpl    $0, 20(%edx)
>         jz      L(exit_tail5)
> -       cmp     $0, 24(%edx)
> +       cmpl    $0, 24(%edx)
>         jz      L(exit_tail6)
> -       cmp     $0, 28(%edx)
> +       cmpl    $0, 28(%edx)
>         jz      L(exit_tail7)
>
>         pxor    %xmm0, %xmm0
> --
> 2.34.1


LGTM.

Thanks.
  

Patch

diff --git a/sysdeps/i386/i686/multiarch/wcscpy-ssse3.S b/sysdeps/i386/i686/multiarch/wcscpy-ssse3.S
index 601e0f0138..fa6598c54d 100644
--- a/sysdeps/i386/i686/multiarch/wcscpy-ssse3.S
+++ b/sysdeps/i386/i686/multiarch/wcscpy-ssse3.S
@@ -41,13 +41,13 @@  ENTRY (__wcscpy_ssse3)
 	mov	STR1(%esp), %edx
 	mov	STR2(%esp), %ecx
 
-	cmp	$0, (%ecx)
+	cmpl	$0, (%ecx)
 	jz	L(ExitTail4)
-	cmp	$0, 4(%ecx)
+	cmpl	$0, 4(%ecx)
 	jz	L(ExitTail8)
-	cmp	$0, 8(%ecx)
+	cmpl	$0, 8(%ecx)
 	jz	L(ExitTail12)
-	cmp	$0, 12(%ecx)
+	cmpl	$0, 12(%ecx)
 	jz	L(ExitTail16)
 
 	PUSH	(%edi)
diff --git a/sysdeps/i386/i686/multiarch/wcslen-sse2.S b/sysdeps/i386/i686/multiarch/wcslen-sse2.S
index 5337286d41..d49a7ce355 100644
--- a/sysdeps/i386/i686/multiarch/wcslen-sse2.S
+++ b/sysdeps/i386/i686/multiarch/wcslen-sse2.S
@@ -24,21 +24,21 @@ 
 ENTRY (__wcslen_sse2)
 	mov	STR(%esp), %edx
 
-	cmp	$0, (%edx)
+	cmpl	$0, (%edx)
 	jz	L(exit_tail0)
-	cmp	$0, 4(%edx)
+	cmpl	$0, 4(%edx)
 	jz	L(exit_tail1)
-	cmp	$0, 8(%edx)
+	cmpl	$0, 8(%edx)
 	jz	L(exit_tail2)
-	cmp	$0, 12(%edx)
+	cmpl	$0, 12(%edx)
 	jz	L(exit_tail3)
-	cmp	$0, 16(%edx)
+	cmpl	$0, 16(%edx)
 	jz	L(exit_tail4)
-	cmp	$0, 20(%edx)
+	cmpl	$0, 20(%edx)
 	jz	L(exit_tail5)
-	cmp	$0, 24(%edx)
+	cmpl	$0, 24(%edx)
 	jz	L(exit_tail6)
-	cmp	$0, 28(%edx)
+	cmpl	$0, 28(%edx)
 	jz	L(exit_tail7)
 
 	pxor	%xmm0, %xmm0