Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 061273f9 authored by Sam Ravnborg's avatar Sam Ravnborg Committed by David S. Miller
Browse files

sparc64: update comments in U3memcpy



Update comments about the range the different
parts of the code copies, the original comments were wrong.

Introduce a few descriptive labels too.

No functional changes.

Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 2f7043a3
Loading
Loading
Loading
Loading
+21 −11
Original line number Diff line number Diff line
@@ -168,18 +168,25 @@ ENDPROC(U3_retl_o2_and_7_plus_GS_plus_8)
FUNC_NAME:	/* %o0=dst, %o1=src, %o2=len */
	srlx		%o2, 31, %g2
	cmp		%g2, 0

	/* software trap 5 "Range Check" if dst >= 0x80000000 */
	tne		%xcc, 5
	PREAMBLE
	mov		%o0, %o4

	/* if len == 0 */
	cmp		%o2, 0
	be,pn		%XCC, 85f
	be,pn		%XCC, end_return
	 or		%o0, %o1, %o3

	/* if len < 16 */
	cmp		%o2, 16
	blu,a,pn	%XCC, 80f
	blu,a,pn	%XCC, less_than_16
	 or		%o3, %o2, %o3

	/* if len < 192 */
	cmp		%o2, (3 * 64)
	blu,pt		%XCC, 70f
	blu,pt		%XCC, less_than_192
	 andcc		%o3, 0x7, %g0

	/* Clobbers o5/g1/g2/g3/g7/icc/xcc.  We must preserve
@@ -362,7 +369,7 @@ FUNC_NAME: /* %o0=dst, %o1=src, %o2=len */
	cmp		%o2, 0
	add		%o1, %g1, %o1
	VISExitHalf
	be,pn		%XCC, 85f
	be,pn		%XCC, end_return
	 sub		%o0, %o1, %o3

	andcc		%g1, 0x7, %g0
@@ -392,14 +399,15 @@ FUNC_NAME: /* %o0=dst, %o1=src, %o2=len */
	sub		%o2, 2, %o2

1:	andcc		%o2, 0x1, %g0
	be,pt		%icc, 85f
	be,pt		%icc, end_return
	 nop
	EX_LD(LOAD(ldub, %o1, %o5), U3_retl_o2)
	ba,pt		%xcc, 85f
	ba,pt		%xcc, end_return
	 EX_ST(STORE(stb, %o5, %o1 + %o3), U3_retl_o2)

	.align		64
70: /* 16 < len <= 64 */
	/* 16 <= len < 192 */
less_than_192:
	bne,pn		%XCC, 75f
	 sub		%o0, %o1, %o3

@@ -429,7 +437,7 @@ FUNC_NAME: /* %o0=dst, %o1=src, %o2=len */
	EX_ST(STORE(stw, %o5, %o1 + %o3), U3_retl_o2_plus_4)
	add		%o1, 0x4, %o1
1:	cmp		%o2, 0
	be,pt		%XCC, 85f
	be,pt		%XCC, end_return
	 nop
	ba,pt		%xcc, 90f
	 nop
@@ -475,13 +483,14 @@ FUNC_NAME: /* %o0=dst, %o1=src, %o2=len */

	srl		%g1, 3, %g1
	andcc		%o2, 0x7, %o2
	be,pn		%icc, 85f
	be,pn		%icc, end_return
	 add		%o1, %g1, %o1
	ba,pt		%xcc, 90f
	 sub		%o0, %o1, %o3

	.align		64
80: /* 0 < len <= 16 */
	/* 0 < len < 16 */
less_than_16:
	andcc		%o3, 0x3, %g0
	bne,pn		%XCC, 90f
	 sub		%o0, %o1, %o3
@@ -493,7 +502,8 @@ FUNC_NAME: /* %o0=dst, %o1=src, %o2=len */
	bgu,pt		%XCC, 1b
	 add		%o1, 4, %o1

85:	retl
end_return:
	retl
	 mov		EX_RETVAL(%o4), %o0

	.align		32