[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH for-2.11 0/6] tcg/i386 haswell improvements
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PATCH for-2.11 0/6] tcg/i386 haswell improvements |
Date: |
Thu, 3 Aug 2017 23:23:08 -0700 |
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
- [Qemu-devel] [PATCH for-2.11 0/6] tcg/i386 haswell improvements,
Richard Henderson <=
- [Qemu-devel] [PATCH for-2.11 4/6] disas/i386: Add disassembly of rorx, Richard Henderson, 2017/08/04
- [Qemu-devel] [PATCH for-2.11 2/6] disas/i386: Fix disassembly of two-byte vex prefixes, Richard Henderson, 2017/08/04
- [Qemu-devel] [PATCH for-2.11 3/6] disas/i386: Add disassembly of vex.0f38.f5, Richard Henderson, 2017/08/04
- [Qemu-devel] [PATCH for-2.11 1/6] tcg: Add tcg_reg_alloc_new, Richard Henderson, 2017/08/04
- [Qemu-devel] [PATCH for-2.11 5/6] tcg/i386: Use pext for extract, Richard Henderson, 2017/08/04
- [Qemu-devel] [PATCH for-2.11 6/6] tcg/i386: Use pdep for deposit, Richard Henderson, 2017/08/04