|
From: | Richard Henderson |
Subject: | Re: [Qemu-devel] Expensive emulation of CPU condition flags |
Date: | Fri, 1 Jul 2016 15:34:15 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 |
On 06/30/2016 11:13 AM, Shuang Zhai wrote:
We wonder if there exists any optimization, e.g., directly mapping the frontend flags to that of the backend? Any suggestions are appreciated.
Directly mapping frontend to backend flags is a non-starter, since not all backends have those flags.
There are alternate methods of emulating condition codes. As an example, target-i386 and target-sparc store two values and an "operation code" value. The latter indicates how to treat the former. This allows for the full computation of the flags to be delayed, and for the host compare-and-branch to be less complicated.
See also my design for an improved m68k condition code scheme: http://lists.nongnu.org/archive/html/qemu-devel/2016-05/msg00501.html especially http://lists.nongnu.org/archive/html/qemu-devel/2016-05/msg00524.htmlYou're welcome to experiment with target-arm. If you can create a scheme that performs better than the current, we'd like to hear about it.
r~
[Prev in Thread] | Current Thread | [Next in Thread] |