This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

sparc (vis?) tests: 20001013-1, 20001101-1, 20001102-1


 Hi,

  I'm looking at the testcases gcc.dg/2000{1013-1,1101-1,1102-1} which
all only run on sparcv9 or sparc64.  However, the assembly for the tests
has very little difference between compiling the tests with -mv8plus -mvis
and -mcpu=ultrasparc -mvis.  The differences are attached.  I'm not exactly
sure if this will work on Solaris, especially old versions, but I think it
will.  Anyway, if these tests are compiled with -mv8plus -mvis then they
can run on sparc*-- instead of sparcv9 and sparc64.

Jim

notes: t5.s are compiled with -m32 -O2 -mv8plus -mvis
       t2.s are compiled with -m32 -O2 -mcpu=ultrasparc -mvis

20001013-1:
--- t5.s	2004-03-20 15:34:30.000000000 -0500
+++ t2.s	2004-03-20 15:34:09.000000000 -0500
@@ -1,6 +1,7 @@
 	.file	"20001013-1.c"
 	.section	".text"
 	.align 4
+	.align 32
 	.global baz
 	.type	baz, #function
 	.proc	04
@@ -20,6 +21,7 @@
 	.long	0
 	.section	".text"
 	.align 4
+	.align 32
 	.global bar
 	.type	bar, #function
 	.proc	07
@@ -31,6 +33,7 @@
 	ldd	[%g1+%lo(.LLC0)], %f0
 	.size	bar, .-bar
 	.align 4
+	.align 32
 	.global foo
 	.type	foo, #function
 	.proc	07
@@ -39,13 +42,14 @@
 	save	%sp, -112, %sp
 	!#PROLOGUE# 1
 	sethi	%hi(l), %g1
+	std	%i0, [%fp-16]
+	mov	%i0, %o0
 	ld	[%g1+%lo(l)], %g2
 	cmp	%g2, -1
 	be,pn	%icc, .LL5
-	std	%i0, [%fp-16]
-	mov	%i0, %o0
-	call	baz, 0
 	mov	%i1, %o1
+	call	baz, 0
+	 nop
 	cmp	%o0, 0
 	be,pt	%icc, .LL4
 	fzero	%f0
@@ -73,6 +77,7 @@
 	.long	0
 	.section	".text"
 	.align 4
+	.align 32
 	.global main
 	.type	main, #function
 	.proc	04
@@ -82,23 +87,23 @@
 	!#PROLOGUE# 1
 	st	%g0, [%fp-12]
 	ld [%fp-12], %fsr
+	sethi	%hi(y), %l0
 	sethi	%hi(x), %l1
 	ldd	[%l1+%lo(x)], %f8
-	sethi	%hi(y), %l0
+	or	%l0, %lo(y), %l3
+	or	%l1, %lo(x), %l2
 	std	%f8, [%fp-8]
 	call	foo, 0
 	ldd	[%fp-8], %o0
-	or	%l0, %lo(y), %g4
-	or	%l1, %lo(x), %g3
 	std	%f0, [%l0+%lo(y)]
 	st %fsr, [%fp-12]
-	ld	[%l1+%lo(x)], %g2
-	ld	[%l0+%lo(y)], %g1
-	cmp	%g2, %g1
+	ld	[%l1+%lo(x)], %g1
+	ld	[%l0+%lo(y)], %g2
+	cmp	%g1, %g2
 	bne,pn	%icc, .LL11
 	nop
-	ld	[%g3+4], %g2
-	ld	[%g4+4], %g1
+	ld	[%l2+4], %g2
+	ld	[%l3+4], %g1
 	cmp	%g2, %g1
 	be,pn	%icc, .LL12
 	ld	[%fp-12], %g1

20001101-1.c:
--- t5.s	2004-03-20 15:30:12.000000000 -0500
+++ t2.s	2004-03-20 15:26:45.000000000 -0500
@@ -5,6 +5,7 @@
 	.long	1
 	.section	".text"
 	.align 4
+	.align 32
 	.global foo
 	.type	foo, #function
 	.proc	04
@@ -42,14 +43,14 @@
 	ba,pt	%xcc, .LL22
 	fdtoi	%f10, %f12
 .LL21:
-	ld	[%g1+%lo(.LLC0)], %f8
 	mov	%o3, %o5
+	ld	[%g1+%lo(.LLC0)], %f8
 	ba,pt	%xcc, .LL4
 	fpadd32s	%f12, %f8, %f12
 .LL20:
 	st	%o3, [%sp+104]
-	ld	[%sp+104], %f8
 	mov	0, %o3
+	ld	[%sp+104], %f8
 	ba,pt	%xcc, .LL3
 	fpadd32s	%f12, %f8, %f12
 .LL5:
@@ -60,6 +61,7 @@
 	sub	%sp, -112, %sp
 	.size	foo, .-foo
 	.align 4
+	.align 32
 	.global main
 	.type	main, #function
 	.proc	04

20001102-1.c:
--- t5.s	2004-03-20 15:33:16.000000000 -0500
+++ t2.s	2004-03-20 15:33:42.000000000 -0500
@@ -1,6 +1,7 @@
 	.file	"20001102-1.c"
 	.section	".text"
 	.align 4
+	.align 32
 	.global foo
 	.type	foo, #function
 	.proc	04
@@ -22,7 +23,8 @@
 	cmp	%o2, 2
 	be,a,pt	%icc, .LL7
 	fdtoi	%f10, %f8
-	ba,a,pt	%xcc, .LL6
+	ba,pt	%xcc, .LL6
+	 nop
 .LL5:
 	ld	[%sp+100], %g1
 	add	%g1, %o3, %g1
@@ -36,6 +38,7 @@
 	sub	%sp, -112, %sp
 	.size	foo, .-foo
 	.align 4
+	.align 32
 	.global main
 	.type	main, #function
 	.proc	04


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]