AVX-512: Add ZWORD keyword
authorJin Kyu Song <jin.kyu.song@intel.com>
Thu, 22 Aug 2013 02:29:11 +0000 (19:29 -0700)
committerCyrill Gorcunov <gorcunov@gmail.com>
Thu, 22 Aug 2013 15:37:44 +0000 (19:37 +0400)
ZWORD (512 bits) keyword is added

Signed-off-by: Jin Kyu Song <jin.kyu.song@intel.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
assemble.c
disasm.c
nasm.h
parser.c
tokens.dat

index 83971f6..4f0cd9c 100644 (file)
@@ -265,6 +265,8 @@ static const char *size_name(int size)
         return "oword";
     case 32:
         return "yword";
+    case 64:
+        return "zword";
     default:
         return "???";
     }
index 9d2e1b1..cc55d2c 100644 (file)
--- a/disasm.c
+++ b/disasm.c
@@ -1303,6 +1303,9 @@ int32_t disasm(uint8_t *data, char *output, int outbufsize, int segsize,
             if (t & BITS256)
                 slen +=
                     snprintf(output + slen, outbufsize - slen, "yword ");
+            if (t & BITS512)
+                slen +=
+                    snprintf(output + slen, outbufsize - slen, "zword ");
             if (t & FAR)
                 slen += snprintf(output + slen, outbufsize - slen, "far ");
             if (t & NEAR)
diff --git a/nasm.h b/nasm.h
index e46b5ca..fc5a18d 100644 (file)
--- a/nasm.h
+++ b/nasm.h
@@ -1011,6 +1011,7 @@ enum special_tokens {
     S_TWORD,
     S_WORD,
     S_YWORD,
+    S_ZWORD,
     SPECIAL_ENUM_LIMIT
 };
 
index 4b3f059..ccbce49 100644 (file)
--- a/parser.c
+++ b/parser.c
@@ -660,6 +660,11 @@ is_expression:
                     result->oprs[operand].type |= BITS256;
                 setsize = 1;
                 break;
+            case S_ZWORD:
+                if (!setsize)
+                    result->oprs[operand].type |= BITS512;
+                setsize = 1;
+                break;
             case S_TO:
                 result->oprs[operand].type |= TO;
                 break;
index 1a00e3d..d12b296 100644 (file)
@@ -72,6 +72,7 @@ to
 tword
 word
 yword
+zword
 
 % TOKEN_FLOAT, 0, 0, 0
 __infinity__