x86: drop dead code from OP_IMREG()
[deliverable/binutils-gdb.git] / opcodes / ChangeLog
... / ...
CommitLineData
12020-07-14 Jan Beulich <jbeulich@suse.com>
2
3 * i386-dis.c (eBX, eCX, eDX, eSP, eBP, eSI, eDI, DL, BL, AH,
4 CH, DH, BH, AX, DX): Delete.
5 (OP_IMREG): Drop handling of eBX_reg, eCX_reg, eDX_reg, eSP_reg,
6 eBP_reg, eSI_reg, eDI_reg, dl_reg, bl_reg, ah_reg, ch_reg,
7 dh_reg, bh_reg, ax_reg, and dx_reg. Simplify what's left.
8
92020-07-10 Lili Cui <lili.cui@intel.com>
10
11 * i386-dis.c (TMM): New.
12 (EXtmm): Likewise.
13 (VexTmm): Likewise.
14 (MVexSIBMEM): Likewise.
15 (tmm_mode): Likewise.
16 (vex_sibmem_mode): Likewise.
17 (REG_VEX_0F3849_X86_64_P_0_W_0_M_1): Likewise.
18 (MOD_VEX_0F3849_X86_64_P_0_W_0): Likewise.
19 (MOD_VEX_0F3849_X86_64_P_2_W_0): Likewise.
20 (MOD_VEX_0F3849_X86_64_P_3_W_0): Likewise.
21 (MOD_VEX_0F384B_X86_64_P_1_W_0): Likewise.
22 (MOD_VEX_0F384B_X86_64_P_2_W_0): Likewise.
23 (MOD_VEX_0F384B_X86_64_P_3_W_0): Likewise.
24 (MOD_VEX_0F385C_X86_64_P_1_W_0): Likewise.
25 (MOD_VEX_0F385E_X86_64_P_0_W_0): Likewise.
26 (MOD_VEX_0F385E_X86_64_P_1_W_0): Likewise.
27 (MOD_VEX_0F385E_X86_64_P_2_W_0): Likewise.
28 (MOD_VEX_0F385E_X86_64_P_3_W_0): Likewise.
29 (RM_VEX_0F3849_X86_64_P_0_W_0_M_1_R_0): Likewise.
30 (PREFIX_VEX_0F3849_X86_64): Likewise.
31 (PREFIX_VEX_0F384B_X86_64): Likewise.
32 (PREFIX_VEX_0F385C_X86_64): Likewise.
33 (PREFIX_VEX_0F385E_X86_64): Likewise.
34 (X86_64_VEX_0F3849): Likewise.
35 (X86_64_VEX_0F384B): Likewise.
36 (X86_64_VEX_0F385C): Likewise.
37 (X86_64_VEX_0F385E): Likewise.
38 (VEX_LEN_0F3849_X86_64_P_0_W_0_M_0): Likewise.
39 (VEX_LEN_0F3849_X86_64_P_0_W_0_M_1_REG_0_RM_0): Likewise.
40 (VEX_LEN_0F3849_X86_64_P_2_W_0_M_0): Likewise.
41 (VEX_LEN_0F3849_X86_64_P_3_W_0_M_0): Likewise.
42 (VEX_LEN_0F384B_X86_64_P_1_W_0_M_0): Likewise.
43 (VEX_LEN_0F384B_X86_64_P_2_W_0_M_0): Likewise.
44 (VEX_LEN_0F384B_X86_64_P_3_W_0_M_0): Likewise.
45 (VEX_LEN_0F385C_X86_64_P_1_W_0_M_0): Likewise.
46 (VEX_LEN_0F385E_X86_64_P_0_W_0_M_0): Likewise.
47 (VEX_LEN_0F385E_X86_64_P_1_W_0_M_0): Likewise.
48 (VEX_LEN_0F385E_X86_64_P_2_W_0_M_0): Likewise.
49 (VEX_LEN_0F385E_X86_64_P_3_W_0_M_0): Likewise.
50 (VEX_W_0F3849_X86_64_P_0): Likewise.
51 (VEX_W_0F3849_X86_64_P_2): Likewise.
52 (VEX_W_0F3849_X86_64_P_3): Likewise.
53 (VEX_W_0F384B_X86_64_P_1): Likewise.
54 (VEX_W_0F384B_X86_64_P_2): Likewise.
55 (VEX_W_0F384B_X86_64_P_3): Likewise.
56 (VEX_W_0F385C_X86_64_P_1): Likewise.
57 (VEX_W_0F385E_X86_64_P_0): Likewise.
58 (VEX_W_0F385E_X86_64_P_1): Likewise.
59 (VEX_W_0F385E_X86_64_P_2): Likewise.
60 (VEX_W_0F385E_X86_64_P_3): Likewise.
61 (names_tmm): Likewise.
62 (att_names_tmm): Likewise.
63 (intel_operand_size): Handle void_mode.
64 (OP_XMM): Handle tmm_mode.
65 (OP_EX): Likewise.
66 (OP_VEX): Likewise.
67 * i386-gen.c (cpu_flag_init): Add entries for CpuAMX_INT8,
68 CpuAMX_BF16 and CpuAMX_TILE.
69 (operand_type_shorthands): Add RegTMM.
70 (operand_type_init): Likewise.
71 (operand_types): Add Tmmword.
72 (cpu_flag_init): Add CPU_AMX_INT8, CpuAMX_BF16 and CpuAMX_TILE.
73 (cpu_flags): Add CpuAMX_INT8, CpuAMX_BF16 and CpuAMX_TILE.
74 * i386-opc.h (CpuAMX_INT8): New.
75 (CpuAMX_BF16): Likewise.
76 (CpuAMX_TILE): Likewise.
77 (SIBMEM): Likewise.
78 (Tmmword): Likewise.
79 (i386_cpu_flags): Add cpuamx_int8, cpuamx_bf16 and cpuamx_tile.
80 (i386_opcode_modifier): Extend width of fields vexvvvv and sib.
81 (i386_operand_type): Add tmmword.
82 * i386-opc.tbl: Add AMX instructions.
83 * i386-reg.tbl: Add AMX registers.
84 * i386-init.h: Regenerated.
85 * i386-tbl.h: Likewise.
86
872020-07-08 Jan Beulich <jbeulich@suse.com>
88
89 * i386-dis.c (OP_LWPCB_E, OP_LWP_E): Delete.
90 (REG_XOP_LWPCB, REG_XOP_LWP, REG_XOP_TBM_01, REG_XOP_TBM_02):
91 Rename to ...
92 (REG_0FXOP_09_12_M_1_L_0, REG_0FXOP_0A_12_L_0,
93 REG_0FXOP_09_01_L_0, REG_0FXOP_09_02_L_0): ... these
94 respectively.
95 (MOD_VEX_0FXOP_09_12, VEX_LEN_0FXOP_08_85, VEX_LEN_0FXOP_08_86,
96 VEX_LEN_0FXOP_08_87, VEX_LEN_0FXOP_08_8E, VEX_LEN_0FXOP_08_8F,
97 VEX_LEN_0FXOP_08_95, VEX_LEN_0FXOP_08_96, VEX_LEN_0FXOP_08_97,
98 VEX_LEN_0FXOP_08_9E, VEX_LEN_0FXOP_08_9F, VEX_LEN_0FXOP_08_A3,
99 VEX_LEN_0FXOP_08_A6, VEX_LEN_0FXOP_08_B6, VEX_LEN_0FXOP_08_C0,
100 VEX_LEN_0FXOP_08_C1, VEX_LEN_0FXOP_08_C2, VEX_LEN_0FXOP_08_C3,
101 VEX_LEN_0FXOP_09_01, VEX_LEN_0FXOP_09_02, VEX_LEN_0FXOP_09_12_M_1,
102 VEX_LEN_0FXOP_09_90, VEX_LEN_0FXOP_09_91, VEX_LEN_0FXOP_09_92,
103 VEX_LEN_0FXOP_09_93, VEX_LEN_0FXOP_09_94, VEX_LEN_0FXOP_09_95,
104 VEX_LEN_0FXOP_09_96, VEX_LEN_0FXOP_09_97, VEX_LEN_0FXOP_09_98,
105 VEX_LEN_0FXOP_09_99, VEX_LEN_0FXOP_09_9A, VEX_LEN_0FXOP_09_9B,
106 VEX_LEN_0FXOP_09_C1, VEX_LEN_0FXOP_09_C2, VEX_LEN_0FXOP_09_C3,
107 VEX_LEN_0FXOP_09_C6, VEX_LEN_0FXOP_09_C7, VEX_LEN_0FXOP_09_CB,
108 VEX_LEN_0FXOP_09_D1, VEX_LEN_0FXOP_09_D2, VEX_LEN_0FXOP_09_D3,
109 VEX_LEN_0FXOP_09_D6, VEX_LEN_0FXOP_09_D7, VEX_LEN_0FXOP_09_DB,
110 VEX_LEN_0FXOP_09_E1, VEX_LEN_0FXOP_09_E2, VEX_LEN_0FXOP_09_E3,
111 VEX_LEN_0FXOP_0A_12, VEX_W_0FXOP_08_85_L_0,
112 VEX_W_0FXOP_08_86_L_0, VEX_W_0FXOP_08_87_L_0,
113 VEX_W_0FXOP_08_8E_L_0, VEX_W_0FXOP_08_8F_L_0,
114 VEX_W_0FXOP_08_95_L_0, VEX_W_0FXOP_08_96_L_0,
115 VEX_W_0FXOP_08_97_L_0, VEX_W_0FXOP_08_9E_L_0,
116 VEX_W_0FXOP_08_9F_L_0, VEX_W_0FXOP_08_A6_L_0,
117 VEX_W_0FXOP_08_B6_L_0, VEX_W_0FXOP_08_C0_L_0,
118 VEX_W_0FXOP_08_C1_L_0, VEX_W_0FXOP_08_C2_L_0,
119 VEX_W_0FXOP_08_C3_L_0, VEX_W_0FXOP_08_CC_L_0,
120 VEX_W_0FXOP_08_CD_L_0, VEX_W_0FXOP_08_CE_L_0,
121 VEX_W_0FXOP_08_CF_L_0, VEX_W_0FXOP_08_EC_L_0,
122 VEX_W_0FXOP_08_ED_L_0, VEX_W_0FXOP_08_EE_L_0,
123 VEX_W_0FXOP_08_EF_L_0, VEX_W_0FXOP_09_C1_L_0,
124 VEX_W_0FXOP_09_C2_L_0, VEX_W_0FXOP_09_C3_L_0,
125 VEX_W_0FXOP_09_C6_L_0, VEX_W_0FXOP_09_C7_L_0,
126 VEX_W_0FXOP_09_CB_L_0, VEX_W_0FXOP_09_D1_L_0,
127 VEX_W_0FXOP_09_D2_L_0, VEX_W_0FXOP_09_D3_L_0,
128 VEX_W_0FXOP_09_D6_L_0, VEX_W_0FXOP_09_D7_L_0,
129 VEX_W_0FXOP_09_DB_L_0, VEX_W_0FXOP_09_E1_L_0,
130 VEX_W_0FXOP_09_E2_L_0, VEX_W_0FXOP_09_E3_L_0): New enumerators.
131 (reg_table): Re-order XOP entries. Adjust their operands.
132 (xop_table): Replace 08_85, 08_86, 08_87, 08_8E, 08_8F, 08_95,
133 08_96, 08_97, 08_9E, 08_9F, 08_A3, 08_A6, 08_B6, 08_C0, 08_C1,
134 08_C2, 08_C3, 09_01, 09_02, 09_12, 09_90, 09_91, 09_92, 09_93,
135 09_94, 09_95, 09_96, 09_97, 09_98, 09_99, 09_9A, 09_9B, 09_C1,
136 09_C2, 09_C3, 09_C6, 09_C7, 09_CB, 09_D1, 09_D2, 09_D3, 09_D6,
137 09_D7, 09_DB, 09_E1, 09_E2, 09_E3, and VEX_LEN_0FXOP_0A_12
138 entries by references ...
139 (vex_len_table): ... to resepctive new entries here. For several
140 new and existing entries reference ...
141 (vex_w_table): ... new entries here.
142 (mod_table): New MOD_VEX_0FXOP_09_12 entry.
143
1442020-07-08 Jan Beulich <jbeulich@suse.com>
145
146 * i386-dis.c (XMVexScalarI4): Define.
147 (VEX_LEN_0F3A6A_P_2, VEX_LEN_0F3A6B_P_2, VEX_LEN_0F3A6E_P_2,
148 VEX_LEN_0F3A6F_P_2, VEX_LEN_0F3A7A_P_2, VEX_LEN_0F3A7B_P_2,
149 VEX_LEN_0F3A7E_P_2, VEX_LEN_0F3A7F_P_2): Delete.
150 (vex_len_table): Move scalar FMA4 entries ...
151 (prefix_table): ... here.
152 (OP_REG_VexI4): Handle scalar_mode.
153 * i386-opc.tbl: Use VexLIG for scalar FMA4 insns.
154 * i386-tbl.h: Re-generate.
155
1562020-07-08 Jan Beulich <jbeulich@suse.com>
157
158 * i386-dis.c (OP_Vex_2src_1, OP_Vex_2src_2, Vex_2src_1,
159 Vex_2src_2): Delete.
160 (OP_VexW, VexW): New.
161 (xop_table): Use EXx for rotates by immediate. Use EXx and VexW
162 for shifts and rotates by register.
163
1642020-07-08 Jan Beulich <jbeulich@suse.com>
165
166 * i386-dis.c (OP_EX_VexImmW, OP_XMM_VexW, EXVexImmW, XMVexW,
167 VEX_W_0F3A48_P_2, VEX_W_0F3A49_P_2, vex_w_done, get_vex_imm8,
168 OP_EX_VexReg): Delete.
169 (OP_VexI4, VexI4): New.
170 (vex_w_table): Move vpermil2ps and vpermil2pd entries ...
171 (prefix_table): ... here.
172 (print_insn): Drop setting of vex_w_done.
173
1742020-07-08 Jan Beulich <jbeulich@suse.com>
175
176 * i386-dis.c (OP_EX_VexW, EXVexW, EXdVexW, EXqVexW): Delete.
177 (prefix_table, vex_len_table): Replace operands for FMA4 insns.
178 (xop_table): Replace operands of 4-operand insns.
179 (OP_REG_VexI4): Move VEX.W based operand swaping here.
180
1812020-07-07 Claudiu Zissulescu <claziss@synopsys.com>
182
183 * arc-opc.c (insert_rbd): New function.
184 (RBD): Define.
185 (RBDdup): Likewise.
186 * arc-tbl.h (vadd2, vadd4h, vmac2h, vmpy2h, vsub4h): Update
187 instructions.
188
1892020-07-07 Jan Beulich <jbeulich@suse.com>
190
191 * i386-dis.c (EVEX_W_0F3826_P_1, EVEX_W_0F3826_P_2,
192 EVEX_W_0F3828_P_1, EVEX_W_0F3829_P_1, EVEX_W_0F3854_P_2,
193 EVEX_W_0F3866_P_2, EVEX_W_0F3875_P_2, EVEX_W_0F387D_P_2,
194 EVEX_W_0F388D_P_2, EVEX_W_0F3A3E_P_2, EVEX_W_0F3A3F_P_2):
195 Delete.
196 (putop): Handle "BW".
197 * i386-dis-evex-w.h: Move entries for opcodes 0F3826, 0F3826,
198 0F3828, 0F3829, 0F3854, 0F3866, 0F3875, 0F387D, 0F388D, 0F3A3E,
199 and 0F3A3F ...
200 * i386-dis-evex-prefix.h: ... here.
201
2022020-07-06 Jan Beulich <jbeulich@suse.com>
203
204 * i386-dis.c (VEX_LEN_0FXOP_09_80, VEX_LEN_0FXOP_09_81): Delete.
205 (VEX_LEN_0FXOP_09_82_W_0, VEX_LEN_0FXOP_09_83_W_0,
206 VEX_W_0FXOP_09_80, VEX_W_0FXOP_09_81, VEX_W_0FXOP_09_82,
207 VEX_W_0FXOP_09_83): New enumerators.
208 (xop_table): Reference the above.
209 (vex_len_table): Replace vfrczp* entries by vfrczs* ones.
210 (vex_w_table): New VEX_W_0FXOP_09_80, VEX_W_0FXOP_09_81,
211 VEX_W_0FXOP_09_82, and VEX_W_0FXOP_09_83 entries.
212 (get_valid_dis386): Return bad_opcode for XOP.PP != 0.
213
2142020-07-06 Jan Beulich <jbeulich@suse.com>
215
216 * i386-dis.c (EVEX_W_0F3838_P_1,
217 EVEX_W_0F3839_P_1, EVEX_W_0F3840_P_2, EVEX_W_0F3855_P_2,
218 EVEX_W_0F3868_P_3, EVEX_W_0F3871_P_2, EVEX_W_0F3873_P_2,
219 EVEX_W_0F3A50_P_2, EVEX_W_0F3A51_P_2, EVEX_W_0F3A56_P_2,
220 EVEX_W_0F3A57_P_2, EVEX_W_0F3A66_P_2, EVEX_W_0F3A67_P_2,
221 EVEX_W_0F3A71_P_2, EVEX_W_0F3A73_P_2): Delete.
222 (putop): Centralize management of last[]. Delete SAVE_LAST.
223 * i386-dis-evex-w.h: Move entries for opcodes 0F3838, 0F3839,
224 0F3840, 0F3855, 0F3868, 0F3871, 0F3873, 0F3A50, 0F3A51, 0F3A56,
225 0F3A57, 0F3A66, 0F3A67, 0F3A71, and 0F3A73 ...
226 * i386-dis-evex-prefix.h: here.
227
2282020-07-06 Jan Beulich <jbeulich@suse.com>
229
230 * i386-dis.c (MOD_EVEX_0F381A_P_2_W_0, MOD_EVEX_0F381A_P_2_W_1,
231 MOD_EVEX_0F381B_P_2_W_0, MOD_EVEX_0F381B_P_2_W_1,
232 MOD_EVEX_0F385A_P_2_W_0, MOD_EVEX_0F385A_P_2_W_1,
233 MOD_EVEX_0F385B_P_2_W_0, MOD_EVEX_0F385B_P_2_W_1): New
234 enumerators.
235 (EVEX_LEN_0F381A_P_2_W_0, EVEX_LEN_0F381A_P_2_W_1,
236 EVEX_LEN_0F381B_P_2_W_0, EVEX_LEN_0F381B_P_2_W_1,
237 EVEX_LEN_0F385A_P_2_W_0, EVEX_LEN_0F385A_P_2_W_1,
238 EVEX_LEN_0F385B_P_2_W_0, EVEX_LEN_0F385B_P_2_W_1): Rename to ...
239 (EVEX_LEN_0F381A_P_2_W_0_M_0, EVEX_LEN_0F381A_P_2_W_1_M_0,
240 EVEX_LEN_0F381B_P_2_W_0_M_0, EVEX_LEN_0F381B_P_2_W_1_M_0,
241 EVEX_LEN_0F385A_P_2_W_0_M_0, EVEX_LEN_0F385A_P_2_W_1_M_0,
242 EVEX_LEN_0F385B_P_2_W_0_M_0, EVEX_LEN_0F385B_P_2_W_1_M_0): ...
243 these, respectively.
244 * i386-dis-evex-len.h: Adjust comments.
245 * i386-dis-evex-mod.h: New MOD_EVEX_0F381A_P_2_W_0,
246 MOD_EVEX_0F381A_P_2_W_1, MOD_EVEX_0F381B_P_2_W_0,
247 MOD_EVEX_0F381B_P_2_W_1, MOD_EVEX_0F385A_P_2_W_0,
248 MOD_EVEX_0F385A_P_2_W_1, MOD_EVEX_0F385B_P_2_W_0, and
249 MOD_EVEX_0F385B_P_2_W_1 table entries.
250 * i386-dis-evex-w.h: Reference mod_table[] for
251 EVEX_W_0F381A_P_2, EVEX_W_0F381B_P_2, EVEX_W_0F385A_P_2, and
252 EVEX_W_0F385B_P_2.
253
2542020-07-06 Jan Beulich <jbeulich@suse.com>
255
256 * i386-dis-evex-len.h (vbroadcastf32x8, vbroadcasti32x8,
257 vinsertf32x8, vinsertf64x4, vextractf32x8, vextractf64x4): Use
258 EXymm.
259 (vinserti32x8, vinserti64x4, vextracti32x8, vextracti64x4):
260 Likewise. Mark 256-bit entries invalid.
261
2622020-07-06 Jan Beulich <jbeulich@suse.com>
263
264 * i386-dis.c (PREFIX_EVEX_0F62, PREFIX_EVEX_0F6A,
265 PREFIX_EVEX_0F6B, PREFIX_EVEX_0F6C, PREFIX_EVEX_0F6D,
266 PREFIX_EVEX_0FD2, PREFIX_EVEX_0FD3, PREFIX_EVEX_0FD4,
267 PREFIX_EVEX_0FF2, PREFIX_EVEX_0FF3, PREFIX_EVEX_0FF4,
268 PREFIX_EVEX_0FFA, PREFIX_EVEX_0FFB, PREFIX_EVEX_0FFE,
269 PREFIX_EVEX_0F382B): Delete.
270 (EVEX_W_0F62_P_2, EVEX_W_0F6A_P_2, EVEX_W_0F6B_P_2,
271 EVEX_W_0F6C_P_2, EVEX_W_0F6D_P_2, EVEX_W_0FD2_P_2,
272 EVEX_W_0FD3_P_2, EVEX_W_0FD4_P_2, EVEX_W_0FF2_P_2,
273 EVEX_W_0FF3_P_2, EVEX_W_0FF4_P_2, EVEX_W_0FFA_P_2,
274 EVEX_W_0FFB_P_2, EVEX_W_0FFE_P_2, EVEX_W_0F382B_P_2): Rename
275 to ...
276 (EVEX_W_0F62, EVEX_W_0F6A, EVEX_W_0F6B, EVEX_W_0F6C,
277 EVEX_W_0F6D, EVEX_W_0FD2, EVEX_W_0FD3, EVEX_W_0FD4,
278 EVEX_W_0FF2, EVEX_W_0FF3, EVEX_W_0FF4, EVEX_W_0FFA,
279 EVEX_W_0FFB, EVEX_W_0FFE, EVEX_W_0F382B): ... these
280 respectively.
281 * i386-dis-evex.h (evex_table): Reference VEX_W table entries
282 for opcodes 0F62, 0F6A, 0F6B, 0F6C, 0F6D, 0FD2, 0FD3, 0FD4,
283 0FF2, 0FF3, 0FF4, 0FFA, 0FFB, 0FFE, 0F382B.
284 * i386-dis-evex-prefix.h (PREFIX_EVEX_0F62, PREFIX_EVEX_0F6A,
285 PREFIX_EVEX_0F6B, PREFIX_EVEX_0F6C, PREFIX_EVEX_0F6D,
286 PREFIX_EVEX_0FD2, PREFIX_EVEX_0FD3, PREFIX_EVEX_0FD4,
287 PREFIX_EVEX_0FF2, PREFIX_EVEX_0FF3, PREFIX_EVEX_0FF4,
288 PREFIX_EVEX_0FFA, PREFIX_EVEX_0FFB, PREFIX_EVEX_0FFE,
289 PREFIX_EVEX_0F382B): Remove table entries.
290 * i386-dis-evex-w.h: Reference VEX table entries for opcodes
291 0F62, 0F6A, 0F6B, 0F6C, 0F6D, 0FD2, 0FD3, 0FD4, 0FF2, 0FF3,
292 0FF4, 0FFA, 0FFB, 0FFE, 0F382B.
293
2942020-07-06 Jan Beulich <jbeulich@suse.com>
295
296 * i386-dis.c (EVEX_LEN_0F3816_P_2, EVEX_LEN_0F3836_P_2,
297 EVEX_LEN_0F3A00_P_2_W_1, EVEX_LEN_0F3A01_P_2_W_1): New
298 enumerators.
299 * i386-dis-evex-len.h (evex_len_table): New EVEX_LEN_0F3816_P_2,
300 EVEX_LEN_0F3836_P_2, EVEX_LEN_0F3A00_P_2_W_1, and
301 EVEX_LEN_0F3A01_P_2_W_1 table entries.
302 * i386-dis-evex-prefix.h, i386-dis-evex-w.h: Reference the above
303 entries.
304
3052020-07-06 Jan Beulich <jbeulich@suse.com>
306
307 * i386-dis.c (EVEX_LEN_0FC4_P_2, EVEX_LEN_0FC5_P_2,
308 EVEX_LEN_0F3A14_P_2, EVEX_LEN_0F3A15_P_2, EVEX_LEN_0F3A16_P_2,
309 EVEX_LEN_0F3A17_P_2, EVEX_LEN_0F3A20_P_2,
310 EVEX_LEN_0F3A21_P_2_W_0, EVEX_LEN_0F3A22_P_2): New enumerators.
311 * i386-dis-evex-len.h (evex_len_table): New EVEX_LEN_0FC4_P_2,
312 EVEX_LEN_0FC5_P_2, EVEX_LEN_0F3A14_P_2, EVEX_LEN_0F3A15_P_2,
313 EVEX_LEN_0F3A16_P_2, EVEX_LEN_0F3A17_P_2, EVEX_LEN_0F3A20_P_2,
314 EVEX_LEN_0F3A21_P_2_W_0, and EVEX_LEN_0F3A22_P_2 table entries.
315 * i386-dis-evex-prefix.h, i386-dis-evex-w.h: Reference the above
316 entries.
317
3182020-07-06 Jan Beulich <jbeulich@suse.com>
319
320 * i386-dis.c (PREFIX_EVEX_0F3A1D, EVEX_W_0F3A1D_P_2): Delete.
321 (VEX_W_0F3813_P_2, VEX_W_0F3A1D_P_2): New enumerators.
322 (prefix_table): Reference VEX_W_0F3813_P_2 and VEX_W_0F3A1D_P_2
323 respectively.
324 (vex_w_table): New VEX_W_0F3813_P_2 and VEX_W_0F3A1D_P_2 table
325 entries.
326 * i386-dis-evex.h (evex_table): Reference VEX table entry for
327 opcode 0F3A1D.
328 * i386-dis-evex-prefix.h (PREFIX_EVEX_0F3A1D): Delete table
329 entry.
330 * i386-dis-evex-w.h (EVEX_W_0F3A1D_P_2): Likewise.
331
3322020-07-06 Jan Beulich <jbeulich@suse.com>
333
334 * i386-dis.c (PREFIX_EVEX_0F60, PREFIX_EVEX_0F61,
335 PREFIX_EVEX_0F63, PREFIX_EVEX_0F67, PREFIX_EVEX_0F68,
336 PREFIX_EVEX_0F69, PREFIX_EVEX_0FD1, PREFIX_EVEX_0FD5,
337 PREFIX_EVEX_0FD8, PREFIX_EVEX_0FD9, PREFIX_EVEX_0FDA,
338 PREFIX_EVEX_0FDC, PREFIX_EVEX_0FDD, PREFIX_EVEX_0FDE,
339 PREFIX_EVEX_0FE0, PREFIX_EVEX_0FE1, PREFIX_EVEX_0FE3,
340 PREFIX_EVEX_0FE4, PREFIX_EVEX_0FE5, PREFIX_EVEX_0FE8,
341 PREFIX_EVEX_0FE9, PREFIX_EVEX_0FEA, PREFIX_EVEX_0FEC,
342 PREFIX_EVEX_0FED, PREFIX_EVEX_0FEE, PREFIX_EVEX_0FF1,
343 PREFIX_EVEX_0FF5, PREFIX_EVEX_0FF6, PREFIX_EVEX_0FF8,
344 PREFIX_EVEX_0FF9, PREFIX_EVEX_0FFC, PREFIX_EVEX_0FFD,
345 PREFIX_EVEX_0F3800, PREFIX_EVEX_0F3804, PREFIX_EVEX_0F380B,
346 PREFIX_EVEX_0F380C, PREFIX_EVEX_0F3818, PREFIX_EVEX_0F381C,
347 PREFIX_EVEX_0F381D, PREFIX_EVEX_0F383C, PREFIX_EVEX_0F383E,
348 PREFIX_EVEX_0F3858, PREFIX_EVEX_0F3878, PREFIX_EVEX_0F3879,
349 PREFIX_EVEX_0F3896, PREFIX_EVEX_0F3897, PREFIX_EVEX_0F3898,
350 PREFIX_EVEX_0F3899, PREFIX_EVEX_0F389C, PREFIX_EVEX_0F389D,
351 PREFIX_EVEX_0F389E, PREFIX_EVEX_0F389F, PREFIX_EVEX_0F38A6,
352 PREFIX_EVEX_0F38A7, PREFIX_EVEX_0F38A8, PREFIX_EVEX_0F38A9,
353 PREFIX_EVEX_0F38AC, PREFIX_EVEX_0F38AD, PREFIX_EVEX_0F38AE,
354 PREFIX_EVEX_0F38AF, PREFIX_EVEX_0F38B6, PREFIX_EVEX_0F38B7,
355 PREFIX_EVEX_0F38B8, PREFIX_EVEX_0F38B9, PREFIX_EVEX_0F38BA,
356 PREFIX_EVEX_0F38BB, PREFIX_EVEX_0F38BC, PREFIX_EVEX_0F38BD,
357 PREFIX_EVEX_0F38BE, PREFIX_EVEX_0F38BF, PREFIX_EVEX_0F38CF,
358 PREFIX_EVEX_0F38DC, PREFIX_EVEX_0F38DD, PREFIX_EVEX_0F38DE,
359 PREFIX_EVEX_0F38DF, PREFIX_EVEX_0F3A04, PREFIX_EVEX_0F3A0F,
360 PREFIX_EVEX_0F3A44, PREFIX_EVEX_0F3ACE, PREFIX_EVEX_0F3ACF,
361 EVEX_W_0F380C_P_2, EVEX_W_0F3818_P_2, EVEX_W_0F3858_P_2,
362 EVEX_W_0F3878_P_2, EVEX_W_0F3879_P_2, EVEX_W_0F3A04_P_2,
363 EVEX_W_0F3ACE_P_2, EVEX_W_0F3ACF_P_2): Delete.
364 (prefix_table): Add EXxEVexR to FMA table entries.
365 (OP_Rounding): Move abort() invocation.
366 * i386-dis-evex.h (evex_table): Reference VEX table for opcodes
367 0F60, 0F61, 0F63, 0F67, 0F68, 0F69, 0FD1, 0FD5, 0FD8, 0FD9,
368 0FDA, 0FDC, 0FDD, 0FDE, 0FE0, 0FE1, 0FE3, 0FE4, 0FE5, 0FE8,
369 0FE9, 0FEA, 0FEC, 0FED, 0FEE, 0FF1, 0FF5, 0FF6, 0FF8, 0FF9,
370 0FFC, 0FFD, 0F3800, 0F3804, 0F380B, 0F380C, 0F3818, 0F381C,
371 0F381D, 0F383C, 0F383E, 0F3858, 0F3878, 0F3879, 0F3896, 0F3897,
372 0F3898, 0F3899, 0F389C, 0F389D, 0F389E, 0F389F, 0F38A6, 0F38A7,
373 0F38A8, 0F38A9, 0F38AC, 0F38AD, 0F38AE, 0F38AF, 0F38B6, 0F38B7,
374 0F38B8, 0F38B9, 0F38BA, 0F38BB, 0F38BC, 0F38BD, 0F38BE, 0F38BF,
375 0F38CF, 0F38DC, 0F38DD, 0F38DE, 0F38DF, 0F3A04, 0F3A0F, 0F3A44,
376 0F3ACE, 0F3ACF.
377 * i386-dis-evex-prefix.h (PREFIX_EVEX_0F60, PREFIX_EVEX_0F61,
378 PREFIX_EVEX_0F63, PREFIX_EVEX_0F67, PREFIX_EVEX_0F68,
379 PREFIX_EVEX_0F69, PREFIX_EVEX_0FD1, PREFIX_EVEX_0FD5,
380 PREFIX_EVEX_0FD8, PREFIX_EVEX_0FD9, PREFIX_EVEX_0FDA,
381 PREFIX_EVEX_0FDC, PREFIX_EVEX_0FDD, PREFIX_EVEX_0FDE,
382 PREFIX_EVEX_0FE0, PREFIX_EVEX_0FE1, PREFIX_EVEX_0FE3,
383 PREFIX_EVEX_0FE4, PREFIX_EVEX_0FE5, PREFIX_EVEX_0FE8,
384 PREFIX_EVEX_0FE9, PREFIX_EVEX_0FEA, PREFIX_EVEX_0FEC,
385 PREFIX_EVEX_0FED, PREFIX_EVEX_0FEE, PREFIX_EVEX_0FF1,
386 PREFIX_EVEX_0FF5, PREFIX_EVEX_0FF6, PREFIX_EVEX_0FF8,
387 PREFIX_EVEX_0FF9, PREFIX_EVEX_0FFC, PREFIX_EVEX_0FFD,
388 PREFIX_EVEX_0F3800, PREFIX_EVEX_0F3804, PREFIX_EVEX_0F380B,
389 PREFIX_EVEX_0F380C, PREFIX_EVEX_0F3818, PREFIX_EVEX_0F381C,
390 PREFIX_EVEX_0F381D, PREFIX_EVEX_0F383C, PREFIX_EVEX_0F383E,
391 PREFIX_EVEX_0F3858, PREFIX_EVEX_0F3878, PREFIX_EVEX_0F3879,
392 PREFIX_EVEX_0F3896, PREFIX_EVEX_0F3897, PREFIX_EVEX_0F3898,
393 PREFIX_EVEX_0F3899, PREFIX_EVEX_0F389C, PREFIX_EVEX_0F389D,
394 PREFIX_EVEX_0F389E, PREFIX_EVEX_0F389F, PREFIX_EVEX_0F38A6,
395 PREFIX_EVEX_0F38A7, PREFIX_EVEX_0F38A8, PREFIX_EVEX_0F38A9,
396 PREFIX_EVEX_0F38AC, PREFIX_EVEX_0F38AD, PREFIX_EVEX_0F38AE,
397 PREFIX_EVEX_0F38AF, PREFIX_EVEX_0F38B6, PREFIX_EVEX_0F38B7,
398 PREFIX_EVEX_0F38B8, PREFIX_EVEX_0F38B9, PREFIX_EVEX_0F38BA,
399 PREFIX_EVEX_0F38BB, PREFIX_EVEX_0F38BC, PREFIX_EVEX_0F38BD,
400 PREFIX_EVEX_0F38BE, PREFIX_EVEX_0F38BF, PREFIX_EVEX_0F38CF,
401 PREFIX_EVEX_0F38DC, PREFIX_EVEX_0F38DD, PREFIX_EVEX_0F38DE,
402 PREFIX_EVEX_0F38DF, PREFIX_EVEX_0F3A04, PREFIX_EVEX_0F3A0F,
403 PREFIX_EVEX_0F3A44, PREFIX_EVEX_0F3ACE, PREFIX_EVEX_0F3ACF):
404 Delete table entries.
405 * i386-dis-evex-w.h (EVEX_W_0F380C_P_2, EVEX_W_0F3818_P_2,
406 EVEX_W_0F3858_P_2, EVEX_W_0F3878_P_2, EVEX_W_0F3879_P_2,
407 EVEX_W_0F3A04_P_2, EVEX_W_0F3ACE_P_2, EVEX_W_0F3ACF_P_2):
408 Likewise.
409
4102020-07-06 Jan Beulich <jbeulich@suse.com>
411
412 * i386-dis.c (EXqScalarS): Delete.
413 (vex_len_table): Replace EXqScalarS by EXqVexScalarS.
414 * i386-dis-evex-w.h (vmovq): Use EXqVexScalarS.
415
4162020-07-06 Jan Beulich <jbeulich@suse.com>
417
418 * i386-dis.c (safe-ctype.h): Include.
419 (EXdScalar, EXqScalar): Delete.
420 (d_scalar_mode, q_scalar_mode): Delete.
421 (prefix_table, vex_len_table): Use EXxmm_md in place of
422 EXdScalar and EXxmm_mq in place of EXqScalar.
423 (intel_operand_size, OP_E_memory, OP_EX): Remove uses of
424 d_scalar_mode and q_scalar_mode.
425 * i386-dis-evex-w.h (vmovss): Use EXxmm_md.
426 (vmovsd): Use EXxmm_mq.
427
4282020-07-06 Yuri Chornoivan <yurchor@ukr.net>
429
430 PR 26204
431 * arc-dis.c: Fix spelling mistake.
432 * po/opcodes.pot: Regenerate.
433
4342020-07-06 Nick Clifton <nickc@redhat.com>
435
436 * po/pt_BR.po: Updated Brazilian Portugugese translation.
437 * po/uk.po: Updated Ukranian translation.
438
4392020-07-04 Nick Clifton <nickc@redhat.com>
440
441 * configure: Regenerate.
442 * po/opcodes.pot: Regenerate.
443
4442020-07-04 Nick Clifton <nickc@redhat.com>
445
446 Binutils 2.35 branch created.
447
4482020-07-02 H.J. Lu <hongjiu.lu@intel.com>
449
450 * i386-gen.c (opcode_modifiers): Add VexSwapSources.
451 * i386-opc.h (VexSwapSources): New.
452 (i386_opcode_modifier): Add vexswapsources.
453 * i386-opc.tbl: Add VexSwapSources to BMI2 and BMI instructions
454 with two source operands swapped.
455 * i386-tbl.h: Regenerated.
456
4572020-06-30 Nelson Chu <nelson.chu@sifive.com>
458
459 * riscv-dis.c (print_insn_args, case 'E'): Updated. Let the
460 unprivileged CSR can also be initialized.
461
4622020-06-29 Alan Modra <amodra@gmail.com>
463
464 * arm-dis.c: Use C style comments.
465 * cr16-opc.c: Likewise.
466 * ft32-dis.c: Likewise.
467 * moxie-opc.c: Likewise.
468 * tic54x-dis.c: Likewise.
469 * s12z-opc.c: Remove useless comment.
470 * xgate-dis.c: Likewise.
471
4722020-06-26 H.J. Lu <hongjiu.lu@intel.com>
473
474 * i386-opc.tbl: Add a blank line.
475
4762020-06-26 H.J. Lu <hongjiu.lu@intel.com>
477
478 * i386-gen.c (opcode_modifiers): Replace VecSIB with SIB.
479 (VecSIB128): Renamed to ...
480 (VECSIB128): This.
481 (VecSIB256): Renamed to ...
482 (VECSIB256): This.
483 (VecSIB512): Renamed to ...
484 (VECSIB512): This.
485 (VecSIB): Renamed to ...
486 (SIB): This.
487 (i386_opcode_modifier): Replace vecsib with sib.
488 * i386-opc.tbl (VecSIB128): New.
489 (VecSIB256): Likewise.
490 (VecSIB512): Likewise.
491 Replace VecSIB=1, VecSIB=2 and VecSIB=3 with VecSIB128, VecSIB256
492 and VecSIB512, respectively.
493
4942020-06-26 Jan Beulich <jbeulich@suse.com>
495
496 * i386-dis.c: Adjust description of I macro.
497 (x86_64_table): Drop use of I.
498 (float_mem): Replace use of I.
499 (putop): Remove handling of I. Adjust setting/clearing of "alt".
500
5012020-06-26 Jan Beulich <jbeulich@suse.com>
502
503 * i386-dis.c: (print_insn): Avoid straight assignment to
504 priv.orig_sizeflag when processing -M sub-options.
505
5062020-06-25 Jan Beulich <jbeulich@suse.com>
507
508 * i386-dis.c: Adjust description of J macro.
509 (dis386, x86_64_table, mod_table): Replace J.
510 (putop): Remove handling of J.
511
5122020-06-25 Jan Beulich <jbeulich@suse.com>
513
514 * i386-dis.c: (float_mem): Reduce alternatives for fstpt and fldpt.
515
5162020-06-25 Jan Beulich <jbeulich@suse.com>
517
518 * i386-dis.c: Adjust description of "LQ" macro.
519 (dis386_twobyte): Use LQ for sysret.
520 (putop): Adjust handling of LQ.
521
5222020-06-22 Nelson Chu <nelson.chu@sifive.com>
523
524 * riscv-opc.c: Move the structures and functions to bfd/elfxx-riscv.c.
525 * riscv-dis.c: Include elfxx-riscv.h.
526
5272020-06-18 H.J. Lu <hongjiu.lu@intel.com>
528
529 * i386-dis.c (prefix_table): Revert the last vmgexit change.
530
5312020-06-17 Lili Cui <lili.cui@intel.com>
532
533 * i386-dis.c (prefix_table): Delete the incorrect vmgexit.
534
5352020-06-14 H.J. Lu <hongjiu.lu@intel.com>
536
537 PR gas/26115
538 * i386-dis.c (prefix_table): Replace xsuspldtrk with xsusldtrk.
539 * i386-opc.tbl: Likewise.
540 * i386-tbl.h: Regenerated.
541
5422020-06-12 Nelson Chu <nelson.chu@sifive.com>
543
544 * riscv-opc.c (priv_specs): Remove v1.9 and PRIV_SPEC_CLASS_1P9.
545
5462020-06-11 Alex Coplan <alex.coplan@arm.com>
547
548 * aarch64-opc.c (SYSREG): New macro for describing system registers.
549 (SR_CORE): Likewise.
550 (SR_FEAT): Likewise.
551 (SR_RNG): Likewise.
552 (SR_V8_1): Likewise.
553 (SR_V8_2): Likewise.
554 (SR_V8_3): Likewise.
555 (SR_V8_4): Likewise.
556 (SR_PAN): Likewise.
557 (SR_RAS): Likewise.
558 (SR_SSBS): Likewise.
559 (SR_SVE): Likewise.
560 (SR_ID_PFR2): Likewise.
561 (SR_PROFILE): Likewise.
562 (SR_MEMTAG): Likewise.
563 (SR_SCXTNUM): Likewise.
564 (aarch64_sys_regs): Refactor to store feature information in the table.
565 (aarch64_sys_reg_supported_p): Collapse logic for system registers
566 that now describe their own features.
567 (aarch64_pstatefield_supported_p): Likewise.
568
5692020-06-09 H.J. Lu <hongjiu.lu@intel.com>
570
571 * i386-dis.c (prefix_table): Fix a typo in comments.
572
5732020-06-09 Jan Beulich <jbeulich@suse.com>
574
575 * i386-dis.c (rex_ignored): Delete.
576 (ckprefix): Drop rex_ignored initialization.
577 (get_valid_dis386): Drop setting of rex_ignored.
578 (print_insn): Drop checking of rex_ignored. Don't record data
579 size prefix as used with VEX-and-alike encodings.
580
5812020-06-09 Jan Beulich <jbeulich@suse.com>
582
583 * i386-dis.c (MOD_0F12_PREFIX_2, MOD_0F16_PREFIX_2,
584 MOD_VEX_0F12_PREFIX_2, MOD_VEX_0F16_PREFIX_2): New enumerators.
585 (VEX_LEN_0F12_P_2, VEX_LEN_0F16_P_2): Delete.
586 (VEX_LEN_0F12_P_2_M_0, VEX_LEN_0F16_P_2_M_0): Define.
587 (prefix_table): Decode MOD for cases 2 of opcodes 0F12, 0F16,
588 VEX_0F12, and VEX_0F16.
589 (vex_len_table): Use X for vmovlp* and vmovh*s. Drop
590 VEX_LEN_0F12_P_2 and VEX_LEN_0F16_P_2 entries.
591 (mod_table): Use X for movlpX and movhpX. Drop PREFIX_OPCODE
592 from movlps and movhlps. New MOD_0F12_PREFIX_2,
593 MOD_0F16_PREFIX_2, MOD_VEX_0F12_PREFIX_2, and
594 MOD_VEX_0F16_PREFIX_2 entries.
595
5962020-06-09 Jan Beulich <jbeulich@suse.com>
597
598 * i386-dis.c (MOD_EVEX_0F12_PREFIX_2, MOD_EVEX_0F13,
599 MOD_EVEX_0F16_PREFIX_2, MOD_EVEX_0F17, MOD_EVEX_0F2B): New enumerators.
600 (PREFIX_EVEX_0F13, PREFIX_EVEX_0F14, PREFIX_EVEX_0F15,
601 PREFIX_EVEX_0F17, PREFIX_EVEX_0F28, PREFIX_EVEX_0F29,
602 PREFIX_EVEX_0F2B, PREFIX_EVEX_0F54, PREFIX_EVEX_0F55,
603 PREFIX_EVEX_0F56, PREFIX_EVEX_0F57, PREFIX_EVEX_0FC6,
604 EVEX_W_0F10_P_0, EVEX_W_0F10_P_2, EVEX_W_0F11_P_0,
605 EVEX_W_0F11_P_2, EVEX_W_0F12_P_0_M_0, EVEX_W_0F12_P_2,
606 EVEX_W_0F13_P_0, EVEX_W_0F13_P_2, EVEX_W_0F14_P_0,
607 EVEX_W_0F14_P_2, EVEX_W_0F15_P_0, EVEX_W_0F15_P_2,
608 EVEX_W_0F16_P_0_M_0, EVEX_W_0F16_P_2, EVEX_W_0F17_P_0,
609 EVEX_W_0F17_P_2, EVEX_W_0F28_P_0, EVEX_W_0F28_P_2,
610 EVEX_W_0F29_P_0, EVEX_W_0F29_P_2, EVEX_W_0F2B_P_0,
611 EVEX_W_0F2B_P_2, EVEX_W_0F2E_P_0, EVEX_W_0F2E_P_2,
612 EVEX_W_0F2F_P_0, EVEX_W_0F2F_P_2, EVEX_W_0F51_P_0,
613 EVEX_W_0F51_P_2, EVEX_W_0F54_P_0, EVEX_W_0F54_P_2,
614 EVEX_W_0F55_P_0, EVEX_W_0F55_P_2, EVEX_W_0F56_P_0,
615 EVEX_W_0F56_P_2, EVEX_W_0F57_P_0, EVEX_W_0F57_P_2,
616 EVEX_W_0F58_P_0, EVEX_W_0F58_P_2, EVEX_W_0F59_P_0,
617 EVEX_W_0F59_P_2, EVEX_W_0F5C_P_0, EVEX_W_0F5C_P_2,
618 EVEX_W_0F5D_P_0, EVEX_W_0F5D_P_2, EVEX_W_0F5E_P_0,
619 EVEX_W_0F5E_P_2, EVEX_W_0F5F_P_0, EVEX_W_0F5F_P_2,
620 EVEX_W_0FC2_P_0, EVEX_W_0FC2_P_2, EVEX_W_0FC6_P_0,
621 EVEX_W_0FC6_P_2): Delete.
622 (print_insn): Add EVEX.W vs embedded prefix consistency check
623 to prefix validation.
624 * i386-dis-evex.h (evex_table): Don't further descend for
625 vunpcklpX, vunpckhpX, vmovapX, vandpX, vandnpX, vorpX, vxorpX,
626 and vshufpX. Continue with MOD decoding for opcodes 0F13, 0F17,
627 and 0F2B.
628 * i386-dis-evex-mod.h: Add/adjust vmovlpX/vmovhpX entries.
629 * i386-dis-evex-prefix.h: Don't further descend for vmovupX,
630 vucomisX, vcomisX, vsqrtpX, vaddpX, vmulpX, vsubpX, vminpX,
631 vdivpX, vmaxpX, and vcmppX. Continue with MOD decoding for cases
632 2 of PREFIX_EVEX_0F12, PREFIX_EVEX_0F16, and PREFIX_EVEX_0F29.
633 Drop PREFIX_EVEX_0F13, PREFIX_EVEX_0F14, PREFIX_EVEX_0F15,
634 PREFIX_EVEX_0F17, PREFIX_EVEX_0F28, PREFIX_EVEX_0F2B,
635 PREFIX_EVEX_0F54, PREFIX_EVEX_0F55, PREFIX_EVEX_0F56,
636 PREFIX_EVEX_0F57, and PREFIX_EVEX_0FC6 entries.
637 * i386-dis-evex-w.h: Drop EVEX_W_0F10_P_0, EVEX_W_0F10_P_2,
638 EVEX_W_0F11_P_0, EVEX_W_0F11_P_2, EVEX_W_0F12_P_0_M_0,
639 EVEX_W_0F12_P_2, EVEX_W_0F12_P_3, EVEX_W_0F13_P_0,
640 EVEX_W_0F13_P_2, EVEX_W_0F14_P_0, EVEX_W_0F14_P_2,
641 EVEX_W_0F15_P_0, EVEX_W_0F15_P_2, EVEX_W_0F16_P_0_M_0,
642 EVEX_W_0F16_P_2, EVEX_W_0F17_P_0, EVEX_W_0F17_P_2,
643 EVEX_W_0F28_P_0, EVEX_W_0F28_P_2, EVEX_W_0F29_P_0,
644 EVEX_W_0F29_P_2, EVEX_W_0F2B_P_0, EVEX_W_0F2B_P_2,
645 EVEX_W_0F2E_P_0, EVEX_W_0F2E_P_2, EVEX_W_0F2F_P_0,
646 EVEX_W_0F2F_P_2, EVEX_W_0F51_P_0, EVEX_W_0F51_P_2,
647 EVEX_W_0F54_P_0, EVEX_W_0F54_P_2, EVEX_W_0F55_P_0,
648 EVEX_W_0F55_P_2, EVEX_W_0F56_P_0, EVEX_W_0F56_P_2,
649 EVEX_W_0F57_P_0, EVEX_W_0F57_P_2, EVEX_W_0F58_P_0,
650 EVEX_W_0F58_P_2, EVEX_W_0F59_P_0, EVEX_W_0F59_P_2,
651 EVEX_W_0F5C_P_0, EVEX_W_0F5C_P_2, EVEX_W_0F5D_P_0,
652 EVEX_W_0F5D_P_2, EVEX_W_0F5E_P_0, EVEX_W_0F5E_P_2,
653 EVEX_W_0F5F_P_0, EVEX_W_0F5F_P_2, EVEX_W_0FC2_P_0,
654 EVEX_W_0FC2_P_2, EVEX_W_0FC6_P_0, and EVEX_W_0FC6_P_2 entries.
655
6562020-06-09 Jan Beulich <jbeulich@suse.com>
657
658 * i386-dis.c (vex_table): Use PREFIX_OPCODE for vunpcklpX,
659 vunpckhpX, vmovapX, vandpX, vandnpX, vorpX, vxorpX and vshufpX.
660 (vex_len_table) : Likewise for vmovlpX, vmovhpX, vmovntpX, and
661 vmovmskpX.
662 (print_insn): Drop pointless check against bad_opcode. Split
663 prefix validation into legacy and VEX-and-alike parts.
664 (putop): Re-work 'X' macro handling.
665
6662020-06-09 Jan Beulich <jbeulich@suse.com>
667
668 * i386-dis.c (MOD_0F51): Rename to ...
669 (MOD_0F50): ... this.
670
6712020-06-08 Alex Coplan <alex.coplan@arm.com>
672
673 * arm-dis.c (arm_opcodes): Add dfb.
674 (thumb32_opcodes): Add dfb.
675
6762020-06-08 Jan Beulich <jbeulich@suse.com>
677
678 * i386-opc.h (reg_entry): Const-qualify reg_name field.
679
6802020-06-06 Alan Modra <amodra@gmail.com>
681
682 * ppc-dis.c (ppc_opts): Accept -mpwr10/-Mpwr10.
683
6842020-06-05 Alan Modra <amodra@gmail.com>
685
686 * cgen-dis.c (hash_insn_array): Increase size of buf. Assert
687 size is large enough.
688
6892020-06-04 Jose E. Marchesi <jose.marchesi@oracle.com>
690
691 * disassemble.c (disassemble_init_for_target): Set endian_code for
692 bpf targets.
693 * bpf-desc.c: Regenerate.
694 * bpf-opc.c: Likewise.
695 * bpf-dis.c: Likewise.
696
6972020-06-03 Jose E. Marchesi <jose.marchesi@oracle.com>
698
699 * cgen-opc.c (cgen_get_insn_value): Get an `endian' argument.
700 (cgen_put_insn_value): Likewise.
701 (cgen_lookup_insn): Pass endianness to cgen_{get,put}_insn_value.
702 * cgen-dis.in (print_insn): Likewise.
703 * cgen-ibld.in (insert_1): Likewise.
704 (insert_1): Likewise.
705 (insert_insn_normal): Likewise.
706 (extract_1): Likewise.
707 * bpf-dis.c: Regenerate.
708 * bpf-ibld.c: Likewise.
709 * bpf-ibld.c: Likewise.
710 * cgen-dis.in: Likewise.
711 * cgen-ibld.in: Likewise.
712 * cgen-opc.c: Likewise.
713 * epiphany-dis.c: Likewise.
714 * epiphany-ibld.c: Likewise.
715 * fr30-dis.c: Likewise.
716 * fr30-ibld.c: Likewise.
717 * frv-dis.c: Likewise.
718 * frv-ibld.c: Likewise.
719 * ip2k-dis.c: Likewise.
720 * ip2k-ibld.c: Likewise.
721 * iq2000-dis.c: Likewise.
722 * iq2000-ibld.c: Likewise.
723 * lm32-dis.c: Likewise.
724 * lm32-ibld.c: Likewise.
725 * m32c-dis.c: Likewise.
726 * m32c-ibld.c: Likewise.
727 * m32r-dis.c: Likewise.
728 * m32r-ibld.c: Likewise.
729 * mep-dis.c: Likewise.
730 * mep-ibld.c: Likewise.
731 * mt-dis.c: Likewise.
732 * mt-ibld.c: Likewise.
733 * or1k-dis.c: Likewise.
734 * or1k-ibld.c: Likewise.
735 * xc16x-dis.c: Likewise.
736 * xc16x-ibld.c: Likewise.
737 * xstormy16-dis.c: Likewise.
738 * xstormy16-ibld.c: Likewise.
739
7402020-06-04 Jose E. Marchesi <jemarch@gnu.org>
741
742 * cgen-dis.in (cpu_desc_list): New field `insn_endian'.
743 (print_insn_): Handle instruction endian.
744 * bpf-dis.c: Regenerate.
745 * bpf-desc.c: Regenerate.
746 * epiphany-dis.c: Likewise.
747 * epiphany-desc.c: Likewise.
748 * fr30-dis.c: Likewise.
749 * fr30-desc.c: Likewise.
750 * frv-dis.c: Likewise.
751 * frv-desc.c: Likewise.
752 * ip2k-dis.c: Likewise.
753 * ip2k-desc.c: Likewise.
754 * iq2000-dis.c: Likewise.
755 * iq2000-desc.c: Likewise.
756 * lm32-dis.c: Likewise.
757 * lm32-desc.c: Likewise.
758 * m32c-dis.c: Likewise.
759 * m32c-desc.c: Likewise.
760 * m32r-dis.c: Likewise.
761 * m32r-desc.c: Likewise.
762 * mep-dis.c: Likewise.
763 * mep-desc.c: Likewise.
764 * mt-dis.c: Likewise.
765 * mt-desc.c: Likewise.
766 * or1k-dis.c: Likewise.
767 * or1k-desc.c: Likewise.
768 * xc16x-dis.c: Likewise.
769 * xc16x-desc.c: Likewise.
770 * xstormy16-dis.c: Likewise.
771 * xstormy16-desc.c: Likewise.
772
7732020-06-03 Nick Clifton <nickc@redhat.com>
774
775 * po/sr.po: Updated Serbian translation.
776
7772020-06-03 Nelson Chu <nelson.chu@sifive.com>
778
779 * riscv-opc.c (riscv_get_isa_spec_class): Change bfd_boolean to int.
780 (riscv_get_priv_spec_class): Likewise.
781
7822020-06-01 Alan Modra <amodra@gmail.com>
783
784 * bpf-desc.c: Regenerate.
785
7862020-05-28 Jose E. Marchesi <jose.marchesi@oracle.com>
787 David Faust <david.faust@oracle.com>
788
789 * bpf-desc.c: Regenerate.
790 * bpf-opc.h: Likewise.
791 * bpf-opc.c: Likewise.
792 * bpf-dis.c: Likewise.
793
7942020-05-28 Alan Modra <amodra@gmail.com>
795
796 * nios2-dis.c (nios2_print_insn_arg): Avoid shift left of negative
797 values.
798
7992020-05-28 Alan Modra <amodra@gmail.com>
800
801 * ns32k-dis.c (print_insn_arg): Handle d value of 'f' for
802 immediates.
803 (print_insn_ns32k): Revert last change.
804
8052020-05-28 Nick Clifton <nickc@redhat.com>
806
807 * ns32k-dis.c (print_insn_ns32k): Change the arg_bufs array to
808 static.
809
8102020-05-26 Sandra Loosemore <sandra@codesourcery.com>
811
812 Fix extraction of signed constants in nios2 disassembler (again).
813
814 * nios2-dis.c (nios2_print_insn_arg): Add explicit casts to
815 extractions of signed fields.
816
8172020-05-26 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
818
819 * s390-opc.txt: Relocate vector load/store instructions with
820 additional alignment parameter and change architecture level
821 constraint from z14 to z13.
822
8232020-05-21 Alan Modra <amodra@gmail.com>
824
825 * arc-ext.c: Replace "if (x) free (x)" with "free (x)" throughout.
826 * sparc-dis.c: Likewise.
827 * tic4x-dis.c: Likewise.
828 * xtensa-dis.c: Likewise.
829 * bpf-desc.c: Regenerate.
830 * epiphany-desc.c: Regenerate.
831 * fr30-desc.c: Regenerate.
832 * frv-desc.c: Regenerate.
833 * ip2k-desc.c: Regenerate.
834 * iq2000-desc.c: Regenerate.
835 * lm32-desc.c: Regenerate.
836 * m32c-desc.c: Regenerate.
837 * m32r-desc.c: Regenerate.
838 * mep-asm.c: Regenerate.
839 * mep-desc.c: Regenerate.
840 * mt-desc.c: Regenerate.
841 * or1k-desc.c: Regenerate.
842 * xc16x-desc.c: Regenerate.
843 * xstormy16-desc.c: Regenerate.
844
8452020-05-20 Nelson Chu <nelson.chu@sifive.com>
846
847 * riscv-opc.c (riscv_ext_version_table): The table used to store
848 all information about the supported spec and the corresponding ISA
849 versions. Currently, only Zicsr is supported to verify the
850 correctness of Z sub extension settings. Others will be supported
851 in the future patches.
852 (struct isa_spec_t, isa_specs): List for all supported ISA spec
853 classes and the corresponding strings.
854 (riscv_get_isa_spec_class): New function. Get the corresponding ISA
855 spec class by giving a ISA spec string.
856 * riscv-opc.c (struct priv_spec_t): New structure.
857 (struct priv_spec_t priv_specs): List for all supported privilege spec
858 classes and the corresponding strings.
859 (riscv_get_priv_spec_class): New function. Get the corresponding
860 privilege spec class by giving a spec string.
861 (riscv_get_priv_spec_name): New function. Get the corresponding
862 privilege spec string by giving a CSR version class.
863 * riscv-dis.c: Updated since DECLARE_CSR is changed.
864 * riscv-dis.c: Add new disassembler option -Mpriv-spec to dump the CSR
865 according to the chosen version. Build a hash table riscv_csr_hash to
866 store the valid CSR for the chosen pirv verison. Dump the direct
867 CSR address rather than it's name if it is invalid.
868 (parse_riscv_dis_option_without_args): New function. Parse the options
869 without arguments.
870 (parse_riscv_dis_option): Call parse_riscv_dis_option_without_args to
871 parse the options without arguments first, and then handle the options
872 with arguments. Add the new option -Mpriv-spec, which has argument.
873 * riscv-dis.c (print_riscv_disassembler_options): Add description
874 about the new OBJDUMP option.
875
8762020-05-19 Peter Bergner <bergner@linux.ibm.com>
877
878 * ppc-opc.c (insert_ls, extract_ls): Handle 3-bit L fields and new
879 WC values on POWER10 sync, dcbf and wait instructions.
880 (insert_pl, extract_pl): New functions.
881 (L2OPT, LS, WC): Use insert_ls and extract_ls.
882 (LS3): New , 3-bit L for sync.
883 (LS3, L3OPT): New, 3-bit L for sync and dcbf.
884 (SC2, PL): New, 2-bit SC and PL for sync and wait.
885 (XWCPL_MASK, XL3RT_MASK, XSYNCLS_MASK): New instruction masks.
886 (XOPL3, XWCPL, XSYNCLS): New opcode macros.
887 (powerpc_opcodes) <dcbflp, dcbfps, dcbstps pause_short, phwsync,
888 plwsync, stcisync, stncisync, stsync, waitrsv>: New extended mnemonics.
889 <wait>: Enable PL operand on POWER10.
890 <dcbf>: Enable L3OPT operand on POWER10.
891 <sync>: Enable SC2 operand on POWER10.
892
8932020-05-19 Stafford Horne <shorne@gmail.com>
894
895 PR 25184
896 * or1k-asm.c: Regenerate.
897 * or1k-desc.c: Regenerate.
898 * or1k-desc.h: Regenerate.
899 * or1k-dis.c: Regenerate.
900 * or1k-ibld.c: Regenerate.
901 * or1k-opc.c: Regenerate.
902 * or1k-opc.h: Regenerate.
903 * or1k-opinst.c: Regenerate.
904
9052020-05-11 Alan Modra <amodra@gmail.com>
906
907 * ppc-opc (powerpc_opcodes): Add xscmpeqqp, xscmpgeqp, xscmpgtqp,
908 xsmaxcqp, xsmincqp.
909
9102020-05-11 Alan Modra <amodra@gmail.com>
911
912 * ppc-opc.c (powerpc_opcodes): Add lxvrbx, lxvrhx, lxvrwx, lxvrdx,
913 stxvrbx, stxvrhx, stxvrwx, stxvrdx.
914
9152020-05-11 Alan Modra <amodra@gmail.com>
916
917 * ppc-opc.c (powerpc_opcodes): Add xvtlsbb.
918
9192020-05-11 Alan Modra <amodra@gmail.com>
920
921 * ppc-opc.c (powerpc_opcodes): Add vstribl, vstribr, vstrihl, vstrihr,
922 vclrlb, vclrrb, vstribl., vstribr., vstrihl., vstrihr..
923
9242020-05-11 Peter Bergner <bergner@linux.ibm.com>
925
926 * ppc-opc.c (powerpc_opcodes) <setbc, setbcr, setnbc, setnbcr>: New
927 mnemonics.
928
9292020-05-11 Alan Modra <amodra@gmail.com>
930
931 * ppc-opc.c (UIM8, P_U8XX4_MASK): Define.
932 (powerpc_opcodes): Add vgnb, vcfuged, vpextd, vpdepd, vclzdm,
933 vctzdm, cntlzdm, pdepd, pextd, cfuged, cnttzdm.
934 (prefix_opcodes): Add xxeval.
935
9362020-05-11 Alan Modra <amodra@gmail.com>
937
938 * ppc-opc.c (powerpc_opcodes): Add xxgenpcvbm, xxgenpcvhm,
939 xxgenpcvwm, xxgenpcvdm.
940
9412020-05-11 Alan Modra <amodra@gmail.com>
942
943 * ppc-opc.c (MP, VXVAM_MASK): Define.
944 (VXVAPS_MASK): Use VXVA_MASK.
945 (powerpc_opcodes): Add mtvsrbmi, vexpandbm, vexpandhm, vexpandwm,
946 vexpanddm, vexpandqm, vextractbm, vextracthm, vextractwm,
947 vextractdm, vextractqm, mtvsrbm, mtvsrhm, mtvsrwm, mtvsrdm, mtvsrqm,
948 vcntmbb, vcntmbh, vcntmbw, vcntmbd.
949
9502020-05-11 Alan Modra <amodra@gmail.com>
951 Peter Bergner <bergner@linux.ibm.com>
952
953 * ppc-opc.c (insert_xa6a, extract_xa6a, insert_xb6a, extract_xb6a):
954 New functions.
955 (powerpc_operands): Define ACC, PMSK8, PMSK4, PMSK2, XMSK, YMSK,
956 YMSK2, XA6a, XA6ap, XB6a entries.
957 (PMMIRR, P_X_MASK, P_XX1_MASK, P_GER_MASK): Define
958 (P_GER2_MASK, P_GER4_MASK, P_GER8_MASK, P_GER64_MASK): Define.
959 (PPCVSX4): Define.
960 (powerpc_opcodes): Add xxmfacc, xxmtacc, xxsetaccz,
961 xvi8ger4pp, xvi8ger4, xvf16ger2pp, xvf16ger2, xvf32gerpp, xvf32ger,
962 xvi4ger8pp, xvi4ger8, xvi16ger2spp, xvi16ger2s, xvbf16ger2pp,
963 xvbf16ger2, xvf64gerpp, xvf64ger, xvi16ger2, xvf16ger2np,
964 xvf32gernp, xvi8ger4spp, xvi16ger2pp, xvbf16ger2np, xvf64gernp,
965 xvf16ger2pn, xvf32gerpn, xvbf16ger2pn, xvf64gerpn, xvf16ger2nn,
966 xvf32gernn, xvbf16ger2nn, xvf64gernn, xvcvbf16sp, xvcvspbf16.
967 (prefix_opcodes): Add pmxvi8ger4pp, pmxvi8ger4, pmxvf16ger2pp,
968 pmxvf16ger2, pmxvf32gerpp, pmxvf32ger, pmxvi4ger8pp, pmxvi4ger8,
969 pmxvi16ger2spp, pmxvi16ger2s, pmxvbf16ger2pp, pmxvbf16ger2,
970 pmxvf64gerpp, pmxvf64ger, pmxvi16ger2, pmxvf16ger2np, pmxvf32gernp,
971 pmxvi8ger4spp, pmxvi16ger2pp, pmxvbf16ger2np, pmxvf64gernp,
972 pmxvf16ger2pn, pmxvf32gerpn, pmxvbf16ger2pn, pmxvf64gerpn,
973 pmxvf16ger2nn, pmxvf32gernn, pmxvbf16ger2nn, pmxvf64gernn.
974
9752020-05-11 Alan Modra <amodra@gmail.com>
976
977 * ppc-opc.c (insert_imm32, extract_imm32): New functions.
978 (insert_xts, extract_xts): New functions.
979 (IMM32, UIM3, IX, UIM5, SH3, XTS, P8RR): Define.
980 (P_XX4_MASK, P_UXX4_MASK, VSOP, P_VS_MASK, P_VSI_MASK): Define.
981 (VXRC_MASK, VXSH_MASK): Define.
982 (powerpc_opcodes): Add vinsbvlx, vsldbi, vextdubvlx, vextdubvrx,
983 vextduhvlx, vextduhvrx, vextduwvlx, vextduwvrx, vextddvlx,
984 vextddvrx, vinshvlx, vinswvlx, vinsw, vinsbvrx, vinshvrx,
985 vinswvrx, vinsd, vinsblx, vsrdbi, vinshlx, vinswlx, vinsdlx,
986 vinsbrx, vinshrx, vinswrx, vinsdrx, lxvkq.
987 (prefix_opcodes): Add xxsplti32dx, xxspltidp, xxspltiw, xxblendvb,
988 xxblendvh, xxblendvw, xxblendvd, xxpermx.
989
9902020-05-11 Alan Modra <amodra@gmail.com>
991
992 * ppc-opc.c (powerpc_opcodes): Add vrlq, vdivuq, vmsumcud, vrlqmi,
993 vmuloud, vcmpuq, vslq, vdivsq, vcmpsq, vrlqnm, vcmpequq, vmulosd,
994 vsrq, vdiveuq, vcmpgtuq, vmuleud, vsraq, vdivesq, vcmpgtsq, vmulesd,
995 vcmpequq., vextsd2q, vmoduq, vcmpgtuq., vmodsq, vcmpgtsq., xscvqpuqz,
996 xscvuqqp, xscvqpsqz, xscvsqqp, dcffixqq, dctfixqq.
997
9982020-05-11 Alan Modra <amodra@gmail.com>
999
1000 * ppc-opc.c (insert_xtp, extract_xtp): New functions.
1001 (XTP, DQXP, DQXP_MASK): Define.
1002 (powerpc_opcodes): Add lxvp, stxvp, lxvpx, stxvpx.
1003 (prefix_opcodes): Add plxvp and pstxvp.
1004
10052020-05-11 Alan Modra <amodra@gmail.com>
1006
1007 * ppc-opc.c (powerpc_opcodes): Add vdivuw, vdivud, vdivsw, vmulld,
1008 vdivsd, vmulhuw, vdiveuw, vmulhud, vdiveud, vmulhsw, vdivesw,
1009 vmulhsd, vdivesd, vmoduw, vmodud, vmodsw, vmodsd.
1010
10112020-05-11 Peter Bergner <bergner@linux.ibm.com>
1012
1013 * ppc-opc.c (powerpc_opcodes) <brd, brh, brw>: New mnemonics.
1014
10152020-05-11 Peter Bergner <bergner@linux.ibm.com>
1016
1017 * ppc-opc.c (insert_l1opt, extract_l1opt): New functions.
1018 (L1OPT): Define.
1019 (powerpc_opcodes) <paste.>: Add L operand for cpu POWER10.
1020
10212020-05-11 Peter Bergner <bergner@linux.ibm.com>
1022
1023 * ppc-opc.c (powerpc_opcodes) <slbiag>: Add variant with L operand.
1024
10252020-05-11 Alan Modra <amodra@gmail.com>
1026
1027 * ppc-dis.c (powerpc_init_dialect): Default to "power10".
1028
10292020-05-11 Alan Modra <amodra@gmail.com>
1030
1031 * ppc-dis.c (ppc_opts): Add "power10" entry.
1032 (print_insn_powerpc): Update for PPC_OPCODE_POWER10 renaming.
1033 * ppc-opc.c (POWER10): Rename from POWERXX. Update all uses.
1034
10352020-05-11 Nick Clifton <nickc@redhat.com>
1036
1037 * po/fr.po: Updated French translation.
1038
10392020-04-30 Alex Coplan <alex.coplan@arm.com>
1040
1041 * aarch64-opc.h (enum aarch64_field_kind): Add FLD_imm16_2.
1042 * aarch64-opc.c (fields): Add entry for FLD_imm16_2.
1043 (operand_general_constraint_met_p): validate
1044 AARCH64_OPND_UNDEFINED.
1045 * aarch64-tbl.h (aarch64_opcode_table): Add udf instruction, entry
1046 for FLD_imm16_2.
1047 * aarch64-asm-2.c: Regenerated.
1048 * aarch64-dis-2.c: Regenerated.
1049 * aarch64-opc-2.c: Regenerated.
1050
10512020-04-29 Nick Clifton <nickc@redhat.com>
1052
1053 PR 22699
1054 * sh-opc.h: Also use unsigned 8-bit immediate values for the LDRC
1055 and SETRC insns.
1056
10572020-04-29 Nick Clifton <nickc@redhat.com>
1058
1059 * po/sv.po: Updated Swedish translation.
1060
10612020-04-29 Nick Clifton <nickc@redhat.com>
1062
1063 PR 22699
1064 * sh-opc.h (IMM0_8): Replace with IMM0_8S and IMM0_8U. Use
1065 IMM0_8S for arithmetic insns and IMM0_8U for logical insns.
1066 * sh-dis.c (print_insn_sh): Change IMM0_8 case to IMM0_8S and add
1067 IMM0_8U case.
1068
10692020-04-21 Andreas Schwab <schwab@linux-m68k.org>
1070
1071 PR 25848
1072 * m68k-opc.c (m68k_opcodes): Allow pc-rel for second operand of
1073 cmpi only on m68020up and cpu32.
1074
10752020-04-20 Sudakshina Das <sudi.das@arm.com>
1076
1077 * aarch64-asm.c (aarch64_ins_none): New.
1078 * aarch64-asm.h (ins_none): New declaration.
1079 * aarch64-dis.c (aarch64_ext_none): New.
1080 * aarch64-dis.h (ext_none): New declaration.
1081 * aarch64-opc.c (aarch64_print_operand): Update case for
1082 AARCH64_OPND_BARRIER_PSB.
1083 * aarch64-tbl.h (aarch64_opcode_table): Add tsb.
1084 (AARCH64_OPERANDS): Update inserter/extracter for
1085 AARCH64_OPND_BARRIER_PSB to use new dummy functions.
1086 * aarch64-asm-2.c: Regenerated.
1087 * aarch64-dis-2.c: Regenerated.
1088 * aarch64-opc-2.c: Regenerated.
1089
10902020-04-20 Sudakshina Das <sudi.das@arm.com>
1091
1092 * aarch64-tbl.h (aarch64_feature_bti, BTI, BTI_INSN): Remove.
1093 (aarch64_feature_ras, RAS): Likewise.
1094 (aarch64_feature_stat_profile, STAT_PROFILE): Likewise.
1095 (aarch64_opcode_table): Update bti, xpaclri, pacia1716, pacib1716,
1096 autia1716, autib1716, esb, psb, dgh, paciaz, paciasp, pacibz, pacibsp,
1097 autiaz, autiasp, autibz, autibsp to be CORE_INSN.
1098 * aarch64-asm-2.c: Regenerated.
1099 * aarch64-dis-2.c: Regenerated.
1100 * aarch64-opc-2.c: Regenerated.
1101
11022020-04-17 Fredrik Strupe <fredrik@strupe.net>
1103
1104 * arm-dis.c (neon_opcodes): Fix VDUP instruction masks.
1105 (print_insn_neon): Support disassembly of conditional
1106 instructions.
1107
11082020-02-16 David Faust <david.faust@oracle.com>
1109
1110 * bpf-desc.c: Regenerate.
1111 * bpf-desc.h: Likewise.
1112 * bpf-opc.c: Regenerate.
1113 * bpf-opc.h: Likewise.
1114
11152020-04-07 Lili Cui <lili.cui@intel.com>
1116
1117 * i386-dis.c (enum): Add PREFIX_0F01_REG_5_MOD_3_RM_1,
1118 (prefix_table): New instructions (see prefixes above).
1119 (rm_table): Likewise
1120 * i386-gen.c (cpu_flag_init): Add CPU_TSXLDTRK_FLAGS,
1121 CPU_ANY_TSXLDTRK_FLAGS.
1122 (cpu_flags): Add CpuTSXLDTRK.
1123 * i386-opc.h (enum): Add CpuTSXLDTRK.
1124 (i386_cpu_flags): Add cputsxldtrk.
1125 * i386-opc.tbl: Add XSUSPLDTRK insns.
1126 * i386-init.h: Regenerate.
1127 * i386-tbl.h: Likewise.
1128
11292020-04-02 Lili Cui <lili.cui@intel.com>
1130
1131 * i386-dis.c (prefix_table): New instructions serialize.
1132 * i386-gen.c (cpu_flag_init): Add CPU_SERIALIZE_FLAGS,
1133 CPU_ANY_SERIALIZE_FLAGS.
1134 (cpu_flags): Add CpuSERIALIZE.
1135 * i386-opc.h (enum): Add CpuSERIALIZE.
1136 (i386_cpu_flags): Add cpuserialize.
1137 * i386-opc.tbl: Add SERIALIZE insns.
1138 * i386-init.h: Regenerate.
1139 * i386-tbl.h: Likewise.
1140
11412020-03-26 Alan Modra <amodra@gmail.com>
1142
1143 * disassemble.h (opcodes_assert): Declare.
1144 (OPCODES_ASSERT): Define.
1145 * disassemble.c: Don't include assert.h. Include opintl.h.
1146 (opcodes_assert): New function.
1147 * h8300-dis.c (bfd_h8_disassemble_init): Use OPCODES_ASSERT.
1148 (bfd_h8_disassemble): Reduce size of data array. Correctly
1149 calculate maxlen. Omit insn decoding when insn length exceeds
1150 maxlen. Exit from nibble loop when looking for E, before
1151 accessing next data byte. Move processing of E outside loop.
1152 Replace tests of maxlen in loop with assertions.
1153
11542020-03-26 Alan Modra <amodra@gmail.com>
1155
1156 * arc-dis.c (find_format): Init needs_limm. Simplify use of limm.
1157
11582020-03-25 Alan Modra <amodra@gmail.com>
1159
1160 * z80-dis.c (suffix): Init mybuf.
1161
11622020-03-22 Alan Modra <amodra@gmail.com>
1163
1164 * h8300-dis.c (bfd_h8_disassemble): Limit data[] access to that
1165 successflly read from section.
1166
11672020-03-22 Alan Modra <amodra@gmail.com>
1168
1169 * arc-dis.c (find_format): Use ISO C string concatenation rather
1170 than line continuation within a string. Don't access needs_limm
1171 before testing opcode != NULL.
1172
11732020-03-22 Alan Modra <amodra@gmail.com>
1174
1175 * ns32k-dis.c (print_insn_arg): Update comment.
1176 (print_insn_ns32k): Reduce size of index_offset array, and
1177 initialize, passing -1 to print_insn_arg for args that are not
1178 an index. Don't exit arg loop early. Abort on bad arg number.
1179
11802020-03-22 Alan Modra <amodra@gmail.com>
1181
1182 * s12z-dis.c (abstract_read_memory): Don't print error on EOI.
1183 * s12z-opc.c: Formatting.
1184 (operands_f): Return an int.
1185 (opr_n_bytes_p1): Return -1 on reaching buffer memory limit.
1186 (opr_n_bytes2, bfextins_n_bytes, mul_n_bytes, bm_n_bytes),
1187 (shift_n_bytes, mov_imm_opr_n_bytes, loop_prim_n_bytes),
1188 (exg_sex_discrim): Likewise.
1189 (create_immediate_operand, create_bitfield_operand),
1190 (create_register_operand_with_size, create_register_all_operand),
1191 (create_register_all16_operand, create_simple_memory_operand),
1192 (create_memory_operand, create_memory_auto_operand): Don't
1193 segfault on malloc failure.
1194 (z_ext24_decode): Return an int status, negative on fail, zero
1195 on success.
1196 (x_imm1, imm1_decode, trap_decode, z_opr_decode, z_opr_decode2),
1197 (imm1234, reg_s_imm, reg_s_opr, z_imm1234_8base, z_imm1234_0base),
1198 (z_tfr, z_reg, reg_xy, lea_reg_xys_opr, lea_reg_xys, rel_15_7),
1199 (decode_rel_15_7, cmp_xy, sub_d6_x_y, sub_d6_y_x),
1200 (ld_18bit_decode, mul_decode, bm_decode, bm_rel_decode),
1201 (mov_imm_opr, ld_18bit_decode, exg_sex_decode),
1202 (loop_primitive_decode, shift_decode, psh_pul_decode),
1203 (bit_field_decode): Similarly.
1204 (z_decode_signed_value, decode_signed_value): Similarly. Add arg
1205 to return value, update callers.
1206 (x_opr_decode_with_size): Check all reads, returning NULL on fail.
1207 Don't segfault on NULL operand.
1208 (decode_operation): Return OP_INVALID on first fail.
1209 (decode_s12z): Check all reads, returning -1 on fail.
1210
12112020-03-20 Alan Modra <amodra@gmail.com>
1212
1213 * metag-dis.c (print_insn_metag): Don't ignore status from
1214 read_memory_func.
1215
12162020-03-20 Alan Modra <amodra@gmail.com>
1217
1218 * nds32-dis.c (print_insn_nds32): Remove unnecessary casts.
1219 Initialize parts of buffer not written when handling a possible
1220 2-byte insn at end of section. Don't attempt decoding of such
1221 an insn by the 4-byte machinery.
1222
12232020-03-20 Alan Modra <amodra@gmail.com>
1224
1225 * ppc-dis.c (print_insn_powerpc): Only clear needed bytes of
1226 partially filled buffer. Prevent lookup of 4-byte insns when
1227 only VLE 2-byte insns are possible due to section size. Print
1228 ".word" rather than ".long" for 2-byte leftovers.
1229
12302020-03-17 Sergey Belyashov <sergey.belyashov@gmail.com>
1231
1232 PR 25641
1233 * z80-dis.c: Fix disassembling ED+A4/AC/B4/BC opcodes.
1234
12352020-03-13 Jan Beulich <jbeulich@suse.com>
1236
1237 * i386-dis.c (X86_64_0D): Rename to ...
1238 (X86_64_0E): ... this.
1239
12402020-03-09 H.J. Lu <hongjiu.lu@intel.com>
1241
1242 * Makefile.am ($(srcdir)/i386-init.h): Also pass -P to $(CPP).
1243 * Makefile.in: Regenerated.
1244
12452020-03-09 Jan Beulich <jbeulich@suse.com>
1246
1247 * i386-opc.tbl (avx_irel): New. Use is for AVX512 vpcmp*
1248 3-operand pseudos.
1249 * i386-tbl.h: Re-generate.
1250
12512020-03-09 Jan Beulich <jbeulich@suse.com>
1252
1253 * i386-opc.tbl (xop_elem, xop_irel, xop_sign): New. Use them for XOP vpcom*,
1254 vprot*, vpsha*, and vpshl*.
1255 * i386-tbl.h: Re-generate.
1256
12572020-03-09 Jan Beulich <jbeulich@suse.com>
1258
1259 * i386-opc.tbl (avx_frel): New. Use it for AVX/AVX512 vcmpps,
1260 vcmpss, vcmppd, and vcmpsd 3-operand pseudo-ops.
1261 * i386-tbl.h: Re-generate.
1262
12632020-03-09 Jan Beulich <jbeulich@suse.com>
1264
1265 * i386-gen.c (set_bitfield): Ignore zero-length field names.
1266 * i386-opc.tbl (sse_frel): New. Use it for SSE/SSE2 cmpps,
1267 cmpss, cmppd, and cmpsd 2-operand pseudo-ops.
1268 * i386-tbl.h: Re-generate.
1269
12702020-03-09 Jan Beulich <jbeulich@suse.com>
1271
1272 * i386-gen.c (struct template_arg, struct template_instance,
1273 struct template_param, struct template, templates,
1274 parse_template, expand_templates): New.
1275 (process_i386_opcodes): Various local variables moved to
1276 expand_templates. Call parse_template and expand_templates.
1277 * i386-opc.tbl (cc): New. Use it for Jcc, SETcc, and CMOVcc.
1278 * i386-tbl.h: Re-generate.
1279
12802020-03-06 Jan Beulich <jbeulich@suse.com>
1281
1282 * i386-opc.tbl (vcvtdq2pd, vcvtps2pd, vcvtudq2pd, vcvtps2ph,
1283 vcvtps2qq, vcvtps2uqq, vcvttps2qq, vcvttps2uqq): Fold separate
1284 register and memory source templates. Replace VexW= by VexW*
1285 where applicable.
1286 * i386-tbl.h: Re-generate.
1287
12882020-03-06 Jan Beulich <jbeulich@suse.com>
1289
1290 * i386-opc.tbl: Drop IgnoreSize from various SIMD insns. Replace
1291 VexW= by VexW* and VexVVVV=1 by just VexVVVV where applicable.
1292 * i386-tbl.h: Re-generate.
1293
12942020-03-06 Jan Beulich <jbeulich@suse.com>
1295
1296 * i386-opc.tbl (fildll, fistpll, fisttpll): Add ATTSyntax.
1297 * i386-tbl.h: Re-generate.
1298
12992020-03-06 Jan Beulich <jbeulich@suse.com>
1300
1301 * i386-opc.tbl (movq): Drop NoRex64 from XMM/XMM SSE2AVX variants.
1302 (movmskps, pextrw, pinsrw, pmovmskb, movmskpd, extractps,
1303 pextrb, pinsrb, roundsd): Drop NoRex64 and where applicable use
1304 VexW0 on SSE2AVX variants.
1305 (vmovq): Drop NoRex64 from XMM/XMM variants.
1306 (vextractps, vmovmskpd, vmovmskps, vpextrb, vpextrw, vpinsrb,
1307 vpinsrw, vpmovmskb, vroundsd, vpmovmskb): Drop NoRex64 and where
1308 applicable use VexW0.
1309 * i386-tbl.h: Re-generate.
1310
13112020-03-06 Jan Beulich <jbeulich@suse.com>
1312
1313 * i386-gen.c (opcode_modifiers): Remove Rex64 field.
1314 * i386-opc.h (Rex64): Delete.
1315 (struct i386_opcode_modifier): Remove rex64 field.
1316 * i386-opc.tbl (crc32): Drop Rex64.
1317 Replace Rex64 with Size64 everywhere else.
1318 * i386-tbl.h: Re-generate.
1319
13202020-03-06 Jan Beulich <jbeulich@suse.com>
1321
1322 * i386-dis.c (OP_E_memory): Exclude recording of used address
1323 prefix for "bnd" modes only in 64-bit mode. Don't decode 16-bit
1324 addressed memory operands for MPX insns.
1325
13262020-03-06 Jan Beulich <jbeulich@suse.com>
1327
1328 * i386-opc.tbl (movmskps, mwait, vmread, vmwrite, invept,
1329 invvpid, invpcid, rdfsbase, rdgsbase, wrfsbase, wrgsbase, adcx,
1330 adox, mwaitx, rdpid, movdiri): Add IgnoreSize.
1331 (ptwrite): Split into non-64-bit and 64-bit forms.
1332 * i386-tbl.h: Re-generate.
1333
13342020-03-06 Jan Beulich <jbeulich@suse.com>
1335
1336 * i386-opc.tbl (tpause, umwait): Add IgnoreSize. Add 3-operand
1337 template.
1338 * i386-tbl.h: Re-generate.
1339
13402020-03-04 Jan Beulich <jbeulich@suse.com>
1341
1342 * i386-dis.c (PREFIX_0F01_REG_3_RM_1): New.
1343 (prefix_table): Move vmmcall here. Add vmgexit.
1344 (rm_table): Replace vmmcall entry by prefix_table[] escape.
1345 * i386-gen.c (cpu_flag_init): Add CPU_SEV_ES_FLAGS entry.
1346 (cpu_flags): Add CpuSEV_ES entry.
1347 * i386-opc.h (CpuSEV_ES): New.
1348 (union i386_cpu_flags): Add cpusev_es field.
1349 * i386-opc.tbl (vmgexit): New.
1350 * i386-init.h, i386-tbl.h: Re-generate.
1351
13522020-03-03 H.J. Lu <hongjiu.lu@intel.com>
1353
1354 * i386-gen.c (opcode_modifiers): Replace IgnoreSize/DefaultSize
1355 with MnemonicSize.
1356 * i386-opc.h (IGNORESIZE): New.
1357 (DEFAULTSIZE): Likewise.
1358 (IgnoreSize): Removed.
1359 (DefaultSize): Likewise.
1360 (MnemonicSize): New.
1361 (i386_opcode_modifier): Replace ignoresize/defaultsize with
1362 mnemonicsize.
1363 * i386-opc.tbl (IgnoreSize): New.
1364 (DefaultSize): Likewise.
1365 * i386-tbl.h: Regenerated.
1366
13672020-03-03 Sergey Belyashov <sergey.belyashov@gmail.com>
1368
1369 PR 25627
1370 * z80-dis.c: Fix disassembly of LD IY,(HL) and D (HL),IX
1371 instructions.
1372
13732020-03-03 H.J. Lu <hongjiu.lu@intel.com>
1374
1375 PR gas/25622
1376 * i386-opc.tbl: Add IgnoreSize to cvtsi2sd, cvtsi2ss, vcvtsi2sd,
1377 vcvtsi2ss, vcvtusi2sd and vcvtusi2ss for AT&T syntax.
1378 * i386-tbl.h: Regenerated.
1379
13802020-02-26 Alan Modra <amodra@gmail.com>
1381
1382 * aarch64-asm.c: Indent labels correctly.
1383 * aarch64-dis.c: Likewise.
1384 * aarch64-gen.c: Likewise.
1385 * aarch64-opc.c: Likewise.
1386 * alpha-dis.c: Likewise.
1387 * i386-dis.c: Likewise.
1388 * nds32-asm.c: Likewise.
1389 * nfp-dis.c: Likewise.
1390 * visium-dis.c: Likewise.
1391
13922020-02-25 Claudiu Zissulescu <claziss@gmail.com>
1393
1394 * arc-regs.h (int_vector_base): Make it available for all ARC
1395 CPUs.
1396
13972020-02-20 Nelson Chu <nelson.chu@sifive.com>
1398
1399 * riscv-dis.c (print_insn_args): Updated since the DECLARE_CSR is
1400 changed.
1401
14022020-02-19 Nelson Chu <nelson.chu@sifive.com>
1403
1404 * riscv-opc.c (riscv_opcodes): Convert add/addi to the compressed
1405 c.mv/c.li if rs1 is zero.
1406
14072020-02-17 H.J. Lu <hongjiu.lu@intel.com>
1408
1409 * i386-gen.c (cpu_flag_init): Replace CpuABM with
1410 CpuLZCNT|CpuPOPCNT. Add CpuPOPCNT to CPU_SSE4_2_FLAGS. Add
1411 CPU_POPCNT_FLAGS.
1412 (cpu_flags): Remove CpuABM. Add CpuPOPCNT.
1413 * i386-opc.h (CpuABM): Removed.
1414 (CpuPOPCNT): New.
1415 (i386_cpu_flags): Remove cpuabm. Add cpupopcnt.
1416 * i386-opc.tbl: Replace CpuABM|CpuSSE4_2 with CpuPOPCNT on
1417 popcnt. Remove CpuABM from lzcnt.
1418 * i386-init.h: Regenerated.
1419 * i386-tbl.h: Likewise.
1420
14212020-02-17 Jan Beulich <jbeulich@suse.com>
1422
1423 * i386-opc.tbl (vcvtsi2sd, vcvtsi2ss, vcvtusi2sd, vcvtusi2ss):
1424 Fold CpuNo64 and Cpu64 templates. Use VexLIG/EVexLIG and VexW0/
1425 VexW1 instead of open-coding them.
1426 * i386-tbl.h: Re-generate.
1427
14282020-02-17 Jan Beulich <jbeulich@suse.com>
1429
1430 * i386-opc.tbl (AddrPrefixOpReg): Define.
1431 (monitor, invlpga, vmload, vmrun, vmsave, clzero, monitorx,
1432 umonitor, movdir64b, enqcmd, enqcmds): Fold Cpu64 and CpuNo64
1433 templates. Drop NoRex64.
1434 * i386-tbl.h: Re-generate.
1435
14362020-02-17 Jan Beulich <jbeulich@suse.com>
1437
1438 PR gas/6518
1439 * i386-opc.tbl (vcvtpd2dq, vcvtpd2ps, vcvttpd2dq, vcvtpd2udq,
1440 vcvttpd2udq, vcvtqq2ps, vcvtuqq2ps): Split XMM/YMM source forms
1441 into Intel syntax instance (with Unpsecified) and AT&T one
1442 (without).
1443 (vcvtneps2bf16): Likewise, along with folding the two so far
1444 separate ones.
1445 * i386-tbl.h: Re-generate.
1446
14472020-02-16 H.J. Lu <hongjiu.lu@intel.com>
1448
1449 * i386-gen.c (cpu_flag_init): Remove CPU_ANY_SSE3_FLAGS from
1450 CPU_ANY_SSE4A_FLAGS.
1451
14522020-02-17 Alan Modra <amodra@gmail.com>
1453
1454 * i386-gen.c (cpu_flag_init): Correct last change.
1455
14562020-02-16 H.J. Lu <hongjiu.lu@intel.com>
1457
1458 * i386-gen.c (cpu_flag_init): Add CPU_ANY_SSE4A_FLAGS. Remove
1459 CPU_ANY_SSE4_FLAGS.
1460
14612020-02-14 H.J. Lu <hongjiu.lu@intel.com>
1462
1463 * i386-opc.tbl (movsx): Remove Intel syntax comments.
1464 (movzx): Likewise.
1465
14662020-02-14 Jan Beulich <jbeulich@suse.com>
1467
1468 PR gas/25438
1469 * i386-opc.tbl (movsx): Fold patterns. Also allow Reg32 as
1470 destination for Cpu64-only variant.
1471 (movzx): Fold patterns.
1472 * i386-tbl.h: Re-generate.
1473
14742020-02-13 Jan Beulich <jbeulich@suse.com>
1475
1476 * i386-gen.c (cpu_flag_init): Move CpuSSE4a from
1477 CPU_ANY_SSE_FLAGS entry to CPU_ANY_SSE3_FLAGS one. Add
1478 CPU_ANY_SSE4_FLAGS entry.
1479 * i386-init.h: Re-generate.
1480
14812020-02-12 Jan Beulich <jbeulich@suse.com>
1482
1483 * i386-opc.tbl (vfpclasspd, vfpclassps): Add Intel sytax form
1484 with Unspecified, making the present one AT&T syntax only.
1485 * i386-tbl.h: Re-generate.
1486
14872020-02-12 Jan Beulich <jbeulich@suse.com>
1488
1489 * i386-opc.tbl (jmp): Fold CpuNo64 and Amd64 direct variants.
1490 * i386-tbl.h: Re-generate.
1491
14922020-02-12 Jan Beulich <jbeulich@suse.com>
1493
1494 PR gas/24546
1495 * i386-dis.c (putop): Handle REX.W in '^' case for Intel64 mode.
1496 * i386-opc.tbl (lfs, lgs, lss, lcall, ljmp): Split into
1497 Amd64 and Intel64 templates.
1498 (call, jmp): Likewise for far indirect variants. Dro
1499 Unspecified.
1500 * i386-tbl.h: Re-generate.
1501
15022020-02-11 Jan Beulich <jbeulich@suse.com>
1503
1504 * i386-gen.c (opcode_modifiers): Remove ShortForm entry.
1505 * i386-opc.h (ShortForm): Delete.
1506 (struct i386_opcode_modifier): Remove shortform field.
1507 * i386-opc.tbl (mov, movabs, push, pop, xchg, inc, dec, fld,
1508 fst, fstp, fxch, fcom, fcomp, fucom, fucomp, fadd, faddp, fsub,
1509 fsubp, fsubr, fsubrp, fmul, fmulp, fdiv, fdivp, fdivr, fdivrp,
1510 ffreep, bswap, fcmov*, fcomi, fcomip, fucomi, fucomip, movq):
1511 Drop ShortForm.
1512 * i386-tbl.h: Re-generate.
1513
15142020-02-11 Jan Beulich <jbeulich@suse.com>
1515
1516 * i386-opc.tbl (fcomi, fucomi, fcomip, fcompi, fucomip,
1517 fucompi): Drop ShortForm from operand-less templates.
1518 * i386-tbl.h: Re-generate.
1519
15202020-02-11 Alan Modra <amodra@gmail.com>
1521
1522 * cgen-ibld.in (extract_normal): Set *valuep on all return paths.
1523 * bpf-ibld.c, * epiphany-ibld.c, * fr30-ibld.c, * frv-ibld.c,
1524 * ip2k-ibld.c, * iq2000-ibld.c, * lm32-ibld.c, * m32c-ibld.c,
1525 * m32r-ibld.c, * mep-ibld.c, * mt-ibld.c, * or1k-ibld.c,
1526 * xc16x-ibld.c, * xstormy16-ibld.c: Regenerate.
1527
15282020-02-10 Matthew Malcomson <matthew.malcomson@arm.com>
1529
1530 * arm-dis.c (print_insn_cde): Define 'V' parse character.
1531 (cde_opcodes): Add VCX* instructions.
1532
15332020-02-10 Stam Markianos-Wright <stam.markianos-wright@arm.com>
1534 Matthew Malcomson <matthew.malcomson@arm.com>
1535
1536 * arm-dis.c (struct cdeopcode32): New.
1537 (CDE_OPCODE): New macro.
1538 (cde_opcodes): New disassembly table.
1539 (regnames): New option to table.
1540 (cde_coprocs): New global variable.
1541 (print_insn_cde): New
1542 (print_insn_thumb32): Use print_insn_cde.
1543 (parse_arm_disassembler_options): Parse coprocN args.
1544
15452020-02-10 H.J. Lu <hongjiu.lu@intel.com>
1546
1547 PR gas/25516
1548 * i386-gen.c (opcode_modifiers): Replace AMD64 and Intel64
1549 with ISA64.
1550 * i386-opc.h (AMD64): Removed.
1551 (Intel64): Likewose.
1552 (AMD64): New.
1553 (INTEL64): Likewise.
1554 (INTEL64ONLY): Likewise.
1555 (i386_opcode_modifier): Replace amd64 and intel64 with isa64.
1556 * i386-opc.tbl (Amd64): New.
1557 (Intel64): Likewise.
1558 (Intel64Only): Likewise.
1559 Replace AMD64 with Amd64. Update sysenter/sysenter with
1560 Cpu64 and Intel64Only. Remove AMD64 from sysenter/sysenter.
1561 * i386-tbl.h: Regenerated.
1562
15632020-02-07 Sergey Belyashov <sergey.belyashov@gmail.com>
1564
1565 PR 25469
1566 * z80-dis.c: Add support for GBZ80 opcodes.
1567
15682020-02-04 Alan Modra <amodra@gmail.com>
1569
1570 * d30v-dis.c (print_insn): Make "val" and "opnum" unsigned.
1571
15722020-02-03 Alan Modra <amodra@gmail.com>
1573
1574 * m32c-ibld.c: Regenerate.
1575
15762020-02-01 Alan Modra <amodra@gmail.com>
1577
1578 * frv-ibld.c: Regenerate.
1579
15802020-01-31 Jan Beulich <jbeulich@suse.com>
1581
1582 * i386-dis.c (EXxmm_mdq, xmm_mdq_mode): Delete.
1583 (intel_operand_size, OP_EX): Drop xmm_mdq_mode case label.
1584 (OP_E_memory): Replace xmm_mdq_mode case label by
1585 vex_scalar_w_dq_mode one.
1586 * i386-dis-evex-prefix.h: Replace EXxmm_mdq by EXVexWdqScalar.
1587
15882020-01-31 Jan Beulich <jbeulich@suse.com>
1589
1590 * i386-dis.c (EXVexWdq, vex_w_dq_mode): Delete.
1591 (vex_vsib_d_w_dq_mode, vex_vsib_q_w_dq_mode,
1592 vex_scalar_w_dq_mode): Don't refer to vex_w_dq_mode in comments.
1593 (intel_operand_size): Drop vex_w_dq_mode case label.
1594
15952020-01-31 Richard Sandiford <richard.sandiford@arm.com>
1596
1597 * aarch64-tbl.h (aarch64_opcode): Set C_MAX_ELEM for SVE bfcvt.
1598 Remove C_SCAN_MOVPRFX for SVE bfcvtnt.
1599
16002020-01-30 Alan Modra <amodra@gmail.com>
1601
1602 * m32c-ibld.c: Regenerate.
1603
16042020-01-30 Jose E. Marchesi <jose.marchesi@oracle.com>
1605
1606 * bpf-opc.c: Regenerate.
1607
16082020-01-30 Jan Beulich <jbeulich@suse.com>
1609
1610 * i386-dis.c (X86_64_C2, X86_64_C3): New enumerators.
1611 (dis386): Use them to replace C2/C3 table entries.
1612 (x86_64_table): Add X86_64_C2 and X86_64_C3 entries.
1613 * i386-opc.tbl (ret): Split Cpu64 entries into AMD64 and Intel64
1614 ones. Use Size64 instead of DefaultSize on Intel64 ones.
1615 * i386-tbl.h: Re-generate.
1616
16172020-01-30 Jan Beulich <jbeulich@suse.com>
1618
1619 * i386-opc.tbl (call): Drop DefaultSize from Intel64 JumpDword
1620 forms.
1621 (fldenv, fnstenv, fstenv, fnsave, fsave, frstor): Drop
1622 DefaultSize.
1623 * i386-tbl.h: Re-generate.
1624
16252020-01-30 Alan Modra <amodra@gmail.com>
1626
1627 * tic4x-dis.c (tic4x_dp): Make unsigned.
1628
16292020-01-27 H.J. Lu <hongjiu.lu@intel.com>
1630 Jan Beulich <jbeulich@suse.com>
1631
1632 PR binutils/25445
1633 * i386-dis.c (MOVSXD_Fixup): New function.
1634 (movsxd_mode): New enum.
1635 (x86_64_table): Use MOVSXD_Fixup and movsxd_mode on movsxd.
1636 (intel_operand_size): Handle movsxd_mode.
1637 (OP_E_register): Likewise.
1638 (OP_G): Likewise.
1639 * i386-opc.tbl: Remove Rex64 and allow 32-bit destination
1640 register on movsxd. Add movsxd with 16-bit destination register
1641 for AMD64 and Intel64 ISAs.
1642 * i386-tbl.h: Regenerated.
1643
16442020-01-27 Tamar Christina <tamar.christina@arm.com>
1645
1646 PR 25403
1647 * aarch64-tbl.h (struct aarch64_opcode): Re-order cfinv.
1648 * aarch64-asm-2.c: Regenerate
1649 * aarch64-dis-2.c: Likewise.
1650 * aarch64-opc-2.c: Likewise.
1651
16522020-01-21 Jan Beulich <jbeulich@suse.com>
1653
1654 * i386-opc.tbl (sysret): Drop DefaultSize.
1655 * i386-tbl.h: Re-generate.
1656
16572020-01-21 Jan Beulich <jbeulich@suse.com>
1658
1659 * i386-opc.tbl (vcvtneps2bf16x): Add Broadcast, Xmmword, and
1660 Dword.
1661 (vcvtneps2bf16y): Add Broadcast, Ymmword, and Dword.
1662 * i386-tbl.h: Re-generate.
1663
16642020-01-20 Nick Clifton <nickc@redhat.com>
1665
1666 * po/de.po: Updated German translation.
1667 * po/pt_BR.po: Updated Brazilian Portuguese translation.
1668 * po/uk.po: Updated Ukranian translation.
1669
16702020-01-20 Alan Modra <amodra@gmail.com>
1671
1672 * hppa-dis.c (fput_const): Remove useless cast.
1673
16742020-01-20 Alan Modra <amodra@gmail.com>
1675
1676 * arm-dis.c (print_insn_arm): Wrap 'T' value.
1677
16782020-01-18 Nick Clifton <nickc@redhat.com>
1679
1680 * configure: Regenerate.
1681 * po/opcodes.pot: Regenerate.
1682
16832020-01-18 Nick Clifton <nickc@redhat.com>
1684
1685 Binutils 2.34 branch created.
1686
16872020-01-17 Christian Biesinger <cbiesinger@google.com>
1688
1689 * opintl.h: Fix spelling error (seperate).
1690
16912020-01-17 H.J. Lu <hongjiu.lu@intel.com>
1692
1693 * i386-opc.tbl: Add {vex} pseudo prefix.
1694 * i386-tbl.h: Regenerated.
1695
16962020-01-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1697
1698 PR 25376
1699 * opcodes/arm-dis.c (coprocessor_opcodes): Use CORE_HIGH for MVE bits.
1700 (neon_opcodes): Likewise.
1701 (select_arm_features): Make sure we enable MVE bits when selecting
1702 armv8.1-m.main. Make sure we do not enable MVE bits when not selecting
1703 any architecture.
1704
17052020-01-16 Jan Beulich <jbeulich@suse.com>
1706
1707 * i386-opc.tbl: Drop stale comment from XOP section.
1708
17092020-01-16 Jan Beulich <jbeulich@suse.com>
1710
1711 * i386-opc.tbl (movq): Add VexWIG to SSE2AVX XMM->XMM forms.
1712 (extractps): Add VexWIG to SSE2AVX forms.
1713 * i386-tbl.h: Re-generate.
1714
17152020-01-16 Jan Beulich <jbeulich@suse.com>
1716
1717 * i386-opc.tbl (pextrq, pinsrq): Drop IgnoreSize and Qword. Drop
1718 Size64 from and use VexW1 on SSE2AVX forms.
1719 (vpextrq, vpinsrq): Drop IgnoreSize and Qword. Drop Size64 from
1720 VEX-encoded forms. Add Cpu64 to EVEX-encoded forms. Use VexW1.
1721 * i386-tbl.h: Re-generate.
1722
17232020-01-15 Alan Modra <amodra@gmail.com>
1724
1725 * tic4x-dis.c (tic4x_version): Make unsigned long.
1726 (optab, optab_special, registernames): New file scope vars.
1727 (tic4x_print_register): Set up registernames rather than
1728 malloc'd registertable.
1729 (tic4x_disassemble): Delete optable and optable_special. Use
1730 optab and optab_special instead. Throw away old optab,
1731 optab_special and registernames when info->mach changes.
1732
17332020-01-14 Sergey Belyashov <sergey.belyashov@gmail.com>
1734
1735 PR 25377
1736 * z80-dis.c (suffix): Use .db instruction to generate double
1737 prefix.
1738
17392020-01-14 Alan Modra <amodra@gmail.com>
1740
1741 * z8k-dis.c (unpack_instr): Formatting. Cast unsigned short
1742 values to unsigned before shifting.
1743
17442020-01-13 Thomas Troeger <tstroege@gmx.de>
1745
1746 * arm-dis.c (print_insn_arm): Fill in insn info fields for control
1747 flow instructions.
1748 (print_insn_thumb16, print_insn_thumb32): Likewise.
1749 (print_insn): Initialize the insn info.
1750 * i386-dis.c (print_insn): Initialize the insn info fields, and
1751 detect jumps.
1752
17532012-01-13 Claudiu Zissulescu <claziss@gmail.com>
1754
1755 * arc-opc.c (C_NE): Make it required.
1756
17572012-01-13 Claudiu Zissulescu <claziss@gmail.com>
1758
1759 * opcode/arc-dis.c (regnames): Correct ACCL/ACCH naming, fix typo
1760 reserved register name.
1761
17622020-01-13 Alan Modra <amodra@gmail.com>
1763
1764 * ns32k-dis.c (Is_gen): Use strchr, add 'f'.
1765 (print_insn_ns32k): Adjust ioffset for 'f' index_offset.
1766
17672020-01-13 Alan Modra <amodra@gmail.com>
1768
1769 * wasm32-dis.c (print_insn_wasm32): Localise variables. Store
1770 result of wasm_read_leb128 in a uint64_t and check that bits
1771 are not lost when copying to other locals. Use uint32_t for
1772 most locals. Use PRId64 when printing int64_t.
1773
17742020-01-13 Alan Modra <amodra@gmail.com>
1775
1776 * score-dis.c: Formatting.
1777 * score7-dis.c: Formatting.
1778
17792020-01-13 Alan Modra <amodra@gmail.com>
1780
1781 * score-dis.c (print_insn_score48): Use unsigned variables for
1782 unsigned values. Don't left shift negative values.
1783 (print_insn_score32): Likewise.
1784 * score7-dis.c (print_insn_score32, print_insn_score16): Likewise.
1785
17862020-01-13 Alan Modra <amodra@gmail.com>
1787
1788 * tic4x-dis.c (tic4x_print_register): Remove dead code.
1789
17902020-01-13 Alan Modra <amodra@gmail.com>
1791
1792 * fr30-ibld.c: Regenerate.
1793
17942020-01-13 Alan Modra <amodra@gmail.com>
1795
1796 * xgate-dis.c (print_insn): Don't left shift signed value.
1797 (ripBits): Formatting, use 1u.
1798
17992020-01-10 Alan Modra <amodra@gmail.com>
1800
1801 * tilepro-opc.c (parse_insn_tilepro): Make opval unsigned.
1802 * tilegx-opc.c (parse_insn_tilegx): Likewise. Delete raw_opval.
1803
18042020-01-10 Alan Modra <amodra@gmail.com>
1805
1806 * m10300-dis.c (disassemble): Move extraction of DREG, AREG, RREG,
1807 and XRREG value earlier to avoid a shift with negative exponent.
1808 * m10200-dis.c (disassemble): Similarly.
1809
18102020-01-09 Nick Clifton <nickc@redhat.com>
1811
1812 PR 25224
1813 * z80-dis.c (ld_ii_ii): Use correct cast.
1814
18152020-01-03 Sergey Belyashov <sergey.belyashov@gmail.com>
1816
1817 PR 25224
1818 * z80-dis.c (ld_ii_ii): Use character constant when checking
1819 opcode byte value.
1820
18212020-01-09 Jan Beulich <jbeulich@suse.com>
1822
1823 * i386-dis.c (SEP_Fixup): New.
1824 (SEP): Define.
1825 (dis386_twobyte): Use it for sysenter/sysexit.
1826 (enum x86_64_isa): Change amd64 enumerator to value 1.
1827 (OP_J): Compare isa64 against intel64 instead of amd64.
1828 * i386-opc.tbl (sysenter, sysexit): Split into AMD64 and Intel64
1829 forms.
1830 * i386-tbl.h: Re-generate.
1831
18322020-01-08 Alan Modra <amodra@gmail.com>
1833
1834 * z8k-dis.c: Include libiberty.h
1835 (instr_data_s): Make max_fetched unsigned.
1836 (z8k_lookup_instr): Make nibl_index and tabl_index unsigned.
1837 Don't exceed byte_info bounds.
1838 (output_instr): Make num_bytes unsigned.
1839 (unpack_instr): Likewise for nibl_count and loop.
1840 * z8kgen.c (gas <opcode_entry_type>): Make noperands, length and
1841 idx unsigned.
1842 * z8k-opc.h: Regenerate.
1843
18442020-01-07 Shahab Vahedi <shahab@synopsys.com>
1845
1846 * arc-tbl.h (llock): Use 'LLOCK' as class.
1847 (llockd): Likewise.
1848 (scond): Use 'SCOND' as class.
1849 (scondd): Likewise.
1850 (llockd): Set data_size_mode to 'C_ZZ_D' which is 64-bit.
1851 (scondd): Likewise.
1852
18532020-01-06 Alan Modra <amodra@gmail.com>
1854
1855 * m32c-ibld.c: Regenerate.
1856
18572020-01-06 Alan Modra <amodra@gmail.com>
1858
1859 PR 25344
1860 * z80-dis.c (suffix): Don't use a local struct buffer copy.
1861 Peek at next byte to prevent recursion on repeated prefix bytes.
1862 Ensure uninitialised "mybuf" is not accessed.
1863 (print_insn_z80): Don't zero n_fetch and n_used here,..
1864 (print_insn_z80_buf): ..do it here instead.
1865
18662020-01-04 Alan Modra <amodra@gmail.com>
1867
1868 * m32r-ibld.c: Regenerate.
1869
18702020-01-04 Alan Modra <amodra@gmail.com>
1871
1872 * cr16-dis.c (cr16_match_opcode): Avoid shift left of signed value.
1873
18742020-01-04 Alan Modra <amodra@gmail.com>
1875
1876 * crx-dis.c (match_opcode): Avoid shift left of signed value.
1877
18782020-01-04 Alan Modra <amodra@gmail.com>
1879
1880 * d30v-dis.c (print_insn): Avoid signed overflow in left shift.
1881
18822020-01-03 Jan Beulich <jbeulich@suse.com>
1883
1884 * aarch64-tbl.h (aarch64_opcode_table): Use
1885 SVE_ADDR_RX_LSL{1,2,3} for LD1RO{H,W,D}.
1886
18872020-01-03 Jan Beulich <jbeulich@suse.com>
1888
1889 * aarch64-tbl.h (aarch64_opcode_table): Correct SIMD
1890 forms of SUDOT and USDOT.
1891
18922020-01-03 Jan Beulich <jbeulich@suse.com>
1893
1894 * aarch64-tbl.h (aarch64_opcode_table): Drop 'i' from
1895 uzip{1,2}.
1896 * opcodes/aarch64-dis-2.c: Re-generate.
1897
18982020-01-03 Jan Beulich <jbeulich@suse.com>
1899
1900 * aarch64-tbl.h (aarch64_opcode_table): Correct 64-bit
1901 FMMLA encoding.
1902 * opcodes/aarch64-dis-2.c: Re-generate.
1903
19042020-01-02 Sergey Belyashov <sergey.belyashov@gmail.com>
1905
1906 * z80-dis.c: Add support for eZ80 and Z80 instructions.
1907
19082020-01-01 Alan Modra <amodra@gmail.com>
1909
1910 Update year range in copyright notice of all files.
1911
1912For older changes see ChangeLog-2019
1913\f
1914Copyright (C) 2020 Free Software Foundation, Inc.
1915
1916Copying and distribution of this file, with or without modification,
1917are permitted in any medium without royalty provided the copyright
1918notice and this notice are preserved.
1919
1920Local Variables:
1921mode: change-log
1922left-margin: 8
1923fill-column: 74
1924version-control: never
1925End:
This page took 0.029403 seconds and 4 git commands to generate.