[Qemu-devel] [PATCH for-2.11 0/6] tcg/i386 haswell improvements

Richard Henderson posted 6 patches 6 years, 8 months ago
Failed in applying to current master (apply log)
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(-)
[Qemu-devel] [PATCH for-2.11 0/6] tcg/i386 haswell improvements
Posted by Richard Henderson 6 years, 8 months ago
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