Properly handle multiple opcode prefixes
[external/binutils.git] / opcodes / ChangeLog
1 2014-05-05  H.J. Lu  <hongjiu.lu@intel.com>
2
3         PR binutils/16893
4         * i386-dis.c (twobyte_has_mandatory_prefix): New variable.
5         (end_codep): Likewise.
6         (mandatory_prefix): Likewise.
7         (active_seg_prefix): Likewise.
8         (ckprefix): Set active_seg_prefix to the active segment register
9         prefix.
10         (seg_prefix): Removed.
11         (get_valid_dis386): Use the last of PREFIX_REPNZ and PREFIX_REPZ
12         for prefix index.  Ignore the index if it is invalid and the
13         mandatory prefix isn't required.
14         (print_insn): Set mandatory_prefix if the PREFIX_XXX prefix is
15         mandatory.  Don't set PREFIX_REPZ/PREFIX_REPNZ/PREFIX_LOCK bits
16         in used_prefixes here.  Don't print unused prefixes.  Check
17         active_seg_prefix for the active segment register prefix.
18         Restore the DFLAG bit in sizeflag if the data size prefix is
19         unused.  Check the unused mandatory PREFIX_XXX prefixes
20         (append_seg): Only print the segment register which gets used.
21         (OP_E_memory): Check active_seg_prefix for the segment register
22         prefix.
23         (OP_OFF): Likewise.
24         (OP_OFF64): Likewise.
25         (OP_DSreg): Set active_seg_prefix to PREFIX_DS if it is unset.
26
27 2014-05-02  H.J. Lu  <hongjiu.lu@intel.com>
28
29         PR binutils/16886
30         * config.in: Regenerated.
31         * configure: Likewise.
32         * configure.in: Check if sigsetjmp is available.
33         * h8500-dis.c (private): Replace jmp_buf with OPCODES_SIGJMP_BUF.
34         (fetch_data): Replace longjmp with OPCODES_SIGLONGJMP.
35         (print_insn_h8500): Replace setjmp with OPCODES_SIGSETJMP.
36         * i386-dis.c (dis_private): Replace jmp_buf with OPCODES_SIGJMP_BUF.
37         (fetch_data): Replace longjmp with OPCODES_SIGLONGJMP.
38         (print_insn): Replace setjmp with OPCODES_SIGSETJMP.
39         * ns32k-dis.c (private): Replace jmp_buf with OPCODES_SIGJMP_BUF.
40         (fetch_data): Replace longjmp with OPCODES_SIGLONGJMP.
41         (print_insn_ns32k): Replace setjmp with OPCODES_SIGSETJMP.
42         * sysdep.h (OPCODES_SIGJMP_BUF): New macro.
43         (OPCODES_SIGSETJMP): Likewise.
44         (OPCODES_SIGLONGJMP): Likewise.
45         * vax-dis.c (private): Replace jmp_buf with OPCODES_SIGJMP_BUF.
46         (fetch_data): Replace longjmp with OPCODES_SIGLONGJMP.
47         (print_insn_vax): Replace setjmp with OPCODES_SIGSETJMP.
48         * xtensa-dis.c (dis_private): Replace jmp_buf with
49         OPCODES_SIGJMP_BUF.
50         (fetch_data): Replace longjmp with OPCODES_SIGLONGJMP.
51         (print_insn_xtensa): Replace setjmp with OPCODES_SIGSETJMP.
52         * z8k-dis.c(instr_data_s): Replace jmp_buf with OPCODES_SIGJMP_BUF.
53         (fetch_data): Replace longjmp with OPCODES_SIGLONGJMP.
54         (print_insn_z8k): Replace setjmp with OPCODES_SIGSETJMP.
55
56 2014-05-01  H.J. Lu  <hongjiu.lu@intel.com>
57
58         PR binutils/16891
59         * i386-dis.c (print_insn): Handle prefixes before fwait.
60
61 2014-04-26  Alan Modra  <amodra@gmail.com>
62
63         * po/POTFILES.in: Regenerate.
64
65 2014-04-23  Andrew Bennett  <andrew.bennett@imgtec.com>
66
67         * mips-dis.c (mips_arch_choices): Update mips32r2 and mips64r2
68         to allow the MIPS XPA ASE.
69         (parse_mips_dis_option): Process the -Mxpa option.
70         * mips-opc.c (XPA): New define.
71         (mips_builtin_opcodes): Add MIPS XPA instructions and move the
72         locations of the ctc0 and cfc0 instructions.
73
74 2014-04-22  Christian Svensson  <blue@cmd.nu>
75
76         * Makefile.am: Remove openrisc and or32 support.  Add support for or1k.
77         * configure.in: Likewise.
78         * disassemble.c: Likewise.
79         * or1k-asm.c: New file.
80         * or1k-desc.c: New file.
81         * or1k-desc.h: New file.
82         * or1k-dis.c: New file.
83         * or1k-ibld.c: New file.
84         * or1k-opc.c: New file.
85         * or1k-opc.h: New file.
86         * or1k-opinst.c: New file.
87         * Makefile.in: Regenerate.
88         * configure: Regenerate.
89         * openrisc-asm.c: Delete.
90         * openrisc-desc.c: Delete.
91         * openrisc-desc.h: Delete.
92         * openrisc-dis.c: Delete.
93         * openrisc-ibld.c: Delete.
94         * openrisc-opc.c: Delete.
95         * openrisc-opc.h: Delete.
96         * or32-dis.c: Delete.
97         * or32-opc.c: Delete.
98
99 2014-04-04  Ilya Tocar  <ilya.tocar@intel.com>
100
101         * i386-dis.c (rm_table): Add encls, enclu.
102         * i386-gen.c (cpu_flag_init): Add CPU_SE1_FLAGS,
103         (cpu_flags): Add CpuSE1.
104         * i386-opc.h (enum): Add CpuSE1.
105         (i386_cpu_flags): Add cpuse1.
106         * i386-opc.tbl: Add encls, enclu.
107         * i386-init.h: Regenerated.
108         * i386-tbl.h: Likewise.
109
110 2014-04-02  Anthony Green  <green@moxielogic.com>
111
112         * moxie-opc.c (moxie_form1_opc_info): Add sign-extension
113         instructions, sex.b and sex.s.
114
115 2014-03-26  Jiong Wang  <jiong.wang@arm.com>
116
117         * aarch64-dis.c (aarch64_ext_ldst_elemlist): Check H/S undefined
118         instructions.
119
120 2014-03-20  Ilya Tocar  <ilya.tocar@intel.com>
121
122         * i386-opc.tbl: Change memory size for vgatherpf0qps, vgatherpf1qps,
123         vscatterpf0qps, vscatterpf1qps, vgatherqps, vpgatherqd, vpscatterqd,
124         vscatterqps.
125         * i386-tbl.h: Regenerate.
126
127 2014-03-19  Jose E. Marchesi  <jose.marchesi@oracle.com>
128
129         * sparc-dis.c (v9_hpriv_reg_names): Names for %hstick_offset and
130         %hstick_enable added.
131
132 2014-03-19  Nick Clifton  <nickc@redhat.com>
133
134         * rx-decode.opc (bwl): Allow for bogus instructions with a size
135         field of 3.
136         (sbwl, ubwl, SCALE): Likewise.
137         * rx-decode.c: Regenerate.
138
139 2014-03-12  Alan Modra  <amodra@gmail.com>
140
141         * Makefile.in: Regenerate.
142
143 2014-03-05  Alan Modra  <amodra@gmail.com>
144
145         Update copyright years.
146
147 2014-03-04  Heiher  <r@hev.cc>
148
149         * mips-dis.c (mips_arch_choices): Usee ISA_MIPS64R2 for Loongson-3A.
150
151 2014-03-04  Richard Sandiford  <rdsandiford@googlemail.com>
152
153         * mips-opc.c (mips_builtin_opcodes): Move the udi* instructions
154         so that they come after the Loongson extensions.
155
156 2014-03-03  Alan Modra  <amodra@gmail.com>
157
158         * i386-gen.c (process_copyright): Emit copyright notice on one line.
159
160 2014-02-28  Alan Modra  <amodra@gmail.com>
161
162         * msp430-decode.c: Regenerate.
163
164 2014-02-27  Jiong Wang  <jiong.wang@arm.com>
165
166         * aarch64-tbl.h (aarch64_opcode_table): Replace IMM0 with
167         FPIMM0 for fcmeq, fcmgt, fcmge, fcmlt and fcmle.
168
169 2014-02-27  Yufeng Zhang  <yufeng.zhang@arm.com>
170
171         * aarch64-opc.c (print_register_offset_address): Call
172         get_int_reg_name to prepare the register name.
173
174 2014-02-25  Ilya Tocar  <ilya.tocar@intel.com>
175
176         * i386-opc.tbl: Remove wrong variant of vcvtps2ph
177         * i386-tbl.h: Regenerate.
178
179 2014-02-20  Ilya Tocar  <ilya.tocar@intel.com>
180
181         * i386-gen.c (cpu_flag_init): Add CPU_PREFETCHWT1_FLAGS/
182         (cpu_flags): Add CpuPREFETCHWT1.
183         * i386-init.h: Regenerate.
184         * i386-opc.h (CpuPREFETCHWT1): New.
185         (i386_cpu_flags): Add cpuprefetchwt1.
186         * i386-opc.tbl: Cahnge CPU of prefetchwt1 from CpuAVX512PF to CpuPREFETCHWT1.
187         * i386-tbl.h: Regenerate.
188
189 2014-02-20  Ilya Tocar  <ilya.tocar@intel.com>
190
191         * i386-opc.tbl: Change CPU of vptestnmq, vptestnmd from CpuAVX512CD,
192         to CpuAVX512F.
193         * i386-tbl.h: Regenerate.
194
195 2014-02-19  H.J. Lu  <hongjiu.lu@intel.com>
196
197         * i386-gen.c (output_cpu_flags): Don't output trailing space.
198         (output_opcode_modifier): Likewise.
199         (output_operand_type): Likewise.
200         * i386-init.h: Regenerated.
201         * i386-tbl.h: Likewise.
202
203 2014-02-12  Ilya Tocar  <ilya.tocar@intel.com>
204
205         * i386-dis.c (MOD enum): Add MOD_0FC7_REG_3, MOD_0FC7_REG_4,
206         MOD_0FC7_REG_5.
207         (PREFIX enum): Add PREFIX_0FAE_REG_7.
208         (reg_table): Add MOD_0FC7_REG_3, MOD_0FC7_REG_4 MOD_0FC7_REG_5.
209         (prefix_table): Add clflusopt.
210         (mod_table): Add xrstors, xsavec, xsaves.
211         * i386-gen.c (cpu_flag_init): Add CPU_CLFLUSHOPT_FLAGS,
212         CPU_XSAVES_FLAGS, CPU_XSAVEC_FLAGS.
213         (cpu_flags): Add CpuClflushOpt, CpuXSAVES, CpuXSAVEC.
214         * i386-init.h: Regenerate.
215         * i386-opc.tbl: Add clflushopt, xrstors, xrstors64, xsaves,
216         xsaves64, xsavec, xsavec64.
217         * i386-tbl.h: Regenerate.
218
219 2014-02-10  Alan Modra  <amodra@gmail.com>
220
221         * po/POTFILES.in: Regenerate.
222         * po/opcodes.pot: Regenerate.
223
224 2014-01-30  Michael Zolotukhin  <michael.v.zolotukhin@gmail.com>
225             Jan Beulich  <jbeulich@suse.com>
226
227         PR binutils/16490
228         * i386-dis.c (OP_E_memory): Fix shift computation for
229         vex_vsib_q_w_dq_mode.
230
231 2014-01-09  Bradley Nelson  <bradnelson@google.com>
232             Roland McGrath  <mcgrathr@google.com>
233
234         * i386-dis.c (print_insn): Do not touch all_prefixes[-1] when
235         last_rex_prefix is -1.
236
237 2014-01-08  H.J. Lu  <hongjiu.lu@intel.com>
238
239         * i386-gen.c (process_copyright): Update copyright year to 2014.
240
241 2014-01-03  Maciej W. Rozycki  <macro@codesourcery.com>
242
243         * nds32-asm.c (parse_operand): Fix out-of-range integer constant.
244
245 For older changes see ChangeLog-2013
246 \f
247 Copyright (C) 2014 Free Software Foundation, Inc.
248
249 Copying and distribution of this file, with or without modification,
250 are permitted in any medium without royalty provided the copyright
251 notice and this notice are preserved.
252
253 Local Variables:
254 mode: change-log
255 left-margin: 8
256 fill-column: 74
257 version-control: never
258 End: