qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/5] tcg: Make bswap support in qemu_ld/st optional
@ 2018-11-20 12:15 Richard Henderson
  2018-11-20 12:15 ` [Qemu-devel] [PATCH 1/5] tcg: Add TCG_TARGET_HAS_MEMORY_BSWAP Richard Henderson
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Richard Henderson @ 2018-11-20 12:15 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alistair.Francis

Having to support bswap in the guest memory operations at times
requires an irritating number of temporaries.  Better to allow
the bswap operations to be expanded outside of the memory ops
and let register allocation do its thing.

This is something that I've been planning to do for some time,
to aid i386 and arm32 especially.  But I've been prompted again
by the nacent risc-v backend, for which this would be especially
irritating to have to open-code.

Alistair, for convenience I've pushed this to 

  https://github.com/rth7680/qemu.git tcg-next-for-4.0


r~


Richard Henderson (5):
  tcg: Add TCG_TARGET_HAS_MEMORY_BSWAP
  tcg/optimize: Optimize bswap
  tcg/i386: Set TCG_TARGET_HAS_MEMORY_BSWAP with have_movbe
  tcg/aarch64: Set TCG_TARGET_HAS_MEMORY_BSWAP to false
  tcg/arm: Set TCG_TARGET_HAS_MEMORY_BSWAP to false

 tcg/aarch64/tcg-target.h     |   1 +
 tcg/arm/tcg-target.h         |   1 +
 tcg/i386/tcg-target.h        |   3 +
 tcg/mips/tcg-target.h        |   1 +
 tcg/ppc/tcg-target.h         |   1 +
 tcg/s390/tcg-target.h        |   1 +
 tcg/sparc/tcg-target.h       |   1 +
 tcg/tci/tcg-target.h         |   2 +
 tcg/aarch64/tcg-target.inc.c |  63 +++--------
 tcg/arm/tcg-target.inc.c     | 198 +++++++++--------------------------
 tcg/i386/tcg-target.inc.c    | 112 +++++++-------------
 tcg/optimize.c               |  12 +++
 tcg/tcg-op.c                 | 118 ++++++++++++++++++++-
 13 files changed, 234 insertions(+), 280 deletions(-)

-- 
2.17.2

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

end of thread, other threads:[~2018-11-22  1:12 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-20 12:15 [Qemu-devel] [PATCH 0/5] tcg: Make bswap support in qemu_ld/st optional Richard Henderson
2018-11-20 12:15 ` [Qemu-devel] [PATCH 1/5] tcg: Add TCG_TARGET_HAS_MEMORY_BSWAP Richard Henderson
2018-11-20 12:15 ` [Qemu-devel] [PATCH 2/5] tcg/optimize: Optimize bswap Richard Henderson
2018-11-20 12:15 ` [Qemu-devel] [PATCH 3/5] tcg/i386: Set TCG_TARGET_HAS_MEMORY_BSWAP with have_movbe Richard Henderson
2018-11-20 12:15 ` [Qemu-devel] [PATCH 4/5] tcg/aarch64: Set TCG_TARGET_HAS_MEMORY_BSWAP to false Richard Henderson
2018-11-20 12:15 ` [Qemu-devel] [PATCH 5/5] tcg/arm: " Richard Henderson
2018-11-22  1:11 ` [Qemu-devel] [PATCH 0/5] tcg: Make bswap support in qemu_ld/st optional no-reply

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