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