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