• P
    target-i386: make xmm_regs 512-bit wide · b7711471
    Paolo Bonzini 提交于
    Right now, the AVX512 registers are split in many different fields:
    xmm_regs for the low 128 bits of the first 16 registers, ymmh_regs
    for the next 128 bits of the same first 16 registers, zmmh_regs
    for the next 256 bits of the same first 16 registers, and finally
    hi16_zmm_regs for the full 512 bits of the second 16 bit registers.
    
    This makes it simple to move data in and out of the xsave region,
    but would be a nightmare for a hypothetical TCG implementation and
    leads to a proliferation of [XYZ]MM_[BWLSQD] macros.  Instead,
    this patch marshals data manually from the xsave region to a single
    32x512-bit array, simplifying the macro jungle and clarifying which
    bits are in which vmstate subsection.
    
    The migration format is unaffected.
    Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
    b7711471
cpu.h 41.7 KB