From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30034 invoked by alias); 20 Mar 2004 20:41:47 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 30026 invoked from network); 20 Mar 2004 20:41:46 -0000 Received: from unknown (HELO perpugilliam.csclub.uwaterloo.ca) (129.97.134.31) by sources.redhat.com with SMTP; 20 Mar 2004 20:41:46 -0000 Received: by perpugilliam.csclub.uwaterloo.ca (Postfix, from userid 20178) id 1A20D10B6F8; Sat, 20 Mar 2004 15:41:31 -0500 (EST) To: gcc@gcc.gnu.org Subject: sparc (vis?) tests: 20001013-1, 20001101-1, 20001102-1 Message-Id: <20040320204131.1A20D10B6F8@perpugilliam.csclub.uwaterloo.ca> Date: Sat, 20 Mar 2004 23:25:00 -0000 From: ja2morri@csclub.uwaterloo.ca (James Morrison) X-SW-Source: 2004-03/txt/msg01218.txt.bz2 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