qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Vince Weaver <vince@csl.cornell.edu>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] tcg problem running SPARC program on x86
Date: Mon, 18 Aug 2008 15:46:55 -0400 (EDT)	[thread overview]
Message-ID: <20080818153918.U9420@stanley.csl.cornell.edu> (raw)

[-- Attachment #1: Type: TEXT/PLAIN, Size: 757 bytes --]

Hello

I'm continuing on my quest to get the SPEC2000 benchmarks running under 
sparc32-linux-user (so far 8 out of 48 work).

Many of the benchmarks die early on with the following error:

     /fusion/research4/vince/qemu/svn/tcg/tcg.c:1455: tcg fatal error

This error is caused when tcg_reg_alloc_mov() is called but ts->val_type
is equal to 0 (which is TEMP_VAL_DEAD). So maybe the optimizer is 
optimizing away something that it shouldn't?

This happens in a block with multiple calls to the SPARC "mulscc"
instruction which is a complicated instruction, so maybe this is finding 
an obscure corner case.

I've attached a very small sample program that exhibits the bug when 
run with ./sparc32-linux-user/qemu-sparc32plus

Thanks for any help

Vince

[-- Attachment #2: Type: TEXT/PLAIN, Size: 549 bytes --]

! as -o mulscc.o mulscc.s ; ld -o mulscc mulscc.o

.equ SYSCALL_EXIT,1	

	.globl _start
_start:	
        wr  	%g0, %o3, %y
        sra 	%o5, 0x1f, %g2
        and  	%o3, %g2, %g2
        andcc	%g1, 0, %g1

	mulscc  %g1, %o5, %g1
	mulscc  %g1, %o5, %g1
	mulscc  %g1, %o5, %g1
	mulscc  %g1, %o5, %g1
		
	!================================
	! Exit
	!================================
exit:		
        mov	0,%o0			! exit value
        mov	SYSCALL_EXIT,%g1        ! put the exit syscall number in g1
        ta      0x10			! and exit

[-- Attachment #3: Type: APPLICATION/octet-stream, Size: 542 bytes --]

             reply	other threads:[~2008-08-18 19:47 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-18 19:46 Vince Weaver [this message]
2008-08-19 16:37 ` [Qemu-devel] tcg problem running SPARC program on x86 Blue Swirl
2008-08-23  6:43   ` Blue Swirl
  -- strict thread matches above, loose matches on Subject: below --
2008-10-13 20:24 rob1weld
     [not found] ` <90edad820810180440w375f4370w1b2c22115a2afad5@mail.gmail.com>
2008-10-18 12:16   ` Anton Salikhmetov
2008-10-19 16:18     ` rob1weld
2008-10-19 17:44       ` Thiemo Seufer
2008-10-24 10:33       ` Anton Salikhmetov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080818153918.U9420@stanley.csl.cornell.edu \
    --to=vince@csl.cornell.edu \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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 NNTP newsgroup(s).