> 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.

J


_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel

Reply via email to