qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH for-2.11 0/6] tcg/i386 haswell improvements
@ 2017-08-04  6:23 Richard Henderson
  2017-08-04  6:23 ` [Qemu-devel] [PATCH for-2.11 1/6] tcg: Add tcg_reg_alloc_new Richard Henderson
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Richard Henderson @ 2017-08-04  6:23 UTC (permalink / raw)
  To: qemu-devel

We can implement extract and deposit fairly efficiently with
the bmi2 pext and pdep instructions.

I did wonder about using bextr and tcg_reg_alloc_new to
allocate the register required to hold the parameters.  But
pdep allows the mask to be stored in the constant pool, and
there's the chance that the mask could be re-used, either
by another extract or by a deposit.

I have not yet done any profiling on this yet.


r~


Richard Henderson (6):
  tcg: Add tcg_reg_alloc_new
  disas/i386: Fix disassembly of two-byte vex prefixes
  disas/i386: Add disassembly of vex.0f38.f5
  disas/i386: Add disassembly of rorx
  tcg/i386: Use pext for extract
  tcg/i386: Use pdep for deposit

 tcg/i386/tcg-target.h     |  10 ++-
 tcg/tcg.h                 |   1 +
 disas/i386.c              |  29 ++++--
 tcg/i386/tcg-target.inc.c | 223 +++++++++++++++++++++++++++++++++++-----------
 tcg/tcg.c                 |  58 +++++++++---
 5 files changed, 246 insertions(+), 75 deletions(-)

-- 
2.13.3

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

end of thread, other threads:[~2017-08-04  6:23 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-04  6:23 [Qemu-devel] [PATCH for-2.11 0/6] tcg/i386 haswell improvements Richard Henderson
2017-08-04  6:23 ` [Qemu-devel] [PATCH for-2.11 1/6] tcg: Add tcg_reg_alloc_new Richard Henderson
2017-08-04  6:23 ` [Qemu-devel] [PATCH for-2.11 2/6] disas/i386: Fix disassembly of two-byte vex prefixes Richard Henderson
2017-08-04  6:23 ` [Qemu-devel] [PATCH for-2.11 3/6] disas/i386: Add disassembly of vex.0f38.f5 Richard Henderson
2017-08-04  6:23 ` [Qemu-devel] [PATCH for-2.11 4/6] disas/i386: Add disassembly of rorx Richard Henderson
2017-08-04  6:23 ` [Qemu-devel] [PATCH for-2.11 5/6] tcg/i386: Use pext for extract Richard Henderson
2017-08-04  6:23 ` [Qemu-devel] [PATCH for-2.11 6/6] tcg/i386: Use pdep for deposit Richard Henderson

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