From: Marius Groeger <mgroeger@sysgo.com>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH][MIPS] FPU support for MIPS
Date: Thu, 27 Apr 2006 12:22:39 +0200 (CEST) [thread overview]
Message-ID: <Pine.LNX.4.64.0604271211430.13776@mag.sysgo.com> (raw)
In-Reply-To: <444FF164.2060104@bellard.org>
Hi Fabrice,
thanks for the review.
On Thu, 27 Apr 2006, Fabrice Bellard wrote:
> 1) Why do you use 3 temporaries ? Maybe two suffice in most cases.
Well, I less temporaries don't gain performance, while a
FDT2 = FDT0 * FDT1
fpu_dump_state()
allows for easier debugging. Therefore I'd rather keep three temps,
but I can change that if you think it's too much bloat.
> 2) do_cmp_d() should be completely decoded at translation time.
Hm. Yeah. I just don't quite now about the limitations of generated
code. In the !CONFIG_SOFTFLOAT case, the softfloat-native will use
compiler/libc defined stuff like isgreater(), libm, whatever. Is is
really safe to assume all that code can be generated? I felt better
with a CALL_FROM_TB(). Maybe you can enlighten me a bit there.
Also, is a call really that much slower? It might even benefit from
the called function being in the host cpu cache already. Any figures
on that available?
> 3) I suspect the macro FPR() does too many things at runtime which gives an
> important performance loss. CP0St_FR should be known at translation time.
I'll see what I can do.
> You should use CONFIG_SOFTFLOAT to validate your code. The ARM target does
> it, so it works (see the configure script).
Ok, I got pretty weird errors in the floatx80 area and it kind of
looked like this is broken. I must have missed something then.
While there: I noticed it's very difficult at best to properly emulate
floating point states and exceptions when using native float; the
softfloat has a nice interface for that stuff. How's the world order
to handle this?
Thanks,
Marius
--
Marius Groeger <mgroeger@sysgo.com>
SYSGO AG Embedded and Real-Time Software
Voice: +49 6136 9948 0 FAX: +49 6136 9948 10
www.sysgo.com | www.elinos.com | www.osek.de | www.pikeos.com
next prev parent reply other threads:[~2006-04-27 10:22 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-04-26 14:26 [Qemu-devel] [PATCH][MIPS] FPU support for MIPS Marius Groeger
2006-04-26 22:17 ` Fabrice Bellard
2006-04-27 10:22 ` Marius Groeger [this message]
2006-05-02 12:06 ` [Qemu-devel] [PATCH][MIPS] Alexander Voropay
2006-05-02 16:14 ` Dirk Behme
-- strict thread matches above, loose matches on Subject: below --
2006-05-02 14:01 [Qemu-devel] [PATCH][MIPS] FPU support for MIPS Marius Groeger
2006-05-02 14:20 ` Marius Groeger
[not found] ` <20060502143520.GB9551@lebarbe.net>
2006-05-03 8:19 ` Marius Groeger
2006-06-08 13:48 Marius Groeger
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=Pine.LNX.4.64.0604271211430.13776@mag.sysgo.com \
--to=mgroeger@sysgo.com \
--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).