3 * cgen.c (gas_cgen_finish_insn): Pass the endianness to
5 (gas_cgen_md_apply_fix): Likewise.
6 (gas_cgen_md_apply_fix): Likewise.
7 * config/tc-bpf.c (md_apply_fix): Pass data endianness to
9 * config/tc-mep.c (mep_check_ivc2_scheduling): Pass endianness to
14 * testsuite/config/default.exp: Remove global directive outside
16 * testsuite/gas/mep/complex-relocs.exp: Likewise.
17 * testsuite/gas/microblaze/relax_size.exp: Likewise.
18 * testsuite/gas/microblaze/reloc_sym.exp: Likewise.
19 * testsuite/gas/mt/relocs.exp: Likewise.
20 * testsuite/gas/rx/rx.exp: Likewise.
24 * doc/c-riscv.texi (RISC-V-Options): Fix non-ASCII apostrophe.
30 * doc/c-riscv.texi (RISC-V-Formats): Add missing I format using
31 simm12(rs1). Correct S format to use simm12(rs1). Drop SB and B
32 formats using simm12(rs1). Correct SB and B to use rs1 and rs2.
33 Move B before SB. Move J before UJ.
37 * write.c (relax_segment): Fix handling of negative offset when
38 relaxing an rs_org frag.
39 * testsuite/gas/aarch64/org-neg.d: New test.
40 * testsuite/gas/aarch64/org-neg.l: Error output for test.
41 * testsuite/gas/aarch64/org-neg.s: Input for test.
42 * testsuite/gas/arm/org-neg.d: New test.
43 * testsuite/gas/arm/org-neg.l: Error output for test.
44 * testsuite/gas/arm/org-neg.s: Input for test.
48 Fix unexpected failures in gas testsuite for pdp11-aout target.
49 These are caused by the PDP11's mix of little-endian octets in
50 shorts but shorts in big endian order for long or quad.
52 * config/tc-pdp11.c (md_number_to_chars): Implement .quad
53 * testsuite/gas/all/gas.exp: Select alternate test scripts for
54 pdp11, skip octa test completely.
55 * testsuite/gas/all/eqv-dot-pdp11.s: Identical to eqv-dot.s
56 * testsuite/gas/all/eqv-dot-pdp11.d: Match different octet order.
57 * testsuite/gas/all/cond-pdp11.l: Match different octet order.
61 * frags.c (frag_grow): Fix comment.
66 * config/tc-pdp11.c (parse_reg): Distinguish register names from
67 symbols that begin with a register name.
68 * testsuite/gas/pdp11/pdp11.exp: Add test of such symbols.
69 * testsuite/gas/pdp11/pr26001.s: Likewise.
70 * testsuite/gas/pdp11/pr26001.d: Likewise.
74 * config/tc-riscv.c (riscv_init_csr_hash): NULL initilize next
75 pointer when creating struct riscv_csr_extra.
79 * testsuite/gas/i386/align-branch-9.d: Updated for PECOFF.
80 * testsuite/gas/i386/inval-avx512f.s: Add .p2align for PECOFF.
81 * testsuite/gas/i386/inval-avx512f.l: Updated.
85 * testsuite/gas/s390/zarch-z13.d: Add regexp checks for vector
86 load/store instruction variants with alignment hints.
87 * testsuite/gas/s390/zarch-z13.s: Emit new vector load/store
88 instruction variants with alignment hints.
93 * config/tc-xgate.c (md_apply_fix): Check BFD_RELOC_XGATE_PCREL_X
94 instead of R_XGATE_PCREL_X.
95 (xgate_parse_operand): Replace R_XGATE_PCREL_X with
96 BFD_RELOC_XGATE_PCREL_X.
101 * config/tc-visium.c (md_convert_frag): Replace fragP->fr_literal
102 with &fragP->fr_literal[0].
107 * config/tc-vax.c (md_estimate_size_before_relax): Replace
108 fragP->fr_literal with &fragP->fr_literal[0].
109 (md_convert_frag): Likewise.
114 * config/tc-v850.c (md_convert_frag): Replace fragP->fr_literal
115 with &fragP->fr_literal[0].
120 * config/tc-crx.c (getreg_image): Change argument type to int.
121 (md_convert_frag): Replace fragP->fr_literal with
122 &fragP->fr_literal[0].
127 * onfig/tc-score.c (s3_do_macro_bcmp): Replace overlapping
128 sprintf with memmove.
132 * config/tc-mcore.c (md_convert_frag): Replace fragP->fr_literal
133 with &fragP->fr_literal[0].
138 * config/tc-cr16.c (md_assemble): Use memmove to concatenate
139 2 overlapping strings.
143 * config/tc-cr16.c (md_convert_frag): Replace fragP->fr_literal
144 with &fragP->fr_literal[0].
148 * config/tc-csky.c (md_convert_frag): Replace fragp->fr_literal
149 with &fragp->fr_literal[0].
150 * config/tc-microblaze.c (md_apply_fix): Likewise.
151 * config/tc-sh.c (md_convert_frag): Likewise.
156 * config/tc-riscv.c (riscv_pre_output_hook): Change s type from const
157 asection to segT. New locals seg and subseg. Call subseg_set before
158 fix_new_exp. Call subseg_set after loop to restore original values.
162 * atof-generic.c: Replace "if (x) free (x)" with "free (x)"
164 * config/obj-elf.c: Likewise.
165 * config/tc-aarch64.c: Likewise.
166 * config/tc-arm.c: Likewise.
167 * config/tc-m68k.c: Likewise.
168 * config/tc-nios2.c: Likewise.
169 * config/tc-tic30.c: Likewise.
173 * symbols.c: Likewise.
174 * testsuite/gas/all/test-gen.c: Likewise.
178 * testsuite/gas/riscv/priv-reg-fail-read-only-01.s: Updated.
179 * config/tc-riscv.c (default_arch_with_ext, default_isa_spec):
180 Static variables which are used to set the ISA extensions. You can
181 use -march (or ELF build attributes) and -misa-spec to set them,
183 (ext_version_hash): The hash table used to handle the extensions
185 (init_ext_version_hash): Initialize the ext_version_hash according
186 to riscv_ext_version_table.
187 (riscv_get_default_ext_version): The callback function of
188 riscv_parse_subset_t. According to the choosed ISA spec,
189 get the default version for the specific extension.
190 (riscv_set_arch): Set the callback function.
191 (enum options, struct option md_longopts): Add new option -misa-spec.
192 (md_parse_option): Do not call riscv_set_arch for -march. We will
193 call it later in riscv_after_parse_args. Call riscv_get_isa_spec_class
194 to set default_isa_spec class.
195 (riscv_after_parse_args): Call init_ext_version_hash to initialize the
196 ext_version_hash, and then call riscv_set_arch to set the architecture
197 with versions according to default_arch_with_ext.
198 * testsuite/gas/riscv/attribute-02.d: Set 0p0 as default version for
200 * testsuite/gas/riscv/attribute-03.d: Likewise.
201 * testsuite/gas/riscv/attribute-09.d: New testcase. For i-ext, we
202 already set it's version to 2p1 by march, so no need to use the default
203 2p2 version. For m-ext, we do not set the version by -march and ELF arch
204 attribute, so set the default 2p0 to it. For zicsr, it is not defined in
205 ISA spec 2p2, so set 0p0 to it.
206 * testsuite/gas/riscv/attribute-10.d: New testcase. The version of
207 zicsr is 2p0 according to ISA spec 20191213.
208 * config/tc-riscv.c (DEFAULT_RISCV_ARCH_WITH_EXT)
209 (DEFAULT_RISCV_ISA_SPEC): Default configure option settings.
210 You can set them by configure options --with-arch and
211 --with-isa-spec, respectively.
212 (riscv_set_default_isa_spec): New function used to set the
214 (md_parse_option): Call riscv_set_default_isa_spec rather than
215 call riscv_get_isa_spec_class directly.
216 (riscv_after_parse_args): If the -isa-spec is not set, then we
217 set the default ISA spec according to DEFAULT_RISCV_ISA_SPEC by
218 calling riscv_set_default_isa_spec.
219 * testsuite/gas/riscv/attribute-01.d: Add -misa-spec=2.2, since
220 the --with-isa-spec may be set to different ISA spec.
221 * testsuite/gas/riscv/attribute-02.d: Likewise.
222 * testsuite/gas/riscv/attribute-03.d: Likewise.
223 * testsuite/gas/riscv/attribute-04.d: Likewise.
224 * testsuite/gas/riscv/attribute-05.d: Likewise.
225 * testsuite/gas/riscv/attribute-06.d: Likewise.
226 * testsuite/gas/riscv/attribute-07.d: Likewise.
227 * configure.ac: Add configure options, --with-arch and
229 * configure: Regenerated.
230 * config.in: Regenerated.
231 * config/tc-riscv.c (default_priv_spec): Static variable which is
232 used to check if the CSR is valid for the chosen privilege spec. You
233 can use -mpriv-spec to set it.
234 (enum reg_class): We now get the CSR address from csr_extra_hash rather
235 than reg_names_hash. Therefore, move RCLASS_CSR behind RCLASS_MAX.
236 (riscv_init_csr_hashes): Only need to initialize one hash table
238 (riscv_csr_class_check): Change the return type to void. Don't check
239 the ISA dependency if -mcsr-check isn't set.
240 (riscv_csr_version_check): New function. Check and find the CSR address
241 from csr_extra_hash, according to default_priv_spec. Report warning
242 for the invalid CSR if -mcsr-check is set.
243 (reg_csr_lookup_internal): Updated.
244 (reg_lookup_internal): Likewise.
245 (md_begin): Updated since DECLARE_CSR and DECLARE_CSR_ALIAS are changed.
246 (enum options, struct option md_longopts): Add new GAS option -mpriv-spec.
247 (md_parse_option): Call riscv_set_default_priv_version to set
249 (riscv_after_parse_args): If -mpriv-spec isn't set, then set the default
250 privilege spec to the newest one.
251 (enum riscv_csr_class, struct riscv_csr_extra): Move them to
252 include/opcode/riscv.h.
253 * testsuite/gas/riscv/priv-reg-fail-fext.d: This test case just want
254 to check the ISA dependency for CSR, so fix the spec version by adding
256 * testsuite/gas/riscv/priv-reg-fail-fext.l: Likewise. There are some
257 version warnings for the test case.
258 * gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.d: Likewise.
259 * gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.l: Likewise.
260 * gas/testsuite/gas/riscv/priv-reg-fail-read-only-02.d: Likewise.
261 * gas/testsuite/gas/riscv/priv-reg-fail-rv32-only.d: Likewise.
262 * gas/testsuite/gas/riscv/priv-reg-fail-rv32-only.l: Likewise.
263 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p9.d: New test case.
264 Check whether the CSR is valid when privilege version 1.9 is choosed.
265 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p9.l: Likewise.
266 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p9p1.d: New test case.
267 Check whether the CSR is valid when privilege version 1.9.1 is choosed.
268 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p9p1.l: Likewise.
269 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p10.d: New test case.
270 Check whether the CSR is valid when privilege version 1.10 is choosed.
271 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p10.l: Likewise.
272 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p11.d: New test case.
273 Check whether the CSR is valid when privilege version 1.11 is choosed.
274 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p11.l: Likewise.
275 * config/tc-riscv.c (DEFAULT_RISCV_ISA_SPEC): Default configure option
276 setting. You can set it by configure option --with-priv-spec.
277 (riscv_set_default_priv_spec): New function used to set the default
279 (md_parse_option): Call riscv_set_default_priv_spec rather than
280 call riscv_get_priv_spec_class directly.
281 (riscv_after_parse_args): If -mpriv-spec isn't set, then we set the
282 default privilege spec according to DEFAULT_RISCV_PRIV_SPEC by
283 calling riscv_set_default_priv_spec.
284 * testsuite/gas/riscv/csr-dw-regnums.d: Add -mpriv-spec=1.11, since
285 the --with-priv-spec may be set to different privilege spec.
286 * testsuite/gas/riscv/priv-reg.d: Likewise.
287 * configure.ac: Add configure option --with-priv-spec.
288 * configure: Regenerated.
289 * config.in: Regenerated.
290 * config/tc-riscv.c (explicit_attr): Rename explicit_arch_attr to
291 explicit_attr. Set it to TRUE if any ELF attribute is found.
292 (riscv_set_default_priv_spec): Try to set the default_priv_spec if
293 the priv attributes are set.
294 (md_assemble): Set the default_priv_spec according to the priv
295 attributes when we start to assemble instruction.
296 (riscv_write_out_attrs): Rename riscv_write_out_arch_attr to
297 riscv_write_out_attrs. Update the arch and priv attributes. If we
298 don't set the corresponding ELF attributes, then try to output the
300 (riscv_set_public_attributes): If any ELF attribute or -march-attr
301 options is set (explicit_attr is TRUE), then call riscv_write_out_attrs
302 to update the arch and priv attributes.
303 (s_riscv_attribute): Make sure all arch and priv attributes are set
304 before any instruction.
305 * testsuite/gas/riscv/attribute-01.d: Update the priv attributes if any
306 ELF attribute or -march-attr is set. If the priv attributes are not
307 set, then try to update them by the default setting (-mpriv-spec or
309 * testsuite/gas/riscv/attribute-02.d: Likewise.
310 * testsuite/gas/riscv/attribute-03.d: Likewise.
311 * testsuite/gas/riscv/attribute-04.d: Likewise.
312 * testsuite/gas/riscv/attribute-06.d: Likewise.
313 * testsuite/gas/riscv/attribute-07.d: Likewise.
314 * testsuite/gas/riscv/attribute-08.d: Likewise.
315 * testsuite/gas/riscv/attribute-09.d: Likewise.
316 * testsuite/gas/riscv/attribute-10.d: Likewise.
317 * testsuite/gas/riscv/attribute-unknown.d: Likewise.
318 * testsuite/gas/riscv/attribute-05.d: Likewise. Also, the priv spec
319 set by priv attributes must be supported.
320 * testsuite/gas/riscv/attribute-05.s: Likewise.
321 * testsuite/gas/riscv/priv-reg-fail-version-1p9.d: Likewise. Updated
322 priv attributes according to the -mpriv-spec option.
323 * testsuite/gas/riscv/priv-reg-fail-version-1p9p1.d: Likewise.
324 * testsuite/gas/riscv/priv-reg-fail-version-1p10.d: Likewise.
325 * testsuite/gas/riscv/priv-reg-fail-version-1p11.d: Likewise.
326 * testsuite/gas/riscv/priv-reg.d: Removed.
327 * testsuite/gas/riscv/priv-reg-version-1p9.d: New test case. Dump the
328 CSR according to the priv spec 1.9.
329 * testsuite/gas/riscv/priv-reg-version-1p9p1.d: New test case. Dump the
330 CSR according to the priv spec 1.9.1.
331 * testsuite/gas/riscv/priv-reg-version-1p10.d: New test case. Dump the
332 CSR according to the priv spec 1.10.
333 * testsuite/gas/riscv/priv-reg-version-1p11.d: New test case. Dump the
334 CSR according to the priv spec 1.11.
335 * config/tc-riscv.c (md_show_usage): Add descriptions about
337 * doc/c-riscv.texi: Likewise.
341 * testsuite/gas/ppc/power9.s <dcbf, dcbfl, dcbflp>: Add tests.
342 * testsuite/gas/ppc/power9.d: Likewise.
343 * testsuite/gas/ppc/power10.s <dcbf, dcbfps, dcbstps, hwsync, lwsync,
344 pause_short, phwsync, plwsync, ptesync, stcisync, stncisync, stsync,
345 sync, wait, waitrsv>: Add tests.
346 * testsuite/gas/ppc/power10.d: Likewise.
351 * config/tc-arm.c : Add arm_ext_v8r feature.
352 (it_fsm_post_encode): Check arm_ext_v8r feature.
353 (get_aeabi_cpu_arch_from_fset): Check arm_ext_v8r feature.
357 * write.c (write_contents): Use bfd_get_filename rather than
358 accessing bfd->filename directly. Use bfd_section_name rather
359 than accessing section->name directly.
363 * symbols.c (local_symbol_make): Init all of lsy_flags.
367 * symbols.c (resolve_symbol_value): Invoke LOCAL_SYMBOL_CHECK
368 before looking at add_symbol->sy_flags.
372 * config/tc-i386.c: Not handle lret/iret.
373 * testsuite/gas/i386/lfence-ret-a.d: Adjust testcase.
374 * testsuite/gas/i386/lfence-ret-b.d: Ditto.
375 * testsuite/gas/i386/lfence-ret-c.d: Ditto.
376 * testsuite/gas/i386/lfence-ret-d.d: Ditto.
377 * testsuite/gas/i386/lfence-ret.s: Ditto.
378 * testsuite/gas/i386/x86-64-lfence-ret-a.d: Ditto.
379 * testsuite/gas/i386/x86-64-lfence-ret-b.d: Ditto.
380 * testsuite/gas/i386/x86-64-lfence-ret-c.d: Ditto.
381 * testsuite/gas/i386/x86-64-lfence-ret-d.d: Ditto.
382 * testsuite/gas/i386/x86-64-lfence-ret-e.d: Ditto.
383 * testsuite/gas/i386/x86-64-lfence-ret.s: Ditto.
384 * testsuite/gas/i386/x86-64-lfence-ret.e: Deleted.
389 * symbols.c (struct local_symbol): Update comment.
390 (resolve_symbol_value): For resolved symbols equated to other
391 symbols, verify that the referenced symbol is not a local_symbol
392 before accessing sy_value. Don't leave symbol loops during
393 finalize_syms resolution.
394 * testsuite/gas/all/assign-bad-recursive.d: New test.
395 * testsuite/gas/all/assign-bad-recursive.l: Error output for test.
396 * testsuite/gas/all/assign-bad-recursive.s: Assembly for test.
397 * testsuite/gas/all/gas.exp: Run it.
401 * po/sv.po: Updated Swedish translation.
405 * testsuite/gas/ppc/scalarquad.d,
406 * testsuite/gas/ppc/scalarquad.s: New test.
407 * testsuite/gas/ppc/ppc.exp: Run it.
411 * testsuite/gas/ppc/rightmost.d,
412 * testsuite/gas/ppc/rightmost.s: New test.
413 * testsuite/gas/ppc/ppc.exp: Run it.
417 * testsuite/gas/ppc/xvtlsbb.d,
418 * testsuite/gas/ppc/xvtlsbb.s: New test.
419 * testsuite/gas/ppc/ppc.exp: Run it.
423 * testsuite/gas/ppc/stringop.d,
424 * testsuite/gas/ppc/stringop.s: New test.
425 * testsuite/gas/ppc/ppc.exp: Run it.
429 * testsuite/gas/ppc/set_bool.d,
430 * testsuite/gas/ppc/set_bool.s: New test.
431 * testsuite/gas/ppc/ppc.exp: Run it.
435 * testsuite/gas/ppc/bitmanip.d,
436 * testsuite/gas/ppc/bitmanip.s: New test.
437 * testsuite/gas/ppc/ppc.exp: Run it.
441 * testsuite/gas/ppc/genpcv.d,
442 * testsuite/gas/ppc/genpcv.s: New test.
443 * testsuite/gas/ppc/ppc.exp: Run it.
447 * testsuite/gas/ppc/maskmanip.d,
448 * testsuite/gas/ppc/maskmanip.s: New test.
449 * testsuite/gas/ppc/ppc.exp: Run it.
454 * config/tc-ppc.c (pre_defined_registers): Add accumulators.
455 (md_assemble): Check acc specified in correct operand.
456 * testsuite/gas/ppc/outerprod.d,
457 * testsuite/gas/ppc/outerprod.s,
458 * testsuite/gas/ppc/vsx4.d,
459 * testsuite/gas/ppc/vsx4.s: New tests.
460 * testsuite/gas/ppc/ppc.exp: Run them.
464 * testsuite/gas/ppc/simd_perm.d,
465 * testsuite/gas/ppc/simd_perm.s: New test.
466 * testsuite/gas/ppc/ppc.exp: Run it.
470 * testsuite/gas/ppc/int128.d,
471 * testsuite/gas/ppc/int128.s: New test.
472 * testsuite/gas/ppc/ppc.exp: Run it.
476 * testsuite/gas/ppc/vsx_32byte.d,
477 * testsuite/gas/ppc/vsx_32byte.s: New test.
478 * testsuite/gas/ppc/ppc.exp: Run it.
482 * testsuite/gas/ppc/vec_mul.s,
483 * testsuite/gas/ppc/vec_mul.d: New test.
484 * testsuite/gas/ppc/ppc.exp: Run it.
488 * testsuite/gas/ppc/byte_rev.d,
489 * testsuite/gas/ppc/byte_rev.s: New test.
490 * testsuite/gas/ppc/ppc.exp: Run it.
494 * testsuite/gas/ppc/power10.d: Add paste. tests.
495 * testsuite/gas/ppc/power10.s: Likewise.
499 * testsuite/gas/ppc/power10.s: New test.
500 * testsuite/gas/ppc/power10.d: Likewise.
501 * testsuite/gas/ppc/ppc.exp: Run it.
505 * config/tc-ppc.c (md_assemble): Update for PPC_OPCODE_POWER10
507 * testsuite/gas/ppc/prefix-align.d: Use -mpower10/-Mpower10 in
508 place of -mfuture/-Mfuture.
509 * testsuite/gas/ppc/prefix-pcrel.d: Likewise.
510 * testsuite/gas/ppc/prefix-reloc.d: Likewise.
514 * po/sv.po: Updated Swedish translation.
519 * doc/as.texi (Preprocessing): Replace cross reference to not
520 existant document with a URL to the equivalent page in the GCC
525 * dwarf2dbg.c (out_dir_and_file_list): Add comments describing the
526 construction of a DWARF-5 directory name table.
527 * testsuite/gas/elf/pr25917.d: Update expected output.
531 * config/tc-rx.c (elf_flags): Initialize for non-linux targets.
532 (md_parse_option): Remove initialization of elf_flags.
537 * config/tc-arm.c (do_mve_vmull): Fix scalar and NEON parsing of vmul.
538 * testsuite/gas/arm/mve-scalar-vmult-it.d: New test.
539 * testsuite/gas/arm/mve-scalar-vmult-it.s: New test.
544 * dwarf2dbg.c (out_dir_and_file_list): Check for the directory
545 table's existence before looking at its entries.
546 Also do not emit a default directory entry if there are no
549 * testsuite/gas/elf/pr25917.s: New test source file.
550 * testsuite/gas/elf/pr25917.d: New test driver.
551 * testsuite/gas/elf/elf.exp (run_elf_list_test): Run the new test.
555 * config/tc-aarch64.c (fix_insn): Implement for
556 AARCH64_OPND_UNDEFINED.
557 (parse_operands): Implement for AARCH64_OPND_UNDEFINED.
558 * testsuite/gas/aarch64/udf.s: New.
559 * testsuite/gas/aarch64/udf.d: New.
560 * testsuite/gas/aarch64/udf-invalid.s: New.
561 * testsuite/gas/aarch64/udf-invalid.l: New.
562 * testsuite/gas/aarch64/udf-invalid.d: New.
566 * config/tc-rx.c (elf_flags): Reset default value.
567 (md_parse_option): For rx-elf Initialize elf_flags with RX_ABI.
571 * config/tc-xtensa.c (XTENSA_MARCH_EARLIEST): Define macro as 0
573 (microarch_earliest): New static variable.
574 (xg_translate_idioms): Translate "simcall" to "simcall 0" when
575 simcall opcode has mandatory parameter.
576 (xg_init_global_config): Initialize microarch_earliest.
581 * config/tc-sh.c (build_Mytes): Change operand type IMM0_8 to
582 IMM0_8S and add support for IMM0_8U.
583 * testsuite/gas/sh/sh4a.s: Add test of a logical insn using an
584 unsigned 8-bit immediate.
585 * testsuite/gas/sh/sh4a.d: Extended expected disassembly.
586 * testsuite/gas/sh/sh4al-dsp.d: Update expected disassembly.
590 * NEWS: Add news entry for big-obj.
591 * config/tc-i386.c (i386_target_format): Support new format.
592 * doc/c-i386.texi: Add i386 support.
593 * testsuite/gas/pe/big-obj.d: Rename test to not be x64 specific.
594 * testsuite/gas/pe/pe.exp (big-obj): Make test run on i386 as well.
599 * dwarf2dbg.c (struct file_entry): Add auto_assigned field.
600 (assign_file_to_slot): New function. Fills in an entry in the
602 (allocate_filenum): Use new function.
603 (allocate_filename_to_slot): Use new function. If the specified
604 slot entry is already in use, but was chosen automatically then
605 reassign the automatic entry.
609 * config/tc-i386.c (lfence_before_ret_shl): New member.
610 (load_insn_p): implict load for POP/POPA/POPF/XLATB, no load
612 (insert_after_load): Issue warning for REP CMPS/SCAS.
613 (insert_before_before): Handle iret, Handle
614 -mlfence-before-ret=shl, Adjust operand size of or/not/shl to ret's,
615 (md_parse_option): Change -mlfence-before-ret=[none|not|or] to
616 -mlfence-before-ret=[none/not/or/shl/yes].
617 Enable -mlfence-before-ret=shl when
618 -mlfence-beofre-indirect-branch=all and no explict -mlfence-before-ret option.
619 (md_show_usage): Ditto.
620 * doc/c-i386.texi: Ditto.
621 * testsuite/gas/i386/i386.exp: Add new testcases.
622 * testsuite/gas/i386/lfence-load-b.d: New.
623 * testsuite/gas/i386/lfence-load-b.e: New.
624 * testsuite/gas/i386/lfence-load.d: Modified.
625 * testsuite/gas/i386/lfence-load.e: New.
626 * testsuite/gas/i386/lfence-load.s: Modified.
627 * testsuite/gas/i386/lfence-ret-a.d: Modified.
628 * testsuite/gas/i386/lfence-ret-b.d: Modified.
629 * testsuite/gas/i386/lfence-ret-c.d: New.
630 * testsuite/gas/i386/lfence-ret-d.d: New.
631 * testsuite/gas/i386/lfence-ret.s: Modified.
632 * testsuite/gas/i386/x86-64-lfence-load-b.d: New.
633 * testsuite/gas/i386/x86-64-lfence-load.d: Modified.
634 * testsuite/gas/i386/x86-64-lfence-load.s: Modified.
635 * testsuite/gas/i386/x86-64-lfence-ret-a.d: Modified.
636 * testsuite/gas/i386/x86-64-lfence-ret-b.d: Modified.
637 * testsuite/gas/i386/x86-64-lfence-ret-c.d: New.
638 * testsuite/gas/i386/x86-64-lfence-ret-d.d: New
639 * testsuite/gas/i386/x86-64-lfence-ret-e.d: New.
640 * testsuite/gas/i386/x86-64-lfence-ret.e: New.
641 * testsuite/gas/i386/x86-64-lfence-ret.s: New.
646 * config/tc-xtensa.c (md_apply_fix): Replace
647 BFD_RELOC_XTENSA_DIFF{8,16,32} generation with
648 BFD_RELOC_XTENSA_PDIFF{8,16,32} and
649 BFD_RELOC_XTENSA_NDIFF{8,16,32} generation.
650 * testsuite/gas/xtensa/loc.d: Replace BFD_RELOC_XTENSA_DIFF16
651 with BFD_RELOC_XTENSA_PDIFF16 in the expected output.
655 * config/obj-elf.c (elf_frob_symbol): Unconditionally remove
656 symbol for ".symver .. remove".
657 * doc/as.texi (.symver): Update.
658 * testsuite/gas/symver/symver11.s: Make foo weak.
659 * testsuite/gas/symver/symver11.d: Expect an error.
660 * testsuite/gas/symver/symver7.d: Allow other random symbols.
664 * testsuite/gas/symver/symver11.s: Add ".balign 8".
669 * testsuite/gas/m68k/operands.s: Add tests for cmpi.
670 * testsuite/gas/m68k/operands.d: Update.
671 * testsuite/gas/m68k/op68000.d: Update for new error messages.
676 * testsuite/gas/arm/pr24753.d: New test.
677 * testsuite/gas/arm/pr24753.s: New test.
683 * NEWS: Mention .symver extension.
684 * config/obj-elf.c (obj_elf_find_and_add_versioned_name): New
686 (obj_elf_symver): Call obj_elf_find_and_add_versioned_name to
687 add a version name. Add local, hidden and remove visibility
689 (elf_frob_symbol): Handle the list of version names. Update the
690 original symbol to local, hidden or remove it from the symbol
692 (elf_frob_file_before_adjust): Handle the list of version names.
693 * config/obj-elf.h (elf_visibility): New.
694 (elf_versioned_name_list): Likewise.
695 (elf_obj_sy): Change local to bitfield. Add rename, bad_version
696 and visibility. Change versioned_name pointer to struct
697 elf_versioned_name_list.
698 * doc/as.texi: Update .symver directive.
699 * testsuite/gas/symver/symver.exp: Run all *.d tests. Add more
700 error checking tests.
701 * testsuite/gas/symver/symver6.d: New file.
702 * testsuite/gas/symver/symver7.d: Likewise.
703 * testsuite/gas/symver/symver7.s: Likewise.
704 * testsuite/gas/symver/symver8.d: Likewise.
705 * testsuite/gas/symver/symver8.s: Likewise.
706 * testsuite/gas/symver/symver9.s: Likewise.
707 * testsuite/gas/symver/symver9a.d: Likewise.
708 * testsuite/gas/symver/symver9b.d: Likewise.
709 * testsuite/gas/symver/symver10.s: Likewise.
710 * testsuite/gas/symver/symver10a.d: Likewise.
711 * testsuite/gas/symver/symver10b.d: Likewise.
712 * testsuite/gas/symver/symver11.d: Likewise.
713 * testsuite/gas/symver/symver11.s: Likewise.
714 * testsuite/gas/symver/symver12.d: Likewise.
715 * testsuite/gas/symver/symver12.s: Likewise.
716 * testsuite/gas/symver/symver13.d: Likewise.
717 * testsuite/gas/symver/symver13.s: Likewise.
718 * testsuite/gas/symver/symver14.d: Likewise.
719 * testsuite/gas/symver/symver14.l: Likewise.
720 * testsuite/gas/symver/symver15.d: Likewise.
721 * testsuite/gas/symver/symver15.l: Likewise.
722 * testsuite/gas/symver/symver6.l: Removed.
723 * testsuite/gas/symver/symver6.s: Updated.
727 * config/tc-aarch64.c (parse_barrier_psb): Update error messages
729 * testsuite/gas/aarch64/system-2.d: Update -march and new tsb tests.
730 * testsuite/gas/aarch64/system-2.s: Add new tsb tests.
731 * testsuite/gas/aarch64/system.d: Update.
735 * testsuite/gas/aarch64/bti.d: Update -march option.
736 * testsuite/gas/aarch64/illegal-bti.d: Remove.
737 * testsuite/gas/aarch64/illegal-bti.l: Remove.
738 * testsuite/gas/aarch64/illegal-ras-1.l: Remove esb.
739 * testsuite/gas/aarch64/illegal-ras-1.s: Remove esb.
743 * config/tc-bfin.h (TC_EQUAL_IN_INSN): Allow assignment to dot.
749 * config/obj-elf.c (obj_elf_type): Reject ifunc symbols on MIPS
751 * testsuite/gas/elf/elf.exp: Add MIPS targets to the list to skip
753 * testsuite/gas/elf/type-noifunc.e: Update to allow for MIPS
754 targets running this test.
758 * testsuite/gas/bpf/bpf.exp: Run jump32 tests.
759 * testsuite/gas/bpf/jump32.s: New file.
760 * testsuite/gas/bpf/jump32.d: Likewise.
764 * doc/c-i386.texi: Correct -mlfence-before-indirect-branch=
769 * config/tc-moxie.h (MD_PCREL_FROM_SECTION): Delete define.
770 (md_pcrel_from): Remove prototytpe.
771 * config/tc-m32c.h (MD_PCREL_FROM_SECTION): Delete duplicate
773 (md_pcrel_from_section): Remove duplicate prototype.
774 * tc.h (md_pcrel_from_section): Add prototype.
775 * config/tc-aarch64.h (md_pcrel_from_section): Remove prototype.
776 * config/tc-arc.h (md_pcrel_from_section): Likewise.
777 * config/tc-arm.h (md_pcrel_from_section): Likewise.
778 * config/tc-avr.h (md_pcrel_from_section): Likewise.
779 * config/tc-bfin.h (md_pcrel_from_section): Likewise.
780 * config/tc-bpf.h (md_pcrel_from_section): Likewise.
781 * config/tc-csky.h (md_pcrel_from_section): Likewise.
782 * config/tc-d10v.h (md_pcrel_from_section): Likewise.
783 * config/tc-d30v.h (md_pcrel_from_section): Likewise.
784 * config/tc-epiphany.h (md_pcrel_from_section): Likewise.
785 * config/tc-fr30.h (md_pcrel_from_section): Likewise.
786 * config/tc-frv.h (md_pcrel_from_section): Likewise.
787 * config/tc-iq2000.h (md_pcrel_from_section): Likewise.
788 * config/tc-lm32.h (md_pcrel_from_section): Likewise.
789 * config/tc-m32c.h (md_pcrel_from_section): Likewise.
790 * config/tc-m32r.h (md_pcrel_from_section): Likewise.
791 * config/tc-mcore.h (md_pcrel_from_section): Likewise.
792 * config/tc-mep.h (md_pcrel_from_section): Likewise.
793 * config/tc-metag.h (md_pcrel_from_section): Likewise.
794 * config/tc-microblaze.h (md_pcrel_from_section): Likewise.
795 * config/tc-mmix.h (md_pcrel_from_section): Likewise.
796 * config/tc-moxie.h (md_pcrel_from_section): Likewise.
797 * config/tc-msp430.h (md_pcrel_from_section): Likewise.
798 * config/tc-mt.h (md_pcrel_from_section): Likewise.
799 * config/tc-or1k.h (md_pcrel_from_section): Likewise.
800 * config/tc-ppc.h (md_pcrel_from_section): Likewise.
801 * config/tc-rl78.h (md_pcrel_from_section): Likewise.
802 * config/tc-rx.h (md_pcrel_from_section): Likewise.
803 * config/tc-s390.h (md_pcrel_from_section): Likewise.
804 * config/tc-sh.h (md_pcrel_from_section): Likewise.
805 * config/tc-xc16x.h (md_pcrel_from_section): Likewise.
806 * config/tc-xstormy16.h (md_pcrel_from_section): Likewise.
807 * config/tc-microblaze.h (md_begin, md_assemble, md_undefined_symbol,
808 md_show_usage, md_convert_frag, md_operand, md_number_to_chars,
809 md_estimate_size_before_relax, md_section_align, tc_gen_reloc,
810 md_apply_fix3): Delete prototypes.
814 * NEWS: Mention support for Intel SERIALIZE and TSXLDTRK
819 * doc/c-z80.texi: Fix @xref warnings.
823 * config/tc-i386.c (cpu_arch): Add .TSXLDTRK.
824 (cpu_noarch): Likewise.
825 * doc/c-i386.texi: Document TSXLDTRK.
826 * testsuite/gas/i386/i386.exp: Run TSXLDTRK tests.
827 * testsuite/gas/i386/tsxldtrk.d: Likewise.
828 * testsuite/gas/i386/tsxldtrk.s: Likewise.
829 * testsuite/gas/i386/x86-64-tsxldtrk.d: Likewise.
833 * config/tc-i386.c (cpu_arch): Add .serialize.
834 (cpu_noarch): Likewise.
835 * doc/c-i386.texi: Document serialize.
836 * testsuite/gas/i386/i386.exp: Run serialize tests
837 * testsuite/gas/i386/serialize.d: Likewise.
838 * testsuite/gas/i386/x86-64-serialize.d: Likewise.
839 * testsuite/gas/i386/serialize.s: Likewise.
843 * testsuite/gas/elf/section12a.d: Use notarget instead of xfail.
844 * testsuite/gas/elf/section12b.d: Likewise.
845 * testsuite/gas/elf/section16a.d: Likewise.
846 * testsuite/gas/elf/section16b.d: Likewise.
850 * config/tc-m68k.c (m68k_ip): Fix range check for index register
851 with a suppressed address register.
856 * config/tc-i386.h (TC_FORCE_RELOCATION_ABS): New.
857 * testsuite/gas/i386/localpic.s: Add a test for relocation
858 against local absolute symbol.
859 * testsuite/gas/i386/x86-64-localpic.s: Likewise.
860 * testsuite/gas/i386/localpic.d: Updated.
861 * testsuite/gas/i386/x86-64-localpic.d: Likewise.
862 * testsuite/gas/i386/ilp32/x86-64-localpic.d: Likewise.
867 * testsuite/gas/i386/solaris/x86-64-branch-2.d: New file.
868 * testsuite/gas/i386/solaris/x86-64-branch-3.d: New file.
869 * testsuite/gas/i386/solaris/x86-64-jump.d: Incorporate changes to
870 testsuite/gas/i386/x86-64-jump.d.
871 * gas/testsuite/gas/i386/solaris/x86-64-mpx-branch-1.d:
872 Incorporate changes to
873 gas/testsuite/gas/i386/x86-64-mpx-branch-1.d.
874 * testsuite/gas/i386/solaris/x86-64-mpx-branch-2.d : Incorporate
875 changes to testsuite/gas/i386/x86-64-mpx-branch-2.d.
876 * testsuite/gas/i386/x86-64-branch-2.d: Skip on *-*-solaris*.
877 * testsuite/gas/i386/x86-64-branch-3.d: Likewise.
883 * dwarf2dbg.c: Do not include "bignum.h".
887 * testsuite/gas/riscv/alias-csr.d: Move this to priv-reg-pseudo.
888 * testsuite/gas/riscv/alias-csr.s: Likewise.
889 * testsuite/gas/riscv/no-aliases-csr.d: Move this
890 to priv-reg-pseudo-noalias.
891 * testsuite/gas/riscv/bad-csr.d: Rename to priv-reg-fail-nonexistent.
892 * testsuite/gas/riscv/bad-csr.l: Likewise.
893 * testsuite/gas/riscv/bad-csr.s: Likewise.
894 * testsuite/gas/riscv/satp.d: Removed. Already included in priv-reg.
895 * testsuite/gas/riscv/satp.s: Likewise.
896 * testsuite/gas/riscv/priv-reg-pseudo.d: New testcase for all pseudo
897 csr instruction, including alias-csr testcase.
898 * testsuite/gas/riscv/priv-reg-pseudo.s: Likewise.
899 * testsuite/gas/riscv/priv-reg-pseudo-noalias.d: New testcase for all
900 pseudo instruction with objdump -Mno-aliases.
901 * testsuite/gas/riscv/priv-reg-fail-nonexistent.d: New testcase.
902 * testsuite/gas/riscv/priv-reg-fail-nonexistent.l: Likewise.
903 * testsuite/gas/riscv/priv-reg-fail-nonexistent.s: Likewise.
904 * testsuite/gas/riscv/priv-reg.d: Update CSR to 1.11.
905 * testsuite/gas/riscv/priv-reg.s: Likewise.
906 * testsuite/gas/riscv/priv-reg-fail-rv32-only.l: Likewise.
907 * testsuite/gas/riscv/csr-dw-regnums.d: Likewise.
908 * testsuite/gas/riscv/csr-dw-regnums.s: Likewise.
912 * config/obj-coff.c (obj_coff_section): Set the bss flag on
913 sections with the "b" attribute.
917 * testsuite/gas/s12z/truncated.d: Update expected output.
922 * config/tc-z80.c (md_pseudo_table): Add xdef anf xref pseudo ops.
923 * doc/c-z80.texi: Update documentation.
930 Fix disassembling ED+A4/AC/B4/BC opcodes.
931 Fix assembling lines containing colonless label and instruction
932 with first operand inside parentheses.
933 Fix registration of unsupported by target CPU registers.
934 * config/tc-z80.c: See above.
935 * config/tc-z80.h: See above.
936 * testsuite/gas/z80/colonless.d: Update test.
937 * testsuite/gas/z80/colonless.s: Likewise.
938 * testsuite/gas/z80/ez80_adl_all.d: Likewise.
939 * testsuite/gas/z80/ez80_unsup_regs.d: Likewise.
940 * testsuite/gas/z80/ez80_z80_all.d: Likewise.
941 * testsuite/gas/z80/gbz80_unsup_regs.d: Likewise.
942 * testsuite/gas/z80/r800_unsup_regs.d: Likewise.
943 * testsuite/gas/z80/unsup_regs.s: Likewise.
944 * testsuite/gas/z80/z180_unsup_regs.d: Likewise.
945 * testsuite/gas/z80/z80.exp: Likewise.
946 * testsuite/gas/z80/z80_strict_unsup_regs.d: Likewise.
947 * testsuite/gas/z80/z80_unsup_regs.d: Likewise.
948 * testsuite/gas/z80/z80n_unsup_regs.d: Likewise.
953 * config/tc-arm.c (operand_parse_code): Add OP_RNSDMQR and OP_oRNSDMQ.
954 (parse_operands): Handle new operand codes.
955 (do_neon_dyadic_long): Make shape check accept the scalar variants.
956 (asm_opcode_insns): Fix operand codes for vaddl and vsubl.
957 * testsuite/gas/arm/mve-vaddsub-it.s: New test.
958 * testsuite/gas/arm/mve-vaddsub-it.d: New test.
959 * testsuite/gas/arm/mve-vaddsub-it-bad.s: New test.
960 * testsuite/gas/arm/mve-vaddsub-it-bad.l: New test.
961 * testsuite/gas/arm/mve-vaddsub-it-bad.d: New test.
962 * testsuite/gas/arm/nomve-vaddsub-it.d: New test.
966 * NEWS: Mention x86 assembler options for CVE-2020-0551.
970 * testsuite/gas/i386/i386.exp: Run new tests.
971 * testsuite/gas/i386/lfence-byte.d: New file.
972 * testsuite/gas/i386/lfence-byte.e: Likewise.
973 * testsuite/gas/i386/lfence-byte.s: Likewise.
974 * testsuite/gas/i386/lfence-indbr-a.d: Likewise.
975 * testsuite/gas/i386/lfence-indbr-b.d: Likewise.
976 * testsuite/gas/i386/lfence-indbr-c.d: Likewise.
977 * testsuite/gas/i386/lfence-indbr.e: Likewise.
978 * testsuite/gas/i386/lfence-indbr.s: Likewise.
979 * testsuite/gas/i386/lfence-load.d: Likewise.
980 * testsuite/gas/i386/lfence-load.s: Likewise.
981 * testsuite/gas/i386/lfence-ret-a.d: Likewise.
982 * testsuite/gas/i386/lfence-ret-b.d: Likewise.
983 * testsuite/gas/i386/lfence-ret.s: Likewise.
984 * testsuite/gas/i386/x86-64-lfence-byte.d: Likewise.
985 * testsuite/gas/i386/x86-64-lfence-byte.e: Likewise.
986 * testsuite/gas/i386/x86-64-lfence-byte.s: Likewise.
987 * testsuite/gas/i386/x86-64-lfence-indbr-a.d: Likewise.
988 * testsuite/gas/i386/x86-64-lfence-indbr-b.d: Likewise.
989 * testsuite/gas/i386/x86-64-lfence-indbr-c.d: Likewise.
990 * testsuite/gas/i386/x86-64-lfence-indbr.e: Likewise.
991 * testsuite/gas/i386/x86-64-lfence-indbr.s: Likewise.
992 * testsuite/gas/i386/x86-64-lfence-load.d: Likewise.
993 * testsuite/gas/i386/x86-64-lfence-load.s: Likewise.
994 * testsuite/gas/i386/x86-64-lfence-ret-a.d: Likewise.
995 * testsuite/gas/i386/x86-64-lfence-ret-b.d: Likewise.
999 * config/tc-i386.c (lfence_after_load): New.
1000 (lfence_before_indirect_branch_kind): New.
1001 (lfence_before_indirect_branch): New.
1002 (lfence_before_ret_kind): New.
1003 (lfence_before_ret): New.
1006 (insert_lfence_after): New.
1007 (insert_lfence_before): New.
1008 (md_assemble): Call insert_lfence_before and insert_lfence_after.
1010 (OPTION_MLFENCE_AFTER_LOAD): New.
1011 (OPTION_MLFENCE_BEFORE_INDIRECT_BRANCH): New.
1012 (OPTION_MLFENCE_BEFORE_RET): New.
1013 (md_longopts): Add -mlfence-after-load=,
1014 -mlfence-before-indirect-branch= and -mlfence-before-ret=.
1015 (md_parse_option): Handle -mlfence-after-load=,
1016 -mlfence-before-indirect-branch= and -mlfence-before-ret=.
1017 (md_show_usage): Display -mlfence-after-load=,
1018 -mlfence-before-indirect-branch= and -mlfence-before-ret=.
1019 (i386_cons_align): New.
1020 * config/tc-i386.h (i386_cons_align): New.
1021 (md_cons_align): New.
1022 * doc/c-i386.texi: Document -mlfence-after-load=,
1023 -mlfence-before-indirect-branch= and -mlfence-before-ret=.
1029 * dwarf2dbg.c (DWARF2_FILE_TIME_NAME): Default to -1.
1030 (DWARF2_FILE_SIZE_NAME): Default to -1.
1031 (DWARF2_LINE_VERSION): Default to the current dwarf level or 3,
1032 whichever is higher.
1033 (DWARF2_LINE_MAX_OPS_PER_INSN): Provide a default value of 1.
1034 (NUM_MD5_BYTES): Define.
1035 (struct file entry): Add md5 field.
1036 (get_filenum): Delete and replace with...
1037 (get_basename): New function.
1038 (get_directory_table_entry): New function.
1039 (allocate_filenum): New function.
1040 (allocate_filename_to_slot): New function.
1041 (dwarf2_where): Use new functions.
1042 (dwarf2_directive_filename): Add support for extended .file
1044 (dwarf2_directive_loc): Allow the use of file number zero with
1046 (out_file_list): Rename to...
1047 (out_dir_and_file_list): Add DWARF 5 support.
1048 (out_debug_line): Emit extra values into the section header for
1050 (out_debug_str): Allow for file 0 to be used with DWARF 5.
1051 * doc/as.texi (.file): Update the description of this pseudo-op.
1052 * testsuite/gas/elf-dwarf-5-file0.s: Add more lines.
1053 * testsuite/gas/elf-dwarf-5-file0.d: Update expected dump output.
1054 * testsuite/gas/lns/lns-diag-1.l: Update expected error message.
1055 * NEWS: Mention the new feature.
1059 * config/tc-csky.c (get_operand_value): Rewrite 1 << 31 expressions
1060 to avoid signed overflow.
1061 * config/tc-mcore.c (md_assemble): Likewise.
1062 * config/tc-mips.c (gpr_read_mask, gpr_write_mask): Likewise.
1063 * config/tc-nds32.c (SET_ADDEND): Likewise.
1064 * config/tc-nios2.c (nios2_assemble_arg_R): Likewise.
1068 * testsuite/gas/i386/avx.s: Add long-form VCMP[PS][SD] pseudos.
1069 * testsuite/gas/i386/avx.d, testsuite/gas/i386/avx-16bit.d,
1070 testsuite/gas/i386/avx-intel.d: Adjust expectations.
1074 * testsuite/gas/elf/dwarf-5-file0.s: Don't start directives in
1080 * dwarf2dbg.c (dwarf2_directive_filename): Allow a file number of
1081 0 if the dwarf_level is 5 or more. Complain if a filename follows
1083 * testsuite/gas/elf/dwarf-5-file0.s: New test.
1084 * testsuite/gas/elf/dwarf-5-file0.d: New test driver.
1085 * testsuite/gas/elf/elf.exp: Run the new test.
1088 * config/tc-ia64.h (DWARF2_VERISION): Fix typo.
1089 * doc/as.texi: Fix another typo.
1094 * as.c (dwarf_level): Define.
1095 (show_usage): Add --gdwarf-3, --gdwarf-4 and --gdwarf-5.
1096 (parse_args): Add support for the new options.
1097 as.h (dwarf_level): Prototype.
1098 * dwarf2dbg.c (DWARF2_VERSION): Use dwarf_level as default version
1100 * config/tc-ia64.h (DWARF2_VERISION): Update definition.
1101 (DWARF2_LINE_VERSION): Remove definition.
1102 * doc/as.texi: Document the new options.
1107 * as.c (main): Allow matching input and outputs when they are
1112 * config/tc-i386.c (match_mem_size): Generalize broadcast special
1114 (check_VecOperands): Zap xmmword/ymmword/zmmword when more than
1115 one of byte/word/dword/qword is set alongside a SIMD register in
1116 a template's operand.
1120 * config/tc-i386.c (match_template): Extend code in logic
1121 rejecting certain suffixes in certain modes to also cover mask
1122 register use and VecSIB. Drop special casing of broadcast. Skip
1123 immediates in the check.
1127 * config/tc-i386.c (match_template): Fold duplicate code in
1128 logic rejecting certain suffixes in certain modes. Drop
1133 * config/tc-i386.c (process_suffix): Exlucde !vexw insns
1134 alongside !norex64 ones.
1135 * testsuite/gas/i386/x86-64-avx512bw.s: Test VPEXTR* and VPINSR*
1136 with both 32- and 64-bit GPR operands.
1137 * testsuite/gas/i386/x86-64-avx512f.s: Test VEXTRACTPS with both
1138 32- and 64-bit GPR operands.
1139 * testsuite/gas/i386/x86-64-avx512bw-intel.d,
1140 testsuite/gas/i386/x86-64-avx512bw.d,
1141 testsuite/gas/i386/x86-64-avx512f-intel.d,
1142 testsuite/gas/i386/x86-64-avx512f.d: Adjust expectations.
1146 * config/tc-i386.c (md_assemble): Drop use of rex64.
1147 (process_suffix): For REX.W for 64-bit CRC32.
1151 * config/tc-i386.c (i386_addressing_mode): For 32-bit
1152 addressing for MPX insns without base/index.
1153 * testsuite/gas/i386/mpx-16bit.s,
1154 * testsuite/gas/i386/mpx-16bit.d: New.
1155 * testsuite/gas/i386/i386.exp: Run new test.
1159 * testsuite/gas/i386/adx.s, testsuite/gas/i386/cet.s,
1160 testsuite/gas/i386/ept.s, testsuite/gas/i386/fsgs.s,
1161 testsuite/gas/i386/invpcid.s, testsuite/gas/i386/movdir.s,
1162 testsuite/gas/i386/ptwrite.s, testsuite/gas/i386/vmx.s,
1163 * testsuite/gas/i386/code16.s: Add CR, DR, and TR access cases
1164 as well as a BSWAP one.
1165 * testsuite/gas/i386/rdpid.s: Add 16-bit case.
1166 * testsuite/gas/i386/sse2-16bit.s: Cover more insns.
1167 * testsuite/gas/i386/adx-intel.d, testsuite/gas/i386/adx.d,
1168 testsuite/gas/i386/cet-intel.d, testsuite/gas/i386/cet.d,
1169 testsuite/gas/i386/code16.d, testsuite/gas/i386/ept-intel.d,
1170 testsuite/gas/i386/ept.d, testsuite/gas/i386/fsgs-intel.d,
1171 testsuite/gas/i386/fsgs.d, testsuite/gas/i386/invpcid-intel.d,
1172 testsuite/gas/i386/invpcid.d, testsuite/gas/i386/movdir-intel.d,
1173 testsuite/gas/i386/movdir.d, testsuite/gas/i386/ptwrite-intel.d,
1174 testsuite/gas/i386/ptwrite.d, testsuite/gas/i386/rdpid-intel.d,
1175 testsuite/gas/i386/rdpid.d, testsuite/gas/i386/sse2-16bit.d,
1176 testsuite/gas/i386/vmx.d: Adjust expectations.
1180 * config/tc-i386.c (md_assemble): Also exclude tpause and umwait
1181 from having their operands swapped.
1182 * testsuite/gas/i386/waitpkg.s,
1183 testsuite/gas/i386/x86-64-waitpkg.s: Add tpause and umwait
1184 3-operand cases as well as testing of 16-bit code generation.
1185 * testsuite/gas/i386/waitpkg.d,
1186 testsuite/gas/i386/waitpkg-intel.d,
1187 testsuite/gas/i386/x86-64-waitpkg.d,
1188 testsuite/gas/i386/x86-64-waitpkg-intel.d: Adjust expectations.
1192 * config/tc-riscv.c (percent_op_utype): Support the modifier
1194 * doc/c-riscv.texi: Add documentation.
1195 * testsuite/gas/riscv/no-relax-reloc.d: Add test case for the new
1196 modifier %got_pcrel_hi.
1197 * testsuite/gas/riscv/no-relax-reloc.s: Likewise.
1198 * testsuite/gas/riscv/relax-reloc.d: Likewise.
1199 * testsuite/gas/riscv/relax-reloc.s: Likewise.
1201 * doc/c-riscv.texi (relocation modifiers): Add documentation.
1202 (RISC-V-Formats): Update the section name from "Instruction Formats"
1203 to "RISC-V Instruction Formats".
1207 * config/tc-arm.c (md_apply_fix): Warn if a PC-relative load is
1208 detected in a section which does not have at least 4 byte
1210 * testsuite/gas/arm/armv8-ar-it-bad.s: Add alignment directive.
1211 * testsuite/gas/arm/ldr-t.s: Likewise.
1212 * testsuite/gas/arm/sp-pc-usage-t.s: Likewise.
1213 * testsuite/gas/arm/sp-pc-usage-t.d: Finish test at end of
1214 disassembly, ignoring any NOPs that may have been inserted because
1215 of section alignment.
1216 * testsuite/gas/arm/ldr-t.d: Likewise.
1220 * config/tc-i386.c (cpu_arch): Add .sev_es entry.
1221 * doc/c-i386.texi: Mention sev_es.
1222 * testsuite/gas/i386/arch-13.s: Add SEV-ES case.
1223 * testsuite/gas/i386/arch-13.d: Extend -march=. Adjust
1225 * testsuite/gas/i386/arch-13-znver1.d,
1226 testsuite/gas/i386/arch-13-znver2.d: Extend -march=.
1230 * config/tc-i386.c (match_template): Replace ignoresize and
1231 defaultsize with mnemonicsize.
1232 (process_suffix): Likewise.
1237 * config/tc-z80.c (emit_ld_rr_m): Fix invalid compilation of
1238 instruction LD IY,(HL).
1239 * testsuite/gas/z80/ez80_adl_all.d: Update expected disassembly.
1240 * testsuite/gas/z80/ez80_adl_all.s: Add tests of the instruction.
1241 * testsuite/gas/z80/ez80_z80_all.d: Update expected disassembly.
1242 * testsuite/gas/z80/ez80_z80_all.s: Add tests of the instruction.
1247 * testsuite/gas/i386/i386.exp: Run x86-64-default-suffix and
1248 x86-64-default-suffix-avx.
1249 * testsuite/gas/i386/noreg64.s: Remove cvtsi2sd, cvtsi2ss,
1250 vcvtsi2sd, vcvtsi2ss, vcvtusi2sd and vcvtusi2ss entries.
1251 * testsuite/gas/i386/noreg64.d: Updated.
1252 * testsuite/gas/i386/noreg64.l: Likewise.
1253 * testsuite/gas/i386/x86-64-default-suffix-avx.d: New file.
1254 * testsuite/gas/i386/x86-64-default-suffix.d: Likewise.
1255 * testsuite/gas/i386/x86-64-default-suffix.s: Likewise.
1260 * config/tc-z80.c (contains_register): Prevent an illegal memory
1261 access when checking an expression for a register name.
1265 * config/obj-coff.h: Remove vestiges of coff-m68k and pe-mips
1270 * config/tc-m32r.c (md_begin): Set SEC_SMALL_DATA on .scommon section.
1271 * config/tc-mips.c (s_change_sec): Set SEC_SMALL_DATA for .sdata
1273 * config/tc-score.c: Delete !BFD_ASSEMBLER code throughout.
1274 (s3_s_change_sec): Set SEC_SMALL_DATA for .sbss section.
1275 (s3_s_score_lcomm): Likewise.
1276 * config/tc-score7.c: Similarly.
1277 * read.c (bss_alloc): Set SEC_SMALL_DATA for .sbss section.
1282 * config/tc-mips.c (fix_loongson3_llsc): Compare label value
1283 to handle multi-labels.
1284 (has_label_name): New.
1288 * config/tc-arm.c (enum pred_instruction_type): Remove
1289 NEUTRAL_IT_NO_VPT_INSN predication type.
1290 (cxn_handle_predication): Modify to require condition suffixes.
1291 (handle_pred_state): Remove NEUTRAL_IT_NO_VPT_INSN cases.
1292 * testsuite/gas/arm/cde-scalar.s: Update test.
1293 * testsuite/gas/arm/cde-warnings.l: Update test.
1294 * testsuite/gas/arm/cde-warnings.s: Update test.
1298 * config/tc-arm.c (reg_expected_msgs[REG_TYPE_RNB]): Don't use
1299 N_() on empty string.
1303 * read.c (read_a_source_file): Call strncpy with length one
1304 less than size of original_case_string.
1308 * config/obj-elf.c: Indent labels correctly.
1309 * config/obj-macho.c: Likewise.
1310 * config/tc-aarch64.c: Likewise.
1311 * config/tc-alpha.c: Likewise.
1312 * config/tc-arm.c: Likewise.
1313 * config/tc-cr16.c: Likewise.
1314 * config/tc-crx.c: Likewise.
1315 * config/tc-frv.c: Likewise.
1316 * config/tc-i386-intel.c: Likewise.
1317 * config/tc-i386.c: Likewise.
1318 * config/tc-ia64.c: Likewise.
1319 * config/tc-mn10200.c: Likewise.
1320 * config/tc-mn10300.c: Likewise.
1321 * config/tc-nds32.c: Likewise.
1322 * config/tc-riscv.c: Likewise.
1323 * config/tc-s12z.c: Likewise.
1324 * config/tc-xtensa.c: Likewise.
1325 * config/tc-z80.c: Likewise.
1327 * symbols.c: Likewise.
1328 * write.c: Likewise.
1332 * config/tc-riscv.c (riscv_ip): New boolean insn_with_csr to indicate
1333 we are assembling instruction with CSR. Call riscv_csr_read_only_check
1334 after parsing all arguments.
1335 (enum csr_insn_type): New enum is used to classify the CSR instruction.
1336 (riscv_csr_insn_type, riscv_csr_read_only_check): New functions. These
1337 are used to check if we write a read-only CSR by the CSR instruction.
1338 * testsuite/gas/riscv/priv-reg-fail-read-only-01.s: New testcase. Test
1339 all CSR for the read-only CSR checking.
1340 * testsuite/gas/riscv/priv-reg-fail-read-only-01.d: Likewise.
1341 * testsuite/gas/riscv/priv-reg-fail-read-only-01.l: Likewise.
1342 * testsuite/gas/riscv/priv-reg-fail-read-only-02.s: New testcase. Test
1343 all CSR instructions for the read-only CSR checking.
1344 * testsuite/gas/riscv/priv-reg-fail-read-only-02.d: Likewise.
1345 * testsuite/gas/riscv/priv-reg-fail-read-only-02.l: Likewise.
1347 * config/tc-riscv.c (struct riscv_set_options): New field csr_check.
1348 (riscv_opts): Initialize it.
1349 (reg_lookup_internal): Check the `riscv_opts.csr_check`
1350 before doing the CSR checking.
1351 (enum options): Add OPTION_CSR_CHECK and OPTION_NO_CSR_CHECK.
1352 (md_longopts): Add mcsr-check and mno-csr-check.
1353 (md_parse_option): Handle new enum option values.
1354 (s_riscv_option): Handle new long options.
1355 * doc/c-riscv.texi: Add description for the new .option and assembler
1357 * testsuite/gas/riscv/priv-reg-fail-fext.d: Add `-mcsr-check` to enable
1359 * testsuite/gas/riscv/priv-reg-fail-rv32-only.d: Likewise.
1361 * config/tc-riscv.c (csr_extra_hash): New.
1362 (enum riscv_csr_class): New enum. Used to decide
1363 whether or not this CSR is legal in the current ISA string.
1364 (struct riscv_csr_extra): New structure to hold all extra information
1366 (riscv_init_csr_hashes): New. According to the DECLARE_CSR and
1367 DECLARE_CSR_ALIAS, insert CSR extra information into csr_extra_hash.
1368 Call hash_reg_name to insert CSR address into reg_names_hash.
1369 (reg_csr_lookup_internal, riscv_csr_class_check): New functions.
1370 Decide whether the CSR is valid according to the csr_extra_hash.
1371 (reg_lookup_internal): Call reg_csr_lookup_internal for CSRs.
1372 (init_opcode_hash): Update 'if (hash_error != NULL)' as hash_error is
1373 not a boolean. This is same as riscv_init_csr_hash, so keep the
1375 (md_begin): Call riscv_init_csr_hashes for each DECLARE_CSR.
1376 * testsuite/gas/riscv/csr-dw-regnums.d: Add -march=rv32if option.
1377 * testsuite/gas/riscv/priv-reg.d: Add f-ext by -march option.
1378 * testsuite/gas/riscv/priv-reg-fail-fext.d: New testcase. The source
1379 file is `priv-reg.s`, and the ISA is rv32i without f-ext, so the
1380 f-ext CSR are not allowed.
1381 * testsuite/gas/riscv/priv-reg-fail-fext.l: Likewise.
1382 * testsuite/gas/riscv/priv-reg-fail-rv32-only.d: New testcase. The
1383 source file is `priv-reg.s`, and the ISA is rv64if, so the
1384 rv32-only CSR are not allowed.
1385 * testsuite/gas/riscv/priv-reg-fail-rv32-only.l: Likewise.
1389 * config/tc-pdp11.c (md_apply_fix): Handle BFD_RELOC_32.
1390 (tc_gen_reloc): Only give a BAD_CASE assertion on pcrel relocs.
1395 * config/obj-aout.c (obj_aout_frob_file_before_fix): Don't loop
1396 on section size adjustment, instead perform another write if
1397 exec header size is larger than section size.
1401 * doc/c-riscv.texi: Add the doc entries for -march-attr/
1402 -mno-arch-attr command line options.
1406 * testsuite/gas/riscv/c-add-addi.d: New testcase.
1407 * testsuite/gas/riscv/c-add-addi.s: Likewise.
1412 * config/tc-z80.c (md_parse_option): Do not use an underscore
1413 prefix for local labels in SDCC compatability mode.
1414 (z80_start_line_hook): Remove SDCC dollar label support.
1415 * testsuite/gas/z80/sdcc.d: Update expected disassembly.
1416 * testsuite/gas/z80/sdcc.s: Likewise.
1421 * config/tc-z80.c: Add -march option.
1422 * doc/as.texi: Update Z80 documentation.
1423 * doc/c-z80.texi: Likewise.
1424 * testsuite/gas/z80/ez80_adl_all.d: Update command line.
1425 * testsuite/gas/z80/ez80_adl_suf.d: Likewise.
1426 * testsuite/gas/z80/ez80_pref_dis.d: Likewise.
1427 * testsuite/gas/z80/ez80_z80_all.d: Likewise.
1428 * testsuite/gas/z80/ez80_z80_suf.d: Likewise.
1429 * testsuite/gas/z80/gbz80_all.d: Likewise.
1430 * testsuite/gas/z80/r800_extra.d: Likewise.
1431 * testsuite/gas/z80/r800_ii8.d: Likewise.
1432 * testsuite/gas/z80/r800_z80_doc.d: Likewise.
1433 * testsuite/gas/z80/sdcc.d: Likewise.
1434 * testsuite/gas/z80/z180.d: Likewise.
1435 * testsuite/gas/z80/z180_z80_doc.d: Likewise.
1436 * testsuite/gas/z80/z80_doc.d: Likewise.
1437 * testsuite/gas/z80/z80_ii8.d: Likewise.
1438 * testsuite/gas/z80/z80_in_f_c.d: Likewise.
1439 * testsuite/gas/z80/z80_op_ii_ld.d: Likewise.
1440 * testsuite/gas/z80/z80_out_c_0.d: Likewise.
1441 * testsuite/gas/z80/z80_sli.d: Likewise.
1442 * testsuite/gas/z80/z80n_all.d: Likewise.
1443 * testsuite/gas/z80/z80n_reloc.d: Likewise.
1447 * config/tc-i386.c (output_insn): Mark cvtpi2ps and cvtpi2pd
1448 with GNU_PROPERTY_X86_FEATURE_2_MMX.
1449 * testsuite/gas/i386/i386.exp: Run property-3 and
1451 * testsuite/gas/i386/property-3.d: New file.
1452 * testsuite/gas/i386/property-3.s: Likewise.
1453 * testsuite/gas/i386/x86-64-property-3.d: Likewise.
1457 * config/tc-i386.c (cpu_arch): Add .popcnt.
1458 * doc/c-i386.texi: Remove abm and .abm. Add popcnt and .popcnt.
1459 Add a tab before @samp{.sse4a}.
1463 * config/tc-i386.c (process_suffix): Don't try to guess a suffix
1464 for AddrPrefixOpReg templates. Combine the two pieces of
1465 addrprefixopreg handling. Reject 16-bit address reg in 64-bit
1471 * config/tc-i386.c (md_assemble): Also suppress operand
1472 swapping for MONITOR{,X} and MWAIT{,X}.
1473 * testsuite/gas/i386/sse3.s, testsuite/gas/i386/x86-64-sse3.s:
1474 Add Intel syntax monitor/mwait tests.
1475 * testsuite/gas/i386/sse3.d, testsuite/gas/i386/x86-64-sse3.d:
1476 Adjust expectations.
1477 *testsuite/gas/i386/sse3-intel.d,
1478 testsuite/gas/i386/x86-64-sse3-intel.d: New.
1479 * testsuite/gas/i386/i386.exp: Run new tests.
1484 * config/tc-i386.c (process_suffix): Re-work Intel-syntax
1485 [XYZ]MMWord memory operand ambiguity recognition logic (largely
1487 * testsuite/gas/i386/avx512dq-inval.s: Add vcvtqq2ps/vcvtuqq2ps
1489 * testsuite/gas/i386/inval-avx512f.s: Also test vcvtneps2bf16.
1490 * testsuite/gas/i386/avx512dq-inval.l,
1491 testsuite/gas/i386/inval-avx.l,
1492 testsuite/gas/i386/inval-avx512f.l: Adjust expectations.
1493 * testsuite/gas/i386/avx512vl-ambig.s,
1494 testsuite/gas/i386/avx512vl-ambig.l: New.
1495 * testsuite/gas/i386/i386.exp: Run new test.
1499 * config/tc-i386.c (cpu_arch): Add .sse4a and nosse4a. Restore
1501 * doc/c-i386.texi: Document sse4a and nosse4a.
1505 * doc/c-i386.texi: Remove the old movsx and movzx documentation
1511 * config/tc-i386.c (md_assemble): Move movsx/movzx special
1513 (process_suffix): ... here. Consider just the first operand
1515 (check_long_reg): Drop opcode 0x63 special case again.
1516 * testsuite/gas/i386/i386.s, testsuite/gas/i386/iamcu-1.s,
1517 testsuite/gas/i386/ilp32/x86-64.s, testsuite/gas/i386/x86_64.s:
1518 Move ambiguous operand size tests ...
1519 * testsuite/gas/i386/noreg16.s, testsuite/gas/i386/noreg32.s,
1520 testsuite/gas/i386/noreg64.s: ... here.
1521 * testsuite/gas/i386/i386.d, testsuite/gas/i386/i386-intel.d
1522 testsuite/gas/i386/iamcu-1.d, testsuite/gas/i386/ilp32/x86-64.d,
1523 testsuite/gas/i386/k1om.d, testsuite/gas/i386/l1om.d,
1524 testsuite/gas/i386/movx16.l, testsuite/gas/i386/movx32.l,
1525 testsuite/gas/i386/movx64.l, testsuite/gas/i386/noreg16.d,
1526 testsuite/gas/i386/noreg32.d, testsuite/gas/i386/noreg64.d,
1527 testsuite/gas/i386/x86-64-movsxd.d,
1528 testsuite/gas/i386/x86-64-movsxd-intel.d,
1529 testsuite/gas/i386/x86_64.d, testsuite/gas/i386/x86_64-intel.d:
1530 Adjust expectations.
1531 * testsuite/gas/i386/movx16.s, testsuite/gas/i386/movx16.l,
1532 testsuite/gas/i386/movx32.s, testsuite/gas/i386/movx32.l,
1533 testsuite/gas/i386/movx64.s, testsuite/gas/i386/movx64.l: New.
1534 * testsuite/gas/i386/i386.exp: Run new tests.
1538 * config/tc-i386.c (process_operands): Also skip segment
1539 override prefix emission if it matches an already present one.
1540 * testsuite/gas/i386/prefix32.s: Add double segment override
1542 * testsuite/gas/i386/prefix32.l: Adjust expectations.
1546 * config/tc-i386.c (process_operands): Drop ineffectual segment
1547 overrides when optimizing.
1548 * testsuite/gas/i386/lea-optimize.d: New.
1549 * testsuite/gas/i386/i386.exp: Run new test.
1553 * config/tc-i386.c (process_operands): Also check insn prefix
1554 for ineffectual segment override warning. Don't cover possible
1555 VEX/EVEX encoded insns there.
1556 * testsuite/gas/i386/lea.s, testsuite/gas/i386/lea.d,
1557 testsuite/gas/i386/lea.e: New.
1558 * testsuite/gas/i386/i386.exp: Run new test.
1563 * doc/c-i386.texi: Document movsx, movsxd and movzx for AT&T
1570 * config/tc-i386.c (tc_i386_fix_adjustable): Don't check
1571 BFD_RELOC_386_PLT32 nor BFD_RELOC_X86_64_PLT32.
1572 * testsuite/gas/i386/i386.exp: Run relax-5 and x86-64-relax-4.
1573 * testsuite/gas/i386/relax-5.d: New file.
1574 * testsuite/gas/i386/relax-5.s: Likewise.
1575 * testsuite/gas/i386/x86-64-relax-4.d: Likewise.
1576 * testsuite/gas/i386/x86-64-relax-4.s: Likewise.
1580 * config/tc-i386.c (cpu_noarch): Use CPU_ANY_SSE4_FLAGS in
1585 * config/tc-i386.c (avx512): New (at file scope), moved from
1586 (check_VecOperands): ... here.
1587 (process_suffix): Add [XYZ]MMword operand size handling.
1588 * testsuite/gas/i386/avx512dq-inval.s: Add VFPCLASS tests.
1589 * testsuite/gas/i386/noavx512-2.s: Add Intel syntax VFPCLASS
1591 * testsuite/gas/i386/avx512dq-inval.l,
1592 testsuite/gas/i386/noavx512-2.l: Adjust expectations.
1597 * config/tc-i386.c (match_template): Apply AMD64 check to 64-bit
1599 * config/tc-i386-intel.c (i386_intel_operand): Also handle
1600 CALL/JMP in O_tbyte_ptr case.
1601 * doc/c-i386.texi: Mention far call and full pointer load ISA
1603 * testsuite/gas/i386/x86-64-branch-3.s,
1604 testsuite/gas/i386/x86-64-intel64.s: Add 64-bit far call cases.
1605 * testsuite/gas/i386/x86-64-branch-3.d,
1606 testsuite/gas/i386/x86-64-intel64.d: Adjust expectations.
1607 * testsuite/gas/i386/x86-64-branch-5.l,
1608 testsuite/gas/i386/x86-64-branch-5.s: New.
1609 * testsuite/gas/i386/i386.exp: Run new test.
1614 * config/tc-i386.c (REGISTER_WARNINGS): Delete.
1615 (check_byte_reg): Skip only source operand of CRC32. Drop Non-
1616 64-bit-only warning.
1617 (check_word_reg): Consistently error on mismatching register
1619 * testsuite/gas/i386/general.s: Replace dword GPR with word one
1620 for movw. Replace suffix / GPR for orb.
1621 * testsuite/gas/i386/inval.s: Add tests for movw with dword and
1622 byte GPRs as well as ones for inb/outb with a word accumulator.
1623 * testsuite/gas/i386/general.l, testsuite/gas/i386/intelbad.l,
1624 testsuite/gas/i386/inval.l: Adjust expectations.
1628 * config/tc-i386.c (operand_type_register_match): Also fall
1629 through initial two if()-s when the template allows for a GPR
1630 operand. Adjust comment.
1634 (struct _i386_insn): New field "short_form".
1635 (optimize_encoding): Drop setting of shortform field.
1636 (process_suffix): Set i.short_form. Replace shortform use.
1637 (process_operands): Replace shortform use.
1641 * config/tc-arm.c (vcx_handle_register_arguments): Remove `for`
1642 loop initial declaration.
1646 * config/tc-arm.c (NEON_MAX_TYPE_ELS): Increment to account for
1647 instructions that can have 5 arguments.
1648 (enum operand_parse_code): Add new operands.
1649 (parse_operands): Account for new operands.
1651 (enum neon_shape_el): Introduce P suffixes for coprocessor.
1652 (neon_select_shape): Account for P suffix.
1653 (LOW1): Move macro to global position.
1654 (HI4): Move macro to global position.
1655 (vcx_assign_vec_d): New.
1656 (vcx_assign_vec_m): New.
1657 (vcx_assign_vec_n): New.
1658 (enum vcx_reg_type): New.
1659 (vcx_get_reg_type): New.
1660 (vcx_size_pos): New.
1662 (vcx_handle_shape): New.
1663 (vcx_ensure_register_in_range): New.
1664 (vcx_handle_register_arguments): New.
1665 (vcx_handle_insn_block): New.
1666 (vcx_handle_common_checks): New.
1670 * testsuite/gas/arm/cde-missing-fp.d: New test.
1671 * testsuite/gas/arm/cde-missing-fp.l: New test.
1672 * testsuite/gas/arm/cde-missing-mve.d: New test.
1673 * testsuite/gas/arm/cde-missing-mve.l: New test.
1674 * testsuite/gas/arm/cde-mve-or-neon.d: New test.
1675 * testsuite/gas/arm/cde-mve-or-neon.s: New test.
1676 * testsuite/gas/arm/cde-mve.s: New test.
1677 * testsuite/gas/arm/cde-warnings.l:
1678 * testsuite/gas/arm/cde-warnings.s:
1679 * testsuite/gas/arm/cde.d:
1680 * testsuite/gas/arm/cde.s:
1685 * config/tc-arm.c (arm_ext_cde*): New feature sets for each
1686 CDE coprocessor that can be enabled.
1687 (enum pred_instruction_type): New pred type.
1688 (BAD_NO_VPT): New error message.
1689 (BAD_CDE): New error message.
1690 (BAD_CDE_COPROC): New error message.
1691 (enum operand_parse_code): Add new immediate operands.
1692 (parse_operands): Account for new immediate operands.
1693 (check_cde_operand): New.
1694 (cde_coproc_enabled): New.
1695 (cde_coproc_pos): New.
1696 (cde_handle_coproc): New.
1697 (cxn_handle_predication): New.
1698 (do_custom_instruction_1): New.
1699 (do_custom_instruction_2): New.
1700 (do_custom_instruction_3): New.
1713 (handle_pred_state): Define new IT block behaviour.
1714 (insns): Add newn CX*{,d}{,a} instructions.
1715 (CDE_EXTENSIONS,armv8m_main_ext_table,armv8_1m_main_ext_table):
1716 Define new cdecp extension strings.
1717 * doc/c-arm.texi: Document new cdecp extension arguments.
1718 * testsuite/gas/arm/cde-scalar.d: New test.
1719 * testsuite/gas/arm/cde-scalar.s: New test.
1720 * testsuite/gas/arm/cde-warnings.d: New test.
1721 * testsuite/gas/arm/cde-warnings.l: New test.
1722 * testsuite/gas/arm/cde-warnings.s: New test.
1723 * testsuite/gas/arm/cde.d: New test.
1724 * testsuite/gas/arm/cde.s: New test.
1729 * config/tc-i386.c (intel64): Renamed to ...
1731 (match_template): Accept Intel64 only instruction by default.
1732 (i386_displacement): Updated.
1733 (md_parse_option): Updated.
1734 * c-i386.texi: Update -mamd64/-mintel64 documentation.
1735 * testsuite/gas/i386/i386.exp: Run x86-64-sysenter. Pass
1736 -mamd64 to x86-64-sysenter-amd.
1737 * testsuite/gas/i386/x86-64-sysenter.d: New file.
1741 * config/obj-elf.c (obj_elf_change_section): Error for section
1742 type, attr or entsize changes in assembly.
1743 * testsuite/gas/elf/elf.exp: Pass -Z to gas for section5 test.
1744 * testsuite/gas/elf/section5.l: Update.
1748 * output-file.c (output_file_close): Do a normal close when
1749 flag_always_generate_output.
1750 * write.c (write_object_file): Don't stop output when
1751 flag_always_generate_output.
1756 * config/tc-z80.c: Add -gbz80 command line option to generate code
1757 for the GameBoy Z80. Add support for generating DWARF.
1758 * config/tc-z80.h: Add support for DWARF debug information
1760 * doc/c-z80.texi: Document new command line option.
1761 * testsuite/gas/z80/gbz80_all.d: New file.
1762 * testsuite/gas/z80/gbz80_all.s: New file.
1763 * testsuite/gas/z80/z80.exp: Run the new tests.
1764 * testsuite/gas/z80/z80n_all.d: New file.
1765 * testsuite/gas/z80/z80n_all.s: New file.
1766 * testsuite/gas/z80/z80n_reloc.d: New file.
1771 * config/obj-elf.c (get_section): Also check
1772 linked_to_symbol_name.
1773 (obj_elf_change_section): Also set map_head.linked_to_symbol_name.
1774 (obj_elf_parse_section_letters): Handle the 'o' flag.
1775 (build_group_lists): Renamed to ...
1776 (build_additional_section_info): This. Set elf_linked_to_section
1777 from map_head.linked_to_symbol_name.
1778 (elf_adjust_symtab): Updated.
1779 * config/obj-elf.h (elf_section_match): Add linked_to_symbol_name.
1780 * doc/as.texi: Document the 'o' flag.
1781 * testsuite/gas/elf/elf.exp: Run PR gas/25381 tests.
1782 * testsuite/gas/elf/section18.d: New file.
1783 * testsuite/gas/elf/section18.s: Likewise.
1784 * testsuite/gas/elf/section19.d: Likewise.
1785 * testsuite/gas/elf/section19.s: Likewise.
1786 * testsuite/gas/elf/section20.d: Likewise.
1787 * testsuite/gas/elf/section20.s: Likewise.
1788 * testsuite/gas/elf/section21.d: Likewise.
1789 * testsuite/gas/elf/section21.l: Likewise.
1790 * testsuite/gas/elf/section21.s: Likewise.
1794 * NEWS: Mention x86 assembler options to align branches for
1799 * testsuite/gas/i386/i386.exp: Run unique and x86-64-unique
1800 only for ELF targets.
1801 * testsuite/gas/i386/unique.d: Don't xfail.
1802 * testsuite/gas/i386/x86-64-unique.d: Likewise.
1806 * testsuite/gas/i386/unique.d: xfail for non-elf targets.
1807 * testsuite/gas/i386/x86-64-unique.d: Likewise.
1811 * testsuite/gas/elf/section12a.d: Use supports_gnu_osabi in
1812 xfail, and rename test.
1813 * testsuite/gas/elf/section12b.d: Likewise.
1814 * testsuite/gas/elf/section16a.d: Likewise.
1815 * testsuite/gas/elf/section16b.d: Likewise.
1820 * config/obj-elf.c (section_match): Removed.
1821 (get_section): Also match SEC_ASSEMBLER_SECTION_ID and
1823 (obj_elf_change_section): Replace info and group_name arguments
1824 with match_p. Also update the section ID and flags from match_p.
1825 (obj_elf_section): Handle "unique,N". Update call to
1826 obj_elf_change_section.
1827 * config/obj-elf.h (elf_section_match): New.
1828 (obj_elf_change_section): Updated.
1829 * config/tc-arm.c (start_unwind_section): Update call to
1830 obj_elf_change_section.
1831 * config/tc-ia64.c (obj_elf_vms_common): Likewise.
1832 * config/tc-microblaze.c (microblaze_s_data): Likewise.
1833 (microblaze_s_sdata): Likewise.
1834 (microblaze_s_rdata): Likewise.
1835 (microblaze_s_bss): Likewise.
1836 * config/tc-mips.c (s_change_section): Likewise.
1837 * config/tc-msp430.c (msp430_profiler): Likewise.
1838 * config/tc-rx.c (parse_rx_section): Likewise.
1839 * config/tc-tic6x.c (tic6x_start_unwind_section): Likewise.
1840 * doc/as.texi: Document "unique,N" in .section directive.
1841 * testsuite/gas/elf/elf.exp: Run "unique,N" tests.
1842 * testsuite/gas/elf/section15.d: New file.
1843 * testsuite/gas/elf/section15.s: Likewise.
1844 * testsuite/gas/elf/section16.s: Likewise.
1845 * testsuite/gas/elf/section16a.d: Likewise.
1846 * testsuite/gas/elf/section16b.d: Likewise.
1847 * testsuite/gas/elf/section17.d: Likewise.
1848 * testsuite/gas/elf/section17.l: Likewise.
1849 * testsuite/gas/elf/section17.s: Likewise.
1850 * testsuite/gas/i386/unique.d: Likewise.
1851 * testsuite/gas/i386/unique.s: Likewise.
1852 * testsuite/gas/i386/x86-64-unique.d: Likewise.
1853 * testsuite/gas/i386/i386.exp: Run unique and x86-64-unique.
1857 * testsuite/gas/elf/section13.s: Replace @nobits with %nobits.
1861 * config/tc-moxie.c (md_begin): Don't force big-endian mode.
1865 * config/tc-nios2.c (nios2_cons): Handle %gotoff as well as
1871 * config/tc-arm.c (armv8m_main_ext_table): Refactored +dsp adding.
1872 (armv8_1m_main_ext_table): Refactored +dsp adding and enabled dsp for
1874 * testsuite/gas/arm/mve_dsp.d: New test.
1878 * config/tc-s390.c (s390_elf_suffix): Return ELF_SUFFIX_NONE
1879 rather than BFD_RELOC_NONE.
1883 * config/tc-arm.c (fldmias): Moved inside "THUMB_VARIANT & arm_ext_v6t2"
1884 to support VLDMIA instruction for MVE.
1885 (fldmdbs): Moved inside "THUMB_VARIANT & arm_ext_v6t2" to support VLDMDB
1886 instruction for MVE.
1887 (fstmias): Moved inside "THUMB_VARIANT & arm_ext_v6t2" to support VSTMIA
1888 instruction for MVE.
1889 (fstmdbs): Moved inside "THUMB_VARIANT & arm_ext_v6t2" to support VSTMDB
1890 instruction for MVE.
1891 * testsuite/gas/arm/mve-ldst.d: New test.
1892 * testsuite/gas/arm/mve-ldst.s: Likewise.
1896 * po/fr.po: Updated French translation.
1897 * po/ru.po: Updated Russian translation.
1901 * testsuite/gas/aarch64/sve-bfloat-movprfx.s: Use .h rather than
1903 * testsuite/gas/aarch64/sve-bfloat-movprfx.d: Update accordingly.
1904 * testsuite/gas/aarch64/sve-movprfx_28.d,
1905 * testsuite/gas/aarch64/sve-movprfx_28.l,
1906 * testsuite/gas/aarch64/sve-movprfx_28.s: New test.
1910 * config/tc-i386.c (output_disp): Tighten base_opcode check.
1911 * testsuite/gas/i386/got.s: Add LSL, MOVLPS, and BNDCN cases.
1912 * testsuite/gas/i386/got-no-relax.d, testsuite/gas/i386/got.d:
1913 Adjust expectations.
1917 * testsuite/gas/bpf/alu.d: Update expected opcode for `neg'.
1918 * testsuite/gas/bpf/alu-be.d: Likewise.
1919 * testsuite/gas/bpf/alu32.d: Likewise for `neg32'.
1920 * testsuite/gas/bpf/alu32-be.d: Likewise.
1924 * testsuite/gas/i386/x86-64-branch-2.s,
1925 testsuite/gas/i386/x86-64-branch-4.s,
1926 testsuite/gas/i386/x86-64-branch.s: Add RETW cases.
1927 * testsuite/gas/i386/ilp32/x86-64-branch.d,
1928 testsuite/gas/i386/x86-64-branch-2.d,
1929 testsuite/gas/i386/x86-64-branch-4.l,
1930 testsuite/gas/i386/x86-64-branch.d: Adjust expectations.
1934 * config/tc-i386.c (process_suffix): .
1935 testsuite/gas/i386/noreg64.s: Add IRET and LRET cases.
1936 testsuite/gas/i386/x86-64-opcode.s: Add suffix to IRET and LRET.
1938 testsuite/gas/i386/x86-64-suffix.s: Drop IRET case without
1940 testsuite/gas/i386/x86_64.s: Add RETF cases.
1941 * testsuite/gas/i386/k1om.d, testsuite/gas/i386/l1om.d,
1942 testsuite/gas/i386/noreg64.d, testsuite/gas/i386/noreg64.l,
1943 testsuite/gas/i386/x86-64-opcode.d,
1944 testsuite/gas/i386/x86-64-suffix-intel.d,
1945 testsuite/gas/i386/x86-64-suffix.d,
1946 testsuite/gas/i386/x86_64-intel.d
1947 testsuite/gas/i386/x86_64.d: Adjust expectations.
1948 * testsuite/gas/i386/x86-64-suffix.e,
1949 testsuite/gas/i386/x86_64.e: New.
1953 * config/tc-i386.c (process_suffix): Redo and move FLDENV et al
1959 * config/tc-i386.c (check_long_reg): Also convert to QWORD for
1961 * doc/c-i386.texi: Add a node for AMD64 vs. Intel64 ISA
1962 differences. Document movslq and movsxd.
1963 * testsuite/gas/i386/i386.exp: Run PR binutils/25445 tests.
1964 * testsuite/gas/i386/x86-64-movsxd-intel.d: New file.
1965 * testsuite/gas/i386/x86-64-movsxd-intel64-intel.d: Likewise.
1966 * testsuite/gas/i386/x86-64-movsxd-intel64-inval.l: Likewise.
1967 * testsuite/gas/i386/x86-64-movsxd-intel64-inval.s: Likewise.
1968 * testsuite/gas/i386/x86-64-movsxd-intel64.d: Likewise.
1969 * testsuite/gas/i386/x86-64-movsxd-intel64.s: Likewise.
1970 * testsuite/gas/i386/x86-64-movsxd-inval.l: Likewise.
1971 * testsuite/gas/i386/x86-64-movsxd-inval.s: Likewise.
1972 * testsuite/gas/i386/x86-64-movsxd.d: Likewise.
1973 * testsuite/gas/i386/x86-64-movsxd.s: Likewise.
1977 * testsuite/gas/all/gas.exp: Replace case statements with switch
1979 * testsuite/gas/elf/elf.exp: Likewise.
1980 * testsuite/gas/macros/macros.exp: Likewise.
1981 * testsuite/lib/gas-defs.exp: Likewise.
1986 * testsuite/gas/aarch64/armv8_4-a.d: Add cfinv.
1987 * testsuite/gas/aarch64/armv8_4-a.s: Likewise.
1991 * testsuite/gas/riscv/march-ok-s.d: sx is no longer valid and
1992 s exts must be known, so rename *ok* to *fail*.
1993 * testsuite/gas/riscv/march-ok-sx.d: Likewise.
1994 * testsuite/gas/riscv/march-ok-s-with-version: Likewise.
1995 * testsuite/gas/riscv/march-fail-s.l: Expected error messages for
1997 * testsuite/gas/riscv/march-fail-sx.l: Likewise.
1998 * testsuite/gas/riscv/march-fail-sx-with-version.l: Likewise.
2003 * config/tc-i386.c (check_long_reg): Always disallow double word
2004 suffix in mnemonic with word general register.
2005 * testsuite/gas/i386/general.s: Replace word general register
2006 with double word general register for movl.
2007 * testsuite/gas/i386/inval.s: Add tests for movl with word general
2009 * testsuite/gas/i386/general.l: Updated.
2010 * testsuite/gas/i386/inval.l: Likewise.
2014 * config/tc-ppc.c (parse_tls_arg): Handle tls arg for
2015 __tls_get_addr_desc and __tls_get_addr_opt.
2019 * testsuite/gas/i386/inval-crc32.s,
2020 testsuite/gas/i386/x86-64-inval-crc32.s: Add alignment directive.
2021 * testsuite/gas/i386/inval-crc32.l,
2022 testsuite/gas/i386/x86-64-inval-crc32.l: Adjust expectations.
2026 * config/tc-i386.c (process_suffix): Merge CRC32 handling into
2027 generic code path. Deal with No_lSuf being set in a template.
2028 * testsuite/gas/i386/inval-crc32.l,
2029 testsuite/gas/i386/x86-64-inval-crc32.l: Expect warning(s)
2030 instead of error(s) when operand size is ambiguous.
2031 * testsuite/gas/i386/noreg16.s, testsuite/gas/i386/noreg32.s,
2032 testsuite/gas/i386/noreg64.s: Add CRC32 tests.
2033 * testsuite/gas/i386/noreg16.d, testsuite/gas/i386/noreg16.l,
2034 testsuite/gas/i386/noreg32.d, testsuite/gas/i386/noreg32.l,
2035 testsuite/gas/i386/noreg64.d, testsuite/gas/i386/noreg64.l:
2036 Adjust expectations.
2040 * config/tc-i386.c (process_suffix): Drop SYSRET special case
2041 and an intel_syntax check. Re-write lack-of-suffix processing
2043 * doc/c-i386.texi: Document operand size defaults for suffix-
2044 less AT&T syntax insns.
2045 * testsuite/gas/i386/bundle.s, testsuite/gas/i386/lock-1.s,
2046 testsuite/gas/i386/opcode.s, testsuite/gas/i386/sse3.s,
2047 testsuite/gas/i386/x86-64-avx-scalar.s,
2048 testsuite/gas/i386/x86-64-avx.s,
2049 testsuite/gas/i386/x86-64-bundle.s,
2050 testsuite/gas/i386/x86-64-intel64.s,
2051 testsuite/gas/i386/x86-64-lock-1.s,
2052 testsuite/gas/i386/x86-64-opcode.s,
2053 testsuite/gas/i386/x86-64-sse2avx.s,
2054 testsuite/gas/i386/x86-64-sse3.s: Add missing suffixes.
2055 * testsuite/gas/i386/nops.s, testsuite/gas/i386/sse-noavx.s,
2056 testsuite/gas/i386/x86-64-nops.s,
2057 testsuite/gas/i386/x86-64-ptwrite.s,
2058 testsuite/gas/i386/x86-64-simd.s,
2059 testsuite/gas/i386/x86-64-sse-noavx.s,
2060 testsuite/gas/i386/x86-64-suffix.s: Drop bogus suffix-less
2062 * testsuite/gas/i386/noreg16.s, testsuite/gas/i386/noreg32.s,
2063 testsuite/gas/i386/noreg64.s: Add further tests.
2064 * testsuite/gas/i386/ilp32/x86-64-nops.d,
2065 testsuite/gas/i386/nops.d, testsuite/gas/i386/noreg16.d,
2066 testsuite/gas/i386/noreg32.d, testsuite/gas/i386/noreg64.d,
2067 testsuite/gas/i386/sse-noavx.d,
2068 testsuite/gas/i386/x86-64-intel64.d,
2069 testsuite/gas/i386/x86-64-nops.d,
2070 testsuite/gas/i386/x86-64-opcode.d,
2071 testsuite/gas/i386/x86-64-ptwrite-intel.d,
2072 testsuite/gas/i386/x86-64-ptwrite.d,
2073 testsuite/gas/i386/x86-64-simd-intel.d,
2074 testsuite/gas/i386/x86-64-simd-suffix.d,
2075 testsuite/gas/i386/x86-64-simd.d,
2076 testsuite/gas/i386/x86-64-sse-noavx.d
2077 testsuite/gas/i386/x86-64-suffix.d,
2078 testsuite/gas/i386/x86-64-suffix-intel.d: Adjust expectations.
2079 * testsuite/gas/i386/noreg16.l, testsuite/gas/i386/noreg32.l,
2080 testsuite/gas/i386/noreg64.l: New.
2081 * testsuite/gas/i386/i386.exp: Run new tests.
2085 * testsuite/gas/i386/avx512_bf16_vl.s,
2086 testsuite/gas/i386/x86-64-avx512_bf16_vl.s: Add broadcast forms
2087 of VCVTNEPS2BF16{X,Y}. Add operand-size less Intel syntax
2088 broadcast forms of VCVTNEPS2BF16.
2089 * testsuite/gas/i386/avx512_bf16_vl.d,
2090 testsuite/gas/i386/x86-64-avx512_bf16_vl.d: Adjust expectations.
2094 * po/uk.po: Updated Ukranian translation.
2099 * config/tc-i386.c (output_insn): Add a dummy REX_OPCODE prefix
2100 for lea with R_X86_64_GOTPC32_TLSDESC relocation when generating
2102 * testsuite/gas/i386/ilp32/x32-tls.d: Updated.
2103 * testsuite/gas/i386/ilp32/x32-tls.s: Add tests for lea with
2104 R_X86_64_GOTPC32_TLSDESC relocation.
2108 * configure: Regenerate.
2109 * po/gas.pot: Regenerate.
2113 Binutils 2.34 branch created.
2117 * config/tc-i386.c (_i386_insn): Replace vex_encoding_vex2
2118 with vex_encoding_vex.
2119 (parse_insn): Likewise.
2120 * doc/c-i386.texi: Replace {vex2} with {vex}. Update {vex}
2121 and {vex3} documentation.
2122 * testsuite/gas/i386/pseudos.s: Replace 3 {vex2} tests with
2124 * testsuite/gas/i386/x86-64-pseudos.s: Likewise.
2129 * config/tc-arm.c (mve_ext, mve_fp_ext): Use CORE_HIGH.
2130 (armv8_1m_main_ext_table): Use CORE_HIGH for mve.
2131 * testsuite/arm/armv8_1-m-fpu-mve-1.s: New.
2132 * testsuite/arm/armv8_1-m-fpu-mve-1.d: New.
2133 * testsuite/arm/armv8_1-m-fpu-mve-2.s: New.
2134 * testsuite/arm/armv8_1-m-fpu-mve-2.d: New.
2138 * config/tc-i386.c (match_template): Drop found_cpu_match local
2143 * testsuite/gas/i386/avx512dq-inval.l,
2144 testsuite/gas/i386/avx512dq-inval.s: New.
2145 * testsuite/gas/i386/i386.exp: Run new test.
2149 * config/tc-msp430.c (CHECK_RELOC_MSP430): Always generate 430X
2150 relocations when the target is 430X, except when extracting part of an
2152 (msp430_srcoperand): Adjust comment.
2153 Initialize the expp member of the msp430_operand_s struct as
2155 (msp430_dstoperand): Likewise.
2156 * testsuite/gas/msp430/msp430.exp: Run new test.
2157 * testsuite/gas/msp430/reloc-lo-430x.d: New test.
2158 * testsuite/gas/msp430/reloc-lo-430x.s: New test.
2162 * configure.tgt: Add sparc-*-freebsd case.
2166 * testsuite/gas/i386/align-branch-1a.d: Updated for Darwin.
2167 * testsuite/gas/i386/align-branch-1b.d: Likewise.
2168 * testsuite/gas/i386/align-branch-1c.d: Likewise.
2169 * testsuite/gas/i386/align-branch-1d.d: Likewise.
2170 * testsuite/gas/i386/align-branch-1e.d: Likewise.
2171 * testsuite/gas/i386/align-branch-1f.d: Likewise.
2172 * testsuite/gas/i386/align-branch-1g.d: Likewise.
2173 * testsuite/gas/i386/align-branch-1h.d: Likewise.
2174 * testsuite/gas/i386/align-branch-1i.d: Likewise.
2175 * testsuite/gas/i386/align-branch-5.d: Likewise.
2176 * testsuite/gas/i386/x86-64-align-branch-1a.d: Likewise.
2177 * testsuite/gas/i386/x86-64-align-branch-1b.d: Likewise.
2178 * testsuite/gas/i386/x86-64-align-branch-1c.d: Likewise.
2179 * testsuite/gas/i386/x86-64-align-branch-1d.d: Likewise.
2180 * testsuite/gas/i386/x86-64-align-branch-1e.d: Likewise.
2181 * testsuite/gas/i386/x86-64-align-branch-1f.d: Likewise.
2182 * testsuite/gas/i386/x86-64-align-branch-1g.d: Likewise.
2183 * testsuite/gas/i386/x86-64-align-branch-1h.d: Likewise.
2184 * testsuite/gas/i386/x86-64-align-branch-1i.d: Likewise.
2185 * testsuite/gas/i386/x86-64-align-branch-5.d: Likewise.
2186 * testsuite/gas/i386/i386.exp: Skip x86-64-align-branch-2a,
2187 x86-64-align-branch-2b and x86-64-align-branch-2c on Darwin.
2192 * config/tc-z80.c: Add support for half precision, single
2193 precision and double precision floating point values.
2194 * config/tc-z80.h b/gas/config/tc-z80.h: Disable string escapes.
2195 * doc/as.texi: Add new z80 command line options.
2196 * doc/c-z80.texi: Document new z80 command line options.
2197 * testsuite/gas/z80/ez80_pref_dis.s: New test.
2198 * testsuite/gas/z80/ez80_pref_dis.d: New test driver.
2199 * testsuite/gas/z80/z80.exp: Run the new test.
2200 * testsuite/gas/z80/fp_math48.d: Use correct command line option.
2201 * testsuite/gas/z80/fp_zeda32.d: Likewise.
2202 * testsuite/gas/z80/strings.d: Update expected output.
2206 * config/tc-aarch64.c (f64mm, f32mm): Add sve as a feature
2211 * config/tc-arc.c (arc_select_cpu): Re-init the bfd if we change
2213 * config/tc-arc.h: Add header if/defs.
2214 * testsuite/gas/arc/pseudos.d: Improve matching pattern.
2218 * testsuite/gas/wasm32/allinsn.d: Update expected output.
2222 * config/tc-tic4x.c (tic4x_operands_match): Correct tic3x trap
2227 * testsuite/gas/elf/pr14891.s: Don't start directives in first column.
2228 * testsuite/gas/elf/pr21661.d: Don't run on hpux.
2233 * config/tc-z80.c (emit_ld_m_rr): Use integer types when checking
2235 (emit_ld_r_r): Likewise.
2236 (emit_ld_rr_m): Likewise.
2237 (emit_ld_rr_nn): Likewise.
2241 * config/tc-i386.c (optimize_encoding): Add
2242 is_any_vex_encoding() invocations. Drop respective
2243 i.tm.extension_opcode == None checks.
2247 * config/tc-i386.c (md_assemble): Check RegRex is clear during
2248 REX transformations. Correct comment indentation.
2252 * config/tc-i386.c (optimize_encoding): Generalize register
2253 transformation for TEST optimization.
2257 * testsuite/gas/i386/x86-64-sysenter-amd.s,
2258 testsuite/gas/i386/x86-64-sysenter-amd.d,
2259 testsuite/gas/i386/x86-64-sysenter-amd.l,
2260 testsuite/gas/i386/x86-64-sysenter-intel.d,
2261 testsuite/gas/i386/x86-64-sysenter-mixed.d: New.
2262 * testsuite/gas/i386/i386.exp: Run new tests.
2267 * doc/as.texi (Align): Document the fact that all arguments can be
2270 (P2align): Likewise.
2275 * config/obj-elf.c (obj_elf_section): Fail if the section name is
2276 already defined as a different symbol type.
2277 * testsuite/gas/elf/pr14891.s: New test source file.
2278 * testsuite/gas/elf/pr14891.d: New test driver.
2279 * testsuite/gas/elf/pr14891.s: New test expected error output.
2280 * testsuite/gas/elf/elf.exp: Run the new test.
2284 * config/tc-z8k.c (md_begin): Make idx unsigned.
2285 (get_specific): Likewise for this_index.
2289 * onfig/tc-arc.c (parse_reloc_symbol): New function.
2290 (tokenize_arguments): Clean up, use parse_reloc_symbol function.
2291 (md_operand): Set X_md to absent.
2292 (arc_parse_name): Check for X_md.
2297 * as.h (TC_STRING_ESCAPES): Provide a default definition.
2298 * app.c (do_scrub_chars): Use TC_STRING_ESCAPES instead of
2300 * read.c (next_char_of_string): Likewise.
2301 * config/tc-ppc.h (TC_STRING_ESCAPES): Define.
2302 * config/tc-z80.h (TC_STRING_ESCAPES): Define.
2306 * po/sv.po: Updated Swedish translation.
2310 * testsuite/gas/aarch64/f64mm.s: Scale index of LD1RO{H,W,D}.
2311 * testsuite/gas/aarch64/f64mm.d: Adjust expectations.
2315 * testsuite/gas/aarch64/i8mm.s: Add 128-bit form tests for
2316 by-element usdot. Add 64-bit form tests for by-element sudot.
2317 * testsuite/gas/aarch64/i8mm.d: Adjust expectations.
2321 * testsuite/gas/aarch64/f64mm.s: Drop 'i' from uzip<n>.
2322 * testsuite/gas/aarch64/f64mm.d: Adjust expectations.
2326 * testsuite/gas/aarch64/f64mm.d,
2327 testsuite/gas/aarch64/sve-movprfx-mm.d: Adjust expectations.
2331 * config/tc-z80.c: Add new architectures: Z180 and eZ80. Add
2332 support for assembler code generated by SDCC. Add new relocation
2333 types. Add z80-elf target support.
2334 * config/tc-z80.h: Add z80-elf target support. Enable dollar local
2335 labels. Local labels starts from ".L".
2336 * NEWS: Mention the new support.
2337 * testsuite/gas/all/fwdexp.d: Fix failure due to symbol conflict.
2338 * testsuite/gas/all/fwdexp.s: Likewise.
2339 * testsuite/gas/all/cond.l: Likewise.
2340 * testsuite/gas/all/cond.s: Likewise.
2341 * testsuite/gas/all/fwdexp.d: Likewise.
2342 * testsuite/gas/all/fwdexp.s: Likewise.
2343 * testsuite/gas/elf/section2.e-mips: Likewise.
2344 * testsuite/gas/elf/section2.l: Likewise.
2345 * testsuite/gas/elf/section2.s: Likewise.
2346 * testsuite/gas/macros/app1.d: Likewise.
2347 * testsuite/gas/macros/app1.s: Likewise.
2348 * testsuite/gas/macros/app2.d: Likewise.
2349 * testsuite/gas/macros/app2.s: Likewise.
2350 * testsuite/gas/macros/app3.d: Likewise.
2351 * testsuite/gas/macros/app3.s: Likewise.
2352 * testsuite/gas/macros/app4.d: Likewise.
2353 * testsuite/gas/macros/app4.s: Likewise.
2354 * testsuite/gas/macros/app4b.s: Likewise.
2355 * testsuite/gas/z80/suffix.d: Fix failure on ELF target.
2356 * testsuite/gas/z80/z80.exp: Add new tests
2357 * testsuite/gas/z80/dollar.d: New file.
2358 * testsuite/gas/z80/dollar.s: New file.
2359 * testsuite/gas/z80/ez80_adl_all.d: New file.
2360 * testsuite/gas/z80/ez80_adl_all.s: New file.
2361 * testsuite/gas/z80/ez80_adl_suf.d: New file.
2362 * testsuite/gas/z80/ez80_isuf.s: New file.
2363 * testsuite/gas/z80/ez80_z80_all.d: New file.
2364 * testsuite/gas/z80/ez80_z80_all.s: New file.
2365 * testsuite/gas/z80/ez80_z80_suf.d: New file.
2366 * testsuite/gas/z80/r800_extra.d: New file.
2367 * testsuite/gas/z80/r800_extra.s: New file.
2368 * testsuite/gas/z80/r800_ii8.d: New file.
2369 * testsuite/gas/z80/r800_z80_doc.d: New file.
2370 * testsuite/gas/z80/z180.d: New file.
2371 * testsuite/gas/z80/z180.s: New file.
2372 * testsuite/gas/z80/z180_z80_doc.d: New file.
2373 * testsuite/gas/z80/z80_doc.d: New file.
2374 * testsuite/gas/z80/z80_doc.s: New file.
2375 * testsuite/gas/z80/z80_ii8.d: New file.
2376 * testsuite/gas/z80/z80_ii8.s: New file.
2377 * testsuite/gas/z80/z80_in_f_c.d: New file.
2378 * testsuite/gas/z80/z80_in_f_c.s: New file.
2379 * testsuite/gas/z80/z80_op_ii_ld.d: New file.
2380 * testsuite/gas/z80/z80_op_ii_ld.s: New file.
2381 * testsuite/gas/z80/z80_out_c_0.d: New file.
2382 * testsuite/gas/z80/z80_out_c_0.s: New file.
2383 * testsuite/gas/z80/z80_reloc.d: New file.
2384 * testsuite/gas/z80/z80_reloc.s: New file.
2385 * testsuite/gas/z80/z80_sli.d: New file.
2386 * testsuite/gas/z80/z80_sli.s: New file.
2390 * config/tc-arm.c (parse_reg_list): Use REG_TYPE_RN instead of
2395 Update year range in copyright notice of all files.
2397 For older changes see ChangeLog-2019
2399 Copyright (C) 2020 Free Software Foundation, Inc.
2401 Copying and distribution of this file, with or without modification,
2402 are permitted in any medium without royalty provided the copyright
2403 notice and this notice are preserved.
2409 version-control: never