qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] User mode emulation and TCG_OPF_CALL_CLOBBER


From: Laurent Desnogues
Subject: [Qemu-devel] User mode emulation and TCG_OPF_CALL_CLOBBER
Date: Fri, 26 Dec 2008 15:32:06 +0100

Hello,

while looking at generated code for a user mode emulated program
I noticed some registers were saved/restored for qemu_{ld,st}
operations.  My understanding is that this is only needed for softmmu
(and even in that case for the slow path as a comment in tcg.c says)
since in that case, a call to a helper might be generated.

This register save & restore behavior is enabled by the op flag
TCG_OPF_CALL_CLOBBER.

A quick test on ARM target and x86_64 host for a SPEC2000 test
shows removing that flag speeds up execution by about 15%.

Did I understand things correctly?  If so what would be the best
way to patch this:

   - get rid of TCG_OPF_CALL_CLOBBER and associated code
   - simply omit that flag in opc definition?

The former would be slightly more intrusive for a probably low
benefit.  A patch is attached that implements the latter.


Laurent

Attachment: tcg-call-clobber-usermode.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]