[glibc/azanella/clang] arm: Use vmov.i32 instead of vmov on neon memchr

Adhemerval Zanella azanella@sourceware.org
Tue Apr 2 15:54:17 GMT 2024


https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=7aff3086ceb12b2bb0f286e2f1b938b09bde48ee

commit 7aff3086ceb12b2bb0f286e2f1b938b09bde48ee
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Tue Aug 9 17:22:58 2022 -0300

    arm: Use vmov.i32 instead of vmov on neon memchr
    
    clang fails with:
    
      error: invalid instruction

Diff:
---
 sysdeps/arm/armv7/multiarch/memchr_neon.S | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sysdeps/arm/armv7/multiarch/memchr_neon.S b/sysdeps/arm/armv7/multiarch/memchr_neon.S
index 3f593f4268..f61e73faed 100644
--- a/sysdeps/arm/armv7/multiarch/memchr_neon.S
+++ b/sysdeps/arm/armv7/multiarch/memchr_neon.S
@@ -120,7 +120,7 @@ ENTRY(memchr)
 	vpadd.i8	vdata1_0, vdata1_0, vdata1_1
 	vpadd.i8	vdata0_0, vdata0_0, vdata1_0
 	vpadd.i8	vdata0_0, vdata0_0, vdata0_0
-	vmov		synd, vdata0_0[0]
+	vmov.i32	synd, vdata0_0[0]
 
 	/* Clear the soff lower bits */
 	lsr		synd, synd, soff
@@ -166,7 +166,7 @@ ENTRY(memchr)
 	vpadd.i8	vdata1_0, vdata1_0, vdata1_1
 	vpadd.i8	vdata0_0, vdata0_0, vdata1_0
 	vpadd.i8	vdata0_0, vdata0_0, vdata0_0
-	vmov		synd, vdata0_0[0]
+	vmov.i32	synd, vdata0_0[0]
 	cbz		synd, .Lnotfound
 	bhi		.Ltail	/* Uses the condition code from
 				   subs cntin, cntin, #32 above.  */


More information about the Glibc-cvs mailing list