summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--insns.dat5
-rw-r--r--insns.h1
-rw-r--r--nasm.c6
3 files changed, 12 insertions, 0 deletions
diff --git a/insns.dat b/insns.dat
index 66bc8e63..172d72bf 100644
--- 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 710c8887..162e5ff2 100644
--- 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 7666d0dd..47cad156 100644
--- 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");