From 7117e80702d70ac635e50a05deb85f672bd3a464 Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin" Date: Mon, 21 Apr 2008 22:44:55 -0400 Subject: [PATCH] Initial support for YMM (AVX) registers Add support for ymm0..15 registers, and the "ymmreg" qualifier. No support yet for "yword" or "dy". --- nasm.h | 5 ++++- regs.dat | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/nasm.h b/nasm.h index 2591b1ce..0f8d51fc 100644 --- a/nasm.h +++ b/nasm.h @@ -440,8 +440,9 @@ enum { * 24: FPUREG * 25: RM_MMX (MMXREG) * 26: RM_XMM (XMMREG) + * 27: RM_YMM (YMMREG) * - * Bits 27, 31 are currently unallocated. + * Bit 31 is currently unallocated. * * 30: SAME_AS * Special flag only used in instruction patterns; means this operand @@ -496,6 +497,8 @@ typedef uint32_t opflags_t; #define RM_XMM 0x04008000U /* XMM (SSE) operand */ #define XMMREG 0x04009000U /* XMM (SSE) register */ #define XMM0 0x04019000U /* XMM register zero */ +#define RM_YMM 0x08008000U /* YMM (AVX) operand */ +#define YMMREG 0x08009000U /* YMM (AVX) register */ #define REG_CDT 0x00101004U /* CRn, DRn and TRn */ #define REG_CREG 0x00111004U /* CRn */ #define REG_DREG 0x00121004U /* DRn */ diff --git a/regs.dat b/regs.dat index 7f347a20..47329034 100644 --- a/regs.dat +++ b/regs.dat @@ -80,3 +80,6 @@ mm0-7 MMXREG mmxreg 0 # SSE registers xmm0 XMM0 xmmreg 0 xmm1-15 XMMREG xmmreg 1 + +# AVX registers +ymm0-15 YMMREG ymmreg 0