* sparc (vis?) tests: 20001013-1, 20001101-1, 20001102-1
@ 2004-03-20 23:25 James Morrison
2004-03-20 23:56 ` James Morrison
2004-03-22 14:19 ` Eric Botcazou
0 siblings, 2 replies; 3+ messages in thread
From: James Morrison @ 2004-03-20 23:25 UTC (permalink / raw)
To: gcc
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
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: sparc (vis?) tests: 20001013-1, 20001101-1, 20001102-1
2004-03-20 23:25 sparc (vis?) tests: 20001013-1, 20001101-1, 20001102-1 James Morrison
@ 2004-03-20 23:56 ` James Morrison
2004-03-22 14:19 ` Eric Botcazou
1 sibling, 0 replies; 3+ messages in thread
From: James Morrison @ 2004-03-20 23:56 UTC (permalink / raw)
To: gcc
ja2morri@csclub.uwaterloo.ca (James Morrison) writes:
> 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
Silly me. The diffs, I nicely removed, were generated from the test cases
compiled with gcc 3.3.3 in debian unstable.
Jim
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: sparc (vis?) tests: 20001013-1, 20001101-1, 20001102-1
2004-03-20 23:25 sparc (vis?) tests: 20001013-1, 20001101-1, 20001102-1 James Morrison
2004-03-20 23:56 ` James Morrison
@ 2004-03-22 14:19 ` Eric Botcazou
1 sibling, 0 replies; 3+ messages in thread
From: Eric Botcazou @ 2004-03-22 14:19 UTC (permalink / raw)
To: James Morrison; +Cc: gcc
> 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.
Yes, this works on Solaris 2.5.1 too, which is the oldest version we support.
I suppose we can remove the sparc64-*-* marker and run them on sparc*-*-*
with -mcpu=ultrasparc -mvis -mv8plus. Yes, this does assume that we run on
Sun UltraSPARC and up, but this assumption is already made in some of the
gcc.dg/ultrasp* testcases.
--
Eric Botcazou
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2004-03-22 7:43 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-03-20 23:25 sparc (vis?) tests: 20001013-1, 20001101-1, 20001102-1 James Morrison
2004-03-20 23:56 ` James Morrison
2004-03-22 14:19 ` Eric Botcazou
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).