3 * arm-dis.c (select_arm_features): Rework to avoid used of redefined
8 * aarch64-tbl.h (aarch64_feature_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.
17 * aarch64-tbl.h (aarch64_feature_lor): New.
19 (aarch64_opdocde_table): Add "ldlar", "ldlarb", "ldlarh", "stllr",
21 * aarch64-asm-2.c: Regenerate.
22 * aarch64-dis-2.c: Regenerate.
23 * aarch64-opc-2.c: Regenerate.
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.
35 * i386-tbl.h: Regenerate.
39 * i386-dis.c (print_insn): Swap rounding mode specifier and
40 general purpose register in Intel mode.
44 * i386-opc.tbl: New IntelSyntax entries for vcvt{,u}si2s{d,s}.
45 * i386-tbl.h: Regenerate.
49 * i386-opc.tbl: Remove Disp32 from AMD64 direct call/jmp.
50 * i386-init.h: Regenerated.
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.
59 (print_i386_disassembler_options): Add amd64 and intel64.
60 (print_insn): Handle amd64 and intel64.
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.
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.
81 * opcodes/i386-opc.tbl (call): Remove Disp16|Disp32 from 64-bit
84 * i386-tbl.h: Regenerated.
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.
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.
109 (OP_J): Ignore the operand size prefix in 64-bit. Don't check
114 * disassemble.c (disassembler): Choose suitable disassembler based
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.
129 * po/fr.po: Updated French translation.
133 * ppc-opc.c (DCBT_EO): New define.
134 (powerpc_opcodes) <lbarx>: Enable for POWER8 and later.
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.
147 * s390-opc.c: New instruction type VV0UU2.
148 * s390-opc.txt: Fix instruction types for VFCE, VLDE, VFSQ, WFK,
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.
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.
169 * i386-dis.c (prefix_requirement): Removed.
170 (print_insn): Don't set prefix_requirement. Check
171 dp->prefix_requirement instead of prefix_requirement.
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.
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
219 (print_insn): Replace mandatory_prefix with prefix_requirement.
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.
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.
247 (vex_len_table): Ditto.
248 (vex_w_table): 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.
258 * d10v-opc.c (d10v_reg_name_cnt): Convert old style prototype.
262 * Makefile.in: Regenerated.
266 * ppc-dis.c (disassemble_init_powerpc): Only initialise
267 powerpc_opcd_indices and vle_opcd_indices once.
271 * ppc-opc.c (powerpc_opcodes): Add slbfee.
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.
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.
299 * mips-opc.c (decode_mips_operand): Fix constraint issues
300 with u and y operands.
304 * mips-opc.c (mips_builtin_opcodes): Add evp and dvp instructions.
308 * s390-opc.c: Add new IBM z13 instructions.
309 * s390-opc.txt: Likewise.
313 * aarch64-tbl.h (aarch64_opcode_table): Remove strub, ldurb, ldursb,
314 stur, ldur, sturh, ldurh, ldursh, ldursw, prfum F_HAS_ALIAS flag and
316 * aarch64-asm-2.c: Regenerate.
317 * aarch64-dis-2.c: Likewise.
318 * aarch64-opc-2.c: Likewise.
322 * arm-dis.c (arm_symbol_is_valid): Skip ARM private symbols.
326 * sh-opc.h (clrs, sets): Mark as arch_sh3_nommu_up instead of
328 (pref): Mark as arch_sh2a_nofpu_or_sh3_nommu_up instead of
329 arch_sh2a_nofpu_or_sh4_nommu_nofpu_up.
333 * rl78-decode.opc (MOV): Added space between two operands for
334 'mov' instruction in index addressing mode.
335 * rl78-decode.c: Regenerate.
339 * microblaze-dis.h [__cplusplus]: Wrap in extern "C".
344 * microblaze-opcm.h (or, and, xor): Rename to microblaze_or,
345 microblaze_and, microblaze_xor.
346 * microblaze-opc.h (opcodes): Adjust.
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.
361 * nds32-asm.c (keyword_sr): Add new system registers.
365 * s390-dis.c (s390_extract_operand): Support vector register
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
376 * s390-opc.c: Add new operands types, instruction formats, and
378 (s390_opformats): Add new formats for .insn.
379 * s390-opc.txt: Add new instructions.
383 Update year range in copyright notice of all files.
385 For older changes see ChangeLog-2014
387 Copyright (C) 2015 Free Software Foundation, Inc.
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.
397 version-control: never