This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
sparc (vis?) tests: 20001013-1, 20001101-1, 20001102-1
- From: ja2morri at csclub dot uwaterloo dot ca (James Morrison)
- To: gcc at gcc dot gnu dot org
- Date: Sat, 20 Mar 2004 15:41:31 -0500 (EST)
- Subject: 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