qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/3] TCG: first attempt to reduce host registers usage
@ 2011-05-17 16:28 Aurelien Jarno
  2011-05-17 16:28 ` [Qemu-devel] [PATCH 1/3] tcg: replace op_dead_iargs by op_dead_args Aurelien Jarno
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Aurelien Jarno @ 2011-05-17 16:28 UTC (permalink / raw)
  To: qemu-devel; +Cc: Aurelien Jarno

This patch series is a first attempt after the TCG_AREG0 discussion to
show it's possible to easily (at least without making huge changes to
the TCG core code) spare some registers and avoid a few spills on low
register count TCG targets like i386.

On i386 hosts some TB are reduced by up to 10%, though the global TB
reduction is around 0.5%. The gain is speed is only measurable in user
mode with very specific benchmarks: sha1sum of 4GB files is 1.9% +/-0.2%
faster. On x86-64 host, some TB are one or two bytes longer, some of
them one or two bytes smaller, mainly due to different register usage,
which adds or removes some REX prefixes, but overall the size is
unchanged.

I have a few more ideas to further reduce register spill, I'll try to
implement them in the next days/weeks.


Aurelien Jarno (3):
  tcg: replace op_dead_iargs by op_dead_args
  tcg: mark dead output argument in op_dead_args
  tcg: don't keep dead outputs in registers

 tcg/tcg.c |  105 +++++++++++++++++++++++++++++++++++--------------------------
 tcg/tcg.h |    4 +-
 2 files changed, 62 insertions(+), 47 deletions(-)

-- 
1.7.2.3

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

end of thread, other threads:[~2011-05-17 16:28 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-17 16:28 [Qemu-devel] [PATCH 0/3] TCG: first attempt to reduce host registers usage Aurelien Jarno
2011-05-17 16:28 ` [Qemu-devel] [PATCH 1/3] tcg: replace op_dead_iargs by op_dead_args Aurelien Jarno
2011-05-17 16:28 ` [Qemu-devel] [PATCH 2/3] tcg: mark dead output argument in op_dead_args Aurelien Jarno
2011-05-17 16:28 ` [Qemu-devel] [PATCH 3/3] tcg: don't keep dead outputs in registers Aurelien Jarno

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