3 * symbols.c (struct symbol_flags): Rename sy_volatile to volatil,
4 and remove sy_ from other field names. Update throughout.
5 (struct symbol): Remove sy_ from field names. Delete unused
6 TARGET_SYMBOL_FIELDS. Update throughout file. Move after..
7 (struct local_symbol): ..here. Remove lsy_ from field names.
8 Delete unused TC_LOCAL_SYMFIELD_TYPE. Update throughout file.
9 (local_symbol_resolved_p, local_symbol_mark_resolved): Delete.
10 Expand uses throughout file.
11 (local_symbol_get_frag, local_symbol_set_frag): Likewise.
12 (symbol_new): Move symbol_table_frozen test to..
13 (symbol_append): ..here, and..
14 (symbol_insert): ..here.
15 (resolve_symbol_value, symbol_relc_make_expr): White space fixes.
16 (HANDLE_XADD_OPT1, HANDLE_XADD_OPT2): Likewise.
17 * config/obj-coff.h (RESOLVE_SYMBOL_REDEFINITION): Update.
21 * symbols.h (symbol_new, symbol_create, local_symbol_make),
22 (symbol_temp_new): Arrange params as section, frag, offset.
23 * symbols.c: Adjust to suit.
26 * dwarf2dbg.c: Likewise.
29 * itbl-ops.c: Likewise.
32 * subsegs.c: Likewise.
33 * config/obj-coff.c: Likewise.
34 * config/obj-elf.c: Likewise.
35 * config/obj-macho.c: Likewise.
36 * config/tc-aarch64.c: Likewise.
37 * config/tc-alpha.c: Likewise.
38 * config/tc-arc.c: Likewise.
39 * config/tc-arm.c: Likewise.
40 * config/tc-avr.c: Likewise.
41 * config/tc-cr16.c: Likewise.
42 * config/tc-cris.c: Likewise.
43 * config/tc-csky.c: Likewise.
44 * config/tc-dlx.c: Likewise.
45 * config/tc-hppa.c: Likewise.
46 * config/tc-i386.c: Likewise.
47 * config/tc-ia64.c: Likewise.
48 * config/tc-m32r.c: Likewise.
49 * config/tc-m68k.c: Likewise.
50 * config/tc-mips.c: Likewise.
51 * config/tc-mmix.c: Likewise.
52 * config/tc-mn10200.c: Likewise.
53 * config/tc-mn10300.c: Likewise.
54 * config/tc-nds32.c: Likewise.
55 * config/tc-nios2.c: Likewise.
56 * config/tc-ppc.c: Likewise.
57 * config/tc-riscv.c: Likewise.
58 * config/tc-s390.c: Likewise.
59 * config/tc-sh.c: Likewise.
60 * config/tc-tic4x.c: Likewise.
61 * config/tc-tic54x.c: Likewise.
62 * config/tc-xtensa.c: Likewise.
66 * config/tc-csky.c (csky_insn_info): Add member last_isize.
67 (md_assemble): Assign value to csky_insn.last_isize.
68 * testsuite/gas/csky/enhance_dsp.d: Test bloop's two operands form.
69 * testsuite/gas/csky/enhance_dsp.s: Likewise.
73 * NEWS: Mention --reduce-memory-overheads and --hash-size arguments
75 * as.c: Remove the options from help.
76 * doc/as.texi: Remove options.
77 * doc/internals.texi: Remove hash from documentation.
78 * hash.c (struct hash_entry): Remove.
79 (struct hash_control): Likewise.
80 (set_gas_hash_table_size): Likewise.
81 (hash_new_sized): Likewise.
84 (hash_lookup): Likewise.
85 (hash_insert): Likewise.
87 (hash_replace): Likewise.
88 (hash_find): Likewise.
89 (hash_find_n): Likewise.
90 (hash_delete): Likewise.
91 (hash_traverse): Likewise.
92 (hash_print_statistics): Likewise.
94 (STATBUFSIZE): Likewise.
98 (applicatee): Likewise.
99 (whattable): Likewise.
100 * hash.h (struct hash_control): Likewise.
101 (set_gas_hash_table_size): Likewise.
102 (hash_new): Likewise.
103 (hash_new_sized): Likewise.
104 (hash_die): Likewise.
105 (hash_insert): Likewise.
106 (hash_jam): Likewise.
107 (hash_replace): Likewise.
108 (hash_find): Likewise.
109 (hash_find_n): Likewise.
110 (hash_delete): Likewise.
111 (hash_traverse): Likewise.
112 (hash_print_statistics): Likewise.
116 * config/obj-coff-seh.c (seh_hash_insert): Port to use new
118 (seh_hash_find): Likewise.
119 (seh_hash_find_or_make): Likewise.
120 * config/obj-coff.c (tag_init): Likewise.
121 (tag_insert): Likewise.
122 (tag_find): Likewise.
123 * config/obj-elf.c (struct group_list): Likewise.
124 (build_additional_section_info): Likewise.
125 (free_section_idx): Likewise.
126 (elf_adjust_symtab): Likewise.
127 (elf_frob_file_after_relocs): Likewise.
128 * config/tc-aarch64.c (INSN_SIZE): Likewise.
129 (parse_reg): Likewise.
130 (insert_reg_alias): Likewise.
131 (create_register_alias): Likewise.
133 (parse_shift): Likewise.
134 (parse_pldop): Likewise.
135 (parse_barrier): Likewise.
136 (parse_barrier_psb): Likewise.
137 (parse_bti_operand): Likewise.
138 (parse_sys_reg): Likewise.
139 (parse_sys_ins_reg): Likewise.
140 (lookup_mnemonic): Likewise.
141 (opcode_lookup): Likewise.
142 (parse_operands): Likewise.
143 (checked_hash_insert): Likewise.
144 (sysreg_hash_insert): Likewise.
145 (fill_instruction_hash_table): Likewise.
146 (md_begin): Likewise.
147 * config/tc-alpha.c (struct alpha_reloc_tag): Likewise.
148 (get_alpha_reloc_tag): Likewise.
149 (assemble_tokens_to_insn): Likewise.
150 (assemble_tokens): Likewise.
151 (md_begin): Likewise.
152 * config/tc-arc.c (arc_find_opcode): Likewise.
153 (arc_insert_opcode): Likewise.
154 (find_opcode_match): Likewise.
155 (declare_register): Likewise.
156 (declare_addrtype): Likewise.
157 (md_begin): Likewise.
158 (arc_parse_name): Likewise.
159 (tc_arc_regname_to_dw2regnum): Likewise.
160 (arc_extcorereg): Likewise.
161 * config/tc-arm.c (MVE_BAD_QREG): Likewise.
162 (arm_reg_parse_multi): Likewise.
163 (parse_reloc): Likewise.
164 (insert_reg_alias): Likewise.
165 (create_register_alias): Likewise.
167 (parse_shift): Likewise.
168 (parse_psr): Likewise.
169 (parse_cond): Likewise.
170 (parse_barrier): Likewise.
171 (do_vfp_nsyn_opcode): Likewise.
172 (opcode_lookup): Likewise.
173 (arm_tc_equal_in_insn): Likewise.
174 (md_begin): Likewise.
175 * config/tc-avr.c (md_begin): Likewise.
176 (avr_ldi_expression): Likewise.
177 (md_assemble): Likewise.
178 (avr_update_gccisr): Likewise.
179 (avr_emit_insn): Likewise.
180 * config/tc-cr16.c (get_register): Likewise.
181 (get_register_pair): Likewise.
182 (get_index_register): Likewise.
183 (get_index_register_pair): Likewise.
184 (get_pregister): Likewise.
185 (get_pregisterp): Likewise.
186 (initialise_reg_hash_table): Likewise.
187 (md_begin): Likewise.
188 (cr16_assemble): Likewise.
189 (md_assemble): Likewise.
190 * config/tc-cris.c (cris_insn_first_word_frag): Likewise.
191 (md_begin): Likewise.
192 (cris_process_instruction): Likewise.
193 * config/tc-crx.c (get_register): Likewise.
194 (get_copregister): Likewise.
195 (md_begin): Likewise.
196 (md_assemble): Likewise.
197 * config/tc-csky.c (md_begin): Likewise.
198 (parse_opcode): Likewise.
199 (get_operand_value): Likewise.
200 (v1_work_jbsr): Likewise.
201 (v2_work_rotlc): Likewise.
202 (v2_work_bgeni): Likewise.
203 (v2_work_not): Likewise.
204 * config/tc-d10v.c (sizeof): Likewise.
205 (md_begin): Likewise.
206 (do_assemble): Likewise.
207 (md_apply_fix): Likewise.
208 * config/tc-d30v.c (sizeof): Likewise.
209 (md_begin): Likewise.
210 (do_assemble): Likewise.
211 * config/tc-dlx.c (RELOC_DLX_VTENTRY): Likewise.
212 (md_begin): Likewise.
213 (machine_ip): Likewise.
214 * config/tc-ft32.c (md_begin): Likewise.
215 (md_assemble): Likewise.
216 * config/tc-h8300.c (md_begin): Likewise.
217 (md_assemble): Likewise.
218 * config/tc-hppa.c (pa_ip): Likewise.
219 (md_begin): Likewise.
220 * config/tc-i386.c (md_begin): Likewise.
221 (i386_print_statistics): Likewise.
222 (parse_insn): Likewise.
223 (process_operands): Likewise.
224 (i386_index_check): Likewise.
225 (parse_real_register): Likewise.
226 * config/tc-ia64.c (dot_rot): Likewise.
227 (dot_entry): Likewise.
228 (declare_register): Likewise.
229 (md_begin): Likewise.
230 (ia64_parse_name): Likewise.
231 (md_assemble): Likewise.
232 (dot_alias): Likewise.
233 (do_alias): Likewise.
234 (ia64_adjust_symtab): Likewise.
235 (do_secalias): Likewise.
236 (ia64_frob_file): Likewise.
237 * config/tc-m68hc11.c (m68hc11_print_statistics): Likewise.
238 (md_begin): Likewise.
239 (print_insn_format): Likewise.
240 (md_assemble): Likewise.
241 * config/tc-m68k.c (tc_gen_reloc): Likewise.
243 (md_begin): Likewise.
244 * config/tc-mcore.c (md_begin): Likewise.
245 (md_assemble): Likewise.
246 * config/tc-microblaze.c (md_begin): Likewise.
247 (md_assemble): Likewise.
248 (md_apply_fix): Likewise.
249 * config/tc-mips.c (nopic_need_relax): Likewise.
250 (md_begin): Likewise.
251 (macro_build): Likewise.
252 (mips16_macro_build): Likewise.
253 (mips_lookup_insn): Likewise.
255 (mips16_ip): Likewise.
256 * config/tc-mmix.c (sizeof): Likewise.
257 (mmix_md_begin): Likewise.
258 (md_assemble): Likewise.
259 * config/tc-mn10200.c (md_begin): Likewise.
260 (md_assemble): Likewise.
261 * config/tc-mn10300.c (HAVE_AM30): Likewise.
262 (md_begin): Likewise.
263 (md_assemble): Likewise.
264 * config/tc-moxie.c (md_begin): Likewise.
265 (md_assemble): Likewise.
266 * config/tc-msp430.c (md_begin): Likewise.
267 (msp430_operands): Likewise.
268 (md_assemble): Likewise.
269 * config/tc-nds32.c (PV_DONT_CARE): Likewise.
270 (builtin_isreg): Likewise.
271 (builtin_regnum): Likewise.
272 (nds32_init_nds32_pseudo_opcodes): Likewise.
273 (nds32_lookup_pseudo_opcode): Likewise.
274 (nds32_relax_hint): Likewise.
275 (md_begin): Likewise.
276 (nds32_find_reloc_table): Likewise.
277 (nds32_elf_append_relax_relocs_traverse): Likewise.
278 (nds32_relax_branch_instructions): Likewise.
279 (md_convert_frag): Likewise.
280 (nds32_elf_analysis_relax_hint): Likewise.
281 (tc_nds32_regname_to_dw2regnum): Likewise.
282 * config/tc-nios2.c (nios2_opcode_lookup): Likewise.
283 (nios2_reg_lookup): Likewise.
284 (nios2_ps_lookup): Likewise.
285 (md_begin): Likewise.
286 * config/tc-ns32k.c (struct hash_control): Likewise.
288 (md_begin): Likewise.
289 * config/tc-pdp11.c (md_begin): Likewise.
290 (md_assemble): Likewise.
291 * config/tc-pj.c (fake_opcode): Likewise.
293 (md_begin): Likewise.
294 (md_assemble): Likewise.
295 * config/tc-ppc.c (ppc_setup_opcodes): Likewise.
296 (md_assemble): Likewise.
297 * config/tc-pru.c (pru_opcode_lookup): Likewise.
298 (pru_reg_lookup): Likewise.
299 (md_begin): Likewise.
301 * config/tc-riscv.c (init_ext_version_hash): Likewise.
302 (riscv_get_default_ext_version): Likewise.
303 (riscv_set_arch): Likewise.
304 (init_opcode_names_hash): Likewise.
305 (opcode_name_lookup): Likewise.
306 (enum reg_class): Likewise.
307 (hash_reg_name): Likewise.
308 (riscv_init_csr_hash): Likewise.
309 (reg_csr_lookup_internal): Likewise.
310 (reg_lookup_internal): Likewise.
311 (init_opcode_hash): Likewise.
312 (md_begin): Likewise.
313 (DECLARE_CSR): Likewise.
314 (macro_build): Likewise.
315 (riscv_ip): Likewise.
316 * config/tc-s390.c (register_name): Likewise.
317 (s390_setup_opcodes): Likewise.
318 (md_begin): Likewise.
319 (md_assemble): Likewise.
320 (s390_insn): Likewise.
321 * config/tc-score.c (struct s3_reg_map): Likewise.
322 (s3_score_reg_parse): Likewise.
323 (s3_dependency_type_from_insn): Likewise.
324 (s3_parse_16_32_inst): Likewise.
325 (s3_parse_48_inst): Likewise.
326 (s3_insert_reg): Likewise.
327 (s3_build_reg_hsh): Likewise.
328 (s3_build_score_ops_hsh): Likewise.
329 (s3_build_dependency_insn_hsh): Likewise.
330 (s3_begin): Likewise.
331 * config/tc-score7.c (struct s7_reg_map): Likewise.
332 (s7_score_reg_parse): Likewise.
333 (s7_dependency_type_from_insn): Likewise.
334 (s7_parse_16_32_inst): Likewise.
335 (s7_build_score_ops_hsh): Likewise.
336 (s7_build_dependency_insn_hsh): Likewise.
337 (s7_insert_reg): Likewise.
338 (s7_build_reg_hsh): Likewise.
339 (s7_begin): Likewise.
340 * config/tc-sh.c (EMPTY): Likewise.
341 (md_begin): Likewise.
342 (find_cooked_opcode): Likewise.
343 * config/tc-sparc.c (md_begin): Likewise.
344 (sparc_ip): Likewise.
345 * config/tc-spu.c (md_begin): Likewise.
346 (md_assemble): Likewise.
347 * config/tc-tic30.c (md_begin): Likewise.
348 (tic30_operand): Likewise.
349 (tic30_parallel_insn): Likewise.
350 (md_assemble): Likewise.
351 * config/tc-tic4x.c (TIC4X_ALT_SYNTAX): Likewise.
352 (tic4x_asg): Likewise.
353 (tic4x_inst_insert): Likewise.
354 (tic4x_inst_add): Likewise.
355 (md_begin): Likewise.
356 (tic4x_operand_parse): Likewise.
357 (md_assemble): Likewise.
358 * config/tc-tic54x.c (MAX_SUBSYM_HASH): Likewise.
359 (stag_add_field_symbols): Likewise.
360 (tic54x_endstruct): Likewise.
361 (tic54x_tag): Likewise.
362 (tic54x_remove_local_label): Likewise.
363 (tic54x_clear_local_labels): Likewise.
364 (tic54x_var): Likewise.
365 (tic54x_macro_start): Likewise.
366 (tic54x_macro_info): Likewise.
367 (tic54x_macro_end): Likewise.
368 (subsym_isreg): Likewise.
369 (subsym_structsz): Likewise.
370 (md_begin): Likewise.
371 (is_mmreg): Likewise.
373 (encode_condition): Likewise.
374 (encode_cc3): Likewise.
375 (encode_cc2): Likewise.
376 (encode_operand): Likewise.
377 (tic54x_parse_insn): Likewise.
378 (tic54x_parse_parallel_insn_firstline): Likewise.
379 (subsym_create_or_replace): Likewise.
380 (subsym_lookup): Likewise.
381 (subsym_substitute): Likewise.
382 (tic54x_undefined_symbol): Likewise.
383 * config/tc-tic6x.c (md_begin): Likewise.
384 (md_assemble): Likewise.
385 * config/tc-tilegx.c (O_hw2_last_plt): Likewise.
386 (INSERT_SPECIAL_OP): Likewise.
387 (md_begin): Likewise.
388 (tilegx_parse_name): Likewise.
389 (parse_reg_expression): Likewise.
390 (md_assemble): Likewise.
391 * config/tc-tilepro.c (O_tls_ie_load): Likewise.
392 (INSERT_SPECIAL_OP): Likewise.
393 (tilepro_parse_name): Likewise.
394 (parse_reg_expression): Likewise.
395 (md_assemble): Likewise.
396 * config/tc-v850.c (md_begin): Likewise.
397 (md_assemble): Likewise.
398 * config/tc-vax.c (md_ri_to_chars): Likewise.
399 (vip_begin): Likewise.
402 (md_begin): Likewise.
403 * config/tc-wasm32.c (md_begin): Likewise.
404 (md_assemble): Likewise.
405 * config/tc-xgate.c (xgate_parse_operand): Likewise.
406 (md_begin): Likewise.
407 (md_assemble): Likewise.
408 * config/tc-z8k.c (md_begin): Likewise.
409 (md_assemble): Likewise.
413 * dw2gencfi.c (dwcfi_hash_insert): Use htab_t and str_hash_*
415 (dwcfi_hash_find): Likewise.
416 (dwcfi_hash_find_or_make): Likewise.
420 * ecoff.c (INIT_VARRAY): Use htab_t.
421 (add_string): Likewise.
422 (ecoff_read_begin_hook): Use new str_htab_create.
423 (get_tag): Use htab_t.
424 (add_file): Likewise.
428 * hash.h (struct string_tuple): New.
429 (hash_string_tuple): Likewise.
430 (eq_string_tuple): Likewise.
431 (string_tuple_alloc): Likewise.
432 (str_hash_find): Likewise.
433 (str_hash_find_n): Likewise.
434 (str_hash_delete): Likewise.
435 (str_hash_insert): Likewise.
436 (str_htab_create): Likewise.
440 * symbols.c (struct symbol_entry): New.
441 (hash_symbol_entry): Likewise.
442 (eq_symbol_entry): Likewise.
443 (symbol_entry_alloc): Likewise.
444 (symbol_entry_find): Likewise.
445 (local_symbol_make): Use htab hash table.
446 (local_symbol_convert): Likewise.
447 (symbol_table_insert): Likewise.
448 (symbol_find_exact_noref): Likewise.
449 (resolve_local_symbol): Likewise.
450 (resolve_local_symbol_values): Likewise.
451 (symbol_begin): Likewise.
452 (symbol_print_statistics): Likewise.
456 * read.c (struct po_entry): New.
457 (hash_po_entry): Likewise.
458 (eq_po_entry): Likewise.
459 (po_entry_alloc): Likewise.
460 (po_entry_find): Likewise.
461 (pop_insert): Likewise.
462 (pobegin): Use htab hash table.
463 (read_a_source_file): Likewise.
465 (read_print_statistics): Likewise.
466 * config/tc-m68k.c (m68k_conditional_pseudoop): Add const qualifier.
467 * config/tc-m68k.h (m68k_conditional_pseudoop): Likewise.
471 * config/tc-iq2000.c (iq2000_add_macro): Use htab hash table.
472 * macro.c (struct hash_control): Use htab.
473 (macro_init): Likewise.
474 (do_formals): Likewise.
475 (free_macro): Likewise.
476 (define_macro): Likewise.
477 (sub_actual): Likewise.
478 (macro_expand_body): Likewise.
479 (macro_expand): Likewise.
480 (check_macro): Likewise.
481 (delete_macro): Likewise.
482 (expand_irp): Likewise.
483 * macro.h (struct macro_hash_entry): New struct.
484 (hash_macro_entry): New.
485 (eq_macro_entry): Likewise.
486 (macro_entry_alloc): Likewise.
487 (macro_entry_find): Likewise.
488 (struct formal_hash_entry): Likewise.
489 (hash_formal_entry): Likewise.
490 (eq_formal_entry): Likewise.
491 (formal_entry_alloc): Likewise.
492 (formal_entry_find): Likewise.
496 * as.h: Include hashtab.h.
497 * hash.c (htab_insert): New.
498 (htab_print_statistics): Likewise.
499 * hash.h (htab_insert): Likewise.
500 (htab_print_statistics): Likewise.
504 * testsuite/gas/ppc/int128.s: Correct vcmpuq.
505 * testsuite/gas/ppc/int128.d: Update.
506 * testsuite/gas/ppc/xvtlsbb.d: Update.
510 * testsuite/gas/ppc/vsx4.s: Update test to use new mnemonic.
511 * testsuite/gas/ppc/vsx4.d: Likewise.
515 * config/obj-elf.c (obj_elf_change_section): When repurposing an
516 existing symbol, ensure that we set sy_value as per other (fresh)
518 * testsuite/gas/elf/elf.exp: Add new test.
519 * testsuite/gas/elf/section-symbol-redef.d: New test.
520 * testsuite/gas/elf/section-symbol-redef.s: Input for test.
525 * config/obj-som.c (obj_som_init_stab_section): Do nothing if the
526 $GDB_DEBUG$ section has already been created.
530 * config/tc-arm.c (do_neon_cvt_1): Parse vcvtne as vcvt-ne for
531 NS_FD shape when MVE is present
532 * testsuite/gas/arm/mve-vcvtne-it-bad.d: New test.
533 * testsuite/gas/arm/mve-vcvtne-it-bad.l: New test.
534 * testsuite/gas/arm/mve-vcvtne-it-bad.s: New test.
535 * testsuite/gas/arm/mve-vcvtne-it.d: New test.
536 * testsuite/gas/arm/mve-vcvtne-it.s: New test.
540 * testsuite/gas/aarch64/mpam-bad.d: New test.
541 * testsuite/gas/aarch64/mpam-bad.l: Error output.
542 * testsuite/gas/aarch64/mpam-bad.s: Input.
543 * testsuite/gas/aarch64/mpam.d: New test.
544 * testsuite/gas/aarch64/mpam.s: Input.
549 * doc/c-riscv.texi (RISC-V-Options): Fix typo in the description
550 of the -mno-csr-check option.
554 * po/ru.po: Updated Russian translation.
558 * config/tc-aarch64.c (parse_sys_reg): Don't assert when parsing
559 a long system register.
560 (parse_sys_ins_reg): Likewise.
561 (sysreg_hash_insert): New.
562 (md_begin): Use sysreg_hash_insert() to ensure all system
563 registers are no longer than the maximum length at startup.
564 * testsuite/gas/aarch64/invalid-sysreg-assert.d: New test.
565 * testsuite/gas/aarch64/invalid-sysreg-assert.l: Error output.
566 * testsuite/gas/aarch64/invalid-sysreg-assert.s: Input.
570 * config/tc-aarch64.c (parse_sys_reg): Call to
571 aarch64_sys_ins_reg_supported_p instead of
572 aarch64_sys_reg_supported_p.
573 (parse_sys_ins_reg): Add aarch64_sys_reg_deprecated_p check.
574 * testsuite/gas/aarch64/illegal-sysreg-5.d: New test.
575 * testsuite/gas/aarch64/illegal-sysreg-5.l: New test.
576 * testsuite/gas/aarch64/sysreg-5.s: New test.
580 * testsuite/gas/ppc/power8.d,
581 * testsuite/gas/ppc/power8.s: Add miso.
582 * testsuite/gas/ppc/power9.d,
583 * testsuite/gas/ppc/power8.s: Add exser, msgsndu, msgclru.
587 * testsuite/gas/ppc/power8.d: Update.
588 * testsuite/gas/ppc/vsx2.d: Update.
592 * config/tc-ppc.c (md_assemble): Error for lmw, stmw, lswi, lswx,
593 stswi, or stswx in little-endian mode.
594 * testsuite/gas/ppc/476.d,
595 * testsuite/gas/ppc/476.s: Delete lmw, stmw, lswi, lswx, stswi, stswx.
596 * testsuite/gas/ppc/a2.d,
597 * testsuite/gas/ppc/a2.s: Move lmw, stmw, lswi, lswx, stswi, stswx..
598 * testsuite/gas/ppc/be.d,
599 * testsuite/gas/ppc/be.s: ..to here, new big-endian only test.
600 * testsuite/gas/ppc/le_error.d,
601 * testsuite/gas/ppc/le_error.l: New little-endian test.
602 * testsuite/gas/ppc/ppc.exp: Run new tests.
606 * read.c (read_a_source_file): Ignore rest of line on overflow
611 * read.c (read_a_source_file): Use long for local labels, detect
612 overflow and raise an error for overly-long labels.
613 * testsuite/gas/all/gas.exp: Add local-label-overflow test.
614 * testsuite/gas/all/local-label-overflow.d: New test.
615 * testsuite/gas/all/local-label-overflow.l: Error output.
616 * testsuite/gas/all/local-label-overflow.s: Input.
620 * gas/testsuite/gas/z8k/inout.d: Adapt to correct encoding of
621 "sout/soutb #imm,reg"
625 * NEWS: Mention {disp16} pseudo prefix.
629 * testsuite/gas/i386/x86-64-pseudos.d: Revert an accidental
634 * dwarf2dbg.c (out_debug_abbrev): When DWARF2_VERSION >= 4, use
635 DW_FORM_udata for DW_AT_high_pc.
636 (out_debug_info): Use emit_leb128_expr for DW_AT_high_pc, when
638 * read.c (emit_leb128_exp): No longer static.
639 * read.h (emit_leb128_exp): Define.
643 * gas/dwarf2dbg.c (out_dir_and_file_list): For DWARF5 emit at
644 least one directory if there is at least one file. Use dirs[1]
645 if dirs[0] is not set, or if there is no dirs[1] the current
646 working directory. Use files[1] filename, when files[0] filename
651 * dwarf2dbg.c (out_debug_info): Emit unit type and abbrev offset
653 * gas/testsuite/gas/elf/dwarf-4-cu.d: New file.
654 * gas/testsuite/gas/elf/dwarf-4-cu.s: Likewise.
655 * gas/testsuite/gas/elf/dwarf-5-cu.d: Likewise.
656 * gas/testsuite/gas/elf/dwarf-5-cu.s: Likewise.
657 * testsuite/gas/elf/elf.exp: Run dwarf-4-cu and dwarf-5-cu.
661 * doc/as.texi (--gdwarf-[345]): Fix typo.
665 * config/tc-msp430.c (OPTION_MOVE_DATA): Remove.
666 (md_parse_option): Remove case for OPTION_MOVE_DATA.
667 (md_longopts): Remove "md" entry.
668 (md_show_usage): Likewise.
673 * config/tc-i386.c (_i386_insn::disp_encoding): Add
675 (parse_insn): Check Prefix_XXX for pseudo prefixes. Handle
677 (build_modrm_byte): Handle {disp16}.
678 (i386_index_check): Check invalid {disp16} and {disp32} pseudo
680 * doc/c-i386.texi: Update {disp32} documentation and document
682 * testsuite/gas/i386/i386.exp: Run x86-64-inval-pseudo.
683 * testsuite/gas/i386/inval-pseudo.s: Add {disp32}/{disp16}
685 * testsuite/gas/i386/pseudos.s: Add {disp8}/{disp32} vmovaps
686 tests with 128-byte displacement. Add {disp16} tests.
687 * testsuite/gas/i386/x86-64-pseudos.s: Add {disp8}/{disp32}
688 vmovaps test. Add (%r13)/(%r13d) tests.
689 * testsuite/gas/i386/x86-64-inval-pseudo.l: New file.
690 * testsuite/gas/i386/x86-64-inval-pseudo.s: Likewise.
691 * testsuite/gas/i386/inval-pseudo.l: Updated.
692 * testsuite/gas/i386/pseudos.d: Likewise.
693 * testsuite/gas/i386/x86-64-pseudos.d: Likewise.
697 * Makefile.am (AM_CPPFLAGS): Add LARGEFILE_CPPFLAGS.
698 * Makefile.in, doc/Makefile.in: Regenerate.
699 * configure: Regenerate.
703 * testsuite/gas/elf/dwarf2-3.d:Pass --gdwarf-3 to assembler.
704 * testsuite/gas/elf/dwarf2-5.d: Likewise.
705 * testsuite/gas/i386/dw2-compress-3a.d: Likewise.
706 * testsuite/gas/i386/dw2-compress-3b.d: Likewise.
707 * testsuite/gas/i386/dw2-compressed-3a.d: Likewise.
708 * testsuite/gas/i386/dw2-compressed-3b.d: Likewise.
712 * as.c (dwarf_level): Initialise to 3 in case this is not set on
717 * testsuite/gas/mips/global-local-symtab-sort-o32.d: New test.
718 * testsuite/gas/mips/global-local-symtab-sort-o32t.d: New test.
719 * testsuite/gas/mips/global-local-symtab-sort-n32.d: New test.
720 * testsuite/gas/mips/global-local-symtab-sort-n32t.d: New test.
721 * testsuite/gas/mips/global-local-symtab-sort-n64.d: New test.
722 * testsuite/gas/mips/global-local-symtab-sort-n64t.d: New test.
723 * testsuite/gas/mips/mips.exp: Run the new tests.
727 * testsuite/gas/mips/global-local-symtab-o32.d: New test.
728 * testsuite/gas/mips/global-local-symtab-o32t.d: New test.
729 * testsuite/gas/mips/global-local-symtab-n32.d: New test.
730 * testsuite/gas/mips/global-local-symtab-n32t.d: New test.
731 * testsuite/gas/mips/global-local-symtab-n64.d: New test.
732 * testsuite/gas/mips/global-local-symtab.s: New test source.
733 * testsuite/gas/mips/mips.exp: Run the new tests.
738 * config/tc-i386.c (build_modrm_byte): Use disp32/disp16 on
739 (%bp)/(%ebp)/(%rbp) for {disp32}.
740 * doc/c-i386.texi: Update {disp32} documentation.
741 * testsuite/gas/i386/pseudos.s: Add (%bp)/(%ebp) tests.
742 * testsuite/gas/i386/x86-64-pseudos.s: Add (%ebp)/(%rbp) tests.
743 * testsuite/gas/i386/pseudos.d: Updated.
744 * testsuite/gas/i386/x86-64-pseudos.d: Likewise.
748 * doc/as.texi: Replace preceeded with preceded.
752 * testsuite/gas/mips/jal-svr4pic-irix.d: New file.
757 * testsuite/gas/mips/jal-svr4pic-local-irix.d: New file.
762 * testsuite/gas/mips/jal-svr4pic-noreorder-irix.d: New file.
771 * testsuite/gas/mips/jal-xgot-irix.d: New file.
772 * testsuite/gas/mips/jalr2-irix.d: New file.
773 * testsuite/gas/mips/micromips-branch-relax-insn32-pic-irix.d:
775 * testsuite/gas/mips/micromips-branch-relax-pic-irix.d: New
777 * testsuite/gas/mips/mips-abi32-pic2-irix.d: New file.
778 * testsuite/gas/mips/jal-svr4pic-local.d: Don't exclude
779 `*-*-irix*' targets. Add source file designator.
784 * testsuite/gas/mips/jalr2.d: Add name designator.
785 * testsuite/gas/mips/mips.exp: Use respective IRIX variants for
786 tests involving the JALR relocation throughout.
790 * testsuite/gas/mips/mips.exp: Use a helper variable for
791 IRIX/non-IRIX test selection.
795 * testsuite/gas/i386/evex-no-scale-64.d,
796 testsuite/gas/i386/addr32.d,
797 testsuite/gas/i386/x86-64-addr32-intel.d,
798 testsuite/gas/i386/x86-64-addr32.d: Adjust expectations.
802 * config/tc-csky.c (md_begin): Fix tests of arch and mach flags.
806 * testsuite/gas/i386/evex-no-scale-32.d,
807 testsuite/gas/i386/evex-no-scale-64.d: Add #source and #pass.
808 * testsuite/gas/i386/evex-no-scale-32.s,
809 testsuite/gas/i386/evex-no-scale-64.s: Rename / fold into ...
810 * testsuite/gas/i386/evex-no-scale.s: ... this. Use .struct
812 * testsuite/gas/i386/i386.exp: Move above tests out of ELF-
817 * config/tc-mips.c (prev_reloc_op_frag): Remove variable.
818 (my_getSmallExpression): Adjust accordingly.
823 * config/tc-i386.c (i386_comment_chars): Drop TE_I386AIX from
824 conditional around it.
825 (md_begin): Insert backslash into operand_chars[] when slash is
827 * config/tc-i386-intel.c (i386_operator): Recognize \/, \%, and
828 \* as operators when / may be a comment character.
829 * testsuite/gas/i386/svr4.s, testsuite/gas/i386/svr4.d: New.
830 * testsuite/gas/i386/i386.exp: Run new test.
835 * app.c (last_char): Drop TC_ARM conditional around it.
836 (struct app_save): Drop TC_ARM conditional around last_char.
837 (app_push, app_pop): Drop TC_ARM conditional from last_char
839 (do_scrub_chars): Likewise. Drop TC_ARM conditional from
840 backslash-precedes-comment-character check.
844 * config/tc-i386.c (frag_opcode_byte): New.
845 (output_branch): Emit error when in absolute section.
846 (output_jump, output_insn): Use frag_opcode_byte. Handle being
848 (output_interseg_jump, output_disp, output_imm): Handle being in
850 * testsuite/gas/i386/sizing.s,
851 testsuite/gas/i386/sizing32.d,
852 testsuite/gas/i386/sizing64.d: New.
853 * testsuite/gas/i386/i386.exp: Run new tests.
857 * testsuite/gas/i386/i386.exp: Include *-*-vxworks alongside
858 is_elf_format as applicable; merely exclude iamcu tests.
863 * config/tc-i386.c (i386_validate_fix): Change PLT32 reloc
864 against section to PC32 reloc.
865 * testsuite/gas/i386/relax-5.d: Updated.
866 * testsuite/gas/i386/x86-64-relax-4.d: Likewise.
871 * testsuite/gas/i386/evex-no-scale-64.d: Updated.
872 * testsuite/gas/i386/addr32.d: Likewise.
873 * testsuite/gas/i386/x86-64-addr32-intel.d: Likewise.
874 * testsuite/gas/i386/x86-64-addr32.d: Likewise.
878 * write.c (create_note_reloc): Add desc2_size parameter. Zero out
879 the addend field of REL relocations. Store the full addend into
880 the note for REL relocations.
884 * testsuite/gas/i386/x86-64-stack.s: Adjust 32-bit push
886 * testsuite/gas/i386/x86-64-stack-intel.d,
887 testsuite/gas/i386/x86-64-stack-suffix.d,
888 testsuite/gas/i386/x86-64-stack.d: Adjust expectations.
892 * testsuite/gas/i386/disassem.d,
893 testsuite/gas/i386/ilp32/x86-64-branch.d,
894 testsuite/gas/i386/intel.d, testsuite/gas/i386/jump16.d,
895 testsuite/gas/i386/lfence-load.d, testsuite/gas/i386/noreg16.d,
896 testsuite/gas/i386/noreg32.d,
897 testsuite/gas/i386/noreg64-rex64.d,
898 testsuite/gas/i386/noreg64.d, testsuite/gas/i386/notrack.d,
899 testsuite/gas/i386/opcode.d,
900 testsuite/gas/i386/solaris/x86-64-branch-2.d,
901 testsuite/gas/i386/solaris/x86-64-jump.d,
902 testsuite/gas/i386/solaris/x86-64-mpx-branch-1.d,
903 testsuite/gas/i386/solaris/x86-64-nop-3.d,
904 testsuite/gas/i386/solaris/x86-64-nop-4.d,
905 testsuite/gas/i386/solaris/x86-64-nop-5.d,
906 testsuite/gas/i386/solaris/x86-64-relax-2.d,
907 testsuite/gas/i386/solaris/x86-64-relax-3.d,
908 testsuite/gas/i386/x86-64-align-branch-1a.d,
909 testsuite/gas/i386/x86-64-align-branch-1b.d,
910 testsuite/gas/i386/x86-64-align-branch-1c.d,
911 testsuite/gas/i386/x86-64-align-branch-1d.d,
912 testsuite/gas/i386/x86-64-align-branch-1e.d,
913 testsuite/gas/i386/x86-64-align-branch-1f.d,
914 testsuite/gas/i386/x86-64-align-branch-1g.d,
915 testsuite/gas/i386/x86-64-align-branch-1h.d,
916 testsuite/gas/i386/x86-64-align-branch-1i.d,
917 testsuite/gas/i386/x86-64-align-branch-2a.d,
918 testsuite/gas/i386/x86-64-align-branch-2b.d,
919 testsuite/gas/i386/x86-64-align-branch-2c.d,
920 testsuite/gas/i386/x86-64-align-branch-3.d,
921 testsuite/gas/i386/x86-64-align-branch-4a.d,
922 testsuite/gas/i386/x86-64-align-branch-4b.d,
923 testsuite/gas/i386/x86-64-align-branch-5.d,
924 testsuite/gas/i386/x86-64-align-branch-6.d,
925 testsuite/gas/i386/x86-64-branch-2.d,
926 testsuite/gas/i386/x86-64-branch-3.d,
927 testsuite/gas/i386/x86-64-branch.d,
928 testsuite/gas/i386/x86-64-disassem.d,
929 testsuite/gas/i386/x86-64-disp32.d,
930 testsuite/gas/i386/x86-64-gotpcrel-no-relax.d,
931 testsuite/gas/i386/x86-64-gotpcrel.d,
932 testsuite/gas/i386/x86-64-ifunc.d,
933 testsuite/gas/i386/x86-64-jump.d,
934 testsuite/gas/i386/x86-64-lfence-byte.d,
935 testsuite/gas/i386/x86-64-lfence-indbr-a.d,
936 testsuite/gas/i386/x86-64-lfence-indbr-b.d,
937 testsuite/gas/i386/x86-64-lfence-indbr-c.d,
938 testsuite/gas/i386/x86-64-lfence-load.d,
939 testsuite/gas/i386/x86-64-lfence-ret-a.d,
940 testsuite/gas/i386/x86-64-lfence-ret-b.d,
941 testsuite/gas/i386/x86-64-lfence-ret-c.d,
942 testsuite/gas/i386/x86-64-lfence-ret-d.d,
943 testsuite/gas/i386/x86-64-lfence-ret-e.d,
944 testsuite/gas/i386/x86-64-mpx-add-bnd-prefix.d,
945 testsuite/gas/i386/x86-64-mpx-branch-1.d,
946 testsuite/gas/i386/x86-64-mpx.d,
947 testsuite/gas/i386/x86-64-nop-3.d,
948 testsuite/gas/i386/x86-64-nop-4.d,
949 testsuite/gas/i386/x86-64-nop-5.d,
950 testsuite/gas/i386/x86-64-nops-7.d,
951 testsuite/gas/i386/x86-64-notrack.d,
952 testsuite/gas/i386/x86-64-opcode.d,
953 testsuite/gas/i386/x86-64-relax-2.d,
954 testsuite/gas/i386/x86-64-relax-3.d,
955 testsuite/gas/i386/x86-64-relax-4.d,
956 testsuite/gas/i386/x86-64-rtm.d,
957 testsuite/gas/i386/x86-64-stack.d,
958 testsuite/gas/i386/x86-64-unique.d,
959 testsuite/gas/i386/x86_64-intel.d: Adjust expectations.
964 * testsuite/gas/i386/addr32.s: Add tests for 32-bit wrapped around
966 * testsuite/gas/i386/x86-64-addr32.s: Likewise.
967 * testsuite/gas/i386/addr32.d: Updated.
968 * testsuite/gas/i386/x86-64-addr32-intel.d: Likewise.
969 * testsuite/gas/i386/x86-64-addr32.d: Likewise.
970 * testsuite/gas/i386/ilp32/x86-64-addr32-intel.d: Likewise.
971 * testsuite/gas/i386/ilp32/x86-64-addr32.d: Likewise.
975 * testsuite/gas/i386/intel.s: Use dr<N> instead of db<N>.
976 * testsuite/gas/i386/intel-intel.d: Disambiguate name.
977 * testsuite/gas/i386/intel.d,
978 testsuite/gas/i386/opcode-intel.d: Adjust expectations.
982 * testsuite/gas/i386/prefix.d: Adjust expectations.
986 * testsuite/gas/i386/x86-64-avx-intel.d,
987 testsuite/gas/i386/x86-64-sse4_2-intel.d: Adjust expectations.
991 * testsuite/gas/i386/movbe-suffix.d,
992 testsuite/gas/i386/x86-64-movbe-suffix.d: New.
993 * testsuite/gas/i386/i386.exp: Run new tests.
997 * testsuite/gas/i386/crc32-suffix.d,
998 testsuite/gas/i386/x86-64-crc32-suffix.d: New.
999 * testsuite/gas/i386/i386.exp: Run new tests.
1000 * testsuite/gas/i386/arch-10-bdver1.d,
1001 testsuite/gas/i386/arch-10-bdver2.d,
1002 testsuite/gas/i386/arch-10-bdver3.d,
1003 testsuite/gas/i386/arch-10-bdver4.d,
1004 testsuite/gas/i386/arch-10-btver1.d,
1005 testsuite/gas/i386/arch-10-btver2.d,
1006 testsuite/gas/i386/arch-10-lzcnt.d,
1007 testsuite/gas/i386/arch-10-prefetchw.d,
1008 testsuite/gas/i386/arch-10.d, testsuite/gas/i386/arch-2.d,
1009 testsuite/gas/i386/arch-3.d, testsuite/gas/i386/arch-5.d,
1010 testsuite/gas/i386/arch-6.d, testsuite/gas/i386/crc32.d,
1011 testsuite/gas/i386/sse-noavx.d, testsuite/gas/i386/sse4_2.d,
1012 testsuite/gas/i386/x86-64-arch-2-bdver1.d,
1013 testsuite/gas/i386/x86-64-arch-2-bdver2.d,
1014 testsuite/gas/i386/x86-64-arch-2-bdver3.d,
1015 testsuite/gas/i386/x86-64-arch-2-bdver4.d,
1016 testsuite/gas/i386/x86-64-arch-2-btver1.d,
1017 testsuite/gas/i386/x86-64-arch-2-btver2.d,
1018 testsuite/gas/i386/x86-64-arch-2-lzcnt.d,
1019 testsuite/gas/i386/x86-64-arch-2-prefetchw.d,
1020 testsuite/gas/i386/x86-64-arch-2.d,
1021 testsuite/gas/i386/x86-64-crc32.d,
1022 testsuite/gas/i386/x86-64-pseudos.d,
1023 testsuite/gas/i386/x86-64-sse-noavx.d,
1024 testsuite/gas/i386/x86-64-sse4_2.d: Adjust expectations.
1028 * testsuite/gas/i386/x86-64-pseudos.s: Add empty-REX tests for
1029 ModR/M-encoded byte register cases.
1030 * testsuite/gas/i386/x86-64-pseudos.d,
1031 testsuite/gas/i386/x86-64-reg-intel.d,
1032 testsuite/gas/i386/x86-64-reg.d: Adjust expectations.
1036 * testsuite/gas/i386/x86-64-pseudos.s: Add empty-REX tests for
1037 not-ModR/M-encoded byte register cases.
1038 * testsuite/gas/i386/x86-64-pseudos.d: Adjust expectations.
1042 * testsuite/gas/i386/ilp32/x86-64-arch-1.d,
1043 testsuite/gas/i386/ilp32/x86-64-arch-2.d,
1044 testsuite/gas/i386/ilp32/x86-64-avx-intel.d,
1045 testsuite/gas/i386/ilp32/x86-64-avx.d,
1046 testsuite/gas/i386/ilp32/x86-64-crc32-intel.d,
1047 testsuite/gas/i386/ilp32/x86-64-crc32.d,
1048 testsuite/gas/i386/ilp32/x86-64-gotpcrel.d,
1049 testsuite/gas/i386/ilp32/x86-64-ifunc.d,
1050 testsuite/gas/i386/ilp32/x86-64-reg-intel.d,
1051 testsuite/gas/i386/ilp32/x86-64-reg.d,
1052 testsuite/gas/i386/ilp32/x86-64-rep-suffix.d,
1053 testsuite/gas/i386/ilp32/x86-64-sse4_2-intel.d,
1054 testsuite/gas/i386/ilp32/x86-64-sse4_2.d,
1055 testsuite/gas/i386/ilp32/x86-64-stack-intel.d,
1056 testsuite/gas/i386/ilp32/x86-64-stack-suffix.d,
1057 testsuite/gas/i386/ilp32/x86-64-stack.d: Reference parent dir
1062 * config/tc-i386.c (offset_in_range): Remove 32-bit sign
1067 * po/fr.po: Updated French translation.
1071 * testsuite/gas/elf/dwarf2-7.d: Remove most xfails.
1072 * testsuite/gas/elf/dwarf2-12.d: Likewise.
1073 * testsuite/gas/elf/dwarf2-13.d: Likewise.
1074 * testsuite/gas/elf/dwarf2-14.d: Likewise.
1078 * config/tc-i386.c (output_insn): Check i.xstate to set
1079 GNU_PROPERTY_X86_FEATURE_2_TMM.
1080 * testsuite/gas/i386/i386.exp: Run x86-64-property-7,
1081 x86-64-property-8 and x86-64-property-9.
1082 * testsuite/gas/i386/x86-64-property-7.d: New file.
1083 * testsuite/gas/i386/x86-64-property-7.s: Likewise.
1084 * testsuite/gas/i386/x86-64-property-8.d: Likewise.
1085 * testsuite/gas/i386/x86-64-property-8.s: Likewise.
1086 * testsuite/gas/i386/x86-64-property-9.d: Likewise.
1087 * testsuite/gas/i386/x86-64-property-9.s: Likewise.
1091 * config/tc-i386.c (_i386_insn): Remove has_regmmx, has_regxmm,
1092 has_regymm, has_regzmm and has_regtmm. Add xstate.
1093 (md_assemble): Set i.xstate from operand types in instruction
1095 (build_modrm_byte): Updated.
1096 (output_insn): Check i.xstate.
1097 * testsuite/gas/i386/i386.exp: Run property-6 and
1099 * testsuite/gas/i386/property-6.d: New file.
1100 * testsuite/gas/i386/property-6.s: Updated.
1101 * testsuite/gas/i386/x86-64-property-6.d: Likewise.
1105 * testsuite/gas/i386/property-5.d: Correct test name.
1109 * NEWS: Mention support for Intel AMX instructions.
1110 * config/tc-i386.c (i386_error): Add invalid_sib_address.
1111 (cpu_arch): Add .amx_int8, .amx_bf16 and .amx_tile.
1112 (cpu_noarch): Add noamx_int8, noamx_bf16 and noamx_tile.
1113 (match_simd_size): Add tmmword check.
1114 (operand_type_match): Add tmmword.
1115 (type_names): Add rTMM.
1116 (i386_error): Add invalid_tmm_register_set.
1117 (check_VecOperands): Handle invalid_sib_address and
1118 invalid_tmm_register_set.
1119 (match_template): Handle invalid_sib_address.
1120 (build_modrm_byte): Handle non-vector SIB and zmmword.
1121 (i386_index_check): Disallow RegIP for non-vector SIB.
1122 (check_register): Handle zmmword.
1123 * doc/c-i386.texi: Document amx_int8, amx_bf16 and amx_tile.
1124 * testsuite/gas/i386/i386.exp: Add AMX new tests.
1125 * testsuite/gas/i386/intel-regs.d: Add tmm.
1126 * testsuite/gas/i386/intel-regs.s: Add tmm.
1127 * testsuite/gas/i386/x86-64-amx-intel.d: New.
1128 * testsuite/gas/i386/x86-64-amx-inval.l: New.
1129 * testsuite/gas/i386/x86-64-amx-inval.s: New.
1130 * testsuite/gas/i386/x86-64-amx.d: New.
1131 * testsuite/gas/i386/x86-64-amx.s: New.
1132 * testsuite/gas/i386/x86-64-amx-bad.d: New.
1133 * testsuite/gas/i386/x86-64-amx-bad.s: New.
1137 * testsuite/gas/elf/dwarf2-11.d: Update expected output from
1138 readelf's line table decoding.
1139 * testsuite/gas/elf/dwarf2-12.d: Likewise.
1140 * testsuite/gas/elf/dwarf2-13.d: Likewise.
1141 * testsuite/gas/elf/dwarf2-14.d: Likewise.
1142 * testsuite/gas/elf/dwarf2-15.d: Likewise.
1143 * testsuite/gas/elf/dwarf2-16.d: Likewise.
1144 * testsuite/gas/elf/dwarf2-17.d: Likewise.
1145 * testsuite/gas/elf/dwarf2-18.d: Likewise.
1146 * testsuite/gas/elf/dwarf2-19.d: Likewise.
1147 * testsuite/gas/elf/dwarf2-5.d: Likewise.
1148 * testsuite/gas/elf/dwarf2-6.d: Likewise.
1149 * testsuite/gas/elf/dwarf2-7.d: Likewise.
1153 * config/tc-i386.c (output_insn): Set YMM/ZMM features for
1154 VEX/EVEX vector instructions.
1155 * testsuite/gas/i386/property-4.d: New file.
1156 * testsuite/gas/i386/property-4.s: Likewise.
1157 * testsuite/gas/i386/property-5.d: Likewise.
1158 * testsuite/gas/i386/property-5.s: Likewise.
1159 * testsuite/gas/i386/x86-64-property-4.d: Likewise.
1160 * testsuite/gas/i386/x86-64-property-5.d: Likewise.
1164 * NEWS: Mention --enable-x86-used-note.
1165 * configure.ac: Configure with --enable-x86-used-note by default
1167 * configure: Regenerated.
1171 * config/obj-coff.h: Remove TE_PE support.
1172 * config/tc-ppc.c: Likewise.
1173 * config/tc-ppc.h: Likewise.
1174 * configure.tgt: Remove powerpc PE and powerpc lynxos.
1175 * testsuite/gas/cfi/cfi.exp (cfi-common-6): Remove powerpc PE
1177 * testsuite/gas/macros/macros.exp: Don't xfail powerpc PE.
1181 * testsuite/gas/i386/fma4-lig.d, testsuite/gas/i386/xop-lig.d:
1183 * testsuite/gas/i386/i386.exp: Run new tests.
1187 * config/tc-arc.c (find_opcode_match): Add error messages.
1188 * testsuite/gas/arc/add_s-err.s: Update test.
1189 * testsuite/gas/arc/asm-errors.err: Likewise.
1190 * testsuite/gas/arc/cpu-em-err.s: Likewise.
1191 * testsuite/gas/arc/hregs-err.s: Likewise.
1192 * testsuite/gas/arc/warn.s: Likewise.
1197 * doc/c-i386.texi: Remove an incorrect AVX2 entry.
1201 * testsuite/gas/all/gas.exp: Use is_xcoff_format.
1202 * testsuite/gas/ppc/ppc.exp: Likewise.
1203 * testsuite/gas/all/weakref1l.d: Likewise.
1207 * testsuite/gas/arm/cde-missing-fp.l: Fix spelling mistake in
1212 * testsuite/gas/i386/x86-64-avx512bw-wig1.d,
1213 testsuite/gas/i386/x86-64-avx512bw-wig1-intel.d,
1214 testsuite/gas/i386/x86-64-evex-wig1.d,
1215 testsuite/gas/i386/x86-64-evex-wig1-intel.d: Adjust
1220 * testsuite/gas/i386/avx512f-opts.s: Add EVEX movq tests.
1221 * testsuite/gas/i386/x86-64-avx512f-opts.s: Add blank line.
1222 * testsuite/gas/i386/avx512f-opts-intel.d,
1223 testsuite/gas/i386/avx512f-opts.d
1224 testsuite/gas/i386/x86-64-avx512f-opts-intel.d
1225 testsuite/gas/i386/x86-64-avx512f-opts.d: Adjust expectations.
1230 * config/tc-arm.c: Fix spelling mistake.
1231 * config/tc-riscv.c: Likewise.
1232 * config/tc-z80.c: Likewise.
1233 * po/gas.pot: Regenerate.
1237 * po/uk.po: Updated Ukranian translation.
1241 * configure: Regenerate.
1242 * po/gas.pot: Regenerate.
1246 * version.m4: Change version number to 2.35.50.
1247 * configure: Regenerate.
1248 * po/bfd.pot: Regenerate.
1252 Binutils 2.35 branch created.
1257 * testsuite/gas/ia64/unwind-ilp32.d: Add -T to readelf options.
1261 * config/tc-i386.c (build_modrm_byte): Check vexswapsources to
1262 swap two source operands.
1266 * testsuite/gas/all/fill-1.d: Skip for MeP targets.
1270 * config/tc-aarch64.c (reg_name_p): Fix cast so that we don't
1271 segfault on negative chars.
1272 * testsuite/gas/aarch64/reglike-label-unicode-segv.d: New test.
1273 * testsuite/gas/aarch64/reglike-label-unicode-segv.s: Input.
1278 * testsuite/gas/ia64/group-2.d: Add -T option to readelf
1280 * testsuite/gas/ia64/unwind.d: Likewise.
1281 * testsuite/gas/mmix/bspec-1.d: Likewise.
1282 * testsuite/gas/mmix/bspec-2.d: Likewise.
1283 * testsuite/gas/mmix/comment-1.d: Likewise.
1284 * testsuite/gas/tic6x/scomm-directive-4.d: Likewise.
1288 * config/tc-xc16x.c (md_apply_fix): Add FIXME.
1292 * testsuite/gas/all/eqv-dot.d: xfail targets that set linkrelax
1293 in data sections, and mep.
1297 * NEWS: Mention x86 NaCl target support removal.
1298 * config/tc-i386.c: Remove x86 NaCl target support.
1299 * config/tc-i386.h: Likewise.
1300 * configure.tgt: Likewise.
1301 * testsuite/gas/i386/i386.exp: Likewise.
1302 * testsuite/gas/i386/iamcu-1.d: Likewise.
1303 * testsuite/gas/i386/iamcu-2.d: Likewise.
1304 * testsuite/gas/i386/iamcu-3.d: Likewise.
1305 * testsuite/gas/i386/iamcu-4.d: Likewise.
1306 * testsuite/gas/i386/iamcu-5.d: Likewise.
1307 * testsuite/gas/i386/k1om.d: Likewise.
1308 * testsuite/gas/i386/l1om.d: Likewise.
1312 * config/tc-riscv.c (riscv_csr_class_check): Removed. Move the
1313 checking into riscv_csr_address.
1314 (riscv_csr_version_check): Likewise.
1315 (riscv_csr_address): New function. Return the suitable CSR address
1316 after checking the ISA dependency and versions. Issue warnings if
1317 we find any conflict and -mcsr-check is set. CSR_CLASS_F and
1318 CSR_CLASS_DEBUG are unprivileged CSR for now, so don't check the
1319 priv spec versions for them.
1320 (reg_csr_lookup_internal): Call riscv_csr_address to find the
1321 suitable CSR address.
1322 * testsuite/gas/riscv/priv-reg-fail-fext.d: Remove -mpriv-spec=1.11.
1323 * testsuite/gas/riscv/priv-reg-fail-read-only-01.d: Likewise.
1324 * testsuite/gas/riscv/priv-reg-fail-rv32-only.d: Likewise.
1325 * testsuite/gas/riscv/priv-reg-fail-fext.l: We don't care the
1326 priv spec warnings here. These warnings are added by accident.
1327 Remove them and only focus on the ISA dependency warnings.
1328 * testsuite/gas/riscv/priv-reg-fail-rv32-only.l: Likewise.
1329 * testsuite/gas/riscv/priv-reg-fail-read-only-01.l: Likewise.
1330 * testsuite/gas/riscv/priv-reg-fail-version-1p9.l: Updated since
1331 dscratch0 and dscratch1 are regarded as the unprivileged CSR rather
1332 than the privileged ones.
1333 * testsuite/gas/riscv/priv-reg-fail-version-1p9p1.l: Likewise.
1334 * testsuite/gas/riscv/priv-reg-fail-version-1p10.l: Likewise.
1335 * testsuite/gas/riscv/priv-reg-fail-version-1p11.l: Likewise.
1336 * testsuite/gas/riscv/priv-reg.s: Likewise. Add missing debug CSR.
1337 * testsuite/gas/riscv/priv-reg-version-1p9.d: Likewise.
1338 * testsuite/gas/riscv/priv-reg-version-1p9p1.d: Likewise.
1339 * testsuite/gas/riscv/priv-reg-version-1p10.d: Likewise.
1340 * testsuite/gas/riscv/priv-reg-version-1p11.d: Likewise.
1341 * testsuite/gas/riscv/csr-dw-regnums.d: Likewise.
1342 * testsuite/gas/riscv/csr-dw-regnums.s: Likewise.
1346 * tc-i386.c (build_vex_prefix): Support VEX base opcode length > 1.
1347 (md_assemble): Don't process ImmExt without operands.
1352 * config/tc-mmix.c (md_assemble) <fixup for
1353 BFD_RELOC_MMIX_BASE_PLUS_OFFSET>: This fixup affects 1 byte, not 8.
1354 Also, set its fx_no_overflow.
1355 (md_convert_frag) <case ENCODE_RELAX (STATE_PUSHJSTUB, STATE_ZERO)>:
1356 Similarly this fixup affects 4 bytes, not 8 and needs its
1358 * config/tc-mmix.h (TC_FX_SIZE_SLACK): Don't define.
1359 * testsuite/gas/mmix/pr25331.d, testsuite/gas/mmix/pr25331.s: New test.
1363 * config/tc-s12z.c: Use C style comments.
1364 * config/tc-z80.c: Likewise.
1365 * config/tc-xtensa.c (emit_ld_r_n): Remove commented out code.
1369 * config/tc-i386.c (md_assemble): Process ImmExt without
1374 * config/tc-i386.c (check_VecOperands): Replace vecsib with sib.
1375 Replace VecSIB128, VecSIB256 and VecSIB512 with VECSIB128,
1376 VECSIB256 and VECSIB512, respectively.
1377 (build_modrm_byte): Replace vecsib with sib.
1381 * testsuite/gas/i386/nop-1-suffix.d: New.
1382 * testsuite/gas/i386/i386.exp: Run new test.
1386 * config/tc-m68k.c (m68k_elf_gnu_attribute): New function.
1387 (md_pseudo_table): Handle "gnu_attribute".
1388 * doc/as.texi: Document GNU attribute for M68K.
1393 * config/tc-arm.c (arm_force_relocation): Force resolution of
1394 BFD_RELOC_THUMB_PCREL_BRANCH12 relocations.
1395 * testsuite/gas/arm/plt-1.d: Adjust expected disassembly.
1399 * config/tc-i386.c (md_assemble): Move call to process_immext()
1401 (process_operands): ... here.
1405 * config/tc-i386.c (process_suffix): Skip ambiguous operand size
1406 diagnostic when there is a sizing prefix. Switch to word/dword/
1407 qword encoding when there is a sizing prefix and no (explicit or
1409 (update_imm): Handle presence of a sizing prefix.
1410 * testsuite/gas/i386/noreg16-data32.d,
1411 testsuite/gas/i386/noreg32-data16.d,
1412 testsuite/gas/i386/noreg32-data16.e,
1413 testsuite/gas/i386/noreg64-data16.d,
1414 testsuite/gas/i386/noreg64-data16.e,
1415 testsuite/gas/i386/noreg64-rex64.d: New.
1416 * testsuite/gas/i386/i386.exp: Run new tests.
1417 * testsuite/gas/i386/noreg32.s, testsuite/gas/i386/noreg64.s:
1418 Introduce and use pfx* macros.
1419 * testsuite/gas/i386/noreg16.s: Likewise. Replace 32-bit
1421 * testsuite/gas/i386/noreg16.d: Adjust expectations.
1425 * testsuite/gas/i386/avx-16bit.d,
1426 testsuite/gas/i386/avx-scalar.d, testsuite/gas/i386/avx.d,
1427 testsuite/gas/i386/avx512f-16bit.d,
1428 testsuite/gas/i386/avx512f.d,
1429 testsuite/gas/i386/evex-lig256.d,
1430 testsuite/gas/i386/evex-lig512.d
1431 testsuite/gas/i386/evex-wig1.d, testsuite/gas/i386/katmai.d,
1432 testsuite/gas/i386/noreg16.d, testsuite/gas/i386/noreg32.d,
1433 testsuite/gas/i386/ptwrite.d, testsuite/gas/i386/simd.d,
1434 testsuite/gas/i386/sse2-16bit.d,
1435 testsuite/gas/i386/sse2.d, testsuite/gas/i386/sse2avx.d: Adjust
1440 * config/tc-i386.c (md_assemble): Also reject explicit REX
1441 prefixes with VEX and alike encoded insns. Zap consumed bits
1443 (output_insn): Don't ignore REX prefix for VEX and alike
1444 encodings; abort() instead if encountered.
1445 * testsuite/gas/i386/x86-64-pseudos.s: Move REX-with-VEX cases
1447 * testsuite/gas/i386/x86-64-pseudos-bad.s: ... here.
1448 * testsuite/gas/i386/x86-64-pseudos.d,
1449 testsuite/gas/i386/x86-64-pseudos-bad.l: Adjust expectations.
1453 * config/tc-i386.c (process_operands): Translate explicit REX
1454 prefix into i.rex for SSE2AVX templates.
1455 (set_rex_vrex): New helper.
1456 (build_modrm_byte): Use it.
1457 * testsuite/gas/i386/x86-64-sse2avx.s: Add cases with explict
1459 * testsuite/gas/i386/x86-64-sse2avx.d: Adjust expectations.
1463 * config/tc-i386.c (cpu_flags_match): Only match SSE2AVX
1464 templates when there's no data size prefix.
1465 (md_assemble): Reject data size prefix also for legacy encoded
1467 * testsuite/gas/i386/prefix32.s, testsuite/gas/i386/prefix64.s:
1468 Uncomment previously not working line.
1469 * testsuite/gas/i386/sse2avx.s: Add ldmxcsr/stmxcsr cases with
1471 * testsuite/gas/i386/prefix32.l, testsuite/gas/i386/prefix64.l,
1472 testsuite/gas/i386/sse2avx.d: Adjust expectations.
1476 * config/tc-i386.c (build_evex_prefix): Drop early setting of
1481 * config/tc-riscv.c (explicit_priv_attr): Rename explicit_csr to
1482 explicit_priv_attr. It used to indicate CSR or priv instructions are
1484 (riscv_is_priv_insn): Return True if it is a privileged instruction.
1485 (riscv_ip): Call riscv_is_priv_insn to check whether the instruction
1486 is privileged or not. If it is, then set explicit_priv_attr to TRUE.
1487 (riscv_write_out_attrs): Clarification of when to generate the elf
1488 priv spec attributes.
1489 * testsuite/gas/riscv/attribute-11.s: Add comments.
1490 * testsuite/gas/riscv/attribute-14.s: New testcase. Use symbol
1491 `priv_insn_<n>` to decide which priv instruction is expected to used.
1493 * testsuite/gas/riscv/attribute-14a.d: Likewise.
1494 * testsuite/gas/riscv/attribute-14b.d: Likewise.
1495 * testsuite/gas/riscv/attribute-14c.d: Likewise.
1496 * testsuite/gas/riscv/attribute-14d.d: Likewise.
1497 * testsuite/gas/riscv/attribute-14e.d: Likewise.
1501 * config/tc-riscv.c (buf_size, buf): Remove the unused variables.
1502 (riscv_set_default_priv_spec): Get the priv spec version from the
1503 priv spec attributes by riscv_get_priv_spec_class_from_numbers.
1507 * configure.tgt: Set bfd_gas for all SH targets.
1511 * testsuite/gas/i386/arch-13.s: Add alternative VMGEXIT case.
1512 * testsuite/gas/i386/arch-13.d: Extend -march=. Adjust
1517 * config/tc-i386.c (cpu_arch): Correct noavx512_vp2intersect
1518 cpu_arch to CPU_ANY_VP2INTERSECT_FLAGS.
1519 * doc/c-i386.texi: Add avx512_vp2intersect.
1523 * config/tc-i386.c (md_assemble): Drop SSE4a from SSE check
1525 * testsuite/gas/i386/sse-check.s: Adjust comment.
1526 * testsuite/gas/i386/sse-check-error.l,
1527 testsuite/gas/i386/sse-check-warn.e,
1528 testsuite/gas/i386/x86-64-sse-check-error.l: Adjust
1533 * config/tc-tic30.h: Remove OBJ_AOUT support.
1534 * configure.tgt: Delete tic30-*-*aout* entry.
1538 * config/tc-xtensa.c (XTHAL_ABI_WINDOWED, XTHAL_ABI_CALL0): New
1540 (elf32xtensa_abi): New declaration.
1541 (option_abi_windowed, option_abi_call0): New enum constants.
1542 (md_longopts): Add entries for --abi-windowed and --abi-call0.
1543 (md_parse_option): Add handlers for --abi-windowed and
1545 (xtensa_add_config_info): Use xtensa_abi_choice instead of
1546 XSHAL_ABI to format ABI tag.
1547 * doc/as.texi (Target Xtensa options): Add --abi-windowed and
1548 --abi-call0 to the list of options.
1549 * doc/c-xtensa.texi: Add description for options --abi-windowed
1551 * testsuite/gas/xtensa/abi-call0.d: New test definition.
1552 * testsuite/gas/xtensa/abi-windowed.d: New test definition.
1553 * testsuite/gas/xtensa/abi.s: New test source.
1558 * testsuite/gas/i386/tsxldtrk.d: Replace xsuspldtrk with
1560 * testsuite/gas/i386/tsxldtrk.s: Likewise.
1561 * testsuite/gas/i386/x86-64-tsxldtrk.d: Likewise.
1562 * testsuite/gas/i386/x86-64-tsxldtrk.s: Likewise.
1566 * testsuite/gas/riscv/priv-reg-fail-version-1p9.d: Removed.
1567 * testsuite/gas/riscv/priv-reg-fail-version-1p9.l: Likewise.
1568 * testsuite/gas/riscv/priv-reg-version-1p9.d: Likewise.
1572 * doc/c-avr.texi: Improve wording.
1576 * testsuite/gas/i386/x86-64-pseudos-bad.s,
1577 testsuite/gas/i386/x86-64-pseudos-bad.l: New.
1581 * testsuite/gas/i386/prefix.s: Add bogus prefix-with-VEX/EVEX
1583 * testsuite/gas/i386/prefix.d: Adjust expectations.
1587 * testsuite/gas/i386/prefix.s: Add bogus REP / EVEX.W prefix
1588 with VEX/EVEX encoding tests.
1589 * testsuite/gas/i386/prefix.d: Adjust expectations.
1593 * config/tc-i386.c (process_suffix): Restrict defaulting to 'q'
1595 * testsuite/gas/i386/noreg64.s: Add lcall/ljmp cases.
1596 * testsuite/gas/i386/noreg64.d: Adjust expectations.
1597 * testsuite/gas/i386/noreg-intel64.d,
1598 testsuite/gas/i386/noreg-intel64.l,
1599 testsuite/gas/i386/noreg-intel64.s: New.
1600 * testsuite/gas/i386/i386.exp: Run new tests.
1604 * config/tc-i386.c (vex_encoding_error): New enumerator.
1605 (VEX_check_operands): Rename to VEX_check_encoding. Check
1606 for vex_encoding_error. Move Imm4 handling ...
1607 (check_VecOperands): ... here.
1608 (match_template): Call VEX_check_encoding when there are no
1609 operands. Split construct calling check_VecOperands and
1610 VEX_check_encoding (when there are operands).
1611 (check_register): Don't blindly set vex_encoding_evex.
1612 * testsuite/gas/i386/pseudos-bad.s,
1613 testsuite/gas/i386/pseudos-bad.l: New.
1614 * testsuite/gas/i386/i386.exp: Run new test.
1615 * testsuite/gas/i386/xmmhi64.s: Drop {vex2}.
1619 * config/tc-arm.c (insns): Add dfb.
1620 * testsuite/gas/arm/dfb.d: New test.
1621 * testsuite/gas/arm/dfb.s: Input for test.
1625 * testsuite/gas/cfi/cfi-i386-2.d: Skip for PE based targets.
1629 * config/tc-i386.c (pi): Add checks for RegMask and RegBND.
1633 * config/tc-i386.c (check_byte_reg): Drop dead conditional
1638 * config/tc-i386.c (check_register): Split RegTR handling, to
1639 fail recognition also in 64-bit mode as well as with i586 or
1640 i686 explicitly enabled.
1641 * testsuite/gas/i386/x86_64.s: Add insns referencing tr<N>.
1642 * testsuite/gas/i386/x86_64-intel.d,
1643 testsuite/gas/i386/x86_64.d: Adjust expectations.
1647 * testsuite/gas/cfi/cfi-i386-2.d: Adjust expectations.
1648 * testsuite/gas/cfi/cfi.exp: Run this test.
1652 * config/tc-i386.c (parse_real_register): Add allow_pseudo_reg
1653 check to %st(N) parsing logic.
1654 * testsuite/gas/cfi/cfi-i386.s: Set "generic32" arch.
1658 * config/tc-i386.c (bad_reg): New.
1659 (check_VecOperations, i386_att_operand, i386_parse_name): Check
1661 (check_register): New, broken out from ...
1662 (parse_real_register): ... here. Call it.
1663 (parse_register): Call it, and error upon failure.
1664 * testsuite/gas/i386/equ-bad.s, testsuite/gas/i386/equ-bad.l,
1665 testsuite/gas/i386/x86-64-equ-bad.s,
1666 testsuite/gas/i386/x86-64-equ-bad.l: New.
1667 * testsuite/gas/i386/i386.exp: Run new tests.
1671 * config/tc-ppc.c (md_show_usage): Mention -mpower10 and -mpwr10.
1672 * doc/c-ppc.texi: Likewise.
1676 * config/tc-ppc.c: Update throughout for reloc renaming.
1680 * config/tc-bpf.c (md_apply_fix): Avoid GCC 10 warning
1685 * config/tc-riscv.c (explicit_csr): New static boolean.
1686 Used to indicate CSR are explictly used.
1687 (riscv_ip): Set explicit_csr to TRUE if any CSR is used.
1688 (riscv_write_out_attrs): If we already have set elf priv
1689 attributes, then generate them. Otherwise, don't generate
1690 them when no CSR are used.
1691 * testsuite/gas/riscv/attribute-01.d: Remove the priv attributes.
1692 * testsuite/gas/riscv/attribute-02.d: Likewise.
1693 * testsuite/gas/riscv/attribute-03.d: Likewise.
1694 * testsuite/gas/riscv/attribute-04.d: Likewise.
1695 * testsuite/gas/riscv/attribute-05.d: Likewise.
1696 * testsuite/gas/riscv/attribute-06.d: Likewise.
1697 * testsuite/gas/riscv/attribute-07.d: Likewise.
1698 * testsuite/gas/riscv/attribute-08.d: Likewise.
1699 * testsuite/gas/riscv/attribute-09.d: Likewise.
1700 * testsuite/gas/riscv/attribute-10.d: Likewise.
1701 * testsuite/gas/riscv/attribute-unknown.d: Likewise.
1702 * testsuite/gas/riscv/attribute-11.s: New testcase.
1703 * testsuite/gas/riscv/attribute-11.d: New testcase. The CSR is
1704 used, so we should output the ELF priv attributes.
1705 * testsuite/gas/riscv/attribute-12.d: New testcase. The CSR is
1706 used, so output the priv attributes according to the -mpriv-spec.
1707 * testsuite/gas/riscv/attribute-13.d: New testcase. The CSR isn't
1708 used, so ignore the -mpriv-spec setting.
1712 * config/tc-ip2k. (ip2k_apply_fix): Pass endianness to
1713 cgen_get_insn_value.
1714 * config/tc-xstormy16.c (xstormy16_md_apply_fix): Pass
1715 endianness to cgen_get_insn_value and cgen_put_insn_value.
1719 * config/tc-bpf.c (md_apply_fix): Simplify and avoid using
1720 cgen_put_insn_value.
1724 * config/tc-bpf.c (md_begin): Pass CGEN_CPU_OPEN_INSN_ENDIAN to
1726 (md_assemble): Remove no longer needed hack.
1730 * cgen.c (gas_cgen_finish_insn): Pass the endianness to
1731 cgen_put_insn_value.
1732 (gas_cgen_md_apply_fix): Likewise.
1733 (gas_cgen_md_apply_fix): Likewise.
1734 * config/tc-bpf.c (md_apply_fix): Pass data endianness to
1735 cgen_put_insn_value.
1736 * config/tc-mep.c (mep_check_ivc2_scheduling): Pass endianness to
1737 cgen_put_insn_value.
1741 * testsuite/config/default.exp: Remove global directive outside
1743 * testsuite/gas/mep/complex-relocs.exp: Likewise.
1744 * testsuite/gas/microblaze/relax_size.exp: Likewise.
1745 * testsuite/gas/microblaze/reloc_sym.exp: Likewise.
1746 * testsuite/gas/mt/relocs.exp: Likewise.
1747 * testsuite/gas/rx/rx.exp: Likewise.
1751 * doc/c-riscv.texi (RISC-V-Options): Fix non-ASCII apostrophe.
1757 * doc/c-riscv.texi (RISC-V-Formats): Add missing I format using
1758 simm12(rs1). Correct S format to use simm12(rs1). Drop SB and B
1759 formats using simm12(rs1). Correct SB and B to use rs1 and rs2.
1760 Move B before SB. Move J before UJ.
1764 * write.c (relax_segment): Fix handling of negative offset when
1765 relaxing an rs_org frag.
1766 * testsuite/gas/aarch64/org-neg.d: New test.
1767 * testsuite/gas/aarch64/org-neg.l: Error output for test.
1768 * testsuite/gas/aarch64/org-neg.s: Input for test.
1769 * testsuite/gas/arm/org-neg.d: New test.
1770 * testsuite/gas/arm/org-neg.l: Error output for test.
1771 * testsuite/gas/arm/org-neg.s: Input for test.
1775 Fix unexpected failures in gas testsuite for pdp11-aout target.
1776 These are caused by the PDP11's mix of little-endian octets in
1777 shorts but shorts in big endian order for long or quad.
1779 * config/tc-pdp11.c (md_number_to_chars): Implement .quad
1780 * testsuite/gas/all/gas.exp: Select alternate test scripts for
1781 pdp11, skip octa test completely.
1782 * testsuite/gas/all/eqv-dot-pdp11.s: Identical to eqv-dot.s
1783 * testsuite/gas/all/eqv-dot-pdp11.d: Match different octet order.
1784 * testsuite/gas/all/cond-pdp11.l: Match different octet order.
1788 * frags.c (frag_grow): Fix comment.
1793 * config/tc-pdp11.c (parse_reg): Distinguish register names from
1794 symbols that begin with a register name.
1795 * testsuite/gas/pdp11/pdp11.exp: Add test of such symbols.
1796 * testsuite/gas/pdp11/pr26001.s: Likewise.
1797 * testsuite/gas/pdp11/pr26001.d: Likewise.
1801 * config/tc-riscv.c (riscv_init_csr_hash): NULL initilize next
1802 pointer when creating struct riscv_csr_extra.
1806 * testsuite/gas/i386/align-branch-9.d: Updated for PECOFF.
1807 * testsuite/gas/i386/inval-avx512f.s: Add .p2align for PECOFF.
1808 * testsuite/gas/i386/inval-avx512f.l: Updated.
1812 * testsuite/gas/s390/zarch-z13.d: Add regexp checks for vector
1813 load/store instruction variants with alignment hints.
1814 * testsuite/gas/s390/zarch-z13.s: Emit new vector load/store
1815 instruction variants with alignment hints.
1820 * config/tc-xgate.c (md_apply_fix): Check BFD_RELOC_XGATE_PCREL_X
1821 instead of R_XGATE_PCREL_X.
1822 (xgate_parse_operand): Replace R_XGATE_PCREL_X with
1823 BFD_RELOC_XGATE_PCREL_X.
1828 * config/tc-visium.c (md_convert_frag): Replace fragP->fr_literal
1829 with &fragP->fr_literal[0].
1834 * config/tc-vax.c (md_estimate_size_before_relax): Replace
1835 fragP->fr_literal with &fragP->fr_literal[0].
1836 (md_convert_frag): Likewise.
1841 * config/tc-v850.c (md_convert_frag): Replace fragP->fr_literal
1842 with &fragP->fr_literal[0].
1847 * config/tc-crx.c (getreg_image): Change argument type to int.
1848 (md_convert_frag): Replace fragP->fr_literal with
1849 &fragP->fr_literal[0].
1854 * onfig/tc-score.c (s3_do_macro_bcmp): Replace overlapping
1855 sprintf with memmove.
1859 * config/tc-mcore.c (md_convert_frag): Replace fragP->fr_literal
1860 with &fragP->fr_literal[0].
1865 * config/tc-cr16.c (md_assemble): Use memmove to concatenate
1866 2 overlapping strings.
1870 * config/tc-cr16.c (md_convert_frag): Replace fragP->fr_literal
1871 with &fragP->fr_literal[0].
1875 * config/tc-csky.c (md_convert_frag): Replace fragp->fr_literal
1876 with &fragp->fr_literal[0].
1877 * config/tc-microblaze.c (md_apply_fix): Likewise.
1878 * config/tc-sh.c (md_convert_frag): Likewise.
1883 * config/tc-riscv.c (riscv_pre_output_hook): Change s type from const
1884 asection to segT. New locals seg and subseg. Call subseg_set before
1885 fix_new_exp. Call subseg_set after loop to restore original values.
1889 * atof-generic.c: Replace "if (x) free (x)" with "free (x)"
1891 * config/obj-elf.c: Likewise.
1892 * config/tc-aarch64.c: Likewise.
1893 * config/tc-arm.c: Likewise.
1894 * config/tc-m68k.c: Likewise.
1895 * config/tc-nios2.c: Likewise.
1896 * config/tc-tic30.c: Likewise.
1897 * ecoff.c: Likewise.
1899 * stabs.c: Likewise.
1900 * symbols.c: Likewise.
1901 * testsuite/gas/all/test-gen.c: Likewise.
1905 * testsuite/gas/riscv/priv-reg-fail-read-only-01.s: Updated.
1906 * config/tc-riscv.c (default_arch_with_ext, default_isa_spec):
1907 Static variables which are used to set the ISA extensions. You can
1908 use -march (or ELF build attributes) and -misa-spec to set them,
1910 (ext_version_hash): The hash table used to handle the extensions
1912 (init_ext_version_hash): Initialize the ext_version_hash according
1913 to riscv_ext_version_table.
1914 (riscv_get_default_ext_version): The callback function of
1915 riscv_parse_subset_t. According to the choosed ISA spec,
1916 get the default version for the specific extension.
1917 (riscv_set_arch): Set the callback function.
1918 (enum options, struct option md_longopts): Add new option -misa-spec.
1919 (md_parse_option): Do not call riscv_set_arch for -march. We will
1920 call it later in riscv_after_parse_args. Call riscv_get_isa_spec_class
1921 to set default_isa_spec class.
1922 (riscv_after_parse_args): Call init_ext_version_hash to initialize the
1923 ext_version_hash, and then call riscv_set_arch to set the architecture
1924 with versions according to default_arch_with_ext.
1925 * testsuite/gas/riscv/attribute-02.d: Set 0p0 as default version for
1927 * testsuite/gas/riscv/attribute-03.d: Likewise.
1928 * testsuite/gas/riscv/attribute-09.d: New testcase. For i-ext, we
1929 already set it's version to 2p1 by march, so no need to use the default
1930 2p2 version. For m-ext, we do not set the version by -march and ELF arch
1931 attribute, so set the default 2p0 to it. For zicsr, it is not defined in
1932 ISA spec 2p2, so set 0p0 to it.
1933 * testsuite/gas/riscv/attribute-10.d: New testcase. The version of
1934 zicsr is 2p0 according to ISA spec 20191213.
1935 * config/tc-riscv.c (DEFAULT_RISCV_ARCH_WITH_EXT)
1936 (DEFAULT_RISCV_ISA_SPEC): Default configure option settings.
1937 You can set them by configure options --with-arch and
1938 --with-isa-spec, respectively.
1939 (riscv_set_default_isa_spec): New function used to set the
1941 (md_parse_option): Call riscv_set_default_isa_spec rather than
1942 call riscv_get_isa_spec_class directly.
1943 (riscv_after_parse_args): If the -isa-spec is not set, then we
1944 set the default ISA spec according to DEFAULT_RISCV_ISA_SPEC by
1945 calling riscv_set_default_isa_spec.
1946 * testsuite/gas/riscv/attribute-01.d: Add -misa-spec=2.2, since
1947 the --with-isa-spec may be set to different ISA spec.
1948 * testsuite/gas/riscv/attribute-02.d: Likewise.
1949 * testsuite/gas/riscv/attribute-03.d: Likewise.
1950 * testsuite/gas/riscv/attribute-04.d: Likewise.
1951 * testsuite/gas/riscv/attribute-05.d: Likewise.
1952 * testsuite/gas/riscv/attribute-06.d: Likewise.
1953 * testsuite/gas/riscv/attribute-07.d: Likewise.
1954 * configure.ac: Add configure options, --with-arch and
1956 * configure: Regenerated.
1957 * config.in: Regenerated.
1958 * config/tc-riscv.c (default_priv_spec): Static variable which is
1959 used to check if the CSR is valid for the chosen privilege spec. You
1960 can use -mpriv-spec to set it.
1961 (enum reg_class): We now get the CSR address from csr_extra_hash rather
1962 than reg_names_hash. Therefore, move RCLASS_CSR behind RCLASS_MAX.
1963 (riscv_init_csr_hashes): Only need to initialize one hash table
1965 (riscv_csr_class_check): Change the return type to void. Don't check
1966 the ISA dependency if -mcsr-check isn't set.
1967 (riscv_csr_version_check): New function. Check and find the CSR address
1968 from csr_extra_hash, according to default_priv_spec. Report warning
1969 for the invalid CSR if -mcsr-check is set.
1970 (reg_csr_lookup_internal): Updated.
1971 (reg_lookup_internal): Likewise.
1972 (md_begin): Updated since DECLARE_CSR and DECLARE_CSR_ALIAS are changed.
1973 (enum options, struct option md_longopts): Add new GAS option -mpriv-spec.
1974 (md_parse_option): Call riscv_set_default_priv_version to set
1976 (riscv_after_parse_args): If -mpriv-spec isn't set, then set the default
1977 privilege spec to the newest one.
1978 (enum riscv_csr_class, struct riscv_csr_extra): Move them to
1979 include/opcode/riscv.h.
1980 * testsuite/gas/riscv/priv-reg-fail-fext.d: This test case just want
1981 to check the ISA dependency for CSR, so fix the spec version by adding
1983 * testsuite/gas/riscv/priv-reg-fail-fext.l: Likewise. There are some
1984 version warnings for the test case.
1985 * gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.d: Likewise.
1986 * gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.l: Likewise.
1987 * gas/testsuite/gas/riscv/priv-reg-fail-read-only-02.d: Likewise.
1988 * gas/testsuite/gas/riscv/priv-reg-fail-rv32-only.d: Likewise.
1989 * gas/testsuite/gas/riscv/priv-reg-fail-rv32-only.l: Likewise.
1990 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p9.d: New test case.
1991 Check whether the CSR is valid when privilege version 1.9 is choosed.
1992 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p9.l: Likewise.
1993 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p9p1.d: New test case.
1994 Check whether the CSR is valid when privilege version 1.9.1 is choosed.
1995 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p9p1.l: Likewise.
1996 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p10.d: New test case.
1997 Check whether the CSR is valid when privilege version 1.10 is choosed.
1998 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p10.l: Likewise.
1999 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p11.d: New test case.
2000 Check whether the CSR is valid when privilege version 1.11 is choosed.
2001 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p11.l: Likewise.
2002 * config/tc-riscv.c (DEFAULT_RISCV_ISA_SPEC): Default configure option
2003 setting. You can set it by configure option --with-priv-spec.
2004 (riscv_set_default_priv_spec): New function used to set the default
2006 (md_parse_option): Call riscv_set_default_priv_spec rather than
2007 call riscv_get_priv_spec_class directly.
2008 (riscv_after_parse_args): If -mpriv-spec isn't set, then we set the
2009 default privilege spec according to DEFAULT_RISCV_PRIV_SPEC by
2010 calling riscv_set_default_priv_spec.
2011 * testsuite/gas/riscv/csr-dw-regnums.d: Add -mpriv-spec=1.11, since
2012 the --with-priv-spec may be set to different privilege spec.
2013 * testsuite/gas/riscv/priv-reg.d: Likewise.
2014 * configure.ac: Add configure option --with-priv-spec.
2015 * configure: Regenerated.
2016 * config.in: Regenerated.
2017 * config/tc-riscv.c (explicit_attr): Rename explicit_arch_attr to
2018 explicit_attr. Set it to TRUE if any ELF attribute is found.
2019 (riscv_set_default_priv_spec): Try to set the default_priv_spec if
2020 the priv attributes are set.
2021 (md_assemble): Set the default_priv_spec according to the priv
2022 attributes when we start to assemble instruction.
2023 (riscv_write_out_attrs): Rename riscv_write_out_arch_attr to
2024 riscv_write_out_attrs. Update the arch and priv attributes. If we
2025 don't set the corresponding ELF attributes, then try to output the
2027 (riscv_set_public_attributes): If any ELF attribute or -march-attr
2028 options is set (explicit_attr is TRUE), then call riscv_write_out_attrs
2029 to update the arch and priv attributes.
2030 (s_riscv_attribute): Make sure all arch and priv attributes are set
2031 before any instruction.
2032 * testsuite/gas/riscv/attribute-01.d: Update the priv attributes if any
2033 ELF attribute or -march-attr is set. If the priv attributes are not
2034 set, then try to update them by the default setting (-mpriv-spec or
2036 * testsuite/gas/riscv/attribute-02.d: Likewise.
2037 * testsuite/gas/riscv/attribute-03.d: Likewise.
2038 * testsuite/gas/riscv/attribute-04.d: Likewise.
2039 * testsuite/gas/riscv/attribute-06.d: Likewise.
2040 * testsuite/gas/riscv/attribute-07.d: Likewise.
2041 * testsuite/gas/riscv/attribute-08.d: Likewise.
2042 * testsuite/gas/riscv/attribute-09.d: Likewise.
2043 * testsuite/gas/riscv/attribute-10.d: Likewise.
2044 * testsuite/gas/riscv/attribute-unknown.d: Likewise.
2045 * testsuite/gas/riscv/attribute-05.d: Likewise. Also, the priv spec
2046 set by priv attributes must be supported.
2047 * testsuite/gas/riscv/attribute-05.s: Likewise.
2048 * testsuite/gas/riscv/priv-reg-fail-version-1p9.d: Likewise. Updated
2049 priv attributes according to the -mpriv-spec option.
2050 * testsuite/gas/riscv/priv-reg-fail-version-1p9p1.d: Likewise.
2051 * testsuite/gas/riscv/priv-reg-fail-version-1p10.d: Likewise.
2052 * testsuite/gas/riscv/priv-reg-fail-version-1p11.d: Likewise.
2053 * testsuite/gas/riscv/priv-reg.d: Removed.
2054 * testsuite/gas/riscv/priv-reg-version-1p9.d: New test case. Dump the
2055 CSR according to the priv spec 1.9.
2056 * testsuite/gas/riscv/priv-reg-version-1p9p1.d: New test case. Dump the
2057 CSR according to the priv spec 1.9.1.
2058 * testsuite/gas/riscv/priv-reg-version-1p10.d: New test case. Dump the
2059 CSR according to the priv spec 1.10.
2060 * testsuite/gas/riscv/priv-reg-version-1p11.d: New test case. Dump the
2061 CSR according to the priv spec 1.11.
2062 * config/tc-riscv.c (md_show_usage): Add descriptions about
2063 the new GAS options.
2064 * doc/c-riscv.texi: Likewise.
2068 * testsuite/gas/ppc/power9.s <dcbf, dcbfl, dcbflp>: Add tests.
2069 * testsuite/gas/ppc/power9.d: Likewise.
2070 * testsuite/gas/ppc/power10.s <dcbf, dcbfps, dcbstps, hwsync, lwsync,
2071 pause_short, phwsync, plwsync, ptesync, stcisync, stncisync, stsync,
2072 sync, wait, waitrsv>: Add tests.
2073 * testsuite/gas/ppc/power10.d: Likewise.
2078 * config/tc-arm.c : Add arm_ext_v8r feature.
2079 (it_fsm_post_encode): Check arm_ext_v8r feature.
2080 (get_aeabi_cpu_arch_from_fset): Check arm_ext_v8r feature.
2084 * write.c (write_contents): Use bfd_get_filename rather than
2085 accessing bfd->filename directly. Use bfd_section_name rather
2086 than accessing section->name directly.
2090 * symbols.c (local_symbol_make): Init all of lsy_flags.
2094 * symbols.c (resolve_symbol_value): Invoke LOCAL_SYMBOL_CHECK
2095 before looking at add_symbol->sy_flags.
2099 * config/tc-i386.c: Not handle lret/iret.
2100 * testsuite/gas/i386/lfence-ret-a.d: Adjust testcase.
2101 * testsuite/gas/i386/lfence-ret-b.d: Ditto.
2102 * testsuite/gas/i386/lfence-ret-c.d: Ditto.
2103 * testsuite/gas/i386/lfence-ret-d.d: Ditto.
2104 * testsuite/gas/i386/lfence-ret.s: Ditto.
2105 * testsuite/gas/i386/x86-64-lfence-ret-a.d: Ditto.
2106 * testsuite/gas/i386/x86-64-lfence-ret-b.d: Ditto.
2107 * testsuite/gas/i386/x86-64-lfence-ret-c.d: Ditto.
2108 * testsuite/gas/i386/x86-64-lfence-ret-d.d: Ditto.
2109 * testsuite/gas/i386/x86-64-lfence-ret-e.d: Ditto.
2110 * testsuite/gas/i386/x86-64-lfence-ret.s: Ditto.
2111 * testsuite/gas/i386/x86-64-lfence-ret.e: Deleted.
2116 * symbols.c (struct local_symbol): Update comment.
2117 (resolve_symbol_value): For resolved symbols equated to other
2118 symbols, verify that the referenced symbol is not a local_symbol
2119 before accessing sy_value. Don't leave symbol loops during
2120 finalize_syms resolution.
2121 * testsuite/gas/all/assign-bad-recursive.d: New test.
2122 * testsuite/gas/all/assign-bad-recursive.l: Error output for test.
2123 * testsuite/gas/all/assign-bad-recursive.s: Assembly for test.
2124 * testsuite/gas/all/gas.exp: Run it.
2128 * po/sv.po: Updated Swedish translation.
2132 * testsuite/gas/ppc/scalarquad.d,
2133 * testsuite/gas/ppc/scalarquad.s: New test.
2134 * testsuite/gas/ppc/ppc.exp: Run it.
2138 * testsuite/gas/ppc/rightmost.d,
2139 * testsuite/gas/ppc/rightmost.s: New test.
2140 * testsuite/gas/ppc/ppc.exp: Run it.
2144 * testsuite/gas/ppc/xvtlsbb.d,
2145 * testsuite/gas/ppc/xvtlsbb.s: New test.
2146 * testsuite/gas/ppc/ppc.exp: Run it.
2150 * testsuite/gas/ppc/stringop.d,
2151 * testsuite/gas/ppc/stringop.s: New test.
2152 * testsuite/gas/ppc/ppc.exp: Run it.
2156 * testsuite/gas/ppc/set_bool.d,
2157 * testsuite/gas/ppc/set_bool.s: New test.
2158 * testsuite/gas/ppc/ppc.exp: Run it.
2162 * testsuite/gas/ppc/bitmanip.d,
2163 * testsuite/gas/ppc/bitmanip.s: New test.
2164 * testsuite/gas/ppc/ppc.exp: Run it.
2168 * testsuite/gas/ppc/genpcv.d,
2169 * testsuite/gas/ppc/genpcv.s: New test.
2170 * testsuite/gas/ppc/ppc.exp: Run it.
2174 * testsuite/gas/ppc/maskmanip.d,
2175 * testsuite/gas/ppc/maskmanip.s: New test.
2176 * testsuite/gas/ppc/ppc.exp: Run it.
2181 * config/tc-ppc.c (pre_defined_registers): Add accumulators.
2182 (md_assemble): Check acc specified in correct operand.
2183 * testsuite/gas/ppc/outerprod.d,
2184 * testsuite/gas/ppc/outerprod.s,
2185 * testsuite/gas/ppc/vsx4.d,
2186 * testsuite/gas/ppc/vsx4.s: New tests.
2187 * testsuite/gas/ppc/ppc.exp: Run them.
2191 * testsuite/gas/ppc/simd_perm.d,
2192 * testsuite/gas/ppc/simd_perm.s: New test.
2193 * testsuite/gas/ppc/ppc.exp: Run it.
2197 * testsuite/gas/ppc/int128.d,
2198 * testsuite/gas/ppc/int128.s: New test.
2199 * testsuite/gas/ppc/ppc.exp: Run it.
2203 * testsuite/gas/ppc/vsx_32byte.d,
2204 * testsuite/gas/ppc/vsx_32byte.s: New test.
2205 * testsuite/gas/ppc/ppc.exp: Run it.
2209 * testsuite/gas/ppc/vec_mul.s,
2210 * testsuite/gas/ppc/vec_mul.d: New test.
2211 * testsuite/gas/ppc/ppc.exp: Run it.
2215 * testsuite/gas/ppc/byte_rev.d,
2216 * testsuite/gas/ppc/byte_rev.s: New test.
2217 * testsuite/gas/ppc/ppc.exp: Run it.
2221 * testsuite/gas/ppc/power10.d: Add paste. tests.
2222 * testsuite/gas/ppc/power10.s: Likewise.
2226 * testsuite/gas/ppc/power10.s: New test.
2227 * testsuite/gas/ppc/power10.d: Likewise.
2228 * testsuite/gas/ppc/ppc.exp: Run it.
2232 * config/tc-ppc.c (md_assemble): Update for PPC_OPCODE_POWER10
2234 * testsuite/gas/ppc/prefix-align.d: Use -mpower10/-Mpower10 in
2235 place of -mfuture/-Mfuture.
2236 * testsuite/gas/ppc/prefix-pcrel.d: Likewise.
2237 * testsuite/gas/ppc/prefix-reloc.d: Likewise.
2241 * po/sv.po: Updated Swedish translation.
2246 * doc/as.texi (Preprocessing): Replace cross reference to not
2247 existant document with a URL to the equivalent page in the GCC
2252 * dwarf2dbg.c (out_dir_and_file_list): Add comments describing the
2253 construction of a DWARF-5 directory name table.
2254 * testsuite/gas/elf/pr25917.d: Update expected output.
2258 * config/tc-rx.c (elf_flags): Initialize for non-linux targets.
2259 (md_parse_option): Remove initialization of elf_flags.
2264 * config/tc-arm.c (do_mve_vmull): Fix scalar and NEON parsing of vmul.
2265 * testsuite/gas/arm/mve-scalar-vmult-it.d: New test.
2266 * testsuite/gas/arm/mve-scalar-vmult-it.s: New test.
2271 * dwarf2dbg.c (out_dir_and_file_list): Check for the directory
2272 table's existence before looking at its entries.
2273 Also do not emit a default directory entry if there are no
2276 * testsuite/gas/elf/pr25917.s: New test source file.
2277 * testsuite/gas/elf/pr25917.d: New test driver.
2278 * testsuite/gas/elf/elf.exp (run_elf_list_test): Run the new test.
2282 * config/tc-aarch64.c (fix_insn): Implement for
2283 AARCH64_OPND_UNDEFINED.
2284 (parse_operands): Implement for AARCH64_OPND_UNDEFINED.
2285 * testsuite/gas/aarch64/udf.s: New.
2286 * testsuite/gas/aarch64/udf.d: New.
2287 * testsuite/gas/aarch64/udf-invalid.s: New.
2288 * testsuite/gas/aarch64/udf-invalid.l: New.
2289 * testsuite/gas/aarch64/udf-invalid.d: New.
2293 * config/tc-rx.c (elf_flags): Reset default value.
2294 (md_parse_option): For rx-elf Initialize elf_flags with RX_ABI.
2298 * config/tc-xtensa.c (XTENSA_MARCH_EARLIEST): Define macro as 0
2299 if it's not defined.
2300 (microarch_earliest): New static variable.
2301 (xg_translate_idioms): Translate "simcall" to "simcall 0" when
2302 simcall opcode has mandatory parameter.
2303 (xg_init_global_config): Initialize microarch_earliest.
2308 * config/tc-sh.c (build_Mytes): Change operand type IMM0_8 to
2309 IMM0_8S and add support for IMM0_8U.
2310 * testsuite/gas/sh/sh4a.s: Add test of a logical insn using an
2311 unsigned 8-bit immediate.
2312 * testsuite/gas/sh/sh4a.d: Extended expected disassembly.
2313 * testsuite/gas/sh/sh4al-dsp.d: Update expected disassembly.
2317 * NEWS: Add news entry for big-obj.
2318 * config/tc-i386.c (i386_target_format): Support new format.
2319 * doc/c-i386.texi: Add i386 support.
2320 * testsuite/gas/pe/big-obj.d: Rename test to not be x64 specific.
2321 * testsuite/gas/pe/pe.exp (big-obj): Make test run on i386 as well.
2326 * dwarf2dbg.c (struct file_entry): Add auto_assigned field.
2327 (assign_file_to_slot): New function. Fills in an entry in the
2329 (allocate_filenum): Use new function.
2330 (allocate_filename_to_slot): Use new function. If the specified
2331 slot entry is already in use, but was chosen automatically then
2332 reassign the automatic entry.
2336 * config/tc-i386.c (lfence_before_ret_shl): New member.
2337 (load_insn_p): implict load for POP/POPA/POPF/XLATB, no load
2339 (insert_after_load): Issue warning for REP CMPS/SCAS.
2340 (insert_before_before): Handle iret, Handle
2341 -mlfence-before-ret=shl, Adjust operand size of or/not/shl to ret's,
2342 (md_parse_option): Change -mlfence-before-ret=[none|not|or] to
2343 -mlfence-before-ret=[none/not/or/shl/yes].
2344 Enable -mlfence-before-ret=shl when
2345 -mlfence-beofre-indirect-branch=all and no explict -mlfence-before-ret option.
2346 (md_show_usage): Ditto.
2347 * doc/c-i386.texi: Ditto.
2348 * testsuite/gas/i386/i386.exp: Add new testcases.
2349 * testsuite/gas/i386/lfence-load-b.d: New.
2350 * testsuite/gas/i386/lfence-load-b.e: New.
2351 * testsuite/gas/i386/lfence-load.d: Modified.
2352 * testsuite/gas/i386/lfence-load.e: New.
2353 * testsuite/gas/i386/lfence-load.s: Modified.
2354 * testsuite/gas/i386/lfence-ret-a.d: Modified.
2355 * testsuite/gas/i386/lfence-ret-b.d: Modified.
2356 * testsuite/gas/i386/lfence-ret-c.d: New.
2357 * testsuite/gas/i386/lfence-ret-d.d: New.
2358 * testsuite/gas/i386/lfence-ret.s: Modified.
2359 * testsuite/gas/i386/x86-64-lfence-load-b.d: New.
2360 * testsuite/gas/i386/x86-64-lfence-load.d: Modified.
2361 * testsuite/gas/i386/x86-64-lfence-load.s: Modified.
2362 * testsuite/gas/i386/x86-64-lfence-ret-a.d: Modified.
2363 * testsuite/gas/i386/x86-64-lfence-ret-b.d: Modified.
2364 * testsuite/gas/i386/x86-64-lfence-ret-c.d: New.
2365 * testsuite/gas/i386/x86-64-lfence-ret-d.d: New
2366 * testsuite/gas/i386/x86-64-lfence-ret-e.d: New.
2367 * testsuite/gas/i386/x86-64-lfence-ret.e: New.
2368 * testsuite/gas/i386/x86-64-lfence-ret.s: New.
2373 * config/tc-xtensa.c (md_apply_fix): Replace
2374 BFD_RELOC_XTENSA_DIFF{8,16,32} generation with
2375 BFD_RELOC_XTENSA_PDIFF{8,16,32} and
2376 BFD_RELOC_XTENSA_NDIFF{8,16,32} generation.
2377 * testsuite/gas/xtensa/loc.d: Replace BFD_RELOC_XTENSA_DIFF16
2378 with BFD_RELOC_XTENSA_PDIFF16 in the expected output.
2382 * config/obj-elf.c (elf_frob_symbol): Unconditionally remove
2383 symbol for ".symver .. remove".
2384 * doc/as.texi (.symver): Update.
2385 * testsuite/gas/symver/symver11.s: Make foo weak.
2386 * testsuite/gas/symver/symver11.d: Expect an error.
2387 * testsuite/gas/symver/symver7.d: Allow other random symbols.
2391 * testsuite/gas/symver/symver11.s: Add ".balign 8".
2396 * testsuite/gas/m68k/operands.s: Add tests for cmpi.
2397 * testsuite/gas/m68k/operands.d: Update.
2398 * testsuite/gas/m68k/op68000.d: Update for new error messages.
2403 * testsuite/gas/arm/pr24753.d: New test.
2404 * testsuite/gas/arm/pr24753.s: New test.
2410 * NEWS: Mention .symver extension.
2411 * config/obj-elf.c (obj_elf_find_and_add_versioned_name): New
2413 (obj_elf_symver): Call obj_elf_find_and_add_versioned_name to
2414 add a version name. Add local, hidden and remove visibility
2416 (elf_frob_symbol): Handle the list of version names. Update the
2417 original symbol to local, hidden or remove it from the symbol
2419 (elf_frob_file_before_adjust): Handle the list of version names.
2420 * config/obj-elf.h (elf_visibility): New.
2421 (elf_versioned_name_list): Likewise.
2422 (elf_obj_sy): Change local to bitfield. Add rename, bad_version
2423 and visibility. Change versioned_name pointer to struct
2424 elf_versioned_name_list.
2425 * doc/as.texi: Update .symver directive.
2426 * testsuite/gas/symver/symver.exp: Run all *.d tests. Add more
2427 error checking tests.
2428 * testsuite/gas/symver/symver6.d: New file.
2429 * testsuite/gas/symver/symver7.d: Likewise.
2430 * testsuite/gas/symver/symver7.s: Likewise.
2431 * testsuite/gas/symver/symver8.d: Likewise.
2432 * testsuite/gas/symver/symver8.s: Likewise.
2433 * testsuite/gas/symver/symver9.s: Likewise.
2434 * testsuite/gas/symver/symver9a.d: Likewise.
2435 * testsuite/gas/symver/symver9b.d: Likewise.
2436 * testsuite/gas/symver/symver10.s: Likewise.
2437 * testsuite/gas/symver/symver10a.d: Likewise.
2438 * testsuite/gas/symver/symver10b.d: Likewise.
2439 * testsuite/gas/symver/symver11.d: Likewise.
2440 * testsuite/gas/symver/symver11.s: Likewise.
2441 * testsuite/gas/symver/symver12.d: Likewise.
2442 * testsuite/gas/symver/symver12.s: Likewise.
2443 * testsuite/gas/symver/symver13.d: Likewise.
2444 * testsuite/gas/symver/symver13.s: Likewise.
2445 * testsuite/gas/symver/symver14.d: Likewise.
2446 * testsuite/gas/symver/symver14.l: Likewise.
2447 * testsuite/gas/symver/symver15.d: Likewise.
2448 * testsuite/gas/symver/symver15.l: Likewise.
2449 * testsuite/gas/symver/symver6.l: Removed.
2450 * testsuite/gas/symver/symver6.s: Updated.
2454 * config/tc-aarch64.c (parse_barrier_psb): Update error messages
2456 * testsuite/gas/aarch64/system-2.d: Update -march and new tsb tests.
2457 * testsuite/gas/aarch64/system-2.s: Add new tsb tests.
2458 * testsuite/gas/aarch64/system.d: Update.
2462 * testsuite/gas/aarch64/bti.d: Update -march option.
2463 * testsuite/gas/aarch64/illegal-bti.d: Remove.
2464 * testsuite/gas/aarch64/illegal-bti.l: Remove.
2465 * testsuite/gas/aarch64/illegal-ras-1.l: Remove esb.
2466 * testsuite/gas/aarch64/illegal-ras-1.s: Remove esb.
2470 * config/tc-bfin.h (TC_EQUAL_IN_INSN): Allow assignment to dot.
2476 * config/obj-elf.c (obj_elf_type): Reject ifunc symbols on MIPS
2478 * testsuite/gas/elf/elf.exp: Add MIPS targets to the list to skip
2479 for the type-2 test.
2480 * testsuite/gas/elf/type-noifunc.e: Update to allow for MIPS
2481 targets running this test.
2485 * testsuite/gas/bpf/bpf.exp: Run jump32 tests.
2486 * testsuite/gas/bpf/jump32.s: New file.
2487 * testsuite/gas/bpf/jump32.d: Likewise.
2491 * doc/c-i386.texi: Correct -mlfence-before-indirect-branch=
2496 * config/tc-moxie.h (MD_PCREL_FROM_SECTION): Delete define.
2497 (md_pcrel_from): Remove prototytpe.
2498 * config/tc-m32c.h (MD_PCREL_FROM_SECTION): Delete duplicate
2500 (md_pcrel_from_section): Remove duplicate prototype.
2501 * tc.h (md_pcrel_from_section): Add prototype.
2502 * config/tc-aarch64.h (md_pcrel_from_section): Remove prototype.
2503 * config/tc-arc.h (md_pcrel_from_section): Likewise.
2504 * config/tc-arm.h (md_pcrel_from_section): Likewise.
2505 * config/tc-avr.h (md_pcrel_from_section): Likewise.
2506 * config/tc-bfin.h (md_pcrel_from_section): Likewise.
2507 * config/tc-bpf.h (md_pcrel_from_section): Likewise.
2508 * config/tc-csky.h (md_pcrel_from_section): Likewise.
2509 * config/tc-d10v.h (md_pcrel_from_section): Likewise.
2510 * config/tc-d30v.h (md_pcrel_from_section): Likewise.
2511 * config/tc-epiphany.h (md_pcrel_from_section): Likewise.
2512 * config/tc-fr30.h (md_pcrel_from_section): Likewise.
2513 * config/tc-frv.h (md_pcrel_from_section): Likewise.
2514 * config/tc-iq2000.h (md_pcrel_from_section): Likewise.
2515 * config/tc-lm32.h (md_pcrel_from_section): Likewise.
2516 * config/tc-m32c.h (md_pcrel_from_section): Likewise.
2517 * config/tc-m32r.h (md_pcrel_from_section): Likewise.
2518 * config/tc-mcore.h (md_pcrel_from_section): Likewise.
2519 * config/tc-mep.h (md_pcrel_from_section): Likewise.
2520 * config/tc-metag.h (md_pcrel_from_section): Likewise.
2521 * config/tc-microblaze.h (md_pcrel_from_section): Likewise.
2522 * config/tc-mmix.h (md_pcrel_from_section): Likewise.
2523 * config/tc-moxie.h (md_pcrel_from_section): Likewise.
2524 * config/tc-msp430.h (md_pcrel_from_section): Likewise.
2525 * config/tc-mt.h (md_pcrel_from_section): Likewise.
2526 * config/tc-or1k.h (md_pcrel_from_section): Likewise.
2527 * config/tc-ppc.h (md_pcrel_from_section): Likewise.
2528 * config/tc-rl78.h (md_pcrel_from_section): Likewise.
2529 * config/tc-rx.h (md_pcrel_from_section): Likewise.
2530 * config/tc-s390.h (md_pcrel_from_section): Likewise.
2531 * config/tc-sh.h (md_pcrel_from_section): Likewise.
2532 * config/tc-xc16x.h (md_pcrel_from_section): Likewise.
2533 * config/tc-xstormy16.h (md_pcrel_from_section): Likewise.
2534 * config/tc-microblaze.h (md_begin, md_assemble, md_undefined_symbol,
2535 md_show_usage, md_convert_frag, md_operand, md_number_to_chars,
2536 md_estimate_size_before_relax, md_section_align, tc_gen_reloc,
2537 md_apply_fix3): Delete prototypes.
2541 * NEWS: Mention support for Intel SERIALIZE and TSXLDTRK
2546 * doc/c-z80.texi: Fix @xref warnings.
2550 * config/tc-i386.c (cpu_arch): Add .TSXLDTRK.
2551 (cpu_noarch): Likewise.
2552 * doc/c-i386.texi: Document TSXLDTRK.
2553 * testsuite/gas/i386/i386.exp: Run TSXLDTRK tests.
2554 * testsuite/gas/i386/tsxldtrk.d: Likewise.
2555 * testsuite/gas/i386/tsxldtrk.s: Likewise.
2556 * testsuite/gas/i386/x86-64-tsxldtrk.d: Likewise.
2560 * config/tc-i386.c (cpu_arch): Add .serialize.
2561 (cpu_noarch): Likewise.
2562 * doc/c-i386.texi: Document serialize.
2563 * testsuite/gas/i386/i386.exp: Run serialize tests
2564 * testsuite/gas/i386/serialize.d: Likewise.
2565 * testsuite/gas/i386/x86-64-serialize.d: Likewise.
2566 * testsuite/gas/i386/serialize.s: Likewise.
2570 * testsuite/gas/elf/section12a.d: Use notarget instead of xfail.
2571 * testsuite/gas/elf/section12b.d: Likewise.
2572 * testsuite/gas/elf/section16a.d: Likewise.
2573 * testsuite/gas/elf/section16b.d: Likewise.
2577 * config/tc-m68k.c (m68k_ip): Fix range check for index register
2578 with a suppressed address register.
2583 * config/tc-i386.h (TC_FORCE_RELOCATION_ABS): New.
2584 * testsuite/gas/i386/localpic.s: Add a test for relocation
2585 against local absolute symbol.
2586 * testsuite/gas/i386/x86-64-localpic.s: Likewise.
2587 * testsuite/gas/i386/localpic.d: Updated.
2588 * testsuite/gas/i386/x86-64-localpic.d: Likewise.
2589 * testsuite/gas/i386/ilp32/x86-64-localpic.d: Likewise.
2594 * testsuite/gas/i386/solaris/x86-64-branch-2.d: New file.
2595 * testsuite/gas/i386/solaris/x86-64-branch-3.d: New file.
2596 * testsuite/gas/i386/solaris/x86-64-jump.d: Incorporate changes to
2597 testsuite/gas/i386/x86-64-jump.d.
2598 * gas/testsuite/gas/i386/solaris/x86-64-mpx-branch-1.d:
2599 Incorporate changes to
2600 gas/testsuite/gas/i386/x86-64-mpx-branch-1.d.
2601 * testsuite/gas/i386/solaris/x86-64-mpx-branch-2.d : Incorporate
2602 changes to testsuite/gas/i386/x86-64-mpx-branch-2.d.
2603 * testsuite/gas/i386/x86-64-branch-2.d: Skip on *-*-solaris*.
2604 * testsuite/gas/i386/x86-64-branch-3.d: Likewise.
2610 * dwarf2dbg.c: Do not include "bignum.h".
2614 * testsuite/gas/riscv/alias-csr.d: Move this to priv-reg-pseudo.
2615 * testsuite/gas/riscv/alias-csr.s: Likewise.
2616 * testsuite/gas/riscv/no-aliases-csr.d: Move this
2617 to priv-reg-pseudo-noalias.
2618 * testsuite/gas/riscv/bad-csr.d: Rename to priv-reg-fail-nonexistent.
2619 * testsuite/gas/riscv/bad-csr.l: Likewise.
2620 * testsuite/gas/riscv/bad-csr.s: Likewise.
2621 * testsuite/gas/riscv/satp.d: Removed. Already included in priv-reg.
2622 * testsuite/gas/riscv/satp.s: Likewise.
2623 * testsuite/gas/riscv/priv-reg-pseudo.d: New testcase for all pseudo
2624 csr instruction, including alias-csr testcase.
2625 * testsuite/gas/riscv/priv-reg-pseudo.s: Likewise.
2626 * testsuite/gas/riscv/priv-reg-pseudo-noalias.d: New testcase for all
2627 pseudo instruction with objdump -Mno-aliases.
2628 * testsuite/gas/riscv/priv-reg-fail-nonexistent.d: New testcase.
2629 * testsuite/gas/riscv/priv-reg-fail-nonexistent.l: Likewise.
2630 * testsuite/gas/riscv/priv-reg-fail-nonexistent.s: Likewise.
2631 * testsuite/gas/riscv/priv-reg.d: Update CSR to 1.11.
2632 * testsuite/gas/riscv/priv-reg.s: Likewise.
2633 * testsuite/gas/riscv/priv-reg-fail-rv32-only.l: Likewise.
2634 * testsuite/gas/riscv/csr-dw-regnums.d: Likewise.
2635 * testsuite/gas/riscv/csr-dw-regnums.s: Likewise.
2639 * config/obj-coff.c (obj_coff_section): Set the bss flag on
2640 sections with the "b" attribute.
2644 * testsuite/gas/s12z/truncated.d: Update expected output.
2649 * config/tc-z80.c (md_pseudo_table): Add xdef anf xref pseudo ops.
2650 * doc/c-z80.texi: Update documentation.
2657 Fix disassembling ED+A4/AC/B4/BC opcodes.
2658 Fix assembling lines containing colonless label and instruction
2659 with first operand inside parentheses.
2660 Fix registration of unsupported by target CPU registers.
2661 * config/tc-z80.c: See above.
2662 * config/tc-z80.h: See above.
2663 * testsuite/gas/z80/colonless.d: Update test.
2664 * testsuite/gas/z80/colonless.s: Likewise.
2665 * testsuite/gas/z80/ez80_adl_all.d: Likewise.
2666 * testsuite/gas/z80/ez80_unsup_regs.d: Likewise.
2667 * testsuite/gas/z80/ez80_z80_all.d: Likewise.
2668 * testsuite/gas/z80/gbz80_unsup_regs.d: Likewise.
2669 * testsuite/gas/z80/r800_unsup_regs.d: Likewise.
2670 * testsuite/gas/z80/unsup_regs.s: Likewise.
2671 * testsuite/gas/z80/z180_unsup_regs.d: Likewise.
2672 * testsuite/gas/z80/z80.exp: Likewise.
2673 * testsuite/gas/z80/z80_strict_unsup_regs.d: Likewise.
2674 * testsuite/gas/z80/z80_unsup_regs.d: Likewise.
2675 * testsuite/gas/z80/z80n_unsup_regs.d: Likewise.
2680 * config/tc-arm.c (operand_parse_code): Add OP_RNSDMQR and OP_oRNSDMQ.
2681 (parse_operands): Handle new operand codes.
2682 (do_neon_dyadic_long): Make shape check accept the scalar variants.
2683 (asm_opcode_insns): Fix operand codes for vaddl and vsubl.
2684 * testsuite/gas/arm/mve-vaddsub-it.s: New test.
2685 * testsuite/gas/arm/mve-vaddsub-it.d: New test.
2686 * testsuite/gas/arm/mve-vaddsub-it-bad.s: New test.
2687 * testsuite/gas/arm/mve-vaddsub-it-bad.l: New test.
2688 * testsuite/gas/arm/mve-vaddsub-it-bad.d: New test.
2689 * testsuite/gas/arm/nomve-vaddsub-it.d: New test.
2693 * NEWS: Mention x86 assembler options for CVE-2020-0551.
2697 * testsuite/gas/i386/i386.exp: Run new tests.
2698 * testsuite/gas/i386/lfence-byte.d: New file.
2699 * testsuite/gas/i386/lfence-byte.e: Likewise.
2700 * testsuite/gas/i386/lfence-byte.s: Likewise.
2701 * testsuite/gas/i386/lfence-indbr-a.d: Likewise.
2702 * testsuite/gas/i386/lfence-indbr-b.d: Likewise.
2703 * testsuite/gas/i386/lfence-indbr-c.d: Likewise.
2704 * testsuite/gas/i386/lfence-indbr.e: Likewise.
2705 * testsuite/gas/i386/lfence-indbr.s: Likewise.
2706 * testsuite/gas/i386/lfence-load.d: Likewise.
2707 * testsuite/gas/i386/lfence-load.s: Likewise.
2708 * testsuite/gas/i386/lfence-ret-a.d: Likewise.
2709 * testsuite/gas/i386/lfence-ret-b.d: Likewise.
2710 * testsuite/gas/i386/lfence-ret.s: Likewise.
2711 * testsuite/gas/i386/x86-64-lfence-byte.d: Likewise.
2712 * testsuite/gas/i386/x86-64-lfence-byte.e: Likewise.
2713 * testsuite/gas/i386/x86-64-lfence-byte.s: Likewise.
2714 * testsuite/gas/i386/x86-64-lfence-indbr-a.d: Likewise.
2715 * testsuite/gas/i386/x86-64-lfence-indbr-b.d: Likewise.
2716 * testsuite/gas/i386/x86-64-lfence-indbr-c.d: Likewise.
2717 * testsuite/gas/i386/x86-64-lfence-indbr.e: Likewise.
2718 * testsuite/gas/i386/x86-64-lfence-indbr.s: Likewise.
2719 * testsuite/gas/i386/x86-64-lfence-load.d: Likewise.
2720 * testsuite/gas/i386/x86-64-lfence-load.s: Likewise.
2721 * testsuite/gas/i386/x86-64-lfence-ret-a.d: Likewise.
2722 * testsuite/gas/i386/x86-64-lfence-ret-b.d: Likewise.
2726 * config/tc-i386.c (lfence_after_load): New.
2727 (lfence_before_indirect_branch_kind): New.
2728 (lfence_before_indirect_branch): New.
2729 (lfence_before_ret_kind): New.
2730 (lfence_before_ret): New.
2733 (insert_lfence_after): New.
2734 (insert_lfence_before): New.
2735 (md_assemble): Call insert_lfence_before and insert_lfence_after.
2737 (OPTION_MLFENCE_AFTER_LOAD): New.
2738 (OPTION_MLFENCE_BEFORE_INDIRECT_BRANCH): New.
2739 (OPTION_MLFENCE_BEFORE_RET): New.
2740 (md_longopts): Add -mlfence-after-load=,
2741 -mlfence-before-indirect-branch= and -mlfence-before-ret=.
2742 (md_parse_option): Handle -mlfence-after-load=,
2743 -mlfence-before-indirect-branch= and -mlfence-before-ret=.
2744 (md_show_usage): Display -mlfence-after-load=,
2745 -mlfence-before-indirect-branch= and -mlfence-before-ret=.
2746 (i386_cons_align): New.
2747 * config/tc-i386.h (i386_cons_align): New.
2748 (md_cons_align): New.
2749 * doc/c-i386.texi: Document -mlfence-after-load=,
2750 -mlfence-before-indirect-branch= and -mlfence-before-ret=.
2756 * dwarf2dbg.c (DWARF2_FILE_TIME_NAME): Default to -1.
2757 (DWARF2_FILE_SIZE_NAME): Default to -1.
2758 (DWARF2_LINE_VERSION): Default to the current dwarf level or 3,
2759 whichever is higher.
2760 (DWARF2_LINE_MAX_OPS_PER_INSN): Provide a default value of 1.
2761 (NUM_MD5_BYTES): Define.
2762 (struct file entry): Add md5 field.
2763 (get_filenum): Delete and replace with...
2764 (get_basename): New function.
2765 (get_directory_table_entry): New function.
2766 (allocate_filenum): New function.
2767 (allocate_filename_to_slot): New function.
2768 (dwarf2_where): Use new functions.
2769 (dwarf2_directive_filename): Add support for extended .file
2771 (dwarf2_directive_loc): Allow the use of file number zero with
2773 (out_file_list): Rename to...
2774 (out_dir_and_file_list): Add DWARF 5 support.
2775 (out_debug_line): Emit extra values into the section header for
2777 (out_debug_str): Allow for file 0 to be used with DWARF 5.
2778 * doc/as.texi (.file): Update the description of this pseudo-op.
2779 * testsuite/gas/elf-dwarf-5-file0.s: Add more lines.
2780 * testsuite/gas/elf-dwarf-5-file0.d: Update expected dump output.
2781 * testsuite/gas/lns/lns-diag-1.l: Update expected error message.
2782 * NEWS: Mention the new feature.
2786 * config/tc-csky.c (get_operand_value): Rewrite 1 << 31 expressions
2787 to avoid signed overflow.
2788 * config/tc-mcore.c (md_assemble): Likewise.
2789 * config/tc-mips.c (gpr_read_mask, gpr_write_mask): Likewise.
2790 * config/tc-nds32.c (SET_ADDEND): Likewise.
2791 * config/tc-nios2.c (nios2_assemble_arg_R): Likewise.
2795 * testsuite/gas/i386/avx.s: Add long-form VCMP[PS][SD] pseudos.
2796 * testsuite/gas/i386/avx.d, testsuite/gas/i386/avx-16bit.d,
2797 testsuite/gas/i386/avx-intel.d: Adjust expectations.
2801 * testsuite/gas/elf/dwarf-5-file0.s: Don't start directives in
2807 * dwarf2dbg.c (dwarf2_directive_filename): Allow a file number of
2808 0 if the dwarf_level is 5 or more. Complain if a filename follows
2810 * testsuite/gas/elf/dwarf-5-file0.s: New test.
2811 * testsuite/gas/elf/dwarf-5-file0.d: New test driver.
2812 * testsuite/gas/elf/elf.exp: Run the new test.
2815 * config/tc-ia64.h (DWARF2_VERISION): Fix typo.
2816 * doc/as.texi: Fix another typo.
2821 * as.c (dwarf_level): Define.
2822 (show_usage): Add --gdwarf-3, --gdwarf-4 and --gdwarf-5.
2823 (parse_args): Add support for the new options.
2824 as.h (dwarf_level): Prototype.
2825 * dwarf2dbg.c (DWARF2_VERSION): Use dwarf_level as default version
2827 * config/tc-ia64.h (DWARF2_VERISION): Update definition.
2828 (DWARF2_LINE_VERSION): Remove definition.
2829 * doc/as.texi: Document the new options.
2834 * as.c (main): Allow matching input and outputs when they are
2839 * config/tc-i386.c (match_mem_size): Generalize broadcast special
2841 (check_VecOperands): Zap xmmword/ymmword/zmmword when more than
2842 one of byte/word/dword/qword is set alongside a SIMD register in
2843 a template's operand.
2847 * config/tc-i386.c (match_template): Extend code in logic
2848 rejecting certain suffixes in certain modes to also cover mask
2849 register use and VecSIB. Drop special casing of broadcast. Skip
2850 immediates in the check.
2854 * config/tc-i386.c (match_template): Fold duplicate code in
2855 logic rejecting certain suffixes in certain modes. Drop
2860 * config/tc-i386.c (process_suffix): Exlucde !vexw insns
2861 alongside !norex64 ones.
2862 * testsuite/gas/i386/x86-64-avx512bw.s: Test VPEXTR* and VPINSR*
2863 with both 32- and 64-bit GPR operands.
2864 * testsuite/gas/i386/x86-64-avx512f.s: Test VEXTRACTPS with both
2865 32- and 64-bit GPR operands.
2866 * testsuite/gas/i386/x86-64-avx512bw-intel.d,
2867 testsuite/gas/i386/x86-64-avx512bw.d,
2868 testsuite/gas/i386/x86-64-avx512f-intel.d,
2869 testsuite/gas/i386/x86-64-avx512f.d: Adjust expectations.
2873 * config/tc-i386.c (md_assemble): Drop use of rex64.
2874 (process_suffix): For REX.W for 64-bit CRC32.
2878 * config/tc-i386.c (i386_addressing_mode): For 32-bit
2879 addressing for MPX insns without base/index.
2880 * testsuite/gas/i386/mpx-16bit.s,
2881 * testsuite/gas/i386/mpx-16bit.d: New.
2882 * testsuite/gas/i386/i386.exp: Run new test.
2886 * testsuite/gas/i386/adx.s, testsuite/gas/i386/cet.s,
2887 testsuite/gas/i386/ept.s, testsuite/gas/i386/fsgs.s,
2888 testsuite/gas/i386/invpcid.s, testsuite/gas/i386/movdir.s,
2889 testsuite/gas/i386/ptwrite.s, testsuite/gas/i386/vmx.s,
2890 * testsuite/gas/i386/code16.s: Add CR, DR, and TR access cases
2891 as well as a BSWAP one.
2892 * testsuite/gas/i386/rdpid.s: Add 16-bit case.
2893 * testsuite/gas/i386/sse2-16bit.s: Cover more insns.
2894 * testsuite/gas/i386/adx-intel.d, testsuite/gas/i386/adx.d,
2895 testsuite/gas/i386/cet-intel.d, testsuite/gas/i386/cet.d,
2896 testsuite/gas/i386/code16.d, testsuite/gas/i386/ept-intel.d,
2897 testsuite/gas/i386/ept.d, testsuite/gas/i386/fsgs-intel.d,
2898 testsuite/gas/i386/fsgs.d, testsuite/gas/i386/invpcid-intel.d,
2899 testsuite/gas/i386/invpcid.d, testsuite/gas/i386/movdir-intel.d,
2900 testsuite/gas/i386/movdir.d, testsuite/gas/i386/ptwrite-intel.d,
2901 testsuite/gas/i386/ptwrite.d, testsuite/gas/i386/rdpid-intel.d,
2902 testsuite/gas/i386/rdpid.d, testsuite/gas/i386/sse2-16bit.d,
2903 testsuite/gas/i386/vmx.d: Adjust expectations.
2907 * config/tc-i386.c (md_assemble): Also exclude tpause and umwait
2908 from having their operands swapped.
2909 * testsuite/gas/i386/waitpkg.s,
2910 testsuite/gas/i386/x86-64-waitpkg.s: Add tpause and umwait
2911 3-operand cases as well as testing of 16-bit code generation.
2912 * testsuite/gas/i386/waitpkg.d,
2913 testsuite/gas/i386/waitpkg-intel.d,
2914 testsuite/gas/i386/x86-64-waitpkg.d,
2915 testsuite/gas/i386/x86-64-waitpkg-intel.d: Adjust expectations.
2919 * config/tc-riscv.c (percent_op_utype): Support the modifier
2921 * doc/c-riscv.texi: Add documentation.
2922 * testsuite/gas/riscv/no-relax-reloc.d: Add test case for the new
2923 modifier %got_pcrel_hi.
2924 * testsuite/gas/riscv/no-relax-reloc.s: Likewise.
2925 * testsuite/gas/riscv/relax-reloc.d: Likewise.
2926 * testsuite/gas/riscv/relax-reloc.s: Likewise.
2928 * doc/c-riscv.texi (relocation modifiers): Add documentation.
2929 (RISC-V-Formats): Update the section name from "Instruction Formats"
2930 to "RISC-V Instruction Formats".
2934 * config/tc-arm.c (md_apply_fix): Warn if a PC-relative load is
2935 detected in a section which does not have at least 4 byte
2937 * testsuite/gas/arm/armv8-ar-it-bad.s: Add alignment directive.
2938 * testsuite/gas/arm/ldr-t.s: Likewise.
2939 * testsuite/gas/arm/sp-pc-usage-t.s: Likewise.
2940 * testsuite/gas/arm/sp-pc-usage-t.d: Finish test at end of
2941 disassembly, ignoring any NOPs that may have been inserted because
2942 of section alignment.
2943 * testsuite/gas/arm/ldr-t.d: Likewise.
2947 * config/tc-i386.c (cpu_arch): Add .sev_es entry.
2948 * doc/c-i386.texi: Mention sev_es.
2949 * testsuite/gas/i386/arch-13.s: Add SEV-ES case.
2950 * testsuite/gas/i386/arch-13.d: Extend -march=. Adjust
2952 * testsuite/gas/i386/arch-13-znver1.d,
2953 testsuite/gas/i386/arch-13-znver2.d: Extend -march=.
2957 * config/tc-i386.c (match_template): Replace ignoresize and
2958 defaultsize with mnemonicsize.
2959 (process_suffix): Likewise.
2964 * config/tc-z80.c (emit_ld_rr_m): Fix invalid compilation of
2965 instruction LD IY,(HL).
2966 * testsuite/gas/z80/ez80_adl_all.d: Update expected disassembly.
2967 * testsuite/gas/z80/ez80_adl_all.s: Add tests of the instruction.
2968 * testsuite/gas/z80/ez80_z80_all.d: Update expected disassembly.
2969 * testsuite/gas/z80/ez80_z80_all.s: Add tests of the instruction.
2974 * testsuite/gas/i386/i386.exp: Run x86-64-default-suffix and
2975 x86-64-default-suffix-avx.
2976 * testsuite/gas/i386/noreg64.s: Remove cvtsi2sd, cvtsi2ss,
2977 vcvtsi2sd, vcvtsi2ss, vcvtusi2sd and vcvtusi2ss entries.
2978 * testsuite/gas/i386/noreg64.d: Updated.
2979 * testsuite/gas/i386/noreg64.l: Likewise.
2980 * testsuite/gas/i386/x86-64-default-suffix-avx.d: New file.
2981 * testsuite/gas/i386/x86-64-default-suffix.d: Likewise.
2982 * testsuite/gas/i386/x86-64-default-suffix.s: Likewise.
2987 * config/tc-z80.c (contains_register): Prevent an illegal memory
2988 access when checking an expression for a register name.
2992 * config/obj-coff.h: Remove vestiges of coff-m68k and pe-mips
2997 * config/tc-m32r.c (md_begin): Set SEC_SMALL_DATA on .scommon section.
2998 * config/tc-mips.c (s_change_sec): Set SEC_SMALL_DATA for .sdata
3000 * config/tc-score.c: Delete !BFD_ASSEMBLER code throughout.
3001 (s3_s_change_sec): Set SEC_SMALL_DATA for .sbss section.
3002 (s3_s_score_lcomm): Likewise.
3003 * config/tc-score7.c: Similarly.
3004 * read.c (bss_alloc): Set SEC_SMALL_DATA for .sbss section.
3009 * config/tc-mips.c (fix_loongson3_llsc): Compare label value
3010 to handle multi-labels.
3011 (has_label_name): New.
3015 * config/tc-arm.c (enum pred_instruction_type): Remove
3016 NEUTRAL_IT_NO_VPT_INSN predication type.
3017 (cxn_handle_predication): Modify to require condition suffixes.
3018 (handle_pred_state): Remove NEUTRAL_IT_NO_VPT_INSN cases.
3019 * testsuite/gas/arm/cde-scalar.s: Update test.
3020 * testsuite/gas/arm/cde-warnings.l: Update test.
3021 * testsuite/gas/arm/cde-warnings.s: Update test.
3025 * config/tc-arm.c (reg_expected_msgs[REG_TYPE_RNB]): Don't use
3026 N_() on empty string.
3030 * read.c (read_a_source_file): Call strncpy with length one
3031 less than size of original_case_string.
3035 * config/obj-elf.c: Indent labels correctly.
3036 * config/obj-macho.c: Likewise.
3037 * config/tc-aarch64.c: Likewise.
3038 * config/tc-alpha.c: Likewise.
3039 * config/tc-arm.c: Likewise.
3040 * config/tc-cr16.c: Likewise.
3041 * config/tc-crx.c: Likewise.
3042 * config/tc-frv.c: Likewise.
3043 * config/tc-i386-intel.c: Likewise.
3044 * config/tc-i386.c: Likewise.
3045 * config/tc-ia64.c: Likewise.
3046 * config/tc-mn10200.c: Likewise.
3047 * config/tc-mn10300.c: Likewise.
3048 * config/tc-nds32.c: Likewise.
3049 * config/tc-riscv.c: Likewise.
3050 * config/tc-s12z.c: Likewise.
3051 * config/tc-xtensa.c: Likewise.
3052 * config/tc-z80.c: Likewise.
3054 * symbols.c: Likewise.
3055 * write.c: Likewise.
3059 * config/tc-riscv.c (riscv_ip): New boolean insn_with_csr to indicate
3060 we are assembling instruction with CSR. Call riscv_csr_read_only_check
3061 after parsing all arguments.
3062 (enum csr_insn_type): New enum is used to classify the CSR instruction.
3063 (riscv_csr_insn_type, riscv_csr_read_only_check): New functions. These
3064 are used to check if we write a read-only CSR by the CSR instruction.
3065 * testsuite/gas/riscv/priv-reg-fail-read-only-01.s: New testcase. Test
3066 all CSR for the read-only CSR checking.
3067 * testsuite/gas/riscv/priv-reg-fail-read-only-01.d: Likewise.
3068 * testsuite/gas/riscv/priv-reg-fail-read-only-01.l: Likewise.
3069 * testsuite/gas/riscv/priv-reg-fail-read-only-02.s: New testcase. Test
3070 all CSR instructions for the read-only CSR checking.
3071 * testsuite/gas/riscv/priv-reg-fail-read-only-02.d: Likewise.
3072 * testsuite/gas/riscv/priv-reg-fail-read-only-02.l: Likewise.
3074 * config/tc-riscv.c (struct riscv_set_options): New field csr_check.
3075 (riscv_opts): Initialize it.
3076 (reg_lookup_internal): Check the `riscv_opts.csr_check`
3077 before doing the CSR checking.
3078 (enum options): Add OPTION_CSR_CHECK and OPTION_NO_CSR_CHECK.
3079 (md_longopts): Add mcsr-check and mno-csr-check.
3080 (md_parse_option): Handle new enum option values.
3081 (s_riscv_option): Handle new long options.
3082 * doc/c-riscv.texi: Add description for the new .option and assembler
3084 * testsuite/gas/riscv/priv-reg-fail-fext.d: Add `-mcsr-check` to enable
3086 * testsuite/gas/riscv/priv-reg-fail-rv32-only.d: Likewise.
3088 * config/tc-riscv.c (csr_extra_hash): New.
3089 (enum riscv_csr_class): New enum. Used to decide
3090 whether or not this CSR is legal in the current ISA string.
3091 (struct riscv_csr_extra): New structure to hold all extra information
3093 (riscv_init_csr_hashes): New. According to the DECLARE_CSR and
3094 DECLARE_CSR_ALIAS, insert CSR extra information into csr_extra_hash.
3095 Call hash_reg_name to insert CSR address into reg_names_hash.
3096 (reg_csr_lookup_internal, riscv_csr_class_check): New functions.
3097 Decide whether the CSR is valid according to the csr_extra_hash.
3098 (reg_lookup_internal): Call reg_csr_lookup_internal for CSRs.
3099 (init_opcode_hash): Update 'if (hash_error != NULL)' as hash_error is
3100 not a boolean. This is same as riscv_init_csr_hash, so keep the
3102 (md_begin): Call riscv_init_csr_hashes for each DECLARE_CSR.
3103 * testsuite/gas/riscv/csr-dw-regnums.d: Add -march=rv32if option.
3104 * testsuite/gas/riscv/priv-reg.d: Add f-ext by -march option.
3105 * testsuite/gas/riscv/priv-reg-fail-fext.d: New testcase. The source
3106 file is `priv-reg.s`, and the ISA is rv32i without f-ext, so the
3107 f-ext CSR are not allowed.
3108 * testsuite/gas/riscv/priv-reg-fail-fext.l: Likewise.
3109 * testsuite/gas/riscv/priv-reg-fail-rv32-only.d: New testcase. The
3110 source file is `priv-reg.s`, and the ISA is rv64if, so the
3111 rv32-only CSR are not allowed.
3112 * testsuite/gas/riscv/priv-reg-fail-rv32-only.l: Likewise.
3116 * config/tc-pdp11.c (md_apply_fix): Handle BFD_RELOC_32.
3117 (tc_gen_reloc): Only give a BAD_CASE assertion on pcrel relocs.
3122 * config/obj-aout.c (obj_aout_frob_file_before_fix): Don't loop
3123 on section size adjustment, instead perform another write if
3124 exec header size is larger than section size.
3128 * doc/c-riscv.texi: Add the doc entries for -march-attr/
3129 -mno-arch-attr command line options.
3133 * testsuite/gas/riscv/c-add-addi.d: New testcase.
3134 * testsuite/gas/riscv/c-add-addi.s: Likewise.
3139 * config/tc-z80.c (md_parse_option): Do not use an underscore
3140 prefix for local labels in SDCC compatability mode.
3141 (z80_start_line_hook): Remove SDCC dollar label support.
3142 * testsuite/gas/z80/sdcc.d: Update expected disassembly.
3143 * testsuite/gas/z80/sdcc.s: Likewise.
3148 * config/tc-z80.c: Add -march option.
3149 * doc/as.texi: Update Z80 documentation.
3150 * doc/c-z80.texi: Likewise.
3151 * testsuite/gas/z80/ez80_adl_all.d: Update command line.
3152 * testsuite/gas/z80/ez80_adl_suf.d: Likewise.
3153 * testsuite/gas/z80/ez80_pref_dis.d: Likewise.
3154 * testsuite/gas/z80/ez80_z80_all.d: Likewise.
3155 * testsuite/gas/z80/ez80_z80_suf.d: Likewise.
3156 * testsuite/gas/z80/gbz80_all.d: Likewise.
3157 * testsuite/gas/z80/r800_extra.d: Likewise.
3158 * testsuite/gas/z80/r800_ii8.d: Likewise.
3159 * testsuite/gas/z80/r800_z80_doc.d: Likewise.
3160 * testsuite/gas/z80/sdcc.d: Likewise.
3161 * testsuite/gas/z80/z180.d: Likewise.
3162 * testsuite/gas/z80/z180_z80_doc.d: Likewise.
3163 * testsuite/gas/z80/z80_doc.d: Likewise.
3164 * testsuite/gas/z80/z80_ii8.d: Likewise.
3165 * testsuite/gas/z80/z80_in_f_c.d: Likewise.
3166 * testsuite/gas/z80/z80_op_ii_ld.d: Likewise.
3167 * testsuite/gas/z80/z80_out_c_0.d: Likewise.
3168 * testsuite/gas/z80/z80_sli.d: Likewise.
3169 * testsuite/gas/z80/z80n_all.d: Likewise.
3170 * testsuite/gas/z80/z80n_reloc.d: Likewise.
3174 * config/tc-i386.c (output_insn): Mark cvtpi2ps and cvtpi2pd
3175 with GNU_PROPERTY_X86_FEATURE_2_MMX.
3176 * testsuite/gas/i386/i386.exp: Run property-3 and
3178 * testsuite/gas/i386/property-3.d: New file.
3179 * testsuite/gas/i386/property-3.s: Likewise.
3180 * testsuite/gas/i386/x86-64-property-3.d: Likewise.
3184 * config/tc-i386.c (cpu_arch): Add .popcnt.
3185 * doc/c-i386.texi: Remove abm and .abm. Add popcnt and .popcnt.
3186 Add a tab before @samp{.sse4a}.
3190 * config/tc-i386.c (process_suffix): Don't try to guess a suffix
3191 for AddrPrefixOpReg templates. Combine the two pieces of
3192 addrprefixopreg handling. Reject 16-bit address reg in 64-bit
3198 * config/tc-i386.c (md_assemble): Also suppress operand
3199 swapping for MONITOR{,X} and MWAIT{,X}.
3200 * testsuite/gas/i386/sse3.s, testsuite/gas/i386/x86-64-sse3.s:
3201 Add Intel syntax monitor/mwait tests.
3202 * testsuite/gas/i386/sse3.d, testsuite/gas/i386/x86-64-sse3.d:
3203 Adjust expectations.
3204 *testsuite/gas/i386/sse3-intel.d,
3205 testsuite/gas/i386/x86-64-sse3-intel.d: New.
3206 * testsuite/gas/i386/i386.exp: Run new tests.
3211 * config/tc-i386.c (process_suffix): Re-work Intel-syntax
3212 [XYZ]MMWord memory operand ambiguity recognition logic (largely
3214 * testsuite/gas/i386/avx512dq-inval.s: Add vcvtqq2ps/vcvtuqq2ps
3216 * testsuite/gas/i386/inval-avx512f.s: Also test vcvtneps2bf16.
3217 * testsuite/gas/i386/avx512dq-inval.l,
3218 testsuite/gas/i386/inval-avx.l,
3219 testsuite/gas/i386/inval-avx512f.l: Adjust expectations.
3220 * testsuite/gas/i386/avx512vl-ambig.s,
3221 testsuite/gas/i386/avx512vl-ambig.l: New.
3222 * testsuite/gas/i386/i386.exp: Run new test.
3226 * config/tc-i386.c (cpu_arch): Add .sse4a and nosse4a. Restore
3228 * doc/c-i386.texi: Document sse4a and nosse4a.
3232 * doc/c-i386.texi: Remove the old movsx and movzx documentation
3238 * config/tc-i386.c (md_assemble): Move movsx/movzx special
3240 (process_suffix): ... here. Consider just the first operand
3242 (check_long_reg): Drop opcode 0x63 special case again.
3243 * testsuite/gas/i386/i386.s, testsuite/gas/i386/iamcu-1.s,
3244 testsuite/gas/i386/ilp32/x86-64.s, testsuite/gas/i386/x86_64.s:
3245 Move ambiguous operand size tests ...
3246 * testsuite/gas/i386/noreg16.s, testsuite/gas/i386/noreg32.s,
3247 testsuite/gas/i386/noreg64.s: ... here.
3248 * testsuite/gas/i386/i386.d, testsuite/gas/i386/i386-intel.d
3249 testsuite/gas/i386/iamcu-1.d, testsuite/gas/i386/ilp32/x86-64.d,
3250 testsuite/gas/i386/k1om.d, testsuite/gas/i386/l1om.d,
3251 testsuite/gas/i386/movx16.l, testsuite/gas/i386/movx32.l,
3252 testsuite/gas/i386/movx64.l, testsuite/gas/i386/noreg16.d,
3253 testsuite/gas/i386/noreg32.d, testsuite/gas/i386/noreg64.d,
3254 testsuite/gas/i386/x86-64-movsxd.d,
3255 testsuite/gas/i386/x86-64-movsxd-intel.d,
3256 testsuite/gas/i386/x86_64.d, testsuite/gas/i386/x86_64-intel.d:
3257 Adjust expectations.
3258 * testsuite/gas/i386/movx16.s, testsuite/gas/i386/movx16.l,
3259 testsuite/gas/i386/movx32.s, testsuite/gas/i386/movx32.l,
3260 testsuite/gas/i386/movx64.s, testsuite/gas/i386/movx64.l: New.
3261 * testsuite/gas/i386/i386.exp: Run new tests.
3265 * config/tc-i386.c (process_operands): Also skip segment
3266 override prefix emission if it matches an already present one.
3267 * testsuite/gas/i386/prefix32.s: Add double segment override
3269 * testsuite/gas/i386/prefix32.l: Adjust expectations.
3273 * config/tc-i386.c (process_operands): Drop ineffectual segment
3274 overrides when optimizing.
3275 * testsuite/gas/i386/lea-optimize.d: New.
3276 * testsuite/gas/i386/i386.exp: Run new test.
3280 * config/tc-i386.c (process_operands): Also check insn prefix
3281 for ineffectual segment override warning. Don't cover possible
3282 VEX/EVEX encoded insns there.
3283 * testsuite/gas/i386/lea.s, testsuite/gas/i386/lea.d,
3284 testsuite/gas/i386/lea.e: New.
3285 * testsuite/gas/i386/i386.exp: Run new test.
3290 * doc/c-i386.texi: Document movsx, movsxd and movzx for AT&T
3297 * config/tc-i386.c (tc_i386_fix_adjustable): Don't check
3298 BFD_RELOC_386_PLT32 nor BFD_RELOC_X86_64_PLT32.
3299 * testsuite/gas/i386/i386.exp: Run relax-5 and x86-64-relax-4.
3300 * testsuite/gas/i386/relax-5.d: New file.
3301 * testsuite/gas/i386/relax-5.s: Likewise.
3302 * testsuite/gas/i386/x86-64-relax-4.d: Likewise.
3303 * testsuite/gas/i386/x86-64-relax-4.s: Likewise.
3307 * config/tc-i386.c (cpu_noarch): Use CPU_ANY_SSE4_FLAGS in
3312 * config/tc-i386.c (avx512): New (at file scope), moved from
3313 (check_VecOperands): ... here.
3314 (process_suffix): Add [XYZ]MMword operand size handling.
3315 * testsuite/gas/i386/avx512dq-inval.s: Add VFPCLASS tests.
3316 * testsuite/gas/i386/noavx512-2.s: Add Intel syntax VFPCLASS
3318 * testsuite/gas/i386/avx512dq-inval.l,
3319 testsuite/gas/i386/noavx512-2.l: Adjust expectations.
3324 * config/tc-i386.c (match_template): Apply AMD64 check to 64-bit
3326 * config/tc-i386-intel.c (i386_intel_operand): Also handle
3327 CALL/JMP in O_tbyte_ptr case.
3328 * doc/c-i386.texi: Mention far call and full pointer load ISA
3330 * testsuite/gas/i386/x86-64-branch-3.s,
3331 testsuite/gas/i386/x86-64-intel64.s: Add 64-bit far call cases.
3332 * testsuite/gas/i386/x86-64-branch-3.d,
3333 testsuite/gas/i386/x86-64-intel64.d: Adjust expectations.
3334 * testsuite/gas/i386/x86-64-branch-5.l,
3335 testsuite/gas/i386/x86-64-branch-5.s: New.
3336 * testsuite/gas/i386/i386.exp: Run new test.
3341 * config/tc-i386.c (REGISTER_WARNINGS): Delete.
3342 (check_byte_reg): Skip only source operand of CRC32. Drop Non-
3343 64-bit-only warning.
3344 (check_word_reg): Consistently error on mismatching register
3346 * testsuite/gas/i386/general.s: Replace dword GPR with word one
3347 for movw. Replace suffix / GPR for orb.
3348 * testsuite/gas/i386/inval.s: Add tests for movw with dword and
3349 byte GPRs as well as ones for inb/outb with a word accumulator.
3350 * testsuite/gas/i386/general.l, testsuite/gas/i386/intelbad.l,
3351 testsuite/gas/i386/inval.l: Adjust expectations.
3355 * config/tc-i386.c (operand_type_register_match): Also fall
3356 through initial two if()-s when the template allows for a GPR
3357 operand. Adjust comment.
3361 (struct _i386_insn): New field "short_form".
3362 (optimize_encoding): Drop setting of shortform field.
3363 (process_suffix): Set i.short_form. Replace shortform use.
3364 (process_operands): Replace shortform use.
3368 * config/tc-arm.c (vcx_handle_register_arguments): Remove `for`
3369 loop initial declaration.
3373 * config/tc-arm.c (NEON_MAX_TYPE_ELS): Increment to account for
3374 instructions that can have 5 arguments.
3375 (enum operand_parse_code): Add new operands.
3376 (parse_operands): Account for new operands.
3378 (enum neon_shape_el): Introduce P suffixes for coprocessor.
3379 (neon_select_shape): Account for P suffix.
3380 (LOW1): Move macro to global position.
3381 (HI4): Move macro to global position.
3382 (vcx_assign_vec_d): New.
3383 (vcx_assign_vec_m): New.
3384 (vcx_assign_vec_n): New.
3385 (enum vcx_reg_type): New.
3386 (vcx_get_reg_type): New.
3387 (vcx_size_pos): New.
3389 (vcx_handle_shape): New.
3390 (vcx_ensure_register_in_range): New.
3391 (vcx_handle_register_arguments): New.
3392 (vcx_handle_insn_block): New.
3393 (vcx_handle_common_checks): New.
3397 * testsuite/gas/arm/cde-missing-fp.d: New test.
3398 * testsuite/gas/arm/cde-missing-fp.l: New test.
3399 * testsuite/gas/arm/cde-missing-mve.d: New test.
3400 * testsuite/gas/arm/cde-missing-mve.l: New test.
3401 * testsuite/gas/arm/cde-mve-or-neon.d: New test.
3402 * testsuite/gas/arm/cde-mve-or-neon.s: New test.
3403 * testsuite/gas/arm/cde-mve.s: New test.
3404 * testsuite/gas/arm/cde-warnings.l:
3405 * testsuite/gas/arm/cde-warnings.s:
3406 * testsuite/gas/arm/cde.d:
3407 * testsuite/gas/arm/cde.s:
3412 * config/tc-arm.c (arm_ext_cde*): New feature sets for each
3413 CDE coprocessor that can be enabled.
3414 (enum pred_instruction_type): New pred type.
3415 (BAD_NO_VPT): New error message.
3416 (BAD_CDE): New error message.
3417 (BAD_CDE_COPROC): New error message.
3418 (enum operand_parse_code): Add new immediate operands.
3419 (parse_operands): Account for new immediate operands.
3420 (check_cde_operand): New.
3421 (cde_coproc_enabled): New.
3422 (cde_coproc_pos): New.
3423 (cde_handle_coproc): New.
3424 (cxn_handle_predication): New.
3425 (do_custom_instruction_1): New.
3426 (do_custom_instruction_2): New.
3427 (do_custom_instruction_3): New.
3440 (handle_pred_state): Define new IT block behaviour.
3441 (insns): Add newn CX*{,d}{,a} instructions.
3442 (CDE_EXTENSIONS,armv8m_main_ext_table,armv8_1m_main_ext_table):
3443 Define new cdecp extension strings.
3444 * doc/c-arm.texi: Document new cdecp extension arguments.
3445 * testsuite/gas/arm/cde-scalar.d: New test.
3446 * testsuite/gas/arm/cde-scalar.s: New test.
3447 * testsuite/gas/arm/cde-warnings.d: New test.
3448 * testsuite/gas/arm/cde-warnings.l: New test.
3449 * testsuite/gas/arm/cde-warnings.s: New test.
3450 * testsuite/gas/arm/cde.d: New test.
3451 * testsuite/gas/arm/cde.s: New test.
3456 * config/tc-i386.c (intel64): Renamed to ...
3458 (match_template): Accept Intel64 only instruction by default.
3459 (i386_displacement): Updated.
3460 (md_parse_option): Updated.
3461 * c-i386.texi: Update -mamd64/-mintel64 documentation.
3462 * testsuite/gas/i386/i386.exp: Run x86-64-sysenter. Pass
3463 -mamd64 to x86-64-sysenter-amd.
3464 * testsuite/gas/i386/x86-64-sysenter.d: New file.
3468 * config/obj-elf.c (obj_elf_change_section): Error for section
3469 type, attr or entsize changes in assembly.
3470 * testsuite/gas/elf/elf.exp: Pass -Z to gas for section5 test.
3471 * testsuite/gas/elf/section5.l: Update.
3475 * output-file.c (output_file_close): Do a normal close when
3476 flag_always_generate_output.
3477 * write.c (write_object_file): Don't stop output when
3478 flag_always_generate_output.
3483 * config/tc-z80.c: Add -gbz80 command line option to generate code
3484 for the GameBoy Z80. Add support for generating DWARF.
3485 * config/tc-z80.h: Add support for DWARF debug information
3487 * doc/c-z80.texi: Document new command line option.
3488 * testsuite/gas/z80/gbz80_all.d: New file.
3489 * testsuite/gas/z80/gbz80_all.s: New file.
3490 * testsuite/gas/z80/z80.exp: Run the new tests.
3491 * testsuite/gas/z80/z80n_all.d: New file.
3492 * testsuite/gas/z80/z80n_all.s: New file.
3493 * testsuite/gas/z80/z80n_reloc.d: New file.
3498 * config/obj-elf.c (get_section): Also check
3499 linked_to_symbol_name.
3500 (obj_elf_change_section): Also set map_head.linked_to_symbol_name.
3501 (obj_elf_parse_section_letters): Handle the 'o' flag.
3502 (build_group_lists): Renamed to ...
3503 (build_additional_section_info): This. Set elf_linked_to_section
3504 from map_head.linked_to_symbol_name.
3505 (elf_adjust_symtab): Updated.
3506 * config/obj-elf.h (elf_section_match): Add linked_to_symbol_name.
3507 * doc/as.texi: Document the 'o' flag.
3508 * testsuite/gas/elf/elf.exp: Run PR gas/25381 tests.
3509 * testsuite/gas/elf/section18.d: New file.
3510 * testsuite/gas/elf/section18.s: Likewise.
3511 * testsuite/gas/elf/section19.d: Likewise.
3512 * testsuite/gas/elf/section19.s: Likewise.
3513 * testsuite/gas/elf/section20.d: Likewise.
3514 * testsuite/gas/elf/section20.s: Likewise.
3515 * testsuite/gas/elf/section21.d: Likewise.
3516 * testsuite/gas/elf/section21.l: Likewise.
3517 * testsuite/gas/elf/section21.s: Likewise.
3521 * NEWS: Mention x86 assembler options to align branches for
3526 * testsuite/gas/i386/i386.exp: Run unique and x86-64-unique
3527 only for ELF targets.
3528 * testsuite/gas/i386/unique.d: Don't xfail.
3529 * testsuite/gas/i386/x86-64-unique.d: Likewise.
3533 * testsuite/gas/i386/unique.d: xfail for non-elf targets.
3534 * testsuite/gas/i386/x86-64-unique.d: Likewise.
3538 * testsuite/gas/elf/section12a.d: Use supports_gnu_osabi in
3539 xfail, and rename test.
3540 * testsuite/gas/elf/section12b.d: Likewise.
3541 * testsuite/gas/elf/section16a.d: Likewise.
3542 * testsuite/gas/elf/section16b.d: Likewise.
3547 * config/obj-elf.c (section_match): Removed.
3548 (get_section): Also match SEC_ASSEMBLER_SECTION_ID and
3550 (obj_elf_change_section): Replace info and group_name arguments
3551 with match_p. Also update the section ID and flags from match_p.
3552 (obj_elf_section): Handle "unique,N". Update call to
3553 obj_elf_change_section.
3554 * config/obj-elf.h (elf_section_match): New.
3555 (obj_elf_change_section): Updated.
3556 * config/tc-arm.c (start_unwind_section): Update call to
3557 obj_elf_change_section.
3558 * config/tc-ia64.c (obj_elf_vms_common): Likewise.
3559 * config/tc-microblaze.c (microblaze_s_data): Likewise.
3560 (microblaze_s_sdata): Likewise.
3561 (microblaze_s_rdata): Likewise.
3562 (microblaze_s_bss): Likewise.
3563 * config/tc-mips.c (s_change_section): Likewise.
3564 * config/tc-msp430.c (msp430_profiler): Likewise.
3565 * config/tc-rx.c (parse_rx_section): Likewise.
3566 * config/tc-tic6x.c (tic6x_start_unwind_section): Likewise.
3567 * doc/as.texi: Document "unique,N" in .section directive.
3568 * testsuite/gas/elf/elf.exp: Run "unique,N" tests.
3569 * testsuite/gas/elf/section15.d: New file.
3570 * testsuite/gas/elf/section15.s: Likewise.
3571 * testsuite/gas/elf/section16.s: Likewise.
3572 * testsuite/gas/elf/section16a.d: Likewise.
3573 * testsuite/gas/elf/section16b.d: Likewise.
3574 * testsuite/gas/elf/section17.d: Likewise.
3575 * testsuite/gas/elf/section17.l: Likewise.
3576 * testsuite/gas/elf/section17.s: Likewise.
3577 * testsuite/gas/i386/unique.d: Likewise.
3578 * testsuite/gas/i386/unique.s: Likewise.
3579 * testsuite/gas/i386/x86-64-unique.d: Likewise.
3580 * testsuite/gas/i386/i386.exp: Run unique and x86-64-unique.
3584 * testsuite/gas/elf/section13.s: Replace @nobits with %nobits.
3588 * config/tc-moxie.c (md_begin): Don't force big-endian mode.
3592 * config/tc-nios2.c (nios2_cons): Handle %gotoff as well as
3598 * config/tc-arm.c (armv8m_main_ext_table): Refactored +dsp adding.
3599 (armv8_1m_main_ext_table): Refactored +dsp adding and enabled dsp for
3601 * testsuite/gas/arm/mve_dsp.d: New test.
3605 * config/tc-s390.c (s390_elf_suffix): Return ELF_SUFFIX_NONE
3606 rather than BFD_RELOC_NONE.
3610 * config/tc-arm.c (fldmias): Moved inside "THUMB_VARIANT & arm_ext_v6t2"
3611 to support VLDMIA instruction for MVE.
3612 (fldmdbs): Moved inside "THUMB_VARIANT & arm_ext_v6t2" to support VLDMDB
3613 instruction for MVE.
3614 (fstmias): Moved inside "THUMB_VARIANT & arm_ext_v6t2" to support VSTMIA
3615 instruction for MVE.
3616 (fstmdbs): Moved inside "THUMB_VARIANT & arm_ext_v6t2" to support VSTMDB
3617 instruction for MVE.
3618 * testsuite/gas/arm/mve-ldst.d: New test.
3619 * testsuite/gas/arm/mve-ldst.s: Likewise.
3623 * po/fr.po: Updated French translation.
3624 * po/ru.po: Updated Russian translation.
3628 * testsuite/gas/aarch64/sve-bfloat-movprfx.s: Use .h rather than
3630 * testsuite/gas/aarch64/sve-bfloat-movprfx.d: Update accordingly.
3631 * testsuite/gas/aarch64/sve-movprfx_28.d,
3632 * testsuite/gas/aarch64/sve-movprfx_28.l,
3633 * testsuite/gas/aarch64/sve-movprfx_28.s: New test.
3637 * config/tc-i386.c (output_disp): Tighten base_opcode check.
3638 * testsuite/gas/i386/got.s: Add LSL, MOVLPS, and BNDCN cases.
3639 * testsuite/gas/i386/got-no-relax.d, testsuite/gas/i386/got.d:
3640 Adjust expectations.
3644 * testsuite/gas/bpf/alu.d: Update expected opcode for `neg'.
3645 * testsuite/gas/bpf/alu-be.d: Likewise.
3646 * testsuite/gas/bpf/alu32.d: Likewise for `neg32'.
3647 * testsuite/gas/bpf/alu32-be.d: Likewise.
3651 * testsuite/gas/i386/x86-64-branch-2.s,
3652 testsuite/gas/i386/x86-64-branch-4.s,
3653 testsuite/gas/i386/x86-64-branch.s: Add RETW cases.
3654 * testsuite/gas/i386/ilp32/x86-64-branch.d,
3655 testsuite/gas/i386/x86-64-branch-2.d,
3656 testsuite/gas/i386/x86-64-branch-4.l,
3657 testsuite/gas/i386/x86-64-branch.d: Adjust expectations.
3661 * config/tc-i386.c (process_suffix): .
3662 testsuite/gas/i386/noreg64.s: Add IRET and LRET cases.
3663 testsuite/gas/i386/x86-64-opcode.s: Add suffix to IRET and LRET.
3665 testsuite/gas/i386/x86-64-suffix.s: Drop IRET case without
3667 testsuite/gas/i386/x86_64.s: Add RETF cases.
3668 * testsuite/gas/i386/k1om.d, testsuite/gas/i386/l1om.d,
3669 testsuite/gas/i386/noreg64.d, testsuite/gas/i386/noreg64.l,
3670 testsuite/gas/i386/x86-64-opcode.d,
3671 testsuite/gas/i386/x86-64-suffix-intel.d,
3672 testsuite/gas/i386/x86-64-suffix.d,
3673 testsuite/gas/i386/x86_64-intel.d
3674 testsuite/gas/i386/x86_64.d: Adjust expectations.
3675 * testsuite/gas/i386/x86-64-suffix.e,
3676 testsuite/gas/i386/x86_64.e: New.
3680 * config/tc-i386.c (process_suffix): Redo and move FLDENV et al
3686 * config/tc-i386.c (check_long_reg): Also convert to QWORD for
3688 * doc/c-i386.texi: Add a node for AMD64 vs. Intel64 ISA
3689 differences. Document movslq and movsxd.
3690 * testsuite/gas/i386/i386.exp: Run PR binutils/25445 tests.
3691 * testsuite/gas/i386/x86-64-movsxd-intel.d: New file.
3692 * testsuite/gas/i386/x86-64-movsxd-intel64-intel.d: Likewise.
3693 * testsuite/gas/i386/x86-64-movsxd-intel64-inval.l: Likewise.
3694 * testsuite/gas/i386/x86-64-movsxd-intel64-inval.s: Likewise.
3695 * testsuite/gas/i386/x86-64-movsxd-intel64.d: Likewise.
3696 * testsuite/gas/i386/x86-64-movsxd-intel64.s: Likewise.
3697 * testsuite/gas/i386/x86-64-movsxd-inval.l: Likewise.
3698 * testsuite/gas/i386/x86-64-movsxd-inval.s: Likewise.
3699 * testsuite/gas/i386/x86-64-movsxd.d: Likewise.
3700 * testsuite/gas/i386/x86-64-movsxd.s: Likewise.
3704 * testsuite/gas/all/gas.exp: Replace case statements with switch
3706 * testsuite/gas/elf/elf.exp: Likewise.
3707 * testsuite/gas/macros/macros.exp: Likewise.
3708 * testsuite/lib/gas-defs.exp: Likewise.
3713 * testsuite/gas/aarch64/armv8_4-a.d: Add cfinv.
3714 * testsuite/gas/aarch64/armv8_4-a.s: Likewise.
3718 * testsuite/gas/riscv/march-ok-s.d: sx is no longer valid and
3719 s exts must be known, so rename *ok* to *fail*.
3720 * testsuite/gas/riscv/march-ok-sx.d: Likewise.
3721 * testsuite/gas/riscv/march-ok-s-with-version: Likewise.
3722 * testsuite/gas/riscv/march-fail-s.l: Expected error messages for
3724 * testsuite/gas/riscv/march-fail-sx.l: Likewise.
3725 * testsuite/gas/riscv/march-fail-sx-with-version.l: Likewise.
3730 * config/tc-i386.c (check_long_reg): Always disallow double word
3731 suffix in mnemonic with word general register.
3732 * testsuite/gas/i386/general.s: Replace word general register
3733 with double word general register for movl.
3734 * testsuite/gas/i386/inval.s: Add tests for movl with word general
3736 * testsuite/gas/i386/general.l: Updated.
3737 * testsuite/gas/i386/inval.l: Likewise.
3741 * config/tc-ppc.c (parse_tls_arg): Handle tls arg for
3742 __tls_get_addr_desc and __tls_get_addr_opt.
3746 * testsuite/gas/i386/inval-crc32.s,
3747 testsuite/gas/i386/x86-64-inval-crc32.s: Add alignment directive.
3748 * testsuite/gas/i386/inval-crc32.l,
3749 testsuite/gas/i386/x86-64-inval-crc32.l: Adjust expectations.
3753 * config/tc-i386.c (process_suffix): Merge CRC32 handling into
3754 generic code path. Deal with No_lSuf being set in a template.
3755 * testsuite/gas/i386/inval-crc32.l,
3756 testsuite/gas/i386/x86-64-inval-crc32.l: Expect warning(s)
3757 instead of error(s) when operand size is ambiguous.
3758 * testsuite/gas/i386/noreg16.s, testsuite/gas/i386/noreg32.s,
3759 testsuite/gas/i386/noreg64.s: Add CRC32 tests.
3760 * testsuite/gas/i386/noreg16.d, testsuite/gas/i386/noreg16.l,
3761 testsuite/gas/i386/noreg32.d, testsuite/gas/i386/noreg32.l,
3762 testsuite/gas/i386/noreg64.d, testsuite/gas/i386/noreg64.l:
3763 Adjust expectations.
3767 * config/tc-i386.c (process_suffix): Drop SYSRET special case
3768 and an intel_syntax check. Re-write lack-of-suffix processing
3770 * doc/c-i386.texi: Document operand size defaults for suffix-
3771 less AT&T syntax insns.
3772 * testsuite/gas/i386/bundle.s, testsuite/gas/i386/lock-1.s,
3773 testsuite/gas/i386/opcode.s, testsuite/gas/i386/sse3.s,
3774 testsuite/gas/i386/x86-64-avx-scalar.s,
3775 testsuite/gas/i386/x86-64-avx.s,
3776 testsuite/gas/i386/x86-64-bundle.s,
3777 testsuite/gas/i386/x86-64-intel64.s,
3778 testsuite/gas/i386/x86-64-lock-1.s,
3779 testsuite/gas/i386/x86-64-opcode.s,
3780 testsuite/gas/i386/x86-64-sse2avx.s,
3781 testsuite/gas/i386/x86-64-sse3.s: Add missing suffixes.
3782 * testsuite/gas/i386/nops.s, testsuite/gas/i386/sse-noavx.s,
3783 testsuite/gas/i386/x86-64-nops.s,
3784 testsuite/gas/i386/x86-64-ptwrite.s,
3785 testsuite/gas/i386/x86-64-simd.s,
3786 testsuite/gas/i386/x86-64-sse-noavx.s,
3787 testsuite/gas/i386/x86-64-suffix.s: Drop bogus suffix-less
3789 * testsuite/gas/i386/noreg16.s, testsuite/gas/i386/noreg32.s,
3790 testsuite/gas/i386/noreg64.s: Add further tests.
3791 * testsuite/gas/i386/ilp32/x86-64-nops.d,
3792 testsuite/gas/i386/nops.d, testsuite/gas/i386/noreg16.d,
3793 testsuite/gas/i386/noreg32.d, testsuite/gas/i386/noreg64.d,
3794 testsuite/gas/i386/sse-noavx.d,
3795 testsuite/gas/i386/x86-64-intel64.d,
3796 testsuite/gas/i386/x86-64-nops.d,
3797 testsuite/gas/i386/x86-64-opcode.d,
3798 testsuite/gas/i386/x86-64-ptwrite-intel.d,
3799 testsuite/gas/i386/x86-64-ptwrite.d,
3800 testsuite/gas/i386/x86-64-simd-intel.d,
3801 testsuite/gas/i386/x86-64-simd-suffix.d,
3802 testsuite/gas/i386/x86-64-simd.d,
3803 testsuite/gas/i386/x86-64-sse-noavx.d
3804 testsuite/gas/i386/x86-64-suffix.d,
3805 testsuite/gas/i386/x86-64-suffix-intel.d: Adjust expectations.
3806 * testsuite/gas/i386/noreg16.l, testsuite/gas/i386/noreg32.l,
3807 testsuite/gas/i386/noreg64.l: New.
3808 * testsuite/gas/i386/i386.exp: Run new tests.
3812 * testsuite/gas/i386/avx512_bf16_vl.s,
3813 testsuite/gas/i386/x86-64-avx512_bf16_vl.s: Add broadcast forms
3814 of VCVTNEPS2BF16{X,Y}. Add operand-size less Intel syntax
3815 broadcast forms of VCVTNEPS2BF16.
3816 * testsuite/gas/i386/avx512_bf16_vl.d,
3817 testsuite/gas/i386/x86-64-avx512_bf16_vl.d: Adjust expectations.
3821 * po/uk.po: Updated Ukranian translation.
3826 * config/tc-i386.c (output_insn): Add a dummy REX_OPCODE prefix
3827 for lea with R_X86_64_GOTPC32_TLSDESC relocation when generating
3829 * testsuite/gas/i386/ilp32/x32-tls.d: Updated.
3830 * testsuite/gas/i386/ilp32/x32-tls.s: Add tests for lea with
3831 R_X86_64_GOTPC32_TLSDESC relocation.
3835 * configure: Regenerate.
3836 * po/gas.pot: Regenerate.
3840 Binutils 2.34 branch created.
3844 * config/tc-i386.c (_i386_insn): Replace vex_encoding_vex2
3845 with vex_encoding_vex.
3846 (parse_insn): Likewise.
3847 * doc/c-i386.texi: Replace {vex2} with {vex}. Update {vex}
3848 and {vex3} documentation.
3849 * testsuite/gas/i386/pseudos.s: Replace 3 {vex2} tests with
3851 * testsuite/gas/i386/x86-64-pseudos.s: Likewise.
3856 * config/tc-arm.c (mve_ext, mve_fp_ext): Use CORE_HIGH.
3857 (armv8_1m_main_ext_table): Use CORE_HIGH for mve.
3858 * testsuite/arm/armv8_1-m-fpu-mve-1.s: New.
3859 * testsuite/arm/armv8_1-m-fpu-mve-1.d: New.
3860 * testsuite/arm/armv8_1-m-fpu-mve-2.s: New.
3861 * testsuite/arm/armv8_1-m-fpu-mve-2.d: New.
3865 * config/tc-i386.c (match_template): Drop found_cpu_match local
3870 * testsuite/gas/i386/avx512dq-inval.l,
3871 testsuite/gas/i386/avx512dq-inval.s: New.
3872 * testsuite/gas/i386/i386.exp: Run new test.
3876 * config/tc-msp430.c (CHECK_RELOC_MSP430): Always generate 430X
3877 relocations when the target is 430X, except when extracting part of an
3879 (msp430_srcoperand): Adjust comment.
3880 Initialize the expp member of the msp430_operand_s struct as
3882 (msp430_dstoperand): Likewise.
3883 * testsuite/gas/msp430/msp430.exp: Run new test.
3884 * testsuite/gas/msp430/reloc-lo-430x.d: New test.
3885 * testsuite/gas/msp430/reloc-lo-430x.s: New test.
3889 * configure.tgt: Add sparc-*-freebsd case.
3893 * testsuite/gas/i386/align-branch-1a.d: Updated for Darwin.
3894 * testsuite/gas/i386/align-branch-1b.d: Likewise.
3895 * testsuite/gas/i386/align-branch-1c.d: Likewise.
3896 * testsuite/gas/i386/align-branch-1d.d: Likewise.
3897 * testsuite/gas/i386/align-branch-1e.d: Likewise.
3898 * testsuite/gas/i386/align-branch-1f.d: Likewise.
3899 * testsuite/gas/i386/align-branch-1g.d: Likewise.
3900 * testsuite/gas/i386/align-branch-1h.d: Likewise.
3901 * testsuite/gas/i386/align-branch-1i.d: Likewise.
3902 * testsuite/gas/i386/align-branch-5.d: Likewise.
3903 * testsuite/gas/i386/x86-64-align-branch-1a.d: Likewise.
3904 * testsuite/gas/i386/x86-64-align-branch-1b.d: Likewise.
3905 * testsuite/gas/i386/x86-64-align-branch-1c.d: Likewise.
3906 * testsuite/gas/i386/x86-64-align-branch-1d.d: Likewise.
3907 * testsuite/gas/i386/x86-64-align-branch-1e.d: Likewise.
3908 * testsuite/gas/i386/x86-64-align-branch-1f.d: Likewise.
3909 * testsuite/gas/i386/x86-64-align-branch-1g.d: Likewise.
3910 * testsuite/gas/i386/x86-64-align-branch-1h.d: Likewise.
3911 * testsuite/gas/i386/x86-64-align-branch-1i.d: Likewise.
3912 * testsuite/gas/i386/x86-64-align-branch-5.d: Likewise.
3913 * testsuite/gas/i386/i386.exp: Skip x86-64-align-branch-2a,
3914 x86-64-align-branch-2b and x86-64-align-branch-2c on Darwin.
3919 * config/tc-z80.c: Add support for half precision, single
3920 precision and double precision floating point values.
3921 * config/tc-z80.h b/gas/config/tc-z80.h: Disable string escapes.
3922 * doc/as.texi: Add new z80 command line options.
3923 * doc/c-z80.texi: Document new z80 command line options.
3924 * testsuite/gas/z80/ez80_pref_dis.s: New test.
3925 * testsuite/gas/z80/ez80_pref_dis.d: New test driver.
3926 * testsuite/gas/z80/z80.exp: Run the new test.
3927 * testsuite/gas/z80/fp_math48.d: Use correct command line option.
3928 * testsuite/gas/z80/fp_zeda32.d: Likewise.
3929 * testsuite/gas/z80/strings.d: Update expected output.
3933 * config/tc-aarch64.c (f64mm, f32mm): Add sve as a feature
3938 * config/tc-arc.c (arc_select_cpu): Re-init the bfd if we change
3940 * config/tc-arc.h: Add header if/defs.
3941 * testsuite/gas/arc/pseudos.d: Improve matching pattern.
3945 * testsuite/gas/wasm32/allinsn.d: Update expected output.
3949 * config/tc-tic4x.c (tic4x_operands_match): Correct tic3x trap
3954 * testsuite/gas/elf/pr14891.s: Don't start directives in first column.
3955 * testsuite/gas/elf/pr21661.d: Don't run on hpux.
3960 * config/tc-z80.c (emit_ld_m_rr): Use integer types when checking
3962 (emit_ld_r_r): Likewise.
3963 (emit_ld_rr_m): Likewise.
3964 (emit_ld_rr_nn): Likewise.
3968 * config/tc-i386.c (optimize_encoding): Add
3969 is_any_vex_encoding() invocations. Drop respective
3970 i.tm.extension_opcode == None checks.
3974 * config/tc-i386.c (md_assemble): Check RegRex is clear during
3975 REX transformations. Correct comment indentation.
3979 * config/tc-i386.c (optimize_encoding): Generalize register
3980 transformation for TEST optimization.
3984 * testsuite/gas/i386/x86-64-sysenter-amd.s,
3985 testsuite/gas/i386/x86-64-sysenter-amd.d,
3986 testsuite/gas/i386/x86-64-sysenter-amd.l,
3987 testsuite/gas/i386/x86-64-sysenter-intel.d,
3988 testsuite/gas/i386/x86-64-sysenter-mixed.d: New.
3989 * testsuite/gas/i386/i386.exp: Run new tests.
3994 * doc/as.texi (Align): Document the fact that all arguments can be
3997 (P2align): Likewise.
4002 * config/obj-elf.c (obj_elf_section): Fail if the section name is
4003 already defined as a different symbol type.
4004 * testsuite/gas/elf/pr14891.s: New test source file.
4005 * testsuite/gas/elf/pr14891.d: New test driver.
4006 * testsuite/gas/elf/pr14891.s: New test expected error output.
4007 * testsuite/gas/elf/elf.exp: Run the new test.
4011 * config/tc-z8k.c (md_begin): Make idx unsigned.
4012 (get_specific): Likewise for this_index.
4016 * onfig/tc-arc.c (parse_reloc_symbol): New function.
4017 (tokenize_arguments): Clean up, use parse_reloc_symbol function.
4018 (md_operand): Set X_md to absent.
4019 (arc_parse_name): Check for X_md.
4024 * as.h (TC_STRING_ESCAPES): Provide a default definition.
4025 * app.c (do_scrub_chars): Use TC_STRING_ESCAPES instead of
4027 * read.c (next_char_of_string): Likewise.
4028 * config/tc-ppc.h (TC_STRING_ESCAPES): Define.
4029 * config/tc-z80.h (TC_STRING_ESCAPES): Define.
4033 * po/sv.po: Updated Swedish translation.
4037 * testsuite/gas/aarch64/f64mm.s: Scale index of LD1RO{H,W,D}.
4038 * testsuite/gas/aarch64/f64mm.d: Adjust expectations.
4042 * testsuite/gas/aarch64/i8mm.s: Add 128-bit form tests for
4043 by-element usdot. Add 64-bit form tests for by-element sudot.
4044 * testsuite/gas/aarch64/i8mm.d: Adjust expectations.
4048 * testsuite/gas/aarch64/f64mm.s: Drop 'i' from uzip<n>.
4049 * testsuite/gas/aarch64/f64mm.d: Adjust expectations.
4053 * testsuite/gas/aarch64/f64mm.d,
4054 testsuite/gas/aarch64/sve-movprfx-mm.d: Adjust expectations.
4058 * config/tc-z80.c: Add new architectures: Z180 and eZ80. Add
4059 support for assembler code generated by SDCC. Add new relocation
4060 types. Add z80-elf target support.
4061 * config/tc-z80.h: Add z80-elf target support. Enable dollar local
4062 labels. Local labels starts from ".L".
4063 * NEWS: Mention the new support.
4064 * testsuite/gas/all/fwdexp.d: Fix failure due to symbol conflict.
4065 * testsuite/gas/all/fwdexp.s: Likewise.
4066 * testsuite/gas/all/cond.l: Likewise.
4067 * testsuite/gas/all/cond.s: Likewise.
4068 * testsuite/gas/all/fwdexp.d: Likewise.
4069 * testsuite/gas/all/fwdexp.s: Likewise.
4070 * testsuite/gas/elf/section2.e-mips: Likewise.
4071 * testsuite/gas/elf/section2.l: Likewise.
4072 * testsuite/gas/elf/section2.s: Likewise.
4073 * testsuite/gas/macros/app1.d: Likewise.
4074 * testsuite/gas/macros/app1.s: Likewise.
4075 * testsuite/gas/macros/app2.d: Likewise.
4076 * testsuite/gas/macros/app2.s: Likewise.
4077 * testsuite/gas/macros/app3.d: Likewise.
4078 * testsuite/gas/macros/app3.s: Likewise.
4079 * testsuite/gas/macros/app4.d: Likewise.
4080 * testsuite/gas/macros/app4.s: Likewise.
4081 * testsuite/gas/macros/app4b.s: Likewise.
4082 * testsuite/gas/z80/suffix.d: Fix failure on ELF target.
4083 * testsuite/gas/z80/z80.exp: Add new tests
4084 * testsuite/gas/z80/dollar.d: New file.
4085 * testsuite/gas/z80/dollar.s: New file.
4086 * testsuite/gas/z80/ez80_adl_all.d: New file.
4087 * testsuite/gas/z80/ez80_adl_all.s: New file.
4088 * testsuite/gas/z80/ez80_adl_suf.d: New file.
4089 * testsuite/gas/z80/ez80_isuf.s: New file.
4090 * testsuite/gas/z80/ez80_z80_all.d: New file.
4091 * testsuite/gas/z80/ez80_z80_all.s: New file.
4092 * testsuite/gas/z80/ez80_z80_suf.d: New file.
4093 * testsuite/gas/z80/r800_extra.d: New file.
4094 * testsuite/gas/z80/r800_extra.s: New file.
4095 * testsuite/gas/z80/r800_ii8.d: New file.
4096 * testsuite/gas/z80/r800_z80_doc.d: New file.
4097 * testsuite/gas/z80/z180.d: New file.
4098 * testsuite/gas/z80/z180.s: New file.
4099 * testsuite/gas/z80/z180_z80_doc.d: New file.
4100 * testsuite/gas/z80/z80_doc.d: New file.
4101 * testsuite/gas/z80/z80_doc.s: New file.
4102 * testsuite/gas/z80/z80_ii8.d: New file.
4103 * testsuite/gas/z80/z80_ii8.s: New file.
4104 * testsuite/gas/z80/z80_in_f_c.d: New file.
4105 * testsuite/gas/z80/z80_in_f_c.s: New file.
4106 * testsuite/gas/z80/z80_op_ii_ld.d: New file.
4107 * testsuite/gas/z80/z80_op_ii_ld.s: New file.
4108 * testsuite/gas/z80/z80_out_c_0.d: New file.
4109 * testsuite/gas/z80/z80_out_c_0.s: New file.
4110 * testsuite/gas/z80/z80_reloc.d: New file.
4111 * testsuite/gas/z80/z80_reloc.s: New file.
4112 * testsuite/gas/z80/z80_sli.d: New file.
4113 * testsuite/gas/z80/z80_sli.s: New file.
4117 * config/tc-arm.c (parse_reg_list): Use REG_TYPE_RN instead of
4122 Update year range in copyright notice of all files.
4124 For older changes see ChangeLog-2019
4126 Copyright (C) 2020 Free Software Foundation, Inc.
4128 Copying and distribution of this file, with or without modification,
4129 are permitted in any medium without royalty provided the copyright
4130 notice and this notice are preserved.
4136 version-control: never