qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* TCG Floating Point Support (Work in Progress)
@ 2021-09-30  5:39 Matt
  2021-09-30  7:30 ` Matt
  2021-09-30  9:13 ` Alex Bennée
  0 siblings, 2 replies; 7+ messages in thread
From: Matt @ 2021-09-30  5:39 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell, alex.bennee, aurelien

Hello--

I'm excited to share that I have been developing support for TCG
floating point operations; specifically, to accelerate emulation of
x86 guest code which heavily exercises the x87 FPU for a game console
emulator project based on QEMU. So far, this work has shown great
promise, demonstrating some dramatic performance improvements in
emulation of x87 heavy code.

The feature works in concert with unaccelerated x87 FPU helpers, and
also allows total soft float helper fallback if the user discovers
some issue with the hard float implementation. For the TCG target,
I've opted to implement it for x86-64 hosts using SSE2, although this
could be extended to support full 80b double extended precision with
host x87 support. I'm also in early development of an implementation
for AArch64 hosts.

There are still some significant tasks to be done, like proper
handling of exception flags, edge cases, and testing, to name a few.
Once in a slightly more mature state, I do think this feature would
make a natural addition to upstream QEMU and plan to submit it for
consideration.

I'm writing to the mailing list now to inform FPU maintainers and any
other interested parties that this work is happening, to solicit any
early feedback, and to extend an invitation to anyone interested in
collaborating to expedite its upstreaming.

My initial TCG FP work can be found here:
https://github.com/mborgerson/xemu/pull/464/commits

Thanks,
Matt


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-03-09  3:50 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-30  5:39 TCG Floating Point Support (Work in Progress) Matt
2021-09-30  7:30 ` Matt
2021-09-30  9:13 ` Alex Bennée
2021-10-01  2:47   ` Matt
2021-10-01  8:03     ` Alex Bennée
2021-10-02  2:07       ` Matt
2022-03-09  3:48         ` gaosong

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