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