Add the JMPE instruction.
authorH. Peter Anvin <hpa@zytor.com>
Tue, 28 May 2002 01:25:06 +0000 (01:25 +0000)
committerH. Peter Anvin <hpa@zytor.com>
Tue, 28 May 2002 01:25:06 +0000 (01:25 +0000)
insns.dat
insns.h
nasm.c

index 66bc8e6..172d72b 100644 (file)
--- a/insns.dat
+++ b/insns.dat
@@ -505,6 +505,11 @@ JMP       reg32               \321\300\1\xFF\204            386
 JMP       mem                 \322\300\1\xFF\204            8086
 JMP       mem16               \320\300\1\xFF\204            8086
 JMP       mem32               \321\300\1\xFF\204            386
+JMPE      imm                 \322\2\x0F\xB8\64             IA64
+JMPE      imm16               \320\2\x0F\xB8\64             IA64
+JMPE      imm32               \321\2\x0F\xB8\64             IA64
+JMPE      rm16                \320\2\x0F\x00\206            IA64
+JMPE      rm32                \321\2\x0F\x00\206            IA64
 LAHF      void                \1\x9F                        8086
 LAR       reg16,mem           \320\301\2\x0F\x02\110        286,PROT,SM
 LAR       reg16,reg16         \320\301\2\x0F\x02\110        286,PROT
diff --git a/insns.h b/insns.h
index 710c888..162e5ff 100644 (file)
--- a/insns.h
+++ b/insns.h
@@ -81,6 +81,7 @@ struct itemplate {
 #define IF_P6     0x06000000UL        /* P6 instruction */
 #define IF_KATMAI 0x07000000UL         /* Katmai instructions */
 #define IF_WILLAMETTE 0x08000000UL         /* Willamette instructions */
+#define IF_IA64   0x0F000000UL        /* IA64 instructions */
 #define IF_CYRIX  0x10000000UL        /* Cyrix-specific instruction */
 #define IF_AMD    0x20000000UL        /* AMD-specific instruction */
 
diff --git a/nasm.c b/nasm.c
index 7666d0d..47cad15 100644 (file)
--- a/nasm.c
+++ b/nasm.c
@@ -1533,11 +1533,17 @@ static unsigned long get_cpu (char *value)
        !nasm_stricmp(value, "pentium") )       return IF_PENT;
     if (!strcmp(value, "686")  ||
        !nasm_stricmp(value, "ppro") ||
+       !nasm_stricmp(value, "pentiumpro") ||
        !nasm_stricmp(value, "p2")    )         return IF_P6;
     if (!nasm_stricmp(value, "p3")    ||
        !nasm_stricmp(value, "katmai") )        return IF_KATMAI;
     if (!nasm_stricmp(value, "p4")    ||       /* is this right? -- jrc */
        !nasm_stricmp(value, "willamette") )    return IF_WILLAMETTE;
+    if (!nasm_stricmp(value, "ia64") ||
+       !nasm_stricmp(value, "ia-64") ||
+       !nasm_stricmp(value, "itanium") ||
+       !nasm_stricmp(value, "itanic") ||
+       !nasm_stricmp(value, "merced") )        return IF_IA64;
 
     report_error (pass0<2 ? ERR_NONFATAL : ERR_FATAL, "unknown 'cpu' type");