BR 3392260: Handle instructions only separated by vector SIB size
authorH. Peter Anvin <hpa@linux.intel.com>
Sat, 20 Jul 2013 00:06:08 +0000 (17:06 -0700)
committerH. Peter Anvin <hpa@linux.intel.com>
Sat, 20 Jul 2013 00:09:39 +0000 (17:09 -0700)
commite20ca02cfb728773c0344fc89bdc7ae4c01983c8
treee88a637c2bc198d971d96b85f1dcdf5c57380530
parent836492fbcf074a609434e8cf6ce7580fc6b319bc
BR 3392260: Handle instructions only separated by vector SIB size

There are two instructions (VGATHERQPS, VPGATHERQD) where the only
separation between two forms is the vector length given to the vector
SIB.  This means the *matcher* has to be able to distinguish
instructions by vector SIB length and the matcher only operates on the
operands and the instruction flags, not on the bytecode.

Export the vector index-ness into the operand flags and add to the
matcher.

This resolves BR 3392260.

Reported-by: Agner <agner@anger.org>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
insns.dat
opflags.h
parser.c
test/gather.asm [new file with mode: 0644]