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.html
You'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~