diff options
author | H. Peter Anvin <hpa@zytor.com> | 2007-09-17 17:25:27 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2007-09-17 17:25:27 -0700 |
commit | cf5180a9553e43bbaa46fd1a77c75dc8b7f6da42 (patch) | |
tree | e49a78cca72852670b210bce53f4c5698fc4c7bf /nasm.h | |
parent | 401c07e20d14130a2d147468a408fce9edd1faff (diff) | |
download | nasm-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.h | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -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" |