diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-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 |
4 files changed, 23 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog index 9dd19f1575..ca07dc73e1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +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. + 2008-09-18 Andreas Schwab <schwab@suse.de> [BZ #6942] 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 |