Fix bugs in the disassembly of some ld-instructions
[platform/upstream/binutils.git] / opcodes / ChangeLog
1 2008-09-14  Arnold Metselaar  <arnold.metselaar@planet.nl>
2
3         * z80-dis.c (prt_rr_nn): Fix register pair for two byte opcodes.
4         (tab_elt opc_ed): Add "ld r,a" and "ld r,a" instructions.
5
6 2008-09-11  H.J. Lu  <hongjiu.lu@intel.com>
7
8         * i386-opc.tbl: Fix memory operand size for cmpXXXs[sd].
9         * i386-tbl.h: Regenerated.
10
11 2008-08-28  Jan Beulich  <jbeulich@novell.com>
12
13         * i386-dis.c (dis386): Adjust far return mnemonics.
14         * i386-opc.tbl: Add retf.
15         * i386-tbl.h: Re-generate.
16
17 2008-08-28  Jan Beulich  <jbeulich@novell.com>
18
19         * i386-dis.c (dis386_twobyte): Adjust cmovXX mnemonics.
20
21 2008-08-28  H.J. Lu  <hongjiu.lu@intel.com>
22
23         * ia64-dis.c (print_insn_ia64): Handle cr.iib0 and cr.iib1.
24         * ia64-gen.c (lookup_specifier): Likewise.
25
26         * ia64-ic.tbl: Add support for cr.iib0 and cr.iib1.
27         * ia64-raw.tbl: Likewise.
28         * ia64-waw.tbl: Likewise.
29         * ia64-asmtab.c: Regenerated.
30
31 2008-08-27  H.J. Lu  <hongjiu.lu@intel.com>
32
33         * i386-opc.tbl: Correct fidivr operand size.
34
35         * i386-tbl.h: Regenerated.
36
37 2008-08-24  Alan Modra  <amodra@bigpond.net.au>
38
39         * configure.in: Update a number of obsolete autoconf macros.
40         * aclocal.m4: Regenerate.
41
42 2008-08-20  H.J. Lu  <hongjiu.lu@intel.com>
43
44         AVX Programming Reference (August, 2008)
45         * i386-dis.c (PREFIX_VEX_38DB): New.
46         (PREFIX_VEX_38DC): Likewise.
47         (PREFIX_VEX_38DD): Likewise.
48         (PREFIX_VEX_38DE): Likewise.
49         (PREFIX_VEX_38DF): Likewise.
50         (PREFIX_VEX_3ADF): Likewise.
51         (VEX_LEN_38DB_P_2): Likewise.
52         (VEX_LEN_38DC_P_2): Likewise.
53         (VEX_LEN_38DD_P_2): Likewise.
54         (VEX_LEN_38DE_P_2): Likewise.
55         (VEX_LEN_38DF_P_2): Likewise.
56         (VEX_LEN_3ADF_P_2): Likewise.
57         (PREFIX_VEX_3A04): Updated.
58         (VEX_LEN_3A06_P_2): Likewise.
59         (prefix_table): Add PREFIX_VEX_38DB, PREFIX_VEX_38DC,
60         PREFIX_VEX_38DD, PREFIX_VEX_38DE and PREFIX_VEX_3ADF.
61         (x86_64_table): Likewise.
62         (vex_len_table): Add VEX_LEN_38DB_P_2, VEX_LEN_38DC_P_2,
63         VEX_LEN_38DD_P_2, VEX_LEN_38DE_P_2, VEX_LEN_38DF_P_2 and
64         VEX_LEN_3ADF_P_2.
65
66         * i386-opc.tbl: Add AES + AVX instructions.
67         * i386-init.h: Regenerated.
68         * i386-tbl.h: Likewise.
69
70 2008-08-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
71
72         * s390-opc.c (INSTR_RRF_FFRU, MASK_RRF_FFRU): New instruction format.
73         * s390-opc.txt (lxr, rrdtr, rrxtr): Fix instruction format.
74
75 2008-08-15  Alan Modra  <amodra@bigpond.net.au>
76
77         PR 6526
78         * configure.in: Invoke AC_USE_SYSTEM_EXTENSIONS.
79         * Makefile.in: Regenerate.
80         * aclocal.m4: Regenerate.
81         * config.in: Regenerate.
82         * configure: Regenerate.
83
84 2008-08-14  Sebastian Huber  <sebastian.huber@embedded-brains.de>
85
86         PR 6825
87         * ppc-opc.c (powerpc_opcodes): Enable rfci, mfpmr, mtpmr for e300.
88
89 2008-08-12  H.J. Lu  <hongjiu.lu@intel.com>
90
91         * i386-opc.tbl: Add syscall and sysret for Cpu64.
92
93         * i386-tbl.h: Regenerated.
94
95 2008-08-04  Alan Modra  <amodra@bigpond.net.au>
96
97         * Makefile.am (POTFILES.in): Set LC_ALL=C.
98         * Makefile.in: Regenerate.
99         * po/POTFILES.in: Regenerate.
100
101 2008-08-01  Peter Bergner  <bergner@vnet.ibm.com>
102
103         * ppc-dis.c (powerpc_init_dialect): Handle power7 and vsx options.
104         (print_insn_powerpc): Prepend 'vs' when printing VSX registers.
105         (print_ppc_disassembler_options): Document -Mpower7 and -Mvsx.
106         * ppc-opc.c (insert_xt6): New static function.
107         (extract_xt6): Likewise.
108         (insert_xa6): Likewise.
109         (extract_xa6: Likewise.
110         (insert_xb6): Likewise.
111         (extract_xb6): Likewise.
112         (insert_xb6s): Likewise.
113         (extract_xb6s): Likewise.
114         (XS6, XT6, XA6, XB6, XB6S, DM, XX3, XX3DM, XX1_MASK, XX3_MASK,
115         XX3DM_MASK, PPCVSX): New.
116         (powerpc_opcodes): Add opcodes "lxvd2x", "lxvd2ux", "stxvd2x",
117         "stxvd2ux", "xxmrghd", "xxmrgld", "xxpermdi", "xvmovdp", "xvcpsgndp".
118
119 2008-08-01  Pedro Alves  <pedro@codesourcery.com>
120
121         * Makefile.am ($(srcdir)/ia64-asmtab.c): Remove line continuation.
122         * Makefile.in: Regenerate.
123
124 2008-08-01  H.J. Lu  <hongjiu.lu@intel.com>
125
126         * i386-reg.tbl: Use Dw2Inval on AVX registers.
127         * i386-tbl.h: Regenerated.
128
129 2008-07-30  Michael J. Eager  <eager@eagercon.com>
130
131         * ppc-dis.c (print_insn_powerpc): Disassemble FSL/FCR/UDI fields.
132         * ppc-opc.c (powerpc_operands): Add Xilinx APU related operands.
133         (insert_sprg, PPC405): Use PPC_OPCODE_405.
134         (powerpc_opcodes): Add Xilinx APU related opcodes.
135
136 2008-07-30  Alan Modra  <amodra@bigpond.net.au>
137
138         * bfin-dis.c, cris-dis.c, i386-dis.c, or32-opc.c: Silence gcc warnings.
139
140 2008-07-10  Richard Sandiford  <rdsandiford@googlemail.com>
141
142         * mips-dis.c (_print_insn_mips): Use ELF_ST_IS_MIPS16.
143
144 2008-07-07  Adam Nemet  <anemet@caviumnetworks.com>
145
146         * mips-opc.c (CP): New macro.
147         (mips_builtin_opcodes): Mark c0, c2 and c3 as CP.  Add Octeon to the
148         membership of di, dmfc0, dmtc0, ei, mfc0 and mtc0.  Add dmfc2 and
149         dmtc2 Octeon instructions.
150
151 2008-07-07  Stan Shebs  <stan@codesourcery.com>
152
153         * dis-init.c (init_disassemble_info): Init endian_code field.
154         * arm-dis.c (print_insn): Disassemble code according to
155         setting of endian_code.
156         (print_insn_big_arm): Detect when BE8 extension flag has been set.
157
158 2008-06-30  Richard Sandiford  <rdsandiford@googlemail.com>
159
160         * mips-dis.c (_print_insn_mips): Use bfd_asymbol_flavour to check
161         for ELF symbols.
162
163 2008-06-25  Peter Bergner  <bergner@vnet.ibm.com>
164
165         * ppc-dis.c (powerpc_init_dialect): Handle -M464.
166         (print_ppc_disassembler_options): Likewise.
167         * ppc-opc.c (PPC464): Define.
168         (powerpc_opcodes): Add mfdcrux and mtdcrux.
169
170 2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
171
172         * configure: Regenerate.
173
174 2008-06-13  Peter Bergner  <bergner@vnet.ibm.com>
175
176         * ppc-dis.c (print_insn_powerpc): Update prototye to use new
177         ppc_cpu_t typedef.
178         (struct dis_private): New.
179         (POWERPC_DIALECT): New define.
180         (powerpc_dialect): Renamed to...
181         (powerpc_init_dialect): This.  Update to use ppc_cpu_t and
182         struct dis_private.
183         (print_insn_big_powerpc): Update for using structure in
184         info->private_data.
185         (print_insn_little_powerpc): Likewise.
186         (operand_value_powerpc): Change type of dialect param to ppc_cpu_t.
187         (skip_optional_operands): Likewise.
188         (print_insn_powerpc): Likewise.  Remove initialization of dialect.
189         * ppc-opc.c (extract_bat, extract_bba, extract_bdm, extract_bdp,
190         extract_bo, extract_boe, extract_fxm, extract_mb6, extract_mbe,
191         extract_nb, extract_nsi, extract_rbs, extract_sh6, extract_spr,
192         extract_sprg, extract_tbr insert_bat, insert_bba, insert_bdm,
193         insert_bdp, insert_bo, insert_boe, insert_fxm, insert_mb6, insert_mbe,
194         insert_nsi, insert_ral, insert_ram, insert_raq, insert_ras, insert_rbs,
195         insert_sh6, insert_spr, insert_sprg, insert_tbr): Change the dialect
196         param to be of type ppc_cpu_t.  Update prototype.
197
198 2008-06-12  Adam Nemet  <anemet@caviumnetworks.com>
199
200         * mips-dis.c (print_insn_args): Handle field descriptors +x, +p,
201         +s, +S.
202         * mips-opc.c (mips_builtin_opcodes): Add Octeon instructions
203         baddu, bbit*, cins*, dmul, pop, dpop, exts*, mtm*, mtp*, syncs,
204         syncw, syncws, vm3mulu, vm0 and vmulu.
205
206         * mips-dis.c (print_insn_args): Handle field descriptor +Q.
207         * mips-opc.c (mips_builtin_opcodes): Add Octeon instructions seq,
208         seqi, sne and snei.
209
210 2008-05-30  H.J. Lu  <hongjiu.lu@intel.com>
211
212         * i386-opc.tbl: Add vmovd with 64bit operand.
213         * i386-tbl.h: Regenerated.
214
215 2008-05-27  Martin Schwidefsky  <schwidefsky@de.ibm.com>
216
217         * s390-opc.c (INSTR_RRF_R0RR): Fix RRF_R0RR operand format.
218
219 2008-05-22  H.J. Lu  <hongjiu.lu@intel.com>
220
221         * i386-opc.tbl: Add NoAVX to cvtpd2pi, cvtpi2pd and cvttpd2pi.
222         * i386-tbl.h: Regenerated.
223
224 2008-05-22  H.J. Lu  <hongjiu.lu@intel.com>
225
226         PR gas/6517
227         * i386-opc.tbl: Break cvtsi2ss/cvtsi2sd/vcvtsi2sd/vcvtsi2ss
228         into 32bit and 64bit.  Remove Reg64|Qword and add 
229         IgnoreSize|No_qSuf on 32bit version.
230         * i386-tbl.h: Regenerated.
231
232 2008-05-21  H.J. Lu  <hongjiu.lu@intel.com>
233
234         * i386-opc.tbl: Add NoAVX to movdq2q and movq2dq.
235         * i386-tbl.h: Regenerated.
236
237 2008-05-21  M R Swami Reddy <MR.Swami.Reddy@nsc.com>
238
239         * cr16-dis.c (build_mask): Adjust the mask for 32-bit bcond.
240
241 2008-05-14  Alan Modra  <amodra@bigpond.net.au>
242
243         * Makefile.am: Run "make dep-am".
244         * Makefile.in: Regenerate.
245
246 2008-05-02  H.J. Lu  <hongjiu.lu@intel.com>
247
248         * i386-dis.c (MOVBE_Fixup): New.
249         (Mo): Likewise.
250         (PREFIX_0F3880): Likewise.
251         (PREFIX_0F3881): Likewise.
252         (PREFIX_0F38F0): Updated.
253         (prefix_table): Add PREFIX_0F3880 and PREFIX_0F3881.  Update
254         PREFIX_0F38F0 and PREFIX_0F38F1 for movbe.
255         (three_byte_table): Use PREFIX_0F3880 and PREFIX_0F3881.
256
257         * i386-gen.c (cpu_flag_init): Add CPU_MOVBE_FLAGS and
258         CPU_EPT_FLAGS.
259         (cpu_flags): Add CpuMovbe and CpuEPT.
260
261         * i386-opc.h (CpuMovbe): New.
262         (CpuEPT): Likewise.
263         (CpuLM): Updated.
264         (i386_cpu_flags): Add cpumovbe and cpuept.
265
266         * i386-opc.tbl: Add entries for movbe and EPT instructions.
267         * i386-init.h: Regenerated.
268         * i386-tbl.h: Likewise.
269
270 2008-04-29  Adam Nemet  <anemet@caviumnetworks.com>
271
272         * mips-opc.c (mips_builtin_opcodes): Set field `match' to 0 for
273         the two drem and the two dremu macros.
274
275 2008-04-28  Adam Nemet  <anemet@caviumnetworks.com>
276
277         * mips-opc.c (mips_builtin_opcodes): Mark prefx and c1
278         instructions FP_S.  Mark l.s, li.s, lwc1, swc1, s.s, trunc.w.s and
279         cop1 macros INSN2_M_FP_S.  Mark l.d, li.d, ldc1 and sdc1 macros
280         INSN2_M_FP_D.  Mark trunc.w.d macro INSN2_M_FP_S and INSN2_M_FP_D.
281
282 2008-04-25  David S. Miller  <davem@davemloft.net>
283
284         * sparc-dis.c: Emit %stick instead of %sys_tick, and %stick_cmpr
285         instead of %sys_tick_cmpr, as suggested in architecture manuals.
286
287 2008-04-23  Paolo Bonzini  <bonzini@gnu.org>
288
289         * aclocal.m4: Regenerate.
290         * configure: Regenerate.
291
292 2008-04-23  David S. Miller  <davem@davemloft.net>
293
294         * sparc-opc.c (asi_table): Add UltraSPARC and Niagara
295         extended values.
296         (prefetch_table): Add missing values.
297
298 2008-04-22  H.J. Lu  <hongjiu.lu@intel.com>
299
300         * i386-gen.c (opcode_modifiers): Add NoAVX.
301
302         * i386-opc.h (NoAVX): New.
303         (OldGcc): Updated.
304         (i386_opcode_modifier): Add noavx.
305
306         * i386-opc.tbl: Add NoAVX to SSE, SSE2, SSE3 and SSSE3
307         instructions which don't have AVX equivalent.
308         * i386-tbl.h: Regenerated.
309
310 2008-04-18  H.J. Lu  <hongjiu.lu@intel.com>
311
312         * i386-dis.c (OP_VEX_FMA): New.
313         (OP_EX_VexImmW): Likewise.
314         (VexFMA): Likewise.
315         (Vex128FMA): Likewise.
316         (EXVexImmW): Likewise.
317         (get_vex_imm8): Likewise.
318         (OP_EX_VexReg): Likewise.
319         (vex_i4_done): Renamed to ...
320         (vex_w_done): This.
321         (prefix_table): Replace EXVexW with EXVexImmW on vpermil2ps
322         and vpermil2pd.  Replace Vex/Vex128 with VexFMA/Vex128FMA on
323         FMA instructions.
324         (print_insn): Updated.
325         (OP_EX_VexW): Rewrite to swap register in VEX with EX.
326         (OP_REG_VexI4): Check invalid high registers.
327
328 2008-04-16  Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
329             Michael Meissner  <michael.meissner@amd.com>
330
331         * i386-opc.tbl: Fix protX to allow memory in the middle operand.
332         * i386-tbl.h: Regenerate from i386-opc.tbl.
333
334 2008-04-14  Edmar Wienskoski  <edmar@freescale.com>
335
336         * ppc-dis.c (powerpc_dialect): Handle "e500mc".  Extend "e500" to
337         accept Power E500MC instructions.
338         (print_ppc_disassembler_options): Document -Me500mc.
339         * ppc-opc.c (DUIS, DUI, T): New.
340         (XRT, XRTRA): Likewise.
341         (E500MC): Likewise.
342         (powerpc_opcodes): Add new Power E500MC instructions.
343
344 2008-04-10  Andreas Krebbel  <krebbel1@de.ibm.com>
345
346         * s390-dis.c (init_disasm): Evaluate disassembler_options.
347         (print_s390_disassembler_options): New function.
348         * disassemble.c (disassembler_usage): Invoke
349         print_s390_disassembler_options.
350
351 2008-04-10  Andreas Krebbel  <krebbel1@de.ibm.com>
352
353         * s390-mkopc.c (insertExpandedMnemonic): Expand string sizes
354         of local variables used for mnemonic parsing: prefix, suffix and
355         number.
356
357 2008-04-10  Andreas Krebbel  <krebbel1@de.ibm.com>
358
359         * s390-mkopc.c (s390_cond_ext_format): Add back the mnemonic
360         extensions for conditional jumps (o, p, m, nz, z, nm, np, no).
361         (s390_crb_extensions): New extensions table.
362         (insertExpandedMnemonic): Handle '$' tag.
363         * s390-opc.txt: Remove conditional jump variants which can now
364         be expanded automatically.
365         Replace '*' tag with '$' in the compare and branch instructions.
366
367 2008-04-07  H.J. Lu  <hongjiu.lu@intel.com>
368
369         * i386-dis.c (PREFIX_VEX_38XX): Add a tab.
370         (PREFIX_VEX_3AXX): Likewis.
371
372 2008-04-07  H.J. Lu  <hongjiu.lu@intel.com>
373
374         * i386-opc.tbl: Remove 4 extra blank lines.
375
376 2008-04-04  H.J. Lu  <hongjiu.lu@intel.com>
377
378         * i386-gen.c (cpu_flag_init): Replace CPU_CLMUL_FLAGS/CpuCLMUL
379         with CPU_PCLMUL_FLAGS/CpuPCLMUL.
380         (cpu_flags): Replace CpuCLMUL with CpuPCLMUL.
381         * i386-opc.tbl: Likewise.
382
383         * i386-opc.h (CpuCLMUL): Renamed to ...
384         (CpuPCLMUL): This.
385         (CpuFMA): Updated.
386         (i386_cpu_flags): Replace cpuclmul with cpupclmul.
387
388         * i386-init.h: Regenerated.
389
390 2008-04-03  H.J. Lu  <hongjiu.lu@intel.com>
391
392         * i386-dis.c (OP_E_register): New.
393         (OP_E_memory): Likewise.
394         (OP_VEX): Likewise.
395         (OP_EX_Vex): Likewise.
396         (OP_EX_VexW): Likewise.
397         (OP_XMM_Vex): Likewise.
398         (OP_XMM_VexW): Likewise.
399         (OP_REG_VexI4): Likewise.
400         (PCLMUL_Fixup): Likewise.
401         (VEXI4_Fixup): Likewise.
402         (VZERO_Fixup): Likewise.
403         (VCMP_Fixup): Likewise.
404         (VPERMIL2_Fixup): Likewise.
405         (rex_original): Likewise.
406         (rex_ignored): Likewise.
407         (Mxmm): Likewise.
408         (XMM): Likewise.
409         (EXxmm): Likewise.
410         (EXxmmq): Likewise.
411         (EXymmq): Likewise.
412         (Vex): Likewise.
413         (Vex128): Likewise.
414         (Vex256): Likewise.
415         (VexI4): Likewise.
416         (EXdVex): Likewise.
417         (EXqVex): Likewise.
418         (EXVexW): Likewise.
419         (EXdVexW): Likewise.
420         (EXqVexW): Likewise.
421         (XMVex): Likewise.
422         (XMVexW): Likewise.
423         (XMVexI4): Likewise.
424         (PCLMUL): Likewise.
425         (VZERO): Likewise.
426         (VCMP): Likewise.
427         (VPERMIL2): Likewise.
428         (xmm_mode): Likewise.
429         (xmmq_mode): Likewise.
430         (ymmq_mode): Likewise.
431         (vex_mode): Likewise.
432         (vex128_mode): Likewise.
433         (vex256_mode): Likewise.
434         (USE_VEX_C4_TABLE): Likewise.
435         (USE_VEX_C5_TABLE): Likewise.
436         (USE_VEX_LEN_TABLE): Likewise.
437         (VEX_C4_TABLE): Likewise.
438         (VEX_C5_TABLE): Likewise.
439         (VEX_LEN_TABLE): Likewise.
440         (REG_VEX_XX): Likewise.
441         (MOD_VEX_XXX): Likewise.
442         (PREFIX_0F38DB..PREFIX_0F38DF): Likewise.
443         (PREFIX_0F3A44): Likewise.
444         (PREFIX_0F3ADF): Likewise.
445         (PREFIX_VEX_XXX): Likewise.
446         (VEX_OF): Likewise.
447         (VEX_OF38): Likewise.
448         (VEX_OF3A): Likewise.
449         (VEX_LEN_XXX): Likewise.
450         (vex): Likewise.
451         (need_vex): Likewise.
452         (need_vex_reg): Likewise.
453         (vex_i4_done): Likewise.
454         (vex_table): Likewise.
455         (vex_len_table): Likewise.
456         (OP_REG_VexI4): Likewise.
457         (vex_cmp_op): Likewise.
458         (pclmul_op): Likewise.
459         (vpermil2_op): Likewise.
460         (m_mode): Updated.
461         (es_reg): Likewise.
462         (PREFIX_0F38F0): Likewise.
463         (PREFIX_0F3A60): Likewise.
464         (reg_table): Add REG_VEX_71...REG_VEX_73 and REG_VEX_AE.
465         (prefix_table): Add PREFIX_0F38DB..PREFIX_0F38DF, PREFIX_0F3ADF
466         and PREFIX_VEX_XXX entries.
467         (x86_64_table): Use VEX_C4_TABLE and VEX_C5_TABLE.
468         (three_byte_table): Use PREFIX_0F38DB..PREFIX_0F38DF and
469         PREFIX_0F3ADF.
470         (mod_table): Use VEX_C4_TABLE, VEX_C5_TABLE and VEX_LEN_TABLE.
471         Add MOD_VEX_XXX entries.
472         (ckprefix): Initialize rex_original and rex_ignored.  Store the
473         REX byte in rex_original.
474         (get_valid_dis386): Handle the implicit prefix in VEX prefix
475         bytes and USE_VEX_LEN_TABLE/USE_VEX_C4_TABLE/USE_VEX_C5_TABLE.
476         (print_insn): Set need_vex/need_vex_reg/vex_i4_done to 0 before
477         calling get_valid_dis386.  Use rex_original and rex_ignored when
478         printing out REX.
479         (putop): Handle "XY".
480         (intel_operand_size): Handle VEX, xmm_mode, xmmq_mode and
481         ymmq_mode.
482         (OP_E_extended): Updated to use OP_E_register and
483         OP_E_memory.
484         (OP_XMM): Handle VEX.
485         (OP_EX): Likewise.
486         (XMM_Fixup): Likewise.
487         (CMP_Fixup): Use ARRAY_SIZE.
488
489         * i386-gen.c (cpu_flag_init): Add CpuAES, CPU_CLMUL_FLAGS,
490         CPU_FMA_FLAGS and CPU_AVX_FLAGS.
491         (operand_type_init): Add OPERAND_TYPE_REGYMM and
492         OPERAND_TYPE_VEX_IMM4.
493         (cpu_flags): Add CpuAVX, CpuAES, CpuCLMUL and CpuFMA.
494         (opcode_modifiers): Add Implicit1stXmm0, Vex, Vex256, VexNDD,
495         VexNDS, VexW0, VexW1, Vex0F, Vex0F38, Vex0F3A, Vex3Sources,
496         VexImmExt and SSE2AVX.
497         (operand_types): Add RegYMM, Ymmword and Vex_Imm4.
498
499         * i386-opc.h (CpuAVX): New.
500         (CpuAES): Likewise.
501         (CpuCLMUL): Likewise.
502         (CpuFMA): Likewise.
503         (Vex): Likewise.
504         (Vex256): Likewise.
505         (VexNDS): Likewise.
506         (VexNDD): Likewise.
507         (VexW0): Likewise.
508         (VexW1): Likewise.
509         (Vex0F): Likewise.
510         (Vex0F38): Likewise.
511         (Vex0F3A): Likewise.
512         (Vex3Sources): Likewise.
513         (VexImmExt): Likewise.
514         (SSE2AVX): Likewise.
515         (RegYMM): Likewise.
516         (Ymmword): Likewise.
517         (Vex_Imm4): Likewise.
518         (Implicit1stXmm0): Likewise.
519         (CpuXsave): Updated.
520         (CpuLM): Likewise.
521         (ByteOkIntel): Likewise.
522         (OldGcc): Likewise.
523         (Control): Likewise.
524         (Unspecified): Likewise.
525         (OTMax): Likewise.
526         (i386_cpu_flags): Add cpuavx, cpuaes, cpuclmul and cpufma.
527         (i386_opcode_modifier): Add implicit1stxmm0, vex, vex256,
528         vexnds, vexndd, vexw0, vexw1, vex0f, vex0f38, vex0f3a,
529         vex3sources, veximmext and sse2avx.
530         (i386_operand_type): Add regymm, ymmword and vex_imm4.
531
532         * i386-opc.tbl: Add AES, CLMUL, AVX and FMA new instructions.
533
534         * i386-reg.tbl: Add AVX registers, ymm0..ymm15.
535
536         * i386-init.h: Regenerated.
537         * i386-tbl.h: Likewise.
538
539 2008-03-26  Bernd Schmidt  <bernd.schmidt@analog.com>
540
541         From  Robin Getz  <robin.getz@analog.com>
542         * bfin-dis.c (bu32): Typedef.
543         (enum const_forms_t): Add c_uimm32 and c_huimm32.
544         (constant_formats[]): Add uimm32 and huimm16.
545         (fmtconst_val): New.
546         (uimm32): Define.
547         (huimm32): Define.
548         (imm16_val): Define.
549         (luimm16_val): Define.
550         (struct saved_state): Define.
551         (GREG, DPREG, DREG, PREG, SPREG, FPREG, IREG, MREG, BREG, LREG,
552         A0XREG, A0WREG, A1XREG, A1WREG,CCREG, LC0REG, LT0REG, LB0REG,
553         LC1REG, LT1REG, LB1REG, RETSREG, PCREG): Define.
554         (get_allreg): New.
555         (decode_LDIMMhalf_0): Print out the whole register value.
556
557         From Jie Zhang  <jie.zhang@analog.com>
558         * bfin-dis.c (decode_dsp32mac_0): Decode (IU) option for
559         multiply and multiply-accumulate to data register instruction.
560
561         * bfin-dis.c: (c_uimm4s4d, c_imm5d, c_imm7d, c_imm16d, c_uimm16s4d,
562         c_imm32, c_huimm32e): Define.
563         (constant_formats): Add flags for printing decimal, leading spaces, and
564         exact symbols.
565         (comment, parallel): Add global flags in all disassembly.
566         (fmtconst): Take advantage of new flags, and print default in hex.
567         (fmtconst_val): Likewise.
568         (decode_macfunc): Be consistant with spaces, tabs, comments,
569         capitalization in disassembly, fix minor coding style issues.
570         (reg_names, amod0, amod1, amod0amod2, aligndir, get_allreg): Likewise.
571         (decode_ProgCtrl_0, decode_PushPopMultiple_0, decode_CCflag_0,
572         decode_CC2dreg_0, decode_CC2stat_0, decode_BRCC_0, decode_UJUMP_0,
573         decode_REGMV_0, decode_ALU2op_0, decode_PTR2op_0, decode_LOGI2op_0,
574         decode_COMP3op_0, decode_COMPI2opD_0, decode_COMPI2opP_0,
575         decode_LDSTpmod_0, decode_dagMODim_0, decode_dagMODik_0,
576         decode_dspLDST_0, decode_LDST_0, decode_LDSTiiFP_0, decode_LDSTii_0,
577         decode_LoopSetup_0, decode_LDIMMhalf_0, decode_CALLa_0,
578         decode_LDSTidxI_0, decode_linkage_0, decode_dsp32alu_0,
579         decode_dsp32shift_0, decode_dsp32shiftimm_0, decode_pseudodbg_assert_0,
580         _print_insn_bfin, print_insn_bfin): Likewise.
581
582 2008-03-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
583
584         * aclocal.m4: Regenerate.
585         * configure: Likewise.
586         * Makefile.in: Likewise.
587
588 2008-03-13  Alan Modra  <amodra@bigpond.net.au>
589
590         * Makefile.am: Run "make dep-am".
591         * Makefile.in: Regenerate.
592         * configure: Regenerate.
593
594 2008-03-07  Alan Modra  <amodra@bigpond.net.au>
595
596         * ppc-opc.c (powerpc_opcodes): Order and format.
597
598 2008-03-01  H.J. Lu  <hongjiu.lu@intel.com>
599
600         * i386-opc.tbl: Allow 16-bit near indirect branches for x86-64.
601         * i386-tbl.h: Regenerated.
602
603 2008-02-23  H.J. Lu  <hongjiu.lu@intel.com>
604
605         * i386-opc.tbl: Disallow 16-bit near indirect branches for
606         x86-64.
607         * i386-tbl.h: Regenerated.
608
609 2008-02-21  Jan Beulich  <jbeulich@novell.com>
610
611         * i386-opc.tbl: Allow Dword for far indirect call. Allow Dword
612         and Fword for far indirect jmp. Allow Reg16 and Word for near
613         indirect jmp on x86-64. Disallow Fword for lcall.
614         * i386-tbl.h: Re-generate.
615
616 2008-02-18  M R Swami Reddy <MR.Swami.Reddy@nsc.com>
617
618         * cr16-opc.c  (cr16_num_optab): Defined
619
620 2008-02-16  H.J. Lu  <hongjiu.lu@intel.com>
621
622         * i386-gen.c  (operand_type_init): Add OPERAND_TYPE_INOUTPORTREG.
623         * i386-init.h: Regenerated.
624
625 2008-02-14  Nick Clifton  <nickc@redhat.com>
626
627         PR binutils/5524
628         * configure.in (SHARED_LIBADD): Select the correct host specific
629         file extension for shared libraries.
630         * configure: Regenerate.
631
632 2008-02-13  Jan Beulich  <jbeulich@novell.com>
633
634         * i386-opc.h (RegFlat): New.
635         * i386-reg.tbl (flat): Add.
636         * i386-tbl.h: Re-generate.
637
638 2008-02-13  Jan Beulich  <jbeulich@novell.com>
639
640         * i386-dis.c (a_mode): New.
641         (cond_jump_mode): Adjust.
642         (Ma): Change to a_mode.
643         (intel_operand_size): Handle a_mode.
644         * i386-opc.tbl: Allow Dword and Qword for bound.
645         * i386-tbl.h: Re-generate.
646
647 2008-02-13  Jan Beulich  <jbeulich@novell.com>
648
649         * i386-gen.c (process_i386_registers): Process new fields.
650         * i386-opc.h (reg_entry): Shrink reg_flags and reg_num to
651         unsigned char. Add dw2_regnum and Dw2Inval.
652         * i386-reg.tbl: Provide initializers for dw2_regnum. Add pseudo
653         register names.
654         * i386-tbl.h: Re-generate.
655
656 2008-02-11  H.J. Lu  <hongjiu.lu@intel.com>
657
658         * i386-gen.c (cpu_flag_init): Add CPU_XSAVE_FLAGS.
659         * i386-init.h: Updated.
660
661 2008-02-11  H.J. Lu  <hongjiu.lu@intel.com>
662
663         * i386-gen.c (cpu_flags): Add CpuXsave.
664
665         * i386-opc.h (CpuXsave): New.
666         (CpuLM): Updated.
667         (i386_cpu_flags): Add cpuxsave.
668
669         * i386-dis.c (MOD_0FAE_REG_4): New.
670         (RM_0F01_REG_2): Likewise.
671         (MOD_0FAE_REG_5): Updated.
672         (RM_0F01_REG_3): Likewise.
673         (reg_table): Use MOD_0FAE_REG_4.
674         (mod_table): Use RM_0F01_REG_2.  Add MOD_0FAE_REG_4.  Updated
675         for xrstor.
676         (rm_table): Add RM_0F01_REG_2.
677
678         * i386-opc.tbl: Add xsave, xrstor, xgetbv and xsetbv.
679         * i386-init.h: Regenerated.
680         * i386-tbl.h: Likewise.
681
682 2008-02-11  Jan Beulich  <jbeulich@novell.com>
683
684         * i386-opc.tbl: Remove Disp32S from CpuNo64 opcodes. Remove
685         Disp16 from Cpu64 non-jump opcodes (including loop and j?cxz).
686         * i386-tbl.h: Re-generate.
687
688 2008-02-04  H.J. Lu  <hongjiu.lu@intel.com>
689
690         PR 5715
691         * configure: Regenerated.
692
693 2008-02-04  Adam Nemet  <anemet@caviumnetworks.com>
694
695         * mips-dis.c: Update copyright.
696         (mips_arch_choices): Add Octeon.
697         * mips-opc.c: Update copyright.
698         (IOCT): New macro.
699         (mips_builtin_opcodes): Add Octeon instruction synciobdma.
700
701 2008-01-29  Alan Modra  <amodra@bigpond.net.au>
702
703         * ppc-opc.c: Support optional L form mtmsr.
704
705 2008-01-24  H.J. Lu  <hongjiu.lu@intel.com>
706
707         * i386-dis.c (OP_E_extended): Handle r12 like rsp.
708
709 2008-01-23  H.J. Lu  <hongjiu.lu@intel.com>
710
711         * i386-gen.c (cpu_flag_init): Add CpuLM to CPU_GENERIC64_FLAGS.
712         * i386-init.h: Regenerated.
713
714 2008-01-23  Tristan Gingold  <gingold@adacore.com>
715
716         * ia64-dis.c (print_insn_ia64): Display symbolic name of ar.fcr,
717         ar.eflag, ar.csd, ar.ssd, ar.cflg, ar.fsr, ar.fir and ar.fdr.
718
719 2008-01-22  H.J. Lu  <hongjiu.lu@intel.com>
720
721         * i386-gen.c (cpu_flag_init): Remove CpuMMX2.
722         (cpu_flags): Likewise.
723
724         * i386-opc.h (CpuMMX2): Removed.
725         (CpuSSE): Updated.
726
727         * i386-opc.tbl: Replace CpuMMX2 with CpuSSE|Cpu3dnowA.
728         * i386-init.h: Regenerated.
729         * i386-tbl.h: Likewise.
730
731 2008-01-22  H.J. Lu  <hongjiu.lu@intel.com>
732
733         * i386-gen.c (cpu_flag_init): Add CPU_VMX_FLAGS and
734         CPU_SMX_FLAGS.
735         * i386-init.h: Regenerated.
736
737 2008-01-15  H.J. Lu  <hongjiu.lu@intel.com>
738
739         * i386-opc.tbl: Use Qword on movddup.
740         * i386-tbl.h: Regenerated.
741
742 2008-01-15  H.J. Lu  <hongjiu.lu@intel.com>
743
744         * i386-opc.tbl: Put back 16bit movsx/movzx for AT&T syntax.
745         * i386-tbl.h: Regenerated.
746
747 2008-01-15  H.J. Lu  <hongjiu.lu@intel.com>
748
749         * i386-dis.c (Mx): New.
750         (PREFIX_0FC3): Likewise.
751         (PREFIX_0FC7_REG_6): Updated.
752         (dis386_twobyte): Use PREFIX_0FC3.
753         (prefix_table): Add PREFIX_0FC3.  Use Mq on movntq and movntsd.
754         Use Mx on movntps, movntpd, movntdq and movntdqa.  Use Md on
755         movntss.
756
757 2008-01-14  H.J. Lu  <hongjiu.lu@intel.com>
758
759         * i386-gen.c (opcode_modifiers): Add IntelSyntax.
760         (operand_types): Add Mem.
761
762         * i386-opc.h (IntelSyntax): New.
763         * i386-opc.h (Mem): New.
764         (Byte): Updated.
765         (Opcode_Modifier_Max): Updated.
766         (i386_opcode_modifier): Add intelsyntax.
767         (i386_operand_type): Add mem.
768
769         * i386-opc.tbl: Remove Reg16 from movnti.  Add sizes to more
770         instructions.
771
772         * i386-reg.tbl: Add size for accumulator.
773
774         * i386-init.h: Regenerated.
775         * i386-tbl.h: Likewise.
776
777 2008-01-13  H.J. Lu  <hongjiu.lu@intel.com>
778
779         * i386-opc.h (Byte): Fix a typo.
780
781 2008-01-12  H.J. Lu  <hongjiu.lu@intel.com>
782
783         PR gas/5534
784         * i386-gen.c (operand_type_init): Add Dword to
785         OPERAND_TYPE_ACC32.  Add Qword to OPERAND_TYPE_ACC64.
786         (opcode_modifiers): Remove CheckSize, Byte, Word, Dword,
787         Qword and Xmmword.
788         (operand_types): Add Byte, Word, Dword, Fword, Qword, Tbyte,
789         Xmmword, Unspecified and Anysize.
790         (set_bitfield): Make Mmword an alias of Qword.  Make Oword
791         an alias of Xmmword.
792
793         * i386-opc.h (CheckSize): Removed.
794         (Byte): Updated.
795         (Word): Likewise.
796         (Dword): Likewise.
797         (Qword): Likewise.
798         (Xmmword): Likewise.
799         (FWait): Updated.
800         (OTMax): Likewise.
801         (i386_opcode_modifier): Remove checksize, byte, word, dword,
802         qword and xmmword.
803         (Fword): New.
804         (TBYTE): Likewise.
805         (Unspecified): Likewise.
806         (Anysize): Likewise.
807         (i386_operand_type): Add byte, word, dword, fword, qword,
808         tbyte xmmword, unspecified and anysize.
809
810         * i386-opc.tbl: Updated to use Byte, Word, Dword, Fword, Qword,
811         Tbyte, Xmmword, Unspecified and Anysize.
812
813         * i386-reg.tbl: Add size for accumulator.
814
815         * i386-init.h: Regenerated.
816         * i386-tbl.h: Likewise.
817
818 2008-01-10  H.J. Lu  <hongjiu.lu@intel.com>
819
820         * i386-dis.c (REG_0F0E): Renamed to REG_0F0D.
821         (REG_0F18): Updated.
822         (reg_table): Updated.
823         (dis386_twobyte): Updated.  Use "nopQ" on 0x19 to 0x1e.
824         (twobyte_has_modrm): Set 1 for 0x19 to 0x1e.
825
826 2008-01-08  H.J. Lu  <hongjiu.lu@intel.com>
827
828         * i386-gen.c (set_bitfield): Use fail () on error.
829
830 2008-01-08  H.J. Lu  <hongjiu.lu@intel.com>
831
832         * i386-gen.c (lineno): New.
833         (filename): Likewise.
834         (set_bitfield): Report filename and line numer on error.
835         (process_i386_opcodes): Set filename and update lineno.
836         (process_i386_registers): Likewise.
837
838 2008-01-05  H.J. Lu  <hongjiu.lu@intel.com>
839
840         * i386-gen.c (opcode_modifiers): Rename IntelMnemonic to
841         ATTSyntax.
842
843         * i386-opc.h (IntelMnemonic): Renamed to ..
844         (ATTSyntax): This
845         (Opcode_Modifier_Max): Updated.
846         (i386_opcode_modifier): Remove intelmnemonic. Add attsyntax
847         and intelsyntax.
848
849         * i386-opc.tbl: Remove IntelMnemonic and update with ATTSyntax
850         on fsub, fubp, fsubr, fsubrp, div, fdivp, fdivr and fdivrp.
851         * i386-tbl.h: Regenerated.
852
853 2008-01-04  H.J. Lu  <hongjiu.lu@intel.com>
854
855         * i386-gen.c: Update copyright to 2008.
856         * i386-opc.h: Likewise.
857         * i386-opc.tbl: Likewise.
858
859         * i386-init.h: Regenerated.
860         * i386-tbl.h: Likewise.
861
862 2008-01-04  H.J. Lu  <hongjiu.lu@intel.com>
863
864         * i386-opc.tbl: Add NoRex64 to extractps, movmskpd, movmskps,
865         pextrb, pextrw, pinsrb, pinsrw and pmovmskb.
866         * i386-tbl.h: Regenerated.
867
868 2008-01-03  H.J. Lu  <hongjiu.lu@intel.com>
869
870         * i386-gen.c (cpu_flag_init): Remove CpuSSE4_1_Or_5 and
871         CpuSSE4_2_Or_ABM.
872         (cpu_flags): Likewise.
873
874         * i386-opc.h (CpuSSE4_1_Or_5): Removed.
875         (CpuSSE4_2_Or_ABM): Likewise.
876         (CpuLM): Updated.
877         (i386_cpu_flags): Remove cpusse4_1_or_5 and cpusse4_2_or_abm.
878
879         * i386-opc.tbl: Replace CpuSSE4_1_Or_5, CpuSSE4_2_Or_ABM and
880         Cpu686|CpuPadLock with CpuSSE4_1|CpuSSE5, CpuABM|CpuSSE4_2
881         and CpuPadLock, respectively.
882         * i386-init.h: Regenerated.
883         * i386-tbl.h: Likewise.
884
885 2008-01-03  H.J. Lu  <hongjiu.lu@intel.com>
886
887         * i386-gen.c (opcode_modifiers): Remove No_xSuf.
888
889         * i386-opc.h (No_xSuf): Removed.
890         (CheckSize): Updated.
891
892         * i386-tbl.h: Regenerated.
893
894 2008-01-02  H.J. Lu  <hongjiu.lu@intel.com>
895
896         * i386-gen.c (cpu_flag_init): Add CpuSSE4_2_Or_ABM to
897         CPU_AMDFAM10_FLAGS, CPU_SSE4_2_FLAGS, CpuABM and
898         CPU_SSE5_FLAGS.
899         (cpu_flags): Add CpuSSE4_2_Or_ABM.
900
901         * i386-opc.h (CpuSSE4_2_Or_ABM): New.
902         (CpuLM): Updated.
903         (i386_cpu_flags): Add cpusse4_2_or_abm.
904
905         * i386-opc.tbl: Use CpuSSE4_2_Or_ABM instead of
906         CpuABM|CpuSSE4_2 on popcnt.
907         * i386-init.h: Regenerated.
908         * i386-tbl.h: Likewise.
909
910 2008-01-02  H.J. Lu  <hongjiu.lu@intel.com>
911
912         * i386-opc.h: Update comments.
913
914 2008-01-02  H.J. Lu  <hongjiu.lu@intel.com>
915
916         * i386-gen.c (opcode_modifiers): Use Qword instead of QWord.
917         * i386-opc.h: Likewise.
918         * i386-opc.tbl: Likewise.
919
920 2008-01-02  H.J. Lu  <hongjiu.lu@intel.com>
921
922         PR gas/5534
923         * i386-gen.c (opcode_modifiers): Add No_xSuf, CheckSize,
924         Byte, Word, Dword, QWord and Xmmword.
925
926         * i386-opc.h (No_xSuf): New.
927         (CheckSize): Likewise.
928         (Byte): Likewise.
929         (Word): Likewise.
930         (Dword): Likewise.
931         (QWord): Likewise.
932         (Xmmword): Likewise.
933         (FWait): Updated.
934         (i386_opcode_modifier): Add No_xSuf, CheckSize, Byte, Word,
935         Dword, QWord and Xmmword.
936
937         * i386-opc.tbl: Add CheckSize|QWord to movq if IgnoreSize is
938         used.
939         * i386-tbl.h: Regenerated.
940
941 2008-01-02  Mark Kettenis  <kettenis@gnu.org>
942
943         * m88k-dis.c (instructions): Fix fcvt.* instructions.
944         From Miod Vallat.
945
946 For older changes see ChangeLog-2007
947 \f
948 Local Variables:
949 mode: change-log
950 left-margin: 8
951 fill-column: 74
952 version-control: never
953 End: