Skip to content

Commit

Permalink
* sysdeps/sparc/sparc64/sparcv9v/memcpy.S: When not USE_BPR,
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
Jakub Jelinek committed Oct 11, 2008
1 parent 17f8b4a commit 19c10a4
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 4 deletions.
9 changes: 9 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -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]
Expand Down
5 changes: 4 additions & 1 deletion sysdeps/sparc/sparc64/sparcv9v/memcpy.S
Original file line number Diff line number Diff line change
@@ -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)
Expand Down Expand Up @@ -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
Expand Down
8 changes: 6 additions & 2 deletions sysdeps/sparc/sparc64/sparcv9v/memset.S
Original file line number Diff line number Diff line change
@@ -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)
Expand Down Expand Up @@ -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
Expand Down
5 changes: 4 additions & 1 deletion sysdeps/sparc/sparc64/sparcv9v2/memcpy.S
Original file line number Diff line number Diff line change
@@ -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)
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 19c10a4

Please sign in to comment.