This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[committed, PATCH] Add Intel MCU support to opcodes
- From: "H.J. Lu" <hongjiu dot lu at intel dot com>
- To: binutils at sourceware dot org
- Date: Mon, 11 May 2015 10:49:55 -0700
- Subject: [committed, PATCH] Add Intel MCU support to opcodes
- Authentication-results: sourceware.org; auth=none
- Reply-to: "H.J. Lu" <hjl dot tools at gmail dot com>
* configure.ac: Support bfd_iamcu_arch.
* disassemble.c (disassembler): Support bfd_iamcu_arch.
* i386-gen.c (cpu_flag_init): Add CPU_IAMCU_FLAGS and
CPU_IAMCU_COMPAT_FLAGS.
(cpu_flags): Add CpuIAMCU.
* i386-opc.h (CpuIAMCU): New.
(i386_cpu_flags): Add cpuiamcu.
* configure: Regenerated.
* i386-init.h: Likewise.
* i386-tbl.h: Likewise.
---
opcodes/ChangeLog | 13 +
opcodes/configure | 2 +-
opcodes/configure.ac | 2 +-
opcodes/disassemble.c | 1 +
opcodes/i386-gen.c | 5 +
opcodes/i386-init.h | 350 +-
opcodes/i386-opc.h | 3 +
opcodes/i386-tbl.h | 11294 ++++++++++++++++++++++++------------------------
8 files changed, 5853 insertions(+), 5817 deletions(-)
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 35feb97..99c7a93 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,16 @@
+2015-05-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * configure.ac: Support bfd_iamcu_arch.
+ * disassemble.c (disassembler): Support bfd_iamcu_arch.
+ * i386-gen.c (cpu_flag_init): Add CPU_IAMCU_FLAGS and
+ CPU_IAMCU_COMPAT_FLAGS.
+ (cpu_flags): Add CpuIAMCU.
+ * i386-opc.h (CpuIAMCU): New.
+ (i386_cpu_flags): Add cpuiamcu.
+ * configure: Regenerated.
+ * i386-init.h: Likewise.
+ * i386-tbl.h: Likewise.
+
2015-04-30 DJ Delorie <dj@redhat.com>
* disassemble.c (disassembler): Choose suitable disassembler based
diff --git a/opcodes/configure b/opcodes/configure
index cd3aa83..e5048e2 100755
--- a/opcodes/configure
+++ b/opcodes/configure
@@ -12555,7 +12555,7 @@ if test x${all_targets} = xfalse ; then
bfd_h8500_arch) ta="$ta h8500-dis.lo" ;;
bfd_hppa_arch) ta="$ta hppa-dis.lo" ;;
bfd_i370_arch) ta="$ta i370-dis.lo i370-opc.lo" ;;
- bfd_i386_arch|bfd_l1om_arch|bfd_k1om_arch)
+ bfd_i386_arch|bfd_iamcu_arch|bfd_l1om_arch|bfd_k1om_arch)
ta="$ta i386-dis.lo i386-opc.lo" ;;
bfd_i860_arch) ta="$ta i860-dis.lo" ;;
bfd_i960_arch) ta="$ta i960-dis.lo" ;;
diff --git a/opcodes/configure.ac b/opcodes/configure.ac
index eab16d6..4cdca85 100644
--- a/opcodes/configure.ac
+++ b/opcodes/configure.ac
@@ -272,7 +272,7 @@ if test x${all_targets} = xfalse ; then
bfd_h8500_arch) ta="$ta h8500-dis.lo" ;;
bfd_hppa_arch) ta="$ta hppa-dis.lo" ;;
bfd_i370_arch) ta="$ta i370-dis.lo i370-opc.lo" ;;
- bfd_i386_arch|bfd_l1om_arch|bfd_k1om_arch)
+ bfd_i386_arch|bfd_iamcu_arch|bfd_l1om_arch|bfd_k1om_arch)
ta="$ta i386-dis.lo i386-opc.lo" ;;
bfd_i860_arch) ta="$ta i860-dis.lo" ;;
bfd_i960_arch) ta="$ta i960-dis.lo" ;;
diff --git a/opcodes/disassemble.c b/opcodes/disassemble.c
index 9c0a10e..1f353c6 100644
--- a/opcodes/disassemble.c
+++ b/opcodes/disassemble.c
@@ -211,6 +211,7 @@ disassembler (abfd)
#endif
#ifdef ARCH_i386
case bfd_arch_i386:
+ case bfd_arch_iamcu:
case bfd_arch_l1om:
case bfd_arch_k1om:
disassemble = print_insn_i386;
diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c
index 05ffd3a..216bc49 100644
--- a/opcodes/i386-gen.c
+++ b/opcodes/i386-gen.c
@@ -211,6 +211,10 @@ static initializer cpu_flag_init[] =
"unknown" },
{ "CPU_K1OM_FLAGS",
"unknown" },
+ { "CPU_IAMCU_FLAGS",
+ "Cpu186|Cpu286|Cpu386|Cpu486|Cpu586" },
+ { "CPU_IAMCU_COMPAT_FLAGS",
+ "Cpu186|Cpu286|Cpu386|Cpu486|Cpu586|Cpu686|CpuNo64|CpuNop" },
{ "CPU_ADX_FLAGS",
"CpuADX" },
{ "CPU_RDSEED_FLAGS",
@@ -402,6 +406,7 @@ static bitfield cpu_flags[] =
BITFIELD (CpuAVX512BW),
BITFIELD (CpuL1OM),
BITFIELD (CpuK1OM),
+ BITFIELD (CpuIAMCU),
BITFIELD (CpuSSE4a),
BITFIELD (Cpu3dnow),
BITFIELD (Cpu3dnowA),
diff --git a/opcodes/i386-opc.h b/opcodes/i386-opc.h
index ed486a3..ff9b32c 100644
--- a/opcodes/i386-opc.h
+++ b/opcodes/i386-opc.h
@@ -112,6 +112,8 @@ enum
CpuL1OM,
/* Intel K1OM support required */
CpuK1OM,
+ /* Intel IAMCU support required */
+ CpuIAMCU,
/* Xsave/xrstor New Instructions support required */
CpuXsave,
/* Xsaveopt New Instructions support required */
@@ -257,6 +259,7 @@ typedef union i386_cpu_flags
unsigned int cpuavx512bw:1;
unsigned int cpul1om:1;
unsigned int cpuk1om:1;
+ unsigned int cpuiamcu:1;
unsigned int cpuxsave:1;
unsigned int cpuxsaveopt:1;
unsigned int cpuaes:1;