summaryrefslogtreecommitdiff
path: root/opcodes/i386-gen.c
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-07-16 12:58:27 +0000
committerH.J. Lu <hjl.tools@gmail.com>2012-07-16 12:58:27 +0000
commit9d36926759c52c809e84fb0ba3ce4f76dacaf848 (patch)
treefccd9813a0085e6cf3c0d880d3d5f34f6954e089 /opcodes/i386-gen.c
parent201926400933885ed9a17c163838cbcfffb59a2d (diff)
downloadbinutils-redhat-9d36926759c52c809e84fb0ba3ce4f76dacaf848.tar.gz
Implement RDRSEED, ADX and PRFCHW instructions
gas/ * config/tc-i386.c: Add ADX, RDSEED and PRFCHW asm directives. * doc/c-i386.texi: Document the new directives. gas/testsuite/ * gas/i386/i386.exp: Run adx, rdseed and prefetchw tests. * gas/i386/x86-64-arch-2.s: Use prefetchw as 3dnow and Prfchw tests. * gas/i386/arch-10.s: Likewise. * gas/i386/arch-10-1.l: Changed correspondingly. * gas/i386/arch-10-2.l: Likewise. * gas/i386/arch-10-3.l: Likewise. * gas/i386/arch-10-4.l: Likewise. * gas/i386/arch-10.d: Likewise. * gas/i386/arch-10-lzcnt.d: Likewise. * gas/i386/x86-64-arch-2.d: Likewise. * gas/i386/x86-64-arch-2-lzcnt.d: Likewise. * gas/i386/ilp32/x86-64-arch-2.d: Likewise. * gas/i386/arch-10-prefetchw.d: New file. * gas/i386/x86-64-arch-2-prefetchw.d: Likewise. * gas/i386/rdseed.s: Likewise. * gas/i386/rdseed.d: Likewise. * gas/i386/rdseed-intel.d: Likewise. * gas/i386/adx.s: Likewise. * gas/i386/adx.d: Likewise. * gas/i386/adx-intel.d: Likewise. * gas/i386/x86-64-rdseed.s: Likewise. * gas/i386/x86-64-rdseed.d: Likewise. * gas/i386/x86-64-rdseed-intel.d: Likewise. * gas/i386/x86-64-adx.s: Likewise. * gas/i386/x86-64-adx.d: Likewise. * gas/i386/x86-64-adx-intel.d: Likewise. opcodes/ * i386-dis.c (PREFIX_0F38F6): New. (prefix_table): Add adcx, adox instructions. (three_byte_table): Use PREFIX_0F38F6. (mod_table): Add rdseed instruction. * i386-gen.c (cpu_flag_init): Add CpuADX, CpuRDSEED, CpuPRFCHW. (cpu_flags): Likewise. * i386-opc.h: Add CpuADX, CpuRDSEED, CpuPRFCHW. (i386_cpu_flags): Add fields cpurdseed, cpuadx, cpuprfchw. * i386-opc.tbl: Add instrcutions adcx, adox, rdseed. Extend prefetchw. * i386-tbl.h: Regenerate. * i386-init.h: Likewise.
Diffstat (limited to 'opcodes/i386-gen.c')
-rw-r--r--opcodes/i386-gen.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c
index add410b658..722bb15522 100644
--- a/opcodes/i386-gen.c
+++ b/opcodes/i386-gen.c
@@ -192,6 +192,12 @@ static initializer cpu_flag_init[] =
"unknown" },
{ "CPU_K1OM_FLAGS",
"unknown" },
+ { "CPU_ADX_FLAGS",
+ "CpuADX" },
+ { "CPU_RDSEED_FLAGS",
+ "CpuRdSeed" },
+ { "CPU_PRFCHW_FLAGS",
+ "CpuPRFCHW" },
};
static initializer operand_type_init[] =
@@ -359,6 +365,9 @@ static bitfield cpu_flags[] =
BITFIELD (CpuRTM),
BITFIELD (CpuINVPCID),
BITFIELD (CpuVMFUNC),
+ BITFIELD (CpuRDSEED),
+ BITFIELD (CpuADX),
+ BITFIELD (CpuPRFCHW),
BITFIELD (Cpu64),
BITFIELD (CpuNo64),
#ifdef CpuUnused