]> Git Repo - binutils.git/blob - opcodes/ChangeLog
[ARM] Rework CPU feature selection in the disassembler
[binutils.git] / opcodes / ChangeLog
1 2015-06-02  Matthew Wahab  <[email protected]>
2
3         * arm-dis.c (select_arm_features): Rework to avoid used of redefined
4         macros.
5
6 2015-06-02  Matthew Wahab  <[email protected]>
7
8         * aarch64-tbl.h (aarch64_feature_rdma): New.
9         (RDMA): New.
10         (aarch64_opcode_table): Add "sqrmlah" and "sqrdmlsh" instructions.
11         * aarch64-asm-2.c: Regenerate.
12         * aarch64-dis-2.c: Regenerate.
13         * aarch64-opc-2.c: Regenerate.
14
15 2015-06-02  Matthew Wahab  <[email protected]>
16
17         * aarch64-tbl.h (aarch64_feature_lor): New.
18         (LOR): New.
19         (aarch64_opdocde_table): Add "ldlar", "ldlarb", "ldlarh", "stllr",
20         "stllrb", "stllrh".
21         * aarch64-asm-2.c: Regenerate.
22         * aarch64-dis-2.c: Regenerate.
23         * aarch64-opc-2.c: Regenerate.
24
25 2015-06-01  Matthew Wahab  <[email protected]>
26
27         * aarch64-opc.c (F_ARCHEXT): New.
28         (aarch64_sys_regs): Add "pan".
29         (aarch64_sys_reg_supported_p): New.
30         (aarch64_pstatefields): Add "pan".
31         (aarch64_pstatefield_supported_p): New.
32
33 2015-06-01  Jan Beulich  <[email protected]>
34
35         * i386-tbl.h: Regenerate.
36
37 2015-06-01  Jan Beulich  <[email protected]>
38
39         * i386-dis.c (print_insn): Swap rounding mode specifier and
40         general purpose register in Intel mode.
41
42 2015-06-01  Jan Beulich  <[email protected]>
43
44         * i386-opc.tbl: New IntelSyntax entries for vcvt{,u}si2s{d,s}.
45         * i386-tbl.h: Regenerate.
46
47 2015-05-18  H.J. Lu  <[email protected]>
48
49         * i386-opc.tbl: Remove Disp32 from AMD64 direct call/jmp.
50         * i386-init.h: Regenerated.
51
52 2015-05-15  H.J. Lu  <[email protected]>
53
54         PR binutis/18386
55         * i386-dis.c: Add comments for '@'.
56         (x86_64_table): Use '@' on call/jmp for X86_64_E8/X86_64_E9.
57         (enum x86_64_isa): New.
58         (isa64): Likewise.
59         (print_i386_disassembler_options): Add amd64 and intel64.
60         (print_insn): Handle amd64 and intel64.
61         (putop): Handle '@'.
62         (OP_J): Don't ignore the operand size prefix for AMD64 in 64-bit.
63         * i386-gen.c (cpu_flags): Add CpuAMD64 and CpuIntel64.
64         * i386-opc.h (AMD64): New.
65         (CpuIntel64): Likewise.
66         (i386_cpu_flags): Add cpuamd64 and cpuintel64.
67         * i386-opc.tbl: Add direct call/jmp with Disp16|Disp32 for AMD64.
68         Mark direct call/jmp without Disp16|Disp32 as Intel64.
69         * i386-init.h: Regenerated.
70         * i386-tbl.h: Likewise.
71
72 2015-05-14  Peter Bergner  <[email protected]>
73
74         * ppc-opc.c (IH) New define.
75         (powerpc_opcodes) <wait>: Do not enable for POWER7.
76         <tlbie>: Add RS operand for POWER7.
77         <slbia>: Add IH operand for POWER6.
78
79 2015-05-11  H.J. Lu  <[email protected]>
80
81         * opcodes/i386-opc.tbl (call): Remove Disp16|Disp32 from 64-bit
82         direct branch.
83         (jmp): Likewise.
84         * i386-tbl.h: Regenerated.
85
86 2015-05-11  H.J. Lu  <[email protected]>
87
88         * configure.ac: Support bfd_iamcu_arch.
89         * disassemble.c (disassembler): Support bfd_iamcu_arch.
90         * i386-gen.c (cpu_flag_init): Add CPU_IAMCU_FLAGS and
91         CPU_IAMCU_COMPAT_FLAGS.
92         (cpu_flags): Add CpuIAMCU.
93         * i386-opc.h (CpuIAMCU): New.
94         (i386_cpu_flags): Add cpuiamcu.
95         * configure: Regenerated.
96         * i386-init.h: Likewise.
97         * i386-tbl.h: Likewise.
98
99 2015-05-08  H.J. Lu  <[email protected]>
100
101         PR binutis/18386
102         * i386-dis.c (X86_64_E8): New.
103         (X86_64_E9): Likewise.
104         Update comments on 'T', 'U', 'V'.  Add comments for '^'.
105         (dis386): Replace callT/jmpT with X86_64_E8/X86_64_E9.
106         (x86_64_table): Add X86_64_E8 and X86_64_E9.
107         (mod_table): Replace {T|} with ^ on Jcall/Jmp.
108         (putop): Handle '^'.
109         (OP_J): Ignore the operand size prefix in 64-bit.  Don't check
110         REX_W.
111
112 2015-04-30  DJ Delorie  <[email protected]>
113
114         * disassemble.c (disassembler): Choose suitable disassembler based
115         on E_ABI.
116         * rl78-decode.opc (rl78_decode_opcode): Take ISA parameter.  Use
117         it to decode mul/div insns.
118         * rl78-decode.c: Regenerate.
119         * rl78-dis.c (print_insn_rl78): Rename to...
120         (print_insn_rl78_common): ...this, take ISA parameter.
121         (print_insn_rl78): New.
122         (print_insn_rl78_g10): New.
123         (print_insn_rl78_g13): New.
124         (print_insn_rl78_g14): New.
125         (rl78_get_disassembler): New.
126
127 2015-04-29  Nick Clifton  <[email protected]>
128
129         * po/fr.po: Updated French translation.
130
131 2015-04-27  Peter Bergner  <[email protected]>
132
133         * ppc-opc.c (DCBT_EO): New define.
134         (powerpc_opcodes) <lbarx>: Enable for POWER8 and later.
135         <lharx>: Likewise.
136         <stbcx.>: Likewise.
137         <sthcx.>: Likewise.
138         <waitrsv>: Do not enable for POWER7 and later.
139         <waitimpl>: Likewise.
140         <dcbt>: Default to the two operand form of the instruction for all
141         "old" cpus.  For "new" cpus, use the operand ordering that matches
142         whether the cpu is server or embedded.
143         <dcbtst>: Likewise.
144
145 2015-04-27  Andreas Krebbel  <[email protected]>
146
147         * s390-opc.c: New instruction type VV0UU2.
148         * s390-opc.txt: Fix instruction types for VFCE, VLDE, VFSQ, WFK,
149         and WFC.
150
151 2015-04-23  Jan Beulich  <[email protected]>
152
153         * i386-dis.c (putop): Extend "XY" handling to AVX512. Handle "XZ".
154         * i386-dis-evex.h.c (vcvtpd2ps, vcvtqq2ps, vcvttpd2udq,
155         vcvtpd2udq, vcvtuqq2ps, vcvttpd2dq, vcvtpd2dq): Add %XY.
156         (vfpclasspd, vfpclassps): Add %XZ.
157
158 2015-04-15  H.J. Lu  <[email protected]>
159
160         * i386-dis.c (PREFIX_UD_SHIFT): Removed.
161         (PREFIX_UD_REPZ): Likewise.
162         (PREFIX_UD_REPNZ): Likewise.
163         (PREFIX_UD_DATA): Likewise.
164         (PREFIX_UD_ADDR): Likewise.
165         (PREFIX_UD_LOCK): Likewise.
166
167 2015-04-15  H.J. Lu  <[email protected]>
168
169         * i386-dis.c (prefix_requirement): Removed.
170         (print_insn): Don't set prefix_requirement.  Check
171         dp->prefix_requirement instead of prefix_requirement.
172
173 2015-04-15  H.J. Lu  <[email protected]>
174
175         PR binutils/17898
176         * i386-dis.c (PREFIX_0FC7_REG_6): Renamed to ...
177         (PREFIX_MOD_0_0FC7_REG_6): This.
178         (PREFIX_MOD_3_0FC7_REG_6): New.
179         (PREFIX_MOD_3_0FC7_REG_7): Likewise.
180         (prefix_table): Replace PREFIX_0FC7_REG_6 with
181         PREFIX_MOD_0_0FC7_REG_6.  Add PREFIX_MOD_3_0FC7_REG_6 and
182         PREFIX_MOD_3_0FC7_REG_7.
183         (mod_table): Replace PREFIX_0FC7_REG_6 with
184         PREFIX_MOD_0_0FC7_REG_6.  Use PREFIX_MOD_3_0FC7_REG_6 and
185         PREFIX_MOD_3_0FC7_REG_7.
186
187 2015-04-15  H.J. Lu  <[email protected]>
188
189         * i386-dis.c (PREFIX_MANDATORY_REPZ): Removed.
190         (PREFIX_MANDATORY_REPNZ): Likewise.
191         (PREFIX_MANDATORY_DATA): Likewise.
192         (PREFIX_MANDATORY_ADDR): Likewise.
193         (PREFIX_MANDATORY_LOCK): Likewise.
194         (PREFIX_MANDATORY): Likewise.
195         (PREFIX_UD_SHIFT): Set to 8
196         (PREFIX_UD_REPZ): Updated.
197         (PREFIX_UD_REPNZ): Likewise.
198         (PREFIX_UD_DATA): Likewise.
199         (PREFIX_UD_ADDR): Likewise.
200         (PREFIX_UD_LOCK): Likewise.
201         (PREFIX_IGNORED_SHIFT): New.
202         (PREFIX_IGNORED_REPZ): Likewise.
203         (PREFIX_IGNORED_REPNZ): Likewise.
204         (PREFIX_IGNORED_DATA): Likewise.
205         (PREFIX_IGNORED_ADDR): Likewise.
206         (PREFIX_IGNORED_LOCK): Likewise.
207         (PREFIX_OPCODE): Likewise.
208         (PREFIX_IGNORED): Likewise.
209         (Bad_Opcode): Replace PREFIX_MANDATORY with 0.
210         (dis386_twobyte): Replace PREFIX_MANDATORY with PREFIX_OPCODE.
211         (three_byte_table): Likewise.
212         (mod_table): Likewise.
213         (mandatory_prefix): Renamed to ...
214         (prefix_requirement): This.
215         (prefix_table): Replace PREFIX_MANDATORY with PREFIX_OPCODE.
216         Update PREFIX_90 entry.
217         (get_valid_dis386): Check prefix_requirement to see if a prefix
218         should be ignored.
219         (print_insn): Replace mandatory_prefix with prefix_requirement.
220
221 2015-04-15  Renlin Li  <[email protected]>
222
223         * arm-dis.c (thumb32_opcodes): Define 'D' format control code,
224         use it for ssat and ssat16.
225         (print_insn_thumb32): Add handle case for 'D' control code.
226
227 2015-04-06  Ilya Tocar  <[email protected]>
228             H.J. Lu  <[email protected]>
229
230         * i386-dis-evex.h (evex_table): Fill prefix_requirement field.
231         * i386-dis.c (PREFIX_MANDATORY_REPZ, PREFIX_MANDATORY_REPNZ,
232         PREFIX_MANDATORY_DATA, PREFIX_MANDATORY_ADDR, PREFIX_MANDATORY_LOCK,
233         PREFIX_UD_SHIFT, PREFIX_UD_REPZ, REFIX_UD_REPNZ, PREFIX_UD_DATA,
234         PREFIX_UD_ADDR, PREFIX_UD_LOCK, PREFIX_MANDATORY): Define.
235         (Bad_Opcode, FLOAT, DIS386, DIS386_PREFIX, THREE_BYTE_TABLE_PREFIX):
236         Fill prefix_requirement field.
237         (struct dis386): Add prefix_requirement field.
238         (dis386): Fill prefix_requirement field.
239         (dis386_twobyte): Ditto.
240         (twobyte_has_mandatory_prefix_: Remove.
241         (reg_table): Fill prefix_requirement field.
242         (prefix_table): Ditto.
243         (x86_64_table): Ditto.
244         (three_byte_table): Ditto.
245         (xop_table): Ditto.
246         (vex_table): Ditto.
247         (vex_len_table): Ditto.
248         (vex_w_table): Ditto.
249         (mod_table): Ditto.
250         (bad_opcode): Ditto.
251         (print_insn): Use prefix_requirement.
252         (FGRPd9_2, FGRPd9_4, FGRPd9_5, FGRPd9_6, FGRPd9_7, FGRPda_5, FGRPdb_4,
253         FGRPde_3, FGRPdf_4): Fill prefix_requirement field.
254         (float_reg): Ditto.
255
256 2015-03-30  Mike Frysinger  <[email protected]>
257
258         * d10v-opc.c (d10v_reg_name_cnt): Convert old style prototype.
259
260 2015-03-29  H.J. Lu  <[email protected]>
261
262         * Makefile.in: Regenerated.
263
264 2015-03-25  Anton Blanchard  <[email protected]>
265
266         * ppc-dis.c (disassemble_init_powerpc): Only initialise
267         powerpc_opcd_indices and vle_opcd_indices once.
268
269 2015-03-25  Anton Blanchard  <[email protected]>
270
271         * ppc-opc.c (powerpc_opcodes): Add slbfee.
272
273 2015-03-24  Terry Guo  <[email protected]>
274
275         * arm-dis.c (opcode32): Updated to use new arm feature struct.
276         (opcode16): Likewise.
277         (coprocessor_opcodes): Replace bit with feature struct.
278         (neon_opcodes): Likewise.
279         (arm_opcodes): Likewise.
280         (thumb_opcodes): Likewise.
281         (thumb32_opcodes): Likewise.
282         (print_insn_coprocessor): Likewise.
283         (print_insn_arm): Likewise.
284         (select_arm_features): Follow new feature struct.
285
286 2015-03-17  Ganesh Gopalasubramanian  <[email protected]>
287
288         * i386-dis.c (rm_table): Add clzero.
289         * i386-gen.c (cpu_flag_init): Add new CPU_ZNVER1_FLAGS.
290         Add CPU_CLZERO_FLAGS.
291         (cpu_flags): Add CpuCLZERO.
292         * i386-opc.h: Add CpuCLZERO.
293         * i386-opc.tbl: Add clzero.
294         * i386-init.h: Re-generated.
295         * i386-tbl.h: Re-generated.
296
297 2015-03-13  Andrew Bennett  <[email protected]>
298
299         * mips-opc.c (decode_mips_operand): Fix constraint issues
300         with u and y operands.
301
302 2015-03-13  Andrew Bennett  <[email protected]>
303
304         * mips-opc.c (mips_builtin_opcodes): Add evp and dvp instructions.
305
306 2015-03-10  Andreas Krebbel  <[email protected]>
307
308         * s390-opc.c: Add new IBM z13 instructions.
309         * s390-opc.txt: Likewise.
310
311 2015-03-10  Renlin Li  <[email protected]>
312
313         * aarch64-tbl.h (aarch64_opcode_table): Remove strub, ldurb, ldursb,
314         stur, ldur, sturh, ldurh, ldursh, ldursw, prfum F_HAS_ALIAS flag and
315         related alias.
316         * aarch64-asm-2.c: Regenerate.
317         * aarch64-dis-2.c: Likewise.
318         * aarch64-opc-2.c: Likewise.
319
320 2015-03-03  Jiong Wang  <[email protected]>
321
322         * arm-dis.c (arm_symbol_is_valid): Skip ARM private symbols.
323
324 2015-02-25  Oleg Endo  <[email protected]>
325
326         * sh-opc.h (clrs, sets): Mark as arch_sh3_nommu_up instead of
327         arch_sh_up.
328         (pref): Mark as arch_sh2a_nofpu_or_sh3_nommu_up instead of
329         arch_sh2a_nofpu_or_sh4_nommu_nofpu_up.
330
331 2015-02-23  Vinay  <[email protected]>
332
333         * rl78-decode.opc (MOV): Added space between two operands for
334         'mov' instruction in index addressing mode.
335         * rl78-decode.c: Regenerate.
336
337 2015-02-19  Pedro Alves  <[email protected]>
338
339         * microblaze-dis.h [__cplusplus]: Wrap in extern "C".
340
341 2015-02-10  Pedro Alves  <[email protected]>
342             Tom Tromey  <[email protected]>
343
344         * microblaze-opcm.h (or, and, xor): Rename to microblaze_or,
345         microblaze_and, microblaze_xor.
346         * microblaze-opc.h (opcodes): Adjust.
347
348 2015-01-28  James Bowman  <[email protected]>
349
350         * Makefile.am: Add FT32 files.
351         * configure.ac: Handle FT32.
352         * disassemble.c (disassembler): Call print_insn_ft32.
353         * ft32-dis.c: New file.
354         * ft32-opc.c: New file.
355         * Makefile.in: Regenerate.
356         * configure: Regenerate.
357         * po/POTFILES.in: Regenerate.
358
359 2015-01-28 Kuan-Lin Chen <[email protected]>
360
361         * nds32-asm.c (keyword_sr): Add new system registers.
362
363 2015-01-16  Andreas Krebbel  <[email protected]>
364
365         * s390-dis.c (s390_extract_operand): Support vector register
366         operands.
367         (s390_print_insn_with_opcode): Support new operands types and add
368         new handling of optional operands.
369         * s390-mkopc.c (s390_opcode_mode_val, s390_opcode_cpu_val): Remove
370         and include opcode/s390.h instead.
371         (struct op_struct): New field `flags'.
372         (insertOpcode, insertExpandedMnemonic): New parameter `flags'.
373         (dumpTable): Dump flags.
374         (main): Parse flags from the s390-opc.txt file.  Add z13 as cpu
375         string.
376         * s390-opc.c: Add new operands types, instruction formats, and
377         instruction masks.
378         (s390_opformats): Add new formats for .insn.
379         * s390-opc.txt: Add new instructions.
380
381 2015-01-01  Alan Modra  <[email protected]>
382
383         Update year range in copyright notice of all files.
384
385 For older changes see ChangeLog-2014
386 \f
387 Copyright (C) 2015 Free Software Foundation, Inc.
388
389 Copying and distribution of this file, with or without modification,
390 are permitted in any medium without royalty provided the copyright
391 notice and this notice are preserved.
392
393 Local Variables:
394 mode: change-log
395 left-margin: 8
396 fill-column: 74
397 version-control: never
398 End:
This page took 0.049897 seconds and 4 git commands to generate.