All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/3] target-i386: rework how AVX/AVX512 registers are stored
@ 2015-01-07 17:39 Paolo Bonzini
  2015-01-07 17:39 ` [Qemu-devel] [PATCH 1/4] target-i386: fix movntsd on big-endian hosts Paolo Bonzini
                   ` (3 more replies)
  0 siblings, 4 replies; 14+ messages in thread
From: Paolo Bonzini @ 2015-01-07 17:39 UTC (permalink / raw)
  To: qemu-devel; +Cc: ehabkost

Right now, AVX and AVX512 registers are stored part in the SSE registers,
part in separate fields that follow the XSAVE format.

This series instead uses a single 512-bit field for each of the
32 registers.  It makes the marshalling a bit more complicated but
keeps the madness out of CPUX86State's public interface.  Also, a
hypothetical XSAVE implementation of TCG would probably need something
like this too, and it could share most of the implementation with KVM's
kvm_get_xsave/kvm_put_xsave wrappers.

As a bonus, patch 1 fixes a real bug found while inspecting uses of
xmm_regs.

Paolo

Paolo Bonzini (4):
  target-i386: fix movntsd on big-endian hosts
  target-i386: do not memcpy in and out of xmm_regs
  target-i386: use vmstate_offset_sub_array for AVX registers
  target-i386: make xmm_regs 512-bit wide

 include/migration/vmstate.h | 10 +++++++
 target-i386/cpu.h           | 68 +++++------------------------------------
 target-i386/kvm.c           | 62 +++++++++++++++++++++++++++-----------
 target-i386/machine.c       | 73 +++++++++++++++++++++++----------------------
 target-i386/translate.c     | 11 +++----
 5 files changed, 106 insertions(+), 118 deletions(-)

-- 
1.8.3.1

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

end of thread, other threads:[~2015-01-14 13:45 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-07 17:39 [Qemu-devel] [PATCH 0/3] target-i386: rework how AVX/AVX512 registers are stored Paolo Bonzini
2015-01-07 17:39 ` [Qemu-devel] [PATCH 1/4] target-i386: fix movntsd on big-endian hosts Paolo Bonzini
2015-01-13 16:50   ` Eduardo Habkost
2015-01-13 18:48   ` Eduardo Habkost
2015-01-13 19:49     ` Paolo Bonzini
2015-01-14 13:17       ` Eduardo Habkost
2015-01-14 13:24         ` Paolo Bonzini
2015-01-14 13:44           ` Eduardo Habkost
2015-01-07 17:39 ` [Qemu-devel] [PATCH 2/4] target-i386: do not memcpy in and out of xmm_regs Paolo Bonzini
2015-01-13 17:02   ` Eduardo Habkost
2015-01-13 18:37   ` Eduardo Habkost
2015-01-13 19:49     ` Paolo Bonzini
2015-01-07 17:39 ` [Qemu-devel] [PATCH 3/4] target-i386: use vmstate_offset_sub_array for AVX registers Paolo Bonzini
2015-01-07 17:39 ` [Qemu-devel] [PATCH 4/4] target-i386: make xmm_regs 512-bit wide Paolo Bonzini

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.