This patchset enable the usage of the movbe instruction, available on Intel Atom and Intel Haswell CPU, in qemu_ldst routines, avoiding bswap instructions before or after the store or loads. The availability of this instruction is done at runtime using the cpuid instruction.
The last patch of the series is not fully related, but I spotted the issue when working on this patchset, so I thought it's a good idea to fix it. Aurelien Jarno (5): disas/i386.c: disassemble movbe instruction tcg/i386: remove hardcoded P_REXW value tcg/i386: add support for three-byte opcodes tcg/i386: use movbe instruction in qemu_ldst routines tcg/i386: cleanup useless #ifdef disas/i386.c | 8 +-- tcg/i386/tcg-target.c | 178 ++++++++++++++++++++++++++++++++++--------------- 2 files changed, 128 insertions(+), 58 deletions(-) -- 1.7.10.4