x86emul: correct VEX.W handling for non-64-bit VPINSRD
authorJan Beulich <jbeulich@suse.com>
Tue, 5 Sep 2017 15:31:01 +0000 (17:31 +0200)
committerJan Beulich <jbeulich@suse.com>
Tue, 5 Sep 2017 15:31:01 +0000 (17:31 +0200)
commit9c2babd05a213f8802e3cc1c64a2af932b5cbd7d
tree36ebf21b766302750c5371dbfed278dff08ebfe6
parent4d3f0fde471e7588ce512eaff1abdab209d8cd4b
x86emul: correct VEX.W handling for non-64-bit VPINSRD

Going though the XED commits from the last couple of months made me
notice that VPINSRD, other than VPEXTRD, does not clear VEX.W for non-
64-bit modes, leading to an insertion of stray 32-bits of zero in case
the original instruction had the bit set.

Also remove a pointless fall-through in VPEXTRW handling, bringing
things in line with VPINSRW.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
xen/arch/x86/x86_emulate/x86_emulate.c