13a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
23a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	/* TODO
33a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 *
43a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 * 1) It would be nice if load/store double could be used
53a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 *    at least for the matrix parts.  I think for the matrices
63a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 *    it is safe, but for the vertices it probably is not due to
73a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 *    things like glInterleavedArrays etc.
83a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 *
93a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 *    UPDATE: Trying this now in sparc_matrix.h -DaveM_990624
103a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 *
113a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 * 2) One extremely slick trick would be if we could enclose
123a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 *    groups of xform calls on the same vertices such that
133a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 *    we just load the matrix into f16-->f31 before the calls
143a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 *    and then we would not have to do them here.  This may be
153a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 *    tricky and not much of a gain though.
163a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 */
173a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
183a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org#include "sparc_matrix.h"
193a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
203a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org#if defined(SVR4) || defined(__SVR4) || defined(__svr4__) || defined(__arch64__)
213a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	/* Solaris requires this for 64-bit. */
223a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org        .register %g2, #scratch
233a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org        .register %g3, #scratch
243a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org#endif
253a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
263a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.text
273a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.align	64
283a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
293a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org__set_v4f_1:
303a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o0 + V4F_FLAGS], %g2
313a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	mov	1, %g1
323a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g1, [%o0 + V4F_SIZE]
333a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	or	%g2, VEC_SIZE_1, %g2
343a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	retl
353a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 st	%g2, [%o0 + V4F_FLAGS]
363a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org__set_v4f_2:
373a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o0 + V4F_FLAGS], %g2
383a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	mov	2, %g1
393a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g1, [%o0 + V4F_SIZE]
403a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	or	%g2, VEC_SIZE_2, %g2
413a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	retl
423a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 st	%g2, [%o0 + V4F_FLAGS]
433a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org__set_v4f_3:
443a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o0 + V4F_FLAGS], %g2
453a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	mov	3, %g1
463a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g1, [%o0 + V4F_SIZE]
473a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	or	%g2, VEC_SIZE_3, %g2
483a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	retl
493a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 st	%g2, [%o0 + V4F_FLAGS]
503a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org__set_v4f_4:
513a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o0 + V4F_FLAGS], %g2
523a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	mov	4, %g1
533a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g1, [%o0 + V4F_SIZE]
543a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	or	%g2, VEC_SIZE_4, %g2
553a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	retl
563a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 st	%g2, [%o0 + V4F_FLAGS]
573a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
583a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	/* First the raw versions. */
593a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
603a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points1_general
613a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points1_general:
623a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_STRIDE], %o5
633a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o2 + V4F_START], %g1
643a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o0 + V4F_START], %g2
653a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
663a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
673a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDMATRIX_0_1_2_3_12_13_14_15(%o1)
683a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
693a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 1
703a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
713a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bl	3f
723a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o1
733a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
743a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
753a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 andn	%g3, 1, %o2
763a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
773a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0	! LSU	Group
783a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU0
793a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x00], %f8	! LSU	Group
803a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o1, 2, %o1		! IEU0
813a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU1
823a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f1		! FGM	Group	1-cycle stall on %f0
833a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M1, %f2		! FGM	Group
843a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M2, %f3		! FGM	Group
853a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M3, %f4		! FGM	Group
863a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f8, M0, %f9		! FGM	Group	f1 available
873a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f1, M12, %f1		! FGA
883a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f1, [%g2 + 0x00]	! LSU
893a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f8, M1, %f10		! FGM	Group	f2 available
903a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f2, M13, %f2		! FGA
913a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f2, [%g2 + 0x04]	! LSU
923a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f8, M2, %f11		! FGM	Group	f3 available
933a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, M14, %f3		! FGA
943a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x08]	! LSU
953a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f8, M3, %f12		! FGM	Group	f4 available
963a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, M15, %f4		! FGA
973a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f4, [%g2 + 0x0c]	! LSU
983a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f9, M12, %f9		! FGA	Group	f9 available
993a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f9, [%g2 + 0x10]	! LSU
1003a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f10, M13, %f10		! FGA	Group	f10 available
1013a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f10, [%g2 + 0x14]	! LSU
1023a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f11, M14, %f11		! FGA	Group	f11 available
1033a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f11, [%g2 + 0x18]	! LSU
1043a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f12, M15, %f12		! FGA	Group	f12 available
1053a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f12, [%g2 + 0x1c]	! LSU
1063a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %o2		! IEU1
1073a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b			! CTI
1083a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x20, %g2		! IEU0	Group
1093a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
1103a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %g3
1113a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	3f
1123a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
1133a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
1143a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:	ld	[%g1 + 0x00], %f0	! LSU	Group
1153a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f1		! FGM	Group	1-cycle stall on %f0
1163a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M1, %f2		! FGM	Group
1173a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M2, %f3		! FGM	Group
1183a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M3, %f4		! FGM	Group
1193a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f1, M12, %f1		! FGA	Group
1203a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f1, [%g2 + 0x00]	! LSU
1213a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f2, M13, %f2		! FGA	Group
1223a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f2, [%g2 + 0x04]	! LSU
1233a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, M14, %f3		! FGA	Group
1243a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x08]	! LSU
1253a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, M15, %f4		! FGA	Group
1263a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f4, [%g2 + 0x0c]	! LSU
1273a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
1283a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org3:
1293a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_4
1303a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
1313a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
1323a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points1_identity
1333a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points1_identity:
1343a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o0, %o2
1353a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	4f
1363a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 ld	[%o2 + V4F_STRIDE], %o5
1373a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o2 + V4F_START], %g1
1383a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o0 + V4F_START], %g2
1393a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
1403a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
1413a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 1
1423a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
1433a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bl	3f
1443a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o1
1453a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
1463a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
1473a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 andn	%g3, 1, %o2
1483a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
1493a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0	! LSU	Group
1503a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU0
1513a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x00], %f1	! LSU	Group
1523a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o1, 2, %o1		! IEU0
1533a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU1
1543a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f0, [%g2 + 0x00]	! LSU	Group
1553a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %o2		! IEU1
1563a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f1, [%g2 + 0x10]	! LSU	Group
1573a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b			! CTI
1583a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x20, %g2		! IEU0
1593a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
1603a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %g3
1613a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	3f
1623a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
1633a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
1643a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:	ld	[%g1 + 0x00], %f0
1653a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	addx	%g0, %g0, %g0
1663a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f0, [%g2 + 0x00]
1673a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
1683a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org3:
1693a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_1
1703a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
1713a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
1723a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org4:	retl
1733a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
1743a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
1753a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points1_2d
1763a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points1_2d:
1773a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_STRIDE], %o5
1783a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o2 + V4F_START], %g1
1793a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o0 + V4F_START], %g2
1803a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
1813a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
1823a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDMATRIX_0_1_12_13(%o1)
1833a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
1843a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 1
1853a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
1863a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bl	3f
1873a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o1
1883a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
1893a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
1903a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 andn	%g3, 1, %o2
1913a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
1923a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0	! LSU	Group
1933a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU0
1943a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x00], %f8	! LSU	Group
1953a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o1, 2, %o1		! IEU0
1963a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU1
1973a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f1		! FGM	Group
1983a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M1, %f2		! FGM	Group
1993a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f8, M0, %f9		! FGM	Group
2003a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f8, M1, %f10		! FGM	Group
2013a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f1, M12, %f3		! FGA	Group	f1 available
2023a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x00]	! LSU
2033a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f2, M13, %f4		! FGA	Group	f2 available
2043a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f4, [%g2 + 0x04]	! LSU
2053a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f9, M12, %f11		! FGA	Group	f9 available
2063a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f11, [%g2 + 0x10]	! LSU
2073a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f10, M13, %f12		! FGA	Group	f10 available
2083a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f12, [%g2 + 0x14]	! LSU
2093a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %o2		! IEU1
2103a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b			! CTI
2113a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x20, %g2		! IEU0	Group
2123a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
2133a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %g3
2143a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	3f
2153a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
2163a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
2173a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:	ld	[%g1 + 0x00], %f0
2183a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f1
2193a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M1, %f2
2203a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f1, M12, %f3
2213a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x00]
2223a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f2, M13, %f4
2233a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f4, [%g2 + 0x04]
2243a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
2253a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org3:
2263a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_2
2273a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
2283a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
2293a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points1_2d_no_rot
2303a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points1_2d_no_rot:
2313a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_STRIDE], %o5
2323a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o2 + V4F_START], %g1
2333a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o0 + V4F_START], %g2
2343a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
2353a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
2363a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDMATRIX_0_12_13(%o1)
2373a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
2383a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 1
2393a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
2403a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bl	3f
2413a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o1
2423a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
2433a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
2443a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 andn	%g3, 1, %o2
2453a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
2463a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0	! LSU	Group
2473a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU0
2483a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x00], %f4	! LSU	Group
2493a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o1, 2, %o1		! IEU0
2503a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU1
2513a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f1		! FGM	Group
2523a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f4, M0, %f5		! FGM	Group
2533a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f1, M12, %f3		! FGA	Group, 2 cycle stall, f1 available
2543a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x00]	! LSU
2553a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	M13, [%g2 + 0x04]	! LSU	Group, f5 available
2563a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f5, M12, %f6		! FGA
2573a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f6, [%g2 + 0x10]	! LSU	Group
2583a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	M13, [%g2 + 0x14]	! LSU	Group
2593a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %o2		! IEU1
2603a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b			! CTI
2613a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x20, %g2		! IEU0	Group
2623a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
2633a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %g3
2643a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	3f
2653a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
2663a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
2673a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:	ld	[%g1 + 0x00], %f0
2683a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f1
2693a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f1, M12, %f3
2703a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x00]
2713a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	M13, [%g2 + 0x04]
2723a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
2733a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org3:
2743a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_2
2753a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
2763a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
2773a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points1_3d
2783a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points1_3d:
2793a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_STRIDE], %o5
2803a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o2 + V4F_START], %g1
2813a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o0 + V4F_START], %g2
2823a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
2833a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
2843a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDMATRIX_0_1_2_12_13_14(%o1)
2853a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
2863a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 1
2873a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
2883a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bl	3f
2893a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o1
2903a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
2913a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
2923a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 andn	%g3, 1, %o2
2933a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
2943a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0	! LSU	Group
2953a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU0
2963a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x00], %f4	! LSU	Group
2973a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o1, 2, %o1		! IEU0
2983a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU1
2993a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f1		! FGM	Group
3003a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M1, %f2		! FGM	Group
3013a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M2, %f3		! FGM	Group
3023a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f4, M0, %f5		! FGM	Group
3033a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f1, M12, %f1		! FGA	Group, f1 available
3043a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f1, [%g2 + 0x00]	! LSU
3053a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f4, M1, %f6		! FGM
3063a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f2, M13, %f2		! FGA	Group, f2 available
3073a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f2, [%g2 + 0x04]	! LSU
3083a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f4, M2, %f7		! FGM
3093a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, M14, %f3		! FGA	Group, f3 available
3103a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x08]	! LSU
3113a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f5, M12, %f5		! FGA	Group, f5 available
3123a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f5, [%g2 + 0x10]	! LSU
3133a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f6, M13, %f6		! FGA	Group, f6 available
3143a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f6, [%g2 + 0x14]	! LSU
3153a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f7, M14, %f7		! FGA	Group, f7 available
3163a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f7, [%g2 + 0x18]	! LSU
3173a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %o2		! IEU1
3183a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b			! CTI
3193a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x20, %g2		! IEU0	Group
3203a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
3213a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %g3
3223a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	3f
3233a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
3243a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
3253a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:	ld	[%g1 + 0x00], %f0
3263a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f1
3273a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M1, %f2
3283a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M2, %f3
3293a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f1, M12, %f1
3303a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f1, [%g2 + 0x00]
3313a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f2, M13, %f2
3323a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f2, [%g2 + 0x04]
3333a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, M14, %f3
3343a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x08]
3353a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
3363a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org3:
3373a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_3
3383a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
3393a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
3403a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points1_3d_no_rot
3413a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points1_3d_no_rot:
3423a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_STRIDE], %o5
3433a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o2 + V4F_START], %g1
3443a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o0 + V4F_START], %g2
3453a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
3463a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
3473a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDMATRIX_0_12_13_14(%o1)
3483a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
3493a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 1
3503a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
3513a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bl	3f
3523a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o1
3533a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
3543a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
3553a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 andn	%g3, 1, %o2
3563a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
3573a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0	! LSU	Group
3583a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU0
3593a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x00], %f2	! LSU	Group
3603a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o1, 2, %o1		! IEU0
3613a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU1
3623a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f1		! FGM	Group
3633a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f2, M0, %f3		! FGM	Group
3643a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f1, M12, %f1		! FGA	Group, 2 cycle stall, f1 available
3653a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f1, [%g2 + 0x00]	! LSU
3663a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, M12, %f3		! FGA	Group, f3 available
3673a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	M13, [%g2 + 0x04]	! LSU
3683a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	M14, [%g2 + 0x08]	! LSU	Group
3693a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x10]	! LSU	Group
3703a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	M13, [%g2 + 0x14]	! LSU	Group
3713a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	M14, [%g2 + 0x18]	! LSU	Group
3723a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %o2		! IEU1
3733a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b			! CTI
3743a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x20, %g2		! IEU0	Group
3753a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
3763a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %g3
3773a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	3f
3783a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
3793a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
3803a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:	ld	[%g1 + 0x00], %f0
3813a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f1
3823a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f1, M12, %f1
3833a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f1, [%g2 + 0x00]
3843a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	M13, [%g2 + 0x04]
3853a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	M14, [%g2 + 0x08]
3863a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
3873a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org3:
3883a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_3
3893a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
3903a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
3913a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points1_perspective
3923a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points1_perspective:
3933a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_STRIDE], %o5
3943a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o2 + V4F_START], %g1
3953a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o0 + V4F_START], %g2
3963a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
3973a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
3983a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDMATRIX_0_14(%o1)
3993a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
4003a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 1
4013a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
4023a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bl	3f
4033a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o1
4043a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
4053a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
4063a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 andn	%g3, 1, %o2
4073a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
4083a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0	! LSU	Group
4093a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU0
4103a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x00], %f2	! LSU	Group
4113a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o1, 2, %o1		! IEU0
4123a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU1
4133a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f1		! FGM	Group
4143a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f1, [%g2 + 0x00]	! LSU
4153a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f2, M0, %f3		! FGM	Group
4163a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g0, [%g2 + 0x04]	! LSU
4173a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	M14, [%g2 + 0x08]	! LSU	Group
4183a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g0, [%g2 + 0x0c]	! LSU	Group
4193a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x10]	! LSU	Group
4203a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g0, [%g2 + 0x14]	! LSU	Group
4213a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	M14, [%g2 + 0x18]	! LSU	Group
4223a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g0, [%g2 + 0x1c]	! LSU	Group
4233a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %o2		! IEU1
4243a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b			! CTI
4253a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x20, %g2		! IEU0	Group
4263a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
4273a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %g3
4283a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	3f
4293a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
4303a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
4313a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:	ld	[%g1 + 0x00], %f0
4323a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f1
4333a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f1, [%g2 + 0x00]
4343a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g0, [%g2 + 0x04]
4353a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	M14, [%g2 + 0x08]
4363a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g0, [%g2 + 0x0c]
4373a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
4383a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org3:
4393a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_4
4403a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
4413a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
4423a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points2_general
4433a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points2_general:
4443a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_STRIDE], %o5
4453a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o2 + V4F_START], %g1
4463a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o0 + V4F_START], %g2
4473a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
4483a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
4493a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDMATRIX_0_1_2_3_4_5_6_7_12_13_14_15(%o1)
4503a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
4513a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 0
4523a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
4533a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
4543a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o1
4553a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
4563a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0	! LSU	Group
4573a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f1	! LSU	Group
4583a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o1, 1, %o1		! IEU0
4593a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU1
4603a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f2		! FGM	Group
4613a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M1, %f3		! FGM	Group
4623a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M2, %f4		! FGM	Group
4633a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M3, %f5		! FGM	Group
4643a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f2, M12, %f2		! FGA	Group	f2 available
4653a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M4, %f6		! FGM
4663a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, M13, %f3		! FGA	Group	f3 available
4673a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M5, %f7		! FGM
4683a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, M14, %f4		! FGA	Group	f4 available
4693a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M6, %f8		! FGM
4703a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f5, M15, %f5		! FGA	Group	f5 available
4713a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M7, %f9		! FGM
4723a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f2, %f6, %f2		! FGA	Group	f6 available
4733a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f2, [%g2 + 0x00]	! LSU
4743a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, %f7, %f3		! FGA	Group	f7 available
4753a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x04]	! LSU
4763a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, %f8, %f4		! FGA	Group	f8 available
4773a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f4, [%g2 + 0x08]	! LSU
4783a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f5, %f9, %f5		! FGA	Group	f9 available
4793a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f5, [%g2 + 0x0c]	! LSU
4803a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %g3		! IEU1
4813a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b			! CTI
4823a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x10, %g2		! IEU0	Group
4833a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:
4843a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_4
4853a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
4863a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
4873a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points2_identity
4883a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points2_identity:
4893a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o2, %o0
4903a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	3f
4913a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 ld	[%o2 + V4F_STRIDE], %o5
4923a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o2 + V4F_START], %g1
4933a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o0 + V4F_START], %g2
4943a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
4953a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
4963a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 0
4973a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
4983a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
4993a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o1
5003a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
5013a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0	! LSU	Group
5023a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o1, 1, %o1		! IEU0
5033a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f1	! LSU	Group
5043a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU0
5053a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %g3		! IEU1
5063a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f0, [%g2 + 0x00]	! LSU	Group
5073a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f1, [%g2 + 0x04]	! LSU	Group
5083a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b			! CTI
5093a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x10, %g2		! IEU0
5103a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:
5113a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_2
5123a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
5133a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
5143a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org3:	retl
5153a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
5163a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
5173a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points2_2d
5183a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points2_2d:
5193a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_STRIDE], %o5
5203a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o2 + V4F_START], %g1
5213a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o0 + V4F_START], %g2
5223a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
5233a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
5243a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDMATRIX_0_1_4_5_12_13(%o1)
5253a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
5263a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 1
5273a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
5283a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bl	3f
5293a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o1
5303a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
5313a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
5323a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 andn	%g3, 1, %o2
5333a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
5343a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0	! LSU	Group
5353a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f1	! LSU	Group
5363a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o1, 2, %o1		! IEU0
5373a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU1
5383a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f2		! FGM
5393a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x00], %f8	! LSU	Group
5403a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M1, %f3		! FGM
5413a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f9	! LSU	Group
5423a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M4, %f6		! FGM
5433a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M5, %f7		! FGM	Group
5443a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU0
5453a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f8, M0, %f10		! FGM	Group	f2 available
5463a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f2, M12, %f2		! FGA
5473a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f8, M1, %f11		! FGM	Group	f3 available
5483a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, M13, %f3		! FGA
5493a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f9, M4, %f12		! FGM	Group
5503a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f9, M5, %f13		! FGM	Group
5513a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f10, M12, %f10		! FGA	Group	f2, f10 available
5523a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f2, %f6, %f2		! FGA	Group	f3, f11 available
5533a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f2, [%g2 + 0x00]	! LSU
5543a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f11, M13, %f11		! FGA	Group	f12 available
5553a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, %f7, %f3		! FGA	Group	f13 available
5563a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x04]	! LSU
5573a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f10, %f12, %f10	! FGA	Group	f10 available
5583a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f10, [%g2 + 0x10]	! LSU
5593a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f11, %f13, %f11	! FGA	Group	f11 available
5603a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f11, [%g2 + 0x14]	! LSU
5613a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %o2		! IEU1
5623a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b			! CTI
5633a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x20, %g2		! IEU0	Group
5643a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
5653a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %g3
5663a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	3f
5673a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
5683a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
5693a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:	ld	[%g1 + 0x00], %f0	! LSU	Group
5703a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f1	! LSU	Group
5713a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f2		! FGM	Group
5723a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M1, %f3		! FGM	Group
5733a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M4, %f6		! FGM	Group
5743a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M5, %f7		! FGM	Group
5753a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f2, M12, %f2		! FGA	Group	f2 available
5763a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, M13, %f3		! FGA	Group	f3 available
5773a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f2, %f6, %f2		! FGA	Group	2 cycle stall, f2 available
5783a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f2, [%g2 + 0x00]	! LSU
5793a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, %f7, %f3		! FGA	Group	f3 available
5803a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x04]	! LSU
5813a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
5823a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org3:
5833a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_2
5843a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
5853a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
5863a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points2_2d_no_rot
5873a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points2_2d_no_rot:
5883a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_STRIDE], %o5
5893a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o2 + V4F_START], %g1
5903a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o0 + V4F_START], %g2
5913a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
5923a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
5933a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDMATRIX_0_5_12_13(%o1)
5943a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
5953a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 1
5963a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
5973a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bl	3f
5983a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o1
5993a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
6003a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
6013a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 andn	%g3, 1, %o2
6023a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
6033a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0	! LSU	Group
6043a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f1	! LSU	Group
6053a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o1, 2, %o1		! IEU0
6063a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU1
6073a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x00], %f4	! LSU	Group
6083a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f2		! FGM
6093a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f5	! LSU	Group
6103a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M5, %f3		! FGM
6113a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f4, M0, %f6		! FGM	Group
6123a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU0
6133a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f5, M5, %f7		! FGM	Group
6143a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f2, M12, %f2		! FGA	Group	f2 available
6153a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f2, [%g2 + 0x00]	! LSU
6163a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, M13, %f3		! FGA	Group	f3 available
6173a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x04]	! LSU
6183a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f6, M12, %f6		! FGA	Group	f6 available
6193a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f6, [%g2 + 0x10]	! LSU
6203a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f7, M13, %f7		! FGA	Group	f7 available
6213a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f7, [%g2 + 0x14]	! LSU
6223a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %o2		! IEU1
6233a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b			! CTI
6243a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x20, %g2		! IEU0	Group
6253a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
6263a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %g3
6273a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	3f
6283a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
6293a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
6303a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:	ld	[%g1 + 0x00], %f0	! LSU	Group
6313a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f1	! LSU	Group
6323a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f2		! FGM	Group
6333a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M5, %f3		! FGM	Group
6343a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f2, M12, %f2		! FGA	Group, 2 cycle stall, f2 available
6353a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f2, [%g2 + 0x00]	! LSU
6363a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, M13, %f3		! FGA	Group	f3 available
6373a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x04]	! LSU
6383a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
6393a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org3:
6403a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_2
6413a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
6423a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
6433a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	/* orig: 12 cycles */
6443a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points2_3d
6453a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points2_3d:
6463a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_STRIDE], %o5
6473a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_START], %g1
6483a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o0 + V4F_START], %g2
6493a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
6503a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
6513a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDMATRIX_0_1_2_3_4_5_6_12_13_14(%o1)
6523a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
6533a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 1
6543a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
6553a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bl	3f
6563a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o1
6573a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
6583a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
6593a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 andn	%g3, 1, %o2
6603a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
6613a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0	! LSU	Group
6623a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f1	! LSU	Group
6633a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o1, 2, %o1		! IEU0
6643a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU1
6653a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x00], %f9	! LSU	Group
6663a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f2		! FGM
6673a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f10	! LSU	Group
6683a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M1, %f3		! FGM
6693a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M2, %f4		! FGM	Group
6703a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU0
6713a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M4, %f6		! FGM	Group
6723a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M5, %f7		! FGM	Group	f2 available
6733a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f2, M12, %f2		! FGA
6743a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M6, %f8		! FGM	Group	f3 available
6753a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, M13, %f3		! FGA
6763a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f9, M0, %f11		! FGM	Group	f4 available
6773a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, M14, %f4		! FGA
6783a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f9, M1, %f12		! FGM	Group	f6 available
6793a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f9, M2, %f13		! FGM	Group	f2, f7 available
6803a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f2, %f6, %f2		! FGA
6813a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f2, [%g2 + 0x00]	! LSU
6823a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f10, M4, %f14		! FGM	Group	f3, f8 available
6833a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, %f7, %f3		! FGA
6843a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x04]	! LSU
6853a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f10, M5, %f15		! FGM	Group	f4, f11 available
6863a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f11, M12, %f11		! FGA
6873a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f10, M6, %f0		! FGM	Group	f12 available
6883a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f12, M13, %f12		! FGA
6893a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f13, M14, %f13		! FGA	Group	f13 available
6903a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, %f8, %f4		! FGA	Group	f14 available
6913a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f4, [%g2 + 0x08]	! LSU
6923a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f11, %f14, %f11	! FGA	Group	f15, f11 available
6933a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f11, [%g2 + 0x10]	! LSU
6943a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f12, %f15, %f12	! FGA	Group	f0, f12 available
6953a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f12, [%g2 + 0x14]	! LSU
6963a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f13, %f0, %f13		! FGA	Group	f13 available
6973a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f13, [%g2 + 0x18]	! LSU
6983a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
6993a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %o2		! IEU1
7003a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b			! CTI
7013a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x20, %g2		! IEU0	Group
7023a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
7033a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %g3
7043a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	3f
7053a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
7063a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
7073a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:	ld	[%g1 + 0x00], %f0	! LSU	Group
7083a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f1	! LSU	Group
7093a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f2		! FGM	Group
7103a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M1, %f3		! FGM	Group
7113a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M2, %f4		! FGM	Group
7123a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M4, %f6		! FGM	Group
7133a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M5, %f7		! FGM	Group	f2 available
7143a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f2, M12, %f2		! FGA
7153a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M6, %f8		! FGM	Group	f3 available
7163a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, M13, %f3		! FGA
7173a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, M14, %f4		! FGA	Group	f4 available
7183a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f2, %f6, %f2		! FGA	Group	stall, f2, f6, f7 available
7193a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f2, [%g2 + 0x00]	! LSU
7203a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, %f7, %f3		! FGA	Group	f3, f8 available
7213a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x04]	! LSU
7223a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, %f8, %f4		! FGA	Group	f4 available
7233a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f4, [%g2 + 0x08]	! LSU
7243a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
7253a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org3:
7263a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_3
7273a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
7283a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
7293a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points2_3d_no_rot
7303a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points2_3d_no_rot:
7313a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_STRIDE], %o5
7323a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o2 + V4F_START], %g1
7333a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o0 + V4F_START], %g2
7343a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
7353a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
7363a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDMATRIX_0_5_12_13_14(%o1)
7373a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
7383a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 1
7393a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
7403a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bl	3f
7413a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o3
7423a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
7433a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
7443a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 andn	%g3, 1, %o2
7453a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
7463a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0	! LSU	Group
7473a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f1	! LSU	Group
7483a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o3, 2, %o3		! IEU0
7493a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU1
7503a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x00], %f4	! LSU	Group
7513a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f2		! FGM
7523a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f5	! LSU	Group
7533a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M5, %f3		! FGM
7543a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f4, M0, %f6		! FGM	Group
7553a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU0
7563a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f5, M5, %f7		! FGM	Group
7573a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f2, M12, %f2		! FGA	Group	f2 available
7583a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f2, [%g2 + 0x00]	! LSU
7593a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, M13, %f3		! FGA	Group	f3 available
7603a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x04]	! LSU
7613a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f6, M12, %f6		! FGA	Group	f6 available
7623a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	M14, [%g2 + 0x08]	! LSU
7633a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f7, M13, %f7		! FGA	Group	f7 available
7643a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f6, [%g2 + 0x10]	! LSU
7653a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f7, [%g2 + 0x14]	! LSU	Group
7663a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	M14, [%g2 + 0x18]	! LSU	Group
7673a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o3, %o2		! IEU1
7683a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b			! CTI
7693a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x20, %g2		! IEU0	Group
7703a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
7713a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o3, %g3
7723a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	3f
7733a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
7743a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
7753a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:	ld	[%g1 + 0x00], %f0	! LSU	Group
7763a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f1	! LSU	Group
7773a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f2		! FGM	Group
7783a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M5, %f3		! FGM	Group
7793a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f2, M12, %f2		! FGA	Group, 2 cycle stall, f2 available
7803a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f2, [%g2 + 0x00]	! LSU
7813a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, M13, %f3		! FGA	Group	f3 available
7823a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x04]	! LSU
7833a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	M14, [%g2 + 0x08]	! LSU	Group
7843a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
7853a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org3:	ld	[%o1 + (14 * 0x4)], %g3
7863a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 0
7873a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	__set_v4f_3
7883a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
7893a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_2
7903a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
7913a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
7923a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points2_perspective
7933a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points2_perspective:
7943a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_STRIDE], %o5
7953a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o2 + V4F_START], %g1
7963a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o0 + V4F_START], %g2
7973a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
7983a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
7993a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDMATRIX_0_5_14(%o1)
8003a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
8013a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 0
8023a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
8033a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
8043a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o1
8053a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
8063a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0
8073a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f1
8083a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o1, 1, %o1
8093a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1
8103a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f2
8113a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f2, [%g2 + 0x00]
8123a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M5, %f3
8133a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x04]
8143a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	M14, [%g2 + 0x08]
8153a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g0, [%g2 + 0x0c]
8163a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %g3
8173a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b
8183a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x10, %g2
8193a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:
8203a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_4
8213a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
8223a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
8233a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points3_general
8243a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points3_general:
8253a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_STRIDE], %o5
8263a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o2 + V4F_START], %g1
8273a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o0 + V4F_START], %g2
8283a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
8293a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
8303a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDMATRIX_0_1_2_3_4_5_6_7_8_9_10_11_12_13_14_15(%o1)
8313a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
8323a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 0
8333a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
8343a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
8353a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o1
8363a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
8373a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0	! LSU	Group
8383a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f1	! LSU	Group
8393a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x08], %f2	! LSU	Group
8403a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o1, 1, %o1		! IEU0
8413a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU1
8423a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f3		! FGM
8433a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M4, %f7		! FGM	Group
8443a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M1, %f4		! FGM	Group
8453a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M5, %f8		! FGM	Group
8463a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M2, %f5		! FGM	Group	f3 available
8473a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M6, %f9		! FGM	Group	f7 available
8483a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, %f7, %f3		! FGA
8493a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M3, %f6		! FGM	Group	f4 available
8503a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M7, %f10		! FGM	Group	f8 available
8513a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, %f8, %f4		! FGA
8523a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f2, M8, %f7		! FGM	Group	f5 available
8533a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f2, M9, %f8		! FGM	Group	f9,f3 available
8543a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f5, %f9, %f5		! FGA
8553a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f2, M10, %f9		! FGM	Group	f6 available
8563a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f6, %f10, %f6		! FGA	Group	f10,f4 available
8573a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f2, M11, %f10		! FGM
8583a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, M12, %f3		! FGA	Group	f7 available
8593a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, M13, %f4		! FGA	Group	f8,f5 available
8603a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f5, M14, %f5		! FGA	Group	f9 available
8613a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f6, M15, %f6		! FGA	Group	f10,f6 available
8623a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, %f7, %f3		! FGA	Group	f3 available
8633a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x00]	! LSU
8643a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, %f8, %f4		! FGA	Group	f4 available
8653a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f4, [%g2 + 0x04]	! LSU
8663a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f5, %f9, %f5		! FGA	Group	f5 available
8673a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f5, [%g2 + 0x08]	! LSU
8683a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f6, %f10, %f6		! FGA	Group	f6 available
8693a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f6, [%g2 + 0x0c]	! LSU
8703a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %g3		! IEU1
8713a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b			! CTI
8723a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x10, %g2		! IEU0	Group
8733a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:
8743a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_4
8753a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
8763a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
8773a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points3_identity
8783a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points3_identity:
8793a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_STRIDE], %o5
8803a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o2 + V4F_START], %g1
8813a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o0 + V4F_START], %g2
8823a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
8833a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
8843a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 0
8853a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
8863a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
8873a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o1
8883a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
8893a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0
8903a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f1
8913a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x08], %f2
8923a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o1, 1, %o1
8933a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1
8943a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %g3
8953a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f0, [%g2 + 0x00]
8963a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f1, [%g2 + 0x04]
8973a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f2, [%g2 + 0x08]
8983a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b
8993a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x10, %g2
9003a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:
9013a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_3
9023a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
9033a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
9043a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points3_2d
9053a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points3_2d:
9063a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_STRIDE], %o5
9073a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o2 + V4F_START], %g1
9083a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o0 + V4F_START], %g2
9093a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
9103a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
9113a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDMATRIX_0_1_4_5_12_13(%o1)
9123a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
9133a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 0
9143a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
9153a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
9163a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o1
9173a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
9183a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0	! LSU	Group
9193a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f1	! LSU	Group
9203a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x08], %f2	! LSU	Group
9213a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o1, 1, %o1		! IEU0
9223a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU1
9233a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f3		! FGM
9243a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M1, %f4		! FGM	Group
9253a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M4, %f6		! FGM	Group
9263a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M5, %f7		! FGM	Group
9273a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, M12, %f3		! FGA	Group	f3 available
9283a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, M13, %f4		! FGA	Group	f4 available
9293a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, %f6, %f3		! FGA	Group	f6 available
9303a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x00]	! LSU
9313a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, %f7, %f4		! FGA	Group	f7 available
9323a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f4, [%g2 + 0x04]	! LSU
9333a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f2, [%g2 + 0x08]	! LSU	Group
9343a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %g3		! IEU1
9353a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b			! CTI
9363a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x10, %g2		! IEU0	Group
9373a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:
9383a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_3
9393a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
9403a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
9413a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points3_2d_no_rot
9423a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points3_2d_no_rot:
9433a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_STRIDE], %o5
9443a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o2 + V4F_START], %g1
9453a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o0 + V4F_START], %g2
9463a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
9473a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
9483a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDMATRIX_0_5_12_13(%o1)
9493a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
9503a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 0
9513a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
9523a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
9533a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o1
9543a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
9553a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0	! LSU	Group
9563a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f1	! LSU	Group
9573a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x08], %f2	! LSU	Group
9583a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o1, 1, %o1		! IEU0
9593a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU1
9603a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f3		! FGM
9613a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M5, %f4		! FGM	Group
9623a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f2, [%g2 + 0x08]	! LSU
9633a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, M12, %f3		! FGA	Group
9643a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x00]	! LSU
9653a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, M13, %f4		! FGA	Group
9663a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f4, [%g2 + 0x04]	! LSU
9673a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %g3		! IEU1
9683a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b			! CTI
9693a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x10, %g2		! IEU0	Group
9703a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:
9713a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_3
9723a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
9733a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
9743a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points3_3d
9753a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points3_3d:
9763a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_STRIDE], %o5
9773a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o2 + V4F_START], %g1
9783a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o0 + V4F_START], %g2
9793a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
9803a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
9813a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDMATRIX_0_1_2_4_5_6_8_9_10_12_13_14(%o1)
9823a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
9833a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 0
9843a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
9853a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
9863a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o1
9873a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
9883a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0	! LSU	Group
9893a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f1	! LSU	Group
9903a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x08], %f2	! LSU	Group
9913a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o1, 1, %o1		! IEU0
9923a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU1
9933a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f3		! FGM
9943a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M4, %f6		! FGM	Group
9953a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M1, %f4		! FGM	Group
9963a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M5, %f7		! FGM	Group
9973a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M2, %f5		! FGM	Group	f3 available
9983a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M6, %f8		! FGM	Group	f6 available
9993a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, %f6, %f3		! FGA
10003a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f2, M8, %f9		! FGM	Group	f4 available
10013a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f2, M9, %f10		! FGM	Group	f7 available
10023a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, %f7, %f4		! FGA
10033a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f2, M10, %f11		! FGM	Group	f5 available
10043a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f5, %f8, %f5		! FGA	Group	f8, f3 available
10053a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, %f9, %f3		! FGA	Group	f9 available
10063a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, %f10, %f4		! FGA	Group	f10, f4 available
10073a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f5, %f11, %f5		! FGA	Group	stall, f11, f5 available
10083a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, M12, %f3		! FGA	Group	f3 available
10093a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x00]	! LSU
10103a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, M13, %f4		! FGA	Group	f4 available
10113a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f4, [%g2 + 0x04]	! LSU
10123a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f5, M14, %f5		! FGA	Group	f5 available
10133a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f5, [%g2 + 0x08]	! LSU
10143a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %g3		! IEU1
10153a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b			! CTI
10163a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x10, %g2		! IEU0	Group
10173a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:
10183a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_3
10193a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
10203a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
10213a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points3_3d_no_rot
10223a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points3_3d_no_rot:
10233a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_STRIDE], %o5
10243a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o2 + V4F_START], %g1
10253a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o0 + V4F_START], %g2
10263a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
10273a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
10283a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDMATRIX_0_5_10_12_13_14(%o1)
10293a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
10303a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 0
10313a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
10323a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
10333a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o1
10343a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
10353a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0	! LSU	Group
10363a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f1	! LSU	Group
10373a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x08], %f2	! LSU	Group
10383a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o1, 1, %o1		! IEU0
10393a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU1
10403a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %g3		! IEU1	Group
10413a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f3		! FGM
10423a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M5, %f4		! FGM	Group
10433a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f2, M10, %f5		! FGM	Group
10443a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, M12, %f3		! FGA	Group, stall, f3 available
10453a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x00]	! LSU
10463a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, M13, %f4		! FGA	Group, f4 available
10473a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f4, [%g2 + 0x04]	! LSU
10483a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f5, M14, %f5		! FGA	Group, f5 available
10493a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f5, [%g2 + 0x08]	! LEU
10503a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b			! CTI
10513a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x10, %g2		! IEU0	Group
10523a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:
10533a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_3
10543a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
10553a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
10563a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points3_perspective
10573a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points3_perspective:
10583a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_STRIDE], %o5
10593a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o2 + V4F_START], %g1
10603a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o0 + V4F_START], %g2
10613a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
10623a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
10633a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDMATRIX_0_5_8_9_10_14(%o1)
10643a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
10653a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 0
10663a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
10673a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
10683a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o1
10693a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
10703a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0	! LSU	Group
10713a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f1	! LSU	Group
10723a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x08], %f2	! LSU	Group
10733a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o1, 1, %o1		! IEU0
10743a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU1
10753a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f3		! FGM
10763a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f2, M8, %f6		! FGM	Group
10773a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M5, %f4		! FGM	Group
10783a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f2, M9, %f7		! FGM	Group
10793a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f2, M10, %f5		! FGM	Group	f3 available
10803a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f3, %f6, %f3		! FGA	Group	f6 available
10813a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x00]	! LSU
10823a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, %f7, %f4		! FGA	Group	stall, f4, f7 available
10833a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f4, [%g2 + 0x04]	! LSU
10843a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f5, M14, %f5		! FGA	Group
10853a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f5, [%g2 + 0x08]	! LSU
10863a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fnegs	%f2, %f6		! FGA	Group
10873a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f6, [%g2 + 0x0c]	! LSU
10883a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %g3		! IEU1
10893a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b			! CTI
10903a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x10, %g2		! IEU0	Group
10913a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:
10923a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_4
10933a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
10943a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
10953a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points4_general
10963a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points4_general:
10973a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_STRIDE], %o5
10983a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o2 + V4F_START], %g1
10993a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o0 + V4F_START], %g2
11003a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
11013a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
11023a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDMATRIX_0_1_2_3_4_5_6_7_8_9_10_11_12_13_14_15(%o1)
11033a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
11043a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 0
11053a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
11063a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
11073a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o1
11083a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
11093a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0	! LSU	Group
11103a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f1	! LSU	Group
11113a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x08], %f2	! LSU	Group
11123a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x0c], %f3	! LSU	Group
11133a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o1, 1, %o1		! IEU0
11143a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU1
11153a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f4		! FGM	Group
11163a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M4, %f8		! FGM	Group
11173a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M1, %f5		! FGM	Group
11183a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M5, %f9		! FGM	Group
11193a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M2, %f6		! FGM	Group	f4 available
11203a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M6, %f10		! FGM	Group	f8 available
11213a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, %f8, %f4		! FGA
11223a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M3, %f7		! FGM	Group	f5 available
11233a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M7, %f11		! FGM	Group	f9 available
11243a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f5, %f9, %f5		! FGA
11253a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f2, M8, %f12		! FGM	Group	f6 available
11263a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f2, M9, %f13		! FGM	Group	f10, f4 available
11273a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f6, %f10, %f6		! FGA
11283a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f2, M10, %f14		! FGM	Group	f7 available
11293a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f2, M11, %f15		! FGM	Group	f11, f5 available
11303a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f7, %f11, %f7		! FGA
11313a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f3, M12, %f8		! FGM	Group	f12 available
11323a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, %f12, %f4		! FGA
11333a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f3, M13, %f9		! FGM	Group	f13, f6 available
11343a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f5, %f13, %f5		! FGA
11353a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f3, M14, %f10		! FGM	Group	f14 available
11363a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f6, %f14, %f6		! FGA
11373a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f3, M15, %f11		! FGM	Group	f15, f7 available
11383a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f7, %f15, %f7		! FGA
11393a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, %f8, %f4		! FGA	Group	f8, f4 available
11403a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f4, [%g2 + 0x00]	! LSU
11413a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f5, %f9, %f5		! FGA	Group	f9, f5 available
11423a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f5, [%g2 + 0x04]	! LSU
11433a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f6, %f10, %f6		! FGA	Group	f10, f6 available
11443a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f6, [%g2 + 0x08]	! LSU
11453a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f7, %f11, %f7		! FGA	Group	f11, f7 available
11463a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f7, [%g2 + 0x0c]	! LSU
11473a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %g3		! IEU1
11483a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b			! CTI
11493a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x10, %g2		! IEU0	Group
11503a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:
11513a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_4
11523a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
11533a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
11543a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points4_identity
11553a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points4_identity:
11563a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_STRIDE], %o5
11573a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o2 + V4F_START], %g1
11583a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o0 + V4F_START], %g2
11593a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
11603a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
11613a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 0
11623a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
11633a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
11643a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o1
11653a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
11663a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0
11673a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f1
11683a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x08], %f2
11693a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o1, 1, %o1
11703a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x0c], %f3
11713a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1
11723a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f0, [%g2 + 0x00]
11733a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f1, [%g2 + 0x04]
11743a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f2, [%g2 + 0x08]
11753a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %g3
11763a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x0c]
11773a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b
11783a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x10, %g2
11793a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:
11803a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_4
11813a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
11823a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
11833a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points4_2d
11843a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points4_2d:
11853a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_STRIDE], %o5
11863a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o2 + V4F_START], %g1
11873a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o0 + V4F_START], %g2
11883a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
11893a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
11903a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDMATRIX_0_1_4_5_12_13(%o1)
11913a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
11923a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 0
11933a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
11943a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
11953a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o1
11963a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
11973a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0	! LSU	Group
11983a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f1	! LSU	Group
11993a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x08], %f2	! LSU	Group
12003a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x0c], %f3	! LSU	Group
12013a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o1, 1, %o1		! IEU0
12023a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU1
12033a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f4		! FGM
12043a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M4, %f8		! FGM	Group
12053a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M1, %f5		! FGM	Group
12063a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M5, %f9		! FGM	Group	f4 available
12073a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f3, M12, %f12		! FGM	Group
12083a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f3, M13, %f13		! FGM	Group	f8 available
12093a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, %f8, %f4		! FGA
12103a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f5, %f9, %f5		! FGA	Group	stall, f5, f9 available
12113a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, %f12, %f4		! FGA	Group	2 cycle stall, f4, f12, f13 avail
12123a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f4, [%g2 + 0x00]	! LSU
12133a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f5, %f13, %f5		! FGA	Group	f5 available
12143a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f5, [%g2 + 0x04]	! LSU
12153a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f2, [%g2 + 0x08]	! LSU	Group
12163a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x0c]	! LSU	Group
12173a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %g3		! IEU1
12183a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b			! CTI
12193a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x10, %g2		! IEU0	Group
12203a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:
12213a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_4
12223a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
12233a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
12243a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points4_2d_no_rot
12253a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points4_2d_no_rot:
12263a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_STRIDE], %o5
12273a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o2 + V4F_START], %g1
12283a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o0 + V4F_START], %g2
12293a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
12303a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
12313a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDMATRIX_0_1_4_5_12_13(%o1)
12323a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
12333a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 0
12343a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
12353a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
12363a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o1
12373a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
12383a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0
12393a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f1
12403a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x08], %f2
12413a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x0c], %f3
12423a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o1, 1, %o1
12433a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1
12443a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f4
12453a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f3, M12, %f8
12463a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M5, %f5
12473a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f3, M13, %f9
12483a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, %f8, %f4
12493a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f4, [%g2 + 0x00]
12503a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f5, %f9, %f5
12513a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f5, [%g2 + 0x04]
12523a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f2, [%g2 + 0x08]
12533a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x0c]
12543a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %g3
12553a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b
12563a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x10, %g2
12573a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:
12583a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_4
12593a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
12603a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
12613a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points4_3d
12623a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points4_3d:
12633a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_STRIDE], %o5
12643a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o2 + V4F_START], %g1
12653a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o0 + V4F_START], %g2
12663a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
12673a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
12683a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDMATRIX_0_1_2_4_5_6_8_9_10_12_13_14(%o1)
12693a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
12703a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 0
12713a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
12723a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
12733a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o1
12743a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
12753a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0	! LSU	Group
12763a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f1	! LSU	Group
12773a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x08], %f2	! LSU	Group
12783a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x0c], %f3	! LSU	Group
12793a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o1, 1, %o1		! IEU0
12803a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU1
12813a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f4		! FGM
12823a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M4, %f7		! FGM	Group
12833a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M1, %f5		! FGM	Group
12843a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M5, %f8		! FGM	Group
12853a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M2, %f6		! FGM	Group	f4 available
12863a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M6, %f9		! FGM	Group	f7 available
12873a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, %f7, %f4		! FGA
12883a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f2, M8, %f10		! FGM	Group	f5 available
12893a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f2, M9, %f11		! FGM	Group	f8 available
12903a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f5, %f8, %f5		! FGA
12913a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f2, M10, %f12		! FGM	Group	f6 available
12923a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f3, M12, %f13		! FGM	Group	f9, f4 available
12933a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f6, %f9, %f6		! FGA
12943a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f3, M13, %f14		! FGM	Group	f10 available
12953a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, %f10, %f4		! FGA
12963a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f3, M14, %f15		! FGM	Group	f11, f5 available
12973a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f5, %f11, %f5		! FGA
12983a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f6, %f12, %f6		! FGA	Group	stall, f12, f13, f6 available
12993a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, %f13, %f4		! FGA	Group	f14, f4 available
13003a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f4, [%g2 + 0x00]	! LSU
13013a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f5, %f14, %f5		! FGA	Group	f15, f5 available
13023a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f5, [%g2 + 0x04]	! LSU
13033a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f6, %f15, %f6		! FGA	Group	f6 available
13043a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f6, [%g2 + 0x08]	! LSU
13053a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x0c]	! LSU	Group
13063a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %g3		! IEU1
13073a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b			! CTI
13083a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x10, %g2		! IEU0	Group
13093a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:
13103a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_4
13113a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
13123a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
13133a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points4_3d_no_rot
13143a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points4_3d_no_rot:
13153a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_STRIDE], %o5
13163a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o2 + V4F_START], %g1
13173a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o0 + V4F_START], %g2
13183a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
13193a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
13203a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDMATRIX_0_5_10_12_13_14(%o1)
13213a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
13223a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 0
13233a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
13243a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
13253a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o1
13263a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
13273a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0	! LSU	Group
13283a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f1	! LSU	Group
13293a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x08], %f2	! LSU	Group
13303a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x0c], %f3	! LSU	Group
13313a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o1, 1, %o1		! IEU0
13323a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU1
13333a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f4		! FGM
13343a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f3, M12, %f7		! FGM	Group
13353a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M5, %f5		! FGM	Group
13363a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f3, M13, %f8		! FGM	Group
13373a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f2, M10, %f6		! FGM	Group	f4 available
13383a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f3, M14, %f9		! FGM	Group	f7 available
13393a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, %f7, %f4		! FGA
13403a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f4, [%g2 + 0x00]	! LSU
13413a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f5, %f8, %f5		! FGA	Group	stall, f5, f8 available
13423a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f5, [%g2 + 0x04]	! LSU
13433a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f6, %f9, %f6		! FGA	Group	stall, f6, f9 available
13443a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f6, [%g2 + 0x08]	! LSU
13453a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f3, [%g2 + 0x0c]	! LSU	Group
13463a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %g3		! IEU1
13473a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b			! CTI
13483a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x10, %g2		! IEU0	Group
13493a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:
13503a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_4
13513a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
13523a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
13533a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	.globl	_mesa_sparc_transform_points4_perspective
13543a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org_mesa_sparc_transform_points4_perspective:
13553a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_STRIDE], %o5
13563a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o2 + V4F_START], %g1
13573a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDPTR	[%o0 + V4F_START], %g2
13583a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%o2 + V4F_COUNT], %g3
13593a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
13603a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	LDMATRIX_0_5_8_9_10_14(%o1)
13613a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
13623a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%g3, 0
13633a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%g3, [%o0 + V4F_COUNT]
13643a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	be	2f
13653a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 clr	%o1
13663a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org
13673a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org1:	ld	[%g1 + 0x00], %f0	! LSU	Group
13683a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x04], %f1	! LSU	Group
13693a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x08], %f2	! LSU	Group
13703a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ld	[%g1 + 0x0c], %f3	! LSU	Group
13713a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%o1, 1, %o1		! IEU0
13723a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	add	%g1, %o5, %g1		! IEU1
13733a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f0, M0, %f4		! FGM
13743a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f2, M8, %f7		! FGM	Group
13753a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f1, M5, %f5		! FGM	Group
13763a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f2, M9, %f8		! FGM	Group
13773a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f2, M10, %f6		! FGM	Group	f4 available
13783a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fmuls	%f3, M14, %f9		! FGM	Group	f7 available
13793a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f4, %f7, %f4		! FGA
13803a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f4, [%g2 + 0x00]	! LSU
13813a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f5, %f8, %f5		! FGA	Group	stall, f5, f8 available
13823a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f5, [%g2 + 0x04]	! LSU
13833a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fadds	%f6, %f9, %f6		! FGA	Group	stall, f6, f9 available
13843a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f6, [%g2 + 0x08]	! LSU
13853a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	fnegs	%f2, %f7		! FGA	Group
13863a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	st	%f7, [%g2 + 0x0c]	! LSU
13873a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	cmp	%o1, %g3		! IEU1
13883a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	bne	1b			! CTI
13893a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 add	%g2, 0x10, %g2		! IEU0	Group
13903a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org2:
13913a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	ba	__set_v4f_4
13923a0db227ffe90888ad760c61a63226988c974e0apatrick@chromium.org	 nop
1393