3 * config/tc-arm.c (M_MNEM_vmaxv, M_MNEM_vmaxav, M_MNEM_vminv,
4 M_MNEM_vminav): New instruction encodings.
5 (do_mve_vmaxv): New encoding function.
6 (insns): Add entries for new MVE mnemonics.
7 * testsuite/gas/arm/mve-vmaxv-vminv-bad.d: New test.
8 * testsuite/gas/arm/mve-vmaxv-vminv-bad.l: New test.
9 * testsuite/gas/arm/mve-vmaxv-vminv-bad.s: New test.
13 * config/tc-arm.c (do_mve_vmaxnmv): New encoding function.
14 (insns): Add entries for new mnemonics.
15 * testsuite/gas/arm/mve-vmaxnmv-vminnmv-bad.d: New test.
16 * testsuite/gas/arm/mve-vmaxnmv-vminnmv-bad.l: New test.
17 * testsuite/gas/arm/mve-vmaxnmv-vminnmv-bad.s: New test.
21 * config/tc-arm.c (do_mve_vmaxa_vmina): New encoding function.
22 (do_mve_vmaxnma_vminnma): Likewise.
23 (do_neon_dyadic_if_su): Change to support MVE variants.
24 (do_vmaxnm): Likewise.
25 (insns): Change to accept MVE variants and add new.
26 * testsuite/gas/arm/mve-vmax-vmin-bad.d: New test.
27 * testsuite/gas/arm/mve-vmax-vmin-bad.l: New test.
28 * testsuite/gas/arm/mve-vmax-vmin-bad.s: New test.
29 * testsuite/gas/arm/mve-vmaxa-vmina-bad.d: New test.
30 * testsuite/gas/arm/mve-vmaxa-vmina-bad.l: New test.
31 * testsuite/gas/arm/mve-vmaxa-vmina-bad.s: New test.
32 * testsuite/gas/arm/mve-vmaxnm-vminnm-bad.d: New test.
33 * testsuite/gas/arm/mve-vmaxnm-vminnm-bad.l: New test.
34 * testsuite/gas/arm/mve-vmaxnm-vminnm-bad.s: New test.
35 * testsuite/gas/arm/mve-vmaxnma-vminnma-bad.d: New test.
36 * testsuite/gas/arm/mve-vmaxnma-vminnma-bad.l: New test.
37 * testsuite/gas/arm/mve-vmaxnma-vminnma-bad.s: New test.
41 * config/tc-arm.c (enum operand_parse_code): New operand.
42 (parse_operands): Handle new operand.
43 (mve_encode_qqr): Change to support new instructions.
44 (enum vfp_or_neon_is_neon_bits): Moved.
45 (vfp_or_neon_is_neon): Moved.
46 (check_simd_pred_availability): Moved.
47 (do_neon_dyadic_i_su): Changed to support MVE variants.
48 (neon_dyadic_misc): Changed mve_encode_qqr call.
49 (do_mve_vbrsr): Likewise.
50 (do_mve_vhcadd): New encoding function.
51 (insns): Change existing to accept MVE variants and add new.
52 * testsuite/gas/arm/mve-vhadd-vhsub-vrhadd-bad.d: New test.
53 * testsuite/gas/arm/mve-vhadd-vhsub-vrhadd-bad.l: New test.
54 * testsuite/gas/arm/mve-vhadd-vhsub-vrhadd-bad.s: New test.
55 * testsuite/gas/arm/mve-vhcadd-bad.d: New test.
56 * testsuite/gas/arm/mve-vhcadd-bad.l: New test.
57 * testsuite/gas/arm/mve-vhcadd-bad.s: New test.
61 * config/tc-arm.c (do_neon_fmac): Change to support MVE variants.
62 (insns): Change to accept MVE variants.
63 * testsuite/gas/arm/mve-vfma-vfms-bad.d: New test.
64 * testsuite/gas/arm/mve-vfma-vfms-bad.l: New test.
65 * testsuite/gas/arm/mve-vfma-vfms-bad.s: New test.
69 * config/tc-arm.c (M_MNEM_vddup, M_MNEM_vdwdup, M_MNEM_vidup,
70 M_MNEM_viwdup): New instruction encodings.
71 (NEON_SHAPE_DEF): New shapes.
72 (do_mve_viddup): New encoding function.
73 (do_neon_dup): Change to support new MVE variants.
74 (insns): Change existing to accept MVE variants and add new.
75 * testsuite/gas/arm/mve-vddup-bad.d: New test.
76 * testsuite/gas/arm/mve-vddup-bad.l: New test.
77 * testsuite/gas/arm/mve-vddup-bad.s: New test.
78 * testsuite/gas/arm/mve-vdup-bad.d: New test.
79 * testsuite/gas/arm/mve-vdup-bad.l: New test.
80 * testsuite/gas/arm/mve-vdup-bad.s: New test.
81 * testsuite/gas/arm/mve-vidup-bad.d: New test.
82 * testsuite/gas/arm/mve-vidup-bad.l: New test.
83 * testsuite/gas/arm/mve-vidup-bad.s: New test.
87 * config/tc-arm.c (do_mve_vfmas): New encoding function.
88 (do_neon_cls): Change to support MVE variants.
89 (do_neon_clz): Change to support MVE variants.
90 (insns): Change to support MVE variants and add new.
91 * testsuite/gas/arm/mve-vcls-bad.d: New test.
92 * testsuite/gas/arm/mve-vcls-bad.l: New test.
93 * testsuite/gas/arm/mve-vcls-bad.s: New test.
94 * testsuite/gas/arm/mve-vclz-bad.d: New test.
95 * testsuite/gas/arm/mve-vclz-bad.l: New test.
96 * testsuite/gas/arm/mve-vclz-bad.s: New test.
97 * testsuite/gas/arm/mve-vfmas-bad.d: New test.
98 * testsuite/gas/arm/mve-vfmas-bad.l: New test.
99 * testsuite/gas/arm/mve-vfmas-bad.s: New test.
103 * config/tc-arm.c (enum operand_parse_code): New operands.
104 (parse_operands): Handle new operands.
105 (do_mve_vcmul): New encoding function.
106 (do_vcmla): Change to support MVE variants.
107 (do_vcadd): Change to support MVE variants.
108 (insns): Change existing to support MVE variants and add new.
109 * testsuite/gas/arm/mve-vcadd-bad-1.d: New test.
110 * testsuite/gas/arm/mve-vcadd-bad-1.l: New test.
111 * testsuite/gas/arm/mve-vcadd-bad-1.s: New test.
112 * testsuite/gas/arm/mve-vcadd-bad-2.d: New test.
113 * testsuite/gas/arm/mve-vcadd-bad-2.l: New test.
114 * testsuite/gas/arm/mve-vcadd-bad-2.s: New test.
115 * testsuite/gas/arm/mve-vcmla-bad-1.d: New test.
116 * testsuite/gas/arm/mve-vcmla-bad-1.l: New test.
117 * testsuite/gas/arm/mve-vcmla-bad-1.s: New test.
118 * testsuite/gas/arm/mve-vcmla-bad-2.d: New test.
119 * testsuite/gas/arm/mve-vcmla-bad-2.l: New test.
120 * testsuite/gas/arm/mve-vcmla-bad-2.s: New test.
121 * testsuite/gas/arm/mve-vcmul-bad-1.d: New test.
122 * testsuite/gas/arm/mve-vcmul-bad-1.l: New test.
123 * testsuite/gas/arm/mve-vcmul-bad-1.s: New test.
124 * testsuite/gas/arm/mve-vcmul-bad-2.d: New test.
125 * testsuite/gas/arm/mve-vcmul-bad-2.l: New test.
126 * testsuite/gas/arm/mve-vcmul-bad-2.s: New test.
130 * config/tc-arm.c (enum operand_parse_code): New operands.
131 (parse_operands): Handle new operands.
132 (enum vfp_or_neon_is_neon_bits): Moved
133 (vfp_or_neon_is_neon): Moved
134 (check_simd_pred_availability): Moved.
135 (do_neon_logic): Change to accept MVE variants.
136 (insns): Changed to accept MVE variants.
137 * testsuite/gas/arm/mve-vand-bad.d: New test.
138 * testsuite/gas/arm/mve-vand-bad.l: New test.
139 * testsuite/gas/arm/mve-vand-bad.s: New test.
140 * testsuite/gas/arm/mve-vbic-bad.d: New test.
141 * testsuite/gas/arm/mve-vbic-bad.l: New test.
142 * testsuite/gas/arm/mve-vbic-bad.s: New test.
143 * testsuite/gas/arm/mve-veor-bad.d: New test.
144 * testsuite/gas/arm/mve-veor-bad.l: New test.
145 * testsuite/gas/arm/mve-veor-bad.s: New test.
146 * testsuite/gas/arm/mve-vorn-bad.d: New test.
147 * testsuite/gas/arm/mve-vorn-bad.l: New test.
148 * testsuite/gas/arm/mve-vorn-bad.s: New test.
149 * testsuite/gas/arm/mve-vorr-bad.d: New test.
150 * testsuite/gas/arm/mve-vorr-bad.l: New test.
151 * testsuite/gas/arm/mve-vorr-bad.s: New test.
155 * config/tc-arm.c (M_MNEM_vaddlv, M_MNEM_vaddlva, M_MNEM_vaddv,
156 M_MNEM_vaddva): New instruction encodings.
157 (mve_encode_rq): New encoding helper function.
158 (do_mve_vaddlv): New encoding function.
159 (do_mve_vaddv): New encoding function.
160 * testsuite/gas/arm/mve-vaddlv-bad.d: New test.
161 * testsuite/gas/arm/mve-vaddlv-bad.l: New test.
162 * testsuite/gas/arm/mve-vaddlv-bad.s: New test.
163 * testsuite/gas/arm/mve-vaddv-bad.d: New test.
164 * testsuite/gas/arm/mve-vaddv-bad.l: New test.
165 * testsuite/gas/arm/mve-vaddv-bad.s: New test.
169 * config/tc-arm.c (M_MNEM_vadc, M_MNEM_vadci, M_MNEM_vbrsr):
170 New instruction encodings.
171 (do_mve_vadc): New encoding instruction.
172 (do_mve_vbrsr): Likewise.
173 (do_mve_vsbc): Likewise.
174 * testsuite/gas/arm/mve-vadc-bad.d: New test.
175 * testsuite/gas/arm/mve-vadc-bad.l: New test.
176 * testsuite/gas/arm/mve-vadc-bad.s: New test.
177 * testsuite/gas/arm/mve-vbrsr-bad.d: New test.
178 * testsuite/gas/arm/mve-vbrsr-bad.l: New test.
179 * testsuite/gas/arm/mve-vbrsr-bad.s: New test.
180 * testsuite/gas/arm/mve-vsbc-bad.d: New test.
181 * testsuite/gas/arm/mve-vsbc-bad.l: New test.
182 * testsuite/gas/arm/mve-vsbc-bad.s: New test.
186 * config/tc-arm.c (MVE_BAD_QREG): New error message.
187 (enum operand_parse_code): Define new operand.
188 (parse_operands): Handle new operand.
189 (do_mve_vpt): Change for VPT blocks.
190 (NEON_SHAPE_DEF): New shape.
191 (neon_logbits): Moved.
194 (mve_get_vcmp_vpt_cond): New function to translate vpt conditions.
195 (do_mve_vcmp): New encoding function.
196 (do_vfp_nsyn_cmp): Changed to support MVE variants.
197 (insns): Change to support MVE variants of vcmp and add vpt.
198 * testsuite/gas/arm/mve-vcmp-bad-1.d: New test.
199 * testsuite/gas/arm/mve-vcmp-bad-1.l: New test.
200 * testsuite/gas/arm/mve-vcmp-bad-1.s: New test.
201 * testsuite/gas/arm/mve-vcmp-bad-2.d: New test.
202 * testsuite/gas/arm/mve-vcmp-bad-2.l: New test.
203 * testsuite/gas/arm/mve-vcmp-bad-2.s: New test.
204 * testsuite/gas/arm/mve-vpt-bad-1.d: New test.
205 * testsuite/gas/arm/mve-vpt-bad-1.l: New test.
206 * testsuite/gas/arm/mve-vpt-bad-1.s: New test.
207 * testsuite/gas/arm/mve-vpt-bad-2.d: New test.
208 * testsuite/gas/arm/mve-vpt-bad-2.l: New test.
209 * testsuite/gas/arm/mve-vpt-bad-2.s: New test.
213 * config/tc-arm.c (struct arm_it): Expand isscalar field to be able to
214 distinguish between types of scalar.
215 (parse_typed_reg_or_scalar): Change to accept MVE scalar variants.
216 (parse_scalar): Likewise.
217 (parse_neon_mov): Accept MVE variant.
218 (po_scalar_or_goto): Make use reg_type.
219 (parse_operands): Change uses of po_scalar_or_goto.
220 (do_vfp_sp_monadic): Change to accept MVE variants.
221 (do_vfp_reg_from_sp): Likewise.
222 (do_vfp_sp_from_reg): Likewise.
223 (do_vfp_dp_rd_rm): Likewise.
224 (do_vfp_dp_rd_rn_rm): Likewise.
225 (do_vfp_dp_rm_rd_rn): Likewise.
226 (M_MNEM_vmovlt, M_MNEM_vmovlb, M_MNEM_vmovnt, M_MNEM_vmovnb): New
227 instruction encodings.
228 (NEON_SHAPE_DEF): New shape.
229 (do_mve_mov): New encoding fuction.
230 (do_mve_movn): Likewise.
231 (do_mve_movl): Likewise.
232 (do_neon_mov): Change to accept MVE variants.
234 (insns): Accept new MVE variants and instructions.
235 * testsuite/gas/arm/mve-vmov-bad-1.d: New test.
236 * testsuite/gas/arm/mve-vmov-bad-1.l: New test.
237 * testsuite/gas/arm/mve-vmov-bad-1.s: New test.
238 * testsuite/gas/arm/mve-vmov-bad-2.d: New test.
239 * testsuite/gas/arm/mve-vmov-bad-2.l: New test.
240 * testsuite/gas/arm/mve-vmov-bad-2.s: New test.
244 * config/tc-arm.c (enum operand_parse_code): Add new operand.
245 (parse_operands): Handle new operand.
246 (do_neon_cvt_1): Handle MVE variants.
247 (do_neon_cvttb_1): Likewise.
248 (insns): Accept MVE variants.
249 * testsuite/gas/arm/mve-vcvt-bad-1.d: New test.
250 * testsuite/gas/arm/mve-vcvt-bad-1.l: New test.
251 * testsuite/gas/arm/mve-vcvt-bad-1.s: New test.
252 * testsuite/gas/arm/mve-vcvt-bad-2.d: New test.
253 * testsuite/gas/arm/mve-vcvt-bad-2.l: New test.
254 * testsuite/gas/arm/mve-vcvt-bad-2.s: New test.
255 * testsuite/gas/arm/mve-vcvt-bad-3.d: New test.
256 * testsuite/gas/arm/mve-vcvt-bad-3.l: New test.
257 * testsuite/gas/arm/mve-vcvt-bad-3.s: New test.
258 * testsuite/gas/arm/mve-vcvt-bad-4.d: New test.
259 * testsuite/gas/arm/mve-vcvt-bad-4.l: New test.
260 * testsuite/gas/arm/mve-vcvt-bad-4.s: New test.
261 * testsuite/gas/arm/mve-vcvt-bad.d: New test.
262 * testsuite/gas/arm/mve-vcvt-bad.l: New test.
263 * testsuite/gas/arm/mve-vcvt-bad.s: New test.
267 * config/tc-arm.c (struct arm_it): Make immisreg field larger to hold
269 (enum shift_kind): Add SHIFT_UXTW shift kind.
270 (enum parse_shift_mode): Add SHIFT_UXTW_IMMEDIATE shift mode.
271 (parse_shift): Handle new shift type.
272 (parse_address_main): Accept new addressing modes.
273 (M_MNEM_vstrb, M_MNEM_vstrh, M_MNEM_vstrw, M_MNEM_vstrd,
274 M_MNEM_vldrb, M_MNEM_vldrh, M_MNEM_vldrw, M_MNEM_vldrd): New
275 instruction encodings.
276 (do_mve_vstr_vldr_QI): New encoding functions.
277 (do_mve_vstr_vldr_RQ): Likewise.
278 (do_mve_vstr_vldr_RI): Likewise.
279 (do_mve_vstr_vldr): Likewise.
280 * testsuite/gas/arm/mve-vldr-bad-1.d: New test.
281 * testsuite/gas/arm/mve-vldr-bad-1.l: New test.
282 * testsuite/gas/arm/mve-vldr-bad-1.s: New test.
283 * testsuite/gas/arm/mve-vldr-bad-2.d: New test.
284 * testsuite/gas/arm/mve-vldr-bad-2.l: New test.
285 * testsuite/gas/arm/mve-vldr-bad-2.s: New test.
286 * testsuite/gas/arm/mve-vldr-bad-3.d: New test.
287 * testsuite/gas/arm/mve-vldr-bad-3.l: New test.
288 * testsuite/gas/arm/mve-vldr-bad-3.s: New test.
289 * testsuite/gas/arm/mve-vstr-bad-1.d: New test.
290 * testsuite/gas/arm/mve-vstr-bad-1.l: New test.
291 * testsuite/gas/arm/mve-vstr-bad-1.s: New test.
292 * testsuite/gas/arm/mve-vstr-bad-2.d: New test.
293 * testsuite/gas/arm/mve-vstr-bad-2.l: New test.
294 * testsuite/gas/arm/mve-vstr-bad-2.s: New test.
295 * testsuite/gas/arm/mve-vstr-bad-3.d: New test.
296 * testsuite/gas/arm/mve-vstr-bad-3.l: New test.
297 * testsuite/gas/arm/mve-vstr-bad-3.s: New test.
301 * config/tc-arm.c (enum it_instruction_type): Add MVE_UNPREDICABLE_INSN.
302 (BAD_EL_TYPE): New error message.
303 (parse_neon_el_struct_list): Adapt to be able to accept MVE variant.
304 (parse_address_main): Likewise.
305 (group_reloc_type): Add GROUP_MVE.
306 (enum operand_parse_code): Add new operands.
307 (parse_operands): Handle new operands.
308 (M_MNEM_vst20, M_MNEM_vst21, M_MNEM_vst40, M_MNEM_vst41, M_MNEM_vst42,
309 M_MNEM_vst43, M_MNEM_vld20, M_MNEM_vld21, M_MNEM_vld40, M_MNEM_vld41,
310 M_MNEM_vld42, M_MNEM_vld43): New encodings.
311 (do_mve_vst_vld): New encoding function.
312 (do_neon_ld_st_interleave): Use BAD_EL_TYPE.
313 (it_fsm_pre_encode): Handle new it_instruction_type
314 (handle_pred_state): Likewise.
315 * testsuite/gas/arm/mve-vstld-bad.d: New test.
316 * testsuite/gas/arm/mve-vstld-bad.l: New test.
317 * testsuite/gas/arm/mve-vstld-bad.s: New test.
321 * config/tc-arm.c (BAD_MVE_AUTO): New error message.
322 (BAD_MVE_SRCDEST): Likewise.
323 (mark_feature_used): Diagnose MVE only instructions when in
324 auto-detection mode or -march=all.
325 (enum operand_parse_code): Define new operand.
326 (parse_operands): Handle new operand.
327 (M_MNEM_vmullt, M_MNEM_vmullb): New encodings.
328 (mve_encode_qqq): New encoding helper function.
329 (do_mve_vmull): New encoding function.
330 (insns): Handle new instructions.
331 * testsuite/gas/arm/mve-vmullbt-bad.d: New test.
332 * testsuite/gas/arm/mve-vmullbt-bad.l: New test.
333 * testsuite/gas/arm/mve-vmullbt-bad.s: New test.
337 * config/tc-arm.c (struct asm_opcode): Make avalue a full int.
338 (BAD_ODD, BAD_EVEN, BAD_SIMD_TYPE): New errors.
339 (enum operand_parse_code): Handle new operands.
340 (parse_operands): Likewise.
341 (M_MNEM_vabav, M_MNEM_vmladav, M_MNEM_vmladava, M_MNEM_vmladavx,
342 M_MNEM_vmladavax, M_MNEM_vmlsdav, M_MNEM_vmlsdava, M_MNEM_vmlsdavx,
343 M_MNEM_vmlsdavax): Define new encodings.
344 (NEON_SHAPE_DEF): Add new shape.
345 (neon_check_type): Use BAD_SIMD_TYPE.
346 (mve_encode_rqq): New encoding helper function.
347 (do_mve_vabav, do_mve_vmladav): New encoding functions.
349 * testsuite/gas/arm/mve-vabav-bad.d: New test.
350 * testsuite/gas/arm/mve-vabav-bad.l: New test.
351 * testsuite/gas/arm/mve-vabav-bad.s: New test.
352 * testsuite/gas/arm/mve-vmladav-bad.d: New test.
353 * testsuite/gas/arm/mve-vmladav-bad.l: New test.
354 * testsuite/gas/arm/mve-vmladav-bad.s: New test.
355 * testsuite/gas/arm/mve-vmlav-bad.d: New test.
356 * testsuite/gas/arm/mve-vmlav-bad.l: New test.
357 * testsuite/gas/arm/mve-vmlav-bad.s: New test.
358 * testsuite/gas/arm/mve-vmlsdav-bad.d: New test.
359 * testsuite/gas/arm/mve-vmlsdav-bad.l: New test.
360 * testsuite/gas/arm/mve-vmlsdav-bad.s: New test.
364 * config/tc-arm.c (do_neon_abs_neg): Make it accept MVE variant.
365 (insns): Change vabs and vneg entries to accept MVE variants.
366 * testsuite/gas/arm/mve-vabsneg-bad-1.d: New test.
367 * testsuite/gas/arm/mve-vabsneg-bad-1.l: New test.
368 * testsuite/gas/arm/mve-vabsneg-bad-1.s: New test.
369 * testsuite/gas/arm/mve-vabsneg-bad-2.d: New test.
370 * testsuite/gas/arm/mve-vabsneg-bad-2.l: New test.
371 * testsuite/gas/arm/mve-vabsneg-bad-2.s: New test.
375 * config/tc-arm.c (enum it_instruction_type): Rename to...
376 (enum pred_instruction_type): ... this. Include VPT types.
377 (it_insn_type): Rename to ...
378 (pred_insn_type): .. this.
379 (arm_it): Change comment.
380 (enum arm_reg_type): Add new value.
381 (reg_expected_msgs): New entry.
382 (asm_opcode): Add mayBeVecPred member.
383 (BAD_SYNTAX, BAD_NOT_VPT, BAD_OUT_VPT, BAD_VPT_COND, MVE_NOT_IT,
384 MVE_NOT_VPT, MVE_BAD_PC, MVE_BAD_SP): New diagnostic MACROS.
385 (arm_vcond_hsh): New table for vector condition codes.
386 (now_it): Rename to ...
387 (now_pred): ... this.
388 (now_it_compatible): Rename to ...
389 (now_pred_compatible): ... this.
390 (in_it_block): Rename to ...
391 (in_pred_block): ... this.
392 (handle_it_state): Rename to ...
393 (handle_pred_state): ... this. And change it to accept VPT blocks.
394 (set_it_insn_type): Rename to ...
395 (set_pred_insn_type): ... this.
396 (set_it_insn_type_nonvoid): Rename to ...
397 (set_pred_insn_type_nonvoid): ... this.
398 (set_it_insn_type_last): Rename to ...
399 (set_pred_insn_type_last): ... this.
400 (record_feature_use): Moved.
401 (mark_feature_used): Likewise.
402 (parse_typed_reg_or_scalar): Add new case for REG_TYPE_MQ.
403 (emit_insn): Use renamed functions and variables.
404 (enum operand_parse_code): Add new operands.
405 (parse_operands): Handle new operands.
406 (do_scalar_fp16_v82_encode): Change predication detection.
407 (do_it): Use renamed functions and variables.
408 (do_t_add_sub): Likewise.
409 (do_t_arit3): Likewise.
410 (do_t_arit3c): Likewise.
411 (do_t_blx): Likewise.
412 (do_t_branch): Likewise.
413 (do_t_bkpt_hlt1): Likewise.
414 (do_t_branch23): Likewise.
416 (do_t_bxj): Likewise.
417 (do_t_cond): Likewise.
418 (do_t_csdb): Likewise.
419 (do_t_cps): Likewise.
420 (do_t_cpsi): Likewise.
421 (do_t_cbz): Likewise.
423 (do_mve_vpt): New function to handle VPT blocks.
424 (encode_thumb2_multi): Use renamed functions and variables.
425 (do_t_ldst): Use renamed functions and variables.
426 (do_t_mov_cmp): Likewise.
427 (do_t_mvn_tst): Likewise.
428 (do_t_mul): Likewise.
429 (do_t_nop): Likewise.
430 (do_t_neg): Likewise.
431 (do_t_rsb): Likewise.
432 (do_t_setend): Likewise.
433 (do_t_shift): Likewise.
434 (do_t_smc): Likewise.
436 (do_t_udf): Likewise.
437 (do_t_loloop): Likewise.
438 (do_neon_cvt_1): Likewise.
439 (do_vfp_nsyn_cvt_fpv8): Likewise.
441 (do_vmaxnm): Likewise.
442 (do_vrint_1): Likewise.
443 (do_crypto_2op_1): Likewise.
444 (do_crypto_3op_1): Likewise.
445 (do_crc32_1): Likewise.
446 (it_fsm_pre_encode): Likewise.
447 (it_fsm_post_encode): Likewise.
448 (force_automatic_it_block_close): Likewise.
449 (check_it_blocks_finished): Likewise.
450 (check_pred_blocks_finished): Likewise.
451 (arm_cleanup): Likewise.
452 (now_it_add_mask): Rename to ...
453 (now_pred_add_mask): ... this. And use new variables and functions.
454 (NEON_ENC_TAB): Add entries for vabdl, vaddl and vsubl.
455 (N_I_MVE, N_F_MVE, N_SU_MVE): New MACROs.
456 (neon_check_type): Generalize error message.
457 (mve_encode_qqr): New MVE generic encoding function.
458 (neon_dyadic_misc): Change to accept MVE variants.
459 (do_neon_dyadic_if_su): Likewise.
460 (do_neon_addsub_if_i): Likewise.
461 (do_neon_dyadic_long): Likewise.
462 (vfp_or_neon_is_neon): Add extra checks.
463 (check_simd_pred_availability): Helper function to check SIMD
464 instruction availability with respect to predication.
465 (enum opcode_tag): New suffix value.
466 (opcode_lookup): Change to handle VPT blocks.
467 (new_automatic_it_block): Rename to ...
468 (close_automatic_it_block): ...this.
469 (TxCE, TxC3, TxC3w, TUE, TUEc, TUF, CE, C3, ToC, ToU,
470 toC, toU, CL, cCE, cCL, C3E, xCM_, UE, UF, NUF, nUF,
471 NCE_tag, NCE, NCEF, nCE_tag, nCE, nCEF): Add default value for new
473 (mCEF, mnCEF, mnCE, MNUF, mnUF, mToC, MNCE, MNCEF): New MACROs.
474 (insns): Redefine vadd, vsub, cabd, vabdl, vaddl, vsubl to accept MVE
475 variants. Add entries for vscclrm, and vpst.
476 (md_begin): Add arm_vcond_hsh initialization.
477 * config/tc-arm.h (enum it_state): Rename to...
478 (enum pred_state): ...this.
479 (struct current_it): Rename to...
480 (struct current_pred): ...this.
481 (enum pred_type): New enum.
482 (struct arm_segment_info_type): Use current_pred.
483 * testsuite/gas/arm/armv8_3-a-fp-bad.l: Update error message.
484 * testsuite/gas/arm/armv8_3-a-simd-bad.l: Update error message.
485 * testsuite/gas/arm/dotprod-illegal.l: Update error message.
486 * testsuite/gas/arm/mve-vaddsubabd-bad-1.d: New test.
487 * testsuite/gas/arm/mve-vaddsubabd-bad-1.l: New test.
488 * testsuite/gas/arm/mve-vaddsubabd-bad-1.s: New test.
489 * testsuite/gas/arm/mve-vaddsubabd-bad-2.d: New test.
490 * testsuite/gas/arm/mve-vaddsubabd-bad-2.l: New test.
491 * testsuite/gas/arm/mve-vaddsubabd-bad-2.s: New test.
492 * testsuite/gas/arm/mve-vpst-bad.d: New test.
493 * testsuite/gas/arm/mve-vpst-bad.l: New test.
494 * testsuite/gas/arm/mve-vpst-bad.s: New test.
495 * testsuite/gas/arm/neon-ldst-es-bad.l: Updated error message.
499 * config/tc-arm.c (mve_ext, mve_fp_ext): New features.
500 (armv8_1m_main_ext_table): Add new extensions.
501 (aeabi_set_public_attributes): Translate new features to new build attributes.
502 (arm_convert_symbolic_attribute): Add Tag_MVE_arch.
503 * doc/c-arm.texi: Document new extensions and new build attribute.
507 * config/tc-s12z.c (register_prefix): New variable. (md_show_usage,
508 md_parse_option): parse the new option.
509 (lex_reg_name): Scan the prefix if one is set.
510 * doc/c-s12z.texi (S12Z-Opts): Document the new option.
511 * testsuite/gas/s12z/reg-prefix.d: New file.
512 * testsuite/gas/s12z/reg-prefix.s: New file.
513 * testsuite/gas/s12z/s12z.exp: Add them.
517 * doc/as.texi (Machine Dependencies): Fix misaligned menu entry.
521 * config/tc-csky.c (md_convert_frag): Initialise trailing
522 padding for COND_JUMP_PIC.
526 * dwarf2dbg.c: Whitespace fixes.
527 (get_filenum): Don't strdup "file". Adjust error message.
528 (dwarf2_directive_filename): Use an unsigned type for "num".
529 Catch truncation of file number and overflow of get_filenum
530 XRESIZEVEC multiplication. Delete dead code.
535 * config/tc-tic54x.c (tic54x_start_line_hook): Do skip end of line
536 chars in setting endp.
541 * config/tc-i386-intel.c (i386_intel_simplify_register): Reject
542 illegal register numbers.
547 * macro.c (get_any_string): Increase size of buffer used to hold
548 decimal value of expression result.
549 * dw2gencfi.c (get_debugseg_name): Handle an empty name.
550 * dwarf2dbg.c (get_filenum): Catch integer wraparound when
551 extending allocate file array.
552 (dwarf2_directive_filename): Add extra checks of the computed file
554 * config/tc-arm.c (arm_tc_equal_in_insn): Insert copy of name into
556 (s_arm_eabi_attribute): Check for obj_elf_vendor_attribute
558 * config/tc-i386.c (i386_output_nops): Catch an attempt to
559 generate nops of negative lengths.
560 * as.h (MAX_LITTLENUMS): Move definition to here from...
561 * config/atof-ieee.c: ...here.
562 * config/tc-aarch64.c: ...here.
563 * config/tc-arc.c: ...here.
564 * config/tc-arm.c: ...here.
565 * config/tc-epiphany.c: ...here.
566 * config/tc-i386.c: ...here.
567 * config/tc-ia64.c: ...here. (And correct the value).
568 * config/tc-m32c.c: ...here.
569 * config/tc-m32r.c: ...here.
570 * config/tc-metag.c: ...here.
571 * config/tc-microblaze.c: ...here.
572 * config/tc-nds32.c: ...here.
573 * config/tc-or1k.c: ...here.
574 * config/tc-score.c: ...here.
575 * config/tc-score7.c: ...here.
576 * config/tc-tic4x.c: ...here.
577 * config/tc-tilegx.c: ...here.
578 * config/tc-tilepro.c: ...here.
579 * config/tc-visium.c: ...here.
580 * config/tc-sh.c (md_assemble): Add check for an instruction with
582 * config/tc-mips.c (mips_lookup_insn): Add check for very short
584 * config/tc-tic54x.c: Use unsigned chars to access is_end_of_line
586 (tic54x_start_line_hook): Check for an empty line.
587 (next_line_shows_parallel): Do not walk off the end of the string.
588 (tic54x_macro_start): Check for too much macro nesting.
589 (tic54x_start_label): Add label_start parameter. Use this
590 parameter to check the first character of the label.
592 * config/tc-tic54x.h (TC_START_LABEL_WITHOUT_COLON): Pass
593 line_start variable to tic54x_start_label.
597 * config/tc-mips.c (macro) <M_ADD_I, M_SUB_I, M_DADD_I, M_DSUB_I>:
598 Add expansions for MIPS r6.
599 * testsuite/gas/mips/add.s: Enable tests for R6.
600 * testsuite/gas/mips/daddi.s: Annotate to test DADD for R6.
603 * gas/testsuite/gas/mips/mips.exp: Run the new test.
607 * testsuite/gas/aarch64/sve2.d: Remove file format restriction.
611 * testsuite/gas/aarch64/illegal-sve2-aes.d: New test.
612 * testsuite/gas/aarch64/illegal-sve2-bitperm.d: New test.
613 * testsuite/gas/aarch64/illegal-sve2-sha3.d: Test new instructions.
614 * testsuite/gas/aarch64/illegal-sve2-sm4.d: Test new instructions.
615 * testsuite/gas/aarch64/illegal-sve2-sve1ext.d: Test new instructions.
616 * testsuite/gas/aarch64/illegal-sve2-sve1ext.l: Test new instructions.
617 * testsuite/gas/aarch64/illegal-sve2.d: Test new instructions.
618 * testsuite/gas/aarch64/illegal-sve2.l: Test new instructions.
619 * testsuite/gas/aarch64/illegal-sve2.s: Test new instructions.
620 * testsuite/gas/aarch64/sve1-extended-sve2.s: New test.
621 * testsuite/gas/aarch64/sve2.d: Test new instructions.
622 * testsuite/gas/aarch64/sve2.s: Test new instructions.
626 * config/tc-aarch64.c (parse_operands): Handle new SVE_SHLIMM_UNPRED_22
631 * config/tc-aarch64.c (parse_operands): Handle new SVE_Zm4_11_INDEX
636 * config/tc-aarch64.c (parse_operands): Handle new SVE_SHRIMM_UNPRED_22
641 * config/tc-aarch64.c (REG_ZR): Macro specifying zero register.
642 (parse_address_main): Account for new addressing mode [Zn.S, Xm].
643 (parse_operands): Handle new SVE_ADDR_ZX operand.
647 * config/tc-aarch64.c (parse_operands): Handle new SVE_Zm3_11_INDEX
652 * config/tc-aarch64.c (parse_operands): Handle new SVE_IMM_ROT3 operand.
656 * config/tc-aarch64.c: Add command line architecture feature flags
657 "sve2", "sve2-sm4", "sve2-aes", "sve2-sha3", "bitperm".
658 * doc/c-aarch64.texi: Document new architecture feature flags.
662 * testsuite/gas/elf/dwarf2-1.s,
663 * testsuite/gas/elf/dwarf2-2.s,
664 * testsuite/gas/elf/dwarf2-5.s,
665 * testsuite/gas/elf/dwarf2-7.s,
666 * testsuite/gas/elf/dwarf2-8.s,
667 * testsuite/gas/elf/dwarf2-9.s,
668 * testsuite/gas/elf/dwarf2-10.s,
669 * testsuite/gas/elf/dwarf2-11.s,
670 * testsuite/gas/elf/dwarf2-12.s,
671 * testsuite/gas/elf/dwarf2-13.s,
672 * testsuite/gas/elf/dwarf2-14.s,
673 * testsuite/gas/elf/dwarf2-15.s,
674 * testsuite/gas/elf/dwarf2-16.s,
675 * testsuite/gas/elf/dwarf2-17.s,
676 * testsuite/gas/elf/dwarf2-18.s,
677 * testsuite/gas/elf/dwarf2-19.s: Double size of align and simulated
679 * testsuite/gas/elf/dwarf2-1.d,
680 * testsuite/gas/elf/dwarf2-2.d,
681 * testsuite/gas/elf/dwarf2-5.d,
682 * testsuite/gas/elf/dwarf2-7.d,
683 * testsuite/gas/elf/dwarf2-8.d,
684 * testsuite/gas/elf/dwarf2-9.d,
685 * testsuite/gas/elf/dwarf2-10.d,
686 * testsuite/gas/elf/dwarf2-11.d,
687 * testsuite/gas/elf/dwarf2-12.d,
688 * testsuite/gas/elf/dwarf2-13.d,
689 * testsuite/gas/elf/dwarf2-14.d,
690 * testsuite/gas/elf/dwarf2-15.d,
691 * testsuite/gas/elf/dwarf2-16.d,
692 * testsuite/gas/elf/dwarf2-17.d,
693 * testsuite/gas/elf/dwarf2-18.d,
694 * testsuite/gas/elf/dwarf2-19.d: Use xfail rather than notarget.
695 Remove avr, pru, tile, xtensa from xfails. Update expected output.
696 * testsuite/gas/elf/elf.exp: Sort targets.
697 (dump_opts): Pass {as -mno-relax} for riscv, {as -mno-link-relax}
698 for avr and pru, and {as --no-link-relax} for xtensa to dwarf tests.
699 * testsuite/gas/elf/section2.e-miwmmxt: Delete unused file.
703 * config/tc-xtensa.c (opt_linkrelax): New variable.
704 (md_parse_option): Set it here.
705 (md_begin): Copy opt_linkrelax to linkrelax.
709 * testsuite/gas/elf/dwarf2-18.d: Xfail mep-*.
710 * testsuite/gas/elf/dwarf2-19.d: Likewise.
714 * symbols.c (use_complex_relocs_for): Formatting. Factor out
720 * config/tc-mips.c (mips_set_ase): Handle ASE_EVA_R6.
721 (macro) <M_LLWPE_AB, M_SCWPE_AB>: New cases.
722 (mips_after_parse_args): Translate EVA to EVA_R6.
723 * testsuite/gas/mips/ase-errors-1.s: Add new instructions.
724 * testsuite/gas/mips/eva.s: Likewise.
725 * testsuite/gas/mips/ase-errors-1.l: Check errors for
731 * symbols.c (symbol_relc_make_sym): Do not access sym->sy_value
736 * config/tc-ppc.c (ppc_fix_adjustable): Exclude all GOT and PLT
737 relocs, and VLE sdarel relocs.
738 * testsuite/gas/ppc/power4.d: Adjust.
742 * dwarf2dbg.c (set_or_check_view): Skip heads when assigning
744 (dwarf2_gen_line_info_1): Skip heads.
745 (size_inc_line_addr, emit_inc_line_addr): Drop
746 DW_LNS_advance_pc for zero addr delta.
747 (dwarf2_finish): Assign views for heads of segments.
748 * testsuite/gas/elf/dwarf2-19.d: New.
749 * testsuite/gas/elf/dwarf2-19.s: New.
750 * testsuite/gas/elf/elf.exp: Test it.
754 * config/tc-m32c.c (insn_size): Delete static var.
755 (md_begin): Don't set it.
756 (m32c_md_end): Delete.
757 (md_assemble): Add insn_size auto var.
758 * config/tc-m32c.h (md_end): Don't define.
759 (m32c_md_end): Delete.
760 (NOP_OPCODE, HANDLE_ALIGN, MAX_MEM_FOR_RS_ALIGN_CODE): Define.
761 * testsuite/gas/all/align.d: Remove m32c from notarget list.
762 * testsuite/gas/all/incbin.d: Likewise.
763 * testsuite/gas/elf/dwarf2-11.d: Likewise.
764 * testsuite/gas/macros/semi.d: Likewise.
765 * testsuite/gas/all/gas.exp (do_comment): Similarly.
770 * config/tc-i386.c (process_suffix): Issue a warning to IRET
771 without a suffix for .code16gcc.
772 * testsuite/gas/i386/jump16.s: Add tests for iretX.
773 * testsuite/gas/i386/jump16.d: Updated.
774 * testsuite/gas/i386/jump16.e: New file.
778 * config/tc-aarch64.c (parse_operands): Add case for
779 AARCH64_OPND_TME_UIMM16.
780 (aarch64_features): Add "tme".
781 * doc/c-aarch64.texi: Document the same.
782 * testsuite/gas/aarch64/tme-invalid.d: New test.
783 * testsuite/gas/aarch64/tme-invalid.l: New test.
784 * testsuite/gas/aarch64/tme-invalid.s: New test.
785 * testsuite/gas/aarch64/tme.d: New test.
786 * testsuite/gas/aarch64/tme.s: New test.
790 * testsuite/gas/s12z/truncated.d: New file.
791 * testsuite/gas/s12z/truncated.s: New file.
792 * testsuite/gas/s12z/s12z.exp: Add new test.
797 * config/tc-mips.c (macro) <M_LLWP_AB, M_LLDP_AB, M_SCWP_AB,
798 M_SCDP_AB>: New cases and expansions for paired instructions.
799 * testsuite/gas/mips/llpscp-32.s: New test source.
800 * testsuite/gas/mips/llpscp-64.s: Likewise.
801 * testsuite/gas/mips/llpscp-32.d: New test.
802 * testsuite/gas/mips/llpscp-64.d: Likewise.
803 * testsuite/gas/mips/mips.exp: Run the new tests.
804 * testsuite/gas/mips/r6.s: Add new instructions to test source.
805 * testsuite/gas/mips/r6-64.s: Likewise.
806 * testsuite/gas/mips/r6-64-n32.d: Check new instructions.
807 * testsuite/gas/mips/r6-64-n64.d: Likewise.
808 * testsuite/gas/mips/r6-n32.d: Likewise.
809 * testsuite/gas/mips/r6-n64.d: Likwwise.
810 * testsuite/gas/mips/r6.d: Likewise.
815 * config/tc-i386.c (process_suffix): Don't add DATA_PREFIX_OPCODE
816 to IRET for .code16gcc.
817 * testsuite/gas/i386/jump16.s: Add IRET tests.
818 * testsuite/gas/i386/jump16.d: Updated.
824 * frags.c (frag_gtoffset_p): New.
825 * frags.h (frag_gtoffset_p): Declare it.
826 * expr.c (resolve_expression): Use it.
831 * symbols.c (resolve_symbol_value): When handling symbols
832 marked as sy_flags.resolved, return correct value for the
833 case of expression symbols left as an O_symbol expression.
834 Merge O_symbol code handling undefined and common symbols with
835 code handling special cases of expression symbols. Use
836 seg_left to test for undefined and common symbols. Don't
837 leave an O_symbol expression when X_add_symbol resolves to
838 the absolute_section. Init final_val later.
839 * testsuite/gas/mmix/basep-7.d: Adjust expected output.
843 * testsuite/gas/s12z/bit-manip-invalid.s: Extend test for BSET
844 and BCLR instructions with an invalid mode.
845 * testsuite/gas/s12z/bit-manip-invalid.d: ditto.
850 * config/tc-rx.h (md_relax_frag): Pass the max_iterations variable
851 to the relaxation function.
852 * config/tc-rx.c (rx_relax_frag): Add new parameter - the maximum
853 number of iterations. Make sure that our internal iteration limit
854 does not exceed this external iteration limit.
858 * config/tc-mips.c (match_non_zero_reg_operand): Update
860 * testsuite/gas/mips/r6-branch-constraints.l: Likewise.
864 * config/tc-msp430.c (msp430_make_init_symbols): Define
865 __crt0_run_{preinit,init,fini}_array symbols if
866 .{preinit,init,fini}_array sections exist.
867 * testsuite/gas/msp430/fini-array.d: New test.
868 * testsuite/gas/msp430/init-array.d: New test.
869 * testsuite/gas/msp430/preinit-array.d: New test.
870 * testsuite/gas/msp430/fini-array.s: New test source.
871 * testsuite/gas/msp430/init-array.s: New test source.
872 * testsuite/gas/msp430/preinit-array.s: New test source.
873 * testsuite/gas/msp430/msp430.exp: Add new tests to driver.
877 * config/tc-msp430.c (msp430_make_init_symbols): Define __crt0_init_bss
878 symbol when .lower.bss or .either.bss sections exist.
879 Define __crt0_movedata when .lower.data or .either.data sections exist.
880 * testsuite/gas/msp430/either-data-bss-sym.d: New test.
881 * testsuite/gas/msp430/low-data-bss-sym.d: New test.
882 * testsuite/gas/msp430/either-data-bss-sym.s: New test source.
883 * testsuite/gas/msp430/low-data-bss-sym.s: New test source.
884 * testsuite/gas/msp430/msp430.exp: Run new tests.
885 Enable large code model when running -mdata-region={upper,either}
890 * config/tc-msp430.c (options): New OPTION_UNKNOWN_INTR_NOPS,
891 OPTION_NO_UNKNOWN_INTR_NOPS and do_unknown_interrupt_nops.
892 (md_parse_option): Handle OPTION_UNKNOWN_INTR_NOPS and
893 OPTION_NO_UNKNOWN_INTR_NOPS by setting do_unknown_interrupt_nops
895 (md_show_usage): Likewise.
896 (md_shortopts): Add "mu" for OPTION_UNKNOWN_INTR_NOPS and
897 "mU" for OPTION_NO_UNKNOWN_INTR_NOPS.
898 (md_longopts): Likewise.
899 (warn_eint_nop): Update comment.
900 (warn_unsure_interrupt): Don't warn if prev_insn_is_nop or
901 prev_insn_is_dint or we are assembling for 430 ISA.
902 (msp430_operands): Only call warn_unsure_interrupt if
903 do_unknown_interrupt_nops == TRUE.
904 * testsuite/gas/msp430/nop-unknown-intr.s: New test source file.
905 * testsuite/gas/msp430/nop-unknown-intr-430.d: New test.
906 * testsuite/gas/msp430/nop-unknown-intr-430x.d: New test.
907 * testsuite/gas/msp430/nop-unknown-intr-430x-ignore.d: New test.
908 * testsuite/gas/msp430/nop-unknown-intr-430.l: Warning output for new
910 * testsuite/gas/msp430/nop-unknown-intr-430x.l: Likewise.
911 * testsuite/gas/msp430/msp430.exp: Add new tests to driver.
915 * testsuite/gas/all/weakref1.d: xfail nds32.
919 * testsuite/gas/all/gas.exp: Remove ns32k xfails.
920 * testsuite/gas/all/weakref1u.d: Don't run for ns32k-*-*.
924 * write.h: Don't include bit_fix.h.
925 (struct fix): Rearrange some fields. Delete fx_im_disp and
926 fx_bit_fixP. Use bitfields for fx_size and fx_pcrel_adjust.
927 * write.c (fix_new_internal): Don't init fx_im_disp and fx_bit_fixP.
928 (fixup_segment): Don't exclude overflow checks on fx_bit_fixP.
929 (print_fixup): Don't print im_disp.
930 * config/tc-cris.c (md_apply_fix): Remove tests of fx_bit_fixP
932 * config/tc-dlx.c (md_apply_fix): Remove wrong debug code. Set
933 fx_no_overflow when fx_bit_fixP.
934 * config/tc-dlx.h: Include bit_fix.h.
935 (TC_FIX_TYPE, tc_fix_data, TC_INIT_FIX_DATA): Define.
936 * config/tc-ns32k.c (fix_new_ns32k, fix_new_ns32k_exp): Set
937 fx_no_overflow when bit_fixP.
938 * config/tc-ns32k.h (TC_FIX_TYPE): Add fx_bit_fixP and fx_im_disp.
939 (fix_im_disp, fix_bit_fixP): Adjust to suit.
940 (TC_INIT_FIX_DATA, TC_FIX_DATA_PRINT): Likewise.
944 * write.h (struct fix <fx_where>): Make unsigned.
945 (fix_new, fix_at_start, fix_new_exp): Adjust prototypes.
946 * write.c (fix_new, fix_new_exp, fix_at_start): Make "where" and
947 "size" parameters unsigned long.
948 (fix_new_internal): Likewise. Adjust error format string to suit.
949 * config/tc-mips.c (md_convert_frag): Remove cast of fx_where.
950 * config/tc-sparc.c (md_apply_fix): Likewise.
951 * config/tc-score.c (s3_convert_frag): Adjust for unsigned fx_where.
952 * config/tc-score7.c (s7_convert_frag): Likewise.
956 * frags.h (struct frag <fr_fix>): Use unsigned type.
957 * frags.c (frag_new): Assert that current size exceeds
958 old_frags_var_max_size.
959 * ehopt.c (get_cie_info): Adjust for unsigned fr_fix.
960 * listing.c (calc_hex): Likewise.
961 * write.c (cvt_frag_to_fill, write_relocs): Likewise.
962 * config/tc-arc.c (md_convert_frag): Likewise.
963 * config/tc-avr.c (avr_patch_gccisr_frag): Likewise.
964 * config/tc-mips.c (md_convert_frag): Likewise.
965 * config/tc-rl78.c (md_convert_frag): Likewise.
966 * config/tc-rx.c (md_convert_frag): Likewise.
967 * config/tc-sparc.c (md_apply_fix): Likewise.
968 * config/tc-xtensa.c (next_instrs_are_b_retw): Likewise.
969 (unrelaxed_frag_min_insn_count, unrelaxed_frag_has_b_j): Likewise.
973 * config/tc-arm.c (parse_sys_vldr_vstr): New function.
974 (OP_VLDR): New enum operand_parse_code enumerator.
975 (parse_operands): Add logic for OP_VLDR.
976 (do_t_vldr_vstr_sysreg): New function.
977 (do_vldr_vstr): Likewise.
978 (insns): Guard VLDR and VSTR by arm_ext_v4t for Thumb mode.
979 (md_apply_fix): Add bound check for VLDR and VSTR co-processor offset.
980 Add masking logic for BFD_RELOC_ARM_T32_VLDR_VSTR_OFF_IMM relocation.
981 * testsuite/gas/arm/archv8m_1m-cmse-main-bad.s: Add examples of bad
982 uses of VLDR and VSTR.
983 * testsuite/gas/arm/archv8m_1m-cmse-main-bad.l: Add error messages for
985 * testsuite/gas/arm/archv8m_1m-cmse-main.s: Add examples of VLDR and
987 * testsuite/gas/arm/archv8m_1m-cmse-main.d: Add disassembly for the
992 * config/tc-arm.c (arm_typed_reg_parse): Fix typo in comment.
993 (enum reg_list_els): New REGLIST_VFP_S_VPR and REGLIST_VFP_D_VPR
995 (parse_vfp_reg_list): Add new partial_match parameter. Set
996 *partial_match to TRUE if at least one element in the register list has
997 matched. Add support for REGLIST_VFP_S_VPR and REGLIST_VFP_D_VPR
998 register lists which expect VPR as last element in the list.
999 (s_arm_unwind_save_vfp_armv6): Adapt call to parse_vfp_reg_list to new
1001 (s_arm_unwind_save_vfp): Likewise.
1002 (enum operand_parse_code): New OP_VRSDVLST enumerator.
1003 (parse_operands): Adapt call to parse_vfp_reg_list to new prototype.
1004 Handle new OP_VRSDVLST case.
1005 (do_t_vscclrm): New function.
1006 (insns): New entry for VSCCLRM instruction.
1007 * testsuite/gas/arm/archv8m_1m-cmse-main-bad.s: Add invalid VSCCLRM
1009 * testsuite/gas/arm/archv8m_1m-cmse-main-bad.l: Add error expectations
1010 for above instructions.
1011 * testsuite/gas/arm/archv8m_1m-cmse-main.s: Add tests for VSCCLRM
1013 * testsuite/gas/arm/archv8m_1m-cmse-main.d: Add expected disassembly
1014 for above instructions.
1018 * config/tc-arm.c (enum reg_list_els): Define earlier and add
1019 REGLIST_RN and REGLIST_CLRM enumerators.
1020 (parse_reg_list): Add etype parameter to distinguish between regular
1021 core register list and CLRM register list. Add logic to
1022 recognize CLRM register list.
1023 (parse_vfp_reg_list): Assert type is not for core register list.
1024 (s_arm_unwind_save_core): Update call to parse_reg_list to new
1026 (enum operand_parse_code): Declare OP_CLRMLST enumerator.
1027 (parse_operands): Update call to parse_reg_list to new prototype. Add
1028 logic for OP_CLRMLST.
1029 (encode_thumb2_ldmstm): Rename into ...
1030 (encode_thumb2_multi): This. Add do_io parameter. Add logic to
1031 encode CLRM and guard LDM/STM only code by do_io.
1032 (do_t_ldmstm): Adapt to use encode_thumb2_multi.
1033 (do_t_push_pop): Likewise.
1034 (do_t_clrm): New function.
1035 (insns): Define CLRM.
1036 * testsuite/gas/arm/archv8m_1m-cmse-main-bad.d: New file.
1037 * testsuite/gas/arm/archv8m_1m-cmse-main-bad.l: Likewise.
1038 * testsuite/gas/arm/archv8m_1m-cmse-main-bad.s: Likewise.
1039 * testsuite/gas/arm/archv8m_1m-cmse-main.d: Likewise.
1040 * testsuite/gas/arm/archv8m_1m-cmse-main.s: Likewise.
1045 * config/tc-arm.c (operand_parse_code): Add OP_LR and OP_oLR
1046 for the LR operand and optional LR operand.
1047 (parse_operands): Add switch cases for OP_LR and OP_oLR for
1048 both type checking and value checking.
1049 (encode_thumb32_addr_mode): New entries for DLS, WLS and LE.
1050 (v8_1_loop_reloc): New helper function for handling labels
1051 for the low overhead loop instructions.
1052 (do_t_loloop): New function to encode DLS, WLS and LE.
1053 (insns): New entries for WLS, DLS and LE.
1054 (md_pcrel_from_section): New switch case
1055 for BFD_RELOC_ARM_THUMB_LOOP12.
1056 (md_appdy_fix): Likewise.
1057 (tc_gen_reloc): Likewise.
1058 * testsuite/gas/arm/armv8_1-m-tloop.s: New.
1059 * testsuite/gas/arm/armv8_1-m-tloop.d: New.
1060 * testsuite/gas/arm/armv8_1-m-tloop-bad.s: New.
1061 * testsuite/gas/arm/armv8_1-m-tloop-bad.d: New.
1062 * testsuite/gas/arm/armv8_1-m-tloop-bad.l: New.
1067 * config/tc-arm.c (T16_32_TAB): New entriy for bfcsel.
1068 (do_t_v8_1_branch): New switch case for bfcsel.
1070 (insns): New instruction for bfcsel.
1071 (md_pcrel_from_section): New switch case
1072 for BFD_RELOC_THUMB_PCREL_BFCSEL.
1073 (md_appdy_fix): Likewise
1074 (tc_gen_reloc): Likewise.
1075 * testsuite/gas/arm/armv8_1-m-bfcsel.d: New.
1076 * testsuite/gas/arm/armv8_1-m-bfcsel.s: New.
1080 * config/tc-arm.c (md_pcrel_from_section): New switch case for
1081 BFD_RELOC_ARM_THUMB_BF13.
1082 (md_appdy_fix): Likewise.
1083 (tc_gen_reloc): Likewise.
1088 * config/tc-arm.c (T16_32_TAB): New entrie for bfl.
1089 (do_t_v8_1_branch): New switch case for bfl.
1090 (insns): New instruction for bfl.
1091 * testsuite/gas/arm/armv8_1-m-bfl.d: New.
1092 * testsuite/gas/arm/armv8_1-m-bfl.s: New.
1093 * testsuite/gas/arm/armv8_1-m-bfl-bad.s: New.
1094 * testsuite/gas/arm/armv8_1-m-bfl-bad.d: New.
1095 * testsuite/gas/arm/armv8_1-m-bfl-bad.l: New.
1096 * testsuite/gas/arm/armv8_1-m-bfl-rel.d: New.
1097 * testsuite/gas/arm/armv8_1-m-bfl-rel.s: New.
1101 * config/tc-arm.c (md_pcrel_from_section): New switch case for
1102 BFD_RELOC_ARM_THUMB_BF19.
1103 (md_appdy_fix): Likewise.
1104 (tc_gen_reloc): Likewise.
1108 * config/tc-arm.c (T16_32_TAB): New entries for bfx and bflx.
1109 (do_t_v8_1_branch): New switch cases for bfx and bflx.
1110 (insns): New instruction for bfx and bflx.
1111 * testsuite/gas/arm/armv8_1-m-bf-exchange.d: New.
1112 * testsuite/gas/arm/armv8_1-m-bf-exchange.s: New.
1113 * testsuite/gas/arm/armv8_1-m-bf-exchange-bad.s: New
1114 * testsuite/gas/arm/armv8_1-m-bf-exchange-bad.l: New
1115 * testsuite/gas/arm/armv8_1-m-bf-exchange-bad.d: New
1120 * config/tc-arm.c (T16_32_TAB): New entries for bf.
1121 (do_t_branch_future): New.
1122 (insns): New instruction for bf.
1123 * testsuite/gas/arm/armv8_1-m-bf.d: New.
1124 * testsuite/gas/arm/armv8_1-m-bf.s: New.
1125 * testsuite/gas/arm/armv8_1-m-bf-bad.s: New.
1126 * testsuite/gas/arm/armv8_1-m-bf-bad.l: New.
1127 * testsuite/gas/arm/armv8_1-m-bf-bad.d: New.
1128 * testsuite/gas/arm/armv8_1-m-bf-rel.d: New.
1129 * testsuite/gas/arm/armv8_1-m-bf-rel.s: New.
1133 * config/tc-arm.c (md_pcrel_from_section): New switch case for
1134 BFD_RELOC_ARM_THUMB_BF17.
1135 (md_appdy_fix): Likewise.
1136 (tc_gen_reloc): Likewise.
1140 * config/tc-arm.c (ARM_IT_MAX_RELOCS): New macro.
1141 (arm_it): Member reloc renamed relocs and updated to an array.
1142 Rest: Replace all occurrences of reloc to relocs[0].
1146 * config/tc-arm.c (md_pcrel_from_section): New switch case
1147 for BFD_RELOC_THUMB_PCREL_BRANCH5.
1148 (v8_1_branch_value_check): New function to check branch
1150 (md_appdy_fix): New switch case for
1151 BFD_RELOC_THUMB_PCREL_BRANCH5.
1152 (tc_gen_reloc): Likewise.
1156 * config/tc-arm.c (do_neon_movhf): Remove fp-armv8 check.
1157 (armv8_1m_main_ext_table): New extension table.
1158 (arm_archs): Use the new extension table.
1159 * doc/c-arm.texi: Add missing arch and document new extensions.
1160 * testsuite/gas/arm/armv8.1-m.main-fp.d: New.
1161 * testsuite/gas/arm/armv8.1-m.main-fp-dp.d: New.
1162 * testsuite/gas/arm/armv8.1-m.main-hp.d: New.
1166 * config/tc-arm.c (cpu_arch_ver): Add entry for Armv8.1-M Mainline
1167 Tag_CPU_arch build attribute value. Reindent.
1168 (get_aeabi_cpu_arch_from_fset): Update assert.
1169 (aeabi_set_public_attributes): Update assert for Tag_DIV_use logic.
1170 * testsuite/gas/arm/attr-march-armv8_1-m.main.d: New test.
1174 * config/tc-mips.c (mips_cpu_info_table): Add i6500. Update
1175 default ASEs for i6400.
1176 * doc/c-mips.texi (-march): Document i6500.
1177 * testsuite/gas/mips/elf_mach_i6400.d: New test.
1178 * testsuite/gas/mips/elf_mach_i6500.d: New test.
1179 * testsuite/gas/mips/mips.exp: Run the new tests.
1183 * config/tc-mips.c (mips_set_options) <init_ase>: New field.
1184 (file_mips_opts, mips_opts) <init_ase>: Initialize new field.
1185 (file_mips_check_options): Propagate initial ASE settings.
1186 (mips_after_parse_args, parse_code_option): Track the initial
1187 ASE settings for a CPU.
1188 (s_mipsset): Restore the initial ASE settings when reverting
1189 to the default arch.
1190 * testsuite/gas/mips/elf_mach_p6600.d: New test.
1191 * testsuite/gas/mips/mips.exp: Run the new test.
1195 config/tc-s12z.h: Remove definition of macro TC_M68K
1199 config/tc-s12z.c: Use bfd_boolean where appropriate.
1203 * testsuite/gas/xtensa/loop-relax-2.d: New test definition.
1204 * testsuite/gas/xtensa/loop-relax.d: New test definition.
1205 * testsuite/gas/xtensa/loop-relax.s: New test source.
1206 * testsuite/gas/xtensa/text-section-literals-1a.d: New test
1208 * testsuite/gas/xtensa/text-section-literals-2.d: New test
1210 * testsuite/gas/xtensa/text-section-literals-2.s: New test
1212 * testsuite/gas/xtensa/text-section-literals-2a.d: New test
1214 * testsuite/gas/xtensa/text-section-literals-3.d: New test
1216 * testsuite/gas/xtensa/text-section-literals-3.s: New test
1218 * testsuite/gas/xtensa/text-section-literals-4.d: New test
1220 * testsuite/gas/xtensa/text-section-literals-4.s: New test
1222 * testsuite/gas/xtensa/text-section-literals-4a.d: New test
1227 * testsuite/gas/xtensa/all.exp: Remove all expect-based
1228 tests and all explicit run_dump_test / run_list_test
1229 invocations. Add run_dump_tests for all .d files in the
1231 * testsuite/gas/xtensa/entry_align.d: New test definition.
1232 * testsuite/gas/xtensa/entry_align.l: New test output.
1233 * testsuite/gas/xtensa/entry_misalign.d: New test definition.
1234 * testsuite/gas/xtensa/entry_misalign2.d: New test definition.
1235 * testsuite/gas/xtensa/j_too_far.d: New test definition.
1236 * testsuite/gas/xtensa/j_too_far.l: New test output.
1237 * testsuite/gas/xtensa/loop_align.d: New test definition.
1238 * testsuite/gas/xtensa/loop_misalign.d: New test definition.
1239 * testsuite/gas/xtensa/trampoline-2.d: New test definition.
1240 * testsuite/gas/xtensa/trampoline-2.l: Remove empty output.
1241 * testsuite/gas/xtensa/xtensa-err.exp: Use positive logic.
1245 * config/tc-xtensa.c (xtensa_literal_pseudo): Drop code that has
1247 (get_literal_pool_location): Only search for the literal pool
1248 when auto litpools is used, otherwise take one recorded in the
1249 tc_segment_info_data.
1250 (xtensa_assign_litpool_addresses): New function.
1251 (xtensa_move_literals): Don't duplicate 'literal pool location
1252 required...' error message. Call xtensa_assign_litpool_addresses.
1256 * config/tc-xtensa.c (xtensa_is_init_fini): Add declaration.
1257 (xtensa_mark_literal_pool_location): Don't add fill frag to literal
1258 section that records literal pool location.
1259 (md_begin): Call xtensa_mark_literal_pool_location when text
1260 section literals or auto litpools are used.
1261 (xtensa_elf_section_change_hook): Call
1262 xtensa_mark_literal_pool_location when text section literals or
1263 auto litpools are used, there's no literal pool location defined
1264 for the current section and it's not .init or .fini.
1265 * testsuite/gas/xtensa/auto-litpools-first1.d: Fix up addresses.
1266 * testsuite/gas/xtensa/auto-litpools-first2.d: Likewise.
1267 * testsuite/gas/xtensa/auto-litpools.d: Likewise.
1271 * config/tc-aarch64.c (process_omitted_operand): Add case for
1273 (parse_operands): Likewise.
1274 * testsuite/gas/aarch64/armv8_5-a-memtag.d: Update tests.
1275 * testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise.
1276 * testsuite/gas/aarch64/illegal-memtag.l: Likewise.
1277 * testsuite/gas/aarch64/illegal-memtag.s: Likewise.
1281 * testsuite/gas/aarch64/armv8_5-a-memtag.d: New tests for ldgm and stgm.
1282 * testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise.
1283 * testsuite/gas/aarch64/illegal-memtag.l: Likewise.
1284 * testsuite/gas/aarch64/illegal-memtag.s: Likewise.
1288 * config/tc-i386.c (need_plt32_p) [TE_SOLARIS]: Return FALSE.
1289 * testsuite/gas/i386/solaris/solaris.exp: New driver.
1290 * testsuite/gas/i386/solaris/reloc64.d,
1291 testsuite/gas/i386/solaris/x86-64-jump.d,
1292 testsuite/gas/i386/solaris/x86-64-mpx-branch-1.d,
1293 testsuite/gas/i386/solaris/x86-64-mpx-branch-2.d,
1294 testsuite/gas/i386/solaris/x86-64-nop-3.d,
1295 testsuite/gas/i386/solaris/x86-64-nop-4.d,
1296 testsuite/gas/i386/solaris/x86-64-nop-5.d,
1297 testsuite/gas/i386/solaris/x86-64-relax-2.d,
1298 testsuite/gas/i386/solaris/x86-64-relax-3.d: New tests.
1299 * testsuite/gas/i386/reloc64.d,
1300 testsuite/gas/i386/x86-64-jump.d,
1301 testsuite/gas/i386/x86-64-mpx-branch-1.d,
1302 testsuite/gas/i386/x86-64-mpx-branch-2.d,
1303 testsuite/gas/i386/x86-64-nop-3.d,
1304 testsuite/gas/i386/x86-64-nop-4.d,
1305 testsuite/gas/i386/x86-64-nop-5.d,
1306 testsuite/gas/i386/x86-64-relax-2.d,
1307 testsuite/gas/i386/x86-64-relax-3.d: Skip on *-*-solaris*.
1311 * config/te-cloudabi.h: New file.
1312 * config/tc-aarch64.c (aarch64_after_parse_args): Use TE_CLOUDABI
1313 rather than TARGET_OS to select cloudabi.
1314 * config/tc-i386.h (ELF_TARGET_FORMAT64): Define for TE_CLOUDABI.
1315 * configure.tgt (*-*-cloudabi*): Set em=cloudabi.
1319 * testsuite/gas/mips/mips.exp: Run hwr-names test.
1320 * testsuite/gas/mips/hwr-names.s: Add test cases for RDHWR with
1326 * config/tc-i386.c (output_insn): Support
1327 GNU_PROPERTY_X86_ISA_1_AVX512_BF16.
1328 * testsuite/gas/i386/property-2.s: Add AVX512_BF16 test.
1329 * testsuite/gas/i386/property-2.d: Updated.
1330 * testsuite/gas/i386/x86-64-property-2.d: Likewise.
1334 * configure.tgt: Remove i386-*-kaos* and i386-*-chaos targets.
1335 * testsuite/gas/i386/i386.exp: Remove *-*-caos* and "*-*-kaos*
1340 * testsuite/gas/i386/i386.exp: Run -mx86-used-note=yes tests.
1341 * testsuite/gas/i386/property-2.d: New file.
1342 * testsuite/gas/i386/property-2.s: Likewise.
1343 * testsuite/gas/i386/x86-64-property-2.d: Likewise.
1347 * config/tc-i386.c (cpu_arch): Add .avx512_bf16.
1348 (cpu_noarch): Add noavx512_bf16.
1349 * doc/c-i386.texi: Document avx512_bf16.
1350 * testsuite/gas/i386/avx512_bf16.d: New file.
1351 * testsuite/gas/i386/avx512_bf16.s: Likewise.
1352 * testsuite/gas/i386/avx512_bf16_vl-inval.l: Likewise.
1353 * testsuite/gas/i386/avx512_bf16_vl-inval.s: Likewise.
1354 * testsuite/gas/i386/avx512_bf16_vl.d: Likewise.
1355 * testsuite/gas/i386/avx512_bf16_vl.s: Likewise.
1356 * testsuite/gas/i386/x86-64-avx512_bf16.d: Likewise.
1357 * testsuite/gas/i386/x86-64-avx512_bf16.s: Likewise.
1358 * testsuite/gas/i386/x86-64-avx512_bf16_vl-inval.l: Likesie.
1359 * testsuite/gas/i386/x86-64-avx512_bf16_vl-inval.s: Likewise.
1360 * testsuite/gas/i386/x86-64-avx512_bf16_vl.d: Likewise.
1361 * testsuite/gas/i386/x86-64-avx512_bf16_vl.s: Likewise.
1362 * testsuite/gas/i386/i386.exp: Add BF16 related tests.
1366 * testsuite/gas/ppc/bc.s,
1367 * testsuite/gas/ppc/bcat.d,
1368 * testsuite/gas/ppc/bcaterr.d,
1369 * testsuite/gas/ppc/bcaterr.l,
1370 * testsuite/gas/ppc/bcy.d,
1371 * testsuite/gas/ppc/bcyerr.d,
1372 * testsuite/gas/ppc/bcyerr.l: New tests.
1373 * testsuite/gas/ppc/ppc.exp: Run them.
1377 * testsuite/gas/ppc/476.d: Remove trailing spaces.
1378 * testsuite/gas/ppc/a2.d: Likewise.
1379 * testsuite/gas/ppc/booke.d: Likewise.
1380 * testsuite/gas/ppc/booke_xcoff.d: Likewise.
1381 * testsuite/gas/ppc/e500.d: Likewise.
1382 * testsuite/gas/ppc/e500mc.d: Likewise.
1383 * testsuite/gas/ppc/e6500.d: Likewise.
1384 * testsuite/gas/ppc/htm.d: Likewise.
1385 * testsuite/gas/ppc/power6.d: Likewise.
1386 * testsuite/gas/ppc/power8.d: Likewise.
1387 * testsuite/gas/ppc/power9.d: Likewise.
1388 * testsuite/gas/ppc/vle.d: Likewise.
1393 * testsuite/gas/ppc/power8.s: (bdnztar, bdnztarl, bdztar, bdztarl,
1394 btar, btarl, bdnztar-, bdnztarl-, bdnztar+, bdnztarl+, bdztar-,
1395 bdztarl-, bdztar+, bdztarl+, bgetar, bnltar, bgetarl, bnltarl,
1396 bletar, bngtar, bletarl, bngtarl, bnetar, bnetarl, bnstar, bnutar,
1397 bnstarl, bnutarl, bgetar-, bnltar-, bgetarl-, bnltarl-, bletar-,
1398 bngtar-, bletarl-, bngtarl-, bnetar-, bnetarl-, bnstar-, bnutar-,
1399 bnstarl-, bnutarl-, bgetar+, bnltar+, bgetarl+, bnltarl+, bletar+,
1400 bngtar+, bletarl+, bngtarl+, bnetar+, bnetarl+, bnstar+, bnutar+,
1401 bnstarl+, bnutarl+, blttar, blttarl, bgttar, bgttarl, beqtar,
1402 beqtarl, bsotar, buntar, bsotarl, buntarl, blttar-, blttarl-,
1403 bgttar-, bgttarl-, beqtar-, beqtarl-, bsotar-, buntar-, bsotarl-,
1404 buntarl-, blttar+, blttarl+, bgttar+, bgttarl+, beqtar+, beqtarl+,
1405 bsotar+, buntar+, bsotarl+, buntarl+, bdnzftar, bdnzftarl, bdzftar,
1406 bdzftarl, bftar, bftarl, bftar-, bftarl-, bftar+, bftarl+, bdnzttar,
1407 bdnzttarl, bdzttar, bdzttarl, bttar, bttarl, bttar-, bttarl-, bttar+,
1408 bttarl+): Add tests of extended mnemonics.
1409 * testsuite/gas/ppc/power8.d: Likewise. Update previous bctar tests
1410 to expect new extended mnemonics.
1411 * testsuite/gas/ppc/a2.s: <bc, bc-, bc+, bcl, bcl-, bcl+>: Update test
1412 to not use illegal BO value. Use a more convenient BI value.
1413 * testsuite/gas/ppc/a2.d: Update tests for new expect output.
1417 * config/tc-xtensa.c (convert_frag_immed): Drop
1418 convert_frag_immed_finish_loop invocation.
1419 (convert_frag_immed_finish_loop): Drop declaration and
1421 * config/xtensa-relax.c (widen_spec_list): Replace loop
1422 widening that uses addi/addmi with widening that uses l32r
1427 * config/tc-arm.c (arm_ext_table): New struct type.
1428 (arm_arch_option_table): Add new 'arm_ext_table' field.
1429 (ARM_EXT,ARM_ADD,ARM_REMOVE, ALL_FP): New macros.
1430 (armv5te_ext_table, armv7ve_ext_table, armv7a_ext_table,
1431 armv7r_ext_table, armv7em_ext_table, armv8a_ext_table,
1432 armv81a_ext_table, armv82a_ext_table, armv84a_ext_table,
1433 armv85a_ext_table, armv8m_main_ext_table,
1434 armv8r_ext_table): New architecture extension tables.
1435 (ARM_ARCH_OPT): Add new default field.
1436 (ARM_ARCH_OPT2): New macro.
1437 (arm_archs): Extend some architectures with the new architecture
1438 extension tables mentioned above.
1439 (arm_extensions): Add DEPRECATED comment with instructions to
1441 (arm_parse_extension): Change to use new extension tables.
1442 (arm_parse_cpu): Don't change existing behavior.
1443 (arm_parse_arch): Change to use new extension tables.
1444 * doc/c-arm.texi: Document new architecture extensions.
1445 * testsuite/gas/arm/attr-mfpu-neon-fp16.d: Change test to use new
1446 extension option rather than -mfpu and change expected behaviour to
1448 * testsuite/gas/arm/armv8-2-fp16-scalar-bad-ext.d: New.
1449 * testsuite/gas/arm/armv8-2-fp16-scalar-ext.d: New.
1450 * testsuite/gas/arm/armv8-2-fp16-scalar-thumb-ext.d: New.
1451 * testsuite/gas/arm/armv8-2-fp16-simd-ext.d: New.
1452 * testsuite/gas/arm/armv8-2-fp16-simd-thumb-ext.d: New.
1453 * testsuite/gas/arm/armv8-2-fp16-simd-warning-ext.d: New.
1454 * testsuite/gas/arm/armv8-2-fp16-simd-warning-thumb-ext.d: New.
1455 * testsuite/gas/arm/armv8_2+rdma-ext.d: New.
1456 * testsuite/gas/arm/armv8_2-a-fp16-thumb2-ext.d: New.
1457 * testsuite/gas/arm/armv8_2-a-fp16_ext.d: New.
1458 * testsuite/gas/arm/armv8_3-a-fp-bad-ext.d: New.
1459 * testsuite/gas/arm/armv8_3-a-fp-ext.d: New.
1460 * testsuite/gas/arm/armv8_3-a-fp16-ext.d: New.
1461 * testsuite/gas/arm/armv8_3-a-simd-bad-ext.d: New.
1462 * testsuite/gas/arm/armv8_4-a-fp16-ext.d: New.
1463 * testsuite/gas/arm/armv8m.main+fp.d: New.
1464 * testsuite/gas/arm/armv8m.main+fp.dp.d: New.
1465 * testsuite/gas/arm/attr-ext-fpv5-d16.d: New.
1466 * testsuite/gas/arm/attr-ext-fpv5.d: New.
1467 * testsuite/gas/arm/attr-ext-idiv.d: New.
1468 * testsuite/gas/arm/attr-ext-mp.d: New.
1469 * testsuite/gas/arm/attr-ext-neon-fp16.d: New.
1470 * testsuite/gas/arm/attr-ext-neon-vfpv3.d: New.
1471 * testsuite/gas/arm/attr-ext-neon-vfpv4.d: New.
1472 * testsuite/gas/arm/attr-ext-sec.d: New.
1473 * testsuite/gas/arm/attr-ext-vfpv3-d16-fp16.d: New.
1474 * testsuite/gas/arm/attr-ext-vfpv3-d16.d: New.
1475 * testsuite/gas/arm/attr-ext-vfpv3-fp16.d: New.
1476 * testsuite/gas/arm/attr-ext-vfpv3.d: New.
1477 * testsuite/gas/arm/attr-ext-vfpv3xd-fp.d: New.
1478 * testsuite/gas/arm/attr-ext-vfpv3xd.d: New.
1479 * testsuite/gas/arm/attr-ext-vfpv4-d16.d: New.
1480 * testsuite/gas/arm/attr-ext-vfpv4-sp-d16.d: New.
1481 * testsuite/gas/arm/attr-ext-vfpv4.d: New.
1482 * testsuite/gas/arm/dotprod-mandatory-ext.d: New.
1483 * testsuite/gas/arm/fpv5-d16.s: New.
1484 * testsuite/gas/arm/fpv5-sp-d16.s: New.
1489 * testsuite/gas/ppc/476.d: Update mtfsb*.
1490 * testsuite/gas/ppc/a2.d: Likewise.
1494 * emul.h (struct emulation): Delete strip_underscore.
1495 * emul-target.h (emul_strip_underscore): Don't define.
1496 (emul_struct_name): Update initialization.
1500 * config/tc-d10v.c (md_apply_fix): Apply BFD_RELOC_8.
1501 * config/tc-pdp11.c (md_apply_fix): Likewise.
1502 * config/tc-d30v.c (md_apply_fix): Don't emit errors for BFD_RELOC_8,
1503 BFD_RELOC_16, and BFD_RELOC_64.
1504 * testsuite/gas/all/gas.exp: Move target exclusions for forward
1505 test, but not cr16, to..
1506 * testsuite/gas/all/forward.d: ..here, with explanation. Remove
1507 d10v, d30v, and pdp11 xfails.
1511 * config/tc-i386.c (optimize_encoding): Don't check AVX for
1512 EVEX vector load/store optimization. Check both operands for
1513 ZMM register. Update EVEX vector load/store opcode check.
1514 Choose EVEX Disp8 over VEX Disp32.
1515 * testsuite/gas/i386/optimize-1.d: Updated.
1516 * testsuite/gas/i386/optimize-1a.d: Likewise.
1517 * testsuite/gas/i386/optimize-2.d: Likewise.
1518 * testsuite/gas/i386/optimize-4.d: Likewise.
1519 * testsuite/gas/i386/optimize-5.d: Likewise.
1520 * testsuite/gas/i386/x86-64-optimize-2.d: Likewise.
1521 * testsuite/gas/i386/x86-64-optimize-2a.d: Likewise.
1522 * testsuite/gas/i386/x86-64-optimize-2b.d: Likewise.
1523 * testsuite/gas/i386/x86-64-optimize-3.d: Likewise.
1524 * testsuite/gas/i386/x86-64-optimize-5.d: Likewise.
1525 * testsuite/gas/i386/x86-64-optimize-6.d: Likewise.
1526 * testsuite/gas/i386/optimize-1.s: Add ZMM register load
1528 * testsuite/gas/i386/x86-64-optimize-2.s: Likewise.
1533 * config/tc-i386.c (optimize_encoding): Check only
1534 cpu_arch_flags.bitfield.cpuavx512vl.
1535 * testsuite/gas/i386/i386.exp: Run x86-64-optimize-2b.
1536 * testsuite/gas/i386/x86-64-optimize-2.d: Revert the last
1538 * testsuite/gas/i386/x86-64-optimize-2b.d: New file.
1539 * testsuite/gas/i386/x86-64-optimize-2b.s: Likewise.
1544 * testsuite/gas/i386/i386.exp: Change optimize-6a, optimize-7,
1545 x86-64-optimize-7a and x86-64-optimize-8 tests to run_list_test.
1546 Remove optimize-6c and x86-64-optimize-7c tests.
1547 * testsuite/gas/i386/noavx-3.l: Updated.
1548 * testsuite/gas/i386/noavx-4.d: Likewise.
1549 * testsuite/gas/i386/noavx-5.d: Likewise.
1550 * testsuite/gas/i386/noavx-3.s: Add AVX512F tests.
1551 * testsuite/gas/i386/noavx-4.s: Remove AVX512F tests.
1552 * testsuite/gas/i386/nosse-5.s: Likewise.
1553 * testsuite/gas/i386/optimize-6a.d: Removed.
1554 * testsuite/gas/i386/optimize-6c.d: Likewise.
1555 * testsuite/gas/i386/optimize-7.d: Likewise.
1556 * testsuite/gas/i386/x86-64-optimize-7a.d: Likewise.
1557 * testsuite/gas/i386/x86-64-optimize-7c.d: Likewise.
1558 * testsuite/gas/i386/x86-64-optimize-8.d: Likewise.
1559 * testsuite/gas/i386/optimize-6a.l: New file.
1560 * testsuite/gas/i386/optimize-6a.s: Likewise.
1561 * testsuite/gas/i386/optimize-7.l: Likewise.
1562 * testsuite/gas/i386/x86-64-optimize-7a.l: Likewise.
1563 * testsuite/gas/i386/x86-64-optimize-7a.s: Likewise.
1564 * testsuite/gas/i386/x86-64-optimize-8.l: Likewise.
1568 * config/m68k-parse.y (yylex): Use temp_ilp and restore_ilp.
1569 * as.c (macro_expr): Likewise.
1570 * macro.c (buffer_and_nest): Likewise.
1571 * read.c (temp_ilp): Remove FIXME.
1575 * testsuite/gas/i386/att-regs.d: Pass -O0 to assembler.
1576 * testsuite/gas/i386/avx512bw-intel.d: Likewise.
1577 * testsuite/gas/i386/avx512bw.d: Likewise.
1578 * testsuite/gas/i386/avx512f-intel.d: Likewise.
1579 * testsuite/gas/i386/avx512f.d: Likewise.
1580 * testsuite/gas/i386/disp32.d: Likewise.
1581 * testsuite/gas/i386/intel-regs.d: Likewise.
1582 * testsuite/gas/i386/pseudos.d: Likewise.
1583 * testsuite/gas/i386/x86-64-disp32.d: Likewise.
1584 * testsuite/gas/i386/x86-64-pseudos.d: Likewise.
1589 * config/tc-i386.c (optimize_encoding): Encode 128-bit and
1590 256-bit EVEX vector register load/store instructions as VEX
1591 vector register load/store instructions for -O1.
1592 * doc/c-i386.texi: Update -O1 documentation.
1593 * testsuite/gas/i386/i386.exp: Run PR gas/24348 tests.
1594 * testsuite/gas/i386/optimize-1.s: Add tests for EVEX vector
1595 load/store instructions.
1596 * testsuite/gas/i386/optimize-2.s: Likewise.
1597 * testsuite/gas/i386/optimize-3.s: Likewise.
1598 * testsuite/gas/i386/optimize-5.s: Likewise.
1599 * testsuite/gas/i386/x86-64-optimize-2.s: Likewise.
1600 * testsuite/gas/i386/x86-64-optimize-3.s: Likewise.
1601 * testsuite/gas/i386/x86-64-optimize-4.s: Likewise.
1602 * testsuite/gas/i386/x86-64-optimize-5.s: Likewise.
1603 * testsuite/gas/i386/x86-64-optimize-6.s: Likewise.
1604 * testsuite/gas/i386/optimize-1.d: Updated.
1605 * testsuite/gas/i386/optimize-2.d: Likewise.
1606 * testsuite/gas/i386/optimize-3.d: Likewise.
1607 * testsuite/gas/i386/optimize-4.d: Likewise.
1608 * testsuite/gas/i386/optimize-5.d: Likewise.
1609 * testsuite/gas/i386/x86-64-optimize-2.d: Likewise.
1610 * testsuite/gas/i386/x86-64-optimize-3.d: Likewise.
1611 * testsuite/gas/i386/x86-64-optimize-4.d: Likewise.
1612 * testsuite/gas/i386/x86-64-optimize-5.d: Likewise.
1613 * testsuite/gas/i386/x86-64-optimize-6.d: Likewise.
1614 * testsuite/gas/i386/optimize-7.d: New file.
1615 * testsuite/gas/i386/optimize-7.s: Likewise.
1616 * testsuite/gas/i386/x86-64-optimize-8.d: Likewise.
1617 * testsuite/gas/i386/x86-64-optimize-8.s: Likewise.
1621 * config/tc-i386.c (optimize_encoding): Encode 256-bit/512-bit
1622 VEX/EVEX vector register clearing instructions with 128-bit VEX
1623 vector register clearing instructions at -O1.
1624 * doc/c-i386.texi: Update -O1 and -O2 documentation.
1625 * testsuite/gas/i386/i386.exp: Run optimize-1a and
1627 * testsuite/gas/i386/optimize-1a.d: New file.
1628 * testsuite/gas/i386/x86-64-optimize-2a.d: Likewise.
1633 * config/tc-i386.c: Include <limits.h> if it exists and try
1634 including <sys/param.h> if we have it.
1635 (INT_MAX): Define if not defined.
1636 (md_parse_option): Set optimize to INT_MAX for -Os.
1637 * testsuite/gas/i386/optimize-2.s: Add a test.
1638 * testsuite/gas/i386/x86-64-optimize-3.s: Likewise.
1639 * testsuite/gas/i386/optimize-2.d: Updated.
1640 * testsuite/gas/i386/x86-64-optimize-3.d: Likewise.
1645 * config/tc-i386.c (optimize_encoding): Encode 512-bit EVEX
1646 with 128-bit VEX encoding only when AVX is enabled and with
1647 128-bit EVEX encoding only when AVX512VL is enabled.
1648 * testsuite/gas/i386/i386.exp: Run PR gas/24352 tests.
1649 * testsuite/gas/i386/optimize-6.s: New file.
1650 * testsuite/gas/i386/optimize-6a.d: Likewise.
1651 * testsuite/gas/i386/optimize-6b.d: Likewise.
1652 * testsuite/gas/i386/optimize-6c.d: Likewise.
1653 * testsuite/gas/i386/x86-64-optimize-7.s: Likewise.
1654 * testsuite/gas/i386/x86-64-optimize-7a.d: Likewise.
1655 * testsuite/gas/i386/x86-64-optimize-7b.d: Likewise.
1656 * testsuite/gas/i386/x86-64-optimize-7c.d: Likewise.
1657 * testsuite/gas/i386/x86-64-optimize-2.d: Updated.
1662 * config/tc-i386.c (parse_insn): Check mnemp before using it to
1663 determine if a suffix can be trimmed.
1667 * dwarf2dbg.c (out_set_addr): Align relocation within .debug_line.
1671 * dwarf2dbg.c (out_debug_line): Pad size of .debug_line section.
1675 * dwarf2dbg.c (out_debug_str): Use octets for .debug_string pointers.
1679 * dwarf2dbg.c (out_debug_line): Use octets for .debug_line prologue.
1683 * dwarf2dbg.c (out_debug_line): Use octets for dwarf2 headers.
1684 (out_debug_aranges, out_debug_info): Likewise.
1688 * symbols.h (symbol_temp_new_now_octets): Declare.
1689 (symbol_set_value_now_octets, symbol_octets_p): Declare.
1690 * symbols.c (struct symbol_flags): New member sy_octets.
1691 (symbol_temp_new_now_octets): New function.
1692 (resolve_symbol_value): Return octets instead of bytes if
1694 (symbol_set_value_now_octets): New function.
1695 (symbol_octets_p): New function.
1699 * dwarf2dbg.c (dwarf2_emit_insn): Fix calculation of line info offset.
1703 * testsuite/gas/s390/zarch-arch13.s: Adjust testcase to optable changes.
1704 * testsuite/gas/s390/zarch-arch13.d: Likewise.
1708 * testsuite/gas/aarch64/dotproduct.d: Use multiple "as" lines.
1709 * testsuite/gas/aarch64/dotproduct_armv8_4.d: Remove.
1710 * testsuite/gas/aarch64/dotproduct_armv8_4.s: Remove.
1711 * testsuite/gas/aarch64/illegal-dotproduct.d: Use multiple "as"
1713 * testsuite/gas/aarch64/ldst-rcpc-armv8_2.d: Remove.
1714 * testsuite/gas/aarch64/ldst-rcpc.d: Use multiple "as" lines.
1718 * config/tc-ppc.c (parse_tls_arg): Wrap in #ifdef OBJ_ELF.
1723 * config/obj-aout.c (obj_aout_frob_file_before_fix): Write to end
1724 of section to ensure file contents cover aligned section size.
1728 * config/tc-arm.c (arm_cpus): Add neoverse-n1.
1729 * doc/c-arm.texi (-mcpu): Document neoverse-n1 value.
1733 * config/tc-aarch64.c (aarch64_cpus): Add neoverse-e1.
1734 * doc/c-aarch64.texi (-mcpu): Document neoverse-e1 value.
1738 * config/tc-aarch64.c (aarch64_cpus): Add neoverse-n1.
1739 * doc/c-aarch64.texi (-mcpu): Document neoverse-n1 value.
1743 * NEWS: Mention -m[no-]fix-loongson3-llsc.
1744 * configure.ac: Add --enable-mips-fix-loongson3-llsc.
1745 Define DEFAULT_MIPS_FIX_LOONGSON3_LLSC.
1746 * config.in: Regenerated.
1747 * configure: Likewise.
1748 * config/tc-mips.c (sync_insn, mips_fix_loongson3_llsc):
1750 (options): New OPTION_FIX_LOONGSON3_LLSC,
1751 OPTION_NO_FIX_LOONGSON3_LLSC.
1752 (md_longopts): Add -m[no-]fix-loongson3-llsc.
1753 (md_begin): Initialize sync insn.
1754 (fix_loongson3_llsc): New.
1755 (append_insn): Call fix_loongson3_llsc.
1756 (md_parse_option): Handle OPTION_FIX_LOONGSON3_LLSC,
1757 OPTION_NO_FIX_LOONGSON3_LLSC.
1758 (md_show_usage): Display -m[no-]fix-loongson3-llsc.
1759 * doc/c-mips.texi: Document -m[no-]fix-loongson3-llsc,
1760 --enable-mips-fix-loongson3-llsc=[yes|no].
1765 * frags.c (frag_var_init): Pass max_chars to TC_FRAG_INIT as
1767 * config/tc-aarch64.h (TC_FRAG_INIT): Add and pass max_bytes to
1769 * /config/tc-arm.h (TC_FRAG_INIT): And and pass max_bytes to
1771 * config/tc-avr.h (TC_FRAG_INIT): And and ignore max_bytes.
1772 * config/tc-ia64.h (TC_FRAG_INIT): Likewise.
1773 * config/tc-mmix.h (TC_FRAG_INIT): Likewise.
1774 * config/tc-nds32.h (TC_FRAG_INIT): Likewise.
1775 * config/tc-ns32k.h (TC_FRAG_INIT): Likewise.
1776 * config/tc-rl78.h (TC_FRAG_INIT): Likewise.
1777 * config/tc-rx.h (TC_FRAG_INIT): Likewise.
1778 * config/tc-score.h (TC_FRAG_INIT): Likewise.
1779 * config/tc-tic54x.h (TC_FRAG_INIT): Likewise.
1780 * config/tc-tic6x.h (TC_FRAG_INIT): Likewise.
1781 * config/tc-xtensa.h (TC_FRAG_INIT): Likewise.
1782 * config/tc-i386.h (MAX_MEM_FOR_RS_ALIGN_CODE): Set to
1783 (alignment ? ((1 << alignment) - 1) : 1)
1784 (i386_tc_frag_data): Add max_bytes.
1785 (TC_FRAG_INIT): Add and track max_bytes.
1786 (HANDLE_ALIGN): Replace MAX_MEM_FOR_RS_ALIGN_CODE with
1787 fragP->tc_frag_data.max_bytes.
1788 * doc/internals.texi: Update TC_FRAG_TYPE with max_bytes.
1792 * config/tc-riscv.c (validate_riscv_insn) <'C'>: Add 'z' support.
1793 (riscv_ip) <'C'>: Add 'z' support.
1797 * config/tc-arm.c (insns): Redefine THUMB_VARIANT and ARM_VARIANT for
1799 * testsuite/gas/arm/armv8a-automatic-hlt.d: Update TAGs
1800 * testsuite/gas/arm/hlt.d: New test.
1801 * testsuite/gas/arm/hlt.s: New test.
1805 * testsuite/gas/aarch64/undefined_advsimd_armv8_3.d: New test.
1806 * testsuite/gas/aarch64/undefined_advsimd_armv8_3.s: New test.
1811 * testsuite/gas/aarch64/undefined_by_elem_sz_l.s: New test.
1812 * testsuite/gas/aarch64/undefined_by_elem_sz_l.d: New test.
1816 * config/tc-visium.c (md_assemble) <mode_cad>: Align instruction on
1817 64-bit boundaries for the GR6.
1818 * testsuite/gas/visium/allinsn_gr6.s: Tweak.
1819 * testsuite/gas/visium/allinsn_gr6.d: Likewise.
1820 * testsuite/gas/visium/bra-1.d: New test.
1821 * testsuite/gas/visium/bra-1.s: Likewise.
1822 * testsuite/gas/visium/visium.exp: Run bra-1 test.
1826 * config/tc-s12z.c (lex_imm): Add new argument exp_o.
1827 (emit_reloc): New function.
1828 (md_apply_fix): [BFD_RELOC_S12Z_OPR] Recognise that it
1829 can be either 2 bytes or 3 bytes long.
1830 * testsuite/gas/s12z/mov-imm-reloc.d: New file.
1831 * testsuite/gas/s12z/mov-imm-reloc.s: New file.
1832 * testsuite/gas/s12z/s12z.exp: Add them.
1836 * config/tc-s12z.c (md_apply_fix): Fix incorrect limits.
1837 * testsuite/gas/s12z/pc-rel-bad.d: New file.
1838 * testsuite/gas/s12z/pc-rel-bad.l: New file.
1839 * testsuite/gas/s12z/pc-rel-bad.s: New file.
1840 * testsuite/gas/s12z/pc-rel-good.d: New file.
1841 * testsuite/gas/s12z/pc-rel-good.s: New file.
1842 * testsuite/gas/s12z/s12z.exp: Add them.
1846 * config/tc-s12z.c (tfr): Emit warning if operands are the same.
1847 * testsuite/gas/s12z/exg.d: New test case.
1848 * testsuite/gas/s12z/exg.l: New file.
1852 * config/tc-s12z.c (lex_opr): Add a parameter to indicate whether
1853 immediate mode operands should be permitted.
1854 * testsuite/s12z/imm-dest.d: New file.
1855 * testsuite/s12z/imm-dest.l: New file.
1856 * testsuite/s12z/imm-dest.s: New file.
1857 * testsuite/s12z/s12z.exp: Add them.
1861 * config/tc-s390.c (s390_parse_cpu): New entry for arch13.
1862 * doc/c-s390.texi: Document arch13 march option.
1863 * testsuite/gas/s390/s390.exp: Run the arch13 related tests.
1864 * testsuite/gas/s390/zarch-arch13.d: New test.
1865 * testsuite/gas/s390/zarch-arch13.s: New test.
1866 * testsuite/gas/s390/zarch-z13.d: Expect the renamed mnemonics
1871 * config/tc-alpha.c (md_apply_fix): Correct range checks for
1872 BFD_RELOC_ALPHA_NOP, BFD_RELOC_ALPHA_LDA, BFD_RELOC_ALPHA_BSR.
1873 * config/tc-arm.c (md_apply_fix): Use llabs rather than abs.
1874 * config/tc-csky.c (get_macro_reg_vals): Pass s to csky_show_error.
1878 * config/tc-xtensa.c (md_apply_fix): Mark fixups for constant
1879 symbols as done in md_apply_fix.
1880 * testsuite/gas/all/forward.d: Don't XFAIL for xtensa.
1884 * po/fr.po: Updated French translation.
1885 * po/ru.po: Updated Russian translation.
1889 * configure.ac (ac_checking): Set from bfd/development.sh
1890 development variable.
1891 * configure: Regenerate.
1895 * config/tc-aarch64.c (warn_unpredictable_ldst): Exempt
1896 stg, st2g, stzg and stz2g from Xt == Xn with writeback warning.
1897 * testsuite/gas/aarch64/armv8_5-a-memtag.d: Change tests for
1898 stg, stzg, st2g and stz2g.
1899 * testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise.
1900 * testsuite/gas/aarch64/illegal-memtag.l: Likewise.
1901 * testsuite/gas/aarch64/illegal-memtag.s: Likewise.
1905 * testsuite/gas/aarch64/armv8_5-a-memtag.d: New tests for stzgm.
1906 * testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise.
1907 * testsuite/gas/aarch64/illegal-memtag.l: Likewise.
1908 * testsuite/gas/aarch64/illegal-memtag.s: Likewise.
1913 * config/tc-aarch64.c (parse_address_main): Remove support for
1914 [base]! address expression.
1915 (parse_operands): Remove support for AARCH64_OPND_ADDR_SIMPLE_2.
1916 (warn_unpredictable_ldst): Remove support for ldstgv_indexed.
1917 * testsuite/gas/aarch64/armv8_5-a-memtag.d: Remove tests for ldgv
1919 * testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise.
1920 * testsuite/gas/aarch64/illegal-memtag.l: Likewise.
1921 * testsuite/gas/aarch64/illegal-memtag.s: Likewise.
1926 * macro.c (getstring): Check array bound before accessing.
1932 * read.c (stringer): Delete assertion.
1936 * po/uk.po: Updated Ukranian translation.
1940 * config.in: Regenerate.
1941 * configure: Regenerate.
1942 * po/gas.pot: Regenerate.
1946 2.32 branch created.
1950 * testsuite/gas/arm/archv6t2-1-pe.d: New test.
1951 * testsuite/gas/arm/archv6t2-1.d: Skip pe.
1952 * testsuite/gas/arm/csdb.d: Skip pe.
1953 * testsuite/gas/arm/sb-thumb1-pe.d: New test.
1954 * testsuite/gas/arm/sb-thumb1.d: Skip pe.
1955 * testsuite/gas/arm/sb-thumb2-pe.d: New test.
1956 * testsuite/gas/arm/sb-thumb2.d: Skip pe.
1957 * testsuite/gas/arm/udf.d: Skip pe.
1961 * testsuite/gas/riscv/attribute-empty.d: New.
1966 * config/tc-riscv.c (DEFAULT_RISCV_ATTR): Define to 0 if not defined.
1967 (riscv_set_options): Add `arch_attr` field.
1968 (riscv_opts): Set default value for arch_attr.
1969 (riscv_write_out_arch_attr): New.
1970 (riscv_set_public_attributes): Likewise.
1971 (riscv_md_end): Likewise.
1972 (riscv_convert_symbolic_attribute): Likewise.
1973 (s_riscv_attribute): Likewise.
1974 (explicit_arch_attr): Likewise.
1975 (riscv_pseudo_table): Add .attribute to the table.
1976 (options): Add OPTION_ARCH_ATTR and OPTION_NO_ARCH_ATTR
1977 enumeration constants.
1978 (md_longopts): Add `march-attr' and `mno-arch-attr' options.
1979 (md_parse_option): Handle the new options.
1980 (md_show_usage): Document the `march-attr' option.
1981 * config/tc-riscv.h (md_end): Define as riscv_md_end
1982 (riscv_md_end): Declare.
1983 (CONVERT_SYMBOLIC_ATTRIBUTE): Define as
1984 riscv_convert_symbolic_attribute.
1985 (riscv_convert_symbolic_attribute): Declare.
1986 (start_assemble): Declare.
1987 * testsuite/gas/elf/elf.exp: Adjust test case for section2.e.
1988 * testsuite/gas/elf/section2.e-riscv: New.
1989 * testsuite/gas/riscv/attribute-01.d: New test
1990 * testsuite/gas/riscv/attribute-02.d: Likewise.
1991 * testsuite/gas/riscv/attribute-03.d: Likewise.
1992 * testsuite/gas/riscv/attribute-04.d: Likewise.
1993 * testsuite/gas/riscv/attribute-04.s: Likewise.
1994 * testsuite/gas/riscv/attribute-05.d: Likewise.
1995 * testsuite/gas/riscv/attribute-05.s: Likewise.
1996 * testsuite/gas/riscv/attribute-06.d: Likewise.
1997 * testsuite/gas/riscv/attribute-06.s: Likewise.
1998 * testsuite/gas/riscv/attribute-07.d: Likewise.
1999 * testsuite/gas/riscv/attribute-07.s: Likewise.
2000 * testsuite/gas/riscv/attribute-08.d: Likewise.
2001 * testsuite/gas/riscv/attribute-08.s: Likewise.
2002 * testsuite/gas/riscv/attribute-unknown.d: Likewise.
2003 * testsuite/gas/riscv/attribute-unknown.s: Likewise.
2004 * testsuite/gas/riscv/empty.l: Likewise.
2005 * doc/c-riscv.texi (.attribute): Add documentation.
2006 * configure.ac (--enable-default-riscv-attribute): New options.
2007 * configure: Re-generate.
2008 * config.in: Re-generate.
2012 * config/tc-s12z.c (lex_reg_name): Compare the length of the strings
2013 before the contents.
2014 * testsuite/gas/s12z/labels.d: New file.
2015 * testsuite/gas/s12z/labels.s: New file.
2016 * testsuite/gas/s12z/s12z.exp: Add them.
2017 * config/tc-s12z.c (tfr): Change as_bad to as_warn.
2018 Also fix message typo and semantics.
2019 * config/tc-s12z.c (emit_opr): Emit BFD_RELOC_S12Z_OPR instead of
2021 * testsuite/gas/s12z/opr-indirect-expr.d: Expect R_S12Z_OPR instead
2026 * config/tc-arm.c (arm_ext_v6k_v6t2): Define.
2027 (insns) [ARM_VARIANT]: Modified.
2028 (insns) [THUMB_VARIANT]: To implement few ARMv6K instructions
2030 * testsuite/gas/arm/archv6t2-1.d: New test.
2031 * testsuite/gas/arm/archv6t2-1.s: Likewise.
2032 * testsuite/gas/arm/archv6t2-2.d: Likewise.
2037 * testsuite/gas/m68hc11/lbranch-dwarf2.d: Adjust for PR23963 change.
2038 * testsuite/gas/m68hc11/opers12-dwarf2.d: Likewise.
2043 * testsuite/gas/mips/mips16-branch-absolute-1.d: Adjust for the
2044 fact that control characters are now displayed as escape
2046 * testsuite/gas/mips/mips16-e.d: Likewise.
2047 * testsuite/gas/mips/mips16-pcrel-0.d: Likewise.
2048 * testsuite/gas/mips/mips16-pcrel-1.d: Likewise.
2049 * testsuite/gas/mips/mips16-pcrel-delay-0.d: Likewise.
2050 * testsuite/gas/mips/mips16-pcrel-delay-1.d: Likewise.
2051 * testsuite/gas/mips/mips16-pcrel-n32-0.d: Likewise.
2052 * testsuite/gas/mips/mips16-pcrel-n32-1.d: Likewise.
2053 * testsuite/gas/mips/mips16-pcrel-n64-sym32-0.d: Likewise.
2054 * testsuite/gas/mips/mips16-pcrel-n64-sym32-1.d: Likewise.
2065 * testsuite/gas/mips/mipsel16-e.d: Likewise.
2068 * testsuite/gas/mips/r6-64-n32.d: Likewise.
2069 * testsuite/gas/mips/r6-64-n64.d: Likewise.
2070 * testsuite/gas/mips/r6-n32.d: Likewise.
2071 * testsuite/gas/mips/r6-n64.d: Likewise.
2072 * testsuite/gas/mips/r6.d: Likewise.
2073 * testsuite/gas/mips/tmips16-e.d: Likewise.
2074 * testsuite/gas/mips/tmipsel16-e.d: Likewise.
2075 * testsuite/gas/mn10300/relax.d: Likewise.
2079 * testsuite/gas/s12z/jsr.s: New case.
2080 * testsuite/gas/s12z/jsr.d: New case.
2084 * configure: Regenerate.
2088 * config/tc-aarch64.c (aarch64_cpus): Add ares.
2089 * doc/c-aarch64.texi (-mcpu): Document ares value.
2093 * testsuite/gas/rx/rx.exp: Create generated test source in
2095 * testsuite/gas/rx/Xtod.d, * testsuite/gas/rx/abs.d,
2096 * testsuite/gas/rx/adc.d, * testsuite/gas/rx/add.d,
2097 * testsuite/gas/rx/and.d, * testsuite/gas/rx/bclr.d,
2098 * testsuite/gas/rx/bcnd.d, * testsuite/gas/rx/bfmov.d,
2099 * testsuite/gas/rx/bmcnd.d, * testsuite/gas/rx/bnot.d,
2100 * testsuite/gas/rx/bra.d, * testsuite/gas/rx/brk.d,
2101 * testsuite/gas/rx/bset.d, * testsuite/gas/rx/bsr.d,
2102 * testsuite/gas/rx/btst.d, * testsuite/gas/rx/clrpsw.d,
2103 * testsuite/gas/rx/cmp.d, * testsuite/gas/rx/dabs.d,
2104 * testsuite/gas/rx/dadd.d, * testsuite/gas/rx/dbt.d,
2105 * testsuite/gas/rx/dcmp.d, * testsuite/gas/rx/ddiv.d,
2106 * testsuite/gas/rx/div.d, * testsuite/gas/rx/divu.d,
2107 * testsuite/gas/rx/dmov.d, * testsuite/gas/rx/dmul.d,
2108 * testsuite/gas/rx/dneg.d, * testsuite/gas/rx/dpopm.d,
2109 * testsuite/gas/rx/dpushm.d, * testsuite/gas/rx/dround.d,
2110 * testsuite/gas/rx/dsqrt.d, * testsuite/gas/rx/dsub.d,
2111 * testsuite/gas/rx/dtoX.d, * testsuite/gas/rx/emaca.d,
2112 * testsuite/gas/rx/emsba.d, * testsuite/gas/rx/emul.d,
2113 * testsuite/gas/rx/emula.d, * testsuite/gas/rx/emulu.d,
2114 * testsuite/gas/rx/fadd.d, * testsuite/gas/rx/fcmp.d,
2115 * testsuite/gas/rx/fdiv.d, * testsuite/gas/rx/fmul.d,
2116 * testsuite/gas/rx/fsqrt.d, * testsuite/gas/rx/fsub.d,
2117 * testsuite/gas/rx/ftoi.d, * testsuite/gas/rx/ftou.d,
2118 * testsuite/gas/rx/gprel.d, * testsuite/gas/rx/int.d,
2119 * testsuite/gas/rx/itof.d, * testsuite/gas/rx/jmp.d,
2120 * testsuite/gas/rx/jsr.d, * testsuite/gas/rx/machi.d,
2121 * testsuite/gas/rx/maclh.d, * testsuite/gas/rx/maclo.d,
2122 * testsuite/gas/rx/max.d, * testsuite/gas/rx/min.d,
2123 * testsuite/gas/rx/mov.d, * testsuite/gas/rx/movco.d,
2124 * testsuite/gas/rx/movli.d, * testsuite/gas/rx/movu.d,
2125 * testsuite/gas/rx/msbhi.d, * testsuite/gas/rx/msblh.d,
2126 * testsuite/gas/rx/msblo.d, * testsuite/gas/rx/mul.d,
2127 * testsuite/gas/rx/mulhi.d, * testsuite/gas/rx/mullh.d,
2128 * testsuite/gas/rx/mullo.d, * testsuite/gas/rx/mvfacgu.d,
2129 * testsuite/gas/rx/mvfachi.d, * testsuite/gas/rx/mvfaclo.d,
2130 * testsuite/gas/rx/mvfacmi.d, * testsuite/gas/rx/mvfc.d,
2131 * testsuite/gas/rx/mvfcp.d, * testsuite/gas/rx/mvfdc.d,
2132 * testsuite/gas/rx/mvfdr.d, * testsuite/gas/rx/mvtacgu.d,
2133 * testsuite/gas/rx/mvtachi.d, * testsuite/gas/rx/mvtaclo.d,
2134 * testsuite/gas/rx/mvtc.d, * testsuite/gas/rx/mvtcp.d,
2135 * testsuite/gas/rx/mvtdc.d, * testsuite/gas/rx/neg.d,
2136 * testsuite/gas/rx/nop.d, * testsuite/gas/rx/not.d,
2137 * testsuite/gas/rx/opecp.d, * testsuite/gas/rx/or.d,
2138 * testsuite/gas/rx/pop.d, * testsuite/gas/rx/popc.d,
2139 * testsuite/gas/rx/popm.d, * testsuite/gas/rx/push.d,
2140 * testsuite/gas/rx/pushc.d, * testsuite/gas/rx/pushm.d,
2141 * testsuite/gas/rx/r-bcc.d, * testsuite/gas/rx/r-bra.d,
2142 * testsuite/gas/rx/racl.d, * testsuite/gas/rx/racw.d,
2143 * testsuite/gas/rx/rdacl.d, * testsuite/gas/rx/rdacw.d,
2144 * testsuite/gas/rx/revl.d, * testsuite/gas/rx/revw.d,
2145 * testsuite/gas/rx/rmpa.d, * testsuite/gas/rx/rolc.d,
2146 * testsuite/gas/rx/rorc.d, * testsuite/gas/rx/rotl.d,
2147 * testsuite/gas/rx/rotr.d, * testsuite/gas/rx/round.d,
2148 * testsuite/gas/rx/rstr.d, * testsuite/gas/rx/rte.d,
2149 * testsuite/gas/rx/rtfi.d, * testsuite/gas/rx/rts.d,
2150 * testsuite/gas/rx/rtsd.d, * testsuite/gas/rx/sat.d,
2151 * testsuite/gas/rx/satr.d, * testsuite/gas/rx/save.d,
2152 * testsuite/gas/rx/sbb.d, * testsuite/gas/rx/sccnd.d,
2153 * testsuite/gas/rx/scmpu.d, * testsuite/gas/rx/setpsw.d,
2154 * testsuite/gas/rx/shar.d, * testsuite/gas/rx/shll.d,
2155 * testsuite/gas/rx/shlr.d, * testsuite/gas/rx/smovb.d,
2156 * testsuite/gas/rx/smovf.d, * testsuite/gas/rx/smovu.d,
2157 * testsuite/gas/rx/sstr.d, * testsuite/gas/rx/stnz.d,
2158 * testsuite/gas/rx/stz.d, * testsuite/gas/rx/sub.d,
2159 * testsuite/gas/rx/suntil.d, * testsuite/gas/rx/swhile.d,
2160 * testsuite/gas/rx/tst.d, * testsuite/gas/rx/utof.d,
2161 * testsuite/gas/rx/wait.d, * testsuite/gas/rx/xchg.d,
2162 * testsuite/gas/rx/xor.d: Add #source line.
2166 * config/tc-arm.c (arm_cpus): Add ares.
2167 * doc/c-arm.texi (-mcpu): Document ares value.
2171 * config/rx-defs.h (rx_cpu_types): Add type RXV3 and RXV3FPU.
2172 (rx_bfield): Add prototype.
2173 (rx_post): Likewise.
2174 * config/rx-parse.y: Add v3 instructions and Double FPU registers.
2177 (rx_check_v3): New. check v3 type.
2178 (rx_check_dfpu): New. check have double support.
2179 (double_condition_table): New. dcmp<cond> contiditon.
2180 (check_condition): Multiple condition support.
2181 (rx_lex): RXv3 instructions support.
2182 Add parse dcmp<cond> instruction and Double FPU registers.
2183 (immediate): Disable optimize in dmov #imm case.
2184 (displacement): Add double displacement in dmov instraction.
2185 * config/tc-rx.c (rx_use_conventional_section_names):
2186 Invert default value in rx-*-linux target.
2187 (cpu_type): Add additional ELF flags.
2188 (cpu_type_list): Add RXv3.
2189 (md_parse_option): Refer elf_flags from cpu_type_list.
2190 (md_show_usage): Add rxv3 and rxv3-dfpu.
2191 (rx_bytesT): Add post byte.
2192 (rx_bfield): New. generate bfmov / bfmovz "imm" field.
2193 (rx_post): New. Set instruction post byte.
2194 (md_assemble): Add post byte.
2195 doc/c-rx.texi: Add cpu types.
2196 * testsuite/gas/rx/Xtod.d: New.
2197 * testsuite/gas/rx/Xtod.sm: New.
2198 * testsuite/gas/rx/bfmov.d: New.
2199 * testsuite/gas/rx/bfmov.sm: New.
2200 * testsuite/gas/rx/dabs.d: New.
2201 * testsuite/gas/rx/dabs.sm: New.
2202 * testsuite/gas/rx/dadd.d: New.
2203 * testsuite/gas/rx/dadd.sm: New.
2204 * testsuite/gas/rx/dcmp.d: New.
2205 * testsuite/gas/rx/dcmp.sm: New.
2206 * testsuite/gas/rx/ddiv.d: New.
2207 * testsuite/gas/rx/ddiv.sm: New.
2208 * testsuite/gas/rx/dmov.d: New.
2209 * testsuite/gas/rx/dmov.sm: New.
2210 * testsuite/gas/rx/dmul.d: New.
2211 * testsuite/gas/rx/dmul.sm: New.
2212 * testsuite/gas/rx/dneg.d: New.
2213 * testsuite/gas/rx/dneg.sm: New.
2214 * testsuite/gas/rx/dpopm.d: New.
2215 * testsuite/gas/rx/dpopm.sm: New.
2216 * testsuite/gas/rx/dpushm.d: New.
2217 * testsuite/gas/rx/dpushm.sm: New.
2218 * testsuite/gas/rx/dround.d: New.
2219 * testsuite/gas/rx/dround.sm: New.
2220 * testsuite/gas/rx/dsqrt.d: New.
2221 * testsuite/gas/rx/dsqrt.sm: New.
2222 * testsuite/gas/rx/dsub.d: New.
2223 * testsuite/gas/rx/dsub.sm: New.
2224 * testsuite/gas/rx/dtoX.d: New.
2225 * testsuite/gas/rx/dtoX.sm: New.
2226 * testsuite/gas/rx/macros.inc: Add double FPU registers.
2227 * testsuite/gas/rx/mvfdc.d: New.
2228 * testsuite/gas/rx/mvfdc.sm: New.
2229 * testsuite/gas/rx/mvfdr.d: New.
2230 * testsuite/gas/rx/mvfdr.sm: New.
2231 * testsuite/gas/rx/mvtdc.d: New.
2232 * testsuite/gas/rx/mvtdc.sm: New.
2233 * testsuite/gas/rx/rstr.d: New.
2234 * testsuite/gas/rx/rstr.sm: New.
2235 * testsuite/gas/rx/rx.exp: Use rxv3-dfpu option.
2236 * testsuite/gas/rx/save.d: New.
2237 * testsuite/gas/rx/save.sm: New.
2238 * testsuite/gas/rx/xor.d: New.
2239 * testsuite/gas/rx/xor.sm: Add pattern.
2244 * macro.c (get_any_string): Check for end of input whilst scanning
2250 * read.c (stringer): Fix handling of missing '>' character at end
2255 Update year range in copyright notice of all files.
2257 For older changes see ChangeLog-2018
2259 Copyright (C) 2019 Free Software Foundation, Inc.
2261 Copying and distribution of this file, with or without modification,
2262 are permitted in any medium without royalty provided the copyright
2263 notice and this notice are preserved.
2269 version-control: never