summaryrefslogtreecommitdiff
path: root/nasm.h
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2007-09-17 17:25:27 -0700
committerH. Peter Anvin <hpa@zytor.com>2007-09-17 17:25:27 -0700
commitcf5180a9553e43bbaa46fd1a77c75dc8b7f6da42 (patch)
treee49a78cca72852670b210bce53f4c5698fc4c7bf /nasm.h
parent401c07e20d14130a2d147468a408fce9edd1faff (diff)
downloadnasm-cf5180a9553e43bbaa46fd1a77c75dc8b7f6da42.tar.gz
nasm-cf5180a9553e43bbaa46fd1a77c75dc8b7f6da42.tar.bz2
nasm-cf5180a9553e43bbaa46fd1a77c75dc8b7f6da42.zip
Actually generate SSE5 instructions
This checkin completes what is required to actually generate SSE5 instructions. No support in the disassembler yet. This checkin covers: - Support for actually generating DREX prefixes. - Support for matching operand "operand X must match Y"
Diffstat (limited to 'nasm.h')
-rw-r--r--nasm.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/nasm.h b/nasm.h
index 93c35de..f5d6494 100644
--- a/nasm.h
+++ b/nasm.h
@@ -438,9 +438,16 @@ enum {
* 25: RM_MMX (MMXREG)
* 26: RM_XMM (XMMREG)
*
- * Bits 27-31 are currently unallocated.
+ * Bits 27-29 & 31 are currently unallocated.
+ *
+ * 30: SAME_AS
+ * Special flag only used in instruction patterns; means this operand
+ * has to be identical to another operand. Currently only supported
+ * for registers.
*/
+typedef uint32_t opflags_t;
+
/* Size, and other attributes, of the operand */
#define BITS8 0x00000001L
#define BITS16 0x00000002L
@@ -527,6 +534,9 @@ enum {
#define UNITY 0x00012000L /* for shift/rotate instructions */
#define SBYTE 0x00022000L /* for op r16/32,immediate instrs. */
+/* special flags */
+#define SAME_AS 0x40000000L
+
/* Register names automatically generated from regs.dat */
#include "regs.h"