Module Name:    src
Committed By:   matt
Date:           Wed Jan  9 00:01:07 UTC 2013

Modified Files:
        src/common/lib/libc/arch/arm/string: strlen_arm.S

Log Message:
Use movw on armv7 to fill uppper halfword.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/common/lib/libc/arch/arm/string/strlen_arm.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/common/lib/libc/arch/arm/string/strlen_arm.S
diff -u src/common/lib/libc/arch/arm/string/strlen_arm.S:1.1 src/common/lib/libc/arch/arm/string/strlen_arm.S:1.2
--- src/common/lib/libc/arch/arm/string/strlen_arm.S:1.1	Tue Jan  8 13:17:45 2013
+++ src/common/lib/libc/arch/arm/string/strlen_arm.S	Wed Jan  9 00:01:07 2013
@@ -29,7 +29,7 @@
 
 #include <machine/asm.h>
 
-RCSID("$NetBSD: strlen_arm.S,v 1.1 2013/01/08 13:17:45 matt Exp $")
+RCSID("$NetBSD: strlen_arm.S,v 1.2 2013/01/09 00:01:07 matt Exp $")
 
 #ifdef __ARMEL__
 #define	BYTE0	0x000000ff
@@ -55,13 +55,12 @@ ENTRY(strlen)
 	sub	r0, r0, ip		/* subtract start */
 	RET				/* return */
 .Lpre_main_loop:
-#if defined(_ARM_ARCH_6)
 #if defined(_ARM_ARCH_7)
 	movw	r1, #0xfefe		/* magic constant; 254 in each byte */
-#else
+	movt	r1, #0xfefe		/* magic constant; 254 in each byte */
+#elif defined(_ARM_ARCH_6)
 	mov	r1, #0xfe		/* put 254 in low byte */
 	orr	r1, r1, r1, lsl #8	/* move to next byte */
-#endif
 	orr	r1, r1, r1, lsl #16	/* move to next halfword */
 #endif /* _ARM_ARCH_6 */
 .Lmain_loop:

Reply via email to