• Avi Kivity's avatar
    KVM: x86 emulator: Specialize decoding for insns with 66/f2/f3 prefixes · 0d7cdee8
    Avi Kivity authored
    Most SIMD instructions use the 66/f2/f3 prefixes to distinguish between
    different variants of the same instruction.  Usually the encoding is quite
    regular, but in some cases (including non-SIMD instructions) the prefixes
    generate very different instructions.  Examples include XCHG/PAUSE,
    MOVQ/MOVDQA/MOVDQU, and MOVBE/CRC32.
    
    Allow the emulator to handle these special cases by splitting such opcodes
    into groups, with different decode flags and execution functions for different
    prefixes.
    Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
    0d7cdee8
emulate.c 97.6 KB