Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/common/lib/libc/arch/arm/gen Use the armv6 rev/rev16 if armv...



details:   https://anonhg.NetBSD.org/src/rev/69ed2138a0df
branches:  trunk
changeset: 782941:69ed2138a0df
user:      matt <matt%NetBSD.org@localhost>
date:      Tue Nov 27 23:57:07 2012 +0000

description:
Use the armv6 rev/rev16 if armv6 or later

diffstat:

 common/lib/libc/arch/arm/gen/byte_swap_2.S |  6 +++++-
 common/lib/libc/arch/arm/gen/byte_swap_4.S |  6 +++++-
 2 files changed, 10 insertions(+), 2 deletions(-)

diffs (43 lines):

diff -r 9d445bdf69d8 -r 69ed2138a0df common/lib/libc/arch/arm/gen/byte_swap_2.S
--- a/common/lib/libc/arch/arm/gen/byte_swap_2.S        Tue Nov 27 20:32:58 2012 +0000
+++ b/common/lib/libc/arch/arm/gen/byte_swap_2.S        Tue Nov 27 23:57:07 2012 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: byte_swap_2.S,v 1.4 2008/04/28 20:22:52 martin Exp $   */
+/*     $NetBSD: byte_swap_2.S,v 1.5 2012/11/27 23:57:07 matt Exp $     */
 
 /*-
  * Copyright (c) 1999 The NetBSD Foundation, Inc.
@@ -41,7 +41,11 @@
 _ENTRY(_C_LABEL(htons))
 #endif
 _PROF_PROLOGUE
+#ifdef _ARM_ARCH_6
+       rev16           r0, r0
+#else
        and             r1, r0, #0xff
        mov             r0, r0, lsr #8
        orr             r0, r0, r1, lsl #8
+#endif
        RET
diff -r 9d445bdf69d8 -r 69ed2138a0df common/lib/libc/arch/arm/gen/byte_swap_4.S
--- a/common/lib/libc/arch/arm/gen/byte_swap_4.S        Tue Nov 27 20:32:58 2012 +0000
+++ b/common/lib/libc/arch/arm/gen/byte_swap_4.S        Tue Nov 27 23:57:07 2012 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: byte_swap_4.S,v 1.4 2008/04/28 20:22:52 martin Exp $   */
+/*     $NetBSD: byte_swap_4.S,v 1.5 2012/11/27 23:57:07 matt Exp $     */
 
 /*-
  * Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -41,8 +41,12 @@
 _ENTRY(_C_LABEL(htonl))
 #endif
 _PROF_PROLOGUE
+#ifdef _ARM_ARCH_6
+       rev             r0, r0
+#else
        eor             r1, r0, r0, ror #16
        bic             r1, r1, #0x00FF0000
        mov             r0, r0, ror #8
        eor             r0, r0, r1, lsr #8
+#endif
        RET



Home | Main Index | Thread Index | Old Index