[PATCH 52/57][Arm][OBJDUMP] Add support for MVE instructions: vadc, vabav, vabd,...
[external/binutils.git] / opcodes / ChangeLog
1 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
2             Michael Collison <michael.collison@arm.com>
3
4         * arm-dis.c (thumb32_opcodes): Add new instructions.
5         (enum mve_instructions): Likewise.
6         (is_mve_encoding_conflict): Handle new instructions.
7         (is_mve_undefined): Likewise.
8         (is_mve_unpredictable): Likewise.
9         (print_mve_size): Likewise.
10         (print_insn_mve): Likewise.
11
12 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
13             Michael Collison <michael.collison@arm.com>
14
15         * arm-dis.c (thumb32_opcodes): Add new instructions.
16         (print_insn_thumb32): Handle new instructions.
17
18 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
19             Michael Collison <michael.collison@arm.com>
20
21         * arm-dis.c (enum mve_instructions): Add new instructions.
22         (enum mve_undefined): Add new reasons.
23         (is_mve_encoding_conflict): Handle new instructions.
24         (is_mve_undefined): Likewise.
25         (is_mve_unpredictable): Likewise.
26         (print_mve_undefined): Likewise.
27         (print_mve_size): Likewise.
28         (print_mve_shift_n): Likewise.
29         (print_insn_mve): Likewise.
30
31 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
32             Michael Collison <michael.collison@arm.com>
33
34         * arm-dis.c (enum mve_instructions): Add new instructions.
35         (is_mve_encoding_conflict): Handle new instructions.
36         (is_mve_unpredictable): Likewise.
37         (print_mve_rotate): Likewise.
38         (print_mve_size): Likewise.
39         (print_insn_mve): Likewise.
40
41 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
42             Michael Collison <michael.collison@arm.com>
43
44         * arm-dis.c (enum mve_instructions): Add new instructions.
45         (is_mve_encoding_conflict): Handle new instructions.
46         (is_mve_unpredictable): Likewise.
47         (print_mve_size): Likewise.
48         (print_insn_mve): Likewise.
49
50 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
51             Michael Collison <michael.collison@arm.com>
52
53         * arm-dis.c (enum mve_instructions): Add new instructions.
54         (enum mve_undefined): Add new reasons.
55         (is_mve_encoding_conflict): Handle new instructions.
56         (is_mve_undefined): Likewise.
57         (is_mve_unpredictable): Likewise.
58         (print_mve_undefined): Likewise.
59         (print_mve_size): Likewise.
60         (print_insn_mve): Likewise.
61
62 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
63             Michael Collison <michael.collison@arm.com>
64
65         * arm-dis.c (enum mve_instructions): Add new instructions.
66         (is_mve_encoding_conflict): Handle new instructions.
67         (is_mve_undefined): Likewise.
68         (is_mve_unpredictable): Likewise.
69         (print_mve_size): Likewise.
70         (print_insn_mve): Likewise.
71
72 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
73             Michael Collison <michael.collison@arm.com>
74
75         * arm-dis.c (enum mve_instructions): Add new instructions.
76         (enum mve_unpredictable): Add new reasons.
77         (enum mve_undefined): Likewise.
78         (is_mve_okay_in_it): Handle new isntructions.
79         (is_mve_encoding_conflict): Likewise.
80         (is_mve_undefined): Likewise.
81         (is_mve_unpredictable): Likewise.
82         (print_mve_vmov_index): Likewise.
83         (print_simd_imm8): Likewise.
84         (print_mve_undefined): Likewise.
85         (print_mve_unpredictable): Likewise.
86         (print_mve_size): Likewise.
87         (print_insn_mve): Likewise.
88
89 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
90             Michael Collison <michael.collison@arm.com>
91
92         * arm-dis.c (enum mve_instructions): Add new instructions.
93         (enum mve_unpredictable): Add new reasons.
94         (enum mve_undefined): Likewise.
95         (is_mve_encoding_conflict): Handle new instructions.
96         (is_mve_undefined): Likewise.
97         (is_mve_unpredictable): Likewise.
98         (print_mve_undefined): Likewise.
99         (print_mve_unpredictable): Likewise.
100         (print_mve_rounding_mode): Likewise.
101         (print_mve_vcvt_size): Likewise.
102         (print_mve_size): Likewise.
103         (print_insn_mve): Likewise.
104
105 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
106             Michael Collison <michael.collison@arm.com>
107
108         * arm-dis.c (enum mve_instructions): Add new instructions.
109         (enum mve_unpredictable): Add new reasons.
110         (enum mve_undefined): Likewise.
111         (is_mve_undefined): Handle new instructions.
112         (is_mve_unpredictable): Likewise.
113         (print_mve_undefined): Likewise.
114         (print_mve_unpredictable): Likewise.
115         (print_mve_size): Likewise.
116         (print_insn_mve): Likewise.
117
118 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
119             Michael Collison <michael.collison@arm.com>
120
121         * arm-dis.c (enum mve_instructions): Add new instructions.
122         (enum mve_undefined): Add new reasons.
123         (insns): Add new instructions.
124         (is_mve_encoding_conflict):
125         (print_mve_vld_str_addr): New print function.
126         (is_mve_undefined): Handle new instructions.
127         (is_mve_unpredictable): Likewise.
128         (print_mve_undefined): Likewise.
129         (print_mve_size): Likewise.
130         (print_insn_coprocessor_1): Handle MVE VLDR, VSTR instructions.
131         (print_insn_mve):  Handle new operands.
132
133 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
134             Michael Collison <michael.collison@arm.com>
135
136         * arm-dis.c (enum mve_instructions): Add new instructions.
137         (enum mve_unpredictable): Add new reasons.
138         (is_mve_encoding_conflict): Handle new instructions.
139         (is_mve_unpredictable): Likewise.
140         (mve_opcodes): Add new instructions.
141         (print_mve_unpredictable): Handle new reasons.
142         (print_mve_register_blocks): New print function.
143         (print_mve_size): Handle new instructions.
144         (print_insn_mve): Likewise.
145
146 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
147             Michael Collison <michael.collison@arm.com>
148
149         * arm-dis.c (enum mve_instructions): Add new instructions.
150         (enum mve_unpredictable): Add new reasons.
151         (enum mve_undefined): Likewise.
152         (is_mve_encoding_conflict): Handle new instructions.
153         (is_mve_undefined): Likewise.
154         (is_mve_unpredictable): Likewise.
155         (coprocessor_opcodes): Move NEON VDUP from here...
156         (neon_opcodes): ... to here.
157         (mve_opcodes): Add new instructions.
158         (print_mve_undefined):  Handle new reasons.
159         (print_mve_unpredictable): Likewise.
160         (print_mve_size): Handle new instructions.
161         (print_insn_neon): Handle vdup.
162         (print_insn_mve): Handle new operands.
163
164 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
165             Michael Collison <michael.collison@arm.com>
166
167         * arm-dis.c (enum mve_instructions): Add new instructions.
168         (enum mve_unpredictable): Add new values.
169         (mve_opcodes): Add new instructions.
170         (vec_condnames): New array with vector conditions.
171         (mve_predicatenames): New array with predicate suffixes.
172         (mve_vec_sizename): New array with vector sizes.
173         (enum vpt_pred_state): New enum with vector predication states.
174         (struct vpt_block): New struct type for vpt blocks.
175         (vpt_block_state): Global struct to keep track of state.
176         (mve_extract_pred_mask): New helper function.
177         (num_instructions_vpt_block): Likewise.
178         (mark_outside_vpt_block): Likewise.
179         (mark_inside_vpt_block): Likewise.
180         (invert_next_predicate_state): Likewise.
181         (update_next_predicate_state): Likewise.
182         (update_vpt_block_state): Likewise.
183         (is_vpt_instruction): Likewise.
184         (is_mve_encoding_conflict): Add entries for new instructions.
185         (is_mve_unpredictable): Likewise.
186         (print_mve_unpredictable): Handle new cases.
187         (print_instruction_predicate): Likewise.
188         (print_mve_size): New function.
189         (print_vec_condition): New function.
190         (print_insn_mve): Handle vpt blocks and new print operands.
191
192 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
193
194         * arm-dis.c (print_insn_coprocessor_1): Disable the use of coprocessors
195         8, 14 and 15 for Armv8.1-M Mainline.
196
197 2019-05-16  Andre Vieira  <andre.simoesdiasvieira@arm.com>
198             Michael Collison <michael.collison@arm.com>
199
200         * arm-dis.c (enum mve_instructions): New enum.
201         (enum mve_unpredictable): Likewise.
202         (enum mve_undefined): Likewise.
203         (struct mopcode32): New struct.
204         (is_mve_okay_in_it): New function.
205         (is_mve_architecture): Likewise.
206         (arm_decode_field): Likewise.
207         (arm_decode_field_multiple): Likewise.
208         (is_mve_encoding_conflict): Likewise.
209         (is_mve_undefined): Likewise.
210         (is_mve_unpredictable): Likewise.
211         (print_mve_undefined): Likewise.
212         (print_mve_unpredictable): Likewise.
213         (print_insn_coprocessor_1): Use arm_decode_field_multiple.
214         (print_insn_mve): New function.
215         (print_insn_thumb32): Handle MVE architecture.
216         (select_arm_features): Force thumb for Armv8.1-m Mainline.
217
218 2019-05-10  Nick Clifton  <nickc@redhat.com>
219
220         PR 24538
221         * ia64-opc.c (ia64_find_matching_opcode): Check for reaching the
222         end of the table prematurely.
223
224 2019-05-10  Faraz Shahbazker  <fshahbazker@wavecomp.com>
225
226         * mips-opc.c (mips_opcodes): Enable ADD, SUB, DADD and DSUB
227         macros for R6.
228
229 2019-05-11  Alan Modra  <amodra@gmail.com>
230
231         * ppc-dis.c (print_insn_powerpc) Don't skip optional operands
232         when -Mraw is in effect.
233
234 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
235
236         * aarch64-dis-2.c: Regenerate.
237         * aarch64-tbl.h (OP_SVE_BBU): New variant set.
238         (OP_SVE_BBB): New variant set.
239         (OP_SVE_DDDD): New variant set.
240         (OP_SVE_HHH): New variant set.
241         (OP_SVE_HHHU): New variant set.
242         (OP_SVE_SSS): New variant set.
243         (OP_SVE_SSSU): New variant set.
244         (OP_SVE_SHH): New variant set.
245         (OP_SVE_SBBU): New variant set.
246         (OP_SVE_DSS): New variant set.
247         (OP_SVE_DHHU): New variant set.
248         (OP_SVE_VMV_HSD_BHS): New variant set.
249         (OP_SVE_VVU_HSD_BHS): New variant set.
250         (OP_SVE_VVVU_SD_BH): New variant set.
251         (OP_SVE_VVVU_BHSD): New variant set.
252         (OP_SVE_VVV_QHD_DBS): New variant set.
253         (OP_SVE_VVV_HSD_BHS): New variant set.
254         (OP_SVE_VVV_HSD_BHS2): New variant set.
255         (OP_SVE_VVV_BHS_HSD): New variant set.
256         (OP_SVE_VV_BHS_HSD): New variant set.
257         (OP_SVE_VVV_SD): New variant set.
258         (OP_SVE_VVU_BHS_HSD): New variant set.
259         (OP_SVE_VZVV_SD): New variant set.
260         (OP_SVE_VZVV_BH): New variant set.
261         (OP_SVE_VZV_SD): New variant set.
262         (aarch64_opcode_table): Add sve2 instructions.
263
264 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
265
266         * aarch64-asm-2.c: Regenerated.
267         * aarch64-dis-2.c: Regenerated.
268         * aarch64-opc-2.c: Regenerated.
269         * aarch64-opc.c (operand_general_constraint_met_p): Constraint checking
270         for SVE_SHLIMM_UNPRED_22.
271         (aarch64_print_operand): Add printing for SVE_SHLIMM_UNPRED_22.
272         * aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_SHLIMM_UNPRED_22
273         operand.
274
275 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
276
277         * aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle
278         sve_size_tsz_bhs iclass encode.
279         * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle
280         sve_size_tsz_bhs iclass decode.
281
282 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
283
284         * aarch64-asm-2.c: Regenerated.
285         * aarch64-dis-2.c: Regenerated.
286         * aarch64-opc-2.c: Regenerated.
287         * aarch64-opc.c (operand_general_constraint_met_p): Constraint checking
288         for SVE_Zm4_11_INDEX.
289         (aarch64_print_operand): Add printing for SVE_Zm4_11_INDEX.
290         (fields): Handle SVE_i2h field.
291         * aarch64-opc.h (enum aarch64_field_kind): New SVE_i2h field.
292         * aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_Zm4_11_INDEX operand.
293
294 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
295
296         * aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle
297         sve_shift_tsz_bhsd iclass encode.
298         * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle
299         sve_shift_tsz_bhsd iclass decode.
300
301 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
302
303         * aarch64-asm-2.c: Regenerated.
304         * aarch64-dis-2.c: Regenerated.
305         * aarch64-opc-2.c: Regenerated.
306         * aarch64-asm.c (aarch64_ins_sve_shrimm):
307         (aarch64_encode_variant_using_iclass): Handle
308         sve_shift_tsz_hsd iclass encode.
309         * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle
310         sve_shift_tsz_hsd iclass decode.
311         * aarch64-opc.c (operand_general_constraint_met_p): Constraint checking
312         for SVE_SHRIMM_UNPRED_22.
313         (aarch64_print_operand): Add printing for SVE_SHRIMM_UNPRED_22.
314         * aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_SHRIMM_UNPRED_22
315         operand.
316
317 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
318
319         * aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle
320         sve_size_013 iclass encode.
321         * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle
322         sve_size_013 iclass decode.
323
324 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
325
326         * aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle
327         sve_size_bh iclass encode.
328         * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle
329         sve_size_bh iclass decode.
330
331 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
332
333         * aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle
334         sve_size_sd2 iclass encode.
335         * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle
336         sve_size_sd2 iclass decode.
337         * aarch64-opc.c (fields): Handle SVE_sz2 field.
338         * aarch64-opc.h (enum aarch64_field_kind): New SVE_sz2 field.
339
340 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
341
342         * aarch64-asm-2.c: Regenerated.
343         * aarch64-dis-2.c: Regenerated.
344         * aarch64-opc-2.c: Regenerated.
345         * aarch64-opc.c (operand_general_constraint_met_p): Constraint checking
346         for SVE_ADDR_ZX.
347         (aarch64_print_operand): Add printing for SVE_ADDR_ZX.
348         * aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_ADDR_ZX operand.
349
350 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
351
352         * aarch64-asm-2.c: Regenerated.
353         * aarch64-dis-2.c: Regenerated.
354         * aarch64-opc-2.c: Regenerated.
355         * aarch64-opc.c (operand_general_constraint_met_p): Constraint checking
356         for SVE_Zm3_11_INDEX.
357         (aarch64_print_operand): Add printing for SVE_Zm3_11_INDEX.
358         (fields): Handle SVE_i3l and SVE_i3h2 fields.
359         * aarch64-opc.h (enum aarch64_field_kind): New SVE_i3l and SVE_i3h2
360         fields.
361         * aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_Zm3_11_INDEX operand.
362
363 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
364
365         * aarch64-asm.c (aarch64_encode_variant_using_iclass): Handle
366         sve_size_hsd2 iclass encode.
367         * aarch64-dis.c (aarch64_decode_variant_using_iclass): Handle
368         sve_size_hsd2 iclass decode.
369         * aarch64-opc.c (fields): Handle SVE_size field.
370         * aarch64-opc.h (enum aarch64_field_kind): New SVE_size field.
371
372 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
373
374         * aarch64-asm-2.c: Regenerated.
375         * aarch64-dis-2.c: Regenerated.
376         * aarch64-opc-2.c: Regenerated.
377         * aarch64-opc.c (operand_general_constraint_met_p): Constraint checking
378         for SVE_IMM_ROT3.
379         (aarch64_print_operand): Add printing for SVE_IMM_ROT3.
380         (fields): Handle SVE_rot3 field.
381         * aarch64-opc.h (enum aarch64_field_kind): New SVE_rot3 field.
382         * aarch64-tbl.h (AARCH64_OPERANDS): Use new SVE_IMM_ROT3 operand.
383
384 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
385
386         * aarch64-opc.c (verify_constraints): Check for movprfx for sve2
387         instructions.
388
389 2019-05-09  Matthew Malcomson  <matthew.malcomson@arm.com>
390
391         * aarch64-tbl.h
392         (aarch64_feature_sve2, aarch64_feature_sve2aes,
393         aarch64_feature_sve2sha3, aarch64_feature_sve2sm4,
394         aarch64_feature_sve2bitperm): New feature sets.
395         (SVE2, SVE2_AES, SVE2_SHA3, SVE2_SM4, SVE2_BITPERM): New macros
396         for feature set addresses.
397         (SVE2_INSN, SVE2_INSNC, SVE2AES_INSN, SVE2SHA3_INSN,
398         SVE2SM4_INSN, SVE2SM4_INSNC, SVE2BITPERM_INSN): New macros.
399
400 2019-05-06  Andrew Bennett  <andrew.bennett@imgtec.com>
401             Faraz Shahbazker  <fshahbazker@wavecomp.com>
402
403         * mips-dis.c (mips_calculate_combination_ases): Add ISA
404         argument and set ASE_EVA_R6 appropriately.
405         (set_default_mips_dis_options): Pass ISA to above.
406         (parse_mips_dis_option): Likewise.
407         * mips-opc.c (EVAR6): New macro.
408         (mips_builtin_opcodes): Add llwpe, scwpe.
409
410 2019-05-01  Sudakshina Das  <sudi.das@arm.com>
411
412         * aarch64-asm-2.c: Regenerated.
413         * aarch64-dis-2.c: Regenerated.
414         * aarch64-opc-2.c: Regenerated.
415         * aarch64-opc.c (operand_general_constraint_met_p): Add case for
416         AARCH64_OPND_TME_UIMM16.
417         (aarch64_print_operand): Likewise.
418         * aarch64-tbl.h (QL_IMM_NIL): New.
419         (TME): New.
420         (_TME_INSN): New.
421         (struct aarch64_opcode): Add tstart, tcommit, ttest and tcancel.
422
423 2019-04-29  John Darrington  <john@darrington.wattle.id.au>
424
425         * s12z-opc.c (shift_discrim): Return OP_INVALID when reading fails.
426
427 2019-04-26  Andrew Bennett  <andrew.bennett@imgtec.com>
428             Faraz Shahbazker  <fshahbazker@wavecomp.com>
429
430         * mips-opc.c (mips_builtin_opcodes): Add llwp, lldp, scwp, scdp.
431
432 2019-04-24  John Darrington  <john@darrington.wattle.id.au>
433
434         * s12z-opc.h: Add extern "C" bracketing to help
435         users who wish to use this interface in c++ code.
436
437 2019-04-24  John Darrington  <john@darrington.wattle.id.au>
438
439         * s12z-opc.c (bm_decode): Handle bit map operations with the
440         "reserved0" mode.
441
442 2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
443
444         * arm-dis.c (coprocessor_opcodes): Document new %J and %K format
445         specifier.  Add entries for VLDR and VSTR of system registers.
446         (print_insn_coprocessor): Forbid coprocessor numbers 8, 14 and 15 in
447         coprocessor instructions on Armv8.1-M Mainline targets.  Add handling
448         of %J and %K format specifier.
449
450 2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
451
452         * arm-dis.c (coprocessor_opcodes): Document new %C format control code.
453         Add new entries for VSCCLRM instruction.
454         (print_insn_coprocessor): Handle new %C format control code.
455
456 2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
457
458         * arm-dis.c (enum isa): New enum.
459         (struct sopcode32): New structure.
460         (coprocessor_opcodes): change type of entries to struct sopcode32 and
461         set isa field of all current entries to ANY.
462         (print_insn_coprocessor): Change type of insn to struct sopcode32.
463         Only match an entry if its isa field allows the current mode.
464
465 2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
466
467         * arm-dis.c (thumb_opcodes): Document %n control code.  Add entry for
468         CLRM.
469         (print_insn_thumb32): Add logic to print %n CLRM register list.
470
471 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
472
473         * arm-dis.c (print_insn_thumb32): Updated to accept new %P
474         and %Q patterns.
475
476 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
477
478         * arm-dis.c (thumb32_opcodes): New instruction bfcsel.
479         (print_insn_thumb32): Edit the switch case for %Z.
480
481 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
482
483         * arm-dis.c (print_insn_thumb32): Updated to accept new %Z pattern.
484
485 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
486
487         * arm-dis.c (thumb32_opcodes): New instruction bfl.
488
489 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
490
491         * arm-dis.c (print_insn_thumb32): Updated to accept new %Y pattern.
492
493 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
494
495         * arm-dis.c (print_insn_thumb32): Add '%<bitfield>S' to print an
496         Arm register with r13 and r15 unpredictable.
497         (thumb32_opcodes): New instructions for bfx and bflx.
498
499 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
500
501         * arm-dis.c (thumb32_opcodes): New instructions for bf.
502
503 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
504
505         * arm-dis.c (print_insn_thumb32): Updated to accept new %W pattern.
506
507 2019-04-15  Sudakshina Das  <sudi.das@arm.com>
508
509         * arm-dis.c (print_insn_thumb32): Updated to accept new %G pattern.
510
511 2019-04-15  Thomas Preud'homme  <thomas.preudhomme@arm.com>
512
513         * arm-dis.c (select_arm_features): Add logic for Armv8.1-M Mainline.
514
515 2019-04-12  John Darrington <john@darrington.wattle.id.au>
516
517         s12z-dis.c, s12z-opc.c, s12z-opc.h: Replace "operator" with
518         "optr". ("operator" is a reserved word in c++).
519
520 2019-04-11  Sudakshina Das  <sudi.das@arm.com>
521
522         * aarch64-opc.c (aarch64_print_operand): Add case for
523         AARCH64_OPND_Rt_SP.
524         (verify_constraints): Likewise.
525         * aarch64-tbl.h (QL_LDST_AT): Update to add SP qualifier.
526         (struct aarch64_opcode): Update stg, stzg, st2g, stz2g instructions
527         to accept Rt|SP as first operand.
528         (AARCH64_OPERANDS): Add new Rt_SP.
529         * aarch64-asm-2.c: Regenerated.
530         * aarch64-dis-2.c: Regenerated.
531         * aarch64-opc-2.c: Regenerated.
532
533 2019-04-11  Sudakshina Das  <sudi.das@arm.com>
534
535         * aarch64-asm-2.c: Regenerated.
536         * aarch64-dis-2.c: Likewise.
537         * aarch64-opc-2.c: Likewise.
538         * aarch64-tbl.h (aarch64_opcode): Add new ldgm and stgm.
539
540 2019-04-09  Robert Suchanek  <robert.suchanek@mips.com>
541
542         * mips-opc.c (mips_builtin_opcodes): Add RDHWR rt rd sel.
543
544 2019-04-08  H.J. Lu  <hongjiu.lu@intel.com>
545
546         * i386-opc.tbl: Consolidate AVX512 BF16 entries.
547         * i386-init.h: Regenerated.
548
549 2019-04-07  Alan Modra  <amodra@gmail.com>
550
551         * ppc-dis.c (print_insn_powerpc): Use a tiny state machine
552         op_separator to control printing of spaces, comma and parens
553         rather than need_comma, need_paren and spaces vars.
554
555 2019-04-07  Alan Modra  <amodra@gmail.com>
556
557         PR 24421
558         * arm-dis.c (print_insn_coprocessor): Correct bracket placement.
559         (print_insn_neon, print_insn_arm): Likewise.
560
561 2019-04-05  Xuepeng Guo  <xuepeng.guo@intel.com>
562
563         * i386-dis-evex.h (evex_table): Updated to support BF16
564         instructions.
565         * i386-dis.c (enum): Add EVEX_W_0F3852_P_1, EVEX_W_0F3872_P_1
566         and EVEX_W_0F3872_P_3.
567         * i386-gen.c (cpu_flag_init): Add CPU_AVX512_BF16_FLAGS.
568         (cpu_flags): Add bitfield for CpuAVX512_BF16.
569         * i386-opc.h (enum): Add CpuAVX512_BF16.
570         (i386_cpu_flags): Add bitfield for cpuavx512_bf16.
571         * i386-opc.tbl: Add AVX512 BF16 instructions.
572         * i386-init.h: Regenerated.
573         * i386-tbl.h: Likewise.
574
575 2019-04-05  Alan Modra  <amodra@gmail.com>
576
577         * ppc-opc.c (XLBH_MASK): Subtract off BH field from BB_MASK.
578         (powerpc_opcodes): Reorder bcctr and bclr extended mnemonics
579         to favour printing of "-" branch hint when using the "y" bit.
580         Allow BH field on bc{ctr,lr,tar}{,l}{-,+}.
581
582 2019-04-05  Alan Modra  <amodra@gmail.com>
583
584         * ppc-dis.c (print_insn_powerpc): Delay printing spaces after
585         opcode until first operand is output.
586
587 2019-04-04  Peter Bergner  <bergner@linux.ibm.com>
588
589         PR gas/24349
590         * ppc-opc.c (valid_bo_pre_v2): Add comments.
591         (valid_bo_post_v2): Add support for 'at' branch hints.
592         (insert_bo): Only error on branch on ctr.
593         (get_bo_hint_mask): New function.
594         (insert_boe): Add new 'branch_taken' formal argument.  Add support
595         for inserting 'at' branch hints.
596         (extract_boe): Add new 'branch_taken' formal argument.  Add support
597         for extracting 'at' branch hints.
598         (insert_bom, extract_bom, insert_bop, extract_bop): New functions.
599         (BOE): Delete operand.
600         (BOM, BOP): New operands.
601         (RM): Update value.
602         (XLYLK, XLYLK_MASK, XLYBB_MASK): Delete.
603         (powerpc_opcodes) <bc-, bcl-, bca-, bcla-, bclr-, bclrl-, bcctr-,
604         bcctrl-, bctar-, bctarl->: Replace BOE with BOM.
605         (powerpc_opcodes) <bc+, bcl+, bca+, bcla+, bclr+, bclrl+, bcctr+,
606         bcctrl+, bctar+, bctarl+>: Replace BOE with BOP.
607         <bdnztar, bdnztarl, bdztar, bdztarl, btar, btarl, bdnztar-, bdnztarl-,
608         bdnztar+, bdnztarl+, bdztar-, bdztarl-, bdztar+, bdztarl+, bgetar,
609         bnltar, bgetarl, bnltarl, bletar, bngtar, bletarl, bngtarl, bnetar,
610         bnetarl, bnstar, bnutar, bnstarl, bnutarl, bgetar-, bnltar-, bgetarl-,
611         bnltarl-, bletar-, bngtar-, bletarl-, bngtarl-, bnetar-, bnetarl-,
612         bnstar-, bnutar-, bnstarl-, bnutarl-, bgetar+, bnltar+, bgetarl+,
613         bnltarl+, bletar+, bngtar+, bletarl+, bngtarl+, bnetar+, bnetarl+,
614         bnstar+, bnutar+, bnstarl+, bnutarl+, blttar, blttarl, bgttar, bgttarl,
615         beqtar, beqtarl, bsotar, buntar, bsotarl, buntarl, blttar-, blttarl-,
616         bgttar-, bgttarl-, beqtar-, beqtarl-, bsotar-, buntar-, bsotarl-,
617         buntarl-, blttar+, blttarl+, bgttar+, bgttarl+, beqtar+, beqtarl+,
618         bsotar+, buntar+, bsotarl+, buntarl+, bdnzftar, bdnzftarl, bdzftar,
619         bdzftarl, bftar, bftarl, bftar-, bftarl-, bftar+, bftarl+, bdnzttar,
620         bdnzttarl, bdzttar, bdzttarl, bttar, bttarl, bttar-, bttarl-, bttar+,
621         bttarl+>: New extended mnemonics.
622
623 2019-03-28  Alan Modra  <amodra@gmail.com>
624
625         PR 24390
626         * ppc-opc.c (BTF): Define.
627         (powerpc_opcodes): Use for mtfsb*.
628         * ppc-dis.c (print_insn_powerpc): Print fields with both
629         PPC_OPERAND_CR_REG and PPC_OPERAND_CR_BIT as a plain number.
630
631 2019-03-25  Tamar Christina  <tamar.christina@arm.com>
632
633         * arm-dis.c (struct arm_private_data): Remove has_mapping_symbols.
634         (mapping_symbol_for_insn): Implement new algorithm.
635         (print_insn): Remove duplicate code.
636
637 2019-03-25  Tamar Christina  <tamar.christina@arm.com>
638
639         * aarch64-dis.c (print_insn_aarch64):
640         Implement override.
641
642 2019-03-25  Tamar Christina  <tamar.christina@arm.com>
643
644         * aarch64-dis.c (print_insn_aarch64): Update the mapping symbol search
645         order.
646
647 2019-03-25  Tamar Christina  <tamar.christina@arm.com>
648
649         * aarch64-dis.c (last_stop_offset): New.
650         (print_insn_aarch64): Use stop_offset.
651
652 2019-03-19  H.J. Lu  <hongjiu.lu@intel.com>
653
654         PR gas/24359
655         * i386-gen.c (cpu_flag_init): Add CPU_ANY_AVX512F_FLAGS to
656         CPU_ANY_AVX2_FLAGS.
657         * i386-init.h: Regenerated.
658
659 2019-03-18  H.J. Lu  <hongjiu.lu@intel.com>
660
661         PR gas/24348
662         * i386-opc.tbl: Add Optimize to vmovdqa32, vmovdqa64, vmovdqu8,
663         vmovdqu16, vmovdqu32 and vmovdqu64.
664         * i386-tbl.h: Regenerated.
665
666 2019-03-12  Andreas Krebbel  <krebbel@linux.ibm.com>
667
668         * s390-opc.txt: Rename selhhhr to selfhr.  Remove optional operand
669         from vstrszb, vstrszh, and vstrszf.
670
671 2019-03-12  Andreas Krebbel  <krebbel@linux.ibm.com>
672
673         * s390-opc.txt: Add instruction descriptions.
674
675 2019-02-08  Jim Wilson  <jimw@sifive.com>
676
677         * riscv-opc.c (riscv_opcodes) <beq>: Use Cz to compress 3 operand form.
678         <bne>: Likewise.
679
680 2019-02-07  Tamar Christina  <tamar.christina@arm.com>
681
682         * arm-dis.c (arm_opcodes): Redefine hlt to armv1.
683
684 2019-02-07  Tamar Christina  <tamar.christina@arm.com>
685
686         PR binutils/23212
687         * aarch64-opc.h (enum aarch64_field_kind): Add FLD_sz.
688         * aarch64-opc.c (verify_elem_sd): New.
689         (fields): Add FLD_sz entr.
690         * aarch64-tbl.h (_SIMD_INSN): New.
691         (aarch64_opcode_table): Add elem_sd verifier to fmla, fmls, fmul and
692         fmulx scalar and vector by element isns.
693
694 2019-02-07  Nick Clifton  <nickc@redhat.com>
695
696         * po/sv.po: Updated Swedish translation.
697
698 2019-01-31  Andreas Krebbel  <krebbel@linux.ibm.com>
699
700         * s390-mkopc.c (main): Accept arch13 as cpu string.
701         * s390-opc.c: Add new instruction formats and instruction opcode
702         masks.
703         * s390-opc.txt: Add new arch13 instructions.
704
705 2019-01-25  Sudakshina Das  <sudi.das@arm.com>
706
707         * aarch64-tbl.h (QL_LDST_AT): Update macro.
708         (aarch64_opcode): Change encoding for stg, stzg
709         st2g and st2zg.
710         * aarch64-asm-2.c: Regenerated.
711         * aarch64-dis-2.c: Regenerated.
712         * aarch64-opc-2.c: Regenerated.
713
714 2019-01-25  Sudakshina Das  <sudi.das@arm.com>
715
716         * aarch64-asm-2.c: Regenerated.
717         * aarch64-dis-2.c: Likewise.
718         * aarch64-opc-2.c: Likewise.
719         * aarch64-tbl.h (aarch64_opcode): Add new stzgm.
720
721 2019-01-25  Sudakshina Das  <sudi.das@arm.com>
722             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
723
724         * aarch64-asm.c (aarch64_ins_addr_simple_2): Remove.
725         * aarch64-asm.h (ins_addr_simple_2): Likeiwse.
726         * aarch64-dis.c (aarch64_ext_addr_simple_2): Likewise.
727         * aarch64-dis.h (ext_addr_simple_2): Likewise.
728         * aarch64-opc.c (operand_general_constraint_met_p): Remove
729         case for ldstgv_indexed.
730         (aarch64_print_operand): Remove case for AARCH64_OPND_ADDR_SIMPLE_2.
731         * aarch64-tbl.h (struct aarch64_opcode): Remove ldgv and stgv.
732         (AARCH64_OPERANDS): Remove ADDR_SIMPLE_2.
733         * aarch64-asm-2.c: Regenerated.
734         * aarch64-dis-2.c: Regenerated.
735         * aarch64-opc-2.c: Regenerated.
736
737 2019-01-23  Nick Clifton  <nickc@redhat.com>
738
739         * po/pt_BR.po: Updated Brazilian Portuguese translation.
740
741 2019-01-21  Nick Clifton  <nickc@redhat.com>
742
743         * po/de.po: Updated German translation.
744         * po/uk.po: Updated Ukranian translation.
745
746 2019-01-20  Chenghua Xu  <paul.hua.gm@gmail.com>
747         * mips-dis.c (mips_arch_choices): Fix typo in
748         gs464, gs464e and gs264e descriptors.
749
750 2019-01-19  Nick Clifton  <nickc@redhat.com>
751
752         * configure: Regenerate.
753         * po/opcodes.pot: Regenerate.
754
755 2018-06-24  Nick Clifton  <nickc@redhat.com>
756
757         2.32 branch created.
758
759 2019-01-09  John Darrington <john@darrington.wattle.id.au>
760
761         * s12z-dis.c (print_insn_s12z):  Do not dereference an operand
762         if it is null.
763         -dis.c (opr_emit_disassembly): Do not omit an index if it is
764         zero.
765
766 2019-01-09  Andrew Paprocki  <andrew@ishiboo.com>
767
768         * configure: Regenerate.
769
770 2019-01-07  Alan Modra  <amodra@gmail.com>
771
772         * configure: Regenerate.
773         * po/POTFILES.in: Regenerate.
774
775 2019-01-03  John Darrington <john@darrington.wattle.id.au>
776
777         * s12z-opc.c: New file.
778         * s12z-opc.h: New file.
779         * s12z-dis.c: Removed all code not directly related to display
780         of instructions.  Used the interface provided by the new files
781         instead.
782         * Makefile.am (TARGET_LIBOPCODES_CFILES) Add s12z-opc.c.
783         * Makefile.in: Regenerate.
784         * configure.ac (bfd_s12z_arch): Correct the dependencies.
785         * configure: Regenerate.
786
787 2019-01-01  Alan Modra  <amodra@gmail.com>
788
789         Update year range in copyright notice of all files.
790
791 For older changes see ChangeLog-2018
792 \f
793 Copyright (C) 2019 Free Software Foundation, Inc.
794
795 Copying and distribution of this file, with or without modification,
796 are permitted in any medium without royalty provided the copyright
797 notice and this notice are preserved.
798
799 Local Variables:
800 mode: change-log
801 left-margin: 8
802 fill-column: 74
803 version-control: never
804 End: