On Sep 29, 2016, at 11:41 AM, Peter Maydell wrote:

> On 28 September 2016 at 21:17, David Gibson <da...@gibson.dropbear.id.au> 
> 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.

Reply via email to