[PATCH 0/8] Convert MUL/DIV to fastop

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patchset converts MUL/DIV to fastop.  We depart from the plan, which
was to encode rdx:rax as a single operand, and instead encode it as two
separate operands.  This reduces register pressure on i386, and is simpler
besides.

As a bonus, XADD is converted as well.

The series results in a nice code size reduction:

  60147	      0	      0	  60147	   eaf3	arch/x86/kvm/emulate.o.before
  56899	      0	      0	  56899	   de43	arch/x86/kvm/emulate.o.after


Avi Kivity (8):
  KVM: x86 emulator: add support for writing back the source operand
  KVM: x86 emulator: decode extended accumulator explicity
  KVM: x86 emulator: switch MUL/DIV to DstXacc
  KVM: x86 emulator: Switch fastop src operand to RDX
  KVM: x86 emulator: convert single-operand MUL/IMUL to fastop
  KVM: x86 emulator: convert DIV/IDIV to fastop
  KVM: x86 emulator: drop unused old-style inline emulation
  KVM: x86 emulator: convert XADD to fastop

 arch/x86/kvm/emulate.c | 388 ++++++++++++++-----------------------------------
 1 file changed, 106 insertions(+), 282 deletions(-)

-- 
1.8.1.2

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux