[Mesa-dev] [PATCH 3/9] Rename sparc/clip.S -> sparc/sparc_clip.S

Jon TURNEY jon.turney at dronecode.org.uk
Tue Jul 10 07:08:37 PDT 2012


Automake can't handle having both clip.S and clip.c, even though they have different paths

"src/mesa/Makefile.am: object `clip.lo' created by `$(SRCDIR)/sparc/clip.S' and `$(SRCDIR)/main/clip.c'"

Signed-off-by: Jon TURNEY <jon.turney at dronecode.org.uk>
---
 src/mesa/SConscript         |    2 +-
 src/mesa/sources.mak        |    2 +-
 src/mesa/sparc/clip.S       |  233 -------------------------------------------
 src/mesa/sparc/sparc_clip.S |  233 +++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 235 insertions(+), 235 deletions(-)
 delete mode 100644 src/mesa/sparc/clip.S
 create mode 100644 src/mesa/sparc/sparc_clip.S

diff --git a/src/mesa/SConscript b/src/mesa/SConscript
index 819a0fd..906c579 100644
--- a/src/mesa/SConscript
+++ b/src/mesa/SConscript
@@ -430,7 +430,7 @@ if env['gcc'] and env['platform'] not in ('darwin', 'windows'):
     elif env['machine'] == 'sparc':
         mesa_sources += [
             'sparc/sparc.c',
-            'sparc/clip.S',
+            'sparc/sparc_clip.S',
             'sparc/norm.S',
             'sparc/xform.S',
         ]
diff --git a/src/mesa/sources.mak b/src/mesa/sources.mak
index 16b1c39..d22f059 100644
--- a/src/mesa/sources.mak
+++ b/src/mesa/sources.mak
@@ -307,7 +307,7 @@ X86_64_FILES =		\
 	$(SRCDIR)/x86-64/xform4.S
 
 SPARC_FILES =			\
-	$(SRCDIR)/sparc/clip.S		\
+	$(SRCDIR)/sparc/sparc_clip.S	\
 	$(SRCDIR)/sparc/norm.S		\
 	$(SRCDIR)/sparc/xform.S
 
diff --git a/src/mesa/sparc/clip.S b/src/mesa/sparc/clip.S
deleted file mode 100644
index dc23917..0000000
--- a/src/mesa/sparc/clip.S
+++ /dev/null
@@ -1,233 +0,0 @@
-/*
- * Clip testing in SPARC assembly
- */
-
-#if __arch64__
-#define LDPTR		ldx
-#define V4F_DATA	0x00
-#define V4F_START	0x08
-#define V4F_COUNT	0x10
-#define V4F_STRIDE	0x14
-#define V4F_SIZE	0x18
-#define V4F_FLAGS	0x1c
-#else
-#define LDPTR		ld
-#define V4F_DATA	0x00
-#define V4F_START	0x04
-#define V4F_COUNT	0x08
-#define V4F_STRIDE	0x0c
-#define V4F_SIZE	0x10
-#define V4F_FLAGS	0x14
-#endif
-
-#define VEC_SIZE_1   	1
-#define VEC_SIZE_2   	3
-#define VEC_SIZE_3   	7
-#define VEC_SIZE_4   	15
-
-        .register %g2, #scratch
-        .register %g3, #scratch
-
-	.text
-	.align		64
-
-one_dot_zero:
-	.word		0x3f800000	/* 1.0f */
-
-	/* This trick is shamelessly stolen from the x86
-	 * Mesa asm.  Very clever, and we can do it too
-	 * since we have the necessary add with carry
-	 * instructions on Sparc.
-	 */
-clip_table:
-	.byte	 0,  1,  0,  2,  4,  5,  4,  6
-	.byte	 0,  1,  0,  2,  8,  9,  8, 10
-	.byte	32, 33, 32, 34, 36, 37, 36, 38
-	.byte	32, 33, 32, 34, 40, 41, 40, 42
-	.byte	 0,  1,  0,  2,  4,  5,  4,  6
-	.byte	 0,  1,  0,  2,  8,  9,  8, 10
-	.byte	16, 17, 16, 18, 20, 21, 20, 22
-	.byte	16, 17, 16, 18, 24, 25, 24, 26
-	.byte	63, 61, 63, 62, 55, 53, 55, 54
-	.byte	63, 61, 63, 62, 59, 57, 59, 58
-	.byte	47, 45, 47, 46, 39, 37, 39, 38
-	.byte	47, 45, 47, 46, 43, 41, 43, 42
-	.byte	63, 61, 63, 62, 55, 53, 55, 54
-	.byte	63, 61, 63, 62, 59, 57, 59, 58
-	.byte	31, 29, 31, 30, 23, 21, 23, 22
-	.byte	31, 29, 31, 30, 27, 25, 27, 26
-
-/* GLvector4f *clip_vec, GLvector4f *proj_vec, 
-   GLubyte clipMask[], GLubyte *orMask, GLubyte *andMask,
-   GLboolean viewport_z_enable */
-
-	.align		64
-__pc_tramp:
-	retl
-	 nop
-
-	.globl		_mesa_sparc_cliptest_points4
-_mesa_sparc_cliptest_points4:
-	save		%sp, -64, %sp
-	call		__pc_tramp
-	 sub		%o7, (. - one_dot_zero - 4), %g1
-	ld		[%g1 + 0x0], %f4
-	add		%g1, 0x4, %g1
-
-	ld		[%i0 + V4F_STRIDE], %l1
-	ld		[%i0 + V4F_COUNT], %l3
-	LDPTR		[%i0 + V4F_START], %i0
-	LDPTR		[%i1 + V4F_START], %i5
-	ldub		[%i3], %g2
-	ldub		[%i4], %g3
-	sll		%g3, 8, %g3
-	or		%g2, %g3, %g2
-
-	ld		[%i1 + V4F_FLAGS], %g3
-	or		%g3, VEC_SIZE_4, %g3
-	st		%g3, [%i1 + V4F_FLAGS]
-	mov		3, %g3
-	st		%g3, [%i1 + V4F_SIZE]
-	st		%l3, [%i1 + V4F_COUNT]
-	clr		%l2
-	clr		%l0
-
-	/* l0:	i
-	 * l3:	count
-	 * l1:	stride
-	 * l2:	c
-	 * g2:	(tmpAndMask << 8) | tmpOrMask
-	 * g1:	clip_table
-	 * i0:	from[stride][i]
-	 * i2:	clipMask
-	 * i5:	vProj[4][i]
-	 */
-
-1:	ld		[%i0 + 0x0c], %f3	! LSU	Group
-	ld		[%i0 + 0x0c], %g5	! LSU	Group
-	ld		[%i0 + 0x08], %g4	! LSU	Group
-	fdivs		%f4, %f3, %f8		! FGM
-	addcc		%g5, %g5, %g5		! IEU1	Group
-	addx		%g0, 0x0, %g3		! IEU1	Group
-	addcc		%g4, %g4, %g4		! IEU1	Group
-	addx		%g3, %g3, %g3		! IEU1	Group
-	subcc		%g5, %g4, %g0		! IEU1	Group
-	ld		[%i0 + 0x04], %g4	! LSU	Group
-	addx		%g3, %g3, %g3		! IEU1	Group
-	addcc		%g4, %g4, %g4		! IEU1	Group
-	addx		%g3, %g3, %g3		! IEU1	Group
-	subcc		%g5, %g4, %g0		! IEU1	Group
-	ld		[%i0 + 0x00], %g4	! LSU	Group
-	addx		%g3, %g3, %g3		! IEU1	Group
-	addcc		%g4, %g4, %g4		! IEU1	Group
-	addx		%g3, %g3, %g3		! IEU1	Group
-	subcc		%g5, %g4, %g0		! IEU1	Group
-	addx		%g3, %g3, %g3		! IEU1	Group
-	ldub		[%g1 + %g3], %g3	! LSU	Group
-	cmp		%g3, 0			! IEU1	Group, stall
-	be		2f			! CTI
-	 stb		%g3, [%i2]		! LSU
-	sll		%g3, 8, %g4		! IEU1	Group
-	add		%l2, 1, %l2		! IEU0
-	st		%g0, [%i5 + 0x00]	! LSU
-	or		%g4, 0xff, %g4		! IEU0	Group
-	or		%g2, %g3, %g2		! IEU1
-	st		%g0, [%i5 + 0x04]	! LSU
-	and		%g2, %g4, %g2		! IEU0	Group
-	st		%g0, [%i5 + 0x08]	! LSU
-	b		3f			! CTI
-	 st		%f4, [%i5 + 0x0c]	! LSU	Group
-2:	ld		[%i0 + 0x00], %f0	! LSU	Group
-	ld		[%i0 + 0x04], %f1	! LSU	Group
-	ld		[%i0 + 0x08], %f2	! LSU	Group
-	fmuls		%f0, %f8, %f0		! FGM
-	st		%f0, [%i5 + 0x00]	! LSU	Group
-	fmuls		%f1, %f8, %f1		! FGM
-	st		%f1, [%i5 + 0x04]	! LSU	Group
-	fmuls		%f2, %f8, %f2		! FGM
-	st		%f2, [%i5 + 0x08]	! LSU	Group
-	st		%f8, [%i5 + 0x0c]	! LSU	Group
-3:	add		%i5, 0x10, %i5		! IEU1
-	add		%l0, 1, %l0		! IEU0	Group
-	add		%i2, 1, %i2		! IEU0	Group
-	cmp		%l0, %l3		! IEU1	Group
-	bne		1b			! CTI
-	 add		%i0, %l1, %i0		! IEU0	Group
-	stb		%g2, [%i3]		! LSU
-	srl		%g2, 8, %g3		! IEU0	Group
-	cmp		%l2, %l3		! IEU1	Group
-	bl,a		1f			! CTI
-	 clr		%g3			! IEU0
-1:	stb		%g3, [%i4]		! LSU	Group
-	ret					! CTI	Group
-	 restore	%i1, 0x0, %o0
-
-	.globl		_mesa_sparc_cliptest_points4_np
-_mesa_sparc_cliptest_points4_np:
-	save		%sp, -64, %sp
-
-	call		__pc_tramp
-	 sub		%o7, (. - one_dot_zero - 4), %g1
-	add		%g1, 0x4, %g1
-
-	ld		[%i0 + V4F_STRIDE], %l1
-	ld		[%i0 + V4F_COUNT], %l3
-	LDPTR		[%i0 + V4F_START], %i0
-	ldub		[%i3], %g2
-	ldub		[%i4], %g3
-	sll		%g3, 8, %g3
-	or		%g2, %g3, %g2
-
-	clr		%l2
-	clr		%l0
-
-	/* l0:	i
-	 * l3:	count
-	 * l1:	stride
-	 * l2:	c
-	 * g2:	(tmpAndMask << 8) | tmpOrMask
-	 * g1:	clip_table
-	 * i0:	from[stride][i]
-	 * i2:	clipMask
-	 */
-
-1:	ld		[%i0 + 0x0c], %g5	! LSU	Group
-	ld		[%i0 + 0x08], %g4	! LSU	Group
-	addcc		%g5, %g5, %g5		! IEU1	Group
-	addx		%g0, 0x0, %g3		! IEU1	Group
-	addcc		%g4, %g4, %g4		! IEU1	Group
-	addx		%g3, %g3, %g3		! IEU1	Group
-	subcc		%g5, %g4, %g0		! IEU1	Group
-	ld		[%i0 + 0x04], %g4	! LSU	Group
-	addx		%g3, %g3, %g3		! IEU1	Group
-	addcc		%g4, %g4, %g4		! IEU1	Group
-	addx		%g3, %g3, %g3		! IEU1	Group
-	subcc		%g5, %g4, %g0		! IEU1	Group
-	ld		[%i0 + 0x00], %g4	! LSU	Group
-	addx		%g3, %g3, %g3		! IEU1	Group
-	addcc		%g4, %g4, %g4		! IEU1	Group
-	addx		%g3, %g3, %g3		! IEU1	Group
-	subcc		%g5, %g4, %g0		! IEU1	Group
-	addx		%g3, %g3, %g3		! IEU1	Group
-	ldub		[%g1 + %g3], %g3	! LSU	Group
-	cmp		%g3, 0			! IEU1	Group, stall
-	be		2f			! CTI
-	 stb		%g3, [%i2]		! LSU
-	sll		%g3, 8, %g4		! IEU1	Group
-	add		%l2, 1, %l2		! IEU0
-	or		%g4, 0xff, %g4		! IEU0	Group
-	or		%g2, %g3, %g2		! IEU1
-	and		%g2, %g4, %g2		! IEU0	Group
-2:	add		%l0, 1, %l0		! IEU0	Group
-	add		%i2, 1, %i2		! IEU0	Group
-	cmp		%l0, %l3		! IEU1	Group
-	bne		1b			! CTI
-	 add		%i0, %l1, %i0		! IEU0	Group
-	stb		%g2, [%i3]		! LSU
-	srl		%g2, 8, %g3		! IEU0	Group
-	cmp		%l2, %l3		! IEU1	Group
-	bl,a		1f			! CTI
-	 clr		%g3			! IEU0
-1:	stb		%g3, [%i4]		! LSU	Group
-	ret					! CTI	Group
-	 restore	%i1, 0x0, %o0
diff --git a/src/mesa/sparc/sparc_clip.S b/src/mesa/sparc/sparc_clip.S
new file mode 100644
index 0000000..dc23917
--- /dev/null
+++ b/src/mesa/sparc/sparc_clip.S
@@ -0,0 +1,233 @@
+/*
+ * Clip testing in SPARC assembly
+ */
+
+#if __arch64__
+#define LDPTR		ldx
+#define V4F_DATA	0x00
+#define V4F_START	0x08
+#define V4F_COUNT	0x10
+#define V4F_STRIDE	0x14
+#define V4F_SIZE	0x18
+#define V4F_FLAGS	0x1c
+#else
+#define LDPTR		ld
+#define V4F_DATA	0x00
+#define V4F_START	0x04
+#define V4F_COUNT	0x08
+#define V4F_STRIDE	0x0c
+#define V4F_SIZE	0x10
+#define V4F_FLAGS	0x14
+#endif
+
+#define VEC_SIZE_1   	1
+#define VEC_SIZE_2   	3
+#define VEC_SIZE_3   	7
+#define VEC_SIZE_4   	15
+
+        .register %g2, #scratch
+        .register %g3, #scratch
+
+	.text
+	.align		64
+
+one_dot_zero:
+	.word		0x3f800000	/* 1.0f */
+
+	/* This trick is shamelessly stolen from the x86
+	 * Mesa asm.  Very clever, and we can do it too
+	 * since we have the necessary add with carry
+	 * instructions on Sparc.
+	 */
+clip_table:
+	.byte	 0,  1,  0,  2,  4,  5,  4,  6
+	.byte	 0,  1,  0,  2,  8,  9,  8, 10
+	.byte	32, 33, 32, 34, 36, 37, 36, 38
+	.byte	32, 33, 32, 34, 40, 41, 40, 42
+	.byte	 0,  1,  0,  2,  4,  5,  4,  6
+	.byte	 0,  1,  0,  2,  8,  9,  8, 10
+	.byte	16, 17, 16, 18, 20, 21, 20, 22
+	.byte	16, 17, 16, 18, 24, 25, 24, 26
+	.byte	63, 61, 63, 62, 55, 53, 55, 54
+	.byte	63, 61, 63, 62, 59, 57, 59, 58
+	.byte	47, 45, 47, 46, 39, 37, 39, 38
+	.byte	47, 45, 47, 46, 43, 41, 43, 42
+	.byte	63, 61, 63, 62, 55, 53, 55, 54
+	.byte	63, 61, 63, 62, 59, 57, 59, 58
+	.byte	31, 29, 31, 30, 23, 21, 23, 22
+	.byte	31, 29, 31, 30, 27, 25, 27, 26
+
+/* GLvector4f *clip_vec, GLvector4f *proj_vec, 
+   GLubyte clipMask[], GLubyte *orMask, GLubyte *andMask,
+   GLboolean viewport_z_enable */
+
+	.align		64
+__pc_tramp:
+	retl
+	 nop
+
+	.globl		_mesa_sparc_cliptest_points4
+_mesa_sparc_cliptest_points4:
+	save		%sp, -64, %sp
+	call		__pc_tramp
+	 sub		%o7, (. - one_dot_zero - 4), %g1
+	ld		[%g1 + 0x0], %f4
+	add		%g1, 0x4, %g1
+
+	ld		[%i0 + V4F_STRIDE], %l1
+	ld		[%i0 + V4F_COUNT], %l3
+	LDPTR		[%i0 + V4F_START], %i0
+	LDPTR		[%i1 + V4F_START], %i5
+	ldub		[%i3], %g2
+	ldub		[%i4], %g3
+	sll		%g3, 8, %g3
+	or		%g2, %g3, %g2
+
+	ld		[%i1 + V4F_FLAGS], %g3
+	or		%g3, VEC_SIZE_4, %g3
+	st		%g3, [%i1 + V4F_FLAGS]
+	mov		3, %g3
+	st		%g3, [%i1 + V4F_SIZE]
+	st		%l3, [%i1 + V4F_COUNT]
+	clr		%l2
+	clr		%l0
+
+	/* l0:	i
+	 * l3:	count
+	 * l1:	stride
+	 * l2:	c
+	 * g2:	(tmpAndMask << 8) | tmpOrMask
+	 * g1:	clip_table
+	 * i0:	from[stride][i]
+	 * i2:	clipMask
+	 * i5:	vProj[4][i]
+	 */
+
+1:	ld		[%i0 + 0x0c], %f3	! LSU	Group
+	ld		[%i0 + 0x0c], %g5	! LSU	Group
+	ld		[%i0 + 0x08], %g4	! LSU	Group
+	fdivs		%f4, %f3, %f8		! FGM
+	addcc		%g5, %g5, %g5		! IEU1	Group
+	addx		%g0, 0x0, %g3		! IEU1	Group
+	addcc		%g4, %g4, %g4		! IEU1	Group
+	addx		%g3, %g3, %g3		! IEU1	Group
+	subcc		%g5, %g4, %g0		! IEU1	Group
+	ld		[%i0 + 0x04], %g4	! LSU	Group
+	addx		%g3, %g3, %g3		! IEU1	Group
+	addcc		%g4, %g4, %g4		! IEU1	Group
+	addx		%g3, %g3, %g3		! IEU1	Group
+	subcc		%g5, %g4, %g0		! IEU1	Group
+	ld		[%i0 + 0x00], %g4	! LSU	Group
+	addx		%g3, %g3, %g3		! IEU1	Group
+	addcc		%g4, %g4, %g4		! IEU1	Group
+	addx		%g3, %g3, %g3		! IEU1	Group
+	subcc		%g5, %g4, %g0		! IEU1	Group
+	addx		%g3, %g3, %g3		! IEU1	Group
+	ldub		[%g1 + %g3], %g3	! LSU	Group
+	cmp		%g3, 0			! IEU1	Group, stall
+	be		2f			! CTI
+	 stb		%g3, [%i2]		! LSU
+	sll		%g3, 8, %g4		! IEU1	Group
+	add		%l2, 1, %l2		! IEU0
+	st		%g0, [%i5 + 0x00]	! LSU
+	or		%g4, 0xff, %g4		! IEU0	Group
+	or		%g2, %g3, %g2		! IEU1
+	st		%g0, [%i5 + 0x04]	! LSU
+	and		%g2, %g4, %g2		! IEU0	Group
+	st		%g0, [%i5 + 0x08]	! LSU
+	b		3f			! CTI
+	 st		%f4, [%i5 + 0x0c]	! LSU	Group
+2:	ld		[%i0 + 0x00], %f0	! LSU	Group
+	ld		[%i0 + 0x04], %f1	! LSU	Group
+	ld		[%i0 + 0x08], %f2	! LSU	Group
+	fmuls		%f0, %f8, %f0		! FGM
+	st		%f0, [%i5 + 0x00]	! LSU	Group
+	fmuls		%f1, %f8, %f1		! FGM
+	st		%f1, [%i5 + 0x04]	! LSU	Group
+	fmuls		%f2, %f8, %f2		! FGM
+	st		%f2, [%i5 + 0x08]	! LSU	Group
+	st		%f8, [%i5 + 0x0c]	! LSU	Group
+3:	add		%i5, 0x10, %i5		! IEU1
+	add		%l0, 1, %l0		! IEU0	Group
+	add		%i2, 1, %i2		! IEU0	Group
+	cmp		%l0, %l3		! IEU1	Group
+	bne		1b			! CTI
+	 add		%i0, %l1, %i0		! IEU0	Group
+	stb		%g2, [%i3]		! LSU
+	srl		%g2, 8, %g3		! IEU0	Group
+	cmp		%l2, %l3		! IEU1	Group
+	bl,a		1f			! CTI
+	 clr		%g3			! IEU0
+1:	stb		%g3, [%i4]		! LSU	Group
+	ret					! CTI	Group
+	 restore	%i1, 0x0, %o0
+
+	.globl		_mesa_sparc_cliptest_points4_np
+_mesa_sparc_cliptest_points4_np:
+	save		%sp, -64, %sp
+
+	call		__pc_tramp
+	 sub		%o7, (. - one_dot_zero - 4), %g1
+	add		%g1, 0x4, %g1
+
+	ld		[%i0 + V4F_STRIDE], %l1
+	ld		[%i0 + V4F_COUNT], %l3
+	LDPTR		[%i0 + V4F_START], %i0
+	ldub		[%i3], %g2
+	ldub		[%i4], %g3
+	sll		%g3, 8, %g3
+	or		%g2, %g3, %g2
+
+	clr		%l2
+	clr		%l0
+
+	/* l0:	i
+	 * l3:	count
+	 * l1:	stride
+	 * l2:	c
+	 * g2:	(tmpAndMask << 8) | tmpOrMask
+	 * g1:	clip_table
+	 * i0:	from[stride][i]
+	 * i2:	clipMask
+	 */
+
+1:	ld		[%i0 + 0x0c], %g5	! LSU	Group
+	ld		[%i0 + 0x08], %g4	! LSU	Group
+	addcc		%g5, %g5, %g5		! IEU1	Group
+	addx		%g0, 0x0, %g3		! IEU1	Group
+	addcc		%g4, %g4, %g4		! IEU1	Group
+	addx		%g3, %g3, %g3		! IEU1	Group
+	subcc		%g5, %g4, %g0		! IEU1	Group
+	ld		[%i0 + 0x04], %g4	! LSU	Group
+	addx		%g3, %g3, %g3		! IEU1	Group
+	addcc		%g4, %g4, %g4		! IEU1	Group
+	addx		%g3, %g3, %g3		! IEU1	Group
+	subcc		%g5, %g4, %g0		! IEU1	Group
+	ld		[%i0 + 0x00], %g4	! LSU	Group
+	addx		%g3, %g3, %g3		! IEU1	Group
+	addcc		%g4, %g4, %g4		! IEU1	Group
+	addx		%g3, %g3, %g3		! IEU1	Group
+	subcc		%g5, %g4, %g0		! IEU1	Group
+	addx		%g3, %g3, %g3		! IEU1	Group
+	ldub		[%g1 + %g3], %g3	! LSU	Group
+	cmp		%g3, 0			! IEU1	Group, stall
+	be		2f			! CTI
+	 stb		%g3, [%i2]		! LSU
+	sll		%g3, 8, %g4		! IEU1	Group
+	add		%l2, 1, %l2		! IEU0
+	or		%g4, 0xff, %g4		! IEU0	Group
+	or		%g2, %g3, %g2		! IEU1
+	and		%g2, %g4, %g2		! IEU0	Group
+2:	add		%l0, 1, %l0		! IEU0	Group
+	add		%i2, 1, %i2		! IEU0	Group
+	cmp		%l0, %l3		! IEU1	Group
+	bne		1b			! CTI
+	 add		%i0, %l1, %i0		! IEU0	Group
+	stb		%g2, [%i3]		! LSU
+	srl		%g2, 8, %g3		! IEU0	Group
+	cmp		%l2, %l3		! IEU1	Group
+	bl,a		1f			! CTI
+	 clr		%g3			! IEU0
+1:	stb		%g3, [%i4]		! LSU	Group
+	ret					! CTI	Group
+	 restore	%i1, 0x0, %o0
-- 
1.7.9



More information about the mesa-dev mailing list