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 Use explicit form of register pair ...



details:   https://anonhg.NetBSD.org/src/rev/9fb27dd49c84
branches:  trunk
changeset: 325023:9fb27dd49c84
user:      joerg <joerg%NetBSD.org@localhost>
date:      Sat Nov 30 21:09:11 2013 +0000

description:
Use explicit form of register pair operations by specifying both.

diffstat:

 common/lib/libc/arch/arm/atomic/atomic_and_64.S                |   6 +-
 common/lib/libc/arch/arm/atomic/atomic_cas_64.S                |   8 +-
 common/lib/libc/arch/arm/atomic/atomic_dec_64.S                |   6 +-
 common/lib/libc/arch/arm/atomic/atomic_inc_64.S                |   6 +-
 common/lib/libc/arch/arm/atomic/atomic_nand_64.S               |   6 +-
 common/lib/libc/arch/arm/atomic/atomic_or_64.S                 |   6 +-
 common/lib/libc/arch/arm/atomic/atomic_swap_64.S               |   8 +-
 common/lib/libc/arch/arm/atomic/atomic_xor_64.S                |   6 +-
 common/lib/libc/arch/arm/atomic/sync_bool_compare_and_swap_8.S |   8 +-
 common/lib/libc/arch/arm/atomic/sync_fetch_and_add_8.S         |   6 +-
 common/lib/libc/arch/arm/atomic/sync_fetch_and_and_8.S         |   6 +-
 common/lib/libc/arch/arm/atomic/sync_fetch_and_nand_8.S        |   6 +-
 common/lib/libc/arch/arm/atomic/sync_fetch_and_or_8.S          |   6 +-
 common/lib/libc/arch/arm/atomic/sync_fetch_and_sub_8.S         |   6 +-
 common/lib/libc/arch/arm/atomic/sync_fetch_and_xor_8.S         |   6 +-
 common/lib/libc/arch/arm/string/memset.S                       |  46 +++++-----
 16 files changed, 71 insertions(+), 71 deletions(-)

diffs (truncated from 442 to 300 lines):

diff -r a6d339490e94 -r 9fb27dd49c84 common/lib/libc/arch/arm/atomic/atomic_and_64.S
--- a/common/lib/libc/arch/arm/atomic/atomic_and_64.S   Sat Nov 30 21:07:59 2013 +0000
+++ b/common/lib/libc/arch/arm/atomic/atomic_and_64.S   Sat Nov 30 21:09:11 2013 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: atomic_and_64.S,v 1.8 2013/11/08 22:42:52 matt Exp $   */
+/*     $NetBSD: atomic_and_64.S,v 1.9 2013/11/30 21:09:11 joerg Exp $  */
 /*-
  * Copyright (c) 2012 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -39,10 +39,10 @@
        mov     r2, r1
 #endif
        mov     ip, r0                  /* need r0 for return value */
-1:     ldrexd  r0, [ip]                /* load old value */
+1:     ldrexd  r0, r1, [ip]            /* load old value */
        ands    r0, r0, r2              /* calculate new value */
        ands    r1, r1, r3              /* calculate new value */
-       strexd  r4, r0, [ip]            /* try to store */
+       strexd  r4, r0, r1, [ip]        /* try to store */
        cmp     r4, #0                  /*   succeed? */
        bne     1b                      /*     no, try again? */
 #ifdef _ARM_ARCH_7
diff -r a6d339490e94 -r 9fb27dd49c84 common/lib/libc/arch/arm/atomic/atomic_cas_64.S
--- a/common/lib/libc/arch/arm/atomic/atomic_cas_64.S   Sat Nov 30 21:07:59 2013 +0000
+++ b/common/lib/libc/arch/arm/atomic/atomic_cas_64.S   Sat Nov 30 21:09:11 2013 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: atomic_cas_64.S,v 1.4 2013/11/08 22:42:52 matt Exp $   */
+/*     $NetBSD: atomic_cas_64.S,v 1.5 2013/11/30 21:09:11 joerg Exp $  */
 /*-
  * Copyright (c) 2012 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -39,7 +39,7 @@
        push    {r4, r5, r6}            /* save temporaries */
        mov     ip, r0                  /* we need r0 for return value */
 #ifdef __ARM_EABI__
-       ldrd    r4, [sp]                /* fetch new value */
+       ldrd    r4, r5, [sp]            /* fetch new value */
 #else
        ldr     r4, [sp, #0]            /* fetch new value */
        ldr     r5, [sp, #4]            /* fetch new value */
@@ -47,7 +47,7 @@
        mov     r2, r1                  /* r1 will be overwritten by ldrexd */
 #endif
 1:
-       ldrexd  r0, [ip]                /* load current value */
+       ldrexd  r0, r1, [ip]            /* load current value */
        cmp     r0, r2                  /*   compare to old? 1st half */
 #ifdef __thumb__
        bne     2f                      /*     jump to return if different */
@@ -56,7 +56,7 @@
        cmpeq   r1, r3                  /*   compare to old? 2nd half */
 #endif
        bne     2f                      /*     jump to return if different */
-       strexd  r6, r4, [ip]            /* store new value */
+       strexd  r6, r4, r5, [ip]        /* store new value */
        cmp     r6, #0                  /*   succeed? */
        bne     1b                      /*     nope, try again. */
 #ifdef _ARM_ARCH_7
diff -r a6d339490e94 -r 9fb27dd49c84 common/lib/libc/arch/arm/atomic/atomic_dec_64.S
--- a/common/lib/libc/arch/arm/atomic/atomic_dec_64.S   Sat Nov 30 21:07:59 2013 +0000
+++ b/common/lib/libc/arch/arm/atomic/atomic_dec_64.S   Sat Nov 30 21:09:11 2013 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: atomic_dec_64.S,v 1.6 2013/08/11 04:41:17 matt Exp $   */
+/*     $NetBSD: atomic_dec_64.S,v 1.7 2013/11/30 21:09:11 joerg Exp $  */
 /*-
  * Copyright (c) 2012 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -34,10 +34,10 @@
 
 ENTRY_NP(_atomic_dec_64_nv)
        mov     ip, r0                  /* need r0 for return value */
-1:     ldrexd  r0, [ip]                /* load old value */
+1:     ldrexd  r0, r1, [ip]            /* load old value */
        subs    LO, LO, #1              /* calculate new value */
        sbcs    HI, HI, #0              /* calculate new value */
-       strexd  r2, r0, [ip]            /* try to store */
+       strexd  r2, r0, r1, [ip]        /* try to store */
        cmp     r2, #0                  /*   succeed? */
        bne     1b                      /*     no, try again? */
 #ifdef _ARM_ARCH_7
diff -r a6d339490e94 -r 9fb27dd49c84 common/lib/libc/arch/arm/atomic/atomic_inc_64.S
--- a/common/lib/libc/arch/arm/atomic/atomic_inc_64.S   Sat Nov 30 21:07:59 2013 +0000
+++ b/common/lib/libc/arch/arm/atomic/atomic_inc_64.S   Sat Nov 30 21:09:11 2013 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: atomic_inc_64.S,v 1.8 2013/08/11 04:41:17 matt Exp $   */
+/*     $NetBSD: atomic_inc_64.S,v 1.9 2013/11/30 21:09:11 joerg Exp $  */
 /*-
  * Copyright (c) 2012 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -34,10 +34,10 @@
 
 ENTRY_NP(_atomic_inc_64_nv)
        mov     ip, r0                  /* need r0 for return value */
-1:     ldrexd  r0, [ip]                /* load old value */
+1:     ldrexd  r0, r1, [ip]            /* load old value */
        adds    LO, LO, #1              /* calculate new value (return value) */
        adcs    HI, HI, #0              /* fold carry into high */
-       strexd  r2, r0, [ip]            /* try to store */
+       strexd  r2, r0, r1, [ip]        /* try to store */
        cmp     r2, #0                  /*   succeed? */
        bne     1b                      /*     no, try again? */
 #ifdef _ARM_ARCH_7
diff -r a6d339490e94 -r 9fb27dd49c84 common/lib/libc/arch/arm/atomic/atomic_nand_64.S
--- a/common/lib/libc/arch/arm/atomic/atomic_nand_64.S  Sat Nov 30 21:07:59 2013 +0000
+++ b/common/lib/libc/arch/arm/atomic/atomic_nand_64.S  Sat Nov 30 21:09:11 2013 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: atomic_nand_64.S,v 1.1 2013/11/08 22:42:52 matt Exp $  */
+/*     $NetBSD: atomic_nand_64.S,v 1.2 2013/11/30 21:09:11 joerg Exp $ */
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -39,12 +39,12 @@
        mov     r2, r1
 #endif
        mov     ip, r0                  /* need r0 for return value */
-1:     ldrexd  r0, [ip]                /* load old value */
+1:     ldrexd  r0, r1, [ip]            /* load old value */
        mvns    r0, r0                  /* complement old value */
        mvns    r1, r1                  /* complement old value */
        ands    r0, r0, r2              /* calculate new value */
        ands    r1, r1, r3              /* calculate new value */
-       strexd  r4, r0, [ip]            /* try to store */
+       strexd  r4, r0, r1, [ip]        /* try to store */
        cmp     r4, #0                  /*   succeed? */
        bne     1b                      /*     no, try again? */
 #ifdef _ARM_ARCH_7
diff -r a6d339490e94 -r 9fb27dd49c84 common/lib/libc/arch/arm/atomic/atomic_or_64.S
--- a/common/lib/libc/arch/arm/atomic/atomic_or_64.S    Sat Nov 30 21:07:59 2013 +0000
+++ b/common/lib/libc/arch/arm/atomic/atomic_or_64.S    Sat Nov 30 21:09:11 2013 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: atomic_or_64.S,v 1.8 2013/11/08 22:42:52 matt Exp $    */
+/*     $NetBSD: atomic_or_64.S,v 1.9 2013/11/30 21:09:11 joerg Exp $   */
 /*-
  * Copyright (c) 2012 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -39,10 +39,10 @@
        mov     r2, r1
 #endif
        mov     ip, r0                  /* need r0 for return value */
-1:     ldrexd  r0, [ip]                /* load old value */
+1:     ldrexd  r0, r1, [ip]            /* load old value */
        orrs    r0, r0, r2              /* calculate new value (return value) */
        orrs    r1, r1, r3              /* calculate new value (return value) */
-       strexd  r4, r0, [ip]            /* try to store */
+       strexd  r4, r0, r1, [ip]        /* try to store */
        cmp     r4, #0                  /*   succeed? */
        bne     1b                      /*     no, try again? */
 #ifdef _ARM_ARCH_7
diff -r a6d339490e94 -r 9fb27dd49c84 common/lib/libc/arch/arm/atomic/atomic_swap_64.S
--- a/common/lib/libc/arch/arm/atomic/atomic_swap_64.S  Sat Nov 30 21:07:59 2013 +0000
+++ b/common/lib/libc/arch/arm/atomic/atomic_swap_64.S  Sat Nov 30 21:09:11 2013 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: atomic_swap_64.S,v 1.6 2013/11/08 22:42:52 matt Exp $  */
+/*     $NetBSD: atomic_swap_64.S,v 1.7 2013/11/30 21:09:11 joerg Exp $ */
 /*-
  * Copyright (c) 2012 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -37,8 +37,8 @@
        mov     r3, r2                  /* r2 will be overwriten by r1 */
        mov     r2, r1                  /* and r1 will be overwritten by ldrexd */
 #endif
-1:     ldrexd  r0, [ip]                /* load old value */
-       strexd  r4, r2, [ip]            /* store new value */
+1:     ldrexd  r0, r1, [ip]            /* load old value */
+       strexd  r4, r2, r3, [ip]        /* store new value */
        cmp     r4, #0                  /*   succeed? */
        bne     1b                      /*    no, try again */
 #ifdef _ARM_ARCH_7
@@ -55,6 +55,6 @@
 ENTRY_NP(__sync_lock_release_8)
        mov     r2, #0
        mov     r3, #0
-       strd    r2, [r0]
+       strd    r2, r3, [r0]
        RET
 END(__sync_lock_release_8)
diff -r a6d339490e94 -r 9fb27dd49c84 common/lib/libc/arch/arm/atomic/atomic_xor_64.S
--- a/common/lib/libc/arch/arm/atomic/atomic_xor_64.S   Sat Nov 30 21:07:59 2013 +0000
+++ b/common/lib/libc/arch/arm/atomic/atomic_xor_64.S   Sat Nov 30 21:09:11 2013 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: atomic_xor_64.S,v 1.1 2013/11/08 22:42:52 matt Exp $   */
+/*     $NetBSD: atomic_xor_64.S,v 1.2 2013/11/30 21:09:11 joerg Exp $  */
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -39,10 +39,10 @@
        mov     r2, r1
 #endif
        mov     ip, r0                  /* need r0 for return value */
-1:     ldrexd  r0, [ip]                /* load old value */
+1:     ldrexd  r0, r1, [ip]            /* load old value */
        eors    r0, r0, r2              /* calculate new value (return value) */
        eors    r1, r1, r3              /* calculate new value (return value) */
-       strexd  r4, r0, [ip]            /* try to store */
+       strexd  r4, r0, r1, [ip]        /* try to store */
        cmp     r4, #0                  /*   succeed? */
        bne     1b                      /*     no, try again? */
 #ifdef _ARM_ARCH_7
diff -r a6d339490e94 -r 9fb27dd49c84 common/lib/libc/arch/arm/atomic/sync_bool_compare_and_swap_8.S
--- a/common/lib/libc/arch/arm/atomic/sync_bool_compare_and_swap_8.S    Sat Nov 30 21:07:59 2013 +0000
+++ b/common/lib/libc/arch/arm/atomic/sync_bool_compare_and_swap_8.S    Sat Nov 30 21:09:11 2013 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: sync_bool_compare_and_swap_8.S,v 1.1 2013/11/08 22:42:52 matt Exp $    */
+/*     $NetBSD: sync_bool_compare_and_swap_8.S,v 1.2 2013/11/30 21:09:11 joerg Exp $   */
 /*-
  * Copyright (c) 2012 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -40,7 +40,7 @@
        mov     ip, r0                  /* we need r0 for return value */
        movs    r0, #0                  /* assume failure */
 #ifdef __ARM_EABI__
-       ldrd    r4, [sp]                /* fetch new value from stack */
+       ldrd    r4, r5, [sp]            /* fetch new value from stack */
 #else
        ldr     r4, [sp, #0]            /* fetch new value from stack */
        ldr     r5, [sp, #4]            /* fetch new value from stack */
@@ -48,7 +48,7 @@
        mov     r2, r1                  /* r1 will be overwritten by ldrexd */
 #endif
 1:
-       ldrexd  r6, [ip]                /* load current value */
+       ldrexd  r6, r7, [ip]            /* load current value */
        cmp     r6, r2                  /*   compare to old? 1st half */
 #ifdef __thumb__
        bne     2f                      /*     jump to return if different */
@@ -57,7 +57,7 @@
        cmpeq   r7, r3                  /*   compare to old? 2nd half */
 #endif
        bne     2f                      /*     jump to return if different */
-       strexd  r0, r4, [ip]            /* store new value */
+       strexd  r0, r4, r5, [ip]        /* store new value */
        cmp     r0, #0                  /*   succeed? */
        bne     1b                      /*     nope, try again. */
        movs    r0, #1                  /* indicate success */
diff -r a6d339490e94 -r 9fb27dd49c84 common/lib/libc/arch/arm/atomic/sync_fetch_and_add_8.S
--- a/common/lib/libc/arch/arm/atomic/sync_fetch_and_add_8.S    Sat Nov 30 21:07:59 2013 +0000
+++ b/common/lib/libc/arch/arm/atomic/sync_fetch_and_add_8.S    Sat Nov 30 21:09:11 2013 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: sync_fetch_and_add_8.S,v 1.1 2013/11/08 22:42:52 matt Exp $    */
+/*     $NetBSD: sync_fetch_and_add_8.S,v 1.2 2013/11/30 21:09:11 joerg Exp $   */
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -40,10 +40,10 @@
        mov     r3, r2
        mov     r2, r1
 #endif
-1:     ldrexd  r0, [ip]                /* load old value */
+1:     ldrexd  r0, r1, [ip]            /* load old value */
        adds    TLO, LO, NLO            /* calculate new value */
        adcs    THI, HI, NHI            /* calculate new value */
-       strexd  r6, r4, [ip]            /* try to store */
+       strexd  r6, r4, r5, [ip]        /* try to store */
        cmp     r6, #0                  /*   succeed? */
        bne     1b                      /*     no, try again */
 #ifdef _ARM_ARCH_7
diff -r a6d339490e94 -r 9fb27dd49c84 common/lib/libc/arch/arm/atomic/sync_fetch_and_and_8.S
--- a/common/lib/libc/arch/arm/atomic/sync_fetch_and_and_8.S    Sat Nov 30 21:07:59 2013 +0000
+++ b/common/lib/libc/arch/arm/atomic/sync_fetch_and_and_8.S    Sat Nov 30 21:09:11 2013 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: sync_fetch_and_and_8.S,v 1.1 2013/11/08 22:42:52 matt Exp $    */
+/*     $NetBSD: sync_fetch_and_and_8.S,v 1.2 2013/11/30 21:09:11 joerg Exp $   */
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -40,10 +40,10 @@
        mov     r3, r2
        mov     r2, r1
 #endif
-1:     ldrexd  r0, [ip]                /* load old value */
+1:     ldrexd  r0, r1, [ip]            /* load old value */
        ands    r4, r0, r2              /* calculate new value */
        ands    r5, r1, r3              /* calculate new value */
-       strexd  r6, r4, [ip]            /* try to store */
+       strexd  r6, r4, r5, [ip]        /* try to store */
        cmp     r6, #0                  /*   succeed? */
        bne     1b                      /*     no, try again */
 #ifdef _ARM_ARCH_7
diff -r a6d339490e94 -r 9fb27dd49c84 common/lib/libc/arch/arm/atomic/sync_fetch_and_nand_8.S
--- a/common/lib/libc/arch/arm/atomic/sync_fetch_and_nand_8.S   Sat Nov 30 21:07:59 2013 +0000
+++ b/common/lib/libc/arch/arm/atomic/sync_fetch_and_nand_8.S   Sat Nov 30 21:09:11 2013 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: sync_fetch_and_nand_8.S,v 1.1 2013/11/08 22:42:52 matt Exp $   */
+/*     $NetBSD: sync_fetch_and_nand_8.S,v 1.2 2013/11/30 21:09:11 joerg Exp $  */
 
 /*-
  * Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -40,12 +40,12 @@
        mov     r3, r2
        mov     r2, r1
 #endif
-1:     ldrexd  r0, [ip]                /* load old value */
+1:     ldrexd  r0, r1, [ip]            /* load old value */
        mvns    r4, r0                  /* complement old value */
        mvns    r5, r0                  /* complement old value */
        ands    r4, r4, r2              /* calculate new value */
        ands    r5, r5, r3              /* calculate new value */
-       strexd  r6, r4, [ip]            /* try to store */
+       strexd  r6, r4, r5, [ip]        /* try to store */
        cmp     r6, #0                  /*   succeed? */



Home | Main Index | Thread Index | Old Index