1 2009-03-03 Peter Bergner <bergner@vnet.ibm.com>
3 * ppc-opc.c (powerpc_opcodes): Reorder the opcode table so that
4 instructions from newer processors are listed before older ones.
6 2009-03-02 Alan Modra <amodra@bigpond.net.au>
8 2009-02-26 Peter Bergner <bergner@vnet.ibm.com>
9 * ppc-dis.c (powerpc_init_dialect): Extend -Mpower7 to disassemble
10 the power7 and the isel instructions.
11 * ppc-opc.c (insert_xc6, extract_xc6): New static functions.
12 (insert_dm, extract_dm): Likewise.
13 (XB6): Update comment to include XX2 form.
14 (WC, XC6, SHW, DMEX, UIM, XX2, XX3RC, XX4, XX2_MASK, XX2UIM_MASK,
15 XX2BF_MASK, XX3BF_MASK, XX3SHW_MASK, XX4_MASK, XWC_MASK, POWER7): New.
16 (RemoveXX3DM): Delete.
17 (powerpc_opcodes): <"lfdp", "lfdpx", "mcrxr", "mftb", "mffgpr",
18 "mftgpr">: Deprecate for POWER7.
19 <"fres", "fres.", "frsqrtes", "frsqrtes.", "fre", "fre.", "frsqrte",
20 "frsqrte.">: Deprecate the three operand form and enable the two
21 operand form for POWER7 and later.
22 <"wait">: Extend to accept optional parameter. Enable for POWER7.
23 <"waitsrv", "waitimpl">: Add extended opcodes.
24 <"ldbrx", "stdbrx">: Enable for POWER7.
25 <"cdtbcd", "cbcdtd", "addg6s">: Add POWER6 opcodes.
26 <"bpermd", "dcbtstt", "dcbtt", "dcffix.", "dcffix", "divde.", "divde",
27 "divdeo.", "divdeo", "divdeu.", "divdeu", "divdeuo.", "divdeuo",
28 "divwe.", "divwe", "divweo.", "divweo", "divweu.", "divweu", "divweuo.",
29 "divweuo", "fcfids.", "fcfids", "fcfidu.", "fcfidu", "fcfidus.",
30 "fcfidus", "fctidu.", "fctidu", "fctiduz.", "fctiduz", "fctiwu.",
31 "fctiwu", "fctiwuz.", "fctiwuz", "ftdiv", "ftsqrt", "lbarx", "lfiwzx",
32 "lharx", "popcntd", "popcntw", "stbcx.", "sthcx.">: Add POWER7 opcodes.
33 <"lxsdux", "lxsdx", "lxvdsx", "lxvw4ux", "lxvw4x", "stxsdux", "stxsdx",
34 "stxvw4ux", "stxvw4x", "xsabsdp", "xsadddp", "xscmpodp", "xscmpudp",
35 "xscpsgndp", "xscvdpsp", "xscvdpsxds", "xscvdpsxws", "xscvdpuxds",
36 "xscvdpuxws", "xscvspdp", "xscvsxddp", "xscvuxddp", "xsdivdp",
37 "xsmaddadp", "xsmaddmdp", "xsmaxdp", "xsmindp", "xsmsubadp",
38 "xsmsubmdp", "xsmuldp", "xsnabsdp", "xsnegdp", "xsnmaddadp",
39 "xsnmaddmdp", "xsnmsubadp", "xsnmsubmdp", "xsrdpi", "xsrdpic",
40 "xsrdpim", "xsrdpip", "xsrdpiz", "xsredp", "xsrsqrtedp", "xssqrtdp",
41 "xssubdp", "xstdivdp", "xstsqrtdp", "xvabsdp", "xvabssp", "xvadddp",
42 "xvaddsp", "xvcmpeqdp.", "xvcmpeqdp", "xvcmpeqsp.", "xvcmpeqsp",
43 "xvcmpgedp.", "xvcmpgedp", "xvcmpgesp.", "xvcmpgesp", "xvcmpgtdp.",
44 "xvcmpgtdp", "xvcmpgtsp.", "xvcmpgtsp", "xvcpsgnsp", "xvcvdpsp",
45 "xvcvdpsxds", "xvcvdpsxws", "xvcvdpuxds", "xvcvdpuxws", "xvcvspdp",
46 "xvcvspsxds", "xvcvspsxws", "xvcvspuxds", "xvcvspuxws", "xvcvsxddp",
47 "xvcvsxdsp", "xvcvsxwdp", "xvcvsxwsp", "xvcvuxddp", "xvcvuxdsp",
48 "xvcvuxwdp", "xvcvuxwsp", "xvdivdp", "xvdivsp", "xvmaddadp",
49 "xvmaddasp", "xvmaddmdp", "xvmaddmsp", "xvmaxdp", "xvmaxsp",
50 "xvmindp", "xvminsp", "xvmovsp", "xvmsubadp", "xvmsubasp", "xvmsubmdp",
51 "xvmsubmsp", "xvmuldp", "xvmulsp", "xvnabsdp", "xvnabssp", "xvnegdp",
52 "xvnegsp", "xvnmaddadp", "xvnmaddasp", "xvnmaddmdp", "xvnmaddmsp",
53 "xvnmsubadp", "xvnmsubasp", "xvnmsubmdp", "xvnmsubmsp", "xvrdpi",
54 "xvrdpic", "xvrdpim", "xvrdpip", "xvrdpiz", "xvredp", "xvresp",
55 "xvrspi", "xvrspic", "xvrspim", "xvrspip", "xvrspiz", "xvrsqrtedp",
56 "xvrsqrtesp", "xvsqrtdp", "xvsqrtsp", "xvsubdp", "xvsubsp", "xvtdivdp",
57 "xvtdivsp", "xvtsqrtdp", "xvtsqrtsp", "xxland", "xxlandc", "xxlnor",
58 "xxlor", "xxlxor", "xxmrghw", "xxmrglw", "xxsel", "xxsldwi", "xxspltd",
59 "xxspltw", "xxswapd">: Add VSX opcodes.
61 2009-02-19 Peter Bergner <bergner@vnet.ibm.com>
62 * ppc-opc.c (powerpc_opcodes) <"lfdepx", "stfdepx">: Fix the first
63 operand to be a float point register (FRT/FRS).
65 2009-02-05 Peter Bergner <bergner@vnet.ibm.com>
66 * ppc-opc.c: Update copyright year.
67 (powerpc_opcodes) <"dcbt", "dcbtst">: Deprecate the Embedded operand
68 ordering for POWER4 and later and use the correct Server ordering.
70 2009-01-14 Peter Bergner <bergner@vnet.ibm.com>
71 * ppc-dis.c (print_insn_powerpc): Skip insn if it is deprecated.
72 * ppc-opc.c (powerpc_opcodes) <mtfsf, mtfsf.>: Deprecate the two
73 operand form and enable the four operand form for POWER6 and later.
74 <mtfsfi, mtfsfi.>: Deprecate the two operand form and enable the
75 three operand form for POWER6 and later.
77 2009-01-09 Peter Bergner <bergner@vnet.ibm.com>
78 * ppc-opc.c (PPCNONE): Define.
80 (powerpc_opcodes): Initialize the new "deprecated" field.
82 2008-12-04 Ben Elliston <bje@au.ibm.com>
83 * ppc-dis.c (powerpc_init_dialect): Do not set PPC_OPCODE_BOOKE
85 (print_ppc_disassembler_options): Update usage.
86 * ppc-opc.c (DE, DES, DEO, DE_MASK): Remove.
88 (PPCCHLK64): Likewise.
89 (powerpc_opcodes): Remove all BOOKE64 instructions.
91 2008-11-27 Alan Modra <amodra@bigpond.net.au>
93 * ppc-opc.c (extract_sprg): Correct operand range check.
95 2008-11-26 Andreas Schwab <schwab@suse.de>
97 * m68k-dis.c (NEXTBYTE, NEXTWORD, NEXTLONG, NEXTULONG, NEXTSINGLE)
98 (NEXTDOUBLE, NEXTEXTEND, NEXTPACKED): Fix error handling.
99 (save_printer, save_print_address): Remove.
100 (fetch_data): Don't use them.
101 (match_insn_m68k): Always restore printing functions.
102 (print_insn_m68k): Don't save/restore printing functions.
104 2008-11-25 Nick Clifton <nickc@redhat.com>
106 * m68k-dis.c: Rewrite to remove use of setjmp/longjmp.
108 2008-09-29 Nick Clifton <nickc@redhat.com>
110 * po/vi.po: Updated Vietnamese translation.
111 * po/fr.po: Updated French translation.
113 2008-09-09 Alan Modra <amodra@bigpond.net.au>
115 * Makefile.am: Run "make dep-am".
116 * Makefile.in: Regenerate.
117 * po/opcodes.pot: Regenerate.
119 2008-08-28 Jan Beulich <jbeulich@novell.com>
121 * i386-dis.c (dis386): Adjust far return mnemonics.
122 * i386-opc.tbl: Add retf.
123 * i386-tbl.h: Re-generate.
125 2008-08-28 Jan Beulich <jbeulich@novell.com>
127 * i386-dis.c (dis386_twobyte): Adjust cmovXX mnemonics.
129 2008-08-28 H.J. Lu <hongjiu.lu@intel.com>
131 * ia64-dis.c (print_insn_ia64): Handle cr.iib0 and cr.iib1.
132 * ia64-gen.c (lookup_specifier): Likewise.
134 * ia64-ic.tbl: Add support for cr.iib0 and cr.iib1.
135 * ia64-raw.tbl: Likewise.
136 * ia64-waw.tbl: Likewise.
137 * ia64-asmtab.c: Regenerated.
139 2008-08-27 H.J. Lu <hongjiu.lu@intel.com>
141 * i386-opc.tbl: Correct fidivr operand size.
143 * i386-tbl.h: Regenerated.
145 2008-08-24 Alan Modra <amodra@bigpond.net.au>
147 * configure.in: Update a number of obsolete autoconf macros.
148 * aclocal.m4: Regenerate.
150 2008-08-20 H.J. Lu <hongjiu.lu@intel.com>
152 AVX Programming Reference (August, 2008)
153 * i386-dis.c (PREFIX_VEX_38DB): New.
154 (PREFIX_VEX_38DC): Likewise.
155 (PREFIX_VEX_38DD): Likewise.
156 (PREFIX_VEX_38DE): Likewise.
157 (PREFIX_VEX_38DF): Likewise.
158 (PREFIX_VEX_3ADF): Likewise.
159 (VEX_LEN_38DB_P_2): Likewise.
160 (VEX_LEN_38DC_P_2): Likewise.
161 (VEX_LEN_38DD_P_2): Likewise.
162 (VEX_LEN_38DE_P_2): Likewise.
163 (VEX_LEN_38DF_P_2): Likewise.
164 (VEX_LEN_3ADF_P_2): Likewise.
165 (PREFIX_VEX_3A04): Updated.
166 (VEX_LEN_3A06_P_2): Likewise.
167 (prefix_table): Add PREFIX_VEX_38DB, PREFIX_VEX_38DC,
168 PREFIX_VEX_38DD, PREFIX_VEX_38DE and PREFIX_VEX_3ADF.
169 (x86_64_table): Likewise.
170 (vex_len_table): Add VEX_LEN_38DB_P_2, VEX_LEN_38DC_P_2,
171 VEX_LEN_38DD_P_2, VEX_LEN_38DE_P_2, VEX_LEN_38DF_P_2 and
174 * i386-opc.tbl: Add AES + AVX instructions.
175 * i386-init.h: Regenerated.
176 * i386-tbl.h: Likewise.
178 2008-08-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
180 * s390-opc.c (INSTR_RRF_FFRU, MASK_RRF_FFRU): New instruction format.
181 * s390-opc.txt (lxr, rrdtr, rrxtr): Fix instruction format.
183 2008-08-15 Alan Modra <amodra@bigpond.net.au>
186 * configure.in: Invoke AC_USE_SYSTEM_EXTENSIONS.
187 * Makefile.in: Regenerate.
188 * aclocal.m4: Regenerate.
189 * config.in: Regenerate.
190 * configure: Regenerate.
192 2008-08-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
195 * ppc-opc.c (powerpc_opcodes): Enable rfci, mfpmr, mtpmr for e300.
197 2008-08-12 H.J. Lu <hongjiu.lu@intel.com>
199 * i386-opc.tbl: Add syscall and sysret for Cpu64.
201 * i386-tbl.h: Regenerated.
203 2008-08-04 Alan Modra <amodra@bigpond.net.au>
205 * Makefile.am (POTFILES.in): Set LC_ALL=C.
206 * Makefile.in: Regenerate.
207 * po/POTFILES.in: Regenerate.
209 2008-08-01 Peter Bergner <bergner@vnet.ibm.com>
211 * ppc-dis.c (powerpc_init_dialect): Handle power7 and vsx options.
212 (print_insn_powerpc): Prepend 'vs' when printing VSX registers.
213 (print_ppc_disassembler_options): Document -Mpower7 and -Mvsx.
214 * ppc-opc.c (insert_xt6): New static function.
215 (extract_xt6): Likewise.
216 (insert_xa6): Likewise.
217 (extract_xa6: Likewise.
218 (insert_xb6): Likewise.
219 (extract_xb6): Likewise.
220 (insert_xb6s): Likewise.
221 (extract_xb6s): Likewise.
222 (XS6, XT6, XA6, XB6, XB6S, DM, XX3, XX3DM, XX1_MASK, XX3_MASK,
223 XX3DM_MASK, PPCVSX): New.
224 (powerpc_opcodes): Add opcodes "lxvd2x", "lxvd2ux", "stxvd2x",
225 "stxvd2ux", "xxmrghd", "xxmrgld", "xxpermdi", "xvmovdp", "xvcpsgndp".
227 2008-08-01 Pedro Alves <pedro@codesourcery.com>
229 * Makefile.am ($(srcdir)/ia64-asmtab.c): Remove line continuation.
230 * Makefile.in: Regenerate.
232 2008-08-01 H.J. Lu <hongjiu.lu@intel.com>
234 * i386-reg.tbl: Use Dw2Inval on AVX registers.
235 * i386-tbl.h: Regenerated.
237 2008-07-30 Michael J. Eager <eager@eagercon.com>
239 * ppc-dis.c (print_insn_powerpc): Disassemble FSL/FCR/UDI fields.
240 * ppc-opc.c (powerpc_operands): Add Xilinx APU related operands.
241 (insert_sprg, PPC405): Use PPC_OPCODE_405.
242 (powerpc_opcodes): Add Xilinx APU related opcodes.
244 2008-07-30 Alan Modra <amodra@bigpond.net.au>
246 * bfin-dis.c, cris-dis.c, i386-dis.c, or32-opc.c: Silence gcc warnings.
248 2008-07-10 Richard Sandiford <rdsandiford@googlemail.com>
250 * mips-dis.c (_print_insn_mips): Use ELF_ST_IS_MIPS16.
252 2008-07-07 Adam Nemet <anemet@caviumnetworks.com>
254 * mips-opc.c (CP): New macro.
255 (mips_builtin_opcodes): Mark c0, c2 and c3 as CP. Add Octeon to the
256 membership of di, dmfc0, dmtc0, ei, mfc0 and mtc0. Add dmfc2 and
257 dmtc2 Octeon instructions.
259 2008-07-07 Stan Shebs <stan@codesourcery.com>
261 * dis-init.c (init_disassemble_info): Init endian_code field.
262 * arm-dis.c (print_insn): Disassemble code according to
263 setting of endian_code.
264 (print_insn_big_arm): Detect when BE8 extension flag has been set.
266 2008-06-30 Richard Sandiford <rdsandiford@googlemail.com>
268 * mips-dis.c (_print_insn_mips): Use bfd_asymbol_flavour to check
271 2008-06-25 Peter Bergner <bergner@vnet.ibm.com>
273 * ppc-dis.c (powerpc_init_dialect): Handle -M464.
274 (print_ppc_disassembler_options): Likewise.
275 * ppc-opc.c (PPC464): Define.
276 (powerpc_opcodes): Add mfdcrux and mtdcrux.
278 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
280 * configure: Regenerate.
282 2008-06-13 Peter Bergner <bergner@vnet.ibm.com>
284 * ppc-dis.c (print_insn_powerpc): Update prototye to use new
286 (struct dis_private): New.
287 (POWERPC_DIALECT): New define.
288 (powerpc_dialect): Renamed to...
289 (powerpc_init_dialect): This. Update to use ppc_cpu_t and
291 (print_insn_big_powerpc): Update for using structure in
293 (print_insn_little_powerpc): Likewise.
294 (operand_value_powerpc): Change type of dialect param to ppc_cpu_t.
295 (skip_optional_operands): Likewise.
296 (print_insn_powerpc): Likewise. Remove initialization of dialect.
297 * ppc-opc.c (extract_bat, extract_bba, extract_bdm, extract_bdp,
298 extract_bo, extract_boe, extract_fxm, extract_mb6, extract_mbe,
299 extract_nb, extract_nsi, extract_rbs, extract_sh6, extract_spr,
300 extract_sprg, extract_tbr insert_bat, insert_bba, insert_bdm,
301 insert_bdp, insert_bo, insert_boe, insert_fxm, insert_mb6, insert_mbe,
302 insert_nsi, insert_ral, insert_ram, insert_raq, insert_ras, insert_rbs,
303 insert_sh6, insert_spr, insert_sprg, insert_tbr): Change the dialect
304 param to be of type ppc_cpu_t. Update prototype.
306 2008-06-12 Adam Nemet <anemet@caviumnetworks.com>
308 * mips-dis.c (print_insn_args): Handle field descriptors +x, +p,
310 * mips-opc.c (mips_builtin_opcodes): Add Octeon instructions
311 baddu, bbit*, cins*, dmul, pop, dpop, exts*, mtm*, mtp*, syncs,
312 syncw, syncws, vm3mulu, vm0 and vmulu.
314 * mips-dis.c (print_insn_args): Handle field descriptor +Q.
315 * mips-opc.c (mips_builtin_opcodes): Add Octeon instructions seq,
318 2008-05-30 H.J. Lu <hongjiu.lu@intel.com>
320 * i386-opc.tbl: Add vmovd with 64bit operand.
321 * i386-tbl.h: Regenerated.
323 2008-05-27 Martin Schwidefsky <schwidefsky@de.ibm.com>
325 * s390-opc.c (INSTR_RRF_R0RR): Fix RRF_R0RR operand format.
327 2008-05-22 H.J. Lu <hongjiu.lu@intel.com>
329 * i386-opc.tbl: Add NoAVX to cvtpd2pi, cvtpi2pd and cvttpd2pi.
330 * i386-tbl.h: Regenerated.
332 2008-05-22 H.J. Lu <hongjiu.lu@intel.com>
335 * i386-opc.tbl: Break cvtsi2ss/cvtsi2sd/vcvtsi2sd/vcvtsi2ss
336 into 32bit and 64bit. Remove Reg64|Qword and add
337 IgnoreSize|No_qSuf on 32bit version.
338 * i386-tbl.h: Regenerated.
340 2008-05-21 H.J. Lu <hongjiu.lu@intel.com>
342 * i386-opc.tbl: Add NoAVX to movdq2q and movq2dq.
343 * i386-tbl.h: Regenerated.
345 2008-05-21 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
347 * cr16-dis.c (build_mask): Adjust the mask for 32-bit bcond.
349 2008-05-14 Alan Modra <amodra@bigpond.net.au>
351 * Makefile.am: Run "make dep-am".
352 * Makefile.in: Regenerate.
354 2008-05-02 H.J. Lu <hongjiu.lu@intel.com>
356 * i386-dis.c (MOVBE_Fixup): New.
358 (PREFIX_0F3880): Likewise.
359 (PREFIX_0F3881): Likewise.
360 (PREFIX_0F38F0): Updated.
361 (prefix_table): Add PREFIX_0F3880 and PREFIX_0F3881. Update
362 PREFIX_0F38F0 and PREFIX_0F38F1 for movbe.
363 (three_byte_table): Use PREFIX_0F3880 and PREFIX_0F3881.
365 * i386-gen.c (cpu_flag_init): Add CPU_MOVBE_FLAGS and
367 (cpu_flags): Add CpuMovbe and CpuEPT.
369 * i386-opc.h (CpuMovbe): New.
372 (i386_cpu_flags): Add cpumovbe and cpuept.
374 * i386-opc.tbl: Add entries for movbe and EPT instructions.
375 * i386-init.h: Regenerated.
376 * i386-tbl.h: Likewise.
378 2008-04-29 Adam Nemet <anemet@caviumnetworks.com>
380 * mips-opc.c (mips_builtin_opcodes): Set field `match' to 0 for
381 the two drem and the two dremu macros.
383 2008-04-28 Adam Nemet <anemet@caviumnetworks.com>
385 * mips-opc.c (mips_builtin_opcodes): Mark prefx and c1
386 instructions FP_S. Mark l.s, li.s, lwc1, swc1, s.s, trunc.w.s and
387 cop1 macros INSN2_M_FP_S. Mark l.d, li.d, ldc1 and sdc1 macros
388 INSN2_M_FP_D. Mark trunc.w.d macro INSN2_M_FP_S and INSN2_M_FP_D.
390 2008-04-25 David S. Miller <davem@davemloft.net>
392 * sparc-dis.c: Emit %stick instead of %sys_tick, and %stick_cmpr
393 instead of %sys_tick_cmpr, as suggested in architecture manuals.
395 2008-04-23 Paolo Bonzini <bonzini@gnu.org>
397 * aclocal.m4: Regenerate.
398 * configure: Regenerate.
400 2008-04-23 David S. Miller <davem@davemloft.net>
402 * sparc-opc.c (asi_table): Add UltraSPARC and Niagara
404 (prefetch_table): Add missing values.
406 2008-04-22 H.J. Lu <hongjiu.lu@intel.com>
408 * i386-gen.c (opcode_modifiers): Add NoAVX.
410 * i386-opc.h (NoAVX): New.
412 (i386_opcode_modifier): Add noavx.
414 * i386-opc.tbl: Add NoAVX to SSE, SSE2, SSE3 and SSSE3
415 instructions which don't have AVX equivalent.
416 * i386-tbl.h: Regenerated.
418 2008-04-18 H.J. Lu <hongjiu.lu@intel.com>
420 * i386-dis.c (OP_VEX_FMA): New.
421 (OP_EX_VexImmW): Likewise.
423 (Vex128FMA): Likewise.
424 (EXVexImmW): Likewise.
425 (get_vex_imm8): Likewise.
426 (OP_EX_VexReg): Likewise.
427 (vex_i4_done): Renamed to ...
429 (prefix_table): Replace EXVexW with EXVexImmW on vpermil2ps
430 and vpermil2pd. Replace Vex/Vex128 with VexFMA/Vex128FMA on
432 (print_insn): Updated.
433 (OP_EX_VexW): Rewrite to swap register in VEX with EX.
434 (OP_REG_VexI4): Check invalid high registers.
436 2008-04-16 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
437 Michael Meissner <michael.meissner@amd.com>
439 * i386-opc.tbl: Fix protX to allow memory in the middle operand.
440 * i386-tbl.h: Regenerate from i386-opc.tbl.
442 2008-04-14 Edmar Wienskoski <edmar@freescale.com>
444 * ppc-dis.c (powerpc_dialect): Handle "e500mc". Extend "e500" to
445 accept Power E500MC instructions.
446 (print_ppc_disassembler_options): Document -Me500mc.
447 * ppc-opc.c (DUIS, DUI, T): New.
448 (XRT, XRTRA): Likewise.
450 (powerpc_opcodes): Add new Power E500MC instructions.
452 2008-04-10 Andreas Krebbel <krebbel1@de.ibm.com>
454 * s390-dis.c (init_disasm): Evaluate disassembler_options.
455 (print_s390_disassembler_options): New function.
456 * disassemble.c (disassembler_usage): Invoke
457 print_s390_disassembler_options.
459 2008-04-10 Andreas Krebbel <krebbel1@de.ibm.com>
461 * s390-mkopc.c (insertExpandedMnemonic): Expand string sizes
462 of local variables used for mnemonic parsing: prefix, suffix and
465 2008-04-10 Andreas Krebbel <krebbel1@de.ibm.com>
467 * s390-mkopc.c (s390_cond_ext_format): Add back the mnemonic
468 extensions for conditional jumps (o, p, m, nz, z, nm, np, no).
469 (s390_crb_extensions): New extensions table.
470 (insertExpandedMnemonic): Handle '$' tag.
471 * s390-opc.txt: Remove conditional jump variants which can now
472 be expanded automatically.
473 Replace '*' tag with '$' in the compare and branch instructions.
475 2008-04-07 H.J. Lu <hongjiu.lu@intel.com>
477 * i386-dis.c (PREFIX_VEX_38XX): Add a tab.
478 (PREFIX_VEX_3AXX): Likewis.
480 2008-04-07 H.J. Lu <hongjiu.lu@intel.com>
482 * i386-opc.tbl: Remove 4 extra blank lines.
484 2008-04-04 H.J. Lu <hongjiu.lu@intel.com>
486 * i386-gen.c (cpu_flag_init): Replace CPU_CLMUL_FLAGS/CpuCLMUL
487 with CPU_PCLMUL_FLAGS/CpuPCLMUL.
488 (cpu_flags): Replace CpuCLMUL with CpuPCLMUL.
489 * i386-opc.tbl: Likewise.
491 * i386-opc.h (CpuCLMUL): Renamed to ...
494 (i386_cpu_flags): Replace cpuclmul with cpupclmul.
496 * i386-init.h: Regenerated.
498 2008-04-03 H.J. Lu <hongjiu.lu@intel.com>
500 * i386-dis.c (OP_E_register): New.
501 (OP_E_memory): Likewise.
503 (OP_EX_Vex): Likewise.
504 (OP_EX_VexW): Likewise.
505 (OP_XMM_Vex): Likewise.
506 (OP_XMM_VexW): Likewise.
507 (OP_REG_VexI4): Likewise.
508 (PCLMUL_Fixup): Likewise.
509 (VEXI4_Fixup): Likewise.
510 (VZERO_Fixup): Likewise.
511 (VCMP_Fixup): Likewise.
512 (VPERMIL2_Fixup): Likewise.
513 (rex_original): Likewise.
514 (rex_ignored): Likewise.
535 (VPERMIL2): Likewise.
536 (xmm_mode): Likewise.
537 (xmmq_mode): Likewise.
538 (ymmq_mode): Likewise.
539 (vex_mode): Likewise.
540 (vex128_mode): Likewise.
541 (vex256_mode): Likewise.
542 (USE_VEX_C4_TABLE): Likewise.
543 (USE_VEX_C5_TABLE): Likewise.
544 (USE_VEX_LEN_TABLE): Likewise.
545 (VEX_C4_TABLE): Likewise.
546 (VEX_C5_TABLE): Likewise.
547 (VEX_LEN_TABLE): Likewise.
548 (REG_VEX_XX): Likewise.
549 (MOD_VEX_XXX): Likewise.
550 (PREFIX_0F38DB..PREFIX_0F38DF): Likewise.
551 (PREFIX_0F3A44): Likewise.
552 (PREFIX_0F3ADF): Likewise.
553 (PREFIX_VEX_XXX): Likewise.
555 (VEX_OF38): Likewise.
556 (VEX_OF3A): Likewise.
557 (VEX_LEN_XXX): Likewise.
559 (need_vex): Likewise.
560 (need_vex_reg): Likewise.
561 (vex_i4_done): Likewise.
562 (vex_table): Likewise.
563 (vex_len_table): Likewise.
564 (OP_REG_VexI4): Likewise.
565 (vex_cmp_op): Likewise.
566 (pclmul_op): Likewise.
567 (vpermil2_op): Likewise.
570 (PREFIX_0F38F0): Likewise.
571 (PREFIX_0F3A60): Likewise.
572 (reg_table): Add REG_VEX_71...REG_VEX_73 and REG_VEX_AE.
573 (prefix_table): Add PREFIX_0F38DB..PREFIX_0F38DF, PREFIX_0F3ADF
574 and PREFIX_VEX_XXX entries.
575 (x86_64_table): Use VEX_C4_TABLE and VEX_C5_TABLE.
576 (three_byte_table): Use PREFIX_0F38DB..PREFIX_0F38DF and
578 (mod_table): Use VEX_C4_TABLE, VEX_C5_TABLE and VEX_LEN_TABLE.
579 Add MOD_VEX_XXX entries.
580 (ckprefix): Initialize rex_original and rex_ignored. Store the
581 REX byte in rex_original.
582 (get_valid_dis386): Handle the implicit prefix in VEX prefix
583 bytes and USE_VEX_LEN_TABLE/USE_VEX_C4_TABLE/USE_VEX_C5_TABLE.
584 (print_insn): Set need_vex/need_vex_reg/vex_i4_done to 0 before
585 calling get_valid_dis386. Use rex_original and rex_ignored when
587 (putop): Handle "XY".
588 (intel_operand_size): Handle VEX, xmm_mode, xmmq_mode and
590 (OP_E_extended): Updated to use OP_E_register and
592 (OP_XMM): Handle VEX.
594 (XMM_Fixup): Likewise.
595 (CMP_Fixup): Use ARRAY_SIZE.
597 * i386-gen.c (cpu_flag_init): Add CpuAES, CPU_CLMUL_FLAGS,
598 CPU_FMA_FLAGS and CPU_AVX_FLAGS.
599 (operand_type_init): Add OPERAND_TYPE_REGYMM and
600 OPERAND_TYPE_VEX_IMM4.
601 (cpu_flags): Add CpuAVX, CpuAES, CpuCLMUL and CpuFMA.
602 (opcode_modifiers): Add Implicit1stXmm0, Vex, Vex256, VexNDD,
603 VexNDS, VexW0, VexW1, Vex0F, Vex0F38, Vex0F3A, Vex3Sources,
604 VexImmExt and SSE2AVX.
605 (operand_types): Add RegYMM, Ymmword and Vex_Imm4.
607 * i386-opc.h (CpuAVX): New.
609 (CpuCLMUL): Likewise.
620 (Vex3Sources): Likewise.
621 (VexImmExt): Likewise.
625 (Vex_Imm4): Likewise.
626 (Implicit1stXmm0): Likewise.
629 (ByteOkIntel): Likewise.
632 (Unspecified): Likewise.
634 (i386_cpu_flags): Add cpuavx, cpuaes, cpuclmul and cpufma.
635 (i386_opcode_modifier): Add implicit1stxmm0, vex, vex256,
636 vexnds, vexndd, vexw0, vexw1, vex0f, vex0f38, vex0f3a,
637 vex3sources, veximmext and sse2avx.
638 (i386_operand_type): Add regymm, ymmword and vex_imm4.
640 * i386-opc.tbl: Add AES, CLMUL, AVX and FMA new instructions.
642 * i386-reg.tbl: Add AVX registers, ymm0..ymm15.
644 * i386-init.h: Regenerated.
645 * i386-tbl.h: Likewise.
647 2008-03-26 Bernd Schmidt <bernd.schmidt@analog.com>
649 From Robin Getz <robin.getz@analog.com>
650 * bfin-dis.c (bu32): Typedef.
651 (enum const_forms_t): Add c_uimm32 and c_huimm32.
652 (constant_formats[]): Add uimm32 and huimm16.
657 (luimm16_val): Define.
658 (struct saved_state): Define.
659 (GREG, DPREG, DREG, PREG, SPREG, FPREG, IREG, MREG, BREG, LREG,
660 A0XREG, A0WREG, A1XREG, A1WREG,CCREG, LC0REG, LT0REG, LB0REG,
661 LC1REG, LT1REG, LB1REG, RETSREG, PCREG): Define.
663 (decode_LDIMMhalf_0): Print out the whole register value.
665 From Jie Zhang <jie.zhang@analog.com>
666 * bfin-dis.c (decode_dsp32mac_0): Decode (IU) option for
667 multiply and multiply-accumulate to data register instruction.
669 * bfin-dis.c: (c_uimm4s4d, c_imm5d, c_imm7d, c_imm16d, c_uimm16s4d,
670 c_imm32, c_huimm32e): Define.
671 (constant_formats): Add flags for printing decimal, leading spaces, and
673 (comment, parallel): Add global flags in all disassembly.
674 (fmtconst): Take advantage of new flags, and print default in hex.
675 (fmtconst_val): Likewise.
676 (decode_macfunc): Be consistant with spaces, tabs, comments,
677 capitalization in disassembly, fix minor coding style issues.
678 (reg_names, amod0, amod1, amod0amod2, aligndir, get_allreg): Likewise.
679 (decode_ProgCtrl_0, decode_PushPopMultiple_0, decode_CCflag_0,
680 decode_CC2dreg_0, decode_CC2stat_0, decode_BRCC_0, decode_UJUMP_0,
681 decode_REGMV_0, decode_ALU2op_0, decode_PTR2op_0, decode_LOGI2op_0,
682 decode_COMP3op_0, decode_COMPI2opD_0, decode_COMPI2opP_0,
683 decode_LDSTpmod_0, decode_dagMODim_0, decode_dagMODik_0,
684 decode_dspLDST_0, decode_LDST_0, decode_LDSTiiFP_0, decode_LDSTii_0,
685 decode_LoopSetup_0, decode_LDIMMhalf_0, decode_CALLa_0,
686 decode_LDSTidxI_0, decode_linkage_0, decode_dsp32alu_0,
687 decode_dsp32shift_0, decode_dsp32shiftimm_0, decode_pseudodbg_assert_0,
688 _print_insn_bfin, print_insn_bfin): Likewise.
690 2008-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
692 * aclocal.m4: Regenerate.
693 * configure: Likewise.
694 * Makefile.in: Likewise.
696 2008-03-13 Alan Modra <amodra@bigpond.net.au>
698 * Makefile.am: Run "make dep-am".
699 * Makefile.in: Regenerate.
700 * configure: Regenerate.
702 2008-03-07 Alan Modra <amodra@bigpond.net.au>
704 * ppc-opc.c (powerpc_opcodes): Order and format.
706 2008-03-01 H.J. Lu <hongjiu.lu@intel.com>
708 * i386-opc.tbl: Allow 16-bit near indirect branches for x86-64.
709 * i386-tbl.h: Regenerated.
711 2008-02-23 H.J. Lu <hongjiu.lu@intel.com>
713 * i386-opc.tbl: Disallow 16-bit near indirect branches for
715 * i386-tbl.h: Regenerated.
717 2008-02-21 Jan Beulich <jbeulich@novell.com>
719 * i386-opc.tbl: Allow Dword for far indirect call. Allow Dword
720 and Fword for far indirect jmp. Allow Reg16 and Word for near
721 indirect jmp on x86-64. Disallow Fword for lcall.
722 * i386-tbl.h: Re-generate.
724 2008-02-18 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
726 * cr16-opc.c (cr16_num_optab): Defined
728 2008-02-16 H.J. Lu <hongjiu.lu@intel.com>
730 * i386-gen.c (operand_type_init): Add OPERAND_TYPE_INOUTPORTREG.
731 * i386-init.h: Regenerated.
733 2008-02-14 Nick Clifton <nickc@redhat.com>
736 * configure.in (SHARED_LIBADD): Select the correct host specific
737 file extension for shared libraries.
738 * configure: Regenerate.
740 2008-02-13 Jan Beulich <jbeulich@novell.com>
742 * i386-opc.h (RegFlat): New.
743 * i386-reg.tbl (flat): Add.
744 * i386-tbl.h: Re-generate.
746 2008-02-13 Jan Beulich <jbeulich@novell.com>
748 * i386-dis.c (a_mode): New.
749 (cond_jump_mode): Adjust.
750 (Ma): Change to a_mode.
751 (intel_operand_size): Handle a_mode.
752 * i386-opc.tbl: Allow Dword and Qword for bound.
753 * i386-tbl.h: Re-generate.
755 2008-02-13 Jan Beulich <jbeulich@novell.com>
757 * i386-gen.c (process_i386_registers): Process new fields.
758 * i386-opc.h (reg_entry): Shrink reg_flags and reg_num to
759 unsigned char. Add dw2_regnum and Dw2Inval.
760 * i386-reg.tbl: Provide initializers for dw2_regnum. Add pseudo
762 * i386-tbl.h: Re-generate.
764 2008-02-11 H.J. Lu <hongjiu.lu@intel.com>
766 * i386-gen.c (cpu_flag_init): Add CPU_XSAVE_FLAGS.
767 * i386-init.h: Updated.
769 2008-02-11 H.J. Lu <hongjiu.lu@intel.com>
771 * i386-gen.c (cpu_flags): Add CpuXsave.
773 * i386-opc.h (CpuXsave): New.
775 (i386_cpu_flags): Add cpuxsave.
777 * i386-dis.c (MOD_0FAE_REG_4): New.
778 (RM_0F01_REG_2): Likewise.
779 (MOD_0FAE_REG_5): Updated.
780 (RM_0F01_REG_3): Likewise.
781 (reg_table): Use MOD_0FAE_REG_4.
782 (mod_table): Use RM_0F01_REG_2. Add MOD_0FAE_REG_4. Updated
784 (rm_table): Add RM_0F01_REG_2.
786 * i386-opc.tbl: Add xsave, xrstor, xgetbv and xsetbv.
787 * i386-init.h: Regenerated.
788 * i386-tbl.h: Likewise.
790 2008-02-11 Jan Beulich <jbeulich@novell.com>
792 * i386-opc.tbl: Remove Disp32S from CpuNo64 opcodes. Remove
793 Disp16 from Cpu64 non-jump opcodes (including loop and j?cxz).
794 * i386-tbl.h: Re-generate.
796 2008-02-04 H.J. Lu <hongjiu.lu@intel.com>
799 * configure: Regenerated.
801 2008-02-04 Adam Nemet <anemet@caviumnetworks.com>
803 * mips-dis.c: Update copyright.
804 (mips_arch_choices): Add Octeon.
805 * mips-opc.c: Update copyright.
807 (mips_builtin_opcodes): Add Octeon instruction synciobdma.
809 2008-01-29 Alan Modra <amodra@bigpond.net.au>
811 * ppc-opc.c: Support optional L form mtmsr.
813 2008-01-24 H.J. Lu <hongjiu.lu@intel.com>
815 * i386-dis.c (OP_E_extended): Handle r12 like rsp.
817 2008-01-23 H.J. Lu <hongjiu.lu@intel.com>
819 * i386-gen.c (cpu_flag_init): Add CpuLM to CPU_GENERIC64_FLAGS.
820 * i386-init.h: Regenerated.
822 2008-01-23 Tristan Gingold <gingold@adacore.com>
824 * ia64-dis.c (print_insn_ia64): Display symbolic name of ar.fcr,
825 ar.eflag, ar.csd, ar.ssd, ar.cflg, ar.fsr, ar.fir and ar.fdr.
827 2008-01-22 H.J. Lu <hongjiu.lu@intel.com>
829 * i386-gen.c (cpu_flag_init): Remove CpuMMX2.
830 (cpu_flags): Likewise.
832 * i386-opc.h (CpuMMX2): Removed.
835 * i386-opc.tbl: Replace CpuMMX2 with CpuSSE|Cpu3dnowA.
836 * i386-init.h: Regenerated.
837 * i386-tbl.h: Likewise.
839 2008-01-22 H.J. Lu <hongjiu.lu@intel.com>
841 * i386-gen.c (cpu_flag_init): Add CPU_VMX_FLAGS and
843 * i386-init.h: Regenerated.
845 2008-01-15 H.J. Lu <hongjiu.lu@intel.com>
847 * i386-opc.tbl: Use Qword on movddup.
848 * i386-tbl.h: Regenerated.
850 2008-01-15 H.J. Lu <hongjiu.lu@intel.com>
852 * i386-opc.tbl: Put back 16bit movsx/movzx for AT&T syntax.
853 * i386-tbl.h: Regenerated.
855 2008-01-15 H.J. Lu <hongjiu.lu@intel.com>
857 * i386-dis.c (Mx): New.
858 (PREFIX_0FC3): Likewise.
859 (PREFIX_0FC7_REG_6): Updated.
860 (dis386_twobyte): Use PREFIX_0FC3.
861 (prefix_table): Add PREFIX_0FC3. Use Mq on movntq and movntsd.
862 Use Mx on movntps, movntpd, movntdq and movntdqa. Use Md on
865 2008-01-14 H.J. Lu <hongjiu.lu@intel.com>
867 * i386-gen.c (opcode_modifiers): Add IntelSyntax.
868 (operand_types): Add Mem.
870 * i386-opc.h (IntelSyntax): New.
871 * i386-opc.h (Mem): New.
873 (Opcode_Modifier_Max): Updated.
874 (i386_opcode_modifier): Add intelsyntax.
875 (i386_operand_type): Add mem.
877 * i386-opc.tbl: Remove Reg16 from movnti. Add sizes to more
880 * i386-reg.tbl: Add size for accumulator.
882 * i386-init.h: Regenerated.
883 * i386-tbl.h: Likewise.
885 2008-01-13 H.J. Lu <hongjiu.lu@intel.com>
887 * i386-opc.h (Byte): Fix a typo.
889 2008-01-12 H.J. Lu <hongjiu.lu@intel.com>
892 * i386-gen.c (operand_type_init): Add Dword to
893 OPERAND_TYPE_ACC32. Add Qword to OPERAND_TYPE_ACC64.
894 (opcode_modifiers): Remove CheckSize, Byte, Word, Dword,
896 (operand_types): Add Byte, Word, Dword, Fword, Qword, Tbyte,
897 Xmmword, Unspecified and Anysize.
898 (set_bitfield): Make Mmword an alias of Qword. Make Oword
901 * i386-opc.h (CheckSize): Removed.
909 (i386_opcode_modifier): Remove checksize, byte, word, dword,
913 (Unspecified): Likewise.
915 (i386_operand_type): Add byte, word, dword, fword, qword,
916 tbyte xmmword, unspecified and anysize.
918 * i386-opc.tbl: Updated to use Byte, Word, Dword, Fword, Qword,
919 Tbyte, Xmmword, Unspecified and Anysize.
921 * i386-reg.tbl: Add size for accumulator.
923 * i386-init.h: Regenerated.
924 * i386-tbl.h: Likewise.
926 2008-01-10 H.J. Lu <hongjiu.lu@intel.com>
928 * i386-dis.c (REG_0F0E): Renamed to REG_0F0D.
930 (reg_table): Updated.
931 (dis386_twobyte): Updated. Use "nopQ" on 0x19 to 0x1e.
932 (twobyte_has_modrm): Set 1 for 0x19 to 0x1e.
934 2008-01-08 H.J. Lu <hongjiu.lu@intel.com>
936 * i386-gen.c (set_bitfield): Use fail () on error.
938 2008-01-08 H.J. Lu <hongjiu.lu@intel.com>
940 * i386-gen.c (lineno): New.
941 (filename): Likewise.
942 (set_bitfield): Report filename and line numer on error.
943 (process_i386_opcodes): Set filename and update lineno.
944 (process_i386_registers): Likewise.
946 2008-01-05 H.J. Lu <hongjiu.lu@intel.com>
948 * i386-gen.c (opcode_modifiers): Rename IntelMnemonic to
951 * i386-opc.h (IntelMnemonic): Renamed to ..
953 (Opcode_Modifier_Max): Updated.
954 (i386_opcode_modifier): Remove intelmnemonic. Add attsyntax
957 * i386-opc.tbl: Remove IntelMnemonic and update with ATTSyntax
958 on fsub, fubp, fsubr, fsubrp, div, fdivp, fdivr and fdivrp.
959 * i386-tbl.h: Regenerated.
961 2008-01-04 H.J. Lu <hongjiu.lu@intel.com>
963 * i386-gen.c: Update copyright to 2008.
964 * i386-opc.h: Likewise.
965 * i386-opc.tbl: Likewise.
967 * i386-init.h: Regenerated.
968 * i386-tbl.h: Likewise.
970 2008-01-04 H.J. Lu <hongjiu.lu@intel.com>
972 * i386-opc.tbl: Add NoRex64 to extractps, movmskpd, movmskps,
973 pextrb, pextrw, pinsrb, pinsrw and pmovmskb.
974 * i386-tbl.h: Regenerated.
976 2008-01-03 H.J. Lu <hongjiu.lu@intel.com>
978 * i386-gen.c (cpu_flag_init): Remove CpuSSE4_1_Or_5 and
980 (cpu_flags): Likewise.
982 * i386-opc.h (CpuSSE4_1_Or_5): Removed.
983 (CpuSSE4_2_Or_ABM): Likewise.
985 (i386_cpu_flags): Remove cpusse4_1_or_5 and cpusse4_2_or_abm.
987 * i386-opc.tbl: Replace CpuSSE4_1_Or_5, CpuSSE4_2_Or_ABM and
988 Cpu686|CpuPadLock with CpuSSE4_1|CpuSSE5, CpuABM|CpuSSE4_2
989 and CpuPadLock, respectively.
990 * i386-init.h: Regenerated.
991 * i386-tbl.h: Likewise.
993 2008-01-03 H.J. Lu <hongjiu.lu@intel.com>
995 * i386-gen.c (opcode_modifiers): Remove No_xSuf.
997 * i386-opc.h (No_xSuf): Removed.
998 (CheckSize): Updated.
1000 * i386-tbl.h: Regenerated.
1002 2008-01-02 H.J. Lu <hongjiu.lu@intel.com>
1004 * i386-gen.c (cpu_flag_init): Add CpuSSE4_2_Or_ABM to
1005 CPU_AMDFAM10_FLAGS, CPU_SSE4_2_FLAGS, CpuABM and
1007 (cpu_flags): Add CpuSSE4_2_Or_ABM.
1009 * i386-opc.h (CpuSSE4_2_Or_ABM): New.
1011 (i386_cpu_flags): Add cpusse4_2_or_abm.
1013 * i386-opc.tbl: Use CpuSSE4_2_Or_ABM instead of
1014 CpuABM|CpuSSE4_2 on popcnt.
1015 * i386-init.h: Regenerated.
1016 * i386-tbl.h: Likewise.
1018 2008-01-02 H.J. Lu <hongjiu.lu@intel.com>
1020 * i386-opc.h: Update comments.
1022 2008-01-02 H.J. Lu <hongjiu.lu@intel.com>
1024 * i386-gen.c (opcode_modifiers): Use Qword instead of QWord.
1025 * i386-opc.h: Likewise.
1026 * i386-opc.tbl: Likewise.
1028 2008-01-02 H.J. Lu <hongjiu.lu@intel.com>
1031 * i386-gen.c (opcode_modifiers): Add No_xSuf, CheckSize,
1032 Byte, Word, Dword, QWord and Xmmword.
1034 * i386-opc.h (No_xSuf): New.
1035 (CheckSize): Likewise.
1040 (Xmmword): Likewise.
1042 (i386_opcode_modifier): Add No_xSuf, CheckSize, Byte, Word,
1043 Dword, QWord and Xmmword.
1045 * i386-opc.tbl: Add CheckSize|QWord to movq if IgnoreSize is
1047 * i386-tbl.h: Regenerated.
1049 2008-01-02 Mark Kettenis <kettenis@gnu.org>
1051 * m88k-dis.c (instructions): Fix fcvt.* instructions.
1054 For older changes see ChangeLog-2007
1060 version-control: never