qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [Qemu-ppc] How to add my implementation of the fmadds i


From: Programmingkid
Subject: Re: [Qemu-devel] [Qemu-ppc] How to add my implementation of the fmadds instruction to QEMU
Date: Thu, 29 Sep 2016 20:44:28 -0400

On Sep 29, 2016, at 8:39 PM, David Gibson wrote:

> On Thu, Sep 29, 2016 at 12:55:23PM -0400, Programmingkid wrote:
>> 
>> On Sep 29, 2016, at 11:41 AM, Peter Maydell wrote:
>> 
>>> On 28 September 2016 at 21:17, David Gibson <address@hidden> wrote:
>>>> I think there is a way you could get both speed and accuracy, but it's
>>>> a huge project:
>>>> 
>>>> You'd need to add full float awareness to TCG - so floating point TCG
>>>> values and floating point operations as tcp micro-ops, defined
>>>> according to IEEE semantics.  Then you'd need to rewrite the TCG
>>>> frontends in terms of those new ops, at least for target CPUs close
>>>> enough to IEEE semantics for that to work.  And you'd need to rewrite
>>>> the TCG backends to implement those fp ops in terms of host cpu fp
>>>> instructions .. at least when the host has fp behaviour close enough
>>>> to IEEE to make that work, with a fallback to soft float when that's
>>>> not the case.
>>> 
>>> Also even if you have float support in both frontend and backend
>>> you still need to fall back to fully-emulated for the runtime
>>> corner cases (like where tininess before/after rounding makes a
>>> difference or where you need to care about minutiae of the
>>> floating point exception flags, etc). It's not impossible
>>> but it is a very large amount of technically complicated work.
>> 
>> 
>> This project sounds like it should have its own web page. Maybe even
>> its own Google Summer of Code entry. I created a mindmap of
>> this project. The picture is attached to this email. This is
>> just a start. Please let me know what should be added or changed.
> 
> TBH, I think this is rather bigger than a GSoC project.

If it is really big, then it should be broken down into easier steps.
Any idea what those steps could be?


reply via email to

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