diff options
author | H. Peter Anvin <hpa@linux.intel.com> | 2011-06-22 18:19:28 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2011-06-22 18:19:28 -0700 |
commit | 3089f7ef8a034ad57aac16489f76426fe3bcb8c4 (patch) | |
tree | 651746f8a39bb9fde2d2d8ef5fc75352867edca4 /nasm.h | |
parent | 9f7ce6bdd910fbf4e8ef57189d3c248ef1848d60 (diff) | |
download | nasm-3089f7ef8a034ad57aac16489f76426fe3bcb8c4.tar.gz nasm-3089f7ef8a034ad57aac16489f76426fe3bcb8c4.tar.bz2 nasm-3089f7ef8a034ad57aac16489f76426fe3bcb8c4.zip |
Add support for VSIB instructions
Add support for VSIB instructions, which use vector registers as the
index registers in an EA.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'nasm.h')
-rw-r--r-- | nasm.h | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -511,7 +511,6 @@ typedef struct operand { /* operand to an instruction */ #define OPFLAG_EXTERN 2 /* operand is an external reference */ #define OPFLAG_UNKNOWN 4 /* operand is an unknown reference */ /* (always a forward reference also) */ - typedef struct extop { /* extended operand */ struct extop *next; /* linked list */ char *stringval; /* if it's a string, then here it is */ @@ -522,6 +521,13 @@ typedef struct extop { /* extended operand */ enum extop_type type; /* defined above */ } extop; +enum ea_type { + EA_INVALID, /* Not a valid EA at all */ + EA_SCALAR, /* Scalar EA */ + EA_XMMVSIB, /* XMM vector EA */ + EA_YMMVSIB, /* XMM vector EA */ +}; + /* Prefix positions: each type of prefix goes in a specific slot. This affects the final ordering of the assembled output, which shouldn't matter to the processor, but if you have stylistic |