From c0a30a9f0ab48fd7cb0fed0cd6710fe478650a7f Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 7 May 2018 09:30:02 -0700 Subject: Enable Intel MOVDIRI, MOVDIR64B instructions gas/ * config/tc-i386.c (cpu_arch): Add .movdir, .movdir64b. (cpu_noarch): Likewise. (process_suffix): Add check for register size. * doc/c-i386.texi: Document movdiri, movdir64b. * testsuite/gas/i386/i386.exp: Run MOVDIR{I,64B} tests. * testsuite/gas/i386/movdir-intel.d: New file. * testsuite/gas/i386/movdir.d: Likewise. * testsuite/gas/i386/movdir.s: Likewise. * testsuite/gas/i386/movdir64b-reg.s: Likewise. * testsuite/gas/i386/movdir64b-reg.l: Likewise. * testsuite/gas/i386/x86-64-movdir-intel.d: Likewise. * testsuite/gas/i386/x86-64-movdir.d: Likewise. * testsuite/gas/i386/x86-64-movdir.s: Likewise. * testsuite/gas/i386/x86-64-movdir64b-reg.s: Likewise. * testsuite/gas/i386/x86-64-movdir64b-reg.l: Likewise. opcodes/ * i386-dis.c (Gva): New. (enum): Add PREFIX_0F38F8, PREFIX_0F38F9, MOD_0F38F8_PREFIX_2, MOD_0F38F9_PREFIX_0. (prefix_table): New instructions (see prefix above). (mod_table): New instructions (see prefix above). (OP_G): Handle va_mode. * i386-gen.c (cpu_flag_init): Add CPU_MOVDIRI_FLAGS, CPU_MOVDIR64B_FLAGS. (cpu_flags): Add CpuMOVDIRI and CpuMOVDIR64B. * i386-opc.h (enum): Add CpuMOVDIRI, CpuMOVDIR64B. (i386_cpu_flags): Add cpumovdiri and cpumovdir64b. * i386-opc.tbl: Add movidir{i,64b}. * i386-init.h: Regenerated. * i386-tbl.h: Likewise. --- opcodes/i386-opc.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'opcodes/i386-opc.h') diff --git a/opcodes/i386-opc.h b/opcodes/i386-opc.h index 570da28..9a22b3c 100644 --- a/opcodes/i386-opc.h +++ b/opcodes/i386-opc.h @@ -231,6 +231,10 @@ enum CpuWAITPKG, /* CLDEMOTE instruction required */ CpuCLDEMOTE, + /* MOVDIRI instruction support required */ + CpuMOVDIRI, + /* MOVDIRR64B instruction required */ + CpuMOVDIR64B, /* 64bit support required */ Cpu64, /* Not supported in the 64bit mode */ @@ -354,6 +358,8 @@ typedef union i386_cpu_flags unsigned int cpupconfig:1; unsigned int cpuwaitpkg:1; unsigned int cpucldemote:1; + unsigned int cpumovdiri:1; + unsigned int cpumovdir64b:1; unsigned int cpu64:1; unsigned int cpuno64:1; #ifdef CpuUnused -- cgit v1.1