summaryrefslogtreecommitdiff
path: root/nasm.h
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@linux.intel.com>2011-06-22 18:19:28 -0700
committerH. Peter Anvin <hpa@linux.intel.com>2011-06-22 18:19:28 -0700
commit3089f7ef8a034ad57aac16489f76426fe3bcb8c4 (patch)
tree651746f8a39bb9fde2d2d8ef5fc75352867edca4 /nasm.h
parent9f7ce6bdd910fbf4e8ef57189d3c248ef1848d60 (diff)
downloadnasm-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.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/nasm.h b/nasm.h
index ff77553..b4ec449 100644
--- a/nasm.h
+++ b/nasm.h
@@ -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