+2007-09-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ * Makefile.am: Run "make dep-am".
+ * Makefile.in: Regenerate.
+
+2007-09-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ * configure.in (AC_CHECK_HEADERS): Add limits.h.
+ * configure: Regenerated.
+ * config.in: Likewise.
+
+ * i386-gen.c: Include "sysdep.h" instead of <stdlib.h> and
+ <string.h>. Use xstrerror instead of strerror.
+ (initializer): New.
+ (cpu_flag_init): Likewise.
+ (bitfield): Likewise.
+ (BITFIELD): New.
+ (cpu_flags): Likewise.
+ (opcode_modifiers): Likewise.
+ (operand_types): Likewise.
+ (compare): Likewise.
+ (set_cpu_flags): Likewise.
+ (output_cpu_flags): Likewise.
+ (process_i386_cpu_flags): Likewise.
+ (output_opcode_modifier): Likewise.
+ (process_i386_opcode_modifier): Likewise.
+ (output_operand_type): Likewise.
+ (process_i386_operand_type): Likewise.
+ (set_bitfield): Likewise.
+ (operand_type_init): Likewise.
+ (process_i386_initializers): Likewise.
+ (process_i386_opcodes): Call process_i386_opcode_modifier to
+ process opcode_modifier. Call process_i386_operand_type to
+ process operand_types.
+ (process_i386_registers): Call process_i386_operand_type to
+ process reg_type.
+ (main): Check unused bits in i386_cpu_flags and i386_operand_type.
+ Sort cpu_flags, opcode_modifiers and operand_types. Call
+ process_i386_initializers.
+
+ * i386-init.h: New.
+ * i386-tbl.h: Regenerated.
+
+ * i386-opc.h: Include <limits.h>.
+ (CHAR_BIT): Define as 8 if not defined.
+ (Cpu186): Changed to position of bitfiled.
+ (Cpu286): Likewise.
+ (Cpu386): Likewise.
+ (Cpu486): Likewise.
+ (Cpu586): Likewise.
+ (Cpu686): Likewise.
+ (CpuP4): Likewise.
+ (CpuK6): Likewise.
+ (CpuK8): Likewise.
+ (CpuMMX): Likewise.
+ (CpuMMX2): Likewise.
+ (CpuSSE): Likewise.
+ (CpuSSE2): Likewise.
+ (Cpu3dnow): Likewise.
+ (Cpu3dnowA): Likewise.
+ (CpuSSE3): Likewise.
+ (CpuPadLock): Likewise.
+ (CpuSVME): Likewise.
+ (CpuVMX): Likewise.
+ (CpuSSSE3): Likewise.
+ (CpuSSE4a): Likewise.
+ (CpuABM): Likewise.
+ (CpuSSE4_1): Likewise.
+ (CpuSSE4_2): Likewise.
+ (Cpu64): Likewise.
+ (CpuNo64): Likewise.
+ (D): Likewise.
+ (W): Likewise.
+ (Modrm): Likewise.
+ (ShortForm): Likewise.
+ (Jump): Likewise.
+ (JumpDword): Likewise.
+ (JumpByte): Likewise.
+ (JumpInterSegment): Likewise.
+ (FloatMF): Likewise.
+ (FloatR): Likewise.
+ (FloatD): Likewise.
+ (Size16): Likewise.
+ (Size32): Likewise.
+ (Size64): Likewise.
+ (IgnoreSize): Likewise.
+ (DefaultSize): Likewise.
+ (No_bSuf): Likewise.
+ (No_wSuf): Likewise.
+ (No_lSuf): Likewise.
+ (No_sSuf): Likewise.
+ (No_qSuf): Likewise.
+ (No_xSuf): Likewise.
+ (FWait): Likewise.
+ (IsString): Likewise.
+ (RegKludge): Likewise.
+ (IsPrefix): Likewise.
+ (ImmExt): Likewise.
+ (NoRex64): Likewise.
+ (Rex64): Likewise.
+ (Ugh): Likewise.
+ (Reg8): Likewise.
+ (Reg16): Likewise.
+ (Reg32): Likewise.
+ (Reg64): Likewise.
+ (FloatReg): Likewise.
+ (RegMMX): Likewise.
+ (RegXMM): Likewise.
+ (Imm8): Likewise.
+ (Imm8S): Likewise.
+ (Imm16): Likewise.
+ (Imm32): Likewise.
+ (Imm32S): Likewise.
+ (Imm64): Likewise.
+ (Imm1): Likewise.
+ (BaseIndex): Likewise.
+ (Disp8): Likewise.
+ (Disp16): Likewise.
+ (Disp32): Likewise.
+ (Disp32S): Likewise.
+ (Disp64): Likewise.
+ (InOutPortReg): Likewise.
+ (ShiftCount): Likewise.
+ (Control): Likewise.
+ (Debug): Likewise.
+ (Test): Likewise.
+ (SReg2): Likewise.
+ (SReg3): Likewise.
+ (Acc): Likewise.
+ (FloatAcc): Likewise.
+ (JumpAbsolute): Likewise.
+ (EsSeg): Likewise.
+ (RegMem): Likewise.
+ (OTMax): Likewise.
+ (Reg): Commented out.
+ (WordReg): Likewise.
+ (ImplicitRegister): Likewise.
+ (Imm): Likewise.
+ (EncImm): Likewise.
+ (Disp): Likewise.
+ (AnyMem): Likewise.
+ (LLongMem): Likewise.
+ (LongMem): Likewise.
+ (ShortMem): Likewise.
+ (WordMem): Likewise.
+ (ByteMem): Likewise.
+ (CpuMax): New
+ (CpuLM): Likewise.
+ (CpuNumOfUints): Likewise.
+ (CpuNumOfBits): Likewise.
+ (CpuUnused): Likewise.
+ (OTNumOfUints): Likewise.
+ (OTNumOfBits): Likewise.
+ (OTUnused): Likewise.
+ (i386_cpu_flags): New type.
+ (i386_operand_type): Likewise.
+ (i386_opcode_modifier): Likewise.
+ (CpuSledgehammer): Removed.
+ (CpuSSE4): Likewise.
+ (CpuUnknownFlags): Likewise.
+ (Reg): Likewise.
+ (WordReg): Likewise.
+ (ImplicitRegister): Likewise.
+ (Imm): Likewise.
+ (EncImm): Likewise.
+ (Disp): Likewise.
+ (AnyMem): Likewise.
+ (LLongMem): Likewise.
+ (LongMem): Likewise.
+ (ShortMem): Likewise.
+ (WordMem): Likewise.
+ (ByteMem): Likewise.
+ (template): Use i386_cpu_flags for cpu_flags, use
+ i386_opcode_modifier for opcode_modifier, use
+ i386_operand_type for operand_types.
+ (reg_entry): Use i386_operand_type for reg_type.
+
+ * Makefile.am (HFILES): Add i386-init.h.
+ ($(srcdir)/i386-init.h): New rule.
+ ($(srcdir)/i386-tbl.h): Depend on $(srcdir)/i386-init.h
+ instead.
+ * Makefile.in: Regenerated.
+
+2007-09-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-gen.c (next_field): Updated to take a separator.
+ (process_i386_opcodes): Updated.
+ (process_i386_registers): Likewise.
+
+2007-09-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-gen.c (table): Moved ...
+ (main): Here. Call process_copyright to output copyright.
+ (process_copyright): New.
+ (process_i386_opcodes): Take FILE *table.
+ (process_i386_registers): Likewise.
+
+2007-09-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-gen.c (table): New.
+ (process_i386_opcodes): Report errno when faied to open
+ i386-opc.tbl. Output opcodes to table. Close i386-opc.tbl
+ before return.
+ (process_i386_registers): Report errno when faied to open
+ i386-reg.tbl. Output opcodes to table. Close i386-reg.tbl
+ before return.
+ (main): Open i386-tbl.h for output.
+
+ * Makefile.am ($(srcdir)/i386-tbl.h): Remove " > $@".
+ * Makefile.in: Regenerated.
+
+2007-09-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-opc.tbl: Correct SVME instructions to allow 32bit register
+ operand in 64bit mode.
+ * i386-tbl.h: Regenerated.
+
+2007-08-31 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-dis.c (OPC_EXT_40...OPC_EXT_45): New.
+ (dis386_twobyte): Use OPC_EXT_40...OPC_EXT_45.
+ (opc_ext_table): Add OPC_EXT_40...OPC_EXT_45.
+
+2007-08-31 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-dis.c (SVME_Fixup): Removed.
+ (OPC_EXT_39): New.
+ (OPC_EXT_RM_6): Likewise.
+ (grps): Use OPC_EXT_39.
+ (opc_ext_table): Add OPC_EXT_39.
+ (opc_ext_rm_table): Add OPC_EXT_RM_6.
+
+ * i386-opc.tbl: Correct SVME instructions to take register
+ operand only.
+ * i386-tbl.h: Regenerated.
+
+2007-08-31 H.J. Lu <hongjiu.lu@intel.com>
+
+ * Makefile.am (INCLUDES): Remove -D_GNU_SOURCE.
+ * Makefile.in: Regenerated.
+
+ * configure.in (AC_GNU_SOURCE): Added.
+ (AC_PROG_CC): Moved before AC_GNU_SOURCE.
+ (AC_CHECK_DECLS): Add stpcpy.
+ * configure: Regenerated.
+ * config.in: Likewise.
+
+ * i386-dis.c: Include "sysdep.h" before "dis-asm.h".
+
+ * sysdep.h (stpcpy): New.
+
+2007-08-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-dis.c (INVLPG_Fixup): Removed.
+ (OPC_EXT_38): New.
+ (OPC_EXT_RM_5): Likewise.
+ (grps): Use OPC_EXT_38.
+ (opc_ext_table): Add OPC_EXT_38.
+ (opc_ext_rm_table): Add OPC_EXT_RM_5.
+
+2007-08-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-dis.c (SIMD_Fixup): Removed.
+ (OPC_EXT_34...OPC_EXT_37): New.
+ (dis386_twobyte): Use OPC_EXT_34 and OPC_EXT_35.
+ (prefix_user_table): Use OPC_EXT_36 and OPC_EXT_37.
+ (opc_ext_table): Add OPC_EXT_34...OPC_EXT_37.
+
+2007-08-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-dis.c (OPC_EXT_25...OPC_EXT_33): New.
+ (dis386): Use OPC_EXT_0...OPC_EXT_2.
+ (dis386_twobyte): Use OPC_EXT_3...OPC_EXT_5.
+ (grps): Updated to use OPC_EXT_6...OPC_EXT_31.
+ (prefix_user_table): Use OPC_EXT_32.
+ (x86_64_table): Use OPC_EXT_33.
+ (opc_ext_table): Reorder and add OPC_EXT_25...OPC_EXT_33.
+
+2007-08-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-dis.c (prefix_user_table): Fix comment.
+
+2007-08-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-dis.c (OP_Skip_MODRM): New.
+ (OP_Monitor): Likewise.
+ (OP_Mwait): Likewise.
+ (Mb): Likewise.
+ (Skip_MODRM): Likewise.
+ (USE_OPC_EXT_TABLE): Likewise.
+ (USE_OPC_EXT_RM_TABLE): Likewise.
+ (PREGRP98...PREGRP100): Likewise.
+ (OPC_EXT_0...OPC_EXT_24): Likewise.
+ (OPC_EXT_RM_0...OPC_EXT_RM_4): Likewise.
+ (lock_prefix): Likewise.
+ (data_prefix): Likewise.
+ (addr_prefix): Likewise.
+ (repz_prefix): Likewise.
+ (repnz_prefix): Likewise.
+ (opc_ext_table): Likewise.
+ (opc_ext_rm_table): Likewise.
+ (get_valid_dis386): Likewise.
+ (OP_VMX): Removed.
+ (OP_0fae): Likewise.
+ (PNI_Fixup): Likewise.
+ (VMX_Fixup): Likewise.
+ (VM): Likewise.
+ (twobyte_uses_DATA_prefix): Likewise.
+ (twobyte_uses_REPNZ_prefix): Likewise.
+ (twobyte_uses_REPZ_prefix): Likewise.
+ (threebyte_0x38_uses_DATA_prefix): Likewise.
+ (threebyte_0x38_uses_REPNZ_prefix): Likewise.
+ (threebyte_0x38_uses_REPZ_prefix): Likewise.
+ (threebyte_0x3a_uses_DATA_prefix): Likewise.
+ (threebyte_0x3a_uses_REPNZ_prefix): Likewise.
+ (threebyte_0x3a_uses_REPZ_prefix): Likewise.
+ (grps): Use OPC_EXT_0...OPC_EXT_24.
+ (prefix_user_table): Add PREGRP98...PREGRP100.
+ (print_insn): Remove uses_DATA_prefix, uses_LOCK_prefix,
+ uses_REPNZ_prefix and uses_REPZ_prefix. Initialize
+ repz_prefix, repnz_prefix, lock_prefix, addr_prefix and
+ data_prefix based on prefixes. Call get_valid_dis386 to
+ get a pointer to the valid dis386. Print out prefixes if
+ they aren't NULL.
+ (OP_C): Clear lock_prefix if PREFIX_LOCK is used.
+ (REP_Fixup): Set repz_prefix to "rep " when seeing
+ PREFIX_REPZ.
+
+2007-08-28 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * po/nl.po: Updated translation.
+
+2007-08-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-dis.c (Md): New.
+ (grps): Use 0 on invlpg. Use M on fxsave and fxrstor. Use
+ Md on ldmxcsr and stmxcsr. Use b_mode on clflush.
+ (OP_0fae): Clear bytemode for sfence.
+
+2007-08-22 Ben Elliston <bje@au.ibm.com>
+
+ * ppc-opc.c (PSW, PSWM, PSQ, PSQM, PSD, MTMSRD_L): New.
+ (XOPS, XOPS_MASK, XW, XW_MASK): Likewise.
+ (PPCPS): Likewise.
+ (powerpc_opcodes): Add all pair singles instructions.
+ * ppc-dis.c (powerpc_dialect): Handle "ppcps".
+ (print_ppc_disassembler_options): Document -Mppcps.
+
+2007-08-21 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * s390-mkopc.c (struct s390_cond_ext_format): New global struct.
+ (s390_cond_ext_format): New global variable.
+ (expandConditionalJump): New function.
+ (main): Invoke expandConditionalJump for mnemonics containing '*'.
+ * s390-opc.txt: Replace mnemonics with conditional
+ mask extensions with instructions using the newly introduced '*' tag.
+
+2007-08-17 Alan Modra <amodra@bigpond.net.au>
+
+ * po/Make-in: Add --msgid-bugs-address to xgettext invocation.
+
+2007-08-10 Nick Clifton <nickc@redhat.com>
+
+ * po/fi.po: Updated Finnish translation.
+ * po/ga.po: Updated Irish translation.
+ * po/vi.po: Updated Vietnamese translation.
+
+2007-08-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-opc.tbl: Add NoRex64 to pmovsxbw, pmovsxwd, pmovsxdq,
+ pmovzxbw, pmovzxwd, pmovzxdq and roundsd.
+ * i386-tbl.h: Regenerated.
+
+2007-08-03 James E. Wilson <wilson@specifix.com>
+
+ * ia64-gen.c: (main): Add missing newline to copyright message.
+ * ia64-ic.tbl (fp-non-arith): Add xmpy.
+ * ia64-asmtab.c: Regenerate.
+
+2007-08-01 Michael Snyder <msnyder@access-company.com>
+
+ * i386-dis.c (print_insn): Guard against NULL.
+
+2007-07-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/4834
+ * i386-dis.c (EXw): New.
+ (prefix_user_table): Updated to use EXw, EXd and EXq for SSE4
+ instructions when appropriated.
+
+2007-07-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/4834
+ * i386-dis.c (Eq): New.
+ (EMC): Renamed to ...
+ (EMCq): This. Use q_mode instead of v_mode.
+ (prefix_user_table): Updated to use EXd, EXq, EMCq, Ed and Eq
+ when appropriated.
+
+2007-07-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-dis.c (dis386_twobyte): Change "movd" to "movK".
+ (prefix_user_table): Likewise. Use EXq instead of EXx on
+ "movq".
+
+2007-07-27 Nathan Sidwell <nathan@codesourcery.com>
+
+ * ppc-opc (PPC7450): New.
+ (powerpc_opcodes): Use it in dcba.
+
2007-07-24 H.J. Lu <hongjiu.lu@intel.com>
* i386-gen.c (main): Print a newline after copyright notice.