[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] 0.9.0 and svn don't build with -march=pentium2 etc.; w

From: Julian Seward
Subject: Re: [Qemu-devel] 0.9.0 and svn don't build with -march=pentium2 etc.; was: Latest SVN fails to build on Fedora Core 6 (same with 0.9.0)
Date: Sat, 24 Mar 2007 12:55:16 +0000
User-agent: KMail/1.9.5

> As far as X86 is concerned i386/i486/i586 are very different from later
> generation
> processors. I am wondering whether another host and target architecture
> could be
> created called i686 that makes use of something like MMX or other
> registers in Intel
> Pentium II/III/4 and AMD Athlon to negate the lack of general purpose
> registers.

I don't see how.  MMX/SSE is suitable for SIMD processing of media data
and to some extent for floating point, but is largely unusable for ad-hoc
integer computation, especially anything that involves address calculations.

> The fact that QEMU works and can be optimised on x86_64 is the only
> saving grace
> for the architecture, that is still suffering from a lack of registers
> compared to any
> other architecture.

The lack of registers isn't ideal, but it's not a big deal, and in the
grand scheme of things x86_64 has a lot going for it.  The most 
important of which are that (from the software side) all the hard-won 
knowledge of how to compile good code for x86 carries across more or less
directly to x86_64, and (from the hardware side) hardware people already
know how to make fast, cheap x86s, so it's easy to move to making fast,
cheap x86_64s.

The problems of the gcc backend to qemu have already been discussed
extensively on this list.  Stealing 3+ registers from gcc on x86 really
is asking for trouble, and I believe it is generally understood that the
best long term solution is to move to a self-contained back end that 
does not use gcc for dynamic code generation.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]