1 2019-10-12 Nick Clifton <nickc@redhat.com>
4 * configure: Regenerate.
5 * po/gas.pot: Regenerate.
7 2019-10-04 Jan Beulich <jbeulich@suse.com>
10 * config/tc-i386.c (process_operands): Adjust handling of
11 PUSH/POP of segment registers.
12 * testsuite/gas/i386/x86-64-opcode.s: Add PUSHq/POPq case with
13 %fs/%gs operands. Add PUSHF/POPF case without suffix.
14 * testsuite/gas/i386/x86-64-opcode.d: Adjust expectations.
16 2019-09-30 Phil Blundell <pb@pbcl.net>
19 * configure, Makefile.in, doc/Makefile.in, po/gas.pot: Regenerate.
21 2019-09-25 Alan Modra <amodra@gmail.com>
24 2019-09-21 Alan Modra <amodra@gmail.com>
25 * config/tc-i386.c (md_parse_option): Fix warning on vexwig assignment.
27 2019-09-19 Matthew Malcomson <matthew.malcomson@arm.com>
29 * NEWS: Add SVE2 and TME entries.
31 2019-09-16 Phil Blundell <pb@pbcl.net>
33 * Makefile.in, doc/Makefile.in, configure: Regenerated.
35 2019-09-09 Phil Blundell <pb@pbcl.net>
37 binutils 2.33 branch created.
39 2019-09-05 Alan Modra <amodra@gmail.com>
41 * config/tc-ppc.c (ppc_elf_suffix): Display the relocation
42 operator on GOT reloc warnings/errors.
44 2019-08-27 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
46 * config/tc-arm.c (parse_neon_mov): Add check to accept vector
47 register to both the arguments in VMOV instruction.
48 * testsuite/gas/arm/mve-vmov-1.d: Modify.
49 * testsuite/gas/arm/mve-vmov-1.s: Likewise.
50 * testsuite/gas/arm/mve-vorr.d: Likewise.
52 2019-08-23 Nick Clifton <nickc@redhat.com>
54 * po/sv.po: Updated Swedish translation.
56 2019-08-22 Dennis Zhang <dennis.zhang@arm.com>
58 * config/tc-arm.c: New entries for Cortex-M35P, Cortex-A77,
60 * doc/c-arm.texi: Document new processors.
61 * testsuite/gas/arm/cpu-cortex-a76ae.d: New test.
62 * testsuite/gas/arm/cpu-cortex-a77.d: New test.
63 * testsuite/gas/arm/cpu-cortex-m35p.d: New test.
65 2019-08-22 Bosco GarcĂa <jbgg.gnu@gmail.com>
66 Nick Clifton <nickc@redhat.com>
68 * atof-generic.c (atof_generic): Do not ignore leading zeros if
69 they appear after a decimal point.
70 * testsuite/gas/all/float.s: Extend test to include a number with
71 a leading decimal point followed by several zeroes.
72 * testsuite/gas/i386/fp.s: Likewise.
73 * testsuite/gas/i386/fp.d: Update expected output.
75 2019-08-22 Barnaby Wilks <barnaby.wilks@arm.com>
77 * config/tc-aarch64.c: Add float16 directive and add "Hh" to
78 acceptable float characters.
79 * doc/c-aarch64.texi: Documentation for float16 directive.
80 * testsuite/gas/aarch64/float16-be.d: New test.
81 * testsuite/gas/aarch64/float16-le.d: New test.
82 * testsuite/gas/aarch64/float16.s: New test.
83 * NEWS: Add NEWS entry.
85 2019-08-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
87 * testsuite/gas/aarch64/sysreg-4.d: Update expected disassembly for
88 tfsre0_el1, tfsr_el1, tfsr_el2, tfsr_el3, tfsr_el12 system registers.
90 2019-08-20 Dennis Zhang <dennis.zhang@arm.com>
92 * NEWS: Mention the Arm and AArch64 new processors.
93 * config/tc-aarch64.c: New entries for Cortex-A34, Cortex-A65,
94 Cortex-A77, cortex-A65AE, and Cortex-A76AE.
95 * doc/c-aarch64.texi: Document new CPUs.
96 * testsuite/gas/aarch64/cpu-cortex-a34.d: New test.
97 * testsuite/gas/aarch64/cpu-cortex-a65.d: New test.
98 * testsuite/gas/aarch64/cpu-cortex-a65ae.d: New test.
99 * testsuite/gas/aarch64/cpu-cortex-a76ae.d: New test.
100 * testsuite/gas/aarch64/cpu-cortex-a77.d: New test.
101 * testsuite/gas/aarch64/nop-asm.s: New test.
103 2019-08-19 Faraz Shahbazker <fshahbazker@wavecomp.com>
105 * config/tc-mips.c (fix_bad_misaligned_address): New function.
106 (fix_validate_branch): Call fix_bad_misaligned address_to
107 calculate the target address.
108 (md_apply_fix): Likewise.
109 (md_convert_frag): Update misaligned address calculation to
110 disregard ISA mode bit.
112 2019-08-19 Faraz Shahbazker <fshahbazker@wavecomp.com>
114 * config/tc-mips.c (mips_move_labels): Retain ISA mode bit
115 when moving labels in text segments.
116 (mips_align): Indicate text mode when aligning labels in
118 * gas/testsuite/gas/mips/insn-isa-mode.d: New test.
119 * gas/testsuite/gas/mips/insn-isa-mode.s: New test source.
120 * gas/testsuite/gas/mips/mips.exp: Run the new test.
122 2019-08-19 Barnaby Wilks <Barnaby.Wilks@arm.com>
124 * config/tc-arm.c (md_atof): Add precision check. Formatting.
126 2019-08-15 Nick Clifton <nickc@redhat.com>
128 * po/sv.po: Updated Swedish translation.
130 2019-08-12 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
132 * config/tc-arm.c (enum operand_parse_code): Add the entry OP_I48_I64.
133 (po_imm1_or_imm2_or_fail): Marco to check the immediate is either of
135 (parse_operands): Add case OP_I48_I64.
136 (do_mve_scalar_shift1): Add function to encode the MVE shift
137 instructions with 4 arguments.
138 * testsuite/gas/arm/mve-shift-bad.l: Modify.
139 * testsuite/gas/arm/mve-shift-bad.s: Likewise.
140 * testsuite/gas/arm/mve-shift.d: Likewise.
141 * testsuite/gas/arm/mve-shift.s: Likewise.
143 2019-08-12 Barnaby Wilks <barnaby.wilks@arm.com>
145 * config/tc-arm.c (enum fp_16bit_format): Add enum to represent the 2 float16 encodings.
146 (md_atof): Set precision for float16 type.
147 (arm_is_largest_exponent_ok): Check for whether to encode with the IEEE or alternative
149 (set_fp16_format): Parse a float16_format directive.
150 (arm_parse_fp16_opt): Parse the fp16-format command line option.
151 (aeabi_set_public_attributes): For ELF encode the FP16 format EABI attribute.
152 * config/tc-arm.h (TC_LARGEST_EXPONENT_IS_NORMAL): Macro that expands to
153 arm_is_largest_exponent_ok.
154 (arm_is_largest_exponent_ok): Add prototype for arm_is_largest_exponent_ok function.
155 * doc/c-arm.texi: Add documentation for .float16, .float16_format and -mfp16-format=
156 * testsuite/gas/arm/float16-bad.d: New test.
157 * testsuite/gas/arm/float16-bad.l: New test.
158 * testsuite/gas/arm/float16-bad.s: New test.
159 * testsuite/gas/arm/float16-be.d: New test.
160 * testsuite/gas/arm/float16-format-bad.d: New test.
161 * testsuite/gas/arm/float16-format-bad.l: New test.
162 * testsuite/gas/arm/float16-format-bad.s: New test.
163 * testsuite/gas/arm/float16-format-opt-bad.d: New test.
164 * testsuite/gas/arm/float16-format-opt-bad.l: New test.
165 * testsuite/gas/arm/float16-le.d: New test.
166 * testsuite/gas/arm/float16.s: New test.
167 * testsuite/gas/arm/float16-eabi-alternative-format.d: New test.
168 * testsuite/gas/arm/float16-eabi-ieee-format.d: New test.
169 * testsuite/gas/arm/float16-eabi-no-format.d: New test.
170 * testsuite/gas/arm/float16-eabi.s: New test.
172 2019-08-12 Barnaby Wilks <barnaby.wilks@arm.com>
174 * config/atof-ieee.c (H_PRECISION): Macro for precision of float16
176 (atof_ieee): Set precision and exponent bits for encoding float16
178 (gen_to_words): NaN and Infinity encoding for float16.
179 (ieee_md_atof): Set precision for encoding float16 type.
181 2019-08-12 Alan Modra <amodra@gmail.com>
184 * config/tc-epiphany.c (md_estimate_size_before_relax): Clear
185 extra opcode bytes when changing from a 2-byte to a 4-byte insn.
187 2019-08-09 Jan Beulich <jbeulich@suse.com>
189 * testsuite/gas/i386/ilp32/x86-64-simd-intel.d,
190 testsuite/gas/i386/ilp32/x86-64-simd-suffix.d,
191 testsuite/gas/i386/ilp32/x86-64-simd.d: Redirect to parent dir
193 * testsuite/gas/i386/x86-64-simd-intel.d,
194 testsuite/gas/i386/x86-64-simd-suffix.d,
195 testsuite/gas/i386/x86-64-simd.d: Don't hard-code hex addresses
196 and symbol-relative offsets.
198 2019-08-08 Nick Clifton <nickc@redhat.com>
201 * testsuite/gas/i386/property-1.d: Adjust for new output format
203 * testsuite/gas/i386/property-2.d: Likewise.
204 * testsuite/gas/i386/x86-64-property-1.d: Likewise.
205 * testsuite/gas/i386/x86-64-property-2.d: Likewise.
207 2019-08-08 Yoshinori Sato <ysato@users.sourceforge.jp>
209 * testsuite/gas/h8300/h8300.exp: Fix movfpe and movtpe tests.
210 * testsuite/gas/h8300/misc.s: Likewise.
211 * testsuite/gas/h8300/misch.s: Likewise.
212 * testsuite/gas/h8300/miscs.s: Likewise.
214 2019-08-05 Barnaby Wilks <barnaby.wilks@arm.com>
216 * config/tc-arm.c (do_mve_vqdmlah): Use N_S_32 macro.
217 (do_neon_qrdmlah): Use N_S_32 macro.
218 * testsuite/gas/arm/mve-vqdmlah-bad.d: New test.
219 * testsuite/gas/arm/mve-vqdmlah-bad.l: New test.
220 * testsuite/gas/arm/mve-vqdmlah-bad.s: New test.
221 * testsuite/gas/arm/mve-vqdmlah.d: Remove unsigned instruction tests.
222 * testsuite/gas/arm/mve-vqdmlah.s: Remove unsigned instruction tests.
223 * testsuite/gas/arm/mve-vqdmlash-bad.d: New test.
224 * testsuite/gas/arm/mve-vqdmlash-bad.l: New test.
225 * testsuite/gas/arm/mve-vqdmlash-bad.s: New test.
226 * testsuite/gas/arm/mve-vqdmlash.d: Remove unsigned instruction tests.
227 * testsuite/gas/arm/mve-vqdmlash.s: Remove unsigned instruction tests.
229 2019-07-30 Mel Chen <mel.chen@sifive.com>
231 * testsuite/gas/riscv/alias-csr.s: Add testcase for CSR-access
233 * testsuite/gas/riscv/no-aliases-csr.d: Run testcase alias-csr.s with
236 * testsuite/gas/riscv/alias-csr.d: Run testcase alias-csr.s.
237 * testsuite/gas/riscv/priv-reg.d: Update.
239 2019-07-24 Nick Clifton <nickc@redhat.com>
241 * po/sv.po: Updated Swedish translation.
243 2019-07-24 Claudiu Zissulescu <claziss@synopsys.com>
245 * testsuite/gas/arc/nps400-6.d: Update test.
247 2019-07-24 Alan Modra <amodra@gmail.com>
249 * config/obj-elf.c (obj_elf_section, obj_elf_type): Set has_gnu_osabi.
250 * testsuite/gas/elf/section12a.d: Update xfails.
251 * testsuite/gas/elf/section12b.d: Likewise.
253 2019-07-24 Alan Modra <amodra@gmail.com>
255 * testsuite/gas/elf/section12a.d: xfail visium and cloudabi.
256 * testsuite/gas/elf/section12b.d: Likewise.
257 * testsuite/gas/elf/section13.d: Likewise.
259 2019-07-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
261 * testsuite/gas/aarch64/sysreg-4.s: Test gmid_el1 read.
262 * testsuite/gas/aarch64/sysreg-4.d: Update expected output.
263 * testsuite/gas/aarch64/illegal-sysreg-4.l: Likewise.
265 2019-07-23 Alan Modra <amodra@gmail.com>
267 * config/obj-elf.c (obj_elf_change_section): Don't emit a fatal
268 error for non-SHF_ALLOC SHF_GNU_MBIND here.
269 (obj_elf_parse_section_letters): Return SHF_GNU_MBIND in new
271 (obj_elf_section): Adjust obj_elf_parse_section_letters call.
272 Formatting. Set SHF_GNU_MBIND and elf_osabi from gnu_attr.
273 Emit normal error for non-SHF_ALLOC SHF_GNU_MBIND and wrong osabi.
274 (obj_elf_type): Set elf_osabi for ifunc.
275 * testsuite/gas/elf/section12a.d: xfail msp430 and hpux.
276 * testsuite/gas/elf/section12b.d: Likewise.
277 * testsuite/gas/elf/section13.d: Likewise.
278 * testsuite/gas/elf/section13.l: Adjust expected error.
280 2019-07-23 Alan Modra <amodra@gmail.com>
282 * testsuite/gas/elf/section12a.d: Don't skip for rx.
284 2019-07-22 Barnaby Wilks <barnaby.wilks@arm.com>
286 * config/tc-arm.c (do_mve_vqdmladh): Remove check for UNPREDICTABLE.
287 * testsuite/gas/arm/mve-vqdmladh-bad.l: Remove tests.
288 * testsuite/gas/arm/mve-vqdmladh-bad.s: Remove tests.
289 * testsuite/gas/arm/mve-vqdmladh.d: New tests.
290 * testsuite/gas/arm/mve-vqdmladh.s: New tests.
291 * testsuite/gas/arm/mve-vqdmlsdh-bad.l: Remove tests.
292 * testsuite/gas/arm/mve-vqdmlsdh-bad.s: Remove tests.
293 * testsuite/gas/arm/mve-vqdmlsdh.d: New tests.
294 * testsuite/gas/arm/mve-vqdmlsdh.s: New tests.
296 2019-07-19 H.J. Lu <hongjiu.lu@intel.com>
298 * testsuite/gas/i386/noextreg.d: Pass -O0 to assembler.
300 2019-07-19 Jose E. Marchesi <jose.marchesi@oracle.com>
302 * testsuite/gas/bpf/alu.d: Use %r6 instead of %ctx.
303 * testsuite/gas/bpf/lddw-be.d: Likewise.
304 * testsuite/gas/bpf/lddw.d: Likewise.
305 * testsuite/gas/bpf/alu-be.d: Likewise.
306 * testsuite/gas/bpf/alu32.d: Likewise.
308 2019-07-19 Jose E. Marchesi <jose.marchesi@oracle.com>
310 * config/tc-bpf.c (pe_lcomm_internal): Adapted from tc-i386.c.
311 (pe_lcomm): Likewise.
312 (md_pseudo_table): Use pe_lcomm to implement .lcomm.
314 2019-07-19 Richard Sandiford <richard.sandiford@arm.com>
316 * doc/c-aarch64.texi: Remame the +bitperm extension to +sve2-bitperm.
317 * config/tc-aarch64.c (aarch64_features): Likewise.
318 * testsuite/gas/aarch64/illegal-sve2-aes.d: Update accordingly.
319 * testsuite/gas/aarch64/illegal-sve2-sha3.d: Likewise.
320 * testsuite/gas/aarch64/illegal-sve2-sm4.d: Likewise.
321 * testsuite/gas/aarch64/illegal-sve2.d: Likewise.
322 * testsuite/gas/aarch64/sve2.d: Likewise.
324 2019-07-19 Alan Modra <amodra@gmail.com>
326 * config/tc-ppc.c (ppc_elf_suffix): Map "tls@pcrel", "got@tlsgd@pcrel",
327 "got@tlsld@pcrel", "got@tprel@pcrel", and "got@dtprel@pcrel".
328 (fixup_size, md_assemble): Handle pcrel tls relocs.
329 (ppc_force_relocation, ppc_fix_adjustable): Likewise.
330 (md_apply_fix, tc_gen_reloc): Likewise.
332 2019-07-17 Jose E. Marchesi <jose.marchesi@oracle.com>
334 * config/tc-bpf.c: Make .lcomm to get a third argument with the
337 2019-07-17 Jose E. Marchesi <jose.marchesi@oracle.com>
339 * config/tc-bpf.c (md_pseudo_table): .half, .word and .dword.
341 * testsuite/gas/bpf/data.s: New file.
342 * testsuite/gas/bpf/data.d: Likewise.
343 * testsuite/gas/bpf/data-be.d: Likewise.
344 * testsuite/gas/bpf/bpf.exp: Run data and data-be.
345 * doc/c-bpf.texi (BPF Directives): New section.
347 2019-07-17 Jan Beulich <jbeulich@suse.com>
349 * config/tc-i386.c (check_hle, md_assemble, check_VecOperands,
350 match_template, check_string, build_modrm_byte): Replace
351 operand_type_check(..., anymem) by Operand_Mem ones.
352 (process_operands): Also copy i.flags[] when copying other
355 2019-07-16 Jan Beulich <jbeulich@suse.com>
357 * config/tc-i386.c (match_template): Adjust regmem reference.
358 Adjust comment and update regmem when swapping operands.
359 (build_modrm_byte): Drop clearing of regmem and stale part of
360 comment. Correct comment. Adjust regmem reference.
362 2019-07-16 Jan Beulich <jbeulich@suse.com>
364 * config/tc-i386.c (type_names): Replace SReg entries.
365 (pi, check_byte_reg, build_modrm_byte, i386_att_operand,
366 parse_real_register): Switch to using sreg field.
367 (process_operands): Likewise. Extend handling of PUSH/POP of
368 segment registers. Drop dead setting of REX_B.
369 * config/tc-i386-intel.c (i386_intel_simplify_register,
370 i386_intel_operand): Switch to using sreg field.
371 * testsuite/gas/i386/x86-64-opcode.s: Add PUSH/POP of %fs/%gs.
372 * testsuite/gas/i386/x86-64-opcode.d: Adjust expectations.
373 * testsuite/gas/i386/ilp32/x86-64-opcode.d: Use parent dir
376 2019-07-15 Jose E. Marchesi <jose.marchesi@oracle.com>
378 * testsuite/gas/bpf/mem.s: ldabs instructions do not take a `src'
379 register as an argument.
380 * testsuite/gas/bpf/mem.d: Updated accordingly.
381 * testsuite/gas/bpf/mem-be.d: Likewise.
382 * doc/c-bpf.texi (BPF Opcodes): Update to reflect the correct
383 explicit arguments to ldabs and ldind instructions.
385 2019-07-14 Jose E. Marchesi <jose.marchesi@oracle.com>
387 * testsuite/gas/bpf/mem.s: Do not use explicit arguments for
388 ldabs and ldind instructions.
389 * testsuite/gas/bpf/mem.d: Updated accordingly.
390 * testsuite/gas/bpf/mem-be.d: Likewise.
392 2019-07-09 Alan Modra <amodra@gmail.com>
394 * config/obj-elf.c (elf_frob_symbol): Remove mips hacks.
395 * config/tc-mips.h (tc_frob_symbol): Define.
396 (mips_frob_symbol): Declare.
397 * config/tc-mips.c (s_mips_globl): Don't set BSF_OBJECT for irix.
398 (mips_frob_symbol): Fudge symbols for irix here.
399 * testsuite/gas/elf/type-2.e: Allow random target symbols.
401 2019-07-05 Kito Cheng <kito.cheng@sifive.com>
403 * doc/c-riscv.texi (Instruction Formats): Add r4 type.
404 * testsuite/gas/riscv/insn.d: Add testcase for r4 type.
405 * testsuite/gas/riscv/insn.s: Ditto.
407 * doc/c-riscv.texi (Instruction Formats): Add b and j type.
408 * testsuite/gas/riscv/insn.d: Add test case for b and j type.
409 * testsuite/gas/riscv/insn.s: Ditto.
411 * testsuite/gas/riscv/insn.s: Correct instruction type for load
414 * testsuite/gas/riscv/insn.d: Using regular expression to match
417 * doc/c-riscv.texi (Instruction Formats): Fix encoding table for SB
420 2019-07-04 Jan Beulich <jbeulich@suse.com>
422 * config/tc-i386.c (md_parse_option): Don't blindly accept all
424 (md_show_usage): Correctly name the ignored -Q option flavors.
426 2019-07-04 Jan Beulich <jbeulich@suse.com>
428 * config/obj-elf.c (obj_elf_type): Check for conflicts between
430 * config/tc-hppa.h (md_elf_symbol_type_change): New.
431 * doc/as.texi: Mention warning behavior for the ELF flavor of
433 * testsuite/gas/elf/type-2.e, testsuite/gas/elf/type-2.l,
434 testsuite/gas/elf/type-2.s: New.
435 * testsuite/gas/elf/elf.exp: Run new test.
437 2019-07-03 Nick Clifton <nickc@redhat.com>
439 * testsuite/gas/aarch64/codealign.d: Update to work with a
440 toolchain configured to generate build notes.
441 * testsuite/gas/aarch64/codealign_1.d: Likewise.
442 * testsuite/gas/aarch64/dwarf.d: Likewise.
443 * testsuite/gas/aarch64/mapmisc.d: Likewise.
444 * testsuite/gas/aarch64/mapping.d: Likewise.
445 * testsuite/gas/aarch64/mapping2.d: Likewise.
446 * testsuite/gas/aarch64/mapping3.d: Likewise.
447 * testsuite/gas/aarch64/mapping4.d: Likewise.
448 * testsuite/gas/aarch64/mapping_5.d: Likewise.
449 * testsuite/gas/aarch64/mapping_6.d: Likewise.
450 * testsuite/gas/aarch64/sve-movprfx_1.d: Likewise.
451 * testsuite/gas/aarch64/sve-movprfx_10.d: Likewise.
452 * testsuite/gas/aarch64/sve-movprfx_11.d: Likewise.
453 * testsuite/gas/aarch64/sve-movprfx_12.d: Likewise.
454 * testsuite/gas/aarch64/sve-movprfx_13.d: Likewise.
455 * testsuite/gas/aarch64/sve-movprfx_14.d: Likewise.
456 * testsuite/gas/aarch64/sve-movprfx_15.d: Likewise.
457 * testsuite/gas/aarch64/sve-movprfx_16.d: Likewise.
458 * testsuite/gas/aarch64/sve-movprfx_17.d: Likewise.
459 * testsuite/gas/aarch64/sve-movprfx_18.d: Likewise.
460 * testsuite/gas/aarch64/sve-movprfx_19.d: Likewise.
461 * testsuite/gas/aarch64/sve-movprfx_2.d: Likewise.
462 * testsuite/gas/aarch64/sve-movprfx_20.d: Likewise.
463 * testsuite/gas/aarch64/sve-movprfx_21.d: Likewise.
464 * testsuite/gas/aarch64/sve-movprfx_22.d: Likewise.
465 * testsuite/gas/aarch64/sve-movprfx_23.d: Likewise.
466 * testsuite/gas/aarch64/sve-movprfx_24.d: Likewise.
467 * testsuite/gas/aarch64/sve-movprfx_25.d: Likewise.
468 * testsuite/gas/aarch64/sve-movprfx_26.d: Likewise.
469 * testsuite/gas/aarch64/sve-movprfx_27.d: Likewise.
470 * testsuite/gas/aarch64/sve-movprfx_3.d: Likewise.
471 * testsuite/gas/aarch64/sve-movprfx_4.d: Likewise.
472 * testsuite/gas/aarch64/sve-movprfx_5.d: Likewise.
473 * testsuite/gas/aarch64/sve-movprfx_6.d: Likewise.
474 * testsuite/gas/aarch64/sve-movprfx_7.d: Likewise.
475 * testsuite/gas/aarch64/sve-movprfx_8.d: Likewise.
476 * testsuite/gas/aarch64/sve-movprfx_9.d: Likewise.
477 * testsuite/gas/aarch64/symbol-variant_pcs-1.d: Likewise.
478 * testsuite/gas/aarch64/symbol-variant_pcs-2.d: Likewise.
479 * testsuite/gas/aarch64/symbol-variant_pcs-3.d: Likewise.
480 * testsuite/gas/all/assign.d: Likewise.
481 * testsuite/gas/all/none.d: Likewise.
482 * testsuite/gas/all/weakref1.d: Likewise.
483 * testsuite/gas/arm/got_prel.d: Likewise.
484 * testsuite/gas/arm/local_function.d: Likewise.
485 * testsuite/gas/arm/mapdir.d: Likewise.
486 * testsuite/gas/arm/mapmisc.d: Likewise.
487 * testsuite/gas/arm/mapping2.d: Likewise.
488 * testsuite/gas/arm/mapping3.d: Likewise.
489 * testsuite/gas/arm/mapping4.d: Likewise.
490 * testsuite/gas/arm/mapsecs.d: Likewise.
491 * testsuite/gas/arm/mapshort-eabi.d: Likewise.
492 * testsuite/gas/arm/thumbrel.d: Likewise.
493 * testsuite/gas/arm/unwind.d: Likewise.
494 * testsuite/gas/cfi/cfi-label.d: Likewise.
495 * testsuite/gas/elf/elf.exp: Likewise.
496 * testsuite/gas/i386/bss.d: Likewise.
497 * testsuite/gas/i386/ifunc-3.d: Likewise.
498 * testsuite/gas/i386/ilp32/mixed-mode-reloc64.d: Likewise.
499 * testsuite/gas/i386/ilp32/quad.d: Likewise.
500 * testsuite/gas/i386/ilp32/reloc64.d: Likewise.
501 * testsuite/gas/i386/ilp32/x86-64-size-1.d: Likewise.
502 * testsuite/gas/i386/ilp32/x86-64-size-3.d: Likewise.
503 * testsuite/gas/i386/ilp32/x86-64-size-5.d: Likewise.
504 * testsuite/gas/i386/ilp32/x86-64-unwind.d: Likewise.
505 * testsuite/gas/i386/mixed-mode-reloc32.d: Likewise.
506 * testsuite/gas/i386/mixed-mode-reloc64.d: Likewise.
507 * testsuite/gas/i386/nop-6.d: Likewise.
508 * testsuite/gas/i386/property-1.d: Likewise.
509 * testsuite/gas/i386/property-2.d: Likewise.
510 * testsuite/gas/i386/relax.d: Likewise.
511 * testsuite/gas/i386/reloc64.d: Likewise.
512 * testsuite/gas/i386/size-1.d: Likewise.
513 * testsuite/gas/i386/size-3.d: Likewise.
514 * testsuite/gas/i386/x86-64-nop-6.d: Likewise.
515 * testsuite/gas/i386/x86-64-property-1.d: Likewise.
516 * testsuite/gas/i386/x86-64-property-2.d: Likewise.
517 * testsuite/gas/i386/x86-64-size-1.d: Likewise.
518 * testsuite/gas/i386/x86-64-size-3.d: Likewise.
519 * testsuite/gas/i386/x86-64-size-5.d: Likewise.
520 * testsuite/gas/i386/x86-64-unwind.d: Likewise.
521 * testsuite/gas/macros/irp.d: Likewise.
522 * testsuite/gas/macros/repeat.d: Likewise.
523 * testsuite/gas/macros/rept.d: Likewise.
524 * testsuite/gas/macros/test2.d: Likewise.
525 * testsuite/gas/macros/test3.d: Likewise.
526 * testsuite/gas/macros/vararg.d: Likewise.
527 * testsuite/gas/ppc/astest2.d: Likewise.
528 * testsuite/gas/ppc/astest2_64.d: Likewise.
529 * testsuite/gas/ppc/astest64.d: Likewise.
530 * testsuite/gas/ppc/power4.d: Likewise.
531 * testsuite/gas/ppc/test1elf64.d: Likewise.
533 2019-07-02 Barnaby Wilks <barnaby.wilks@arm.com>
535 * config/tc-aarch64.c (parse_operands): Add error check.
536 * testsuite/gas/aarch64/diagnostic.l: New test.
537 * testsuite/gas/aarch64/diagnostic.s: New test.
538 * testsuite/gas/aarch64/illegal.l: New tests.
539 * testsuite/gas/aarch64/illegal.s: New tests.
541 2019-07-02 Richard Sandiford <richard.sandiford@arm.com>
543 * testsuite/gas/aarch64/sve-movprfx_27.s,
544 * testsuite/gas/aarch64/sve-movprfx_27.d: New test.
546 2019-07-02 Richard Sandiford <richard.sandiford@arm.com>
548 * testsuite/gas/aarch64/sve-movprfx_26.s: Also test FCVTZS, FCVTZU,
549 SCVTF, UCVTF, LSR and ASR.
550 * testsuite/gas/aarch64/sve-movprfx_26.d: Update accordingly.
551 * testsuite/gas/aarch64/sve-movprfx_26.l: Likewise.
553 2019-07-02 Richard Sandiford <richard.sandiford@arm.com>
555 * testsuite/gas/aarch64/sve-movprfx_25.s: Allow CPY Z1.D.P1/M,X1
556 to be prefixed by MOVPRFX.
557 * testsuite/gas/aarch64/sve-movprfx_25.d: Update accordingly.
558 * testsuite/gas/aarch64/sve-movprfx_25.l: Likewise.
560 2019-07-01 Nick Clifton <nickc@redhat.com>
563 * write.c (create_note_reloc): Add desc2_offset parameter. Change
564 name of offset parameter to note_offset. Only use desc2_offset
565 when placing addend into REL reloc's address space.
566 (maybe_generate_build_notes): Update parameters passed to
569 2019-07-01 Matthew Malcomson <matthew.malcomson@arm.com>
571 * testsuite/gas/aarch64/illegal-sve2-aes.d: Update tests.
572 * testsuite/gas/aarch64/illegal-sve2.l: Update tests.
573 * doc/c-aarch64.texi: Add special note of pmull{t,b}
574 instructions under the sve2-aes architecture extension.
575 * testsuite/gas/aarch64/illegal-sve2.s: Add small size
576 pmull{t,b} instructions.
577 * testsuite/gas/aarch64/sve2.d: Add small size pmull{t,b}
579 * testsuite/gas/aarch64/sve2.s: Add small size pmull{t,b}
582 2019-07-01 Nick Clifton <nickc@redhat.com>
585 * doc/c-i386.texi (i386-Directives): Add a description of the
588 2019-07-01 Nick Clifton <nickc@redhat.com>
591 * doc/as.texi (Align): Add missing word to description of
595 2019-06-28 Nick Clifton <nickc@redhat.com>
598 * doc/as.texi (Zero): Fix spelling typo.
600 2019-07-01 Jan Beulich <jbeulich@suse.com>
602 * config/tc-i386.c (vec_imm4): Delete.
603 (VEX_check_operands): Replace Vec_Imm4 check by CpuXOP with five
604 operands one. Clear Imm<N> by different means.
605 (build_modrm_byte): Adjust comment. Remove dead code. Add and
608 2019-07-01 Jan Beulich <jbeulich@suse.com>
610 * config/tc-i386.c (output_insn): Adjust recognition of xFENCE
611 insns. Move PadLock special case of prefix emission to 3-byte
612 long base opcode handling.
613 (i386_index_check): Check for CpuPadLock instead of ImmExt.
615 2019-07-01 Jan Beulich <jbeulich@suse.com>
617 * config/tc-i386.c (optimize_encoding): Handle AND / OR with
618 both operands being the same register.
619 * doc/c-i386.texi: Update -O2 documentation.
620 * testsuite/gas/i386/optimize-2.s,
621 testsuite/gas/i386/x86-64-optimize-3.s: Add cases of AND / OR
622 with both operands being the same register.
623 * testsuite/gas/i386/optimize-2.d,
624 testsuite/gas/i386/x86-64-optimize-3.d: Adjust expectations.
625 * testsuite/gas/i386/optimize-2b.d,
626 testsuite/gas/i386/x86-64-optimize-3b.d: New.
627 * testsuite/gas/i386/i386.exp: Run new test.
629 2019-07-01 Jan Beulich <jbeulich@suse.com>
631 * config/tc-i386.c (commutative): New.
632 (build_vex_prefix): Handle commutative case.
633 (optimize_encoding): Set commutative flag when appropriate.
634 * doc/c-i386.texi: Update -O2 documentation.
635 * testsuite/gas/i386/ilp32/x86-64-sse2avx.d: Re-use parent dir
637 * testsuite/gas/i386/x86-64-sse2avx.s: Add tests with high
638 numbered source operands.
639 * testsuite/gas/i386/x86-64-optimize-2.d,
640 testsuite/gas/i386/x86-64-optimize-2b.d,
641 testsuite/gas/i386/x86-64-optimize-3.d,
642 testsuite/gas/i386/x86-64-optimize-5.d,
643 testsuite/gas/i386/x86-64-optimize-6.d,
644 testsuite/gas/i386/x86-64-sse2avx.d: Adjust expectations.
645 * testsuite/gas/i386/x86-64-avx-swap-2.d,
646 testsuite/gas/i386/x86-64-avx-swap-2.s: New.
647 * testsuite/gas/i386/i386.exp: Run new test.
649 2019-07-01 Jan Beulich <jbeulich@suse.com>
651 * config/tc-i386.c (is_evex_encoding): Don't check for SAE.
652 (check_VecOperands): Simplify static rounding / SAE checking.
654 2019-07-01 Jan Beulich <jbeulich@suse.com>
656 * config/tc-i386.c (optimize_encoding): Make j unsigned. Handle
657 vpand{d,q}, vpandn{d,q}, vpor{d,q}, and vpxor{d,q}. Also check/
658 clear broadcast. Eliminate a loop.
659 * doc/c-i386.texi: Update -O1 documentation.
660 * testsuite/gas/i386/optimize-1.s,
661 testsuite/gas/i386/optimize-2.s,
662 testsuite/gas/i386/optimize-3.s,
663 testsuite/gas/i386/optimize-5.s,
664 testsuite/gas/i386/x86-64-optimize-2.s,
665 testsuite/gas/i386/x86-64-optimize-3.s,
666 testsuite/gas/i386/x86-64-optimize-4.s,
667 testsuite/gas/i386/x86-64-optimize-6.s: Add vpand{d,q},
668 vpandn{d,q}, vpor{d,q}, and vpxor{d,q} cases.
669 testsuite/gas/i386/optimize-1.d,
670 testsuite/gas/i386/optimize-1a.d,
671 testsuite/gas/i386/optimize-2.d,
672 testsuite/gas/i386/optimize-3.d,
673 testsuite/gas/i386/optimize-4.d,
674 testsuite/gas/i386/optimize-5.d,
675 testsuite/gas/i386/x86-64-optimize-2.d,
676 testsuite/gas/i386/x86-64-optimize-2a.d,
677 testsuite/gas/i386/x86-64-optimize-2b.d,
678 testsuite/gas/i386/x86-64-optimize-3.d,
679 testsuite/gas/i386/x86-64-optimize-4.d,
680 testsuite/gas/i386/x86-64-optimize-5.d,
681 testsuite/gas/i386/x86-64-optimize-6.d: Adjust expectations.
683 2019-07-01 Jan Beulich <jbeulich@suse.com>
685 * testsuite/gas/i386/avx512f_vpclmulqdq.s,
686 testsuite/gas/i386/avx512vl_vpclmulqdq.s,
687 testsuite/gas/i386/vpclmulqdq.s,
688 testsuite/gas/i386/x86-64-avx512f_vpclmulqdq.s,
689 testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq.s: Add pseudo ops.
690 * testsuite/gas/i386/x86-64-vpclmulqdq.s: Likewise. Don't use
691 high 16 [xy]mm registers.
692 * testsuite/gas/i386/avx512f_vpclmulqdq.d,
693 testsuite/gas/i386/avx512f_vpclmulqdq-intel.d,
694 testsuite/gas/i386/avx512vl_vpclmulqdq.d,
695 testsuite/gas/i386/avx512vl_vpclmulqdq-intel.d,
696 testsuite/gas/i386/vpclmulqdq.d,
697 testsuite/gas/i386/vpclmulqdq-intel.d,
698 testsuite/gas/i386/x86-64-avx512f_vpclmulqdq.d,
699 testsuite/gas/i386/x86-64-avx512f_vpclmulqdq-intel.d,
700 testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq.d,
701 testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq-intel.d,
702 testsuite/gas/i386/x86-64-vpclmulqdq.d,
703 testsuite/gas/i386/x86-64-vpclmulqdq-intel.d: Adjust
706 2019-07-01 Jan Beulich <jbeulich@suse.com>
708 * tc-i386.c (output_disp, output_imm): Use encoding_length.
710 2019-07-01 Jan Beulich <jbeulich@suse.com>
712 * tc-i386.c (encoding_length): New.
713 (output_insn): Use it.
714 * testsuite/gas/i386/oversized16.l,
715 testsuite/gas/i386/oversized16.s,
716 testsuite/gas/i386/oversized64.l,
717 testsuite/gas/i386/oversized64.s: New.
718 * testsuite/gas/i386/i386.exp: Run new tests.
720 2019-06-27 H.J. Lu <hongjiu.lu@intel.com>
723 * testsuite/gas/i386/disassem.s: Add test for vgatherpf0dps
724 with invalid vector length.
725 * testsuite/gas/i386/x86-64-disassem.s: Likewise.
726 * testsuite/gas/i386/disassem.d: Updated.
727 * testsuite/gas/i386/x86-64-disassem.d: Likewise.
729 2019-06-27 Barnaby Wilk s<barnaby.wilks@arm.com>
731 * config/tc-arm.c (do_smc): Add range check for immediate operand.
732 (do_t_smc): Add range check for immediate operand. Remove
733 obsolete immediate encoding.
734 (md_apply_fix): Fix range check. Remove obsolete immediate encoding.
735 * testsuite/gas/arm/arch6zk.d: Fix test.
736 * testsuite/gas/arm/arch6zk.s: Fix test.
737 * testsuite/gas/arm/smc-bad.d: New test.
738 * testsuite/gas/arm/smc-bad.l: New test.
739 * testsuite/gas/arm/smc-bad.s: New test.
740 * testsuite/gas/arm/thumb32.d: Fix test.
741 * testsuite/gas/arm/thumb32.s: Fix test.
743 2019-06-27 Jan Beulich <jbeulich@suse.com>
745 config/tc-i386.c (md_assemble): Check for protected mode
746 incapable processor before encoding VEX and alike insns.
747 * testsuite/gas/i386/inval-16.s: For 80186 architecture.
748 * testsuite/gas/i386/inval-16.l: Adjust expectations.
749 * testsuite/gas/i386/avx-16bit.d,
750 testsuite/gas/i386/avx-16bit.s,
751 testsuite/gas/i386/avx512f-16bit.d,
752 testsuite/gas/i386/avx512f-16bit.s,
753 testsuite/gas/i386/bmi-16bit.d,
754 testsuite/gas/i386/bmi-16bit.s,
755 testsuite/gas/i386/bmi2-16bit.d,
756 testsuite/gas/i386/bmi2-16bit.s,
757 testsuite/gas/i386/lwp-16bit.d,
758 testsuite/gas/i386/lwp-16bit.s: New
759 testsuite/gas/i386/i386.exp: Run new tests.
761 2019-06-26 Jim Wilson <jimw@sifive.com>
763 * testsuite/gas/xstormy16/allinsn.sh: Change first line to
764 #!/bin/bash and make it executable.
765 * testsuite/gas/xstormy16/gcc.sh: Likewise.
767 2019-06-26 Lili Cui <lili.cui@intel.com>
769 * doc/c-i386.texi: Document x/y/z instruction sufffixes in AT&T
770 syntax and xmmword/ymmword/zmmword/fword/tbyte/oword ptr in
773 2019-06-25 Faraz Shahbazker <fshahbazker@wavecomp.com>
775 * config/tc-mips.c (macro) <M_LI>: Re-order MTHC1 with
776 respect to MTC1 and use $0 for either part where possible.
777 * testsuite/gas/mips/li-d.s: Add test cases for non-zero
778 words in double precision constants.
779 * testsuite/gas/mips/li-d.d: Update reference output.
780 * testsuite/gas/mips/micromips@isa-override-1.d: Likewise.
781 * testsuite/gas/mips/mips32r2@isa-override-1.d: Likewise.
782 * testsuite/gas/mips/mips64r2@isa-override-1.d: Likewise.
784 2019-06-25 Jan Beulich <jbeulich@suse.com>
786 * tc-i386.c (acc32, acc64): Delete.
787 (pi): Make first parameter pinter-to-const.
788 (type_names): Remove Acc. Add acc8, acc16, acc32, and acc64.
789 (pt): Use operand_type_equal().
790 (match_template): Replace use of acc32.
791 (process_suffix): Replace use of acc64.
793 2019-06-25 Jan Beulich <jbeulich@suse.com>
795 * doc/c-i386.texi: Mark -mavxscalar= and -mvexwig as dangrous to
798 2019-06-25 Jan Beulich <jbeulich@suse.com>
800 * tc-i386.c (process_suffix): Use is_any_vex_encoding().
802 2019-06-25 Jan Beulich <jbeulich@suse.com>
804 * testsuite/gas/i386/sse2-16bit.d,
805 testsuite/gas/i386/sse2-16bit.s: New.
806 testsuite/gas/i386/i386.exp: Run new test.
808 2019-06-25 Jan Beulich <jbeulich@suse.com>
810 * config/tc-i386.c (optimize_encoding): Also handle ANDQ with
811 immediatie fitting in 7 bits.
812 * testsuite/gas/i386/x86-64-optimize-1.s: Add ANDQ cases with
813 7- and 8-bit immediates.
814 * testsuite/gas/i386/x86-64-optimize-1.d: Adjust expectations.
816 2019-06-25 Jan Beulich <jbeulich@suse.com>
818 * testsuite/gas/i386/xmmword.s: Add cvtps2pi and cvttps2pi
820 * testsuite/gas/i386/xmmword.l: Adjust expectations.
822 2019-06-25 Alan Modra <amodra@gmail.com>
824 * config/tc-ppc.c (ppc_handle_align): Add parentheses.
826 2019-06-25 Alan Modra <amodra@gmail.com>
828 * config/tc-ppc.h (ppc_nop_select): Declare.
829 (NOP_OPCODE): Define.
830 * config/tc-ppc.c (ppc_elf_end, ppc_xcoff_end): Zero ppc_cpu.
831 (ppc_nop_encoding_for_rs_align_code): New enum.
832 (ppc_nop_select): New function.
833 (ppc_handle_align): Don't use ppc_cpu here. Get nop type from frag.
834 * testsuite/gas/ppc/groupnop.d,
835 * testsuite/gas/ppc/groupnop.s: New test.
836 * testsuite/gas/ppc/ppc.exp: Run it.
838 2019-06-19 H.J. Lu <hongjiu.lu@intel.com>
841 * testsuite/gas/i386/disassem.s: Add test for vbroadcasti32x8
842 with invalid vector length.
843 * testsuite/gas/i386/x86-64-disassem.s: Likewise.
844 * testsuite/gas/i386/disassem.d: Updated.
845 * testsuite/gas/i386/x86-64-disassem.d: Likewise.
847 2019-06-17 H.J. Lu <hongjiu.lu@intel.com>
850 * testsuite/gas/i386/disassem.s: Add test for vshuff32x4 with
851 invalid vector length.
852 * testsuite/gas/i386/x86-64-disassem.s: Likewise.
853 * testsuite/gas/i386/disassem.d: Updated.
854 * testsuite/gas/i386/x86-64-disassem.d: Likewise.
856 2019-06-14 Alan Modra <amodra@gmail.com>
858 * Makefile.in: Regenerate.
859 * configure: Regenerate.
860 * doc/Makefile.in: Regenerate.
862 2019-06-12 Peter Bergner <bergner@linux.ibm.com>
864 * testsuite/gas/ppc/power9.d: Delete ldmx tests.
865 * testsuite/gas/ppc/power9.s: Likewise.
867 2019-06-06 Lili Cui <lili.cui@intel.com>
869 * config/tc-i386.c (cpu_arch): Add .enqcmd.
870 (cpu_noarch): Add noenqcmd.
871 * doc/c-i386.texi: Document noenqcmd.
873 2019-06-05 H.J. Lu <hongjiu.lu@intel.com>
876 * testsuite/gas/i386/disassem.s: Add tests for invalid vector
877 lengths for EVEX vextractfXX and vinsertfXX.
878 * testsuite/gas/i386/x86-64-disassem.s: Likewise.
879 * testsuite/gas/i386/disassem.d: Updated.
880 * testsuite/gas/i386/x86-64-disassem.d: Likewise.
882 2019-06-04 H.J. Lu <hongjiu.lu@intel.com>
885 * testsuite/gas/i386/disassem.s: Add tests for reserved VEX.vvvv
887 * testsuite/gas/i386/x86-64-disassem.s: Likewise.
888 * testsuite/gas/i386/disassem.d: Updated.
889 * testsuite/gas/i386/x86-64-disassem.d: Likewise.
891 2019-06-04 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
892 Lili Cui <lili.cui@intel.com>
894 * config/tc-i386.c (cpu_arch): Add .avx512_vp2intersect.
895 (cpu_noarch): Likewise.
896 * doc/c-i386.texi: Document avx512_vp2intersect.
897 * testsuite/gas/i386/i386.exp: Run vp2intersect tests.
898 * testsuite/gas/i386/vp2intersect-intel.d: New test.
899 * testsuite/gas/i386/vp2intersect.d: Likewise.
900 * testsuite/gas/i386/vp2intersect.s: Likewise.
901 * testsuite/gas/i386/vp2intersect-inval-bcast.l: Likewise.
902 * testsuite/gas/i386/vp2intersect-inval-bcast.s: Likewise.
903 * testsuite/gas/i386/x86-64-vp2intersect-intel.d: Likewise.
904 * testsuite/gas/i386/x86-64-vp2intersect.d: Likewise.
905 * testsuite/gas/i386/x86-64-vp2intersect.s: Likewise.
906 * testsuite/gas/i386/x86-64-vp2intersect-inval-bcast.l: Likewise.
907 * testsuite/gas/i386/x86-64-vp2intersect-inval-bcast.s: Likewise.
909 2019-06-04 Xuepeng Guo <xuepeng.guo@intel.com>
910 Lili Cui <lili.cui@intel.com>
912 * doc/c-i386.texi: Document enqcmd.
913 * testsuite/gas/i386/enqcmd-intel.d: New file.
914 * testsuite/gas/i386/enqcmd-inval.l: Likewise.
915 * testsuite/gas/i386/enqcmd-inval.s: Likewise.
916 * testsuite/gas/i386/enqcmd.d: Likewise.
917 * testsuite/gas/i386/enqcmd.s: Likewise.
918 * testsuite/gas/i386/x86-64-enqcmd-intel.d: Likewise.
919 * testsuite/gas/i386/x86-64-enqcmd-inval.l: Likewise.
920 * testsuite/gas/i386/x86-64-enqcmd-inval.s: Likewise.
921 * testsuite/gas/i386/x86-64-enqcmd.d: Likewise.
922 * testsuite/gas/i386/x86-64-enqcmd.s: Likewise.
923 * testsuite/gas/i386/i386.exp: Run enqcmd-intel, enqcmd-inval,
924 enqcmd, x86-64-enqcmd-intel, x86-64-enqcmd-inval,
927 2019-05-30 Jim Wilson <jimw@sifive.com>
929 * config/tc-riscv.c (riscv_ip) <'u'>: Move O_constant check inside if
930 statement. Delete O_symbol and O_constant check after if statement.
931 * testsuite/gas/riscv/auipc-parsing.s: Test lui with missing %hi.
932 * testsuite/gas/riscv/auipc-parsing.l: Update.
934 2019-05-28 H.J. Lu <hongjiu.lu@intel.com>
937 * testsuite/gas/i386/inval-avx512f.s: Add tests for AVX512_BF16
938 instructions with invalid broadcast.
939 * testsuite/gas/i386/x86-64-inval-avx512f.s: Likewise.
940 * testsuite/gas/i386/inval-avx512f.l: Updated.
941 * testsuite/gas/i386/x86-64-inval-avx512f.l: Likewise.
943 2019-05-27 Alan Modra <amodra@gmail.com>
945 * config/tc-ppc.c (is_ppc64_target): New function.
946 (md_show_usage): Split up usage message. Don't show -a64 when
948 testsuite/gas/ppc/ppc.exp (supports_ppc64): New.
949 (prefix-reloc): Only run for ppc64.
951 2019-05-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
953 * config/tc-aarch64.c (aarch64_elf_copy_symbol_attributes): Define.
954 * config/tc-aarch64.h (aarch64_elf_copy_symbol_attributes): Declare.
955 (OBJ_COPY_SYMBOL_ATTRIBUTES): Define.
956 * testsuite/gas/aarch64/symbol-variant_pcs-3.d: New test.
957 * testsuite/gas/aarch64/symbol-variant_pcs-3.s: New test.
959 2019-05-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
961 * config/tc-aarch64.c (s_variant_pcs): New function.
962 * doc/c-aarch64.texi: Document .variant_pcs.
963 * testsuite/gas/aarch64/symbol-variant_pcs-1.d: New test.
964 * testsuite/gas/aarch64/symbol-variant_pcs-1.s: New test.
965 * testsuite/gas/aarch64/symbol-variant_pcs-2.d: New test.
966 * testsuite/gas/aarch64/symbol-variant_pcs-2.s: New test.
968 2019-05-24 Alan Modra <amodra@gmail.com>
970 * po/POTFILES.in: Regenerate.
972 2019-05-24 Alan Modra <amodra@gmail.com>
974 * config/tc-ppc.c (ppc_elf_suffix): Support @pcrel, @got@pcrel,
975 @plt@pcrel, @higher34, @highera34, @highest34, and @highesta34.
976 (fixup_size): Handle new powerxx relocs.
977 (md_assemble): Warn for @pcrel on non-prefix insns.
978 Accept @l, @h and @ha on prefix insns, and infer reloc without
979 any @ suffix. Translate powerxx relocs to suit DQ and DS field
980 instructions. Include operand tests as well as opcode test to
981 translate BFD_RELOC_HI16_S to BFD_RELOC_PPC_16DX_HA.
982 (ppc_fix_adjustable): Return false for pcrel GOT and PLT relocs.
983 (md_apply_fix): Handle new powerxx relocs.
984 * config/tc-ppc.h (TC_FORCE_RELOCATION_SUB_LOCAL): Accept
985 BFD_RELOC_PPC64_ADDR16_HIGHER34, BFD_RELOC_PPC64_ADDR16_HIGHERA34,
986 BFD_RELOC_PPC64_ADDR16_HIGHEST34, BFD_RELOC_PPC64_ADDR16_HIGHESTA34,
987 BFD_RELOC_PPC64_D34, and BFD_RELOC_PPC64_D28.
988 * testsuite/gas/ppc/prefix-reloc.d,
989 * testsuite/gas/ppc/prefix-reloc.s: New test.
990 * testsuite/gas/ppc/ppc.exp: Run it.
992 2019-05-24 Peter Bergner <bergner@linux.ibm.com>
993 Alan Modra <amodra@gmail.com>
995 * config/tc-ppc.c (ppc_insert_operand): Only sign extend fields that
996 are 32-bits or smaller.
997 * messages.c (as_internal_value_out_of_range): Do not truncate
998 variables and use BFD_VMA_FMT to print them.
999 * testsuite/gas/ppc/prefix-pcrel.s,
1000 * testsuite/gas/ppc/prefix-pcrel.d: New test.
1001 * testsuite/gas/ppc/ppc.exp: Run it.
1003 2019-05-24 Peter Bergner <bergner@linux.ibm.com>
1004 Alan Modra <amodra@gmail.com>
1006 * config/tc-ppc.c (ppc_setup_opcodes): Handle prefix_opcodes.
1007 (struct insn_label_list): New.
1008 (insn_labels, free_insn_labels): New variables.
1009 (ppc_record_label, ppc_clear_labels, ppc_start_line_hook): New funcs.
1010 (ppc_frob_label, ppc_new_dot_label): Move functions earlier in file
1011 and call ppc_record_label.
1012 (md_assemble): Handle 64-bit prefix instructions. Align labels
1013 that are on the same line as a prefix instruction.
1014 * config/tc-ppc.h (tc_frob_label, ppc_frob_label): Move to
1016 (md_start_line_hook): Define.
1017 (ppc_start_line_hook): Declare.
1018 * testsuite/gas/ppc/prefix-align.d,
1019 * testsuite/gas/ppc/prefix-align.s: New test.
1020 * testsuite/gas/ppc/ppc.exp: Run new test.
1022 2019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com>
1024 * configure.ac: Handle bpf-*-* targets.
1025 * configure.tgt (generic_target): Likewise.
1026 * configure: Regenerate.
1027 * Makefile.am (TARGET_CPU_CFILES): Add tc-bpf.c.
1028 (TARGET_CPU_HFILES): Add tc-bpf.h.
1029 * Makefile.in: Regenerated.
1030 * config/tc-bpf.c: New file.
1031 * config/tc-bpf.h: Likewise.
1032 * doc/Makefile.am (CPU_DOCS): Add c-bpf.texi.
1033 * doc/Makefile.in: Regenerated.
1034 * doc/all.texi: set BPF.
1035 * doc/as.texi: Add eBPF contents.
1036 * doc/c-bpf.texi: New file.
1037 * testsuite/gas/bpf/alu.d: New file.
1038 * testsuite/gas/bpf/mem-be.d: Likewise.
1039 * testsuite/gas/bpf/mem.s: Likewise.
1040 * testsuite/gas/bpf/mem.d: Likewise.
1041 * testsuite/gas/bpf/lddw-be.d: Likewise.
1042 * testsuite/gas/bpf/lddw.s: Likewise.
1043 * testsuite/gas/bpf/lddw.d: Likewise.
1044 * testsuite/gas/bpf/jump-be.d: Likewise.
1045 * testsuite/gas/bpf/jump.s: Likewise.
1046 * testsuite/gas/bpf/jump.d: Likewise.
1047 * testsuite/gas/bpf/exit-be.d: Likewise.
1048 * testsuite/gas/bpf/exit.s: Likewise.
1049 * testsuite/gas/bpf/exit.d: Likewise.
1050 * testsuite/gas/bpf/call-be.d: Likewise.
1051 * testsuite/gas/bpf/call.s: Likewise.
1052 * testsuite/gas/bpf/call.d: Likewise.
1053 * testsuite/gas/bpf/bpf.exp: Likewise.
1054 * testsuite/gas/bpf/atomic-be.d: Likewise.
1055 * testsuite/gas/bpf/atomic.s: Likewise.
1056 * testsuite/gas/bpf/atomic.d: Likewise.
1057 * testsuite/gas/bpf/alu-be.d: Likewise.
1058 * testsuite/gas/bpf/alu32-be.d: Likewise.
1059 * testsuite/gas/bpf/alu32.s: Likewise.
1060 * testsuite/gas/bpf/alu32.d: Likewise.
1061 * testsuite/gas/bpf/alu.s: Likewise.
1062 * testsuite/gas/all/gas.exp: Introduce a nop_type for eBPF.
1063 * testsuite/gas/all/org-1.s: Support nop_type 6.
1064 * testsuite/gas/all/org-1.l: Updated to reflect changes in
1067 2019-05-22 John Darrington <john@darrington.wattle.id.au>
1069 * config/tc-s12z.c (s12z_strtol): New function. (md_show_usage): Update.
1070 (md_parse_option): new case OPTION_DOLLAR_HEX. (s12z_init_after_args):
1071 (<global>): Use s12z_strtol instead of strtol.
1072 * doc/c-s12z.texi (S12Z Options): Document new option -mdollar-hex.
1073 * testsuite/gas/s12z/dollar-hex.d: New file.
1074 * testsuite/gas/s12z/dollar-hex.s: New file.
1075 * testsuite/gas/s12z/s12z.exp: Add them.
1077 2019-05-21 Sudakshina Das <sudi.das@arm.com>
1079 * config/tc-arm.c (parse_operands): Update case OP_RVC to
1081 (do_vmrs): Add checks for valid operands with respect to
1082 cpu and fpu options.
1083 (do_vmsr): Likewise.
1084 (reg_names): New reg_names for FPSCR_nzcvqc, VPR, FPCXT_NS
1086 * testsuite/gas/arm/armv8_1-m-spec-reg.d: New.
1087 * testsuite/gas/arm/armv8_1-m-spec-reg.s: New.
1088 * testsuite/gas/arm/armv8_1-m-spec-reg-bad1.d: New.
1089 * testsuite/gas/arm/armv8_1-m-spec-reg-bad2.d: New.
1090 * testsuite/gas/arm/armv8_1-m-spec-reg-bad3.d: New.
1091 * testsuite/gas/arm/armv8_1-m-spec-reg-bad1.l: New.
1092 * testsuite/gas/arm/armv8_1-m-spec-reg-bad2.l: New.
1093 * testsuite/gas/arm/armv8_1-m-spec-reg-bad3.l: New.
1094 * testsuite/gas/arm/vfp1xD.d: Updated to allow new valid values.
1095 * testsuite/gas/arm/vfp1xD_t2.d: Likewise.
1097 2019-05-21 Sudakshina Das <sudi.das@arm.com>
1099 * config/tc-arm.c (TOGGLE_BIT): New.
1100 (T16_32_TAB): New entries for cinc, cinv, cneg, csinc,
1101 csinv, csneg, cset, csetm and csel.
1102 (operand_parse_code): New OP_RR_ZR.
1103 (parse_operand): Handle case for OP_RR_ZR.
1105 (insns): New instructions for cinc, cinv, cneg, csinc,
1106 csinv, csneg, cset, csetm, csel.
1107 * testsuite/gas/arm/armv8_1-m-cond-bad.d: New test.
1108 * testsuite/gas/arm/armv8_1-m-cond-bad.l: New test.
1109 * testsuite/gas/arm/armv8_1-m-cond-bad.s: New test.
1110 * testsuite/gas/arm/armv8_1-m-cond.d: New test.
1111 * testsuite/gas/arm/armv8_1-m-cond.s: New test.
1113 2019-05-21 Sudakshina Das <sudi.das@arm.com>
1115 * config/tc-arm.c (operand_parse_code): New entries for
1116 OP_RRnpcsp_I32 (register or integer operands).
1117 (do_mve_scalar_shift): New.
1118 (insns): New instructions for asrl, lsll, lsrl, sqrshrl, sqrshr, sqshl
1119 sqshll, srshr, srshrl, uqrshll, uqrshl, uqshll, uqshl, urshrl and urshr.
1120 * testsuite/gas/arm/mve-shift.d: New.
1121 * testsuite/gas/arm/mve-shift.s: New.
1122 * testsuite/gas/arm/mve-shift-bad.d: New.
1123 * testsuite/gas/arm/mve-shift-bad.s: New.
1124 * testsuite/gas/arm/mve-shift-bad.l: New.
1126 2019-05-21 Faraz Shahbazker <fshahbazker@wavecomp.com>
1128 * testsuite/gas/mips/r6-branch-constraints.s: Rename to ...
1129 * testsuite/gas/mips/r6-reg-constraints.s: this and add test
1131 * testsuite/gas/mips/r6-branch-constraints.l: Rename to ...
1132 * testsuite/gas/mips/r6-reg-constraints.l: this and add test
1134 * testsuite/gas/mips/mips.exp: Rename test from
1135 r6-branch-constraints to r6-reg-constraints.
1137 2019-05-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
1140 * config/tc-arm.c (move_or_literal_pool): Set size_req to 0 for MOVW
1142 * testsuite/gas/arm/load-pseudo.s: New test input.
1143 * testsuite/gas/arm/m0-load-pseudo.d: New test.
1144 * testsuite/gas/arm/m23-load-pseudo.d: New test.
1145 * testsuite/gas/arm/m33-load-pseudo.d: New test.
1147 2019-05-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
1149 * testsuite/gas/arm/armv8_1-m-bf.d: Allow different branch target naming
1151 * testsuite/gas/arm/armv8_1-m-bfl.d: Likewise.
1152 * testsuite/gas/arm/armv8_1-m-bfcsel.d: Likewise.
1153 * testsuite/gas/arm/armv8_1-m-loloop.d: Likewise.
1154 * testsuite/gas/arm/armv8_1-m-bf-rel.d: Skip for vxworks.
1155 * testsuite/gas/arm/armv8_1-m-bf-rela.d: New test.
1156 * testsuite/gas/arm/armv8_1-m-bfl-rel.d: Skip for vxworks.
1157 * testsuite/gas/arm/armv8_1-m-bfl-rela.d: New test.
1159 2019-05-21 John Darrington <john@darrington.wattle.id.au>
1161 * expr.c (literal_prefix_dollar_hex): New variable.
1162 (operand)[case '$']: Use the new variable instead of the old macro.
1163 Also, move this instance of "case '$'" next to the other one, and
1164 enable it only in the complementary proprocessor case.
1165 * expr.h (literal_prefix_dollar_hex): Declare it.
1166 * config/tc-epiphany.c (md_begin): Assign literal_prefix_dollar_hex.
1167 * config/tc-ip2k.c: ditto
1168 * config/tc-mt.c: ditto
1169 * config/tc-epiphany.h (LITERAL_PREFIXDOLLAR_HEX): Remove macro definition.
1170 * config/tc-ip2k.h: ditto
1171 * config/tc-mt.h: ditto
1173 2019-05-20 Faraz Shahbazker <fshahbazker@wavecomp.com>
1176 * config/tc-mips.c (s_mips_globl): Only treat symbols that are
1177 not explicitly labelled as BSF_OBJECTs for IRIX targets.
1178 * testsuite/gas/mips/pr14798.s: New test source.
1179 * testsuite/gas/mips/pr14798-irix.d: New test.
1180 * testsuite/gas/mips/pr14798.d: Likewise.
1181 * testsuite/gas/mips/mips.exp: Run the new tests.
1183 2019-05-17 John Darrington <john@darrington.wattle.id.au>
1185 * doc/c-arm.texi (ARM Options): Remove "(r)" and "(tm)"
1186 * doc/c-bfin.texi (Blackfin Syntax): Remove "(r)"
1188 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1190 * config/tc-arm.c (check_simd_pred_availability): Refactor.
1191 (do_neon_dyadic_i_su): Refactor use of check_simd_pred_availability.
1192 (do_neon_dyadic_i64_su): Likewise.
1193 (do_neon_shl): Likewise.
1194 (do_neon_qshl): Likewise.
1195 (do_neon_rshl): Likewise.
1196 (do_neon_logic): Likewise.
1197 (do_neon_dyadic_if_su): Likewise.
1198 (do_neon_addsub_if_i): Likewise.
1199 (do_neon_mac_maybe_scalar): Likewise.
1200 (do_neon_fmac): Likewise.
1201 (do_neon_mul): Likewise.
1202 (do_neon_qdmulh): Likewise.
1203 (do_neon_qrdmlah): Likewise.
1204 (do_neon_abs_neg): Likewise.
1205 (do_neon_sli): Likewise.
1206 (do_neon_sri): Likewise.
1207 (do_neon_qshlu_imm): Likewise.
1208 (do_neon_cvt_1): Likewise.
1209 (do_neon_cvttb_1): Likewise.
1210 (do_neon_mvn): Likewise.
1211 (do_neon_rev): Likewise.
1212 (do_neon_dup): Likewise.
1213 (do_neon_mov): Likewise.
1214 (do_neon_rshift_round_imm): Likewise.
1215 (do_neon_sat_abs_neg): Likewise.
1216 (do_neon_cls): Likewise.
1217 (do_neon_clz): Likewise.
1218 (do_vmaxnm): Likewise.
1219 (do_vrint_1): Likewise.
1220 (do_vcmla): Likewise.
1221 (do_vcadd): Likewise.
1223 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1225 * NEWS: Mention Armv8.1-M Mainline and MVE.
1227 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1229 * testsuite/gas/arm/mve-tailpredloop.d: New test.
1230 * testsuite/gas/arm/mve-tailpredloop.s: New test.
1231 * testsuite/gas/arm/mve-vabav.d: New test.
1232 * testsuite/gas/arm/mve-vabav.s: New test.
1233 * testsuite/gas/arm/mve-vabd.d: New test.
1234 * testsuite/gas/arm/mve-vabd.s: New test.
1235 * testsuite/gas/arm/mve-vabsneg.d: New test.
1236 * testsuite/gas/arm/mve-vabsneg.s: New test.
1237 * testsuite/gas/arm/mve-vadc.d: New test.
1238 * testsuite/gas/arm/mve-vadc.s: New test.
1239 * testsuite/gas/arm/mve-vaddlv.d: New test.
1240 * testsuite/gas/arm/mve-vaddlv.s: New test.
1241 * testsuite/gas/arm/mve-vaddsub.d: New test.
1242 * testsuite/gas/arm/mve-vaddsub.s: New test.
1243 * testsuite/gas/arm/mve-vaddv.d: New test.
1244 * testsuite/gas/arm/mve-vaddv.s: New test.
1245 * testsuite/gas/arm/mve-vand.d: New test.
1246 * testsuite/gas/arm/mve-vand.s: New test.
1247 * testsuite/gas/arm/mve-vbic.d: New test.
1248 * testsuite/gas/arm/mve-vbic.s: New test.
1249 * testsuite/gas/arm/mve-vbrsr.d: New test.
1250 * testsuite/gas/arm/mve-vbrsr.s: New test.
1251 * testsuite/gas/arm/mve-vcadd.d: New test.
1252 * testsuite/gas/arm/mve-vcadd.s: New test.
1253 * testsuite/gas/arm/mve-vcls.d: New test.
1254 * testsuite/gas/arm/mve-vcls.s: New test.
1255 * testsuite/gas/arm/mve-vclz.d: New test.
1256 * testsuite/gas/arm/mve-vclz.s: New test.
1257 * testsuite/gas/arm/mve-vcmla.d: New test.
1258 * testsuite/gas/arm/mve-vcmla.s: New test.
1259 * testsuite/gas/arm/mve-vcmp.d: New test.
1260 * testsuite/gas/arm/mve-vcmp.s: New test.
1261 * testsuite/gas/arm/mve-vcmul.d: New test.
1262 * testsuite/gas/arm/mve-vcmul.s: New test.
1263 * testsuite/gas/arm/mve-vcvt-1.d: New test.
1264 * testsuite/gas/arm/mve-vcvt-1.s: New test.
1265 * testsuite/gas/arm/mve-vcvt-2.d: New test.
1266 * testsuite/gas/arm/mve-vcvt-2.s: New test.
1267 * testsuite/gas/arm/mve-vcvt-3.d: New test.
1268 * testsuite/gas/arm/mve-vcvt-3.s: New test.
1269 * testsuite/gas/arm/mve-vcvt-4.d: New test.
1270 * testsuite/gas/arm/mve-vcvt-4.s: New test.
1271 * testsuite/gas/arm/mve-vddup.d: New test.
1272 * testsuite/gas/arm/mve-vddup.s: New test.
1273 * testsuite/gas/arm/mve-vdup.d: New test.
1274 * testsuite/gas/arm/mve-vdup.s: New test.
1275 * testsuite/gas/arm/mve-veor.d: New test.
1276 * testsuite/gas/arm/mve-veor.s: New test.
1277 * testsuite/gas/arm/mve-vfma-vfms.d: New test.
1278 * testsuite/gas/arm/mve-vfma-vfms.s: New test.
1279 * testsuite/gas/arm/mve-vfmas.d: New test.
1280 * testsuite/gas/arm/mve-vfmas.s: New test.
1281 * testsuite/gas/arm/mve-vhadd-vhsub-vrhadd.d: New test.
1282 * testsuite/gas/arm/mve-vhadd-vhsub-vrhadd.s: New test.
1283 * testsuite/gas/arm/mve-vhcadd.d: New test.
1284 * testsuite/gas/arm/mve-vhcadd.s: New test.
1285 * testsuite/gas/arm/mve-vmax-vmin.d: New test.
1286 * testsuite/gas/arm/mve-vmax-vmin.s: New test.
1287 * testsuite/gas/arm/mve-vmaxa-vmina.d: New test.
1288 * testsuite/gas/arm/mve-vmaxa-vmina.s: New test.
1289 * testsuite/gas/arm/mve-vmaxnm-vminnm.d: New test.
1290 * testsuite/gas/arm/mve-vmaxnm-vminnm.s: New test.
1291 * testsuite/gas/arm/mve-vmaxnma-vminnma.s: New test.
1292 * testsuite/gas/arm/mve-vmaxnmv-vminnmv.d: New test.
1293 * testsuite/gas/arm/mve-vmaxnmv-vminnmv.s: New test.
1294 * testsuite/gas/arm/mve-vmaxv-vminv.d: New test.
1295 * testsuite/gas/arm/mve-vmaxv-vminv.s: New test.
1296 * testsuite/gas/arm/mve-vmla.d: New test.
1297 * testsuite/gas/arm/mve-vmla.s: New test.
1298 * testsuite/gas/arm/mve-vmladav.d: New test.
1299 * testsuite/gas/arm/mve-vmladav.s: New test.
1300 * testsuite/gas/arm/mve-vmlaldav.d: New test.
1301 * testsuite/gas/arm/mve-vmlaldav.s: New test.
1302 * testsuite/gas/arm/mve-vmlalv.d: New test.
1303 * testsuite/gas/arm/mve-vmlalv.s: New test.
1304 * testsuite/gas/arm/mve-vmlas.d: New test.
1305 * testsuite/gas/arm/mve-vmlas.s: New test.
1306 * testsuite/gas/arm/mve-vmlav.d: New test.
1307 * testsuite/gas/arm/mve-vmlav.s: New test.
1308 * testsuite/gas/arm/mve-vmlsdav.d: New test.
1309 * testsuite/gas/arm/mve-vmlsdav.s: New test.
1310 * testsuite/gas/arm/mve-vmlsldav.d: New test.
1311 * testsuite/gas/arm/mve-vmlsldav.s: New test.
1312 * testsuite/gas/arm/mve-vmov-1.d: New test.
1313 * testsuite/gas/arm/mve-vmov-1.s: New test.
1314 * testsuite/gas/arm/mve-vmov-2.d: New test.
1315 * testsuite/gas/arm/mve-vmov-2.s: New test.
1316 * testsuite/gas/arm/mve-vmul.d: New test.
1317 * testsuite/gas/arm/mve-vmul.s: New test.
1318 * testsuite/gas/arm/mve-vmulh.d: New test.
1319 * testsuite/gas/arm/mve-vmulh.s: New test.
1320 * testsuite/gas/arm/mve-vmullbt.d: New test.
1321 * testsuite/gas/arm/mve-vmullbt.s: New test.
1322 * testsuite/gas/arm/mve-vmvn.d: New test.
1323 * testsuite/gas/arm/mve-vmvn.s: New test.
1324 * testsuite/gas/arm/mve-vorn.d: New test.
1325 * testsuite/gas/arm/mve-vorn.s: New test.
1326 * testsuite/gas/arm/mve-vorr.d: New test.
1327 * testsuite/gas/arm/mve-vorr.s: New test.
1328 * testsuite/gas/arm/mve-vpnot.d: New test.
1329 * testsuite/gas/arm/mve-vpnot.s: New test.
1330 * testsuite/gas/arm/mve-vpsel.d: New test.
1331 * testsuite/gas/arm/mve-vpsel.s: New test.
1332 * testsuite/gas/arm/mve-vpt.d: New test.
1333 * testsuite/gas/arm/mve-vpt.s: New test.
1334 * testsuite/gas/arm/mve-vqabsneg.s: New test.
1335 * testsuite/gas/arm/mve-vqaddsub.d: New test.
1336 * testsuite/gas/arm/mve-vqaddsub.s: New test.
1337 * testsuite/gas/arm/mve-vqdmladh.d: New test.
1338 * testsuite/gas/arm/mve-vqdmladh.s: New test.
1339 * testsuite/gas/arm/mve-vqdmlah.d: New test.
1340 * testsuite/gas/arm/mve-vqdmlah.s: New test.
1341 * testsuite/gas/arm/mve-vqdmlash.d: New test.
1342 * testsuite/gas/arm/mve-vqdmlash.s: New test.
1343 * testsuite/gas/arm/mve-vqdmlsdh.d: New test.
1344 * testsuite/gas/arm/mve-vqdmlsdh.s: New test.
1345 * testsuite/gas/arm/mve-vqdmulh.d: New test.
1346 * testsuite/gas/arm/mve-vqdmulh.s: New test.
1347 * testsuite/gas/arm/mve-vqdmull.d: New test.
1348 * testsuite/gas/arm/mve-vqdmull.s: New test.
1349 * testsuite/gas/arm/mve-vqmovn.d: New test.
1350 * testsuite/gas/arm/mve-vqmovn.s: New test.
1351 * testsuite/gas/arm/mve-vqrshl.d: New test.
1352 * testsuite/gas/arm/mve-vqrshl.s: New test.
1353 * testsuite/gas/arm/mve-vqrshrn.d: New test.
1354 * testsuite/gas/arm/mve-vqrshrn.s: New test.
1355 * testsuite/gas/arm/mve-vqshl.d: New test.
1356 * testsuite/gas/arm/mve-vqshl.s: New test.
1357 * testsuite/gas/arm/mve-vrev.d: New test.
1358 * testsuite/gas/arm/mve-vrev.s: New test.
1359 * testsuite/gas/arm/mve-vrint.d: New test.
1360 * testsuite/gas/arm/mve-vrint.s: New test.
1361 * testsuite/gas/arm/mve-vrmlaldavh.d: New test.
1362 * testsuite/gas/arm/mve-vrmlaldavh.s: New test.
1363 * testsuite/gas/arm/mve-vrshl.d: New test.
1364 * testsuite/gas/arm/mve-vrshl.s: New test.
1365 * testsuite/gas/arm/mve-vsbc.d: New test.
1366 * testsuite/gas/arm/mve-vsbc.s: New test.
1367 * testsuite/gas/arm/mve-vshl.d: New test.
1368 * testsuite/gas/arm/mve-vshl.s: New test.
1369 * testsuite/gas/arm/mve-vshlc.d: New test.
1370 * testsuite/gas/arm/mve-vshlc.s: New test.
1371 * testsuite/gas/arm/mve-vshll.d: New test.
1372 * testsuite/gas/arm/mve-vshll.s: New test.
1373 * testsuite/gas/arm/mve-vshr.d: New test.
1374 * testsuite/gas/arm/mve-vshr.s: New test.
1375 * testsuite/gas/arm/mve-vshrn.d: New test.
1376 * testsuite/gas/arm/mve-vshrn.s: New test.
1377 * testsuite/gas/arm/mve-vsli.d: New test.
1378 * testsuite/gas/arm/mve-vsli.s: New test.
1379 * testsuite/gas/arm/mve-vsri.d: New test.
1380 * testsuite/gas/arm/mve-vsri.s: New test.
1381 * testsuite/gas/arm/mve-vstld.d: New test.
1382 * testsuite/gas/arm/mve-vstld.s: New test.
1383 * testsuite/gas/arm/mve-vstrldr-1.d: New test.
1384 * testsuite/gas/arm/mve-vstrldr-1.s: New test.
1385 * testsuite/gas/arm/mve-vstrldr-2.d: New test.
1386 * testsuite/gas/arm/mve-vstrldr-2.s: New test.
1387 * testsuite/gas/arm/mve-vstrldr-3.d: New test.
1388 * testsuite/gas/arm/mve-vstrldr-3.s: New test.
1390 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1392 * config/tc-arm.c (T16_32_TAB): Add new instructions.
1393 (do_t_loloop): Changed to handle tail predication variants.
1394 (md_apply_fix): Likewise.
1395 (insns): Add entries for MVE mnemonics.
1396 * testsuite/gas/arm/mve-tailpredloop-bad.d: New test.
1397 * testsuite/gas/arm/mve-tailpredloop-bad.l: New test.
1398 * testsuite/gas/arm/mve-tailpredloop-bad.s: New test.
1399 * testsuite/gas/arm/mve-tailpredloop.d: New test.
1401 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1403 * config/tc-arm.c (do_mve_vshll): New encoding function.
1404 (do_mve_vshlc): Likewise.
1405 (insns): Add entries for MVE mnemonics.
1406 * testsuite/gas/arm/mve-vshlc-bad.d: New test.
1407 * testsuite/gas/arm/mve-vshlc-bad.l: New test.
1408 * testsuite/gas/arm/mve-vshlc-bad.s: New test.
1409 * testsuite/gas/arm/mve-vshll-bad.d: New test.
1410 * testsuite/gas/arm/mve-vshll-bad.l: New test.
1411 * testsuite/gas/arm/mve-vshll-bad.s: New test.
1413 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1415 * config/tc-arm.c (enum operand_parse_code): Add new operand.
1416 (parse_operands): Handle new operand.
1417 (do_neon_shl_imm): Accept MVE variants.
1418 (do_neon_shl): Likewise.
1419 (do_neon_qshl_imm): Likewise.
1420 (do_neon_qshl): Likewise.
1421 (do_neon_qshlu_imm): Likewise.
1423 * testsuite/gas/arm/mve-vqshl-bad.d: New test.
1424 * testsuite/gas/arm/mve-vqshl-bad.l: New test.
1425 * testsuite/gas/arm/mve-vqshl-bad.s: New test.
1426 * testsuite/gas/arm/mve-vshl-bad.d: New test.
1427 * testsuite/gas/arm/mve-vshl-bad.l: New test.
1428 * testsuite/gas/arm/mve-vshl-bad.s: New test.
1430 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1432 * config/tc-arm.c (do_neon_sli): Accept MVE variants.
1433 (do_neon_sri): Likewise.
1434 (do_neon_rev): Likewise.
1435 (do_neon_rshift_round_imm): Likewise.
1437 * testsuite/gas/arm/mve-vrev-bad.d: New test.
1438 * testsuite/gas/arm/mve-vrev-bad.l: New test.
1439 * testsuite/gas/arm/mve-vrev-bad.s: New test.
1440 * testsuite/gas/arm/mve-vshr-bad.d: New test.
1441 * testsuite/gas/arm/mve-vshr-bad.l: New test.
1442 * testsuite/gas/arm/mve-vshr-bad.s: New test.
1443 * testsuite/gas/arm/mve-vsli-bad.d: New test.
1444 * testsuite/gas/arm/mve-vsli-bad.l: New test.
1445 * testsuite/gas/arm/mve-vsli-bad.s: New test.
1446 * testsuite/gas/arm/mve-vsri-bad.d: New test.
1447 * testsuite/gas/arm/mve-vsri-bad.l: New test.
1448 * testsuite/gas/arm/mve-vsri-bad.s: New test.
1450 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1452 * config/tc-arm.c (do_vrint_1): Accept MVE variants.
1453 (insns): Change entries to accept MVE variants.
1454 * testsuite/gas/arm/mve-vrint-bad.d: New test.
1455 * testsuite/gas/arm/mve-vrint-bad.l: New test.
1456 * testsuite/gas/arm/mve-vrint-bad.s: New test.
1458 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1460 * config/tc-arm.c (M_MNEM_vshrnt, M_MNEM_vshrnb, M_MNEM_vrshrnt,
1461 M_MNEM_vqshrnt, M_MNEM_vqshrnb, M_MNEM_vqshrunt, M_MNEM_vqshrunb,
1462 M_MNEM_vrshrnb, M_MNEM_vqrshrnt, M_MNEM_vqrshrnb, M_MNEM_vqrshrunt,
1463 M_MNEM_vqrshrunb): New instruction encodings.
1464 (do_mve_vshrn): New encoding function.
1465 (insns): Add entries for MVE mnemonics.
1466 * testsuite/gas/arm/mve-vqrshrn-bad.d: New test.
1467 * testsuite/gas/arm/mve-vqrshrn-bad.l: New test.
1468 * testsuite/gas/arm/mve-vqrshrn-bad.s: New test.
1469 * testsuite/gas/arm/mve-vshrn-bad.d: New test.
1470 * testsuite/gas/arm/mve-vshrn-bad.l: New test.
1471 * testsuite/gas/arm/mve-vshrn-bad.s: New test.
1473 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1475 * config/tc-arm.c (M_MNEM_vqmovnt, M_MNEM_vqmovnb,
1476 M_MNEM_vqmovunt, M_MNEM_vqmovunb): New instruction encodings.
1477 (do_mve_vqmovn): New encoding function.
1478 (do_neon_rshl): Change to accepte MVE variants.
1479 (insns): Change entries and add new for MVE mnemonics.
1480 * testsuite/gas/arm/mve-vqmovn-bad.d: New test.
1481 * testsuite/gas/arm/mve-vqmovn-bad.l: New test.
1482 * testsuite/gas/arm/mve-vqmovn-bad.s: New test.
1483 * testsuite/gas/arm/mve-vqrshl-bad.d: New test.
1484 * testsuite/gas/arm/mve-vqrshl-bad.l: New test.
1485 * testsuite/gas/arm/mve-vqrshl-bad.s: New test.
1486 * testsuite/gas/arm/mve-vrshl-bad.d: New test.
1487 * testsuite/gas/arm/mve-vrshl-bad.l: New test.
1488 * testsuite/gas/arm/mve-vrshl-bad.s: New test.
1490 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1492 * config/tc-arm.c (enum operand_parse_code): Add new operand.
1493 (parse_operands): Handle new operand.
1494 (do_mve_vqdmull): New encoding function.
1495 (insns): Add entry for MVE mnemonics.
1496 * testsuite/gas/arm/mve-vqdmull-bad.d: New test.
1497 * testsuite/gas/arm/mve-vqdmull-bad.l: New test.
1498 * testsuite/gas/arm/mve-vqdmull-bad.s: New test.
1500 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1502 * config/tc-arm.c (enum operand_parse_code): Add new operand.
1503 (parse_operands): Handle new operand.
1504 (mve_encode_qqr): Handle new instructions.
1505 (do_neon_qdmulh): Add support for MVE variants.
1506 (do_neon_qrdmlah): Likewise.
1507 (do_mve_vqdmlah): New encoding function.
1508 (insns): Change entries and add new entries for MVE mnemonics.
1509 * testsuite/gas/arm/mve-vqdmulh-bad.d: New test.
1510 * testsuite/gas/arm/mve-vqdmulh-bad.l: New test.
1511 * testsuite/gas/arm/mve-vqdmulh-bad.s: New test.
1513 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1515 * config/tc-arm.c (do_mve_vqdmladh): New encoding function.
1516 (insns): Add entries for MVE mnemonics.
1517 * testsuite/gas/arm/mve-vqdmladh-bad.d: New test.
1518 * testsuite/gas/arm/mve-vqdmladh-bad.l: New test.
1519 * testsuite/gas/arm/mve-vqdmladh-bad.s: New test.
1520 * testsuite/gas/arm/mve-vqdmlsdh-bad.d: New test.
1521 * testsuite/gas/arm/mve-vqdmlsdh-bad.l: New test.
1522 * testsuite/gas/arm/mve-vqdmlsdh-bad.s: New test.
1524 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1526 * config/tc-arm.c (do_mve_vpsel): New encoding function.
1527 (do_mve_vpnot): Likewise.
1528 (insns): Add entries for MVE mnemonics.
1529 * testsuite/gas/arm/mve-vpnot-bad.d: New test.
1530 * testsuite/gas/arm/mve-vpnot-bad.l: New test.
1531 * testsuite/gas/arm/mve-vpnot-bad.s: New test.
1532 * testsuite/gas/arm/mve-vpsel-bad.d: New test.
1533 * testsuite/gas/arm/mve-vpsel-bad.l: New test.
1534 * testsuite/gas/arm/mve-vpsel-bad.s: New test.
1536 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1538 * config/tc-arm.c (do_neon_mvn): Change to accept MVE variants.
1539 (do_neon_sat_abs_neg): Likewise.
1541 * testsuite/gas/arm/mve-vmvn-bad.d: New test.
1542 * testsuite/gas/arm/mve-vmvn-bad.l: New test.
1543 * testsuite/gas/arm/mve-vmvn-bad.s: New test.
1544 * testsuite/gas/arm/mve-vqabsneg-bad.d: New test.
1545 * testsuite/gas/arm/mve-vqabsneg-bad.l: New test.
1546 * testsuite/gas/arm/mve-vqabsneg-bad.s: New test.
1548 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1550 * config/tc-arm.c (do_mve_vmlas): New encoding function.
1551 (do_mve_vmulh): Likewise.
1552 (insns): Add entries for MVE mnemonics.
1553 * testsuite/gas/arm/mve-vmlas-bad.d: New test.
1554 * testsuite/gas/arm/mve-vmlas-bad.l: New test.
1555 * testsuite/gas/arm/mve-vmlas-bad.s: New test.
1556 * testsuite/gas/arm/mve-vmulh-bad.d: New test.
1557 * testsuite/gas/arm/mve-vmulh-bad.l: New test.
1558 * testsuite/gas/arm/mve-vmulh-bad.s: New test.
1560 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1562 * config/tc-arm.c (enum operand_parse_code): New operand.
1563 (parse_operands): Handle new operand.
1564 (mve_encode_qqr): Handle new instructions.
1565 (do_neon_dyadic_i64_su): Accept MVE variants.
1566 (neon_dyadic_misc): Likewise.
1567 (do_neon_mac_maybe_scalar): Likewise.
1568 (do_neon_mul): Likewise.
1569 (insns): Change to accept MVE variants.
1570 * testsuite/gas/arm/mve-vmla-bad.d: New test.
1571 * testsuite/gas/arm/mve-vmla-bad.l: New test.
1572 * testsuite/gas/arm/mve-vmla-bad.s: New test.
1573 * testsuite/gas/arm/mve-vmul-bad-1.d: New test.
1574 * testsuite/gas/arm/mve-vmul-bad-1.l: New test.
1575 * testsuite/gas/arm/mve-vmul-bad-1.s: New test.
1576 * testsuite/gas/arm/mve-vmul-bad-2.d: New test.
1577 * testsuite/gas/arm/mve-vmul-bad-2.l: New test.
1578 * testsuite/gas/arm/mve-vmul-bad-2.s: New test.
1579 * testsuite/gas/arm/mve-vqaddsub-bad.d: New test.
1580 * testsuite/gas/arm/mve-vqaddsub-bad.l: New test.
1581 * testsuite/gas/arm/mve-vqaddsub-bad.s: New test.
1583 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1585 * config/tc-arm.c (M_MNEM_vmlaldav, M_MNEM_vmlaldava,
1586 M_MNEM_vmlaldavx, M_MNEM_vmlaldavax, M_MNEM_vmlsldav,
1587 M_MNEM_vmlsldava, M_MNEM_vmlsldavx, M_MNEM_vmlsldavax,
1588 M_MNEM_vrmlaldavhx, M_MNEM_vrmlaldavhax, M_MNEM_vrmlsldavh,
1589 M_MNEM_vrmlsldavha, M_MNEM_vrmlsldavhx, M_MNEM_vrmlsldavhax): New
1590 instruction encodings.
1591 (NEON_SHAPE_DEF): New shape
1592 (mve_encode_rrqq): New encoding helper function.
1593 (do_mve_vmlaldav): New encoding function.
1594 (do_mve_vrmlaldavh): New encoding function.
1595 (insns): Add entries for MVE mnemonics.
1596 * testsuite/gas/arm/mve-vmlaldav-bad.d: New test.
1597 * testsuite/gas/arm/mve-vmlaldav-bad.l: New test.
1598 * testsuite/gas/arm/mve-vmlaldav-bad.s: New test.
1599 * testsuite/gas/arm/mve-vmlalv-bad.d: New test.
1600 * testsuite/gas/arm/mve-vmlalv-bad.l: New test.
1601 * testsuite/gas/arm/mve-vmlalv-bad.s: New test.
1602 * testsuite/gas/arm/mve-vmlsldav-bad.d: New test.
1603 * testsuite/gas/arm/mve-vmlsldav-bad.l: New test.
1604 * testsuite/gas/arm/mve-vmlsldav-bad.s: New test.
1605 * testsuite/gas/arm/mve-vrmlaldavh-bad.d: New test.
1606 * testsuite/gas/arm/mve-vrmlaldavh-bad.l: New test.
1607 * testsuite/gas/arm/mve-vrmlaldavh-bad.s: New test.
1609 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1611 * config/tc-arm.c (M_MNEM_vmaxv, M_MNEM_vmaxav, M_MNEM_vminv,
1612 M_MNEM_vminav): New instruction encodings.
1613 (do_mve_vmaxv): New encoding function.
1614 (insns): Add entries for new MVE mnemonics.
1615 * testsuite/gas/arm/mve-vmaxv-vminv-bad.d: New test.
1616 * testsuite/gas/arm/mve-vmaxv-vminv-bad.l: New test.
1617 * testsuite/gas/arm/mve-vmaxv-vminv-bad.s: New test.
1619 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1621 * config/tc-arm.c (do_mve_vmaxnmv): New encoding function.
1622 (insns): Add entries for new mnemonics.
1623 * testsuite/gas/arm/mve-vmaxnmv-vminnmv-bad.d: New test.
1624 * testsuite/gas/arm/mve-vmaxnmv-vminnmv-bad.l: New test.
1625 * testsuite/gas/arm/mve-vmaxnmv-vminnmv-bad.s: New test.
1627 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1629 * config/tc-arm.c (do_mve_vmaxa_vmina): New encoding function.
1630 (do_mve_vmaxnma_vminnma): Likewise.
1631 (do_neon_dyadic_if_su): Change to support MVE variants.
1632 (do_vmaxnm): Likewise.
1633 (insns): Change to accept MVE variants and add new.
1634 * testsuite/gas/arm/mve-vmax-vmin-bad.d: New test.
1635 * testsuite/gas/arm/mve-vmax-vmin-bad.l: New test.
1636 * testsuite/gas/arm/mve-vmax-vmin-bad.s: New test.
1637 * testsuite/gas/arm/mve-vmaxa-vmina-bad.d: New test.
1638 * testsuite/gas/arm/mve-vmaxa-vmina-bad.l: New test.
1639 * testsuite/gas/arm/mve-vmaxa-vmina-bad.s: New test.
1640 * testsuite/gas/arm/mve-vmaxnm-vminnm-bad.d: New test.
1641 * testsuite/gas/arm/mve-vmaxnm-vminnm-bad.l: New test.
1642 * testsuite/gas/arm/mve-vmaxnm-vminnm-bad.s: New test.
1643 * testsuite/gas/arm/mve-vmaxnma-vminnma-bad.d: New test.
1644 * testsuite/gas/arm/mve-vmaxnma-vminnma-bad.l: New test.
1645 * testsuite/gas/arm/mve-vmaxnma-vminnma-bad.s: New test.
1647 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1649 * config/tc-arm.c (enum operand_parse_code): New operand.
1650 (parse_operands): Handle new operand.
1651 (mve_encode_qqr): Change to support new instructions.
1652 (enum vfp_or_neon_is_neon_bits): Moved.
1653 (vfp_or_neon_is_neon): Moved.
1654 (check_simd_pred_availability): Moved.
1655 (do_neon_dyadic_i_su): Changed to support MVE variants.
1656 (neon_dyadic_misc): Changed mve_encode_qqr call.
1657 (do_mve_vbrsr): Likewise.
1658 (do_mve_vhcadd): New encoding function.
1659 (insns): Change existing to accept MVE variants and add new.
1660 * testsuite/gas/arm/mve-vhadd-vhsub-vrhadd-bad.d: New test.
1661 * testsuite/gas/arm/mve-vhadd-vhsub-vrhadd-bad.l: New test.
1662 * testsuite/gas/arm/mve-vhadd-vhsub-vrhadd-bad.s: New test.
1663 * testsuite/gas/arm/mve-vhcadd-bad.d: New test.
1664 * testsuite/gas/arm/mve-vhcadd-bad.l: New test.
1665 * testsuite/gas/arm/mve-vhcadd-bad.s: New test.
1667 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1669 * config/tc-arm.c (do_neon_fmac): Change to support MVE variants.
1670 (insns): Change to accept MVE variants.
1671 * testsuite/gas/arm/mve-vfma-vfms-bad.d: New test.
1672 * testsuite/gas/arm/mve-vfma-vfms-bad.l: New test.
1673 * testsuite/gas/arm/mve-vfma-vfms-bad.s: New test.
1675 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1677 * config/tc-arm.c (M_MNEM_vddup, M_MNEM_vdwdup, M_MNEM_vidup,
1678 M_MNEM_viwdup): New instruction encodings.
1679 (NEON_SHAPE_DEF): New shapes.
1680 (do_mve_viddup): New encoding function.
1681 (do_neon_dup): Change to support new MVE variants.
1682 (insns): Change existing to accept MVE variants and add new.
1683 * testsuite/gas/arm/mve-vddup-bad.d: New test.
1684 * testsuite/gas/arm/mve-vddup-bad.l: New test.
1685 * testsuite/gas/arm/mve-vddup-bad.s: New test.
1686 * testsuite/gas/arm/mve-vdup-bad.d: New test.
1687 * testsuite/gas/arm/mve-vdup-bad.l: New test.
1688 * testsuite/gas/arm/mve-vdup-bad.s: New test.
1689 * testsuite/gas/arm/mve-vidup-bad.d: New test.
1690 * testsuite/gas/arm/mve-vidup-bad.l: New test.
1691 * testsuite/gas/arm/mve-vidup-bad.s: New test.
1693 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1695 * config/tc-arm.c (do_mve_vfmas): New encoding function.
1696 (do_neon_cls): Change to support MVE variants.
1697 (do_neon_clz): Change to support MVE variants.
1698 (insns): Change to support MVE variants and add new.
1699 * testsuite/gas/arm/mve-vcls-bad.d: New test.
1700 * testsuite/gas/arm/mve-vcls-bad.l: New test.
1701 * testsuite/gas/arm/mve-vcls-bad.s: New test.
1702 * testsuite/gas/arm/mve-vclz-bad.d: New test.
1703 * testsuite/gas/arm/mve-vclz-bad.l: New test.
1704 * testsuite/gas/arm/mve-vclz-bad.s: New test.
1705 * testsuite/gas/arm/mve-vfmas-bad.d: New test.
1706 * testsuite/gas/arm/mve-vfmas-bad.l: New test.
1707 * testsuite/gas/arm/mve-vfmas-bad.s: New test.
1709 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1711 * config/tc-arm.c (enum operand_parse_code): New operands.
1712 (parse_operands): Handle new operands.
1713 (do_mve_vcmul): New encoding function.
1714 (do_vcmla): Change to support MVE variants.
1715 (do_vcadd): Change to support MVE variants.
1716 (insns): Change existing to support MVE variants and add new.
1717 * testsuite/gas/arm/mve-vcadd-bad-1.d: New test.
1718 * testsuite/gas/arm/mve-vcadd-bad-1.l: New test.
1719 * testsuite/gas/arm/mve-vcadd-bad-1.s: New test.
1720 * testsuite/gas/arm/mve-vcadd-bad-2.d: New test.
1721 * testsuite/gas/arm/mve-vcadd-bad-2.l: New test.
1722 * testsuite/gas/arm/mve-vcadd-bad-2.s: New test.
1723 * testsuite/gas/arm/mve-vcmla-bad-1.d: New test.
1724 * testsuite/gas/arm/mve-vcmla-bad-1.l: New test.
1725 * testsuite/gas/arm/mve-vcmla-bad-1.s: New test.
1726 * testsuite/gas/arm/mve-vcmla-bad-2.d: New test.
1727 * testsuite/gas/arm/mve-vcmla-bad-2.l: New test.
1728 * testsuite/gas/arm/mve-vcmla-bad-2.s: New test.
1729 * testsuite/gas/arm/mve-vcmul-bad-1.d: New test.
1730 * testsuite/gas/arm/mve-vcmul-bad-1.l: New test.
1731 * testsuite/gas/arm/mve-vcmul-bad-1.s: New test.
1732 * testsuite/gas/arm/mve-vcmul-bad-2.d: New test.
1733 * testsuite/gas/arm/mve-vcmul-bad-2.l: New test.
1734 * testsuite/gas/arm/mve-vcmul-bad-2.s: New test.
1736 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1738 * config/tc-arm.c (enum operand_parse_code): New operands.
1739 (parse_operands): Handle new operands.
1740 (enum vfp_or_neon_is_neon_bits): Moved
1741 (vfp_or_neon_is_neon): Moved
1742 (check_simd_pred_availability): Moved.
1743 (do_neon_logic): Change to accept MVE variants.
1744 (insns): Changed to accept MVE variants.
1745 * testsuite/gas/arm/mve-vand-bad.d: New test.
1746 * testsuite/gas/arm/mve-vand-bad.l: New test.
1747 * testsuite/gas/arm/mve-vand-bad.s: New test.
1748 * testsuite/gas/arm/mve-vbic-bad.d: New test.
1749 * testsuite/gas/arm/mve-vbic-bad.l: New test.
1750 * testsuite/gas/arm/mve-vbic-bad.s: New test.
1751 * testsuite/gas/arm/mve-veor-bad.d: New test.
1752 * testsuite/gas/arm/mve-veor-bad.l: New test.
1753 * testsuite/gas/arm/mve-veor-bad.s: New test.
1754 * testsuite/gas/arm/mve-vorn-bad.d: New test.
1755 * testsuite/gas/arm/mve-vorn-bad.l: New test.
1756 * testsuite/gas/arm/mve-vorn-bad.s: New test.
1757 * testsuite/gas/arm/mve-vorr-bad.d: New test.
1758 * testsuite/gas/arm/mve-vorr-bad.l: New test.
1759 * testsuite/gas/arm/mve-vorr-bad.s: New test.
1761 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1763 * config/tc-arm.c (M_MNEM_vaddlv, M_MNEM_vaddlva, M_MNEM_vaddv,
1764 M_MNEM_vaddva): New instruction encodings.
1765 (mve_encode_rq): New encoding helper function.
1766 (do_mve_vaddlv): New encoding function.
1767 (do_mve_vaddv): New encoding function.
1768 * testsuite/gas/arm/mve-vaddlv-bad.d: New test.
1769 * testsuite/gas/arm/mve-vaddlv-bad.l: New test.
1770 * testsuite/gas/arm/mve-vaddlv-bad.s: New test.
1771 * testsuite/gas/arm/mve-vaddv-bad.d: New test.
1772 * testsuite/gas/arm/mve-vaddv-bad.l: New test.
1773 * testsuite/gas/arm/mve-vaddv-bad.s: New test.
1775 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1777 * config/tc-arm.c (M_MNEM_vadc, M_MNEM_vadci, M_MNEM_vbrsr):
1778 New instruction encodings.
1779 (do_mve_vadc): New encoding instruction.
1780 (do_mve_vbrsr): Likewise.
1781 (do_mve_vsbc): Likewise.
1782 * testsuite/gas/arm/mve-vadc-bad.d: New test.
1783 * testsuite/gas/arm/mve-vadc-bad.l: New test.
1784 * testsuite/gas/arm/mve-vadc-bad.s: New test.
1785 * testsuite/gas/arm/mve-vbrsr-bad.d: New test.
1786 * testsuite/gas/arm/mve-vbrsr-bad.l: New test.
1787 * testsuite/gas/arm/mve-vbrsr-bad.s: New test.
1788 * testsuite/gas/arm/mve-vsbc-bad.d: New test.
1789 * testsuite/gas/arm/mve-vsbc-bad.l: New test.
1790 * testsuite/gas/arm/mve-vsbc-bad.s: New test.
1792 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1794 * config/tc-arm.c (MVE_BAD_QREG): New error message.
1795 (enum operand_parse_code): Define new operand.
1796 (parse_operands): Handle new operand.
1797 (do_mve_vpt): Change for VPT blocks.
1798 (NEON_SHAPE_DEF): New shape.
1799 (neon_logbits): Moved.
1802 (mve_get_vcmp_vpt_cond): New function to translate vpt conditions.
1803 (do_mve_vcmp): New encoding function.
1804 (do_vfp_nsyn_cmp): Changed to support MVE variants.
1805 (insns): Change to support MVE variants of vcmp and add vpt.
1806 * testsuite/gas/arm/mve-vcmp-bad-1.d: New test.
1807 * testsuite/gas/arm/mve-vcmp-bad-1.l: New test.
1808 * testsuite/gas/arm/mve-vcmp-bad-1.s: New test.
1809 * testsuite/gas/arm/mve-vcmp-bad-2.d: New test.
1810 * testsuite/gas/arm/mve-vcmp-bad-2.l: New test.
1811 * testsuite/gas/arm/mve-vcmp-bad-2.s: New test.
1812 * testsuite/gas/arm/mve-vpt-bad-1.d: New test.
1813 * testsuite/gas/arm/mve-vpt-bad-1.l: New test.
1814 * testsuite/gas/arm/mve-vpt-bad-1.s: New test.
1815 * testsuite/gas/arm/mve-vpt-bad-2.d: New test.
1816 * testsuite/gas/arm/mve-vpt-bad-2.l: New test.
1817 * testsuite/gas/arm/mve-vpt-bad-2.s: New test.
1819 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1821 * config/tc-arm.c (struct arm_it): Expand isscalar field to be able to
1822 distinguish between types of scalar.
1823 (parse_typed_reg_or_scalar): Change to accept MVE scalar variants.
1824 (parse_scalar): Likewise.
1825 (parse_neon_mov): Accept MVE variant.
1826 (po_scalar_or_goto): Make use reg_type.
1827 (parse_operands): Change uses of po_scalar_or_goto.
1828 (do_vfp_sp_monadic): Change to accept MVE variants.
1829 (do_vfp_reg_from_sp): Likewise.
1830 (do_vfp_sp_from_reg): Likewise.
1831 (do_vfp_dp_rd_rm): Likewise.
1832 (do_vfp_dp_rd_rn_rm): Likewise.
1833 (do_vfp_dp_rm_rd_rn): Likewise.
1834 (M_MNEM_vmovlt, M_MNEM_vmovlb, M_MNEM_vmovnt, M_MNEM_vmovnb): New
1835 instruction encodings.
1836 (NEON_SHAPE_DEF): New shape.
1837 (do_mve_mov): New encoding fuction.
1838 (do_mve_movn): Likewise.
1839 (do_mve_movl): Likewise.
1840 (do_neon_mov): Change to accept MVE variants.
1842 (insns): Accept new MVE variants and instructions.
1843 * testsuite/gas/arm/mve-vmov-bad-1.d: New test.
1844 * testsuite/gas/arm/mve-vmov-bad-1.l: New test.
1845 * testsuite/gas/arm/mve-vmov-bad-1.s: New test.
1846 * testsuite/gas/arm/mve-vmov-bad-2.d: New test.
1847 * testsuite/gas/arm/mve-vmov-bad-2.l: New test.
1848 * testsuite/gas/arm/mve-vmov-bad-2.s: New test.
1850 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1852 * config/tc-arm.c (enum operand_parse_code): Add new operand.
1853 (parse_operands): Handle new operand.
1854 (do_neon_cvt_1): Handle MVE variants.
1855 (do_neon_cvttb_1): Likewise.
1856 (insns): Accept MVE variants.
1857 * testsuite/gas/arm/mve-vcvt-bad-1.d: New test.
1858 * testsuite/gas/arm/mve-vcvt-bad-1.l: New test.
1859 * testsuite/gas/arm/mve-vcvt-bad-1.s: New test.
1860 * testsuite/gas/arm/mve-vcvt-bad-2.d: New test.
1861 * testsuite/gas/arm/mve-vcvt-bad-2.l: New test.
1862 * testsuite/gas/arm/mve-vcvt-bad-2.s: New test.
1863 * testsuite/gas/arm/mve-vcvt-bad-3.d: New test.
1864 * testsuite/gas/arm/mve-vcvt-bad-3.l: New test.
1865 * testsuite/gas/arm/mve-vcvt-bad-3.s: New test.
1866 * testsuite/gas/arm/mve-vcvt-bad-4.d: New test.
1867 * testsuite/gas/arm/mve-vcvt-bad-4.l: New test.
1868 * testsuite/gas/arm/mve-vcvt-bad-4.s: New test.
1869 * testsuite/gas/arm/mve-vcvt-bad.d: New test.
1870 * testsuite/gas/arm/mve-vcvt-bad.l: New test.
1871 * testsuite/gas/arm/mve-vcvt-bad.s: New test.
1873 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1875 * config/tc-arm.c (struct arm_it): Make immisreg field larger to hold
1877 (enum shift_kind): Add SHIFT_UXTW shift kind.
1878 (enum parse_shift_mode): Add SHIFT_UXTW_IMMEDIATE shift mode.
1879 (parse_shift): Handle new shift type.
1880 (parse_address_main): Accept new addressing modes.
1881 (M_MNEM_vstrb, M_MNEM_vstrh, M_MNEM_vstrw, M_MNEM_vstrd,
1882 M_MNEM_vldrb, M_MNEM_vldrh, M_MNEM_vldrw, M_MNEM_vldrd): New
1883 instruction encodings.
1884 (do_mve_vstr_vldr_QI): New encoding functions.
1885 (do_mve_vstr_vldr_RQ): Likewise.
1886 (do_mve_vstr_vldr_RI): Likewise.
1887 (do_mve_vstr_vldr): Likewise.
1888 * testsuite/gas/arm/mve-vldr-bad-1.d: New test.
1889 * testsuite/gas/arm/mve-vldr-bad-1.l: New test.
1890 * testsuite/gas/arm/mve-vldr-bad-1.s: New test.
1891 * testsuite/gas/arm/mve-vldr-bad-2.d: New test.
1892 * testsuite/gas/arm/mve-vldr-bad-2.l: New test.
1893 * testsuite/gas/arm/mve-vldr-bad-2.s: New test.
1894 * testsuite/gas/arm/mve-vldr-bad-3.d: New test.
1895 * testsuite/gas/arm/mve-vldr-bad-3.l: New test.
1896 * testsuite/gas/arm/mve-vldr-bad-3.s: New test.
1897 * testsuite/gas/arm/mve-vstr-bad-1.d: New test.
1898 * testsuite/gas/arm/mve-vstr-bad-1.l: New test.
1899 * testsuite/gas/arm/mve-vstr-bad-1.s: New test.
1900 * testsuite/gas/arm/mve-vstr-bad-2.d: New test.
1901 * testsuite/gas/arm/mve-vstr-bad-2.l: New test.
1902 * testsuite/gas/arm/mve-vstr-bad-2.s: New test.
1903 * testsuite/gas/arm/mve-vstr-bad-3.d: New test.
1904 * testsuite/gas/arm/mve-vstr-bad-3.l: New test.
1905 * testsuite/gas/arm/mve-vstr-bad-3.s: New test.
1907 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1909 * config/tc-arm.c (enum it_instruction_type): Add MVE_UNPREDICABLE_INSN.
1910 (BAD_EL_TYPE): New error message.
1911 (parse_neon_el_struct_list): Adapt to be able to accept MVE variant.
1912 (parse_address_main): Likewise.
1913 (group_reloc_type): Add GROUP_MVE.
1914 (enum operand_parse_code): Add new operands.
1915 (parse_operands): Handle new operands.
1916 (M_MNEM_vst20, M_MNEM_vst21, M_MNEM_vst40, M_MNEM_vst41, M_MNEM_vst42,
1917 M_MNEM_vst43, M_MNEM_vld20, M_MNEM_vld21, M_MNEM_vld40, M_MNEM_vld41,
1918 M_MNEM_vld42, M_MNEM_vld43): New encodings.
1919 (do_mve_vst_vld): New encoding function.
1920 (do_neon_ld_st_interleave): Use BAD_EL_TYPE.
1921 (it_fsm_pre_encode): Handle new it_instruction_type
1922 (handle_pred_state): Likewise.
1923 * testsuite/gas/arm/mve-vstld-bad.d: New test.
1924 * testsuite/gas/arm/mve-vstld-bad.l: New test.
1925 * testsuite/gas/arm/mve-vstld-bad.s: New test.
1927 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1929 * config/tc-arm.c (BAD_MVE_AUTO): New error message.
1930 (BAD_MVE_SRCDEST): Likewise.
1931 (mark_feature_used): Diagnose MVE only instructions when in
1932 auto-detection mode or -march=all.
1933 (enum operand_parse_code): Define new operand.
1934 (parse_operands): Handle new operand.
1935 (M_MNEM_vmullt, M_MNEM_vmullb): New encodings.
1936 (mve_encode_qqq): New encoding helper function.
1937 (do_mve_vmull): New encoding function.
1938 (insns): Handle new instructions.
1939 * testsuite/gas/arm/mve-vmullbt-bad.d: New test.
1940 * testsuite/gas/arm/mve-vmullbt-bad.l: New test.
1941 * testsuite/gas/arm/mve-vmullbt-bad.s: New test.
1943 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1945 * config/tc-arm.c (struct asm_opcode): Make avalue a full int.
1946 (BAD_ODD, BAD_EVEN, BAD_SIMD_TYPE): New errors.
1947 (enum operand_parse_code): Handle new operands.
1948 (parse_operands): Likewise.
1949 (M_MNEM_vabav, M_MNEM_vmladav, M_MNEM_vmladava, M_MNEM_vmladavx,
1950 M_MNEM_vmladavax, M_MNEM_vmlsdav, M_MNEM_vmlsdava, M_MNEM_vmlsdavx,
1951 M_MNEM_vmlsdavax): Define new encodings.
1952 (NEON_SHAPE_DEF): Add new shape.
1953 (neon_check_type): Use BAD_SIMD_TYPE.
1954 (mve_encode_rqq): New encoding helper function.
1955 (do_mve_vabav, do_mve_vmladav): New encoding functions.
1957 * testsuite/gas/arm/mve-vabav-bad.d: New test.
1958 * testsuite/gas/arm/mve-vabav-bad.l: New test.
1959 * testsuite/gas/arm/mve-vabav-bad.s: New test.
1960 * testsuite/gas/arm/mve-vmladav-bad.d: New test.
1961 * testsuite/gas/arm/mve-vmladav-bad.l: New test.
1962 * testsuite/gas/arm/mve-vmladav-bad.s: New test.
1963 * testsuite/gas/arm/mve-vmlav-bad.d: New test.
1964 * testsuite/gas/arm/mve-vmlav-bad.l: New test.
1965 * testsuite/gas/arm/mve-vmlav-bad.s: New test.
1966 * testsuite/gas/arm/mve-vmlsdav-bad.d: New test.
1967 * testsuite/gas/arm/mve-vmlsdav-bad.l: New test.
1968 * testsuite/gas/arm/mve-vmlsdav-bad.s: New test.
1970 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1972 * config/tc-arm.c (do_neon_abs_neg): Make it accept MVE variant.
1973 (insns): Change vabs and vneg entries to accept MVE variants.
1974 * testsuite/gas/arm/mve-vabsneg-bad-1.d: New test.
1975 * testsuite/gas/arm/mve-vabsneg-bad-1.l: New test.
1976 * testsuite/gas/arm/mve-vabsneg-bad-1.s: New test.
1977 * testsuite/gas/arm/mve-vabsneg-bad-2.d: New test.
1978 * testsuite/gas/arm/mve-vabsneg-bad-2.l: New test.
1979 * testsuite/gas/arm/mve-vabsneg-bad-2.s: New test.
1981 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1983 * config/tc-arm.c (enum it_instruction_type): Rename to...
1984 (enum pred_instruction_type): ... this. Include VPT types.
1985 (it_insn_type): Rename to ...
1986 (pred_insn_type): .. this.
1987 (arm_it): Change comment.
1988 (enum arm_reg_type): Add new value.
1989 (reg_expected_msgs): New entry.
1990 (asm_opcode): Add mayBeVecPred member.
1991 (BAD_SYNTAX, BAD_NOT_VPT, BAD_OUT_VPT, BAD_VPT_COND, MVE_NOT_IT,
1992 MVE_NOT_VPT, MVE_BAD_PC, MVE_BAD_SP): New diagnostic MACROS.
1993 (arm_vcond_hsh): New table for vector condition codes.
1994 (now_it): Rename to ...
1995 (now_pred): ... this.
1996 (now_it_compatible): Rename to ...
1997 (now_pred_compatible): ... this.
1998 (in_it_block): Rename to ...
1999 (in_pred_block): ... this.
2000 (handle_it_state): Rename to ...
2001 (handle_pred_state): ... this. And change it to accept VPT blocks.
2002 (set_it_insn_type): Rename to ...
2003 (set_pred_insn_type): ... this.
2004 (set_it_insn_type_nonvoid): Rename to ...
2005 (set_pred_insn_type_nonvoid): ... this.
2006 (set_it_insn_type_last): Rename to ...
2007 (set_pred_insn_type_last): ... this.
2008 (record_feature_use): Moved.
2009 (mark_feature_used): Likewise.
2010 (parse_typed_reg_or_scalar): Add new case for REG_TYPE_MQ.
2011 (emit_insn): Use renamed functions and variables.
2012 (enum operand_parse_code): Add new operands.
2013 (parse_operands): Handle new operands.
2014 (do_scalar_fp16_v82_encode): Change predication detection.
2015 (do_it): Use renamed functions and variables.
2016 (do_t_add_sub): Likewise.
2017 (do_t_arit3): Likewise.
2018 (do_t_arit3c): Likewise.
2019 (do_t_blx): Likewise.
2020 (do_t_branch): Likewise.
2021 (do_t_bkpt_hlt1): Likewise.
2022 (do_t_branch23): Likewise.
2023 (do_t_bx): Likewise.
2024 (do_t_bxj): Likewise.
2025 (do_t_cond): Likewise.
2026 (do_t_csdb): Likewise.
2027 (do_t_cps): Likewise.
2028 (do_t_cpsi): Likewise.
2029 (do_t_cbz): Likewise.
2030 (do_t_it): Likewise.
2031 (do_mve_vpt): New function to handle VPT blocks.
2032 (encode_thumb2_multi): Use renamed functions and variables.
2033 (do_t_ldst): Use renamed functions and variables.
2034 (do_t_mov_cmp): Likewise.
2035 (do_t_mvn_tst): Likewise.
2036 (do_t_mul): Likewise.
2037 (do_t_nop): Likewise.
2038 (do_t_neg): Likewise.
2039 (do_t_rsb): Likewise.
2040 (do_t_setend): Likewise.
2041 (do_t_shift): Likewise.
2042 (do_t_smc): Likewise.
2043 (do_t_tb): Likewise.
2044 (do_t_udf): Likewise.
2045 (do_t_loloop): Likewise.
2046 (do_neon_cvt_1): Likewise.
2047 (do_vfp_nsyn_cvt_fpv8): Likewise.
2048 (do_vsel): Likewise.
2049 (do_vmaxnm): Likewise.
2050 (do_vrint_1): Likewise.
2051 (do_crypto_2op_1): Likewise.
2052 (do_crypto_3op_1): Likewise.
2053 (do_crc32_1): Likewise.
2054 (it_fsm_pre_encode): Likewise.
2055 (it_fsm_post_encode): Likewise.
2056 (force_automatic_it_block_close): Likewise.
2057 (check_it_blocks_finished): Likewise.
2058 (check_pred_blocks_finished): Likewise.
2059 (arm_cleanup): Likewise.
2060 (now_it_add_mask): Rename to ...
2061 (now_pred_add_mask): ... this. And use new variables and functions.
2062 (NEON_ENC_TAB): Add entries for vabdl, vaddl and vsubl.
2063 (N_I_MVE, N_F_MVE, N_SU_MVE): New MACROs.
2064 (neon_check_type): Generalize error message.
2065 (mve_encode_qqr): New MVE generic encoding function.
2066 (neon_dyadic_misc): Change to accept MVE variants.
2067 (do_neon_dyadic_if_su): Likewise.
2068 (do_neon_addsub_if_i): Likewise.
2069 (do_neon_dyadic_long): Likewise.
2070 (vfp_or_neon_is_neon): Add extra checks.
2071 (check_simd_pred_availability): Helper function to check SIMD
2072 instruction availability with respect to predication.
2073 (enum opcode_tag): New suffix value.
2074 (opcode_lookup): Change to handle VPT blocks.
2075 (new_automatic_it_block): Rename to ...
2076 (close_automatic_it_block): ...this.
2077 (TxCE, TxC3, TxC3w, TUE, TUEc, TUF, CE, C3, ToC, ToU,
2078 toC, toU, CL, cCE, cCL, C3E, xCM_, UE, UF, NUF, nUF,
2079 NCE_tag, NCE, NCEF, nCE_tag, nCE, nCEF): Add default value for new
2081 (mCEF, mnCEF, mnCE, MNUF, mnUF, mToC, MNCE, MNCEF): New MACROs.
2082 (insns): Redefine vadd, vsub, cabd, vabdl, vaddl, vsubl to accept MVE
2083 variants. Add entries for vscclrm, and vpst.
2084 (md_begin): Add arm_vcond_hsh initialization.
2085 * config/tc-arm.h (enum it_state): Rename to...
2086 (enum pred_state): ...this.
2087 (struct current_it): Rename to...
2088 (struct current_pred): ...this.
2089 (enum pred_type): New enum.
2090 (struct arm_segment_info_type): Use current_pred.
2091 * testsuite/gas/arm/armv8_3-a-fp-bad.l: Update error message.
2092 * testsuite/gas/arm/armv8_3-a-simd-bad.l: Update error message.
2093 * testsuite/gas/arm/dotprod-illegal.l: Update error message.
2094 * testsuite/gas/arm/mve-vaddsubabd-bad-1.d: New test.
2095 * testsuite/gas/arm/mve-vaddsubabd-bad-1.l: New test.
2096 * testsuite/gas/arm/mve-vaddsubabd-bad-1.s: New test.
2097 * testsuite/gas/arm/mve-vaddsubabd-bad-2.d: New test.
2098 * testsuite/gas/arm/mve-vaddsubabd-bad-2.l: New test.
2099 * testsuite/gas/arm/mve-vaddsubabd-bad-2.s: New test.
2100 * testsuite/gas/arm/mve-vpst-bad.d: New test.
2101 * testsuite/gas/arm/mve-vpst-bad.l: New test.
2102 * testsuite/gas/arm/mve-vpst-bad.s: New test.
2103 * testsuite/gas/arm/neon-ldst-es-bad.l: Updated error message.
2105 2019-05-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
2107 * config/tc-arm.c (mve_ext, mve_fp_ext): New features.
2108 (armv8_1m_main_ext_table): Add new extensions.
2109 (aeabi_set_public_attributes): Translate new features to new build attributes.
2110 (arm_convert_symbolic_attribute): Add Tag_MVE_arch.
2111 * doc/c-arm.texi: Document new extensions and new build attribute.
2113 2019-05-15 John Darrington <john@darrington.wattle.id.au>
2115 * config/tc-s12z.c (register_prefix): New variable. (md_show_usage,
2116 md_parse_option): parse the new option.
2117 (lex_reg_name): Scan the prefix if one is set.
2118 * doc/c-s12z.texi (S12Z-Opts): Document the new option.
2119 * testsuite/gas/s12z/reg-prefix.d: New file.
2120 * testsuite/gas/s12z/reg-prefix.s: New file.
2121 * testsuite/gas/s12z/s12z.exp: Add them.
2123 2019-05-14 John Darrington <john@darrington.wattle.id.au>
2125 * doc/as.texi (Machine Dependencies): Fix misaligned menu entry.
2127 2019-05-15 Alan Modra <amodra@gmail.com>
2129 * config/tc-csky.c (md_convert_frag): Initialise trailing
2130 padding for COND_JUMP_PIC.
2132 2019-05-15 Alan Modra <amodra@gmail.com>
2134 * dwarf2dbg.c: Whitespace fixes.
2135 (get_filenum): Don't strdup "file". Adjust error message.
2136 (dwarf2_directive_filename): Use an unsigned type for "num".
2137 Catch truncation of file number and overflow of get_filenum
2138 XRESIZEVEC multiplication. Delete dead code.
2140 2019-05-15 Alan Modra <amodra@gmail.com>
2143 * config/tc-tic54x.c (tic54x_start_line_hook): Do skip end of line
2144 chars in setting endp.
2146 2019-05-14 Nick Clifton <nickc@redhat.com>
2149 * config/tc-i386-intel.c (i386_intel_simplify_register): Reject
2150 illegal register numbers.
2152 2019-05-10 Nick Clifton <nickc@redhat.com>
2155 * macro.c (get_any_string): Increase size of buffer used to hold
2156 decimal value of expression result.
2157 * dw2gencfi.c (get_debugseg_name): Handle an empty name.
2158 * dwarf2dbg.c (get_filenum): Catch integer wraparound when
2159 extending allocate file array.
2160 (dwarf2_directive_filename): Add extra checks of the computed file
2162 * config/tc-arm.c (arm_tc_equal_in_insn): Insert copy of name into
2164 (s_arm_eabi_attribute): Check for obj_elf_vendor_attribute
2166 * config/tc-i386.c (i386_output_nops): Catch an attempt to
2167 generate nops of negative lengths.
2168 * as.h (MAX_LITTLENUMS): Move definition to here from...
2169 * config/atof-ieee.c: ...here.
2170 * config/tc-aarch64.c: ...here.
2171 * config/tc-arc.c: ...here.
2172 * config/tc-arm.c: ...here.
2173 * config/tc-epiphany.c: ...here.
2174 * config/tc-i386.c: ...here.
2175 * config/tc-ia64.c: ...here. (And correct the value).
2176 * config/tc-m32c.c: ...here.
2177 * config/tc-m32r.c: ...here.
2178 * config/tc-metag.c: ...here.
2179 * config/tc-microblaze.c: ...here.
2180 * config/tc-nds32.c: ...here.
2181 * config/tc-or1k.c: ...here.
2182 * config/tc-score.c: ...here.
2183 * config/tc-score7.c: ...here.
2184 * config/tc-tic4x.c: ...here.
2185 * config/tc-tilegx.c: ...here.
2186 * config/tc-tilepro.c: ...here.
2187 * config/tc-visium.c: ...here.
2188 * config/tc-sh.c (md_assemble): Add check for an instruction with
2190 * config/tc-mips.c (mips_lookup_insn): Add check for very short
2192 * config/tc-tic54x.c: Use unsigned chars to access is_end_of_line
2194 (tic54x_start_line_hook): Check for an empty line.
2195 (next_line_shows_parallel): Do not walk off the end of the string.
2196 (tic54x_macro_start): Check for too much macro nesting.
2197 (tic54x_start_label): Add label_start parameter. Use this
2198 parameter to check the first character of the label.
2200 * config/tc-tic54x.h (TC_START_LABEL_WITHOUT_COLON): Pass
2201 line_start variable to tic54x_start_label.
2203 2019-05-10 Faraz Shahbazker <fshahbazker@wavecomp.com>
2205 * config/tc-mips.c (macro) <M_ADD_I, M_SUB_I, M_DADD_I, M_DSUB_I>:
2206 Add expansions for MIPS r6.
2207 * testsuite/gas/mips/add.s: Enable tests for R6.
2208 * testsuite/gas/mips/daddi.s: Annotate to test DADD for R6.
2209 * testsuite/gas/mips/mipsr6@add.d: Likewise.
2210 * gas/testsuite/gas/mips/mipsr6@dadd.d: New test.
2211 * gas/testsuite/gas/mips/mips.exp: Run the new test.
2213 2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
2215 * testsuite/gas/aarch64/sve2.d: Remove file format restriction.
2217 2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
2219 * testsuite/gas/aarch64/illegal-sve2-aes.d: New test.
2220 * testsuite/gas/aarch64/illegal-sve2-bitperm.d: New test.
2221 * testsuite/gas/aarch64/illegal-sve2-sha3.d: Test new instructions.
2222 * testsuite/gas/aarch64/illegal-sve2-sm4.d: Test new instructions.
2223 * testsuite/gas/aarch64/illegal-sve2-sve1ext.d: Test new instructions.
2224 * testsuite/gas/aarch64/illegal-sve2-sve1ext.l: Test new instructions.
2225 * testsuite/gas/aarch64/illegal-sve2.d: Test new instructions.
2226 * testsuite/gas/aarch64/illegal-sve2.l: Test new instructions.
2227 * testsuite/gas/aarch64/illegal-sve2.s: Test new instructions.
2228 * testsuite/gas/aarch64/sve1-extended-sve2.s: New test.
2229 * testsuite/gas/aarch64/sve2.d: Test new instructions.
2230 * testsuite/gas/aarch64/sve2.s: Test new instructions.
2232 2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
2234 * config/tc-aarch64.c (parse_operands): Handle new SVE_SHLIMM_UNPRED_22
2237 2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
2239 * config/tc-aarch64.c (parse_operands): Handle new SVE_Zm4_11_INDEX
2242 2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
2244 * config/tc-aarch64.c (parse_operands): Handle new SVE_SHRIMM_UNPRED_22
2247 2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
2249 * config/tc-aarch64.c (REG_ZR): Macro specifying zero register.
2250 (parse_address_main): Account for new addressing mode [Zn.S, Xm].
2251 (parse_operands): Handle new SVE_ADDR_ZX operand.
2253 2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
2255 * config/tc-aarch64.c (parse_operands): Handle new SVE_Zm3_11_INDEX
2258 2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
2260 * config/tc-aarch64.c (parse_operands): Handle new SVE_IMM_ROT3 operand.
2262 2019-05-09 Matthew Malcomson <matthew.malcomson@arm.com>
2264 * config/tc-aarch64.c: Add command line architecture feature flags
2265 "sve2", "sve2-sm4", "sve2-aes", "sve2-sha3", "bitperm".
2266 * doc/c-aarch64.texi: Document new architecture feature flags.
2268 2019-05-08 Alan Modra <amodra@gmail.com>
2270 * testsuite/gas/elf/dwarf2-1.s,
2271 * testsuite/gas/elf/dwarf2-2.s,
2272 * testsuite/gas/elf/dwarf2-5.s,
2273 * testsuite/gas/elf/dwarf2-7.s,
2274 * testsuite/gas/elf/dwarf2-8.s,
2275 * testsuite/gas/elf/dwarf2-9.s,
2276 * testsuite/gas/elf/dwarf2-10.s,
2277 * testsuite/gas/elf/dwarf2-11.s,
2278 * testsuite/gas/elf/dwarf2-12.s,
2279 * testsuite/gas/elf/dwarf2-13.s,
2280 * testsuite/gas/elf/dwarf2-14.s,
2281 * testsuite/gas/elf/dwarf2-15.s,
2282 * testsuite/gas/elf/dwarf2-16.s,
2283 * testsuite/gas/elf/dwarf2-17.s,
2284 * testsuite/gas/elf/dwarf2-18.s,
2285 * testsuite/gas/elf/dwarf2-19.s: Double size of align and simulated
2287 * testsuite/gas/elf/dwarf2-1.d,
2288 * testsuite/gas/elf/dwarf2-2.d,
2289 * testsuite/gas/elf/dwarf2-5.d,
2290 * testsuite/gas/elf/dwarf2-7.d,
2291 * testsuite/gas/elf/dwarf2-8.d,
2292 * testsuite/gas/elf/dwarf2-9.d,
2293 * testsuite/gas/elf/dwarf2-10.d,
2294 * testsuite/gas/elf/dwarf2-11.d,
2295 * testsuite/gas/elf/dwarf2-12.d,
2296 * testsuite/gas/elf/dwarf2-13.d,
2297 * testsuite/gas/elf/dwarf2-14.d,
2298 * testsuite/gas/elf/dwarf2-15.d,
2299 * testsuite/gas/elf/dwarf2-16.d,
2300 * testsuite/gas/elf/dwarf2-17.d,
2301 * testsuite/gas/elf/dwarf2-18.d,
2302 * testsuite/gas/elf/dwarf2-19.d: Use xfail rather than notarget.
2303 Remove avr, pru, tile, xtensa from xfails. Update expected output.
2304 * testsuite/gas/elf/elf.exp: Sort targets.
2305 (dump_opts): Pass {as -mno-relax} for riscv, {as -mno-link-relax}
2306 for avr and pru, and {as --no-link-relax} for xtensa to dwarf tests.
2307 * testsuite/gas/elf/section2.e-miwmmxt: Delete unused file.
2309 2019-05-08 Alan Modra <amodra@gmail.com>
2311 * config/tc-xtensa.c (opt_linkrelax): New variable.
2312 (md_parse_option): Set it here.
2313 (md_begin): Copy opt_linkrelax to linkrelax.
2315 2019-05-07 Alexandre Oliva <aoliva@redhat.com>
2317 * testsuite/gas/elf/dwarf2-18.d: Xfail mep-*.
2318 * testsuite/gas/elf/dwarf2-19.d: Likewise.
2320 2019-05-07 Alan Modra <amodra@gmail.com>
2322 * symbols.c (use_complex_relocs_for): Formatting. Factor out
2325 2019-05-06 Andrew Bennett <andrew.bennett@imgtec.com>
2326 Faraz Shahbazker <fshahbazker@wavecomp.com>
2328 * config/tc-mips.c (mips_set_ase): Handle ASE_EVA_R6.
2329 (macro) <M_LLWPE_AB, M_SCWPE_AB>: New cases.
2330 (mips_after_parse_args): Translate EVA to EVA_R6.
2331 * testsuite/gas/mips/ase-errors-1.s: Add new instructions.
2332 * testsuite/gas/mips/eva.s: Likewise.
2333 * testsuite/gas/mips/ase-errors-1.l: Check errors for
2335 * testsuite/gas/mips/mipsr6@eva.d: Check new test cases.
2337 2019-05-06 Alan Modra <amodra@gmail.com>
2339 * symbols.c (symbol_relc_make_sym): Do not access sym->sy_value
2342 2019-05-06 Alan Modra <amodra@gmail.com>
2344 * config/tc-ppc.c (ppc_fix_adjustable): Exclude all GOT and PLT
2345 relocs, and VLE sdarel relocs.
2346 * testsuite/gas/ppc/power4.d: Adjust.
2348 2019-05-05 Alexandre Oliva <aoliva@redhat.com>
2350 * dwarf2dbg.c (set_or_check_view): Skip heads when assigning
2351 views of prior locs.
2352 (dwarf2_gen_line_info_1): Skip heads.
2353 (size_inc_line_addr, emit_inc_line_addr): Drop
2354 DW_LNS_advance_pc for zero addr delta.
2355 (dwarf2_finish): Assign views for heads of segments.
2356 * testsuite/gas/elf/dwarf2-19.d: New.
2357 * testsuite/gas/elf/dwarf2-19.s: New.
2358 * testsuite/gas/elf/elf.exp: Test it.
2360 2019-05-04 Alan Modra <amodra@gmail.com>
2362 * config/tc-m32c.c (insn_size): Delete static var.
2363 (md_begin): Don't set it.
2364 (m32c_md_end): Delete.
2365 (md_assemble): Add insn_size auto var.
2366 * config/tc-m32c.h (md_end): Don't define.
2367 (m32c_md_end): Delete.
2368 (NOP_OPCODE, HANDLE_ALIGN, MAX_MEM_FOR_RS_ALIGN_CODE): Define.
2369 * testsuite/gas/all/align.d: Remove m32c from notarget list.
2370 * testsuite/gas/all/incbin.d: Likewise.
2371 * testsuite/gas/elf/dwarf2-11.d: Likewise.
2372 * testsuite/gas/macros/semi.d: Likewise.
2373 * testsuite/gas/all/gas.exp (do_comment): Similarly.
2375 2019-05-02 H.J. Lu <hongjiu.lu@intel.com>
2378 * config/tc-i386.c (process_suffix): Issue a warning to IRET
2379 without a suffix for .code16gcc.
2380 * testsuite/gas/i386/jump16.s: Add tests for iretX.
2381 * testsuite/gas/i386/jump16.d: Updated.
2382 * testsuite/gas/i386/jump16.e: New file.
2384 2019-05-01 Sudakshina Das <sudi.das@arm.com>
2386 * config/tc-aarch64.c (parse_operands): Add case for
2387 AARCH64_OPND_TME_UIMM16.
2388 (aarch64_features): Add "tme".
2389 * doc/c-aarch64.texi: Document the same.
2390 * testsuite/gas/aarch64/tme-invalid.d: New test.
2391 * testsuite/gas/aarch64/tme-invalid.l: New test.
2392 * testsuite/gas/aarch64/tme-invalid.s: New test.
2393 * testsuite/gas/aarch64/tme.d: New test.
2394 * testsuite/gas/aarch64/tme.s: New test.
2396 2019-04-29 John Darrington <john@darrington.wattle.id.au>
2398 * testsuite/gas/s12z/truncated.d: New file.
2399 * testsuite/gas/s12z/truncated.s: New file.
2400 * testsuite/gas/s12z/s12z.exp: Add new test.
2402 2019-04-26 Andrew Bennett <andrew.bennett@imgtec.com>
2403 Faraz Shahbazker <fshahbazker@wavecomp.com>
2405 * config/tc-mips.c (macro) <M_LLWP_AB, M_LLDP_AB, M_SCWP_AB,
2406 M_SCDP_AB>: New cases and expansions for paired instructions.
2407 * testsuite/gas/mips/llpscp-32.s: New test source.
2408 * testsuite/gas/mips/llpscp-64.s: Likewise.
2409 * testsuite/gas/mips/llpscp-32.d: New test.
2410 * testsuite/gas/mips/llpscp-64.d: Likewise.
2411 * testsuite/gas/mips/mips.exp: Run the new tests.
2412 * testsuite/gas/mips/r6.s: Add new instructions to test source.
2413 * testsuite/gas/mips/r6-64.s: Likewise.
2414 * testsuite/gas/mips/r6-64-n32.d: Check new instructions.
2415 * testsuite/gas/mips/r6-64-n64.d: Likewise.
2416 * testsuite/gas/mips/r6-n32.d: Likewise.
2417 * testsuite/gas/mips/r6-n64.d: Likwwise.
2418 * testsuite/gas/mips/r6.d: Likewise.
2420 2019-04-26 H.J. Lu <hongjiu.lu@intel.com>
2423 * config/tc-i386.c (process_suffix): Don't add DATA_PREFIX_OPCODE
2424 to IRET for .code16gcc.
2425 * testsuite/gas/i386/jump16.s: Add IRET tests.
2426 * testsuite/gas/i386/jump16.d: Updated.
2428 2019-04-25 Alexandre Oliva <aoliva@redhat.com>
2429 Alan Modra <amodra@gmail.com>
2432 * frags.c (frag_gtoffset_p): New.
2433 * frags.h (frag_gtoffset_p): Declare it.
2434 * expr.c (resolve_expression): Use it.
2436 2019-04-24 Alan Modra <amodra@gmail.com>
2439 * symbols.c (resolve_symbol_value): When handling symbols
2440 marked as sy_flags.resolved, return correct value for the
2441 case of expression symbols left as an O_symbol expression.
2442 Merge O_symbol code handling undefined and common symbols with
2443 code handling special cases of expression symbols. Use
2444 seg_left to test for undefined and common symbols. Don't
2445 leave an O_symbol expression when X_add_symbol resolves to
2446 the absolute_section. Init final_val later.
2447 * testsuite/gas/mmix/basep-7.d: Adjust expected output.
2449 2019-04-24 John Darrington <john@darrington.wattle.id.au>
2451 * testsuite/gas/s12z/bit-manip-invalid.s: Extend test for BSET
2452 and BCLR instructions with an invalid mode.
2453 * testsuite/gas/s12z/bit-manip-invalid.d: ditto.
2455 2019-04-19 Nick Clifton <nickc@redhat.com>
2458 * config/tc-rx.h (md_relax_frag): Pass the max_iterations variable
2459 to the relaxation function.
2460 * config/tc-rx.c (rx_relax_frag): Add new parameter - the maximum
2461 number of iterations. Make sure that our internal iteration limit
2462 does not exceed this external iteration limit.
2464 2019-04-18 Matthew Fortune <matthew.fortune@mips.com>
2466 * config/tc-mips.c (match_non_zero_reg_operand): Update
2468 * testsuite/gas/mips/r6-branch-constraints.l: Likewise.
2470 2019-04-18 Jozef Lawrynowicz <jozef.l@mittosystems.com>
2472 * config/tc-msp430.c (msp430_make_init_symbols): Define
2473 __crt0_run_{preinit,init,fini}_array symbols if
2474 .{preinit,init,fini}_array sections exist.
2475 * testsuite/gas/msp430/fini-array.d: New test.
2476 * testsuite/gas/msp430/init-array.d: New test.
2477 * testsuite/gas/msp430/preinit-array.d: New test.
2478 * testsuite/gas/msp430/fini-array.s: New test source.
2479 * testsuite/gas/msp430/init-array.s: New test source.
2480 * testsuite/gas/msp430/preinit-array.s: New test source.
2481 * testsuite/gas/msp430/msp430.exp: Add new tests to driver.
2483 2019-04-17 Jozef Lawrynowicz <jozef.l@mittosystems.com>
2485 * config/tc-msp430.c (msp430_make_init_symbols): Define __crt0_init_bss
2486 symbol when .lower.bss or .either.bss sections exist.
2487 Define __crt0_movedata when .lower.data or .either.data sections exist.
2488 * testsuite/gas/msp430/either-data-bss-sym.d: New test.
2489 * testsuite/gas/msp430/low-data-bss-sym.d: New test.
2490 * testsuite/gas/msp430/either-data-bss-sym.s: New test source.
2491 * testsuite/gas/msp430/low-data-bss-sym.s: New test source.
2492 * testsuite/gas/msp430/msp430.exp: Run new tests.
2493 Enable large code model when running -mdata-region={upper,either}
2496 2019-04-17 Jozef Lawrynowicz <jozef.l@mittosystems.com>
2498 * config/tc-msp430.c (options): New OPTION_UNKNOWN_INTR_NOPS,
2499 OPTION_NO_UNKNOWN_INTR_NOPS and do_unknown_interrupt_nops.
2500 (md_parse_option): Handle OPTION_UNKNOWN_INTR_NOPS and
2501 OPTION_NO_UNKNOWN_INTR_NOPS by setting do_unknown_interrupt_nops
2503 (md_show_usage): Likewise.
2504 (md_shortopts): Add "mu" for OPTION_UNKNOWN_INTR_NOPS and
2505 "mU" for OPTION_NO_UNKNOWN_INTR_NOPS.
2506 (md_longopts): Likewise.
2507 (warn_eint_nop): Update comment.
2508 (warn_unsure_interrupt): Don't warn if prev_insn_is_nop or
2509 prev_insn_is_dint or we are assembling for 430 ISA.
2510 (msp430_operands): Only call warn_unsure_interrupt if
2511 do_unknown_interrupt_nops == TRUE.
2512 * testsuite/gas/msp430/nop-unknown-intr.s: New test source file.
2513 * testsuite/gas/msp430/nop-unknown-intr-430.d: New test.
2514 * testsuite/gas/msp430/nop-unknown-intr-430x.d: New test.
2515 * testsuite/gas/msp430/nop-unknown-intr-430x-ignore.d: New test.
2516 * testsuite/gas/msp430/nop-unknown-intr-430.l: Warning output for new
2518 * testsuite/gas/msp430/nop-unknown-intr-430x.l: Likewise.
2519 * testsuite/gas/msp430/msp430.exp: Add new tests to driver.
2521 2019-04-16 Alan Modra <amodra@gmail.com>
2523 * testsuite/gas/all/weakref1.d: xfail nds32.
2525 2019-04-16 Alan Modra <amodra@gmail.com>
2527 * testsuite/gas/all/gas.exp: Remove ns32k xfails.
2528 * testsuite/gas/all/weakref1u.d: Don't run for ns32k-*-*.
2530 2019-04-16 Alan Modra <amodra@gmail.com>
2532 * write.h: Don't include bit_fix.h.
2533 (struct fix): Rearrange some fields. Delete fx_im_disp and
2534 fx_bit_fixP. Use bitfields for fx_size and fx_pcrel_adjust.
2535 * write.c (fix_new_internal): Don't init fx_im_disp and fx_bit_fixP.
2536 (fixup_segment): Don't exclude overflow checks on fx_bit_fixP.
2537 (print_fixup): Don't print im_disp.
2538 * config/tc-cris.c (md_apply_fix): Remove tests of fx_bit_fixP
2540 * config/tc-dlx.c (md_apply_fix): Remove wrong debug code. Set
2541 fx_no_overflow when fx_bit_fixP.
2542 * config/tc-dlx.h: Include bit_fix.h.
2543 (TC_FIX_TYPE, tc_fix_data, TC_INIT_FIX_DATA): Define.
2544 * config/tc-ns32k.c (fix_new_ns32k, fix_new_ns32k_exp): Set
2545 fx_no_overflow when bit_fixP.
2546 * config/tc-ns32k.h (TC_FIX_TYPE): Add fx_bit_fixP and fx_im_disp.
2547 (fix_im_disp, fix_bit_fixP): Adjust to suit.
2548 (TC_INIT_FIX_DATA, TC_FIX_DATA_PRINT): Likewise.
2550 2019-04-16 Alan Modra <amodra@gmail.com>
2552 * write.h (struct fix <fx_where>): Make unsigned.
2553 (fix_new, fix_at_start, fix_new_exp): Adjust prototypes.
2554 * write.c (fix_new, fix_new_exp, fix_at_start): Make "where" and
2555 "size" parameters unsigned long.
2556 (fix_new_internal): Likewise. Adjust error format string to suit.
2557 * config/tc-mips.c (md_convert_frag): Remove cast of fx_where.
2558 * config/tc-sparc.c (md_apply_fix): Likewise.
2559 * config/tc-score.c (s3_convert_frag): Adjust for unsigned fx_where.
2560 * config/tc-score7.c (s7_convert_frag): Likewise.
2562 2019-04-16 Alan Modra <amodra@gmail.com>
2564 * frags.h (struct frag <fr_fix>): Use unsigned type.
2565 * frags.c (frag_new): Assert that current size exceeds
2566 old_frags_var_max_size.
2567 * ehopt.c (get_cie_info): Adjust for unsigned fr_fix.
2568 * listing.c (calc_hex): Likewise.
2569 * write.c (cvt_frag_to_fill, write_relocs): Likewise.
2570 * config/tc-arc.c (md_convert_frag): Likewise.
2571 * config/tc-avr.c (avr_patch_gccisr_frag): Likewise.
2572 * config/tc-mips.c (md_convert_frag): Likewise.
2573 * config/tc-rl78.c (md_convert_frag): Likewise.
2574 * config/tc-rx.c (md_convert_frag): Likewise.
2575 * config/tc-sparc.c (md_apply_fix): Likewise.
2576 * config/tc-xtensa.c (next_instrs_are_b_retw): Likewise.
2577 (unrelaxed_frag_min_insn_count, unrelaxed_frag_has_b_j): Likewise.
2579 2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
2581 * config/tc-arm.c (parse_sys_vldr_vstr): New function.
2582 (OP_VLDR): New enum operand_parse_code enumerator.
2583 (parse_operands): Add logic for OP_VLDR.
2584 (do_t_vldr_vstr_sysreg): New function.
2585 (do_vldr_vstr): Likewise.
2586 (insns): Guard VLDR and VSTR by arm_ext_v4t for Thumb mode.
2587 (md_apply_fix): Add bound check for VLDR and VSTR co-processor offset.
2588 Add masking logic for BFD_RELOC_ARM_T32_VLDR_VSTR_OFF_IMM relocation.
2589 * testsuite/gas/arm/archv8m_1m-cmse-main-bad.s: Add examples of bad
2590 uses of VLDR and VSTR.
2591 * testsuite/gas/arm/archv8m_1m-cmse-main-bad.l: Add error messages for
2593 * testsuite/gas/arm/archv8m_1m-cmse-main.s: Add examples of VLDR and
2595 * testsuite/gas/arm/archv8m_1m-cmse-main.d: Add disassembly for the
2598 2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
2600 * config/tc-arm.c (arm_typed_reg_parse): Fix typo in comment.
2601 (enum reg_list_els): New REGLIST_VFP_S_VPR and REGLIST_VFP_D_VPR
2603 (parse_vfp_reg_list): Add new partial_match parameter. Set
2604 *partial_match to TRUE if at least one element in the register list has
2605 matched. Add support for REGLIST_VFP_S_VPR and REGLIST_VFP_D_VPR
2606 register lists which expect VPR as last element in the list.
2607 (s_arm_unwind_save_vfp_armv6): Adapt call to parse_vfp_reg_list to new
2609 (s_arm_unwind_save_vfp): Likewise.
2610 (enum operand_parse_code): New OP_VRSDVLST enumerator.
2611 (parse_operands): Adapt call to parse_vfp_reg_list to new prototype.
2612 Handle new OP_VRSDVLST case.
2613 (do_t_vscclrm): New function.
2614 (insns): New entry for VSCCLRM instruction.
2615 * testsuite/gas/arm/archv8m_1m-cmse-main-bad.s: Add invalid VSCCLRM
2617 * testsuite/gas/arm/archv8m_1m-cmse-main-bad.l: Add error expectations
2618 for above instructions.
2619 * testsuite/gas/arm/archv8m_1m-cmse-main.s: Add tests for VSCCLRM
2621 * testsuite/gas/arm/archv8m_1m-cmse-main.d: Add expected disassembly
2622 for above instructions.
2624 2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
2626 * config/tc-arm.c (enum reg_list_els): Define earlier and add
2627 REGLIST_RN and REGLIST_CLRM enumerators.
2628 (parse_reg_list): Add etype parameter to distinguish between regular
2629 core register list and CLRM register list. Add logic to
2630 recognize CLRM register list.
2631 (parse_vfp_reg_list): Assert type is not for core register list.
2632 (s_arm_unwind_save_core): Update call to parse_reg_list to new
2634 (enum operand_parse_code): Declare OP_CLRMLST enumerator.
2635 (parse_operands): Update call to parse_reg_list to new prototype. Add
2636 logic for OP_CLRMLST.
2637 (encode_thumb2_ldmstm): Rename into ...
2638 (encode_thumb2_multi): This. Add do_io parameter. Add logic to
2639 encode CLRM and guard LDM/STM only code by do_io.
2640 (do_t_ldmstm): Adapt to use encode_thumb2_multi.
2641 (do_t_push_pop): Likewise.
2642 (do_t_clrm): New function.
2643 (insns): Define CLRM.
2644 * testsuite/gas/arm/archv8m_1m-cmse-main-bad.d: New file.
2645 * testsuite/gas/arm/archv8m_1m-cmse-main-bad.l: Likewise.
2646 * testsuite/gas/arm/archv8m_1m-cmse-main-bad.s: Likewise.
2647 * testsuite/gas/arm/archv8m_1m-cmse-main.d: Likewise.
2648 * testsuite/gas/arm/archv8m_1m-cmse-main.s: Likewise.
2650 2019-04-15 Sudakshina Das <sudi.das@arm.com>
2651 Andre Vieira <andre.simoesdiasvieira@arm.com>
2653 * config/tc-arm.c (operand_parse_code): Add OP_LR and OP_oLR
2654 for the LR operand and optional LR operand.
2655 (parse_operands): Add switch cases for OP_LR and OP_oLR for
2656 both type checking and value checking.
2657 (encode_thumb32_addr_mode): New entries for DLS, WLS and LE.
2658 (v8_1_loop_reloc): New helper function for handling labels
2659 for the low overhead loop instructions.
2660 (do_t_loloop): New function to encode DLS, WLS and LE.
2661 (insns): New entries for WLS, DLS and LE.
2662 (md_pcrel_from_section): New switch case
2663 for BFD_RELOC_ARM_THUMB_LOOP12.
2664 (md_appdy_fix): Likewise.
2665 (tc_gen_reloc): Likewise.
2666 * testsuite/gas/arm/armv8_1-m-tloop.s: New.
2667 * testsuite/gas/arm/armv8_1-m-tloop.d: New.
2668 * testsuite/gas/arm/armv8_1-m-tloop-bad.s: New.
2669 * testsuite/gas/arm/armv8_1-m-tloop-bad.d: New.
2670 * testsuite/gas/arm/armv8_1-m-tloop-bad.l: New.
2672 2019-04-15 Sudakshina Das <sudi.das@arm.com>
2673 Andre Vieira <andre.simoesdiasvieira@arm.com>
2675 * config/tc-arm.c (T16_32_TAB): New entriy for bfcsel.
2676 (do_t_v8_1_branch): New switch case for bfcsel.
2678 (insns): New instruction for bfcsel.
2679 (md_pcrel_from_section): New switch case
2680 for BFD_RELOC_THUMB_PCREL_BFCSEL.
2681 (md_appdy_fix): Likewise
2682 (tc_gen_reloc): Likewise.
2683 * testsuite/gas/arm/armv8_1-m-bfcsel.d: New.
2684 * testsuite/gas/arm/armv8_1-m-bfcsel.s: New.
2686 2019-04-15 Sudakshina Das <sudi.das@arm.com>
2688 * config/tc-arm.c (md_pcrel_from_section): New switch case for
2689 BFD_RELOC_ARM_THUMB_BF13.
2690 (md_appdy_fix): Likewise.
2691 (tc_gen_reloc): Likewise.
2693 2019-04-15 Sudakshina Das <sudi.das@arm.com>
2694 Andre Vieira <andre.simoesdiasvieira@arm.com>
2696 * config/tc-arm.c (T16_32_TAB): New entrie for bfl.
2697 (do_t_v8_1_branch): New switch case for bfl.
2698 (insns): New instruction for bfl.
2699 * testsuite/gas/arm/armv8_1-m-bfl.d: New.
2700 * testsuite/gas/arm/armv8_1-m-bfl.s: New.
2701 * testsuite/gas/arm/armv8_1-m-bfl-bad.s: New.
2702 * testsuite/gas/arm/armv8_1-m-bfl-bad.d: New.
2703 * testsuite/gas/arm/armv8_1-m-bfl-bad.l: New.
2704 * testsuite/gas/arm/armv8_1-m-bfl-rel.d: New.
2705 * testsuite/gas/arm/armv8_1-m-bfl-rel.s: New.
2707 2019-04-15 Sudakshina Das <sudi.das@arm.com>
2709 * config/tc-arm.c (md_pcrel_from_section): New switch case for
2710 BFD_RELOC_ARM_THUMB_BF19.
2711 (md_appdy_fix): Likewise.
2712 (tc_gen_reloc): Likewise.
2714 2019-04-15 Sudakshina Das <sudi.das@arm.com>
2716 * config/tc-arm.c (T16_32_TAB): New entries for bfx and bflx.
2717 (do_t_v8_1_branch): New switch cases for bfx and bflx.
2718 (insns): New instruction for bfx and bflx.
2719 * testsuite/gas/arm/armv8_1-m-bf-exchange.d: New.
2720 * testsuite/gas/arm/armv8_1-m-bf-exchange.s: New.
2721 * testsuite/gas/arm/armv8_1-m-bf-exchange-bad.s: New
2722 * testsuite/gas/arm/armv8_1-m-bf-exchange-bad.l: New
2723 * testsuite/gas/arm/armv8_1-m-bf-exchange-bad.d: New
2725 2019-04-15 Sudakshina Das <sudi.das@arm.com>
2726 Andre Vieira <andre.simoesdiasvieira@arm.com>
2728 * config/tc-arm.c (T16_32_TAB): New entries for bf.
2729 (do_t_branch_future): New.
2730 (insns): New instruction for bf.
2731 * testsuite/gas/arm/armv8_1-m-bf.d: New.
2732 * testsuite/gas/arm/armv8_1-m-bf.s: New.
2733 * testsuite/gas/arm/armv8_1-m-bf-bad.s: New.
2734 * testsuite/gas/arm/armv8_1-m-bf-bad.l: New.
2735 * testsuite/gas/arm/armv8_1-m-bf-bad.d: New.
2736 * testsuite/gas/arm/armv8_1-m-bf-rel.d: New.
2737 * testsuite/gas/arm/armv8_1-m-bf-rel.s: New.
2739 2019-04-15 Sudakshina Das <sudi.das@arm.com>
2741 * config/tc-arm.c (md_pcrel_from_section): New switch case for
2742 BFD_RELOC_ARM_THUMB_BF17.
2743 (md_appdy_fix): Likewise.
2744 (tc_gen_reloc): Likewise.
2746 2019-04-15 Sudakshina Das <sudi.das@arm.com>
2748 * config/tc-arm.c (ARM_IT_MAX_RELOCS): New macro.
2749 (arm_it): Member reloc renamed relocs and updated to an array.
2750 Rest: Replace all occurrences of reloc to relocs[0].
2752 2019-04-15 Sudakshina Das <sudi.das@arm.com>
2754 * config/tc-arm.c (md_pcrel_from_section): New switch case
2755 for BFD_RELOC_THUMB_PCREL_BRANCH5.
2756 (v8_1_branch_value_check): New function to check branch
2758 (md_appdy_fix): New switch case for
2759 BFD_RELOC_THUMB_PCREL_BRANCH5.
2760 (tc_gen_reloc): Likewise.
2762 2019-04-15 Andre Vieira <andre.simoesdiasvieira@arm.com>
2764 * config/tc-arm.c (do_neon_movhf): Remove fp-armv8 check.
2765 (armv8_1m_main_ext_table): New extension table.
2766 (arm_archs): Use the new extension table.
2767 * doc/c-arm.texi: Add missing arch and document new extensions.
2768 * testsuite/gas/arm/armv8.1-m.main-fp.d: New.
2769 * testsuite/gas/arm/armv8.1-m.main-fp-dp.d: New.
2770 * testsuite/gas/arm/armv8.1-m.main-hp.d: New.
2772 2019-04-15 Thomas Preud'homme <thomas.preudhomme@arm.com>
2774 * config/tc-arm.c (cpu_arch_ver): Add entry for Armv8.1-M Mainline
2775 Tag_CPU_arch build attribute value. Reindent.
2776 (get_aeabi_cpu_arch_from_fset): Update assert.
2777 (aeabi_set_public_attributes): Update assert for Tag_DIV_use logic.
2778 * testsuite/gas/arm/attr-march-armv8_1-m.main.d: New test.
2780 2019-04-09 Matthew Fortune <matthew.fortune@mips.com>
2782 * config/tc-mips.c (mips_cpu_info_table): Add i6500. Update
2783 default ASEs for i6400.
2784 * doc/c-mips.texi (-march): Document i6500.
2785 * testsuite/gas/mips/elf_mach_i6400.d: New test.
2786 * testsuite/gas/mips/elf_mach_i6500.d: New test.
2787 * testsuite/gas/mips/mips.exp: Run the new tests.
2789 2019-04-09 Matthew Fortune <matthew.fortune@mips.com>
2791 * config/tc-mips.c (mips_set_options) <init_ase>: New field.
2792 (file_mips_opts, mips_opts) <init_ase>: Initialize new field.
2793 (file_mips_check_options): Propagate initial ASE settings.
2794 (mips_after_parse_args, parse_code_option): Track the initial
2795 ASE settings for a CPU.
2796 (s_mipsset): Restore the initial ASE settings when reverting
2797 to the default arch.
2798 * testsuite/gas/mips/elf_mach_p6600.d: New test.
2799 * testsuite/gas/mips/mips.exp: Run the new test.
2801 2019-04-12 John Darrington <john@darrington.wattle.id.au>
2803 config/tc-s12z.h: Remove definition of macro TC_M68K
2805 2019-04-01 John Darrington <john@darrington.wattle.id.au>
2807 config/tc-s12z.c: Use bfd_boolean where appropriate.
2809 2019-04-11 Max Filippov <jcmvbkbc@gmail.com>
2811 * testsuite/gas/xtensa/loop-relax-2.d: New test definition.
2812 * testsuite/gas/xtensa/loop-relax.d: New test definition.
2813 * testsuite/gas/xtensa/loop-relax.s: New test source.
2814 * testsuite/gas/xtensa/text-section-literals-1a.d: New test
2816 * testsuite/gas/xtensa/text-section-literals-2.d: New test
2818 * testsuite/gas/xtensa/text-section-literals-2.s: New test
2820 * testsuite/gas/xtensa/text-section-literals-2a.d: New test
2822 * testsuite/gas/xtensa/text-section-literals-3.d: New test
2824 * testsuite/gas/xtensa/text-section-literals-3.s: New test
2826 * testsuite/gas/xtensa/text-section-literals-4.d: New test
2828 * testsuite/gas/xtensa/text-section-literals-4.s: New test
2830 * testsuite/gas/xtensa/text-section-literals-4a.d: New test
2833 2019-04-11 Max Filippov <jcmvbkbc@gmail.com>
2835 * testsuite/gas/xtensa/all.exp: Remove all expect-based
2836 tests and all explicit run_dump_test / run_list_test
2837 invocations. Add run_dump_tests for all .d files in the
2839 * testsuite/gas/xtensa/entry_align.d: New test definition.
2840 * testsuite/gas/xtensa/entry_align.l: New test output.
2841 * testsuite/gas/xtensa/entry_misalign.d: New test definition.
2842 * testsuite/gas/xtensa/entry_misalign2.d: New test definition.
2843 * testsuite/gas/xtensa/j_too_far.d: New test definition.
2844 * testsuite/gas/xtensa/j_too_far.l: New test output.
2845 * testsuite/gas/xtensa/loop_align.d: New test definition.
2846 * testsuite/gas/xtensa/loop_misalign.d: New test definition.
2847 * testsuite/gas/xtensa/trampoline-2.d: New test definition.
2848 * testsuite/gas/xtensa/trampoline-2.l: Remove empty output.
2849 * testsuite/gas/xtensa/xtensa-err.exp: Use positive logic.
2851 2019-04-11 Max Filippov <jcmvbkbc@gmail.com>
2853 * config/tc-xtensa.c (xtensa_literal_pseudo): Drop code that has
2855 (get_literal_pool_location): Only search for the literal pool
2856 when auto litpools is used, otherwise take one recorded in the
2857 tc_segment_info_data.
2858 (xtensa_assign_litpool_addresses): New function.
2859 (xtensa_move_literals): Don't duplicate 'literal pool location
2860 required...' error message. Call xtensa_assign_litpool_addresses.
2862 2019-04-11 Max Filippov <jcmvbkbc@gmail.com>
2864 * config/tc-xtensa.c (xtensa_is_init_fini): Add declaration.
2865 (xtensa_mark_literal_pool_location): Don't add fill frag to literal
2866 section that records literal pool location.
2867 (md_begin): Call xtensa_mark_literal_pool_location when text
2868 section literals or auto litpools are used.
2869 (xtensa_elf_section_change_hook): Call
2870 xtensa_mark_literal_pool_location when text section literals or
2871 auto litpools are used, there's no literal pool location defined
2872 for the current section and it's not .init or .fini.
2873 * testsuite/gas/xtensa/auto-litpools-first1.d: Fix up addresses.
2874 * testsuite/gas/xtensa/auto-litpools-first2.d: Likewise.
2875 * testsuite/gas/xtensa/auto-litpools.d: Likewise.
2877 2019-04-11 Sudakshina Das <sudi.das@arm.com>
2879 * config/tc-aarch64.c (process_omitted_operand): Add case for
2881 (parse_operands): Likewise.
2882 * testsuite/gas/aarch64/armv8_5-a-memtag.d: Update tests.
2883 * testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise.
2884 * testsuite/gas/aarch64/illegal-memtag.l: Likewise.
2885 * testsuite/gas/aarch64/illegal-memtag.s: Likewise.
2887 2019-04-11 Sudakshina Das <sudi.das@arm.com>
2889 * testsuite/gas/aarch64/armv8_5-a-memtag.d: New tests for ldgm and stgm.
2890 * testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise.
2891 * testsuite/gas/aarch64/illegal-memtag.l: Likewise.
2892 * testsuite/gas/aarch64/illegal-memtag.s: Likewise.
2894 2019-04-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2896 * config/tc-i386.c (need_plt32_p) [TE_SOLARIS]: Return FALSE.
2897 * testsuite/gas/i386/solaris/solaris.exp: New driver.
2898 * testsuite/gas/i386/solaris/reloc64.d,
2899 testsuite/gas/i386/solaris/x86-64-jump.d,
2900 testsuite/gas/i386/solaris/x86-64-mpx-branch-1.d,
2901 testsuite/gas/i386/solaris/x86-64-mpx-branch-2.d,
2902 testsuite/gas/i386/solaris/x86-64-nop-3.d,
2903 testsuite/gas/i386/solaris/x86-64-nop-4.d,
2904 testsuite/gas/i386/solaris/x86-64-nop-5.d,
2905 testsuite/gas/i386/solaris/x86-64-relax-2.d,
2906 testsuite/gas/i386/solaris/x86-64-relax-3.d: New tests.
2907 * testsuite/gas/i386/reloc64.d,
2908 testsuite/gas/i386/x86-64-jump.d,
2909 testsuite/gas/i386/x86-64-mpx-branch-1.d,
2910 testsuite/gas/i386/x86-64-mpx-branch-2.d,
2911 testsuite/gas/i386/x86-64-nop-3.d,
2912 testsuite/gas/i386/x86-64-nop-4.d,
2913 testsuite/gas/i386/x86-64-nop-5.d,
2914 testsuite/gas/i386/x86-64-relax-2.d,
2915 testsuite/gas/i386/x86-64-relax-3.d: Skip on *-*-solaris*.
2917 2019-04-10 Alan Modra <amodra@gmail.com>
2919 * config/te-cloudabi.h: New file.
2920 * config/tc-aarch64.c (aarch64_after_parse_args): Use TE_CLOUDABI
2921 rather than TARGET_OS to select cloudabi.
2922 * config/tc-i386.h (ELF_TARGET_FORMAT64): Define for TE_CLOUDABI.
2923 * configure.tgt (*-*-cloudabi*): Set em=cloudabi.
2925 2019-04-09 Robert Suchanek <robert.suchanek@mips.com>
2927 * testsuite/gas/mips/mips.exp: Run hwr-names test.
2928 * testsuite/gas/mips/hwr-names.s: Add test cases for RDHWR with
2930 * testsuite/gas/mips/mipsr6@hwr-names.d: New file.
2932 2019-04-08 H.J. Lu <hongjiu.lu@intel.com>
2934 * config/tc-i386.c (output_insn): Support
2935 GNU_PROPERTY_X86_ISA_1_AVX512_BF16.
2936 * testsuite/gas/i386/property-2.s: Add AVX512_BF16 test.
2937 * testsuite/gas/i386/property-2.d: Updated.
2938 * testsuite/gas/i386/x86-64-property-2.d: Likewise.
2940 2019-04-08 H.J. Lu <hongjiu.lu@intel.com>
2942 * configure.tgt: Remove i386-*-kaos* and i386-*-chaos targets.
2943 * testsuite/gas/i386/i386.exp: Remove *-*-caos* and "*-*-kaos*
2946 2019-04-05 H.J. Lu <hongjiu.lu@intel.com>
2948 * testsuite/gas/i386/i386.exp: Run -mx86-used-note=yes tests.
2949 * testsuite/gas/i386/property-2.d: New file.
2950 * testsuite/gas/i386/property-2.s: Likewise.
2951 * testsuite/gas/i386/x86-64-property-2.d: Likewise.
2953 2019-04-05 Xuepeng Guo <xuepeng.guo@intel.com>
2955 * config/tc-i386.c (cpu_arch): Add .avx512_bf16.
2956 (cpu_noarch): Add noavx512_bf16.
2957 * doc/c-i386.texi: Document avx512_bf16.
2958 * testsuite/gas/i386/avx512_bf16.d: New file.
2959 * testsuite/gas/i386/avx512_bf16.s: Likewise.
2960 * testsuite/gas/i386/avx512_bf16_vl-inval.l: Likewise.
2961 * testsuite/gas/i386/avx512_bf16_vl-inval.s: Likewise.
2962 * testsuite/gas/i386/avx512_bf16_vl.d: Likewise.
2963 * testsuite/gas/i386/avx512_bf16_vl.s: Likewise.
2964 * testsuite/gas/i386/x86-64-avx512_bf16.d: Likewise.
2965 * testsuite/gas/i386/x86-64-avx512_bf16.s: Likewise.
2966 * testsuite/gas/i386/x86-64-avx512_bf16_vl-inval.l: Likesie.
2967 * testsuite/gas/i386/x86-64-avx512_bf16_vl-inval.s: Likewise.
2968 * testsuite/gas/i386/x86-64-avx512_bf16_vl.d: Likewise.
2969 * testsuite/gas/i386/x86-64-avx512_bf16_vl.s: Likewise.
2970 * testsuite/gas/i386/i386.exp: Add BF16 related tests.
2972 2019-04-05 Alan Modra <amodra@gmail.com>
2974 * testsuite/gas/ppc/bc.s,
2975 * testsuite/gas/ppc/bcat.d,
2976 * testsuite/gas/ppc/bcaterr.d,
2977 * testsuite/gas/ppc/bcaterr.l,
2978 * testsuite/gas/ppc/bcy.d,
2979 * testsuite/gas/ppc/bcyerr.d,
2980 * testsuite/gas/ppc/bcyerr.l: New tests.
2981 * testsuite/gas/ppc/ppc.exp: Run them.
2983 2019-04-05 Alan Modra <amodra@gmail.com>
2985 * testsuite/gas/ppc/476.d: Remove trailing spaces.
2986 * testsuite/gas/ppc/a2.d: Likewise.
2987 * testsuite/gas/ppc/booke.d: Likewise.
2988 * testsuite/gas/ppc/booke_xcoff.d: Likewise.
2989 * testsuite/gas/ppc/e500.d: Likewise.
2990 * testsuite/gas/ppc/e500mc.d: Likewise.
2991 * testsuite/gas/ppc/e6500.d: Likewise.
2992 * testsuite/gas/ppc/htm.d: Likewise.
2993 * testsuite/gas/ppc/power6.d: Likewise.
2994 * testsuite/gas/ppc/power8.d: Likewise.
2995 * testsuite/gas/ppc/power9.d: Likewise.
2996 * testsuite/gas/ppc/vle.d: Likewise.
2998 2019-04-04 Peter Bergner <bergner@linux.ibm.com>
3001 * testsuite/gas/ppc/power8.s: (bdnztar, bdnztarl, bdztar, bdztarl,
3002 btar, btarl, bdnztar-, bdnztarl-, bdnztar+, bdnztarl+, bdztar-,
3003 bdztarl-, bdztar+, bdztarl+, bgetar, bnltar, bgetarl, bnltarl,
3004 bletar, bngtar, bletarl, bngtarl, bnetar, bnetarl, bnstar, bnutar,
3005 bnstarl, bnutarl, bgetar-, bnltar-, bgetarl-, bnltarl-, bletar-,
3006 bngtar-, bletarl-, bngtarl-, bnetar-, bnetarl-, bnstar-, bnutar-,
3007 bnstarl-, bnutarl-, bgetar+, bnltar+, bgetarl+, bnltarl+, bletar+,
3008 bngtar+, bletarl+, bngtarl+, bnetar+, bnetarl+, bnstar+, bnutar+,
3009 bnstarl+, bnutarl+, blttar, blttarl, bgttar, bgttarl, beqtar,
3010 beqtarl, bsotar, buntar, bsotarl, buntarl, blttar-, blttarl-,
3011 bgttar-, bgttarl-, beqtar-, beqtarl-, bsotar-, buntar-, bsotarl-,
3012 buntarl-, blttar+, blttarl+, bgttar+, bgttarl+, beqtar+, beqtarl+,
3013 bsotar+, buntar+, bsotarl+, buntarl+, bdnzftar, bdnzftarl, bdzftar,
3014 bdzftarl, bftar, bftarl, bftar-, bftarl-, bftar+, bftarl+, bdnzttar,
3015 bdnzttarl, bdzttar, bdzttarl, bttar, bttarl, bttar-, bttarl-, bttar+,
3016 bttarl+): Add tests of extended mnemonics.
3017 * testsuite/gas/ppc/power8.d: Likewise. Update previous bctar tests
3018 to expect new extended mnemonics.
3019 * testsuite/gas/ppc/a2.s: <bc, bc-, bc+, bcl, bcl-, bcl+>: Update test
3020 to not use illegal BO value. Use a more convenient BI value.
3021 * testsuite/gas/ppc/a2.d: Update tests for new expect output.
3023 2019-04-03 Max Filippov <jcmvbkbc@gmail.com>
3025 * config/tc-xtensa.c (convert_frag_immed): Drop
3026 convert_frag_immed_finish_loop invocation.
3027 (convert_frag_immed_finish_loop): Drop declaration and
3029 * config/xtensa-relax.c (widen_spec_list): Replace loop
3030 widening that uses addi/addmi with widening that uses l32r
3033 2019-04-01 Andre Vieira <andre.simoesdiasvieira@arm.com>
3035 * config/tc-arm.c (arm_ext_table): New struct type.
3036 (arm_arch_option_table): Add new 'arm_ext_table' field.
3037 (ARM_EXT,ARM_ADD,ARM_REMOVE, ALL_FP): New macros.
3038 (armv5te_ext_table, armv7ve_ext_table, armv7a_ext_table,
3039 armv7r_ext_table, armv7em_ext_table, armv8a_ext_table,
3040 armv81a_ext_table, armv82a_ext_table, armv84a_ext_table,
3041 armv85a_ext_table, armv8m_main_ext_table,
3042 armv8r_ext_table): New architecture extension tables.
3043 (ARM_ARCH_OPT): Add new default field.
3044 (ARM_ARCH_OPT2): New macro.
3045 (arm_archs): Extend some architectures with the new architecture
3046 extension tables mentioned above.
3047 (arm_extensions): Add DEPRECATED comment with instructions to
3049 (arm_parse_extension): Change to use new extension tables.
3050 (arm_parse_cpu): Don't change existing behavior.
3051 (arm_parse_arch): Change to use new extension tables.
3052 * doc/c-arm.texi: Document new architecture extensions.
3053 * testsuite/gas/arm/attr-mfpu-neon-fp16.d: Change test to use new
3054 extension option rather than -mfpu and change expected behaviour to
3056 * testsuite/gas/arm/armv8-2-fp16-scalar-bad-ext.d: New.
3057 * testsuite/gas/arm/armv8-2-fp16-scalar-ext.d: New.
3058 * testsuite/gas/arm/armv8-2-fp16-scalar-thumb-ext.d: New.
3059 * testsuite/gas/arm/armv8-2-fp16-simd-ext.d: New.
3060 * testsuite/gas/arm/armv8-2-fp16-simd-thumb-ext.d: New.
3061 * testsuite/gas/arm/armv8-2-fp16-simd-warning-ext.d: New.
3062 * testsuite/gas/arm/armv8-2-fp16-simd-warning-thumb-ext.d: New.
3063 * testsuite/gas/arm/armv8_2+rdma-ext.d: New.
3064 * testsuite/gas/arm/armv8_2-a-fp16-thumb2-ext.d: New.
3065 * testsuite/gas/arm/armv8_2-a-fp16_ext.d: New.
3066 * testsuite/gas/arm/armv8_3-a-fp-bad-ext.d: New.
3067 * testsuite/gas/arm/armv8_3-a-fp-ext.d: New.
3068 * testsuite/gas/arm/armv8_3-a-fp16-ext.d: New.
3069 * testsuite/gas/arm/armv8_3-a-simd-bad-ext.d: New.
3070 * testsuite/gas/arm/armv8_4-a-fp16-ext.d: New.
3071 * testsuite/gas/arm/armv8m.main+fp.d: New.
3072 * testsuite/gas/arm/armv8m.main+fp.dp.d: New.
3073 * testsuite/gas/arm/attr-ext-fpv5-d16.d: New.
3074 * testsuite/gas/arm/attr-ext-fpv5.d: New.
3075 * testsuite/gas/arm/attr-ext-idiv.d: New.
3076 * testsuite/gas/arm/attr-ext-mp.d: New.
3077 * testsuite/gas/arm/attr-ext-neon-fp16.d: New.
3078 * testsuite/gas/arm/attr-ext-neon-vfpv3.d: New.
3079 * testsuite/gas/arm/attr-ext-neon-vfpv4.d: New.
3080 * testsuite/gas/arm/attr-ext-sec.d: New.
3081 * testsuite/gas/arm/attr-ext-vfpv3-d16-fp16.d: New.
3082 * testsuite/gas/arm/attr-ext-vfpv3-d16.d: New.
3083 * testsuite/gas/arm/attr-ext-vfpv3-fp16.d: New.
3084 * testsuite/gas/arm/attr-ext-vfpv3.d: New.
3085 * testsuite/gas/arm/attr-ext-vfpv3xd-fp.d: New.
3086 * testsuite/gas/arm/attr-ext-vfpv3xd.d: New.
3087 * testsuite/gas/arm/attr-ext-vfpv4-d16.d: New.
3088 * testsuite/gas/arm/attr-ext-vfpv4-sp-d16.d: New.
3089 * testsuite/gas/arm/attr-ext-vfpv4.d: New.
3090 * testsuite/gas/arm/dotprod-mandatory-ext.d: New.
3091 * testsuite/gas/arm/fpv5-d16.s: New.
3092 * testsuite/gas/arm/fpv5-sp-d16.s: New.
3094 2019-03-28 Alan Modra <amodra@gmail.com>
3097 * testsuite/gas/ppc/476.d: Update mtfsb*.
3098 * testsuite/gas/ppc/a2.d: Likewise.
3100 2019-03-21 Alan Modra <amodra@gmail.com>
3102 * emul.h (struct emulation): Delete strip_underscore.
3103 * emul-target.h (emul_strip_underscore): Don't define.
3104 (emul_struct_name): Update initialization.
3106 2019-03-21 Alan Modra <amodra@gmail.com>
3108 * config/tc-d10v.c (md_apply_fix): Apply BFD_RELOC_8.
3109 * config/tc-pdp11.c (md_apply_fix): Likewise.
3110 * config/tc-d30v.c (md_apply_fix): Don't emit errors for BFD_RELOC_8,
3111 BFD_RELOC_16, and BFD_RELOC_64.
3112 * testsuite/gas/all/gas.exp: Move target exclusions for forward
3113 test, but not cr16, to..
3114 * testsuite/gas/all/forward.d: ..here, with explanation. Remove
3115 d10v, d30v, and pdp11 xfails.
3117 2019-03-19 H.J. Lu <hongjiu.lu@intel.com>
3119 * config/tc-i386.c (optimize_encoding): Don't check AVX for
3120 EVEX vector load/store optimization. Check both operands for
3121 ZMM register. Update EVEX vector load/store opcode check.
3122 Choose EVEX Disp8 over VEX Disp32.
3123 * testsuite/gas/i386/optimize-1.d: Updated.
3124 * testsuite/gas/i386/optimize-1a.d: Likewise.
3125 * testsuite/gas/i386/optimize-2.d: Likewise.
3126 * testsuite/gas/i386/optimize-4.d: Likewise.
3127 * testsuite/gas/i386/optimize-5.d: Likewise.
3128 * testsuite/gas/i386/x86-64-optimize-2.d: Likewise.
3129 * testsuite/gas/i386/x86-64-optimize-2a.d: Likewise.
3130 * testsuite/gas/i386/x86-64-optimize-2b.d: Likewise.
3131 * testsuite/gas/i386/x86-64-optimize-3.d: Likewise.
3132 * testsuite/gas/i386/x86-64-optimize-5.d: Likewise.
3133 * testsuite/gas/i386/x86-64-optimize-6.d: Likewise.
3134 * testsuite/gas/i386/optimize-1.s: Add ZMM register load
3136 * testsuite/gas/i386/x86-64-optimize-2.s: Likewise.
3138 2019-03-19 H.J. Lu <hongjiu.lu@intel.com>
3141 * config/tc-i386.c (optimize_encoding): Check only
3142 cpu_arch_flags.bitfield.cpuavx512vl.
3143 * testsuite/gas/i386/i386.exp: Run x86-64-optimize-2b.
3144 * testsuite/gas/i386/x86-64-optimize-2.d: Revert the last
3146 * testsuite/gas/i386/x86-64-optimize-2b.d: New file.
3147 * testsuite/gas/i386/x86-64-optimize-2b.s: Likewise.
3149 2019-03-19 H.J. Lu <hongjiu.lu@intel.com>
3152 * testsuite/gas/i386/i386.exp: Change optimize-6a, optimize-7,
3153 x86-64-optimize-7a and x86-64-optimize-8 tests to run_list_test.
3154 Remove optimize-6c and x86-64-optimize-7c tests.
3155 * testsuite/gas/i386/noavx-3.l: Updated.
3156 * testsuite/gas/i386/noavx-4.d: Likewise.
3157 * testsuite/gas/i386/noavx-5.d: Likewise.
3158 * testsuite/gas/i386/noavx-3.s: Add AVX512F tests.
3159 * testsuite/gas/i386/noavx-4.s: Remove AVX512F tests.
3160 * testsuite/gas/i386/nosse-5.s: Likewise.
3161 * testsuite/gas/i386/optimize-6a.d: Removed.
3162 * testsuite/gas/i386/optimize-6c.d: Likewise.
3163 * testsuite/gas/i386/optimize-7.d: Likewise.
3164 * testsuite/gas/i386/x86-64-optimize-7a.d: Likewise.
3165 * testsuite/gas/i386/x86-64-optimize-7c.d: Likewise.
3166 * testsuite/gas/i386/x86-64-optimize-8.d: Likewise.
3167 * testsuite/gas/i386/optimize-6a.l: New file.
3168 * testsuite/gas/i386/optimize-6a.s: Likewise.
3169 * testsuite/gas/i386/optimize-7.l: Likewise.
3170 * testsuite/gas/i386/x86-64-optimize-7a.l: Likewise.
3171 * testsuite/gas/i386/x86-64-optimize-7a.s: Likewise.
3172 * testsuite/gas/i386/x86-64-optimize-8.l: Likewise.
3174 2019-03-18 Alan Modra <amodra@gmail.com>
3176 * config/m68k-parse.y (yylex): Use temp_ilp and restore_ilp.
3177 * as.c (macro_expr): Likewise.
3178 * macro.c (buffer_and_nest): Likewise.
3179 * read.c (temp_ilp): Remove FIXME.
3181 2019-03-18 H.J. Lu <hongjiu.lu@intel.com>
3183 * testsuite/gas/i386/att-regs.d: Pass -O0 to assembler.
3184 * testsuite/gas/i386/avx512bw-intel.d: Likewise.
3185 * testsuite/gas/i386/avx512bw.d: Likewise.
3186 * testsuite/gas/i386/avx512f-intel.d: Likewise.
3187 * testsuite/gas/i386/avx512f.d: Likewise.
3188 * testsuite/gas/i386/disp32.d: Likewise.
3189 * testsuite/gas/i386/intel-regs.d: Likewise.
3190 * testsuite/gas/i386/pseudos.d: Likewise.
3191 * testsuite/gas/i386/x86-64-disp32.d: Likewise.
3192 * testsuite/gas/i386/x86-64-pseudos.d: Likewise.
3194 2019-03-18 H.J. Lu <hongjiu.lu@intel.com>
3197 * config/tc-i386.c (optimize_encoding): Encode 128-bit and
3198 256-bit EVEX vector register load/store instructions as VEX
3199 vector register load/store instructions for -O1.
3200 * doc/c-i386.texi: Update -O1 documentation.
3201 * testsuite/gas/i386/i386.exp: Run PR gas/24348 tests.
3202 * testsuite/gas/i386/optimize-1.s: Add tests for EVEX vector
3203 load/store instructions.
3204 * testsuite/gas/i386/optimize-2.s: Likewise.
3205 * testsuite/gas/i386/optimize-3.s: Likewise.
3206 * testsuite/gas/i386/optimize-5.s: Likewise.
3207 * testsuite/gas/i386/x86-64-optimize-2.s: Likewise.
3208 * testsuite/gas/i386/x86-64-optimize-3.s: Likewise.
3209 * testsuite/gas/i386/x86-64-optimize-4.s: Likewise.
3210 * testsuite/gas/i386/x86-64-optimize-5.s: Likewise.
3211 * testsuite/gas/i386/x86-64-optimize-6.s: Likewise.
3212 * testsuite/gas/i386/optimize-1.d: Updated.
3213 * testsuite/gas/i386/optimize-2.d: Likewise.
3214 * testsuite/gas/i386/optimize-3.d: Likewise.
3215 * testsuite/gas/i386/optimize-4.d: Likewise.
3216 * testsuite/gas/i386/optimize-5.d: Likewise.
3217 * testsuite/gas/i386/x86-64-optimize-2.d: Likewise.
3218 * testsuite/gas/i386/x86-64-optimize-3.d: Likewise.
3219 * testsuite/gas/i386/x86-64-optimize-4.d: Likewise.
3220 * testsuite/gas/i386/x86-64-optimize-5.d: Likewise.
3221 * testsuite/gas/i386/x86-64-optimize-6.d: Likewise.
3222 * testsuite/gas/i386/optimize-7.d: New file.
3223 * testsuite/gas/i386/optimize-7.s: Likewise.
3224 * testsuite/gas/i386/x86-64-optimize-8.d: Likewise.
3225 * testsuite/gas/i386/x86-64-optimize-8.s: Likewise.
3227 2019-03-18 H.J. Lu <hongjiu.lu@intel.com>
3229 * config/tc-i386.c (optimize_encoding): Encode 256-bit/512-bit
3230 VEX/EVEX vector register clearing instructions with 128-bit VEX
3231 vector register clearing instructions at -O1.
3232 * doc/c-i386.texi: Update -O1 and -O2 documentation.
3233 * testsuite/gas/i386/i386.exp: Run optimize-1a and
3235 * testsuite/gas/i386/optimize-1a.d: New file.
3236 * testsuite/gas/i386/x86-64-optimize-2a.d: Likewise.
3238 2019-03-17 H.J. Lu <hongjiu.lu@intel.com>
3241 * config/tc-i386.c: Include <limits.h> if it exists and try
3242 including <sys/param.h> if we have it.
3243 (INT_MAX): Define if not defined.
3244 (md_parse_option): Set optimize to INT_MAX for -Os.
3245 * testsuite/gas/i386/optimize-2.s: Add a test.
3246 * testsuite/gas/i386/x86-64-optimize-3.s: Likewise.
3247 * testsuite/gas/i386/optimize-2.d: Updated.
3248 * testsuite/gas/i386/x86-64-optimize-3.d: Likewise.
3250 2019-03-17 H.J. Lu <hongjiu.lu@intel.com>
3253 * config/tc-i386.c (optimize_encoding): Encode 512-bit EVEX
3254 with 128-bit VEX encoding only when AVX is enabled and with
3255 128-bit EVEX encoding only when AVX512VL is enabled.
3256 * testsuite/gas/i386/i386.exp: Run PR gas/24352 tests.
3257 * testsuite/gas/i386/optimize-6.s: New file.
3258 * testsuite/gas/i386/optimize-6a.d: Likewise.
3259 * testsuite/gas/i386/optimize-6b.d: Likewise.
3260 * testsuite/gas/i386/optimize-6c.d: Likewise.
3261 * testsuite/gas/i386/x86-64-optimize-7.s: Likewise.
3262 * testsuite/gas/i386/x86-64-optimize-7a.d: Likewise.
3263 * testsuite/gas/i386/x86-64-optimize-7b.d: Likewise.
3264 * testsuite/gas/i386/x86-64-optimize-7c.d: Likewise.
3265 * testsuite/gas/i386/x86-64-optimize-2.d: Updated.
3267 2019-03-15 Li Hao <li.hao296@zte.com.cn>
3270 * config/tc-i386.c (parse_insn): Check mnemp before using it to
3271 determine if a suffix can be trimmed.
3273 2019-03-13 Christian Eggers <ceggers@gmx.de>
3275 * dwarf2dbg.c (out_set_addr): Align relocation within .debug_line.
3277 2019-03-13 Christian Eggers <ceggers@gmx.de>
3279 * dwarf2dbg.c (out_debug_line): Pad size of .debug_line section.
3281 2019-03-13 Christian Eggers <ceggers@gmx.de>
3283 * dwarf2dbg.c (out_debug_str): Use octets for .debug_string pointers.
3285 2019-03-13 Christian Eggers <ceggers@gmx.de>
3287 * dwarf2dbg.c (out_debug_line): Use octets for .debug_line prologue.
3289 2019-03-13 Christian Eggers <ceggers@gmx.de>
3291 * dwarf2dbg.c (out_debug_line): Use octets for dwarf2 headers.
3292 (out_debug_aranges, out_debug_info): Likewise.
3294 2019-03-13 Christian Eggers <ceggers@gmx.de>
3296 * symbols.h (symbol_temp_new_now_octets): Declare.
3297 (symbol_set_value_now_octets, symbol_octets_p): Declare.
3298 * symbols.c (struct symbol_flags): New member sy_octets.
3299 (symbol_temp_new_now_octets): New function.
3300 (resolve_symbol_value): Return octets instead of bytes if
3302 (symbol_set_value_now_octets): New function.
3303 (symbol_octets_p): New function.
3305 2019-03-13 Christian Eggers <ceggers@gmx.de>
3307 * dwarf2dbg.c (dwarf2_emit_insn): Fix calculation of line info offset.
3309 2019-03-12 Andreas Krebbel <krebbel@linux.ibm.com>
3311 * testsuite/gas/s390/zarch-arch13.s: Adjust testcase to optable changes.
3312 * testsuite/gas/s390/zarch-arch13.d: Likewise.
3314 2019-02-27 Matthew Malcomson <matthew.malcomson@arm.com>
3316 * testsuite/gas/aarch64/dotproduct.d: Use multiple "as" lines.
3317 * testsuite/gas/aarch64/dotproduct_armv8_4.d: Remove.
3318 * testsuite/gas/aarch64/dotproduct_armv8_4.s: Remove.
3319 * testsuite/gas/aarch64/illegal-dotproduct.d: Use multiple "as"
3321 * testsuite/gas/aarch64/ldst-rcpc-armv8_2.d: Remove.
3322 * testsuite/gas/aarch64/ldst-rcpc.d: Use multiple "as" lines.
3324 2019-02-24 Alan Modra <amodra@gmail.com>
3326 * config/tc-ppc.c (parse_tls_arg): Wrap in #ifdef OBJ_ELF.
3328 2019-02-24 Alan Modra <amodra@gmail.com>
3331 * config/obj-aout.c (obj_aout_frob_file_before_fix): Write to end
3332 of section to ensure file contents cover aligned section size.
3334 2019-02-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3336 * config/tc-arm.c (arm_cpus): Add neoverse-n1.
3337 * doc/c-arm.texi (-mcpu): Document neoverse-n1 value.
3339 2019-02-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3341 * config/tc-aarch64.c (aarch64_cpus): Add neoverse-e1.
3342 * doc/c-aarch64.texi (-mcpu): Document neoverse-e1 value.
3344 2019-02-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3346 * config/tc-aarch64.c (aarch64_cpus): Add neoverse-n1.
3347 * doc/c-aarch64.texi (-mcpu): Document neoverse-n1 value.
3349 2019-02-19 Paul Hua <paul.hua.gm@gmail.com>
3351 * NEWS: Mention -m[no-]fix-loongson3-llsc.
3352 * configure.ac: Add --enable-mips-fix-loongson3-llsc.
3353 Define DEFAULT_MIPS_FIX_LOONGSON3_LLSC.
3354 * config.in: Regenerated.
3355 * configure: Likewise.
3356 * config/tc-mips.c (sync_insn, mips_fix_loongson3_llsc):
3358 (options): New OPTION_FIX_LOONGSON3_LLSC,
3359 OPTION_NO_FIX_LOONGSON3_LLSC.
3360 (md_longopts): Add -m[no-]fix-loongson3-llsc.
3361 (md_begin): Initialize sync insn.
3362 (fix_loongson3_llsc): New.
3363 (append_insn): Call fix_loongson3_llsc.
3364 (md_parse_option): Handle OPTION_FIX_LOONGSON3_LLSC,
3365 OPTION_NO_FIX_LOONGSON3_LLSC.
3366 (md_show_usage): Display -m[no-]fix-loongson3-llsc.
3367 * doc/c-mips.texi: Document -m[no-]fix-loongson3-llsc,
3368 --enable-mips-fix-loongson3-llsc=[yes|no].
3370 2019-02-10 H.J. Lu <hongjiu.lu@intel.com>
3373 * frags.c (frag_var_init): Pass max_chars to TC_FRAG_INIT as
3375 * config/tc-aarch64.h (TC_FRAG_INIT): Add and pass max_bytes to
3377 * /config/tc-arm.h (TC_FRAG_INIT): And and pass max_bytes to
3379 * config/tc-avr.h (TC_FRAG_INIT): And and ignore max_bytes.
3380 * config/tc-ia64.h (TC_FRAG_INIT): Likewise.
3381 * config/tc-mmix.h (TC_FRAG_INIT): Likewise.
3382 * config/tc-nds32.h (TC_FRAG_INIT): Likewise.
3383 * config/tc-ns32k.h (TC_FRAG_INIT): Likewise.
3384 * config/tc-rl78.h (TC_FRAG_INIT): Likewise.
3385 * config/tc-rx.h (TC_FRAG_INIT): Likewise.
3386 * config/tc-score.h (TC_FRAG_INIT): Likewise.
3387 * config/tc-tic54x.h (TC_FRAG_INIT): Likewise.
3388 * config/tc-tic6x.h (TC_FRAG_INIT): Likewise.
3389 * config/tc-xtensa.h (TC_FRAG_INIT): Likewise.
3390 * config/tc-i386.h (MAX_MEM_FOR_RS_ALIGN_CODE): Set to
3391 (alignment ? ((1 << alignment) - 1) : 1)
3392 (i386_tc_frag_data): Add max_bytes.
3393 (TC_FRAG_INIT): Add and track max_bytes.
3394 (HANDLE_ALIGN): Replace MAX_MEM_FOR_RS_ALIGN_CODE with
3395 fragP->tc_frag_data.max_bytes.
3396 * doc/internals.texi: Update TC_FRAG_TYPE with max_bytes.
3398 2019-02-08 Jim Wilson <jimw@sifive.com>
3400 * config/tc-riscv.c (validate_riscv_insn) <'C'>: Add 'z' support.
3401 (riscv_ip) <'C'>: Add 'z' support.
3403 2019-02-07 Tamar Christina <tamar.christina@arm.com>
3405 * config/tc-arm.c (insns): Redefine THUMB_VARIANT and ARM_VARIANT for
3407 * testsuite/gas/arm/armv8a-automatic-hlt.d: Update TAGs
3408 * testsuite/gas/arm/hlt.d: New test.
3409 * testsuite/gas/arm/hlt.s: New test.
3411 2019-02-07 Tamar Christina <tamar.christina@arm.com>
3413 * testsuite/gas/aarch64/undefined_advsimd_armv8_3.d: New test.
3414 * testsuite/gas/aarch64/undefined_advsimd_armv8_3.s: New test.
3416 2019-02-07 Tamar Christina <tamar.christina@arm.com>
3419 * testsuite/gas/aarch64/undefined_by_elem_sz_l.s: New test.
3420 * testsuite/gas/aarch64/undefined_by_elem_sz_l.d: New test.
3422 2019-02-07 Eric Botcazou <ebotcazou@adacore.com>
3424 * config/tc-visium.c (md_assemble) <mode_cad>: Align instruction on
3425 64-bit boundaries for the GR6.
3426 * testsuite/gas/visium/allinsn_gr6.s: Tweak.
3427 * testsuite/gas/visium/allinsn_gr6.d: Likewise.
3428 * testsuite/gas/visium/bra-1.d: New test.
3429 * testsuite/gas/visium/bra-1.s: Likewise.
3430 * testsuite/gas/visium/visium.exp: Run bra-1 test.
3432 2019-01-31 John Darrington <john@darrington.wattle.id.au>
3434 * config/tc-s12z.c (lex_imm): Add new argument exp_o.
3435 (emit_reloc): New function.
3436 (md_apply_fix): [BFD_RELOC_S12Z_OPR] Recognise that it
3437 can be either 2 bytes or 3 bytes long.
3438 * testsuite/gas/s12z/mov-imm-reloc.d: New file.
3439 * testsuite/gas/s12z/mov-imm-reloc.s: New file.
3440 * testsuite/gas/s12z/s12z.exp: Add them.
3442 2019-01-31 John Darrington <john@darrington.wattle.id.au>
3444 * config/tc-s12z.c (md_apply_fix): Fix incorrect limits.
3445 * testsuite/gas/s12z/pc-rel-bad.d: New file.
3446 * testsuite/gas/s12z/pc-rel-bad.l: New file.
3447 * testsuite/gas/s12z/pc-rel-bad.s: New file.
3448 * testsuite/gas/s12z/pc-rel-good.d: New file.
3449 * testsuite/gas/s12z/pc-rel-good.s: New file.
3450 * testsuite/gas/s12z/s12z.exp: Add them.
3452 2019-01-31 John Darrington <john@darrington.wattle.id.au>
3454 * config/tc-s12z.c (tfr): Emit warning if operands are the same.
3455 * testsuite/gas/s12z/exg.d: New test case.
3456 * testsuite/gas/s12z/exg.l: New file.
3458 2019-01-31 John Darrington <john@darrington.wattle.id.au>
3460 * config/tc-s12z.c (lex_opr): Add a parameter to indicate whether
3461 immediate mode operands should be permitted.
3462 * testsuite/s12z/imm-dest.d: New file.
3463 * testsuite/s12z/imm-dest.l: New file.
3464 * testsuite/s12z/imm-dest.s: New file.
3465 * testsuite/s12z/s12z.exp: Add them.
3467 2019-01-31 Andreas Krebbel <krebbel@linux.ibm.com>
3469 * config/tc-s390.c (s390_parse_cpu): New entry for arch13.
3470 * doc/c-s390.texi: Document arch13 march option.
3471 * testsuite/gas/s390/s390.exp: Run the arch13 related tests.
3472 * testsuite/gas/s390/zarch-arch13.d: New test.
3473 * testsuite/gas/s390/zarch-arch13.s: New test.
3474 * testsuite/gas/s390/zarch-z13.d: Expect the renamed mnemonics
3477 2019-01-31 Alan Modra <amodra@gmail.com>
3479 * config/tc-alpha.c (md_apply_fix): Correct range checks for
3480 BFD_RELOC_ALPHA_NOP, BFD_RELOC_ALPHA_LDA, BFD_RELOC_ALPHA_BSR.
3481 * config/tc-arm.c (md_apply_fix): Use llabs rather than abs.
3482 * config/tc-csky.c (get_macro_reg_vals): Pass s to csky_show_error.
3484 2019-01-28 Max Filippov <jcmvbkbc@gmail.com>
3486 * config/tc-xtensa.c (md_apply_fix): Mark fixups for constant
3487 symbols as done in md_apply_fix.
3488 * testsuite/gas/all/forward.d: Don't XFAIL for xtensa.
3490 2019-01-28 Nick Clifton <nickc@redhat.com>
3492 * po/fr.po: Updated French translation.
3493 * po/ru.po: Updated Russian translation.
3495 2019-01-28 Alan Modra <amodra@gmail.com>
3497 * configure.ac (ac_checking): Set from bfd/development.sh
3498 development variable.
3499 * configure: Regenerate.
3501 2019-01-25 Sudakshina Das <sudi.das@arm.com>
3503 * config/tc-aarch64.c (warn_unpredictable_ldst): Exempt
3504 stg, st2g, stzg and stz2g from Xt == Xn with writeback warning.
3505 * testsuite/gas/aarch64/armv8_5-a-memtag.d: Change tests for
3506 stg, stzg, st2g and stz2g.
3507 * testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise.
3508 * testsuite/gas/aarch64/illegal-memtag.l: Likewise.
3509 * testsuite/gas/aarch64/illegal-memtag.s: Likewise.
3511 2019-01-25 Sudakshina Das <sudi.das@arm.com>
3513 * testsuite/gas/aarch64/armv8_5-a-memtag.d: New tests for stzgm.
3514 * testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise.
3515 * testsuite/gas/aarch64/illegal-memtag.l: Likewise.
3516 * testsuite/gas/aarch64/illegal-memtag.s: Likewise.
3518 2019-01-25 Sudakshina Das <sudi.das@arm.com>
3519 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3521 * config/tc-aarch64.c (parse_address_main): Remove support for
3522 [base]! address expression.
3523 (parse_operands): Remove support for AARCH64_OPND_ADDR_SIMPLE_2.
3524 (warn_unpredictable_ldst): Remove support for ldstgv_indexed.
3525 * testsuite/gas/aarch64/armv8_5-a-memtag.d: Remove tests for ldgv
3527 * testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise.
3528 * testsuite/gas/aarch64/illegal-memtag.l: Likewise.
3529 * testsuite/gas/aarch64/illegal-memtag.s: Likewise.
3531 2019-01-25 Wu Heng <wu.heng@zte.com.cn>
3534 * macro.c (getstring): Check array bound before accessing.
3536 2019-01-25 Alan Modra <amodra@gmail.com>
3540 * read.c (stringer): Delete assertion.
3542 2019-01-21 Nick Clifton <nickc@redhat.com>
3544 * po/uk.po: Updated Ukranian translation.
3546 2019-01-19 Nick Clifton <nickc@redhat.com>
3548 * config.in: Regenerate.
3549 * configure: Regenerate.
3550 * po/gas.pot: Regenerate.
3552 2018-06-24 Nick Clifton <nickc@redhat.com>
3554 2.32 branch created.
3556 2019-01-17 Tamar Christina <tamar.christina@arm.com>
3558 * testsuite/gas/arm/archv6t2-1-pe.d: New test.
3559 * testsuite/gas/arm/archv6t2-1.d: Skip pe.
3560 * testsuite/gas/arm/csdb.d: Skip pe.
3561 * testsuite/gas/arm/sb-thumb1-pe.d: New test.
3562 * testsuite/gas/arm/sb-thumb1.d: Skip pe.
3563 * testsuite/gas/arm/sb-thumb2-pe.d: New test.
3564 * testsuite/gas/arm/sb-thumb2.d: Skip pe.
3565 * testsuite/gas/arm/udf.d: Skip pe.
3567 2019-01-16 Kito Cheng <kito@andestech.com>
3569 * testsuite/gas/riscv/attribute-empty.d: New.
3571 2019-01-16 Kito Cheng <kito@andestech.com>
3572 Nelson Chu <nelson@andestech.com>
3574 * config/tc-riscv.c (DEFAULT_RISCV_ATTR): Define to 0 if not defined.
3575 (riscv_set_options): Add `arch_attr` field.
3576 (riscv_opts): Set default value for arch_attr.
3577 (riscv_write_out_arch_attr): New.
3578 (riscv_set_public_attributes): Likewise.
3579 (riscv_md_end): Likewise.
3580 (riscv_convert_symbolic_attribute): Likewise.
3581 (s_riscv_attribute): Likewise.
3582 (explicit_arch_attr): Likewise.
3583 (riscv_pseudo_table): Add .attribute to the table.
3584 (options): Add OPTION_ARCH_ATTR and OPTION_NO_ARCH_ATTR
3585 enumeration constants.
3586 (md_longopts): Add `march-attr' and `mno-arch-attr' options.
3587 (md_parse_option): Handle the new options.
3588 (md_show_usage): Document the `march-attr' option.
3589 * config/tc-riscv.h (md_end): Define as riscv_md_end
3590 (riscv_md_end): Declare.
3591 (CONVERT_SYMBOLIC_ATTRIBUTE): Define as
3592 riscv_convert_symbolic_attribute.
3593 (riscv_convert_symbolic_attribute): Declare.
3594 (start_assemble): Declare.
3595 * testsuite/gas/elf/elf.exp: Adjust test case for section2.e.
3596 * testsuite/gas/elf/section2.e-riscv: New.
3597 * testsuite/gas/riscv/attribute-01.d: New test
3598 * testsuite/gas/riscv/attribute-02.d: Likewise.
3599 * testsuite/gas/riscv/attribute-03.d: Likewise.
3600 * testsuite/gas/riscv/attribute-04.d: Likewise.
3601 * testsuite/gas/riscv/attribute-04.s: Likewise.
3602 * testsuite/gas/riscv/attribute-05.d: Likewise.
3603 * testsuite/gas/riscv/attribute-05.s: Likewise.
3604 * testsuite/gas/riscv/attribute-06.d: Likewise.
3605 * testsuite/gas/riscv/attribute-06.s: Likewise.
3606 * testsuite/gas/riscv/attribute-07.d: Likewise.
3607 * testsuite/gas/riscv/attribute-07.s: Likewise.
3608 * testsuite/gas/riscv/attribute-08.d: Likewise.
3609 * testsuite/gas/riscv/attribute-08.s: Likewise.
3610 * testsuite/gas/riscv/attribute-unknown.d: Likewise.
3611 * testsuite/gas/riscv/attribute-unknown.s: Likewise.
3612 * testsuite/gas/riscv/empty.l: Likewise.
3613 * doc/c-riscv.texi (.attribute): Add documentation.
3614 * configure.ac (--enable-default-riscv-attribute): New options.
3615 * configure: Re-generate.
3616 * config.in: Re-generate.
3618 2019-01-16 John Darrington <john@darrington.wattle.id.au>
3620 * config/tc-s12z.c (lex_reg_name): Compare the length of the strings
3621 before the contents.
3622 * testsuite/gas/s12z/labels.d: New file.
3623 * testsuite/gas/s12z/labels.s: New file.
3624 * testsuite/gas/s12z/s12z.exp: Add them.
3625 * config/tc-s12z.c (tfr): Change as_bad to as_warn.
3626 Also fix message typo and semantics.
3627 * config/tc-s12z.c (emit_opr): Emit BFD_RELOC_S12Z_OPR instead of
3629 * testsuite/gas/s12z/opr-indirect-expr.d: Expect R_S12Z_OPR instead
3632 2019-01-14 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
3634 * config/tc-arm.c (arm_ext_v6k_v6t2): Define.
3635 (insns) [ARM_VARIANT]: Modified.
3636 (insns) [THUMB_VARIANT]: To implement few ARMv6K instructions
3638 * testsuite/gas/arm/archv6t2-1.d: New test.
3639 * testsuite/gas/arm/archv6t2-1.s: Likewise.
3640 * testsuite/gas/arm/archv6t2-2.d: Likewise.
3642 2019-01-11 Alan Modra <amodra@gmail.com>
3645 * testsuite/gas/m68hc11/lbranch-dwarf2.d: Adjust for PR23963 change.
3646 * testsuite/gas/m68hc11/opers12-dwarf2.d: Likewise.
3648 2019-01-10 Nick Clifton <nickc@redhat.com>
3651 * testsuite/gas/mips/mips16-branch-absolute-1.d: Adjust for the
3652 fact that control characters are now displayed as escape
3654 * testsuite/gas/mips/mips16-e.d: Likewise.
3655 * testsuite/gas/mips/mips16-pcrel-0.d: Likewise.
3656 * testsuite/gas/mips/mips16-pcrel-1.d: Likewise.
3657 * testsuite/gas/mips/mips16-pcrel-delay-0.d: Likewise.
3658 * testsuite/gas/mips/mips16-pcrel-delay-1.d: Likewise.
3659 * testsuite/gas/mips/mips16-pcrel-n32-0.d: Likewise.
3660 * testsuite/gas/mips/mips16-pcrel-n32-1.d: Likewise.
3661 * testsuite/gas/mips/mips16-pcrel-n64-sym32-0.d: Likewise.
3662 * testsuite/gas/mips/mips16-pcrel-n64-sym32-1.d: Likewise.
3663 * testsuite/gas/mips/mips16e2@mips16-pcrel-0.d: Likewise.
3664 * testsuite/gas/mips/mips16e2@mips16-pcrel-1.d: Likewise.
3665 * testsuite/gas/mips/mips16e2@mips16-pcrel-delay-0.d: Likewise.
3666 * testsuite/gas/mips/mips16e2@mips16-pcrel-delay-1.d: Likewise.
3667 * testsuite/gas/mips/mips16e2@mips16-pcrel-n32-0.d: Likewise.
3668 * testsuite/gas/mips/mips16e2@mips16-pcrel-n32-1.d: Likewise.
3669 * testsuite/gas/mips/mips16e2@mips16-pcrel-n64-sym32-0.d:
3671 * testsuite/gas/mips/mips16e2@mips16-pcrel-n64-sym32-1.d:
3673 * testsuite/gas/mips/mipsel16-e.d: Likewise.
3674 * testsuite/gas/mips/mipsr6@msa.d: Likewise.
3675 * testsuite/gas/mips/mipsr6@relax-swap3.d: Likewise.
3676 * testsuite/gas/mips/r6-64-n32.d: Likewise.
3677 * testsuite/gas/mips/r6-64-n64.d: Likewise.
3678 * testsuite/gas/mips/r6-n32.d: Likewise.
3679 * testsuite/gas/mips/r6-n64.d: Likewise.
3680 * testsuite/gas/mips/r6.d: Likewise.
3681 * testsuite/gas/mips/tmips16-e.d: Likewise.
3682 * testsuite/gas/mips/tmipsel16-e.d: Likewise.
3683 * testsuite/gas/mn10300/relax.d: Likewise.
3685 2019-01-09 John Darrington <john@darrington.wattle.id.au>
3687 * testsuite/gas/s12z/jsr.s: New case.
3688 * testsuite/gas/s12z/jsr.d: New case.
3690 2019-01-09 Andrew Paprocki <andrew@ishiboo.com>
3692 * configure: Regenerate.
3694 2019-01-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3696 * config/tc-aarch64.c (aarch64_cpus): Add ares.
3697 * doc/c-aarch64.texi (-mcpu): Document ares value.
3699 2019-01-08 Alan Modra <amodra@gmail.com>
3701 * testsuite/gas/rx/rx.exp: Create generated test source in
3703 * testsuite/gas/rx/Xtod.d, * testsuite/gas/rx/abs.d,
3704 * testsuite/gas/rx/adc.d, * testsuite/gas/rx/add.d,
3705 * testsuite/gas/rx/and.d, * testsuite/gas/rx/bclr.d,
3706 * testsuite/gas/rx/bcnd.d, * testsuite/gas/rx/bfmov.d,
3707 * testsuite/gas/rx/bmcnd.d, * testsuite/gas/rx/bnot.d,
3708 * testsuite/gas/rx/bra.d, * testsuite/gas/rx/brk.d,
3709 * testsuite/gas/rx/bset.d, * testsuite/gas/rx/bsr.d,
3710 * testsuite/gas/rx/btst.d, * testsuite/gas/rx/clrpsw.d,
3711 * testsuite/gas/rx/cmp.d, * testsuite/gas/rx/dabs.d,
3712 * testsuite/gas/rx/dadd.d, * testsuite/gas/rx/dbt.d,
3713 * testsuite/gas/rx/dcmp.d, * testsuite/gas/rx/ddiv.d,
3714 * testsuite/gas/rx/div.d, * testsuite/gas/rx/divu.d,
3715 * testsuite/gas/rx/dmov.d, * testsuite/gas/rx/dmul.d,
3716 * testsuite/gas/rx/dneg.d, * testsuite/gas/rx/dpopm.d,
3717 * testsuite/gas/rx/dpushm.d, * testsuite/gas/rx/dround.d,
3718 * testsuite/gas/rx/dsqrt.d, * testsuite/gas/rx/dsub.d,
3719 * testsuite/gas/rx/dtoX.d, * testsuite/gas/rx/emaca.d,
3720 * testsuite/gas/rx/emsba.d, * testsuite/gas/rx/emul.d,
3721 * testsuite/gas/rx/emula.d, * testsuite/gas/rx/emulu.d,
3722 * testsuite/gas/rx/fadd.d, * testsuite/gas/rx/fcmp.d,
3723 * testsuite/gas/rx/fdiv.d, * testsuite/gas/rx/fmul.d,
3724 * testsuite/gas/rx/fsqrt.d, * testsuite/gas/rx/fsub.d,
3725 * testsuite/gas/rx/ftoi.d, * testsuite/gas/rx/ftou.d,
3726 * testsuite/gas/rx/gprel.d, * testsuite/gas/rx/int.d,
3727 * testsuite/gas/rx/itof.d, * testsuite/gas/rx/jmp.d,
3728 * testsuite/gas/rx/jsr.d, * testsuite/gas/rx/machi.d,
3729 * testsuite/gas/rx/maclh.d, * testsuite/gas/rx/maclo.d,
3730 * testsuite/gas/rx/max.d, * testsuite/gas/rx/min.d,
3731 * testsuite/gas/rx/mov.d, * testsuite/gas/rx/movco.d,
3732 * testsuite/gas/rx/movli.d, * testsuite/gas/rx/movu.d,
3733 * testsuite/gas/rx/msbhi.d, * testsuite/gas/rx/msblh.d,
3734 * testsuite/gas/rx/msblo.d, * testsuite/gas/rx/mul.d,
3735 * testsuite/gas/rx/mulhi.d, * testsuite/gas/rx/mullh.d,
3736 * testsuite/gas/rx/mullo.d, * testsuite/gas/rx/mvfacgu.d,
3737 * testsuite/gas/rx/mvfachi.d, * testsuite/gas/rx/mvfaclo.d,
3738 * testsuite/gas/rx/mvfacmi.d, * testsuite/gas/rx/mvfc.d,
3739 * testsuite/gas/rx/mvfcp.d, * testsuite/gas/rx/mvfdc.d,
3740 * testsuite/gas/rx/mvfdr.d, * testsuite/gas/rx/mvtacgu.d,
3741 * testsuite/gas/rx/mvtachi.d, * testsuite/gas/rx/mvtaclo.d,
3742 * testsuite/gas/rx/mvtc.d, * testsuite/gas/rx/mvtcp.d,
3743 * testsuite/gas/rx/mvtdc.d, * testsuite/gas/rx/neg.d,
3744 * testsuite/gas/rx/nop.d, * testsuite/gas/rx/not.d,
3745 * testsuite/gas/rx/opecp.d, * testsuite/gas/rx/or.d,
3746 * testsuite/gas/rx/pop.d, * testsuite/gas/rx/popc.d,
3747 * testsuite/gas/rx/popm.d, * testsuite/gas/rx/push.d,
3748 * testsuite/gas/rx/pushc.d, * testsuite/gas/rx/pushm.d,
3749 * testsuite/gas/rx/r-bcc.d, * testsuite/gas/rx/r-bra.d,
3750 * testsuite/gas/rx/racl.d, * testsuite/gas/rx/racw.d,
3751 * testsuite/gas/rx/rdacl.d, * testsuite/gas/rx/rdacw.d,
3752 * testsuite/gas/rx/revl.d, * testsuite/gas/rx/revw.d,
3753 * testsuite/gas/rx/rmpa.d, * testsuite/gas/rx/rolc.d,
3754 * testsuite/gas/rx/rorc.d, * testsuite/gas/rx/rotl.d,
3755 * testsuite/gas/rx/rotr.d, * testsuite/gas/rx/round.d,
3756 * testsuite/gas/rx/rstr.d, * testsuite/gas/rx/rte.d,
3757 * testsuite/gas/rx/rtfi.d, * testsuite/gas/rx/rts.d,
3758 * testsuite/gas/rx/rtsd.d, * testsuite/gas/rx/sat.d,
3759 * testsuite/gas/rx/satr.d, * testsuite/gas/rx/save.d,
3760 * testsuite/gas/rx/sbb.d, * testsuite/gas/rx/sccnd.d,
3761 * testsuite/gas/rx/scmpu.d, * testsuite/gas/rx/setpsw.d,
3762 * testsuite/gas/rx/shar.d, * testsuite/gas/rx/shll.d,
3763 * testsuite/gas/rx/shlr.d, * testsuite/gas/rx/smovb.d,
3764 * testsuite/gas/rx/smovf.d, * testsuite/gas/rx/smovu.d,
3765 * testsuite/gas/rx/sstr.d, * testsuite/gas/rx/stnz.d,
3766 * testsuite/gas/rx/stz.d, * testsuite/gas/rx/sub.d,
3767 * testsuite/gas/rx/suntil.d, * testsuite/gas/rx/swhile.d,
3768 * testsuite/gas/rx/tst.d, * testsuite/gas/rx/utof.d,
3769 * testsuite/gas/rx/wait.d, * testsuite/gas/rx/xchg.d,
3770 * testsuite/gas/rx/xor.d: Add #source line.
3772 2019-01-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3774 * config/tc-arm.c (arm_cpus): Add ares.
3775 * doc/c-arm.texi (-mcpu): Document ares value.
3777 2019-01-05 Yoshinori Sato <ysato@users.sourceforge.jp>
3779 * config/rx-defs.h (rx_cpu_types): Add type RXV3 and RXV3FPU.
3780 (rx_bfield): Add prototype.
3781 (rx_post): Likewise.
3782 * config/rx-parse.y: Add v3 instructions and Double FPU registers.
3785 (rx_check_v3): New. check v3 type.
3786 (rx_check_dfpu): New. check have double support.
3787 (double_condition_table): New. dcmp<cond> contiditon.
3788 (check_condition): Multiple condition support.
3789 (rx_lex): RXv3 instructions support.
3790 Add parse dcmp<cond> instruction and Double FPU registers.
3791 (immediate): Disable optimize in dmov #imm case.
3792 (displacement): Add double displacement in dmov instraction.
3793 * config/tc-rx.c (rx_use_conventional_section_names):
3794 Invert default value in rx-*-linux target.
3795 (cpu_type): Add additional ELF flags.
3796 (cpu_type_list): Add RXv3.
3797 (md_parse_option): Refer elf_flags from cpu_type_list.
3798 (md_show_usage): Add rxv3 and rxv3-dfpu.
3799 (rx_bytesT): Add post byte.
3800 (rx_bfield): New. generate bfmov / bfmovz "imm" field.
3801 (rx_post): New. Set instruction post byte.
3802 (md_assemble): Add post byte.
3803 doc/c-rx.texi: Add cpu types.
3804 * testsuite/gas/rx/Xtod.d: New.
3805 * testsuite/gas/rx/Xtod.sm: New.
3806 * testsuite/gas/rx/bfmov.d: New.
3807 * testsuite/gas/rx/bfmov.sm: New.
3808 * testsuite/gas/rx/dabs.d: New.
3809 * testsuite/gas/rx/dabs.sm: New.
3810 * testsuite/gas/rx/dadd.d: New.
3811 * testsuite/gas/rx/dadd.sm: New.
3812 * testsuite/gas/rx/dcmp.d: New.
3813 * testsuite/gas/rx/dcmp.sm: New.
3814 * testsuite/gas/rx/ddiv.d: New.
3815 * testsuite/gas/rx/ddiv.sm: New.
3816 * testsuite/gas/rx/dmov.d: New.
3817 * testsuite/gas/rx/dmov.sm: New.
3818 * testsuite/gas/rx/dmul.d: New.
3819 * testsuite/gas/rx/dmul.sm: New.
3820 * testsuite/gas/rx/dneg.d: New.
3821 * testsuite/gas/rx/dneg.sm: New.
3822 * testsuite/gas/rx/dpopm.d: New.
3823 * testsuite/gas/rx/dpopm.sm: New.
3824 * testsuite/gas/rx/dpushm.d: New.
3825 * testsuite/gas/rx/dpushm.sm: New.
3826 * testsuite/gas/rx/dround.d: New.
3827 * testsuite/gas/rx/dround.sm: New.
3828 * testsuite/gas/rx/dsqrt.d: New.
3829 * testsuite/gas/rx/dsqrt.sm: New.
3830 * testsuite/gas/rx/dsub.d: New.
3831 * testsuite/gas/rx/dsub.sm: New.
3832 * testsuite/gas/rx/dtoX.d: New.
3833 * testsuite/gas/rx/dtoX.sm: New.
3834 * testsuite/gas/rx/macros.inc: Add double FPU registers.
3835 * testsuite/gas/rx/mvfdc.d: New.
3836 * testsuite/gas/rx/mvfdc.sm: New.
3837 * testsuite/gas/rx/mvfdr.d: New.
3838 * testsuite/gas/rx/mvfdr.sm: New.
3839 * testsuite/gas/rx/mvtdc.d: New.
3840 * testsuite/gas/rx/mvtdc.sm: New.
3841 * testsuite/gas/rx/rstr.d: New.
3842 * testsuite/gas/rx/rstr.sm: New.
3843 * testsuite/gas/rx/rx.exp: Use rxv3-dfpu option.
3844 * testsuite/gas/rx/save.d: New.
3845 * testsuite/gas/rx/save.sm: New.
3846 * testsuite/gas/rx/xor.d: New.
3847 * testsuite/gas/rx/xor.sm: Add pattern.
3849 2019-01-04 Wu Heng <wu.heng@zte.com.cn>
3852 * macro.c (get_any_string): Check for end of input whilst scanning
3855 2019-01-04 Wu Heng <wu.heng@zte.com.cn>
3858 * read.c (stringer): Fix handling of missing '>' character at end
3861 2019-01-01 Alan Modra <amodra@gmail.com>
3863 Update year range in copyright notice of all files.
3865 For older changes see ChangeLog-2018
3867 Copyright (C) 2019 Free Software Foundation, Inc.
3869 Copying and distribution of this file, with or without modification,
3870 are permitted in any medium without royalty provided the copyright
3871 notice and this notice are preserved.
3877 version-control: never