All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 00/18] tcg field extract primitives
@ 2016-10-18 15:10 Richard Henderson
  2016-10-18 15:10 ` [Qemu-devel] [PATCH v2 01/18] tcg: Add field extraction primitives Richard Henderson
                   ` (19 more replies)
  0 siblings, 20 replies; 35+ messages in thread
From: Richard Henderson @ 2016-10-18 15:10 UTC (permalink / raw)
  To: qemu-devel

Better tested this time, including aarch64 host.

Changes since v1:
  * Added tcg_gen_deposit_z_*.  Depositing into zero turns out to be
    quite common among targets.  Providing that as a primitive expander
    allows us to easily generate optimal-ish code for hosts with and
    without a real deposit operation.
  * Cleanups in tcg/s390 akin to those I already did for tcg/arm.
  * Add support in tcg/s390 for deposit into zero.
  * More special cases in the expanders for better code generation,
    especially on an x86 host *without* the extract primitives.
  * Silly think-o on aarch64 host.


r~


Richard Henderson (18):
  tcg: Add field extraction primitives
  tcg: Minor adjustments to deposit expanders
  tcg: Add deposit_z expander
  tcg/aarch64: Implement field extraction opcodes
  tcg/arm: Move isa detection to tcg-target.h
  tcg/arm: Implement field extraction opcodes
  tcg/i386: Implement field extraction opcodes
  tcg/mips: Implement field extraction opcodes
  tcg/ppc: Implement field extraction opcodes
  tcg/s390: Expose host facilities to tcg-target.h
  tcg/s390: Implement field extraction opcodes
  tcg/s390: Support deposit into zero
  target-alpha: Use deposit and extract ops
  target-arm: Use new deposit and extract ops
  target-i386: Use new deposit and extract ops
  target-mips: Use the new extract op
  target-ppc: Use the new deposit and extract ops
  target-s390x: Use the new deposit and extract ops

 target-alpha/translate.c     |  67 ++++---
 target-arm/translate-a64.c   |  79 +++-----
 target-arm/translate.c       |  37 +---
 target-i386/translate.c      |  45 +++--
 target-mips/translate.c      |  12 +-
 target-ppc/translate.c       |  35 ++--
 target-s390x/translate.c     |  34 ++--
 tcg/aarch64/tcg-target.h     |   4 +
 tcg/aarch64/tcg-target.inc.c |  14 ++
 tcg/arm/tcg-target.h         |  38 +++-
 tcg/arm/tcg-target.inc.c     |  63 +++---
 tcg/i386/tcg-target.h        |  10 +
 tcg/i386/tcg-target.inc.c    |  38 ++++
 tcg/ia64/tcg-target.h        |   4 +
 tcg/mips/tcg-target.h        |   2 +
 tcg/mips/tcg-target.inc.c    |   4 +
 tcg/optimize.c               |  29 +++
 tcg/ppc/tcg-target.h         |   4 +
 tcg/ppc/tcg-target.inc.c     |  10 +
 tcg/s390/tcg-target.h        | 122 +++++++-----
 tcg/s390/tcg-target.inc.c    | 113 ++++++-----
 tcg/sparc/tcg-target.h       |   4 +
 tcg/tcg-op.c                 | 465 ++++++++++++++++++++++++++++++++++++++++++-
 tcg/tcg-op.h                 |  18 ++
 tcg/tcg-opc.h                |   4 +
 tcg/tcg.h                    |   8 +
 tcg/tci/tcg-target.h         |   4 +
 27 files changed, 954 insertions(+), 313 deletions(-)

-- 
2.7.4

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

end of thread, other threads:[~2016-10-31 14:36 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-18 15:10 [Qemu-devel] [PATCH v2 00/18] tcg field extract primitives Richard Henderson
2016-10-18 15:10 ` [Qemu-devel] [PATCH v2 01/18] tcg: Add field extraction primitives Richard Henderson
2016-10-18 15:10 ` [Qemu-devel] [PATCH v2 02/18] tcg: Minor adjustments to deposit expanders Richard Henderson
2016-10-18 15:10 ` [Qemu-devel] [PATCH v2 03/18] tcg: Add deposit_z expander Richard Henderson
2016-10-18 15:10 ` [Qemu-devel] [PATCH v2 04/18] tcg/aarch64: Implement field extraction opcodes Richard Henderson
2016-10-18 15:33   ` Claudio Fontana
2016-10-18 16:11     ` Richard Henderson
2016-10-18 15:10 ` [Qemu-devel] [PATCH v2 05/18] tcg/arm: Move isa detection to tcg-target.h Richard Henderson
2016-10-18 15:10 ` [Qemu-devel] [PATCH v2 06/18] tcg/arm: Implement field extraction opcodes Richard Henderson
2016-10-18 15:10 ` [Qemu-devel] [PATCH v2 07/18] tcg/i386: " Richard Henderson
2016-10-25 12:46   ` Paolo Bonzini
2016-10-25 16:46     ` Richard Henderson
2016-10-25 16:48       ` Paolo Bonzini
2016-10-18 15:10 ` [Qemu-devel] [PATCH v2 08/18] tcg/mips: " Richard Henderson
2016-10-27 13:40   ` Yongbok Kim
2016-10-27 14:19     ` Richard Henderson
2016-10-18 15:10 ` [Qemu-devel] [PATCH v2 09/18] tcg/ppc: " Richard Henderson
2016-10-18 15:10 ` [Qemu-devel] [PATCH v2 10/18] tcg/s390: Expose host facilities to tcg-target.h Richard Henderson
2016-10-18 15:10 ` [Qemu-devel] [PATCH v2 11/18] tcg/s390: Implement field extraction opcodes Richard Henderson
2016-10-18 15:10 ` [Qemu-devel] [PATCH v2 12/18] tcg/s390: Support deposit into zero Richard Henderson
2016-10-18 15:10 ` [Qemu-devel] [PATCH v2 13/18] target-alpha: Use deposit and extract ops Richard Henderson
2016-10-18 15:10 ` [Qemu-devel] [PATCH v2 14/18] target-arm: Use new " Richard Henderson
2016-10-18 15:10 ` [Qemu-devel] [PATCH v2 15/18] target-i386: " Richard Henderson
2016-10-18 15:10 ` [Qemu-devel] [PATCH v2 16/18] target-mips: Use the new extract op Richard Henderson
2016-10-27 12:43   ` Yongbok Kim
2016-10-18 15:10 ` [Qemu-devel] [PATCH v2 17/18] target-ppc: Use the new deposit and extract ops Richard Henderson
2016-10-27  2:09   ` David Gibson
2016-10-18 15:10 ` [Qemu-devel] [PATCH v2 18/18] target-s390x: " Richard Henderson
2016-10-18 16:15 ` [Qemu-devel] [PATCH v2 00/18] tcg field extract primitives no-reply
2016-10-24 19:04 ` Richard Henderson
2016-10-25 11:48   ` Eduardo Habkost
2016-10-25 12:49   ` Paolo Bonzini
2016-10-26  3:02   ` David Gibson
2016-10-31 14:00   ` Peter Maydell
2016-10-31 14:36     ` Richard Henderson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.