diff options
author | Jakub Jelinek <jakub@redhat.com> | 2008-10-11 08:52:58 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2008-10-11 08:52:58 +0000 |
commit | 19c10a478c530d5af872890941662504c33ef745 (patch) | |
tree | 6771e6f2263d4aac8c11aeff36eab411d6ed7cad /sysdeps | |
parent | 17f8b4a95570df3e0d9a13eb134ca7aade70c710 (diff) | |
download | glibc-19c10a478c530d5af872890941662504c33ef745.tar.gz glibc-19c10a478c530d5af872890941662504c33ef745.tar.xz glibc-19c10a478c530d5af872890941662504c33ef745.zip |
* sysdeps/sparc/sparc64/sparcv9v/memcpy.S: When not USE_BPR,
make sure any registers used with 64-bit 'branch-on-register' instructions have their top 32-bits clear. * sysdeps/sparc/sparc64/sparcv9v/memset.S: Likewise. * sysdeps/sparc/sparc64/sparcv9v2/memcpy.S: Likewise. 2008-10-09 Jakub Jelinek <jakub@redhat.com> David S. Miller <davem@davemloft.net> * sysdeps/sparc/sparc64/sparcv9v/memcpy.S: When not USE_BPR, make sure any registers used with 64-bit 'branch-on-register' instructions have their top 32-bits clear. * sysdeps/sparc/sparc64/sparcv9v/memset.S: Likewise. * sysdeps/sparc/sparc64/sparcv9v2/memcpy.S: Likewise.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/sparc/sparc64/sparcv9v/memcpy.S | 5 | ||||
-rw-r--r-- | sysdeps/sparc/sparc64/sparcv9v/memset.S | 8 | ||||
-rw-r--r-- | sysdeps/sparc/sparc64/sparcv9v2/memcpy.S | 5 |
3 files changed, 14 insertions, 4 deletions
diff --git a/sysdeps/sparc/sparc64/sparcv9v/memcpy.S b/sysdeps/sparc/sparc64/sparcv9v/memcpy.S index 05c837fa25..ad2b0f742c 100644 --- a/sysdeps/sparc/sparc64/sparcv9v/memcpy.S +++ b/sysdeps/sparc/sparc64/sparcv9v/memcpy.S @@ -1,5 +1,5 @@ /* Copy SIZE bytes from SRC to DEST. For SUN4V Niagara. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by David S. Miller (davem@davemloft.net) @@ -61,6 +61,9 @@ END(bcopy) .align 32 ENTRY(memcpy) +#ifndef USE_BPR + srl %o2, 0, %o2 +#endif 100: /* %o0=dst, %o1=src, %o2=len */ mov %o0, %g5 cmp %o2, 0 diff --git a/sysdeps/sparc/sparc64/sparcv9v/memset.S b/sysdeps/sparc/sparc64/sparcv9v/memset.S index ac0a50cf8e..64817b8871 100644 --- a/sysdeps/sparc/sparc64/sparcv9v/memset.S +++ b/sysdeps/sparc/sparc64/sparcv9v/memset.S @@ -1,5 +1,5 @@ /* Set a block of memory to some byte value. For SUN4V Niagara. - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by David S. Miller (davem@davemloft.net) @@ -49,7 +49,11 @@ END(memset) ENTRY(__bzero) clr %o2 -1: brz,pn %o1, 90f +1: +#ifndef USE_BRP + srl %o1, 0, %o1 +#endif + brz,pn %o1, 90f mov %o0, %o3 wr %g0, ASI_P, %asi diff --git a/sysdeps/sparc/sparc64/sparcv9v2/memcpy.S b/sysdeps/sparc/sparc64/sparcv9v2/memcpy.S index d94dd4701e..b261f461a4 100644 --- a/sysdeps/sparc/sparc64/sparcv9v2/memcpy.S +++ b/sysdeps/sparc/sparc64/sparcv9v2/memcpy.S @@ -1,5 +1,5 @@ /* Copy SIZE bytes from SRC to DEST. For SUN4V Niagara-2. - Copyright (C) 2007 Free Software Foundation, Inc. + Copyright (C) 2007, 2008 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by David S. Miller (davem@davemloft.net) @@ -163,6 +163,9 @@ END(bcopy) .align 32 ENTRY(memcpy) +#ifndef USE_BPR + srl %o2, 0, %o2 +#endif 100: /* %o0=dst, %o1=src, %o2=len */ mov %o0, %g5 cmp %o2, 0 |