opcodes/
[external/binutils.git] / opcodes / ChangeLog
1 2009-03-03  Peter Bergner  <bergner@vnet.ibm.com>
2
3         * ppc-opc.c (powerpc_opcodes): Reorder the opcode table so that
4         instructions from newer processors are listed before older ones.
5
6 2009-03-02  Qinwei  <qinwei@sunnorth.com.cn>
7
8         * score7-dis.c: New file.
9         * Makefile.am: Add dependencies for score7-dis.c.
10         * Makefile.in: Regenerate.
11         * configure.in: Add score7-dis to score files.
12         * configure: Regenerate.
13         * score-dis.c: Add support for score7 architecture.
14         * score-opc.h: Likewise.
15
16 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17
18         * configure: Regenerate.
19
20 2009-02-27  H.J. Lu  <hongjiu.lu@intel.com>
21
22         * i386-dis.c (OP_EX): Call OP_E_memory instead of OP_E.
23
24 2009-02-26  Peter Bergner  <bergner@vnet.ibm.com>
25
26         * ppc-dis.c (powerpc_init_dialect): Extend -Mpower7 to disassemble
27         the power7 and the isel instructions.
28         * ppc-opc.c (insert_xc6, extract_xc6): New static functions.
29         (insert_dm, extract_dm): Likewise.
30         (XB6): Update comment to include XX2 form.
31         (WC, XC6, SHW, DMEX, UIM, XX2, XX3RC, XX4, XX2_MASK, XX2UIM_MASK,
32         XX2BF_MASK, XX3BF_MASK, XX3SHW_MASK, XX4_MASK, XWC_MASK, POWER7): New.
33         (RemoveXX3DM): Delete.
34         (powerpc_opcodes): <"lfdp", "lfdpx", "mcrxr", "mftb", "mffgpr",
35         "mftgpr">: Deprecate for POWER7.
36         <"fres", "fres.", "frsqrtes", "frsqrtes.", "fre", "fre.", "frsqrte",
37         "frsqrte.">: Deprecate the three operand form and enable the two
38         operand form for POWER7 and later.
39         <"wait">: Extend to accept optional parameter.  Enable for POWER7.
40         <"waitsrv", "waitimpl">: Add extended opcodes.
41         <"ldbrx", "stdbrx">: Enable for POWER7.
42         <"cdtbcd", "cbcdtd", "addg6s">: Add POWER6 opcodes.
43         <"bpermd", "dcbtstt", "dcbtt", "dcffix.", "dcffix", "divde.", "divde",
44         "divdeo.", "divdeo", "divdeu.", "divdeu", "divdeuo.", "divdeuo",
45         "divwe.", "divwe", "divweo.", "divweo", "divweu.", "divweu", "divweuo.",
46         "divweuo", "fcfids.", "fcfids", "fcfidu.", "fcfidu", "fcfidus.",
47         "fcfidus", "fctidu.", "fctidu", "fctiduz.", "fctiduz", "fctiwu.",
48         "fctiwu", "fctiwuz.", "fctiwuz", "ftdiv", "ftsqrt", "lbarx", "lfiwzx",
49         "lharx", "popcntd", "popcntw", "stbcx.", "sthcx.">: Add POWER7 opcodes.
50         <"lxsdux", "lxsdx", "lxvdsx", "lxvw4ux", "lxvw4x", "stxsdux", "stxsdx",
51         "stxvw4ux", "stxvw4x", "xsabsdp", "xsadddp", "xscmpodp", "xscmpudp",
52         "xscpsgndp", "xscvdpsp", "xscvdpsxds", "xscvdpsxws", "xscvdpuxds",
53         "xscvdpuxws", "xscvspdp", "xscvsxddp", "xscvuxddp", "xsdivdp",
54         "xsmaddadp", "xsmaddmdp", "xsmaxdp", "xsmindp", "xsmsubadp",
55         "xsmsubmdp", "xsmuldp", "xsnabsdp", "xsnegdp", "xsnmaddadp",
56         "xsnmaddmdp", "xsnmsubadp", "xsnmsubmdp", "xsrdpi", "xsrdpic",
57         "xsrdpim", "xsrdpip", "xsrdpiz", "xsredp", "xsrsqrtedp", "xssqrtdp",
58         "xssubdp", "xstdivdp", "xstsqrtdp", "xvabsdp", "xvabssp", "xvadddp",
59         "xvaddsp", "xvcmpeqdp.", "xvcmpeqdp", "xvcmpeqsp.", "xvcmpeqsp",
60         "xvcmpgedp.", "xvcmpgedp", "xvcmpgesp.", "xvcmpgesp", "xvcmpgtdp.",
61         "xvcmpgtdp", "xvcmpgtsp.", "xvcmpgtsp", "xvcpsgnsp", "xvcvdpsp",
62         "xvcvdpsxds", "xvcvdpsxws", "xvcvdpuxds", "xvcvdpuxws", "xvcvspdp",
63         "xvcvspsxds", "xvcvspsxws", "xvcvspuxds", "xvcvspuxws", "xvcvsxddp",
64         "xvcvsxdsp", "xvcvsxwdp", "xvcvsxwsp", "xvcvuxddp", "xvcvuxdsp",
65         "xvcvuxwdp", "xvcvuxwsp", "xvdivdp", "xvdivsp", "xvmaddadp",
66         "xvmaddasp", "xvmaddmdp", "xvmaddmsp", "xvmaxdp", "xvmaxsp",
67         "xvmindp", "xvminsp", "xvmovsp", "xvmsubadp", "xvmsubasp", "xvmsubmdp",
68         "xvmsubmsp", "xvmuldp", "xvmulsp", "xvnabsdp", "xvnabssp", "xvnegdp",
69         "xvnegsp", "xvnmaddadp", "xvnmaddasp", "xvnmaddmdp", "xvnmaddmsp",
70         "xvnmsubadp", "xvnmsubasp", "xvnmsubmdp", "xvnmsubmsp", "xvrdpi",
71         "xvrdpic", "xvrdpim", "xvrdpip", "xvrdpiz", "xvredp", "xvresp",
72         "xvrspi", "xvrspic", "xvrspim", "xvrspip", "xvrspiz", "xvrsqrtedp",
73         "xvrsqrtesp", "xvsqrtdp", "xvsqrtsp", "xvsubdp", "xvsubsp", "xvtdivdp",
74         "xvtdivsp", "xvtsqrtdp", "xvtsqrtsp", "xxland", "xxlandc", "xxlnor",
75         "xxlor", "xxlxor", "xxmrghw", "xxmrglw", "xxsel", "xxsldwi", "xxspltd",
76         "xxspltw", "xxswapd">: Add VSX opcodes.
77
78 2009-02-23  H.J. Lu  <hongjiu.lu@intel.com>
79
80         * i386-gen.c (operand_type_init): Remove OPERAND_TYPE_VEX_IMM4.
81         (operand_types): Remove Vex_Imm4.
82
83         * i386-opc.h (Vex_Imm4): Removed.
84         (OTMax): Updated.
85         (i386_operand_type): Remove vex_imm4.
86
87         * i386-opc.tbl: Remove Vex_Imm4 comments.
88         * i386-init.h: Regenerated.
89         * i386-tbl.h: Likewise.
90
91 2009-02-23  Richard Earnshaw  <rearnsha@arm.com>
92
93         * arm-dis.c (neon_opcodes): Correct bit-mask and patterns for
94         vq{r}shr{u}n.s64 insnstructions.
95
96 2009-02-19  Peter Bergner  <bergner@vnet.ibm.com>
97
98         * ppc-opc.c (powerpc_opcodes) <"lfdepx", "stfdepx">: Fix the first
99         operand to be a float point register (FRT/FRS).
100
101 2009-02-18  Adam Nemet  <anemet@caviumnetworks.com>
102
103         * mips-opc.c (mips_builtin_opcodes): Move the Octeon-specific
104         dmfc2 and dmtc2 before the architecture-level variants.
105
106 2009-02-18  Pierre Muller  <muller@ics.u-strasbg.fr>
107
108         * fr30-opc.c: Regenerate.
109         * frv-opc.c: Regenerate.
110         * ip2k-opc.c: Regenerate.
111         * iq2000-opc.c: Regenerate.
112         * lm32-opc.c: Regenerate.
113         * m32c-opc.c: Regenerate.
114         * m32r-opc.c: Regenerate.
115         * mep-opc.c: Regenerate.
116         * mt-opc.c: Regenerate.
117         * xc16x-opc.c: Regenerate.
118         * xstormy16-opc.c: Regenerate.
119         * tic54x-dis.c (print_instruction): Avoid compiler warning on
120         sprintf call.
121
122 2009-02-12  Nathan Sidwell  <nathan@codesourcery.com>
123
124         * m68k-opc.c (m68k_opcodes): Add stldsr instruction.
125
126 2009-02-05  Peter Bergner  <bergner@vnet.ibm.com>
127
128         * ppc-opc.c: Update copyright year.
129         (powerpc_opcodes) <"dcbt", "dcbtst">: Deprecate the Embedded operand
130         ordering for POWER4 and later and use the correct Server ordering.
131
132 2009-02-04  H.J. Lu  <hongjiu.lu@intel.com>
133
134         AVX Programming Reference (January, 2009)
135         * i386-dis.c (PREFIX_VEX_3A44): New.
136         (VEX_LEN_3A44_P_2): Likewise.
137         (PREFIX_VEX_3A48): Updated.
138         (VEX_LEN_3A4C_P_2): Likewise.
139         (prefix_table): Add PREFIX_VEX_3A44.
140         (vex_table): Likewise.
141         (vex_len_table): Add VEX_LEN_3A44_P_2.
142
143         * i386-opc.tbl: Add PCLMUL + AVX instructions.
144         * i386-tbl.h: Regenerated.
145
146 2009-02-03  Sandip Matte  <sandip@rmicorp.com>
147
148         * mips-dis.c (mips_cp0_names_xlr, mips_cp0sel_names_xlr): Define.
149         (mips_arch_choices): Add XLR entry.
150         * mips-opc.c (XLR): Define.
151         (mips_builtin_opcodes): Add XLR instructions.
152
153 2009-02-03  Carlos O'Donell  <carlos@codesourcery.com>
154
155         * Makefile.am: Add install-pdf target.
156         * po/Make-in: Add install-pdf target.
157         * Makefile.in: Regenerate.
158
159 2009-02-02  DJ Delorie  <dj@redhat.com>
160
161         * mep-asm.c: Regenerate.
162         * mep-desc.c: Regenerate.
163         * mep-desc.h: Regenerate.
164         * mep-dis.c: Regenerate.
165         * mep-ibld.c: Regenerate.
166         * mep-opc.c: Regenerate.
167         * mep-opc.h: Regenerate.
168
169 2009-01-29  Mark Mitchell  <mark@codesourcery.com>
170
171         * arm-dis.c (thumb32_opcodes): Correct decoding for qadd, qdadd,
172         qsub, and qdsub.
173
174 2009-01-28  Chao-ying Fu  <fu@mips.com>
175
176         * mips-opc.c (suxc1): Add the flag of FP_D.
177
178 2009-01-20  Alan Modra  <amodra@bigpond.net.au>
179
180         * fr30-asm.c, fr30-dis.c, fr30-ibld.c, frv-asm.c, frv-dis.c,
181         * frv-ibld.c, ip2k-asm.c, ip2k-dis.c, ip2k-ibld.c,
182         * iq2000-asm.c, iq2000-dis.c, iq2000-ibld.c, m32c-asm.c,
183         * m32c-dis.c, m32c-ibld.c, m32r-asm.c, m32r-dis.c,
184         * m32r-ibld.c, mep-asm.c, mep-dis.c, mep-ibld.c, mt-asm.c,
185         * mt-dis.c, mt-ibld.c, openrisc-asm.c, openrisc-dis.c,
186         * openrisc-ibld.c, xc16x-asm.c, xc16x-dis.c, xc16x-ibld.c,
187         * xstormy16-asm.c, xstormy16-dis.c, xstormy16-ibld.c: Regenerate.
188
189 2009-01-16  Alan Modra  <amodra@bigpond.net.au>
190
191         * configure.in (commonbfdlib): Delete.
192         (SHARED_LIBADD): Add pic libiberty if such is available.
193         * configure: Regenerate.
194         * po/POTFILES.in: Regenerate.
195
196 2009-01-14  Peter Bergner  <bergner@vnet.ibm.com>
197
198         * ppc-dis.c (print_insn_powerpc): Skip insn if it is deprecated.
199         * ppc-opc.c (powerpc_opcodes) <mtfsf, mtfsf.>: Deprecate the two
200         operand form and enable the four operand form for POWER6 and later.
201         <mtfsfi, mtfsfi.>: Deprecate the two operand form and enable the
202         three operand form for POWER6 and later.
203
204 2009-01-14  Mike Frysinger  <vapier@gentoo.org>
205
206         * bfin-dis.c (OUTS): Use "%s" as format string.
207
208 2009-01-13  H.J. Lu  <hongjiu.lu@intel.com>
209
210         * i386-gen.c (cpu_flag_init): Remove a white space.
211         (operand_type_init): Likewise.
212
213 2009-01-12  H.J. Lu  <hongjiu.lu@intel.com>
214
215         * i386-opc.tbl: Add NoAVX to movnti, lfence and mfence.
216         * i386-tbl.h: Regenerated.
217
218 2009-01-12  H.J. Lu  <hongjiu.lu@intel.com>
219
220         * i386-dis.c (dis386): Use EbS on addB, orB, adcB, sbbB, andB,
221         subB, xorB and cmpB.  Use EvS on addS, orS, adcS, sbbS, andS,
222         subS, xorS and cmpS.
223
224 2009-01-10  H.J. Lu  <hongjiu.lu@intel.com>
225
226         * i386-gen.c (cpu_flag_init): Replace CpuP4 and CpuK6 with
227         CpuClflush and CpuSYSCALL, respectively. Remove CpuK8.  Add
228         CPU_COREI7_FLAGS, CPU_CLFLUSH_FLAGS and CPU_SYSCALL_FLAGS.
229         (cpu_flags): Remove CpuP4, CpuK6 and CpuK8.  Add CpuClflush
230         and CpuSYSCALL.
231         (lineno): Removed.
232         (set_bitfield): Take an argument, lineno.  Don't report lineno
233         on error if it is -1.
234         (process_i386_cpu_flag): Take an argument, lineno.
235         (process_i386_opcode_modifier): Likewise.
236         (process_i386_operand_type): Likewise.
237         (output_i386_opcode): Likewise.
238         (opcode_hash_entry): Add lineno.
239         (process_i386_opcodes): Updated.
240         (process_i386_registers): Likewise.
241         (process_i386_initializers): Likewise.
242
243         * i386-opc.h (CpuP4): Removed.
244         (CpuK6): Likewise.
245         (CpuK8): Likewise.
246         (CpuClflush): New.
247         (CpuSYSCALL): Likewise.
248         (CpuMMX): Updated.
249         (i386_cpu_flags): Remove cpup4, cpuk6 and cpuk8.  Add
250         cpuclflush and cpusyscall.
251
252         * i386-opc.tbl: Update movnti, clflush, lfence, mfence, pause,
253         syscall and sysret.
254         * i386-init.h: Regenerated.
255         * i386-tbl.h: Likewise.
256
257 2009-01-09  H.J. Lu  <hongjiu.lu@intel.com>
258
259         * i386-gen.c (cpu_flag_init): Add CpuRdtscp to CPU_K8_FLAGS
260         and CPU_AMDFAM10_FLAGS.  Add CPU_RDTSCP_FLAGS.
261         (cpu_flags): Add CpuRdtscp.
262         (set_bitfield): Remove CpuSledgehammer check.
263
264         * i386-opc.h (CpuRdtscp): New.
265         (CpuLM): Updated.
266         (i386_cpu_flags): Add cpurdtscp.
267
268         * i386-opc.tbl: Replace CpuSledgehammer with CpuRdtscp.
269         * i386-init.h: Regenerated.
270         * i386-tbl.h: Likewise.
271
272 2009-01-09  Peter Bergner  <bergner@vnet.ibm.com>
273
274         * ppc-opc.c (PPCNONE): Define.
275         (NOPOWER4): Delete.
276         (powerpc_opcodes): Initialize the new "deprecated" field.
277
278 2009-01-06  H.J. Lu  <hongjiu.lu@intel.com>
279
280         AVX Programming Reference (December, 2008)
281         * i386-dis.c (VEX_LEN_2B_M_0): Removed.
282         (VEX_LEN_E7_P_2_M_0): Likewise.
283         (VEX_LEN_2C_P_1): Updated.
284         (VEX_LEN_E8_P_2): Likewise.
285         (vex_len_table): Remove VEX_LEN_2B_M_0 and VEX_LEN_E7_P_2_M_0.
286         (mod_table): Likewise.
287
288         * i386-opc.tbl: Add 256bit vmovntdq, vmovntpd and vmovntps.
289         * i386-tbl.h: Regenerated.
290
291 2009-01-05  H.J. Lu  <hongjiu.lu@intel.com>
292
293         * i386-gen.c (process_copyright): Update for 2009.
294
295         * i386-init.h: Regenerated.
296         * i386-tbl.h: Likewise.
297
298 2009-01-05  H.J. Lu  <hongjiu.lu@intel.com>
299
300         AVX Programming Reference (December, 2008)
301         * i386-dis.c (OP_VEX_FMA): Removed.
302         (OP_EX_VexW): Likewise.
303         (OP_EX_VexImmW): Likewise.
304         (OP_XMM_VexW): Likewise.
305         (VEXI4_Fixup): Likewise.
306         (VPERMIL2_Fixup): Likewise.
307         (VexI4): Likewise.
308         (VexFMA): Likewise.
309         (Vex128FMA): Likewise.
310         (EXVexW): Likewise.
311         (EXdVexW): Likewise.
312         (EXqVexW): Likewise.
313         (EXVexImmW): Likewise.
314         (XMVexW): Likewise.
315         (VPERMIL2): Likewise.
316         (PREFIX_VEX_3A48...PREFIX_VEX_3A4A): Likewise.
317         (PREFIX_VEX_3A5C...PREFIX_VEX_3A5F): Likewise.
318         (PREFIX_VEX_3A68...PREFIX_VEX_3A6F): Likewise.
319         (PREFIX_VEX_3A78...PREFIX_VEX_3A7F): Likewise.
320         (VEX_LEN_3A6A_P_2...VEX_LEN_3A6F_P_2): Likewise.
321         (VEX_LEN_3A7A_P_2...VEX_LEN_3A7F_P_2): Likewise.
322         (get_vex_imm8): Likewise.
323         (OP_EX_VexReg): Likewise.
324         vpermil2_op): Likewise.
325         (EXVexWdq): New.
326         (vex_w_dq_mode): Likewise.
327         (PREFIX_VEX_3896...PREFIX_VEX_389F): Likewise.
328         (PREFIX_VEX_38A6...PREFIX_VEX_38AF): Likewise.
329         (PREFIX_VEX_38B6...PREFIX_VEX_38BF): Likewise.
330         (es_reg): Updated.
331         (PREFIX_VEX_38DB): Likewise.
332         (PREFIX_VEX_3A4A): Likewise.
333         (PREFIX_VEX_3A60): Likewise.
334         (PREFIX_VEX_3ADF): Likewise.
335         (VEX_LEN_3ADF_P_2): Likewise.
336         (prefix_table): Remove PREFIX_VEX_3A48...PREFIX_VEX_3A4A,
337         PREFIX_VEX_3A5C...PREFIX_VEX_3A5F, 
338         PREFIX_VEX_3A68...PREFIX_VEX_3A6F and
339         PREFIX_VEX_3A78...PREFIX_VEX_3A7F.  Add
340         PREFIX_VEX_3896...PREFIX_VEX_389F,
341         PREFIX_VEX_38A6...PREFIX_VEX_38AF and
342         PREFIX_VEX_38B6...PREFIX_VEX_38BF.
343         (vex_table): Likewise.
344         (vex_len_table): Remove VEX_LEN_3A6A_P_2...VEX_LEN_3A6F_P_2
345         and VEX_LEN_3A7A_P_2...VEX_LEN_3A7F_P_2.
346         (putop): Support "%XW".
347         (intel_operand_size): Handle vex_w_dq_mode.
348
349         * i386-opc.h (VexNDS): Add a comment for VEX NDS and VEX DDS.
350
351         * i386-opc.tbl: Remove vpermil2pd/vpermil2ps and old FMA
352         instructions.  Add new FMA instructions.
353         * i386-tbl.h: Regenerated.
354
355 2009-01-02  Matthias Klose  <doko@ubuntu.com> 
356
357         * or32-opc.c (or32_print_register, or32_print_immediate, 
358         disassemble_insn): Don't rely on undefined sprintf behaviour. 
359
360 For older changes see ChangeLog-2008
361 \f
362 Local Variables:
363 mode: change-log
364 left-margin: 8
365 fill-column: 74
366 version-control: never
367 End: