x86: operand sizing prefixes can disambiguate insns
[binutils-gdb.git] / gas / ChangeLog
1 2020-06-25 Jan Beulich <jbeulich@suse.com>
2
3 * config/tc-i386.c (process_suffix): Skip ambiguous operand size
4 diagnostic when there is a sizing prefix. Switch to word/dword/
5 qword encoding when there is a sizing prefix and no (explicit or
6 derived) suffix.
7 (update_imm): Handle presence of a sizing prefix.
8 * testsuite/gas/i386/noreg16-data32.d,
9 testsuite/gas/i386/noreg32-data16.d,
10 testsuite/gas/i386/noreg32-data16.e,
11 testsuite/gas/i386/noreg64-data16.d,
12 testsuite/gas/i386/noreg64-data16.e,
13 testsuite/gas/i386/noreg64-rex64.d: New.
14 * testsuite/gas/i386/i386.exp: Run new tests.
15 * testsuite/gas/i386/noreg32.s, testsuite/gas/i386/noreg64.s:
16 Introduce and use pfx* macros.
17 * testsuite/gas/i386/noreg16.s: Likewise. Replace 32-bit
18 addressing.
19 * testsuite/gas/i386/noreg16.d: Adjust expectations.
20
21 2020-06-25 Jan Beulich <jbeulich@suse.com>
22
23 * testsuite/gas/i386/avx-16bit.d,
24 testsuite/gas/i386/avx-scalar.d, testsuite/gas/i386/avx.d,
25 testsuite/gas/i386/avx512f-16bit.d,
26 testsuite/gas/i386/avx512f.d,
27 testsuite/gas/i386/evex-lig256.d,
28 testsuite/gas/i386/evex-lig512.d
29 testsuite/gas/i386/evex-wig1.d, testsuite/gas/i386/katmai.d,
30 testsuite/gas/i386/noreg16.d, testsuite/gas/i386/noreg32.d,
31 testsuite/gas/i386/ptwrite.d, testsuite/gas/i386/simd.d,
32 testsuite/gas/i386/sse2-16bit.d,
33 testsuite/gas/i386/sse2.d, testsuite/gas/i386/sse2avx.d: Adjust
34 expectations.
35
36 2020-06-25 Jan Beulich <jbeulich@suse.com>
37
38 * config/tc-i386.c (md_assemble): Also reject explicit REX
39 prefixes with VEX and alike encoded insns. Zap consumed bits
40 from i.rex.
41 (output_insn): Don't ignore REX prefix for VEX and alike
42 encodings; abort() instead if encountered.
43 * testsuite/gas/i386/x86-64-pseudos.s: Move REX-with-VEX cases
44 ...
45 * testsuite/gas/i386/x86-64-pseudos-bad.s: ... here.
46 * testsuite/gas/i386/x86-64-pseudos.d,
47 testsuite/gas/i386/x86-64-pseudos-bad.l: Adjust expectations.
48
49 2020-06-25 Jan Beulich <jbeulich@suse.com>
50
51 * config/tc-i386.c (process_operands): Translate explicit REX
52 prefix into i.rex for SSE2AVX templates.
53 (set_rex_vrex): New helper.
54 (build_modrm_byte): Use it.
55 * testsuite/gas/i386/x86-64-sse2avx.s: Add cases with explict
56 REX prefixes.
57 * testsuite/gas/i386/x86-64-sse2avx.d: Adjust expectations.
58
59 2020-06-25 Jan Beulich <jbeulich@suse.com>
60
61 * config/tc-i386.c (cpu_flags_match): Only match SSE2AVX
62 templates when there's no data size prefix.
63 (md_assemble): Reject data size prefix also for legacy encoded
64 SIMD templates.
65 * testsuite/gas/i386/prefix32.s, testsuite/gas/i386/prefix64.s:
66 Uncomment previously not working line.
67 * testsuite/gas/i386/sse2avx.s: Add ldmxcsr/stmxcsr cases with
68 data16 prefix.
69 * testsuite/gas/i386/prefix32.l, testsuite/gas/i386/prefix64.l,
70 testsuite/gas/i386/sse2avx.d: Adjust expectations.
71
72 2020-06-25 Jan Beulich <jbeulich@suse.com>
73
74 * config/tc-i386.c (build_evex_prefix): Drop early setting of
75 vec_length.
76
77 2020-06-23 Nelson Chu <nelson.chu@sifive.com>
78
79 * config/tc-riscv.c (explicit_priv_attr): Rename explicit_csr to
80 explicit_priv_attr. It used to indicate CSR or priv instructions are
81 explictly used.
82 (riscv_is_priv_insn): Return True if it is a privileged instruction.
83 (riscv_ip): Call riscv_is_priv_insn to check whether the instruction
84 is privileged or not. If it is, then set explicit_priv_attr to TRUE.
85 (riscv_write_out_attrs): Clarification of when to generate the elf
86 priv spec attributes.
87 * testsuite/gas/riscv/attribute-11.s: Add comments.
88 * testsuite/gas/riscv/attribute-14.s: New testcase. Use symbol
89 `priv_insn_<n>` to decide which priv instruction is expected to used.
90 (<n> is a to e.)
91 * testsuite/gas/riscv/attribute-14a.d: Likewise.
92 * testsuite/gas/riscv/attribute-14b.d: Likewise.
93 * testsuite/gas/riscv/attribute-14c.d: Likewise.
94 * testsuite/gas/riscv/attribute-14d.d: Likewise.
95 * testsuite/gas/riscv/attribute-14e.d: Likewise.
96
97 2020-06-22 Nelson Chu <nelson.chu@sifive.com>
98
99 * config/tc-riscv.c (buf_size, buf): Remove the unused variables.
100 (riscv_set_default_priv_spec): Get the priv spec version from the
101 priv spec attributes by riscv_get_priv_spec_class_from_numbers.
102
103 2020-06-20 Alan Modra <amodra@gmail.com>
104
105 * configure.tgt: Set bfd_gas for all SH targets.
106
107 2020-06-18 Jan Beulich <jbeulich@suse.com>
108
109 * testsuite/gas/i386/arch-13.s: Add alternative VMGEXIT case.
110 * testsuite/gas/i386/arch-13.d: Extend -march=. Adjust
111 expectations.
112
113 2020-06-16 Lili Cui <lili.cui@intel.com>
114
115 * config/tc-i386.c (cpu_arch): Correct noavx512_vp2intersect
116 cpu_arch to CPU_ANY_VP2INTERSECT_FLAGS.
117 * doc/c-i386.texi: Add avx512_vp2intersect.
118
119 2020-06-16 Jan Beulich <jbeulich@suse.com>
120
121 * config/tc-i386.c (md_assemble): Drop SSE4a from SSE check
122 conditional.
123 * testsuite/gas/i386/sse-check.s: Adjust comment.
124 * testsuite/gas/i386/sse-check-error.l,
125 testsuite/gas/i386/sse-check-warn.e,
126 testsuite/gas/i386/x86-64-sse-check-error.l: Adjust
127 expectations.
128
129 2020-06-16 Alan Modra <amodra@gmail.com>
130
131 * config/tc-tic30.h: Remove OBJ_AOUT support.
132 * configure.tgt: Delete tic30-*-*aout* entry.
133
134 2020-06-15 Max Filippov <jcmvbkbc@gmail.com>
135
136 * config/tc-xtensa.c (XTHAL_ABI_WINDOWED, XTHAL_ABI_CALL0): New
137 macros.
138 (elf32xtensa_abi): New declaration.
139 (option_abi_windowed, option_abi_call0): New enum constants.
140 (md_longopts): Add entries for --abi-windowed and --abi-call0.
141 (md_parse_option): Add handlers for --abi-windowed and
142 --abi-call0.
143 (xtensa_add_config_info): Use xtensa_abi_choice instead of
144 XSHAL_ABI to format ABI tag.
145 * doc/as.texi (Target Xtensa options): Add --abi-windowed and
146 --abi-call0 to the list of options.
147 * doc/c-xtensa.texi: Add description for options --abi-windowed
148 and --abi-call0.
149 * testsuite/gas/xtensa/abi-call0.d: New test definition.
150 * testsuite/gas/xtensa/abi-windowed.d: New test definition.
151 * testsuite/gas/xtensa/abi.s: New test source.
152
153 2020-06-14 H.J. Lu <hongjiu.lu@intel.com>
154
155 PR gas/26115
156 * testsuite/gas/i386/tsxldtrk.d: Replace xsuspldtrk with
157 xsusldtrk.
158 * testsuite/gas/i386/tsxldtrk.s: Likewise.
159 * testsuite/gas/i386/x86-64-tsxldtrk.d: Likewise.
160 * testsuite/gas/i386/x86-64-tsxldtrk.s: Likewise.
161
162 2020-06-12 Nelson Chu <nelson.chu@sifive.com>
163
164 * testsuite/gas/riscv/priv-reg-fail-version-1p9.d: Removed.
165 * testsuite/gas/riscv/priv-reg-fail-version-1p9.l: Likewise.
166 * testsuite/gas/riscv/priv-reg-version-1p9.d: Likewise.
167
168 2020-06-09 Seth Girvan <snth@snthhacks.com>
169
170 * doc/c-avr.texi: Improve wording.
171
172 2020-06-09 Jan Beulich <jbeulich@suse.com>
173
174 * testsuite/gas/i386/x86-64-pseudos-bad.s,
175 testsuite/gas/i386/x86-64-pseudos-bad.l: New.
176
177 2020-06-09 Jan Beulich <jbeulich@suse.com>
178
179 * testsuite/gas/i386/prefix.s: Add bogus prefix-with-VEX/EVEX
180 encoding tests.
181 * testsuite/gas/i386/prefix.d: Adjust expectations.
182
183 2020-06-09 Jan Beulich <jbeulich@suse.com>
184
185 * testsuite/gas/i386/prefix.s: Add bogus REP / EVEX.W prefix
186 with VEX/EVEX encoding tests.
187 * testsuite/gas/i386/prefix.d: Adjust expectations.
188
189 2020-06-09 Jan Beulich <jbeulich@suse.com>
190
191 * config/tc-i386.c (process_suffix): Restrict defaulting to 'q'
192 suffix.
193 * testsuite/gas/i386/noreg64.s: Add lcall/ljmp cases.
194 * testsuite/gas/i386/noreg64.d: Adjust expectations.
195 * testsuite/gas/i386/noreg-intel64.d,
196 testsuite/gas/i386/noreg-intel64.l,
197 testsuite/gas/i386/noreg-intel64.s: New.
198 * testsuite/gas/i386/i386.exp: Run new tests.
199
200 2020-06-09 Jan Beulich <jbeulich@suse.com>
201
202 * config/tc-i386.c (vex_encoding_error): New enumerator.
203 (VEX_check_operands): Rename to VEX_check_encoding. Check
204 for vex_encoding_error. Move Imm4 handling ...
205 (check_VecOperands): ... here.
206 (match_template): Call VEX_check_encoding when there are no
207 operands. Split construct calling check_VecOperands and
208 VEX_check_encoding (when there are operands).
209 (check_register): Don't blindly set vex_encoding_evex.
210 * testsuite/gas/i386/pseudos-bad.s,
211 testsuite/gas/i386/pseudos-bad.l: New.
212 * testsuite/gas/i386/i386.exp: Run new test.
213 * testsuite/gas/i386/xmmhi64.s: Drop {vex2}.
214
215 2020-06-08 Alex Coplan <alex.coplan@arm.com>
216
217 * config/tc-arm.c (insns): Add dfb.
218 * testsuite/gas/arm/dfb.d: New test.
219 * testsuite/gas/arm/dfb.s: Input for test.
220
221 2020-06-08 Nick Clifton <nickc@redhat.com>
222
223 * testsuite/gas/cfi/cfi-i386-2.d: Skip for PE based targets.
224
225 2020-06-08 Jan Beulich <jbeulich@suse.com>
226
227 * config/tc-i386.c (pi): Add checks for RegMask and RegBND.
228
229 2020-06-08 Jan Beulich <jbeulich@suse.com>
230
231 * config/tc-i386.c (check_byte_reg): Drop dead conditional
232 around as_bad().
233
234 2020-06-08 Jan Beulich <jbeulich@suse.com>
235
236 * config/tc-i386.c (check_register): Split RegTR handling, to
237 fail recognition also in 64-bit mode as well as with i586 or
238 i686 explicitly enabled.
239 * testsuite/gas/i386/x86_64.s: Add insns referencing tr<N>.
240 * testsuite/gas/i386/x86_64-intel.d,
241 testsuite/gas/i386/x86_64.d: Adjust expectations.
242
243 2020-06-08 Jan Beulich <jbeulich@suse.com>
244
245 * testsuite/gas/cfi/cfi-i386-2.d: Adjust expectations.
246 * testsuite/gas/cfi/cfi.exp: Run this test.
247
248 2020-06-08 Jan Beulich <jbeulich@suse.com>
249
250 * config/tc-i386.c (parse_real_register): Add allow_pseudo_reg
251 check to %st(N) parsing logic.
252 * testsuite/gas/cfi/cfi-i386.s: Set "generic32" arch.
253
254 2020-06-08 Jan Beulich <jbeulich@suse.com>
255
256 * config/tc-i386.c (bad_reg): New.
257 (check_VecOperations, i386_att_operand, i386_parse_name): Check
258 for it.
259 (check_register): New, broken out from ...
260 (parse_real_register): ... here. Call it.
261 (parse_register): Call it, and error upon failure.
262 * testsuite/gas/i386/equ-bad.s, testsuite/gas/i386/equ-bad.l,
263 testsuite/gas/i386/x86-64-equ-bad.s,
264 testsuite/gas/i386/x86-64-equ-bad.l: New.
265 * testsuite/gas/i386/i386.exp: Run new tests.
266
267 2020-06-06 Alan Modra <amodra@gmail.com>
268
269 * config/tc-ppc.c (md_show_usage): Mention -mpower10 and -mpwr10.
270 * doc/c-ppc.texi: Likewise.
271
272 2020-06-06 Alan Modra <amodra@gmail.com>
273
274 * config/tc-ppc.c: Update throughout for reloc renaming.
275
276 2020-06-05 Jose E. Marchesi <jose.marchesi@oracle.com>
277
278 * config/tc-bpf.c (md_apply_fix): Avoid GCC 10 warning
279 stringop-overflow.
280
281 2020-06-05 Nelson Chu <nelson.chu@sifive.com>
282
283 * config/tc-riscv.c (explicit_csr): New static boolean.
284 Used to indicate CSR are explictly used.
285 (riscv_ip): Set explicit_csr to TRUE if any CSR is used.
286 (riscv_write_out_attrs): If we already have set elf priv
287 attributes, then generate them. Otherwise, don't generate
288 them when no CSR are used.
289 * testsuite/gas/riscv/attribute-01.d: Remove the priv attributes.
290 * testsuite/gas/riscv/attribute-02.d: Likewise.
291 * testsuite/gas/riscv/attribute-03.d: Likewise.
292 * testsuite/gas/riscv/attribute-04.d: Likewise.
293 * testsuite/gas/riscv/attribute-05.d: Likewise.
294 * testsuite/gas/riscv/attribute-06.d: Likewise.
295 * testsuite/gas/riscv/attribute-07.d: Likewise.
296 * testsuite/gas/riscv/attribute-08.d: Likewise.
297 * testsuite/gas/riscv/attribute-09.d: Likewise.
298 * testsuite/gas/riscv/attribute-10.d: Likewise.
299 * testsuite/gas/riscv/attribute-unknown.d: Likewise.
300 * testsuite/gas/riscv/attribute-11.s: New testcase.
301 * testsuite/gas/riscv/attribute-11.d: New testcase. The CSR is
302 used, so we should output the ELF priv attributes.
303 * testsuite/gas/riscv/attribute-12.d: New testcase. The CSR is
304 used, so output the priv attributes according to the -mpriv-spec.
305 * testsuite/gas/riscv/attribute-13.d: New testcase. The CSR isn't
306 used, so ignore the -mpriv-spec setting.
307
308 2020-06-04 H.J. Lu <hongjiu.lu@intel.com>
309
310 * config/tc-ip2k. (ip2k_apply_fix): Pass endianness to
311 cgen_get_insn_value.
312 * config/tc-xstormy16.c (xstormy16_md_apply_fix): Pass
313 endianness to cgen_get_insn_value and cgen_put_insn_value.
314
315 2020-06-04 Jose E. Marchesi <jose.marchesi@oracle.com>
316
317 * config/tc-bpf.c (md_apply_fix): Simplify and avoid using
318 cgen_put_insn_value.
319
320 2020-06-04 Jose E. Marchesi <jose.marchesi@oracle.com>
321
322 * config/tc-bpf.c (md_begin): Pass CGEN_CPU_OPEN_INSN_ENDIAN to
323 bpf_cgen_cpu_open.
324 (md_assemble): Remove no longer needed hack.
325
326 2020-06-04 Jose E. Marchesi <jose.marchesi@oracle.com>
327
328 * cgen.c (gas_cgen_finish_insn): Pass the endianness to
329 cgen_put_insn_value.
330 (gas_cgen_md_apply_fix): Likewise.
331 (gas_cgen_md_apply_fix): Likewise.
332 * config/tc-bpf.c (md_apply_fix): Pass data endianness to
333 cgen_put_insn_value.
334 * config/tc-mep.c (mep_check_ivc2_scheduling): Pass endianness to
335 cgen_put_insn_value.
336
337 2020-06-04 Alan Modra <amodra@gmail.com>
338
339 * testsuite/config/default.exp: Remove global directive outside
340 proc body.
341 * testsuite/gas/mep/complex-relocs.exp: Likewise.
342 * testsuite/gas/microblaze/relax_size.exp: Likewise.
343 * testsuite/gas/microblaze/reloc_sym.exp: Likewise.
344 * testsuite/gas/mt/relocs.exp: Likewise.
345 * testsuite/gas/rx/rx.exp: Likewise.
346
347 2020-06-03 Stephen Casner <casner@acm.org>
348
349 * doc/c-riscv.texi (RISC-V-Options): Fix non-ASCII apostrophe.
350
351 2020-06-02 Frédéric Pétrot <frederic.petrot@univ-grenoble-alpes.fr>
352 Jim Wilson <jimw@sifive.com>
353
354 PR 26051
355 * doc/c-riscv.texi (RISC-V-Formats): Add missing I format using
356 simm12(rs1). Correct S format to use simm12(rs1). Drop SB and B
357 formats using simm12(rs1). Correct SB and B to use rs1 and rs2.
358 Move B before SB. Move J before UJ.
359
360 2020-06-01 Alex Coplan <alex.coplan@arm.com>
361
362 * write.c (relax_segment): Fix handling of negative offset when
363 relaxing an rs_org frag.
364 * testsuite/gas/aarch64/org-neg.d: New test.
365 * testsuite/gas/aarch64/org-neg.l: Error output for test.
366 * testsuite/gas/aarch64/org-neg.s: Input for test.
367 * testsuite/gas/arm/org-neg.d: New test.
368 * testsuite/gas/arm/org-neg.l: Error output for test.
369 * testsuite/gas/arm/org-neg.s: Input for test.
370
371 2020-05-28 Stephen Casner <casner@acm.org>
372
373 Fix unexpected failures in gas testsuite for pdp11-aout target.
374 These are caused by the PDP11's mix of little-endian octets in
375 shorts but shorts in big endian order for long or quad.
376
377 * config/tc-pdp11.c (md_number_to_chars): Implement .quad
378 * testsuite/gas/all/gas.exp: Select alternate test scripts for
379 pdp11, skip octa test completely.
380 * testsuite/gas/all/eqv-dot-pdp11.s: Identical to eqv-dot.s
381 * testsuite/gas/all/eqv-dot-pdp11.d: Match different octet order.
382 * testsuite/gas/all/cond-pdp11.l: Match different octet order.
383
384 2020-05-28 Alex Coplan <alex.coplan@arm.com>
385
386 * frags.c (frag_grow): Fix comment.
387
388 2020-05-27 Stephen Casner <casner@acm.org>
389
390 PR gas/26001
391 * config/tc-pdp11.c (parse_reg): Distinguish register names from
392 symbols that begin with a register name.
393 * testsuite/gas/pdp11/pdp11.exp: Add test of such symbols.
394 * testsuite/gas/pdp11/pr26001.s: Likewise.
395 * testsuite/gas/pdp11/pr26001.d: Likewise.
396
397 2020-05-27 Simon Cook <simon.cook@embecosm.com>
398
399 * config/tc-riscv.c (riscv_init_csr_hash): NULL initilize next
400 pointer when creating struct riscv_csr_extra.
401
402 2020-05-26 H.J. Lu <hongjiu.lu@intel.com>
403
404 * testsuite/gas/i386/align-branch-9.d: Updated for PECOFF.
405 * testsuite/gas/i386/inval-avx512f.s: Add .p2align for PECOFF.
406 * testsuite/gas/i386/inval-avx512f.l: Updated.
407
408 2020-05-26 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
409
410 * testsuite/gas/s390/zarch-z13.d: Add regexp checks for vector
411 load/store instruction variants with alignment hints.
412 * testsuite/gas/s390/zarch-z13.s: Emit new vector load/store
413 instruction variants with alignment hints.
414
415 2020-05-26 H.J. Lu <hongjiu.lu@intel.com>
416
417 PR gas/26044
418 * config/tc-xgate.c (md_apply_fix): Check BFD_RELOC_XGATE_PCREL_X
419 instead of R_XGATE_PCREL_X.
420 (xgate_parse_operand): Replace R_XGATE_PCREL_X with
421 BFD_RELOC_XGATE_PCREL_X.
422
423 2020-05-26 H.J. Lu <hongjiu.lu@intel.com>
424
425 PR gas/26044
426 * config/tc-visium.c (md_convert_frag): Replace fragP->fr_literal
427 with &fragP->fr_literal[0].
428
429 2020-05-26 H.J. Lu <hongjiu.lu@intel.com>
430
431 PR gas/26044
432 * config/tc-vax.c (md_estimate_size_before_relax): Replace
433 fragP->fr_literal with &fragP->fr_literal[0].
434 (md_convert_frag): Likewise.
435
436 2020-05-26 H.J. Lu <hongjiu.lu@intel.com>
437
438 PR gas/26044
439 * config/tc-v850.c (md_convert_frag): Replace fragP->fr_literal
440 with &fragP->fr_literal[0].
441
442 2020-05-26 H.J. Lu <hongjiu.lu@intel.com>
443
444 PR gas/26044
445 * config/tc-crx.c (getreg_image): Change argument type to int.
446 (md_convert_frag): Replace fragP->fr_literal with
447 &fragP->fr_literal[0].
448
449 2020-05-26 H.J. Lu <hongjiu.lu@intel.com>
450
451 PR gas/26044
452 * onfig/tc-score.c (s3_do_macro_bcmp): Replace overlapping
453 sprintf with memmove.
454
455 2020-05-25 H.J. Lu <hongjiu.lu@intel.com>
456
457 * config/tc-mcore.c (md_convert_frag): Replace fragP->fr_literal
458 with &fragP->fr_literal[0].
459
460 2020-05-25 H.J. Lu <hongjiu.lu@intel.com>
461
462 PR gas/26041
463 * config/tc-cr16.c (md_assemble): Use memmove to concatenate
464 2 overlapping strings.
465
466 2020-05-25 H.J. Lu <hongjiu.lu@intel.com>
467
468 * config/tc-cr16.c (md_convert_frag): Replace fragP->fr_literal
469 with &fragP->fr_literal[0].
470
471 2020-05-25 H.J. Lu <hongjiu.lu@intel.com>
472
473 * config/tc-csky.c (md_convert_frag): Replace fragp->fr_literal
474 with &fragp->fr_literal[0].
475 * config/tc-microblaze.c (md_apply_fix): Likewise.
476 * config/tc-sh.c (md_convert_frag): Likewise.
477
478 2020-05-24 Jim Wilson <jimw@sifive.com>
479
480 PR 26025
481 * config/tc-riscv.c (riscv_pre_output_hook): Change s type from const
482 asection to segT. New locals seg and subseg. Call subseg_set before
483 fix_new_exp. Call subseg_set after loop to restore original values.
484
485 2020-05-21 Alan Modra <amodra@gmail.com>
486
487 * atof-generic.c: Replace "if (x) free (x)" with "free (x)"
488 throughout.
489 * config/obj-elf.c: Likewise.
490 * config/tc-aarch64.c: Likewise.
491 * config/tc-arm.c: Likewise.
492 * config/tc-m68k.c: Likewise.
493 * config/tc-nios2.c: Likewise.
494 * config/tc-tic30.c: Likewise.
495 * ecoff.c: Likewise.
496 * read.c: Likewise.
497 * stabs.c: Likewise.
498 * symbols.c: Likewise.
499 * testsuite/gas/all/test-gen.c: Likewise.
500
501 2020-05-20 Nelson Chu <nelson.chu@sifive.com>
502
503 * testsuite/gas/riscv/priv-reg-fail-read-only-01.s: Updated.
504 * config/tc-riscv.c (default_arch_with_ext, default_isa_spec):
505 Static variables which are used to set the ISA extensions. You can
506 use -march (or ELF build attributes) and -misa-spec to set them,
507 respectively.
508 (ext_version_hash): The hash table used to handle the extensions
509 with versions.
510 (init_ext_version_hash): Initialize the ext_version_hash according
511 to riscv_ext_version_table.
512 (riscv_get_default_ext_version): The callback function of
513 riscv_parse_subset_t. According to the choosed ISA spec,
514 get the default version for the specific extension.
515 (riscv_set_arch): Set the callback function.
516 (enum options, struct option md_longopts): Add new option -misa-spec.
517 (md_parse_option): Do not call riscv_set_arch for -march. We will
518 call it later in riscv_after_parse_args. Call riscv_get_isa_spec_class
519 to set default_isa_spec class.
520 (riscv_after_parse_args): Call init_ext_version_hash to initialize the
521 ext_version_hash, and then call riscv_set_arch to set the architecture
522 with versions according to default_arch_with_ext.
523 * testsuite/gas/riscv/attribute-02.d: Set 0p0 as default version for
524 x extensions.
525 * testsuite/gas/riscv/attribute-03.d: Likewise.
526 * testsuite/gas/riscv/attribute-09.d: New testcase. For i-ext, we
527 already set it's version to 2p1 by march, so no need to use the default
528 2p2 version. For m-ext, we do not set the version by -march and ELF arch
529 attribute, so set the default 2p0 to it. For zicsr, it is not defined in
530 ISA spec 2p2, so set 0p0 to it.
531 * testsuite/gas/riscv/attribute-10.d: New testcase. The version of
532 zicsr is 2p0 according to ISA spec 20191213.
533 * config/tc-riscv.c (DEFAULT_RISCV_ARCH_WITH_EXT)
534 (DEFAULT_RISCV_ISA_SPEC): Default configure option settings.
535 You can set them by configure options --with-arch and
536 --with-isa-spec, respectively.
537 (riscv_set_default_isa_spec): New function used to set the
538 default ISA spec.
539 (md_parse_option): Call riscv_set_default_isa_spec rather than
540 call riscv_get_isa_spec_class directly.
541 (riscv_after_parse_args): If the -isa-spec is not set, then we
542 set the default ISA spec according to DEFAULT_RISCV_ISA_SPEC by
543 calling riscv_set_default_isa_spec.
544 * testsuite/gas/riscv/attribute-01.d: Add -misa-spec=2.2, since
545 the --with-isa-spec may be set to different ISA spec.
546 * testsuite/gas/riscv/attribute-02.d: Likewise.
547 * testsuite/gas/riscv/attribute-03.d: Likewise.
548 * testsuite/gas/riscv/attribute-04.d: Likewise.
549 * testsuite/gas/riscv/attribute-05.d: Likewise.
550 * testsuite/gas/riscv/attribute-06.d: Likewise.
551 * testsuite/gas/riscv/attribute-07.d: Likewise.
552 * configure.ac: Add configure options, --with-arch and
553 --with-isa-spec.
554 * configure: Regenerated.
555 * config.in: Regenerated.
556 * config/tc-riscv.c (default_priv_spec): Static variable which is
557 used to check if the CSR is valid for the chosen privilege spec. You
558 can use -mpriv-spec to set it.
559 (enum reg_class): We now get the CSR address from csr_extra_hash rather
560 than reg_names_hash. Therefore, move RCLASS_CSR behind RCLASS_MAX.
561 (riscv_init_csr_hashes): Only need to initialize one hash table
562 csr_extra_hash.
563 (riscv_csr_class_check): Change the return type to void. Don't check
564 the ISA dependency if -mcsr-check isn't set.
565 (riscv_csr_version_check): New function. Check and find the CSR address
566 from csr_extra_hash, according to default_priv_spec. Report warning
567 for the invalid CSR if -mcsr-check is set.
568 (reg_csr_lookup_internal): Updated.
569 (reg_lookup_internal): Likewise.
570 (md_begin): Updated since DECLARE_CSR and DECLARE_CSR_ALIAS are changed.
571 (enum options, struct option md_longopts): Add new GAS option -mpriv-spec.
572 (md_parse_option): Call riscv_set_default_priv_version to set
573 default_priv_spec.
574 (riscv_after_parse_args): If -mpriv-spec isn't set, then set the default
575 privilege spec to the newest one.
576 (enum riscv_csr_class, struct riscv_csr_extra): Move them to
577 include/opcode/riscv.h.
578 * testsuite/gas/riscv/priv-reg-fail-fext.d: This test case just want
579 to check the ISA dependency for CSR, so fix the spec version by adding
580 -mpriv-spec=1.11.
581 * testsuite/gas/riscv/priv-reg-fail-fext.l: Likewise. There are some
582 version warnings for the test case.
583 * gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.d: Likewise.
584 * gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.l: Likewise.
585 * gas/testsuite/gas/riscv/priv-reg-fail-read-only-02.d: Likewise.
586 * gas/testsuite/gas/riscv/priv-reg-fail-rv32-only.d: Likewise.
587 * gas/testsuite/gas/riscv/priv-reg-fail-rv32-only.l: Likewise.
588 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p9.d: New test case.
589 Check whether the CSR is valid when privilege version 1.9 is choosed.
590 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p9.l: Likewise.
591 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p9p1.d: New test case.
592 Check whether the CSR is valid when privilege version 1.9.1 is choosed.
593 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p9p1.l: Likewise.
594 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p10.d: New test case.
595 Check whether the CSR is valid when privilege version 1.10 is choosed.
596 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p10.l: Likewise.
597 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p11.d: New test case.
598 Check whether the CSR is valid when privilege version 1.11 is choosed.
599 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p11.l: Likewise.
600 * config/tc-riscv.c (DEFAULT_RISCV_ISA_SPEC): Default configure option
601 setting. You can set it by configure option --with-priv-spec.
602 (riscv_set_default_priv_spec): New function used to set the default
603 privilege spec.
604 (md_parse_option): Call riscv_set_default_priv_spec rather than
605 call riscv_get_priv_spec_class directly.
606 (riscv_after_parse_args): If -mpriv-spec isn't set, then we set the
607 default privilege spec according to DEFAULT_RISCV_PRIV_SPEC by
608 calling riscv_set_default_priv_spec.
609 * testsuite/gas/riscv/csr-dw-regnums.d: Add -mpriv-spec=1.11, since
610 the --with-priv-spec may be set to different privilege spec.
611 * testsuite/gas/riscv/priv-reg.d: Likewise.
612 * configure.ac: Add configure option --with-priv-spec.
613 * configure: Regenerated.
614 * config.in: Regenerated.
615 * config/tc-riscv.c (explicit_attr): Rename explicit_arch_attr to
616 explicit_attr. Set it to TRUE if any ELF attribute is found.
617 (riscv_set_default_priv_spec): Try to set the default_priv_spec if
618 the priv attributes are set.
619 (md_assemble): Set the default_priv_spec according to the priv
620 attributes when we start to assemble instruction.
621 (riscv_write_out_attrs): Rename riscv_write_out_arch_attr to
622 riscv_write_out_attrs. Update the arch and priv attributes. If we
623 don't set the corresponding ELF attributes, then try to output the
624 default ones.
625 (riscv_set_public_attributes): If any ELF attribute or -march-attr
626 options is set (explicit_attr is TRUE), then call riscv_write_out_attrs
627 to update the arch and priv attributes.
628 (s_riscv_attribute): Make sure all arch and priv attributes are set
629 before any instruction.
630 * testsuite/gas/riscv/attribute-01.d: Update the priv attributes if any
631 ELF attribute or -march-attr is set. If the priv attributes are not
632 set, then try to update them by the default setting (-mpriv-spec or
633 --with-priv-spec).
634 * testsuite/gas/riscv/attribute-02.d: Likewise.
635 * testsuite/gas/riscv/attribute-03.d: Likewise.
636 * testsuite/gas/riscv/attribute-04.d: Likewise.
637 * testsuite/gas/riscv/attribute-06.d: Likewise.
638 * testsuite/gas/riscv/attribute-07.d: Likewise.
639 * testsuite/gas/riscv/attribute-08.d: Likewise.
640 * testsuite/gas/riscv/attribute-09.d: Likewise.
641 * testsuite/gas/riscv/attribute-10.d: Likewise.
642 * testsuite/gas/riscv/attribute-unknown.d: Likewise.
643 * testsuite/gas/riscv/attribute-05.d: Likewise. Also, the priv spec
644 set by priv attributes must be supported.
645 * testsuite/gas/riscv/attribute-05.s: Likewise.
646 * testsuite/gas/riscv/priv-reg-fail-version-1p9.d: Likewise. Updated
647 priv attributes according to the -mpriv-spec option.
648 * testsuite/gas/riscv/priv-reg-fail-version-1p9p1.d: Likewise.
649 * testsuite/gas/riscv/priv-reg-fail-version-1p10.d: Likewise.
650 * testsuite/gas/riscv/priv-reg-fail-version-1p11.d: Likewise.
651 * testsuite/gas/riscv/priv-reg.d: Removed.
652 * testsuite/gas/riscv/priv-reg-version-1p9.d: New test case. Dump the
653 CSR according to the priv spec 1.9.
654 * testsuite/gas/riscv/priv-reg-version-1p9p1.d: New test case. Dump the
655 CSR according to the priv spec 1.9.1.
656 * testsuite/gas/riscv/priv-reg-version-1p10.d: New test case. Dump the
657 CSR according to the priv spec 1.10.
658 * testsuite/gas/riscv/priv-reg-version-1p11.d: New test case. Dump the
659 CSR according to the priv spec 1.11.
660 * config/tc-riscv.c (md_show_usage): Add descriptions about
661 the new GAS options.
662 * doc/c-riscv.texi: Likewise.
663
664 2020-05-19 Peter Bergner <bergner@linux.ibm.com>
665
666 * testsuite/gas/ppc/power9.s <dcbf, dcbfl, dcbflp>: Add tests.
667 * testsuite/gas/ppc/power9.d: Likewise.
668 * testsuite/gas/ppc/power10.s <dcbf, dcbfps, dcbstps, hwsync, lwsync,
669 pause_short, phwsync, plwsync, ptesync, stcisync, stncisync, stsync,
670 sync, wait, waitrsv>: Add tests.
671 * testsuite/gas/ppc/power10.d: Likewise.
672
673 2020-05-19 Alexander Fedotov <alfedotov@gmail.com>
674
675 PR 25992
676 * config/tc-arm.c : Add arm_ext_v8r feature.
677 (it_fsm_post_encode): Check arm_ext_v8r feature.
678 (get_aeabi_cpu_arch_from_fset): Check arm_ext_v8r feature.
679
680 2020-05-19 Alan Modra <amodra@gmail.com>
681
682 * write.c (write_contents): Use bfd_get_filename rather than
683 accessing bfd->filename directly. Use bfd_section_name rather
684 than accessing section->name directly.
685
686 2020-05-19 Alan Modra <amodra@gmail.com>
687
688 * symbols.c (local_symbol_make): Init all of lsy_flags.
689
690 2020-05-18 Alan Modra <amodra@gmail.com>
691
692 * symbols.c (resolve_symbol_value): Invoke LOCAL_SYMBOL_CHECK
693 before looking at add_symbol->sy_flags.
694
695 2020-05-18 Hongtao Liu <hongtao.liu@intel.com>
696
697 * config/tc-i386.c: Not handle lret/iret.
698 * testsuite/gas/i386/lfence-ret-a.d: Adjust testcase.
699 * testsuite/gas/i386/lfence-ret-b.d: Ditto.
700 * testsuite/gas/i386/lfence-ret-c.d: Ditto.
701 * testsuite/gas/i386/lfence-ret-d.d: Ditto.
702 * testsuite/gas/i386/lfence-ret.s: Ditto.
703 * testsuite/gas/i386/x86-64-lfence-ret-a.d: Ditto.
704 * testsuite/gas/i386/x86-64-lfence-ret-b.d: Ditto.
705 * testsuite/gas/i386/x86-64-lfence-ret-c.d: Ditto.
706 * testsuite/gas/i386/x86-64-lfence-ret-d.d: Ditto.
707 * testsuite/gas/i386/x86-64-lfence-ret-e.d: Ditto.
708 * testsuite/gas/i386/x86-64-lfence-ret.s: Ditto.
709 * testsuite/gas/i386/x86-64-lfence-ret.e: Deleted.
710
711 2020-05-15 Alan Modra <amodra@gmail.com>
712 Alex Coplan <alex.coplan@arm.com>
713
714 * symbols.c (struct local_symbol): Update comment.
715 (resolve_symbol_value): For resolved symbols equated to other
716 symbols, verify that the referenced symbol is not a local_symbol
717 before accessing sy_value. Don't leave symbol loops during
718 finalize_syms resolution.
719 * testsuite/gas/all/assign-bad-recursive.d: New test.
720 * testsuite/gas/all/assign-bad-recursive.l: Error output for test.
721 * testsuite/gas/all/assign-bad-recursive.s: Assembly for test.
722 * testsuite/gas/all/gas.exp: Run it.
723
724 2020-05-14 Nick Clifton <nickc@redhat.com>
725
726 * po/sv.po: Updated Swedish translation.
727
728 2020-05-11 Alan Modra <amodra@gmail.com>
729
730 * testsuite/gas/ppc/scalarquad.d,
731 * testsuite/gas/ppc/scalarquad.s: New test.
732 * testsuite/gas/ppc/ppc.exp: Run it.
733
734 2020-05-11 Alan Modra <amodra@gmail.com>
735
736 * testsuite/gas/ppc/rightmost.d,
737 * testsuite/gas/ppc/rightmost.s: New test.
738 * testsuite/gas/ppc/ppc.exp: Run it.
739
740 2020-05-11 Alan Modra <amodra@gmail.com>
741
742 * testsuite/gas/ppc/xvtlsbb.d,
743 * testsuite/gas/ppc/xvtlsbb.s: New test.
744 * testsuite/gas/ppc/ppc.exp: Run it.
745
746 2020-05-11 Alan Modra <amodra@gmail.com>
747
748 * testsuite/gas/ppc/stringop.d,
749 * testsuite/gas/ppc/stringop.s: New test.
750 * testsuite/gas/ppc/ppc.exp: Run it.
751
752 2020-05-11 Peter Bergner <bergner@linux.ibm.com>
753
754 * testsuite/gas/ppc/set_bool.d,
755 * testsuite/gas/ppc/set_bool.s: New test.
756 * testsuite/gas/ppc/ppc.exp: Run it.
757
758 2020-05-11 Alan Modra <amodra@gmail.com>
759
760 * testsuite/gas/ppc/bitmanip.d,
761 * testsuite/gas/ppc/bitmanip.s: New test.
762 * testsuite/gas/ppc/ppc.exp: Run it.
763
764 2020-05-11 Alan Modra <amodra@gmail.com>
765
766 * testsuite/gas/ppc/genpcv.d,
767 * testsuite/gas/ppc/genpcv.s: New test.
768 * testsuite/gas/ppc/ppc.exp: Run it.
769
770 2020-05-11 Alan Modra <amodra@gmail.com>
771
772 * testsuite/gas/ppc/maskmanip.d,
773 * testsuite/gas/ppc/maskmanip.s: New test.
774 * testsuite/gas/ppc/ppc.exp: Run it.
775
776 2020-05-11 Alan Modra <amodra@gmail.com>
777 Peter Bergner <bergner@linux.ibm.com>
778
779 * config/tc-ppc.c (pre_defined_registers): Add accumulators.
780 (md_assemble): Check acc specified in correct operand.
781 * testsuite/gas/ppc/outerprod.d,
782 * testsuite/gas/ppc/outerprod.s,
783 * testsuite/gas/ppc/vsx4.d,
784 * testsuite/gas/ppc/vsx4.s: New tests.
785 * testsuite/gas/ppc/ppc.exp: Run them.
786
787 2020-05-11 Alan Modra <amodra@gmail.com>
788
789 * testsuite/gas/ppc/simd_perm.d,
790 * testsuite/gas/ppc/simd_perm.s: New test.
791 * testsuite/gas/ppc/ppc.exp: Run it.
792
793 2020-05-11 Alan Modra <amodra@gmail.com>
794
795 * testsuite/gas/ppc/int128.d,
796 * testsuite/gas/ppc/int128.s: New test.
797 * testsuite/gas/ppc/ppc.exp: Run it.
798
799 2020-05-11 Alan Modra <amodra@gmail.com>
800
801 * testsuite/gas/ppc/vsx_32byte.d,
802 * testsuite/gas/ppc/vsx_32byte.s: New test.
803 * testsuite/gas/ppc/ppc.exp: Run it.
804
805 2020-05-11 Alan Modra <amodra@gmail.com>
806
807 * testsuite/gas/ppc/vec_mul.s,
808 * testsuite/gas/ppc/vec_mul.d: New test.
809 * testsuite/gas/ppc/ppc.exp: Run it.
810
811 2020-05-11 Peter Bergner <bergner@linux.ibm.com>
812
813 * testsuite/gas/ppc/byte_rev.d,
814 * testsuite/gas/ppc/byte_rev.s: New test.
815 * testsuite/gas/ppc/ppc.exp: Run it.
816
817 2020-05-11 Peter Bergner <bergner@linux.ibm.com>
818
819 * testsuite/gas/ppc/power10.d: Add paste. tests.
820 * testsuite/gas/ppc/power10.s: Likewise.
821
822 2020-05-11 Peter Bergner <bergner@linux.ibm.com>
823
824 * testsuite/gas/ppc/power10.s: New test.
825 * testsuite/gas/ppc/power10.d: Likewise.
826 * testsuite/gas/ppc/ppc.exp: Run it.
827
828 2020-05-11 Alan Modra <amodra@gmail.com>
829
830 * config/tc-ppc.c (md_assemble): Update for PPC_OPCODE_POWER10
831 renaming.
832 * testsuite/gas/ppc/prefix-align.d: Use -mpower10/-Mpower10 in
833 place of -mfuture/-Mfuture.
834 * testsuite/gas/ppc/prefix-pcrel.d: Likewise.
835 * testsuite/gas/ppc/prefix-reloc.d: Likewise.
836
837 2020-05-06 Nick Clifton <nickc@redhat.com>
838
839 * po/sv.po: Updated Swedish translation.
840
841 2020-05-06 Nick Clifton <nickc@redhat.com>
842
843 PR 25927
844 * doc/as.texi (Preprocessing): Replace cross reference to not
845 existant document with a URL to the equivalent page in the GCC
846 manual.
847
848 2020-05-05 Nick Clifton <nickc@redhat.com>
849
850 * dwarf2dbg.c (out_dir_and_file_list): Add comments describing the
851 construction of a DWARF-5 directory name table.
852 * testsuite/gas/elf/pr25917.d: Update expected output.
853
854 2020-05-05 Gunther Nikl <gnikl@justmail.de>
855
856 * config/tc-rx.c (elf_flags): Initialize for non-linux targets.
857 (md_parse_option): Remove initialization of elf_flags.
858
859 2020-05-04 Andre Vieira <andre.simoesdiasvieira@arm.com>
860
861 PR gas/25863
862 * config/tc-arm.c (do_mve_vmull): Fix scalar and NEON parsing of vmul.
863 * testsuite/gas/arm/mve-scalar-vmult-it.d: New test.
864 * testsuite/gas/arm/mve-scalar-vmult-it.s: New test.
865
866 2020-05-04 Nick Clifton <nickc@redhat.com>
867
868 PR 25917
869 * dwarf2dbg.c (out_dir_and_file_list): Check for the directory
870 table's existence before looking at its entries.
871 Also do not emit a default directory entry if there are no
872 directories in use.
873
874 * testsuite/gas/elf/pr25917.s: New test source file.
875 * testsuite/gas/elf/pr25917.d: New test driver.
876 * testsuite/gas/elf/elf.exp (run_elf_list_test): Run the new test.
877
878 2020-04-30 Alex Coplan <alex.coplan@arm.com>
879
880 * config/tc-aarch64.c (fix_insn): Implement for
881 AARCH64_OPND_UNDEFINED.
882 (parse_operands): Implement for AARCH64_OPND_UNDEFINED.
883 * testsuite/gas/aarch64/udf.s: New.
884 * testsuite/gas/aarch64/udf.d: New.
885 * testsuite/gas/aarch64/udf-invalid.s: New.
886 * testsuite/gas/aarch64/udf-invalid.l: New.
887 * testsuite/gas/aarch64/udf-invalid.d: New.
888
889 2020-04-30 Yoshinori Sato <ysato@users.sourceforge.jp>
890
891 * config/tc-rx.c (elf_flags): Reset default value.
892 (md_parse_option): For rx-elf Initialize elf_flags with RX_ABI.
893
894 2020-04-29 Max Filippov <jcmvbkbc@gmail.com>
895
896 * config/tc-xtensa.c (XTENSA_MARCH_EARLIEST): Define macro as 0
897 if it's not defined.
898 (microarch_earliest): New static variable.
899 (xg_translate_idioms): Translate "simcall" to "simcall 0" when
900 simcall opcode has mandatory parameter.
901 (xg_init_global_config): Initialize microarch_earliest.
902
903 2020-04-29 Nick Clifton <nickc@redhat.com>
904
905 PR 22699
906 * config/tc-sh.c (build_Mytes): Change operand type IMM0_8 to
907 IMM0_8S and add support for IMM0_8U.
908 * testsuite/gas/sh/sh4a.s: Add test of a logical insn using an
909 unsigned 8-bit immediate.
910 * testsuite/gas/sh/sh4a.d: Extended expected disassembly.
911 * testsuite/gas/sh/sh4al-dsp.d: Update expected disassembly.
912
913 2020-04-27 Tamar Christina <tamar.christina@arm.com>
914
915 * NEWS: Add news entry for big-obj.
916 * config/tc-i386.c (i386_target_format): Support new format.
917 * doc/c-i386.texi: Add i386 support.
918 * testsuite/gas/pe/big-obj.d: Rename test to not be x64 specific.
919 * testsuite/gas/pe/pe.exp (big-obj): Make test run on i386 as well.
920
921 2020-04-27 Nick Clifton <nickc@redhat.com>
922
923 PR 25878
924 * dwarf2dbg.c (struct file_entry): Add auto_assigned field.
925 (assign_file_to_slot): New function. Fills in an entry in the
926 files table.
927 (allocate_filenum): Use new function.
928 (allocate_filename_to_slot): Use new function. If the specified
929 slot entry is already in use, but was chosen automatically then
930 reassign the automatic entry.
931
932 2020-04-26 Hongtao Liu <hongtao.liu@intel.com
933
934 * config/tc-i386.c (lfence_before_ret_shl): New member.
935 (load_insn_p): implict load for POP/POPA/POPF/XLATB, no load
936 for Anysize insns.
937 (insert_after_load): Issue warning for REP CMPS/SCAS.
938 (insert_before_before): Handle iret, Handle
939 -mlfence-before-ret=shl, Adjust operand size of or/not/shl to ret's,
940 (md_parse_option): Change -mlfence-before-ret=[none|not|or] to
941 -mlfence-before-ret=[none/not/or/shl/yes].
942 Enable -mlfence-before-ret=shl when
943 -mlfence-beofre-indirect-branch=all and no explict -mlfence-before-ret option.
944 (md_show_usage): Ditto.
945 * doc/c-i386.texi: Ditto.
946 * testsuite/gas/i386/i386.exp: Add new testcases.
947 * testsuite/gas/i386/lfence-load-b.d: New.
948 * testsuite/gas/i386/lfence-load-b.e: New.
949 * testsuite/gas/i386/lfence-load.d: Modified.
950 * testsuite/gas/i386/lfence-load.e: New.
951 * testsuite/gas/i386/lfence-load.s: Modified.
952 * testsuite/gas/i386/lfence-ret-a.d: Modified.
953 * testsuite/gas/i386/lfence-ret-b.d: Modified.
954 * testsuite/gas/i386/lfence-ret-c.d: New.
955 * testsuite/gas/i386/lfence-ret-d.d: New.
956 * testsuite/gas/i386/lfence-ret.s: Modified.
957 * testsuite/gas/i386/x86-64-lfence-load-b.d: New.
958 * testsuite/gas/i386/x86-64-lfence-load.d: Modified.
959 * testsuite/gas/i386/x86-64-lfence-load.s: Modified.
960 * testsuite/gas/i386/x86-64-lfence-ret-a.d: Modified.
961 * testsuite/gas/i386/x86-64-lfence-ret-b.d: Modified.
962 * testsuite/gas/i386/x86-64-lfence-ret-c.d: New.
963 * testsuite/gas/i386/x86-64-lfence-ret-d.d: New
964 * testsuite/gas/i386/x86-64-lfence-ret-e.d: New.
965 * testsuite/gas/i386/x86-64-lfence-ret.e: New.
966 * testsuite/gas/i386/x86-64-lfence-ret.s: New.
967
968 2020-04-22 Max Filippov <jcmvbkbc@gmail.com>
969
970 PR ld/25861
971 * config/tc-xtensa.c (md_apply_fix): Replace
972 BFD_RELOC_XTENSA_DIFF{8,16,32} generation with
973 BFD_RELOC_XTENSA_PDIFF{8,16,32} and
974 BFD_RELOC_XTENSA_NDIFF{8,16,32} generation.
975 * testsuite/gas/xtensa/loc.d: Replace BFD_RELOC_XTENSA_DIFF16
976 with BFD_RELOC_XTENSA_PDIFF16 in the expected output.
977
978 2020-04-22 Alan Modra <amodra@gmail.com>
979
980 * config/obj-elf.c (elf_frob_symbol): Unconditionally remove
981 symbol for ".symver .. remove".
982 * doc/as.texi (.symver): Update.
983 * testsuite/gas/symver/symver11.s: Make foo weak.
984 * testsuite/gas/symver/symver11.d: Expect an error.
985 * testsuite/gas/symver/symver7.d: Allow other random symbols.
986
987 2020-04-21 H.J. Lu <hongjiu.lu@intel.com>
988
989 * testsuite/gas/symver/symver11.s: Add ".balign 8".
990
991 2020-04-21 Andreas Schwab <schwab@linux-m68k.org>
992
993 PR 25848
994 * testsuite/gas/m68k/operands.s: Add tests for cmpi.
995 * testsuite/gas/m68k/operands.d: Update.
996 * testsuite/gas/m68k/op68000.d: Update for new error messages.
997
998 2020-04-21 Tamar Christina <tamar.christina@arm.com>
999
1000 PR binutils/24753
1001 * testsuite/gas/arm/pr24753.d: New test.
1002 * testsuite/gas/arm/pr24753.s: New test.
1003
1004 2020-04-21 H.J. Lu <hongjiu.lu@intel.com>
1005
1006 PR gas/23840
1007 PR gas/25295
1008 * NEWS: Mention .symver extension.
1009 * config/obj-elf.c (obj_elf_find_and_add_versioned_name): New
1010 function.
1011 (obj_elf_symver): Call obj_elf_find_and_add_versioned_name to
1012 add a version name. Add local, hidden and remove visibility
1013 support.
1014 (elf_frob_symbol): Handle the list of version names. Update the
1015 original symbol to local, hidden or remove it from the symbol
1016 table.
1017 (elf_frob_file_before_adjust): Handle the list of version names.
1018 * config/obj-elf.h (elf_visibility): New.
1019 (elf_versioned_name_list): Likewise.
1020 (elf_obj_sy): Change local to bitfield. Add rename, bad_version
1021 and visibility. Change versioned_name pointer to struct
1022 elf_versioned_name_list.
1023 * doc/as.texi: Update .symver directive.
1024 * testsuite/gas/symver/symver.exp: Run all *.d tests. Add more
1025 error checking tests.
1026 * testsuite/gas/symver/symver6.d: New file.
1027 * testsuite/gas/symver/symver7.d: Likewise.
1028 * testsuite/gas/symver/symver7.s: Likewise.
1029 * testsuite/gas/symver/symver8.d: Likewise.
1030 * testsuite/gas/symver/symver8.s: Likewise.
1031 * testsuite/gas/symver/symver9.s: Likewise.
1032 * testsuite/gas/symver/symver9a.d: Likewise.
1033 * testsuite/gas/symver/symver9b.d: Likewise.
1034 * testsuite/gas/symver/symver10.s: Likewise.
1035 * testsuite/gas/symver/symver10a.d: Likewise.
1036 * testsuite/gas/symver/symver10b.d: Likewise.
1037 * testsuite/gas/symver/symver11.d: Likewise.
1038 * testsuite/gas/symver/symver11.s: Likewise.
1039 * testsuite/gas/symver/symver12.d: Likewise.
1040 * testsuite/gas/symver/symver12.s: Likewise.
1041 * testsuite/gas/symver/symver13.d: Likewise.
1042 * testsuite/gas/symver/symver13.s: Likewise.
1043 * testsuite/gas/symver/symver14.d: Likewise.
1044 * testsuite/gas/symver/symver14.l: Likewise.
1045 * testsuite/gas/symver/symver15.d: Likewise.
1046 * testsuite/gas/symver/symver15.l: Likewise.
1047 * testsuite/gas/symver/symver6.l: Removed.
1048 * testsuite/gas/symver/symver6.s: Updated.
1049
1050 2020-04-20 Sudakshina Das <sudi.das@arm.com>
1051
1052 * config/tc-aarch64.c (parse_barrier_psb): Update error messages
1053 to include TSB.
1054 * testsuite/gas/aarch64/system-2.d: Update -march and new tsb tests.
1055 * testsuite/gas/aarch64/system-2.s: Add new tsb tests.
1056 * testsuite/gas/aarch64/system.d: Update.
1057
1058 2020-04-20 Sudakshina Das <sudi.das@arm.com>
1059
1060 * testsuite/gas/aarch64/bti.d: Update -march option.
1061 * testsuite/gas/aarch64/illegal-bti.d: Remove.
1062 * testsuite/gas/aarch64/illegal-bti.l: Remove.
1063 * testsuite/gas/aarch64/illegal-ras-1.l: Remove esb.
1064 * testsuite/gas/aarch64/illegal-ras-1.s: Remove esb.
1065
1066 2020-04-17 Alan Modra <amodra@gmail.com>
1067
1068 * config/tc-bfin.h (TC_EQUAL_IN_INSN): Allow assignment to dot.
1069
1070 2020-04-16 Gagan Singh Sidhu <broly@mac.com>
1071 Nick Clifton <nickc@redhat.com>
1072
1073 PR 25803
1074 * config/obj-elf.c (obj_elf_type): Reject ifunc symbols on MIPS
1075 targets.
1076 * testsuite/gas/elf/elf.exp: Add MIPS targets to the list to skip
1077 for the type-2 test.
1078 * testsuite/gas/elf/type-noifunc.e: Update to allow for MIPS
1079 targets running this test.
1080
1081 2020-02-16 David Faust <david.faust@oracle.com>
1082
1083 * testsuite/gas/bpf/bpf.exp: Run jump32 tests.
1084 * testsuite/gas/bpf/jump32.s: New file.
1085 * testsuite/gas/bpf/jump32.d: Likewise.
1086
1087 2020-04-08 H.J. Lu <hongjiu.lu@intel.com>
1088
1089 * doc/c-i386.texi: Correct -mlfence-before-indirect-branch=
1090 documentation.
1091
1092 2020-04-08 Gunther Nikl <gnikl@justmail.de>
1093
1094 * config/tc-moxie.h (MD_PCREL_FROM_SECTION): Delete define.
1095 (md_pcrel_from): Remove prototytpe.
1096 * config/tc-m32c.h (MD_PCREL_FROM_SECTION): Delete duplicate
1097 define.
1098 (md_pcrel_from_section): Remove duplicate prototype.
1099 * tc.h (md_pcrel_from_section): Add prototype.
1100 * config/tc-aarch64.h (md_pcrel_from_section): Remove prototype.
1101 * config/tc-arc.h (md_pcrel_from_section): Likewise.
1102 * config/tc-arm.h (md_pcrel_from_section): Likewise.
1103 * config/tc-avr.h (md_pcrel_from_section): Likewise.
1104 * config/tc-bfin.h (md_pcrel_from_section): Likewise.
1105 * config/tc-bpf.h (md_pcrel_from_section): Likewise.
1106 * config/tc-csky.h (md_pcrel_from_section): Likewise.
1107 * config/tc-d10v.h (md_pcrel_from_section): Likewise.
1108 * config/tc-d30v.h (md_pcrel_from_section): Likewise.
1109 * config/tc-epiphany.h (md_pcrel_from_section): Likewise.
1110 * config/tc-fr30.h (md_pcrel_from_section): Likewise.
1111 * config/tc-frv.h (md_pcrel_from_section): Likewise.
1112 * config/tc-iq2000.h (md_pcrel_from_section): Likewise.
1113 * config/tc-lm32.h (md_pcrel_from_section): Likewise.
1114 * config/tc-m32c.h (md_pcrel_from_section): Likewise.
1115 * config/tc-m32r.h (md_pcrel_from_section): Likewise.
1116 * config/tc-mcore.h (md_pcrel_from_section): Likewise.
1117 * config/tc-mep.h (md_pcrel_from_section): Likewise.
1118 * config/tc-metag.h (md_pcrel_from_section): Likewise.
1119 * config/tc-microblaze.h (md_pcrel_from_section): Likewise.
1120 * config/tc-mmix.h (md_pcrel_from_section): Likewise.
1121 * config/tc-moxie.h (md_pcrel_from_section): Likewise.
1122 * config/tc-msp430.h (md_pcrel_from_section): Likewise.
1123 * config/tc-mt.h (md_pcrel_from_section): Likewise.
1124 * config/tc-or1k.h (md_pcrel_from_section): Likewise.
1125 * config/tc-ppc.h (md_pcrel_from_section): Likewise.
1126 * config/tc-rl78.h (md_pcrel_from_section): Likewise.
1127 * config/tc-rx.h (md_pcrel_from_section): Likewise.
1128 * config/tc-s390.h (md_pcrel_from_section): Likewise.
1129 * config/tc-sh.h (md_pcrel_from_section): Likewise.
1130 * config/tc-xc16x.h (md_pcrel_from_section): Likewise.
1131 * config/tc-xstormy16.h (md_pcrel_from_section): Likewise.
1132 * config/tc-microblaze.h (md_begin, md_assemble, md_undefined_symbol,
1133 md_show_usage, md_convert_frag, md_operand, md_number_to_chars,
1134 md_estimate_size_before_relax, md_section_align, tc_gen_reloc,
1135 md_apply_fix3): Delete prototypes.
1136
1137 2020-04-07 H.J. Lu <hongjiu.lu@intel.com>
1138
1139 * NEWS: Mention support for Intel SERIALIZE and TSXLDTRK
1140 instructions.
1141
1142 2020-04-07 H.J. Lu <hongjiu.lu@intel.com>
1143
1144 * doc/c-z80.texi: Fix @xref warnings.
1145
1146 2020-04-07 Lili Cui <lili.cui@intel.com>
1147
1148 * config/tc-i386.c (cpu_arch): Add .TSXLDTRK.
1149 (cpu_noarch): Likewise.
1150 * doc/c-i386.texi: Document TSXLDTRK.
1151 * testsuite/gas/i386/i386.exp: Run TSXLDTRK tests.
1152 * testsuite/gas/i386/tsxldtrk.d: Likewise.
1153 * testsuite/gas/i386/tsxldtrk.s: Likewise.
1154 * testsuite/gas/i386/x86-64-tsxldtrk.d: Likewise.
1155
1156 2020-04-02 Lili Cui <lili.cui@intel.com>
1157
1158 * config/tc-i386.c (cpu_arch): Add .serialize.
1159 (cpu_noarch): Likewise.
1160 * doc/c-i386.texi: Document serialize.
1161 * testsuite/gas/i386/i386.exp: Run serialize tests
1162 * testsuite/gas/i386/serialize.d: Likewise.
1163 * testsuite/gas/i386/x86-64-serialize.d: Likewise.
1164 * testsuite/gas/i386/serialize.s: Likewise.
1165
1166 2020-04-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1167
1168 * testsuite/gas/elf/section12a.d: Use notarget instead of xfail.
1169 * testsuite/gas/elf/section12b.d: Likewise.
1170 * testsuite/gas/elf/section16a.d: Likewise.
1171 * testsuite/gas/elf/section16b.d: Likewise.
1172
1173 2020-04-02 Gunther Nikl <gnikl@justmail.de>
1174
1175 * config/tc-m68k.c (m68k_ip): Fix range check for index register
1176 with a suppressed address register.
1177
1178 2020-04-01 H.J. Lu <hongjiu.lu@intel.com>
1179
1180 PR gas/25756
1181 * config/tc-i386.h (TC_FORCE_RELOCATION_ABS): New.
1182 * testsuite/gas/i386/localpic.s: Add a test for relocation
1183 against local absolute symbol.
1184 * testsuite/gas/i386/x86-64-localpic.s: Likewise.
1185 * testsuite/gas/i386/localpic.d: Updated.
1186 * testsuite/gas/i386/x86-64-localpic.d: Likewise.
1187 * testsuite/gas/i386/ilp32/x86-64-localpic.d: Likewise.
1188
1189 2020-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1190
1191 PR gas/25732
1192 * testsuite/gas/i386/solaris/x86-64-branch-2.d: New file.
1193 * testsuite/gas/i386/solaris/x86-64-branch-3.d: New file.
1194 * testsuite/gas/i386/solaris/x86-64-jump.d: Incorporate changes to
1195 testsuite/gas/i386/x86-64-jump.d.
1196 * gas/testsuite/gas/i386/solaris/x86-64-mpx-branch-1.d:
1197 Incorporate changes to
1198 gas/testsuite/gas/i386/x86-64-mpx-branch-1.d.
1199 * testsuite/gas/i386/solaris/x86-64-mpx-branch-2.d : Incorporate
1200 changes to testsuite/gas/i386/x86-64-mpx-branch-2.d.
1201 * testsuite/gas/i386/x86-64-branch-2.d: Skip on *-*-solaris*.
1202 * testsuite/gas/i386/x86-64-branch-3.d: Likewise.
1203
1204 2020-03-31 Maciej W. Rozycki <macro@linux-mips.org>
1205
1206 PR 25611
1207 PR 25614
1208 * dwarf2dbg.c: Do not include "bignum.h".
1209
1210 2020-03-30 Nelson Chu <nelson.chu@sifive.com>
1211
1212 * testsuite/gas/riscv/alias-csr.d: Move this to priv-reg-pseudo.
1213 * testsuite/gas/riscv/alias-csr.s: Likewise.
1214 * testsuite/gas/riscv/no-aliases-csr.d: Move this
1215 to priv-reg-pseudo-noalias.
1216 * testsuite/gas/riscv/bad-csr.d: Rename to priv-reg-fail-nonexistent.
1217 * testsuite/gas/riscv/bad-csr.l: Likewise.
1218 * testsuite/gas/riscv/bad-csr.s: Likewise.
1219 * testsuite/gas/riscv/satp.d: Removed. Already included in priv-reg.
1220 * testsuite/gas/riscv/satp.s: Likewise.
1221 * testsuite/gas/riscv/priv-reg-pseudo.d: New testcase for all pseudo
1222 csr instruction, including alias-csr testcase.
1223 * testsuite/gas/riscv/priv-reg-pseudo.s: Likewise.
1224 * testsuite/gas/riscv/priv-reg-pseudo-noalias.d: New testcase for all
1225 pseudo instruction with objdump -Mno-aliases.
1226 * testsuite/gas/riscv/priv-reg-fail-nonexistent.d: New testcase.
1227 * testsuite/gas/riscv/priv-reg-fail-nonexistent.l: Likewise.
1228 * testsuite/gas/riscv/priv-reg-fail-nonexistent.s: Likewise.
1229 * testsuite/gas/riscv/priv-reg.d: Update CSR to 1.11.
1230 * testsuite/gas/riscv/priv-reg.s: Likewise.
1231 * testsuite/gas/riscv/priv-reg-fail-rv32-only.l: Likewise.
1232 * testsuite/gas/riscv/csr-dw-regnums.d: Likewise.
1233 * testsuite/gas/riscv/csr-dw-regnums.s: Likewise.
1234
1235 2020-03-25 J.W. Jagersma <jwjagersma@gmail.com>
1236
1237 * config/obj-coff.c (obj_coff_section): Set the bss flag on
1238 sections with the "b" attribute.
1239
1240 2020-03-22 Alan Modra <amodra@gmail.com>
1241
1242 * testsuite/gas/s12z/truncated.d: Update expected output.
1243
1244 2020-03-17 Sergey Belyashov <sergey.belyashov@gmail.com>
1245
1246 PR 25690
1247 * config/tc-z80.c (md_pseudo_table): Add xdef anf xref pseudo ops.
1248 * doc/c-z80.texi: Update documentation.
1249
1250 2020-03-17 Sergey Belyashov <sergey.belyashov@gmail.com>
1251
1252 PR 25641
1253 PR 25668
1254 PR 25633
1255 Fix disassembling ED+A4/AC/B4/BC opcodes.
1256 Fix assembling lines containing colonless label and instruction
1257 with first operand inside parentheses.
1258 Fix registration of unsupported by target CPU registers.
1259 * config/tc-z80.c: See above.
1260 * config/tc-z80.h: See above.
1261 * testsuite/gas/z80/colonless.d: Update test.
1262 * testsuite/gas/z80/colonless.s: Likewise.
1263 * testsuite/gas/z80/ez80_adl_all.d: Likewise.
1264 * testsuite/gas/z80/ez80_unsup_regs.d: Likewise.
1265 * testsuite/gas/z80/ez80_z80_all.d: Likewise.
1266 * testsuite/gas/z80/gbz80_unsup_regs.d: Likewise.
1267 * testsuite/gas/z80/r800_unsup_regs.d: Likewise.
1268 * testsuite/gas/z80/unsup_regs.s: Likewise.
1269 * testsuite/gas/z80/z180_unsup_regs.d: Likewise.
1270 * testsuite/gas/z80/z80.exp: Likewise.
1271 * testsuite/gas/z80/z80_strict_unsup_regs.d: Likewise.
1272 * testsuite/gas/z80/z80_unsup_regs.d: Likewise.
1273 * testsuite/gas/z80/z80n_unsup_regs.d: Likewise.
1274
1275 2020-03-13 Andre Vieira <andre.simoesdiasvieira@arm.com>
1276
1277 PR 25660
1278 * config/tc-arm.c (operand_parse_code): Add OP_RNSDMQR and OP_oRNSDMQ.
1279 (parse_operands): Handle new operand codes.
1280 (do_neon_dyadic_long): Make shape check accept the scalar variants.
1281 (asm_opcode_insns): Fix operand codes for vaddl and vsubl.
1282 * testsuite/gas/arm/mve-vaddsub-it.s: New test.
1283 * testsuite/gas/arm/mve-vaddsub-it.d: New test.
1284 * testsuite/gas/arm/mve-vaddsub-it-bad.s: New test.
1285 * testsuite/gas/arm/mve-vaddsub-it-bad.l: New test.
1286 * testsuite/gas/arm/mve-vaddsub-it-bad.d: New test.
1287 * testsuite/gas/arm/nomve-vaddsub-it.d: New test.
1288
1289 2020-03-11 H.J. Lu <hongjiu.lu@intel.com>
1290
1291 * NEWS: Mention x86 assembler options for CVE-2020-0551.
1292
1293 2020-03-11 H.J. Lu <hongjiu.lu@intel.com>
1294
1295 * testsuite/gas/i386/i386.exp: Run new tests.
1296 * testsuite/gas/i386/lfence-byte.d: New file.
1297 * testsuite/gas/i386/lfence-byte.e: Likewise.
1298 * testsuite/gas/i386/lfence-byte.s: Likewise.
1299 * testsuite/gas/i386/lfence-indbr-a.d: Likewise.
1300 * testsuite/gas/i386/lfence-indbr-b.d: Likewise.
1301 * testsuite/gas/i386/lfence-indbr-c.d: Likewise.
1302 * testsuite/gas/i386/lfence-indbr.e: Likewise.
1303 * testsuite/gas/i386/lfence-indbr.s: Likewise.
1304 * testsuite/gas/i386/lfence-load.d: Likewise.
1305 * testsuite/gas/i386/lfence-load.s: Likewise.
1306 * testsuite/gas/i386/lfence-ret-a.d: Likewise.
1307 * testsuite/gas/i386/lfence-ret-b.d: Likewise.
1308 * testsuite/gas/i386/lfence-ret.s: Likewise.
1309 * testsuite/gas/i386/x86-64-lfence-byte.d: Likewise.
1310 * testsuite/gas/i386/x86-64-lfence-byte.e: Likewise.
1311 * testsuite/gas/i386/x86-64-lfence-byte.s: Likewise.
1312 * testsuite/gas/i386/x86-64-lfence-indbr-a.d: Likewise.
1313 * testsuite/gas/i386/x86-64-lfence-indbr-b.d: Likewise.
1314 * testsuite/gas/i386/x86-64-lfence-indbr-c.d: Likewise.
1315 * testsuite/gas/i386/x86-64-lfence-indbr.e: Likewise.
1316 * testsuite/gas/i386/x86-64-lfence-indbr.s: Likewise.
1317 * testsuite/gas/i386/x86-64-lfence-load.d: Likewise.
1318 * testsuite/gas/i386/x86-64-lfence-load.s: Likewise.
1319 * testsuite/gas/i386/x86-64-lfence-ret-a.d: Likewise.
1320 * testsuite/gas/i386/x86-64-lfence-ret-b.d: Likewise.
1321
1322 2020-03-11 H.J. Lu <hongjiu.lu@intel.com>
1323
1324 * config/tc-i386.c (lfence_after_load): New.
1325 (lfence_before_indirect_branch_kind): New.
1326 (lfence_before_indirect_branch): New.
1327 (lfence_before_ret_kind): New.
1328 (lfence_before_ret): New.
1329 (last_insn): New.
1330 (load_insn_p): New.
1331 (insert_lfence_after): New.
1332 (insert_lfence_before): New.
1333 (md_assemble): Call insert_lfence_before and insert_lfence_after.
1334 Set last_insn.
1335 (OPTION_MLFENCE_AFTER_LOAD): New.
1336 (OPTION_MLFENCE_BEFORE_INDIRECT_BRANCH): New.
1337 (OPTION_MLFENCE_BEFORE_RET): New.
1338 (md_longopts): Add -mlfence-after-load=,
1339 -mlfence-before-indirect-branch= and -mlfence-before-ret=.
1340 (md_parse_option): Handle -mlfence-after-load=,
1341 -mlfence-before-indirect-branch= and -mlfence-before-ret=.
1342 (md_show_usage): Display -mlfence-after-load=,
1343 -mlfence-before-indirect-branch= and -mlfence-before-ret=.
1344 (i386_cons_align): New.
1345 * config/tc-i386.h (i386_cons_align): New.
1346 (md_cons_align): New.
1347 * doc/c-i386.texi: Document -mlfence-after-load=,
1348 -mlfence-before-indirect-branch= and -mlfence-before-ret=.
1349
1350 2020-03-11 Nick Clifton <nickc@redhat.com>
1351
1352 PR 25611
1353 PR 25614
1354 * dwarf2dbg.c (DWARF2_FILE_TIME_NAME): Default to -1.
1355 (DWARF2_FILE_SIZE_NAME): Default to -1.
1356 (DWARF2_LINE_VERSION): Default to the current dwarf level or 3,
1357 whichever is higher.
1358 (DWARF2_LINE_MAX_OPS_PER_INSN): Provide a default value of 1.
1359 (NUM_MD5_BYTES): Define.
1360 (struct file entry): Add md5 field.
1361 (get_filenum): Delete and replace with...
1362 (get_basename): New function.
1363 (get_directory_table_entry): New function.
1364 (allocate_filenum): New function.
1365 (allocate_filename_to_slot): New function.
1366 (dwarf2_where): Use new functions.
1367 (dwarf2_directive_filename): Add support for extended .file
1368 pseudo-op.
1369 (dwarf2_directive_loc): Allow the use of file number zero with
1370 DWARF 5 or higher.
1371 (out_file_list): Rename to...
1372 (out_dir_and_file_list): Add DWARF 5 support.
1373 (out_debug_line): Emit extra values into the section header for
1374 DWARF 5.
1375 (out_debug_str): Allow for file 0 to be used with DWARF 5.
1376 * doc/as.texi (.file): Update the description of this pseudo-op.
1377 * testsuite/gas/elf-dwarf-5-file0.s: Add more lines.
1378 * testsuite/gas/elf-dwarf-5-file0.d: Update expected dump output.
1379 * testsuite/gas/lns/lns-diag-1.l: Update expected error message.
1380 * NEWS: Mention the new feature.
1381
1382 2020-03-10 Alan Modra <amodra@gmail.com>
1383
1384 * config/tc-csky.c (get_operand_value): Rewrite 1 << 31 expressions
1385 to avoid signed overflow.
1386 * config/tc-mcore.c (md_assemble): Likewise.
1387 * config/tc-mips.c (gpr_read_mask, gpr_write_mask): Likewise.
1388 * config/tc-nds32.c (SET_ADDEND): Likewise.
1389 * config/tc-nios2.c (nios2_assemble_arg_R): Likewise.
1390
1391 2020-03-09 Jan Beulich <jbeulich@suse.com>
1392
1393 * testsuite/gas/i386/avx.s: Add long-form VCMP[PS][SD] pseudos.
1394 * testsuite/gas/i386/avx.d, testsuite/gas/i386/avx-16bit.d,
1395 testsuite/gas/i386/avx-intel.d: Adjust expectations.
1396
1397 2020-03-07 Alan Modra <amodra@gmail.com>
1398
1399 * testsuite/gas/elf/dwarf-5-file0.s: Don't start directives in
1400 first column.
1401
1402 2020-03-06 Nick Clifton <nickc@redhat.com>
1403
1404 PR 25614
1405 * dwarf2dbg.c (dwarf2_directive_filename): Allow a file number of
1406 0 if the dwarf_level is 5 or more. Complain if a filename follows
1407 a file 0.
1408 * testsuite/gas/elf/dwarf-5-file0.s: New test.
1409 * testsuite/gas/elf/dwarf-5-file0.d: New test driver.
1410 * testsuite/gas/elf/elf.exp: Run the new test.
1411
1412 PR 25612
1413 * config/tc-ia64.h (DWARF2_VERISION): Fix typo.
1414 * doc/as.texi: Fix another typo.
1415
1416 2020-03-06 Nick Clifton <nickc@redhat.com>
1417
1418 PR 25612
1419 * as.c (dwarf_level): Define.
1420 (show_usage): Add --gdwarf-3, --gdwarf-4 and --gdwarf-5.
1421 (parse_args): Add support for the new options.
1422 as.h (dwarf_level): Prototype.
1423 * dwarf2dbg.c (DWARF2_VERSION): Use dwarf_level as default version
1424 value.
1425 * config/tc-ia64.h (DWARF2_VERISION): Update definition.
1426 (DWARF2_LINE_VERSION): Remove definition.
1427 * doc/as.texi: Document the new options.
1428
1429 2020-03-06 Nick Clifton <nickc@redhat.com>
1430
1431 PR 25572
1432 * as.c (main): Allow matching input and outputs when they are
1433 not regular files.
1434
1435 2020-03-06 Jan Beulich <jbeulich@suse.com>
1436
1437 * config/tc-i386.c (match_mem_size): Generalize broadcast special
1438 casing.
1439 (check_VecOperands): Zap xmmword/ymmword/zmmword when more than
1440 one of byte/word/dword/qword is set alongside a SIMD register in
1441 a template's operand.
1442
1443 2020-03-06 Jan Beulich <jbeulich@suse.com>
1444
1445 * config/tc-i386.c (match_template): Extend code in logic
1446 rejecting certain suffixes in certain modes to also cover mask
1447 register use and VecSIB. Drop special casing of broadcast. Skip
1448 immediates in the check.
1449
1450 2020-03-06 Jan Beulich <jbeulich@suse.com>
1451
1452 * config/tc-i386.c (match_template): Fold duplicate code in
1453 logic rejecting certain suffixes in certain modes. Drop
1454 pointless "else".
1455
1456 2020-03-06 Jan Beulich <jbeulich@suse.com>
1457
1458 * config/tc-i386.c (process_suffix): Exlucde !vexw insns
1459 alongside !norex64 ones.
1460 * testsuite/gas/i386/x86-64-avx512bw.s: Test VPEXTR* and VPINSR*
1461 with both 32- and 64-bit GPR operands.
1462 * testsuite/gas/i386/x86-64-avx512f.s: Test VEXTRACTPS with both
1463 32- and 64-bit GPR operands.
1464 * testsuite/gas/i386/x86-64-avx512bw-intel.d,
1465 testsuite/gas/i386/x86-64-avx512bw.d,
1466 testsuite/gas/i386/x86-64-avx512f-intel.d,
1467 testsuite/gas/i386/x86-64-avx512f.d: Adjust expectations.
1468
1469 2020-03-06 Jan Beulich <jbeulich@suse.com>
1470
1471 * config/tc-i386.c (md_assemble): Drop use of rex64.
1472 (process_suffix): For REX.W for 64-bit CRC32.
1473
1474 2020-03-06 Jan Beulich <jbeulich@suse.com>
1475
1476 * config/tc-i386.c (i386_addressing_mode): For 32-bit
1477 addressing for MPX insns without base/index.
1478 * testsuite/gas/i386/mpx-16bit.s,
1479 * testsuite/gas/i386/mpx-16bit.d: New.
1480 * testsuite/gas/i386/i386.exp: Run new test.
1481
1482 2020-03-06 Jan Beulich <jbeulich@suse.com>
1483
1484 * testsuite/gas/i386/adx.s, testsuite/gas/i386/cet.s,
1485 testsuite/gas/i386/ept.s, testsuite/gas/i386/fsgs.s,
1486 testsuite/gas/i386/invpcid.s, testsuite/gas/i386/movdir.s,
1487 testsuite/gas/i386/ptwrite.s, testsuite/gas/i386/vmx.s,
1488 * testsuite/gas/i386/code16.s: Add CR, DR, and TR access cases
1489 as well as a BSWAP one.
1490 * testsuite/gas/i386/rdpid.s: Add 16-bit case.
1491 * testsuite/gas/i386/sse2-16bit.s: Cover more insns.
1492 * testsuite/gas/i386/adx-intel.d, testsuite/gas/i386/adx.d,
1493 testsuite/gas/i386/cet-intel.d, testsuite/gas/i386/cet.d,
1494 testsuite/gas/i386/code16.d, testsuite/gas/i386/ept-intel.d,
1495 testsuite/gas/i386/ept.d, testsuite/gas/i386/fsgs-intel.d,
1496 testsuite/gas/i386/fsgs.d, testsuite/gas/i386/invpcid-intel.d,
1497 testsuite/gas/i386/invpcid.d, testsuite/gas/i386/movdir-intel.d,
1498 testsuite/gas/i386/movdir.d, testsuite/gas/i386/ptwrite-intel.d,
1499 testsuite/gas/i386/ptwrite.d, testsuite/gas/i386/rdpid-intel.d,
1500 testsuite/gas/i386/rdpid.d, testsuite/gas/i386/sse2-16bit.d,
1501 testsuite/gas/i386/vmx.d: Adjust expectations.
1502
1503 2020-03-06 Jan Beulich <jbeulich@suse.com>
1504
1505 * config/tc-i386.c (md_assemble): Also exclude tpause and umwait
1506 from having their operands swapped.
1507 * testsuite/gas/i386/waitpkg.s,
1508 testsuite/gas/i386/x86-64-waitpkg.s: Add tpause and umwait
1509 3-operand cases as well as testing of 16-bit code generation.
1510 * testsuite/gas/i386/waitpkg.d,
1511 testsuite/gas/i386/waitpkg-intel.d,
1512 testsuite/gas/i386/x86-64-waitpkg.d,
1513 testsuite/gas/i386/x86-64-waitpkg-intel.d: Adjust expectations.
1514
1515 2020-03-04 Nelson Chu <nelson.chu@sifive.com>
1516
1517 * config/tc-riscv.c (percent_op_utype): Support the modifier
1518 %got_pcrel_hi.
1519 * doc/c-riscv.texi: Add documentation.
1520 * testsuite/gas/riscv/no-relax-reloc.d: Add test case for the new
1521 modifier %got_pcrel_hi.
1522 * testsuite/gas/riscv/no-relax-reloc.s: Likewise.
1523 * testsuite/gas/riscv/relax-reloc.d: Likewise.
1524 * testsuite/gas/riscv/relax-reloc.s: Likewise.
1525
1526 * doc/c-riscv.texi (relocation modifiers): Add documentation.
1527 (RISC-V-Formats): Update the section name from "Instruction Formats"
1528 to "RISC-V Instruction Formats".
1529
1530 2020-03-04 Alexandre Oliva <oliva@adacore.com>
1531
1532 * config/tc-arm.c (md_apply_fix): Warn if a PC-relative load is
1533 detected in a section which does not have at least 4 byte
1534 alignment.
1535 * testsuite/gas/arm/armv8-ar-it-bad.s: Add alignment directive.
1536 * testsuite/gas/arm/ldr-t.s: Likewise.
1537 * testsuite/gas/arm/sp-pc-usage-t.s: Likewise.
1538 * testsuite/gas/arm/sp-pc-usage-t.d: Finish test at end of
1539 disassembly, ignoring any NOPs that may have been inserted because
1540 of section alignment.
1541 * testsuite/gas/arm/ldr-t.d: Likewise.
1542
1543 2020-03-04 Jan Beulich <jbeulich@suse.com>
1544
1545 * config/tc-i386.c (cpu_arch): Add .sev_es entry.
1546 * doc/c-i386.texi: Mention sev_es.
1547 * testsuite/gas/i386/arch-13.s: Add SEV-ES case.
1548 * testsuite/gas/i386/arch-13.d: Extend -march=. Adjust
1549 expectations.
1550 * testsuite/gas/i386/arch-13-znver1.d,
1551 testsuite/gas/i386/arch-13-znver2.d: Extend -march=.
1552
1553 2020-03-03 H.J. Lu <hongjiu.lu@intel.com>
1554
1555 * config/tc-i386.c (match_template): Replace ignoresize and
1556 defaultsize with mnemonicsize.
1557 (process_suffix): Likewise.
1558
1559 2020-03-03 Sergey Belyashov <sergey.belyashov@gmail.com>
1560
1561 PR 25627
1562 * config/tc-z80.c (emit_ld_rr_m): Fix invalid compilation of
1563 instruction LD IY,(HL).
1564 * testsuite/gas/z80/ez80_adl_all.d: Update expected disassembly.
1565 * testsuite/gas/z80/ez80_adl_all.s: Add tests of the instruction.
1566 * testsuite/gas/z80/ez80_z80_all.d: Update expected disassembly.
1567 * testsuite/gas/z80/ez80_z80_all.s: Add tests of the instruction.
1568
1569 2020-03-03 H.J. Lu <hongjiu.lu@intel.com>
1570
1571 PR gas/25622
1572 * testsuite/gas/i386/i386.exp: Run x86-64-default-suffix and
1573 x86-64-default-suffix-avx.
1574 * testsuite/gas/i386/noreg64.s: Remove cvtsi2sd, cvtsi2ss,
1575 vcvtsi2sd, vcvtsi2ss, vcvtusi2sd and vcvtusi2ss entries.
1576 * testsuite/gas/i386/noreg64.d: Updated.
1577 * testsuite/gas/i386/noreg64.l: Likewise.
1578 * testsuite/gas/i386/x86-64-default-suffix-avx.d: New file.
1579 * testsuite/gas/i386/x86-64-default-suffix.d: Likewise.
1580 * testsuite/gas/i386/x86-64-default-suffix.s: Likewise.
1581
1582 2020-03-03 Sergey Belyashov <sergey.belyashov@gmail.com>
1583
1584 PR 25604
1585 * config/tc-z80.c (contains_register): Prevent an illegal memory
1586 access when checking an expression for a register name.
1587
1588 2020-03-03 Alan Modra <amodra@gmail.com>
1589
1590 * config/obj-coff.h: Remove vestiges of coff-m68k and pe-mips
1591 support.
1592
1593 2020-03-02 Alan Modra <amodra@gmail.com>
1594
1595 * config/tc-m32r.c (md_begin): Set SEC_SMALL_DATA on .scommon section.
1596 * config/tc-mips.c (s_change_sec): Set SEC_SMALL_DATA for .sdata
1597 and .sbss sections.
1598 * config/tc-score.c: Delete !BFD_ASSEMBLER code throughout.
1599 (s3_s_change_sec): Set SEC_SMALL_DATA for .sbss section.
1600 (s3_s_score_lcomm): Likewise.
1601 * config/tc-score7.c: Similarly.
1602 * read.c (bss_alloc): Set SEC_SMALL_DATA for .sbss section.
1603
1604 2020-02-28 YunQiang Su <syq@debian.org>
1605
1606 PR gas/25539
1607 * config/tc-mips.c (fix_loongson3_llsc): Compare label value
1608 to handle multi-labels.
1609 (has_label_name): New.
1610
1611 2020-02-26 Matthew Malcomson <matthew.malcomson@arm.com>
1612
1613 * config/tc-arm.c (enum pred_instruction_type): Remove
1614 NEUTRAL_IT_NO_VPT_INSN predication type.
1615 (cxn_handle_predication): Modify to require condition suffixes.
1616 (handle_pred_state): Remove NEUTRAL_IT_NO_VPT_INSN cases.
1617 * testsuite/gas/arm/cde-scalar.s: Update test.
1618 * testsuite/gas/arm/cde-warnings.l: Update test.
1619 * testsuite/gas/arm/cde-warnings.s: Update test.
1620
1621 2020-02-26 Alan Modra <amodra@gmail.com>
1622
1623 * config/tc-arm.c (reg_expected_msgs[REG_TYPE_RNB]): Don't use
1624 N_() on empty string.
1625
1626 2020-02-26 Alan Modra <amodra@gmail.com>
1627
1628 * read.c (read_a_source_file): Call strncpy with length one
1629 less than size of original_case_string.
1630
1631 2020-02-26 Alan Modra <amodra@gmail.com>
1632
1633 * config/obj-elf.c: Indent labels correctly.
1634 * config/obj-macho.c: Likewise.
1635 * config/tc-aarch64.c: Likewise.
1636 * config/tc-alpha.c: Likewise.
1637 * config/tc-arm.c: Likewise.
1638 * config/tc-cr16.c: Likewise.
1639 * config/tc-crx.c: Likewise.
1640 * config/tc-frv.c: Likewise.
1641 * config/tc-i386-intel.c: Likewise.
1642 * config/tc-i386.c: Likewise.
1643 * config/tc-ia64.c: Likewise.
1644 * config/tc-mn10200.c: Likewise.
1645 * config/tc-mn10300.c: Likewise.
1646 * config/tc-nds32.c: Likewise.
1647 * config/tc-riscv.c: Likewise.
1648 * config/tc-s12z.c: Likewise.
1649 * config/tc-xtensa.c: Likewise.
1650 * config/tc-z80.c: Likewise.
1651 * read.c: Likewise.
1652 * symbols.c: Likewise.
1653 * write.c: Likewise.
1654
1655 2020-02-20 Nelson Chu <nelson.chu@sifive.com>
1656
1657 * config/tc-riscv.c (riscv_ip): New boolean insn_with_csr to indicate
1658 we are assembling instruction with CSR. Call riscv_csr_read_only_check
1659 after parsing all arguments.
1660 (enum csr_insn_type): New enum is used to classify the CSR instruction.
1661 (riscv_csr_insn_type, riscv_csr_read_only_check): New functions. These
1662 are used to check if we write a read-only CSR by the CSR instruction.
1663 * testsuite/gas/riscv/priv-reg-fail-read-only-01.s: New testcase. Test
1664 all CSR for the read-only CSR checking.
1665 * testsuite/gas/riscv/priv-reg-fail-read-only-01.d: Likewise.
1666 * testsuite/gas/riscv/priv-reg-fail-read-only-01.l: Likewise.
1667 * testsuite/gas/riscv/priv-reg-fail-read-only-02.s: New testcase. Test
1668 all CSR instructions for the read-only CSR checking.
1669 * testsuite/gas/riscv/priv-reg-fail-read-only-02.d: Likewise.
1670 * testsuite/gas/riscv/priv-reg-fail-read-only-02.l: Likewise.
1671
1672 * config/tc-riscv.c (struct riscv_set_options): New field csr_check.
1673 (riscv_opts): Initialize it.
1674 (reg_lookup_internal): Check the `riscv_opts.csr_check`
1675 before doing the CSR checking.
1676 (enum options): Add OPTION_CSR_CHECK and OPTION_NO_CSR_CHECK.
1677 (md_longopts): Add mcsr-check and mno-csr-check.
1678 (md_parse_option): Handle new enum option values.
1679 (s_riscv_option): Handle new long options.
1680 * doc/c-riscv.texi: Add description for the new .option and assembler
1681 options.
1682 * testsuite/gas/riscv/priv-reg-fail-fext.d: Add `-mcsr-check` to enable
1683 the CSR checking.
1684 * testsuite/gas/riscv/priv-reg-fail-rv32-only.d: Likewise.
1685
1686 * config/tc-riscv.c (csr_extra_hash): New.
1687 (enum riscv_csr_class): New enum. Used to decide
1688 whether or not this CSR is legal in the current ISA string.
1689 (struct riscv_csr_extra): New structure to hold all extra information
1690 of CSR.
1691 (riscv_init_csr_hashes): New. According to the DECLARE_CSR and
1692 DECLARE_CSR_ALIAS, insert CSR extra information into csr_extra_hash.
1693 Call hash_reg_name to insert CSR address into reg_names_hash.
1694 (reg_csr_lookup_internal, riscv_csr_class_check): New functions.
1695 Decide whether the CSR is valid according to the csr_extra_hash.
1696 (reg_lookup_internal): Call reg_csr_lookup_internal for CSRs.
1697 (init_opcode_hash): Update 'if (hash_error != NULL)' as hash_error is
1698 not a boolean. This is same as riscv_init_csr_hash, so keep the
1699 consistent usage.
1700 (md_begin): Call riscv_init_csr_hashes for each DECLARE_CSR.
1701 * testsuite/gas/riscv/csr-dw-regnums.d: Add -march=rv32if option.
1702 * testsuite/gas/riscv/priv-reg.d: Add f-ext by -march option.
1703 * testsuite/gas/riscv/priv-reg-fail-fext.d: New testcase. The source
1704 file is `priv-reg.s`, and the ISA is rv32i without f-ext, so the
1705 f-ext CSR are not allowed.
1706 * testsuite/gas/riscv/priv-reg-fail-fext.l: Likewise.
1707 * testsuite/gas/riscv/priv-reg-fail-rv32-only.d: New testcase. The
1708 source file is `priv-reg.s`, and the ISA is rv64if, so the
1709 rv32-only CSR are not allowed.
1710 * testsuite/gas/riscv/priv-reg-fail-rv32-only.l: Likewise.
1711
1712 2020-02-21 Alan Modra <amodra@gmail.com>
1713
1714 * config/tc-pdp11.c (md_apply_fix): Handle BFD_RELOC_32.
1715 (tc_gen_reloc): Only give a BAD_CASE assertion on pcrel relocs.
1716
1717 2020-02-21 Alan Modra <amodra@gmail.com>
1718
1719 PR 25569
1720 * config/obj-aout.c (obj_aout_frob_file_before_fix): Don't loop
1721 on section size adjustment, instead perform another write if
1722 exec header size is larger than section size.
1723
1724 2020-02-19 Nelson Chu <nelson.chu@sifive.com>
1725
1726 * doc/c-riscv.texi: Add the doc entries for -march-attr/
1727 -mno-arch-attr command line options.
1728
1729 2020-02-19 Nelson Chu <nelson.chu@sifive.com>
1730
1731 * testsuite/gas/riscv/c-add-addi.d: New testcase.
1732 * testsuite/gas/riscv/c-add-addi.s: Likewise.
1733
1734 2020-02-19 Sergey Belyashov <sergey.belyashov@gmail.com>
1735
1736 PR 25576
1737 * config/tc-z80.c (md_parse_option): Do not use an underscore
1738 prefix for local labels in SDCC compatability mode.
1739 (z80_start_line_hook): Remove SDCC dollar label support.
1740 * testsuite/gas/z80/sdcc.d: Update expected disassembly.
1741 * testsuite/gas/z80/sdcc.s: Likewise.
1742
1743 2020-02-19 Sergey Belyashov <sergey.belyashov@gmail.com>
1744
1745 PR 25517
1746 * config/tc-z80.c: Add -march option.
1747 * doc/as.texi: Update Z80 documentation.
1748 * doc/c-z80.texi: Likewise.
1749 * testsuite/gas/z80/ez80_adl_all.d: Update command line.
1750 * testsuite/gas/z80/ez80_adl_suf.d: Likewise.
1751 * testsuite/gas/z80/ez80_pref_dis.d: Likewise.
1752 * testsuite/gas/z80/ez80_z80_all.d: Likewise.
1753 * testsuite/gas/z80/ez80_z80_suf.d: Likewise.
1754 * testsuite/gas/z80/gbz80_all.d: Likewise.
1755 * testsuite/gas/z80/r800_extra.d: Likewise.
1756 * testsuite/gas/z80/r800_ii8.d: Likewise.
1757 * testsuite/gas/z80/r800_z80_doc.d: Likewise.
1758 * testsuite/gas/z80/sdcc.d: Likewise.
1759 * testsuite/gas/z80/z180.d: Likewise.
1760 * testsuite/gas/z80/z180_z80_doc.d: Likewise.
1761 * testsuite/gas/z80/z80_doc.d: Likewise.
1762 * testsuite/gas/z80/z80_ii8.d: Likewise.
1763 * testsuite/gas/z80/z80_in_f_c.d: Likewise.
1764 * testsuite/gas/z80/z80_op_ii_ld.d: Likewise.
1765 * testsuite/gas/z80/z80_out_c_0.d: Likewise.
1766 * testsuite/gas/z80/z80_sli.d: Likewise.
1767 * testsuite/gas/z80/z80n_all.d: Likewise.
1768 * testsuite/gas/z80/z80n_reloc.d: Likewise.
1769
1770 2020-02-19 H.J. Lu <hongjiu.lu@intel.com>
1771
1772 * config/tc-i386.c (output_insn): Mark cvtpi2ps and cvtpi2pd
1773 with GNU_PROPERTY_X86_FEATURE_2_MMX.
1774 * testsuite/gas/i386/i386.exp: Run property-3 and
1775 x86-64-property-3.
1776 * testsuite/gas/i386/property-3.d: New file.
1777 * testsuite/gas/i386/property-3.s: Likewise.
1778 * testsuite/gas/i386/x86-64-property-3.d: Likewise.
1779
1780 2020-02-17 H.J. Lu <hongjiu.lu@intel.com>
1781
1782 * config/tc-i386.c (cpu_arch): Add .popcnt.
1783 * doc/c-i386.texi: Remove abm and .abm. Add popcnt and .popcnt.
1784 Add a tab before @samp{.sse4a}.
1785
1786 2020-02-17 Jan Beulich <jbeulich@suse.com>
1787
1788 * config/tc-i386.c (process_suffix): Don't try to guess a suffix
1789 for AddrPrefixOpReg templates. Combine the two pieces of
1790 addrprefixopreg handling. Reject 16-bit address reg in 64-bit
1791 mode.
1792
1793 2020-02-17 Jan Beulich <jbeulich@suse.com>
1794
1795 PR gas/14439
1796 * config/tc-i386.c (md_assemble): Also suppress operand
1797 swapping for MONITOR{,X} and MWAIT{,X}.
1798 * testsuite/gas/i386/sse3.s, testsuite/gas/i386/x86-64-sse3.s:
1799 Add Intel syntax monitor/mwait tests.
1800 * testsuite/gas/i386/sse3.d, testsuite/gas/i386/x86-64-sse3.d:
1801 Adjust expectations.
1802 *testsuite/gas/i386/sse3-intel.d,
1803 testsuite/gas/i386/x86-64-sse3-intel.d: New.
1804 * testsuite/gas/i386/i386.exp: Run new tests.
1805
1806 2020-02-17 Jan Beulich <jbeulich@suse.com>
1807
1808 PR gas/6518
1809 * config/tc-i386.c (process_suffix): Re-work Intel-syntax
1810 [XYZ]MMWord memory operand ambiguity recognition logic (largely
1811 re-indentation).
1812 * testsuite/gas/i386/avx512dq-inval.s: Add vcvtqq2ps/vcvtuqq2ps
1813 cases.
1814 * testsuite/gas/i386/inval-avx512f.s: Also test vcvtneps2bf16.
1815 * testsuite/gas/i386/avx512dq-inval.l,
1816 testsuite/gas/i386/inval-avx.l,
1817 testsuite/gas/i386/inval-avx512f.l: Adjust expectations.
1818 * testsuite/gas/i386/avx512vl-ambig.s,
1819 testsuite/gas/i386/avx512vl-ambig.l: New.
1820 * testsuite/gas/i386/i386.exp: Run new test.
1821
1822 2020-02-16 H.J. Lu <hongjiu.lu@intel.com>
1823
1824 * config/tc-i386.c (cpu_arch): Add .sse4a and nosse4a. Restore
1825 nosse4.
1826 * doc/c-i386.texi: Document sse4a and nosse4a.
1827
1828 2020-02-14 H.J. Lu <hongjiu.lu@intel.com>
1829
1830 * doc/c-i386.texi: Remove the old movsx and movzx documentation
1831 for AT&T syntax.
1832
1833 2020-02-14 Jan Beulich <jbeulich@suse.com>
1834
1835 PR gas/25438
1836 * config/tc-i386.c (md_assemble): Move movsx/movzx special
1837 casing ...
1838 (process_suffix): ... here. Consider just the first operand
1839 initially.
1840 (check_long_reg): Drop opcode 0x63 special case again.
1841 * testsuite/gas/i386/i386.s, testsuite/gas/i386/iamcu-1.s,
1842 testsuite/gas/i386/ilp32/x86-64.s, testsuite/gas/i386/x86_64.s:
1843 Move ambiguous operand size tests ...
1844 * testsuite/gas/i386/noreg16.s, testsuite/gas/i386/noreg32.s,
1845 testsuite/gas/i386/noreg64.s: ... here.
1846 * testsuite/gas/i386/i386.d, testsuite/gas/i386/i386-intel.d
1847 testsuite/gas/i386/iamcu-1.d, testsuite/gas/i386/ilp32/x86-64.d,
1848 testsuite/gas/i386/k1om.d, testsuite/gas/i386/l1om.d,
1849 testsuite/gas/i386/movx16.l, testsuite/gas/i386/movx32.l,
1850 testsuite/gas/i386/movx64.l, testsuite/gas/i386/noreg16.d,
1851 testsuite/gas/i386/noreg32.d, testsuite/gas/i386/noreg64.d,
1852 testsuite/gas/i386/x86-64-movsxd.d,
1853 testsuite/gas/i386/x86-64-movsxd-intel.d,
1854 testsuite/gas/i386/x86_64.d, testsuite/gas/i386/x86_64-intel.d:
1855 Adjust expectations.
1856 * testsuite/gas/i386/movx16.s, testsuite/gas/i386/movx16.l,
1857 testsuite/gas/i386/movx32.s, testsuite/gas/i386/movx32.l,
1858 testsuite/gas/i386/movx64.s, testsuite/gas/i386/movx64.l: New.
1859 * testsuite/gas/i386/i386.exp: Run new tests.
1860
1861 2020-02-14 Jan Beulich <jbeulich@suse.com>
1862
1863 * config/tc-i386.c (process_operands): Also skip segment
1864 override prefix emission if it matches an already present one.
1865 * testsuite/gas/i386/prefix32.s: Add double segment override
1866 cases.
1867 * testsuite/gas/i386/prefix32.l: Adjust expectations.
1868
1869 2020-02-14 Jan Beulich <jbeulich@suse.com>
1870
1871 * config/tc-i386.c (process_operands): Drop ineffectual segment
1872 overrides when optimizing.
1873 * testsuite/gas/i386/lea-optimize.d: New.
1874 * testsuite/gas/i386/i386.exp: Run new test.
1875
1876 2020-02-14 Jan Beulich <jbeulich@suse.com>
1877
1878 * config/tc-i386.c (process_operands): Also check insn prefix
1879 for ineffectual segment override warning. Don't cover possible
1880 VEX/EVEX encoded insns there.
1881 * testsuite/gas/i386/lea.s, testsuite/gas/i386/lea.d,
1882 testsuite/gas/i386/lea.e: New.
1883 * testsuite/gas/i386/i386.exp: Run new test.
1884
1885 2020-02-14 H.J. Lu <hongjiu.lu@intel.com>
1886
1887 PR gas/25438
1888 * doc/c-i386.texi: Document movsx, movsxd and movzx for AT&T
1889 syntax.
1890
1891 2020-02-13 Fangrui Song <maskray@google.com>
1892 H.J. Lu <hongjiu.lu@intel.com>
1893
1894 PR gas/25551
1895 * config/tc-i386.c (tc_i386_fix_adjustable): Don't check
1896 BFD_RELOC_386_PLT32 nor BFD_RELOC_X86_64_PLT32.
1897 * testsuite/gas/i386/i386.exp: Run relax-5 and x86-64-relax-4.
1898 * testsuite/gas/i386/relax-5.d: New file.
1899 * testsuite/gas/i386/relax-5.s: Likewise.
1900 * testsuite/gas/i386/x86-64-relax-4.d: Likewise.
1901 * testsuite/gas/i386/x86-64-relax-4.s: Likewise.
1902
1903 2020-02-13 Jan Beulich <jbeulich@suse.com>
1904
1905 * config/tc-i386.c (cpu_noarch): Use CPU_ANY_SSE4_FLAGS in
1906 "nosse4" entry.
1907
1908 2020-02-12 Jan Beulich <jbeulich@suse.com>
1909
1910 * config/tc-i386.c (avx512): New (at file scope), moved from
1911 (check_VecOperands): ... here.
1912 (process_suffix): Add [XYZ]MMword operand size handling.
1913 * testsuite/gas/i386/avx512dq-inval.s: Add VFPCLASS tests.
1914 * testsuite/gas/i386/noavx512-2.s: Add Intel syntax VFPCLASS
1915 tests.
1916 * testsuite/gas/i386/avx512dq-inval.l,
1917 testsuite/gas/i386/noavx512-2.l: Adjust expectations.
1918
1919 2020-02-12 Jan Beulich <jbeulich@suse.com>
1920
1921 PR gas/24546
1922 * config/tc-i386.c (match_template): Apply AMD64 check to 64-bit
1923 code only.
1924 * config/tc-i386-intel.c (i386_intel_operand): Also handle
1925 CALL/JMP in O_tbyte_ptr case.
1926 * doc/c-i386.texi: Mention far call and full pointer load ISA
1927 differences.
1928 * testsuite/gas/i386/x86-64-branch-3.s,
1929 testsuite/gas/i386/x86-64-intel64.s: Add 64-bit far call cases.
1930 * testsuite/gas/i386/x86-64-branch-3.d,
1931 testsuite/gas/i386/x86-64-intel64.d: Adjust expectations.
1932 * testsuite/gas/i386/x86-64-branch-5.l,
1933 testsuite/gas/i386/x86-64-branch-5.s: New.
1934 * testsuite/gas/i386/i386.exp: Run new test.
1935
1936 2020-02-12 Jan Beulich <jbeulich@suse.com>
1937
1938 PR gas/25438
1939 * config/tc-i386.c (REGISTER_WARNINGS): Delete.
1940 (check_byte_reg): Skip only source operand of CRC32. Drop Non-
1941 64-bit-only warning.
1942 (check_word_reg): Consistently error on mismatching register
1943 size and suffix.
1944 * testsuite/gas/i386/general.s: Replace dword GPR with word one
1945 for movw. Replace suffix / GPR for orb.
1946 * testsuite/gas/i386/inval.s: Add tests for movw with dword and
1947 byte GPRs as well as ones for inb/outb with a word accumulator.
1948 * testsuite/gas/i386/general.l, testsuite/gas/i386/intelbad.l,
1949 testsuite/gas/i386/inval.l: Adjust expectations.
1950
1951 2020-02-12 Jan Beulich <jbeulich@suse.com>
1952
1953 * config/tc-i386.c (operand_type_register_match): Also fall
1954 through initial two if()-s when the template allows for a GPR
1955 operand. Adjust comment.
1956
1957 2020-02-11 Jan Beulich <jbeulich@suse.com>
1958
1959 (struct _i386_insn): New field "short_form".
1960 (optimize_encoding): Drop setting of shortform field.
1961 (process_suffix): Set i.short_form. Replace shortform use.
1962 (process_operands): Replace shortform use.
1963
1964 2020-02-11 Matthew Malcomson <matthew.malcomson@arm.com>
1965
1966 * config/tc-arm.c (vcx_handle_register_arguments): Remove `for`
1967 loop initial declaration.
1968
1969 2020-02-10 Matthew Malcomson <matthew.malcomson@arm.com>
1970
1971 * config/tc-arm.c (NEON_MAX_TYPE_ELS): Increment to account for
1972 instructions that can have 5 arguments.
1973 (enum operand_parse_code): Add new operands.
1974 (parse_operands): Account for new operands.
1975 (S5): New macro.
1976 (enum neon_shape_el): Introduce P suffixes for coprocessor.
1977 (neon_select_shape): Account for P suffix.
1978 (LOW1): Move macro to global position.
1979 (HI4): Move macro to global position.
1980 (vcx_assign_vec_d): New.
1981 (vcx_assign_vec_m): New.
1982 (vcx_assign_vec_n): New.
1983 (enum vcx_reg_type): New.
1984 (vcx_get_reg_type): New.
1985 (vcx_size_pos): New.
1986 (vcx_vec_pos): New.
1987 (vcx_handle_shape): New.
1988 (vcx_ensure_register_in_range): New.
1989 (vcx_handle_register_arguments): New.
1990 (vcx_handle_insn_block): New.
1991 (vcx_handle_common_checks): New.
1992 (do_vcx1): New.
1993 (do_vcx2): New.
1994 (do_vcx3): New.
1995 * testsuite/gas/arm/cde-missing-fp.d: New test.
1996 * testsuite/gas/arm/cde-missing-fp.l: New test.
1997 * testsuite/gas/arm/cde-missing-mve.d: New test.
1998 * testsuite/gas/arm/cde-missing-mve.l: New test.
1999 * testsuite/gas/arm/cde-mve-or-neon.d: New test.
2000 * testsuite/gas/arm/cde-mve-or-neon.s: New test.
2001 * testsuite/gas/arm/cde-mve.s: New test.
2002 * testsuite/gas/arm/cde-warnings.l:
2003 * testsuite/gas/arm/cde-warnings.s:
2004 * testsuite/gas/arm/cde.d:
2005 * testsuite/gas/arm/cde.s:
2006
2007 2020-02-10 Stam Markianos-Wright <stam.markianos-wright@arm.com>
2008 Matthew Malcomson <matthew.malcomson@arm.com>
2009
2010 * config/tc-arm.c (arm_ext_cde*): New feature sets for each
2011 CDE coprocessor that can be enabled.
2012 (enum pred_instruction_type): New pred type.
2013 (BAD_NO_VPT): New error message.
2014 (BAD_CDE): New error message.
2015 (BAD_CDE_COPROC): New error message.
2016 (enum operand_parse_code): Add new immediate operands.
2017 (parse_operands): Account for new immediate operands.
2018 (check_cde_operand): New.
2019 (cde_coproc_enabled): New.
2020 (cde_coproc_pos): New.
2021 (cde_handle_coproc): New.
2022 (cxn_handle_predication): New.
2023 (do_custom_instruction_1): New.
2024 (do_custom_instruction_2): New.
2025 (do_custom_instruction_3): New.
2026 (do_cx1): New.
2027 (do_cx1a): New.
2028 (do_cx1d): New.
2029 (do_cx1da): New.
2030 (do_cx2): New.
2031 (do_cx2a): New.
2032 (do_cx2d): New.
2033 (do_cx2da): New.
2034 (do_cx3): New.
2035 (do_cx3a): New.
2036 (do_cx3d): New.
2037 (do_cx3da): New.
2038 (handle_pred_state): Define new IT block behaviour.
2039 (insns): Add newn CX*{,d}{,a} instructions.
2040 (CDE_EXTENSIONS,armv8m_main_ext_table,armv8_1m_main_ext_table):
2041 Define new cdecp extension strings.
2042 * doc/c-arm.texi: Document new cdecp extension arguments.
2043 * testsuite/gas/arm/cde-scalar.d: New test.
2044 * testsuite/gas/arm/cde-scalar.s: New test.
2045 * testsuite/gas/arm/cde-warnings.d: New test.
2046 * testsuite/gas/arm/cde-warnings.l: New test.
2047 * testsuite/gas/arm/cde-warnings.s: New test.
2048 * testsuite/gas/arm/cde.d: New test.
2049 * testsuite/gas/arm/cde.s: New test.
2050
2051 2020-02-10 H.J. Lu <hongjiu.lu@intel.com>
2052
2053 PR gas/25516
2054 * config/tc-i386.c (intel64): Renamed to ...
2055 (isa64): This.
2056 (match_template): Accept Intel64 only instruction by default.
2057 (i386_displacement): Updated.
2058 (md_parse_option): Updated.
2059 * c-i386.texi: Update -mamd64/-mintel64 documentation.
2060 * testsuite/gas/i386/i386.exp: Run x86-64-sysenter. Pass
2061 -mamd64 to x86-64-sysenter-amd.
2062 * testsuite/gas/i386/x86-64-sysenter.d: New file.
2063
2064 2020-02-10 Alan Modra <amodra@gmail.com>
2065
2066 * config/obj-elf.c (obj_elf_change_section): Error for section
2067 type, attr or entsize changes in assembly.
2068 * testsuite/gas/elf/elf.exp: Pass -Z to gas for section5 test.
2069 * testsuite/gas/elf/section5.l: Update.
2070
2071 2020-02-10 Alan Modra <amodra@gmail.com>
2072
2073 * output-file.c (output_file_close): Do a normal close when
2074 flag_always_generate_output.
2075 * write.c (write_object_file): Don't stop output when
2076 flag_always_generate_output.
2077
2078 2020-02-07 Sergey Belyashov <sergey.belyashov@gmail.com>
2079
2080 PR 25469
2081 * config/tc-z80.c: Add -gbz80 command line option to generate code
2082 for the GameBoy Z80. Add support for generating DWARF.
2083 * config/tc-z80.h: Add support for DWARF debug information
2084 generation.
2085 * doc/c-z80.texi: Document new command line option.
2086 * testsuite/gas/z80/gbz80_all.d: New file.
2087 * testsuite/gas/z80/gbz80_all.s: New file.
2088 * testsuite/gas/z80/z80.exp: Run the new tests.
2089 * testsuite/gas/z80/z80n_all.d: New file.
2090 * testsuite/gas/z80/z80n_all.s: New file.
2091 * testsuite/gas/z80/z80n_reloc.d: New file.
2092
2093 2020-02-06 H.J. Lu <hongjiu.lu@intel.com>
2094
2095 PR gas/25381
2096 * config/obj-elf.c (get_section): Also check
2097 linked_to_symbol_name.
2098 (obj_elf_change_section): Also set map_head.linked_to_symbol_name.
2099 (obj_elf_parse_section_letters): Handle the 'o' flag.
2100 (build_group_lists): Renamed to ...
2101 (build_additional_section_info): This. Set elf_linked_to_section
2102 from map_head.linked_to_symbol_name.
2103 (elf_adjust_symtab): Updated.
2104 * config/obj-elf.h (elf_section_match): Add linked_to_symbol_name.
2105 * doc/as.texi: Document the 'o' flag.
2106 * testsuite/gas/elf/elf.exp: Run PR gas/25381 tests.
2107 * testsuite/gas/elf/section18.d: New file.
2108 * testsuite/gas/elf/section18.s: Likewise.
2109 * testsuite/gas/elf/section19.d: Likewise.
2110 * testsuite/gas/elf/section19.s: Likewise.
2111 * testsuite/gas/elf/section20.d: Likewise.
2112 * testsuite/gas/elf/section20.s: Likewise.
2113 * testsuite/gas/elf/section21.d: Likewise.
2114 * testsuite/gas/elf/section21.l: Likewise.
2115 * testsuite/gas/elf/section21.s: Likewise.
2116
2117 2020-02-06 H.J. Lu <hongjiu.lu@intel.com>
2118
2119 * NEWS: Mention x86 assembler options to align branches for
2120 binutils 2.34.
2121
2122 2020-02-06 H.J. Lu <hongjiu.lu@intel.com>
2123
2124 * testsuite/gas/i386/i386.exp: Run unique and x86-64-unique
2125 only for ELF targets.
2126 * testsuite/gas/i386/unique.d: Don't xfail.
2127 * testsuite/gas/i386/x86-64-unique.d: Likewise.
2128
2129 2020-02-06 Alan Modra <amodra@gmail.com>
2130
2131 * testsuite/gas/i386/unique.d: xfail for non-elf targets.
2132 * testsuite/gas/i386/x86-64-unique.d: Likewise.
2133
2134 2020-02-06 Alan Modra <amodra@gmail.com>
2135
2136 * testsuite/gas/elf/section12a.d: Use supports_gnu_osabi in
2137 xfail, and rename test.
2138 * testsuite/gas/elf/section12b.d: Likewise.
2139 * testsuite/gas/elf/section16a.d: Likewise.
2140 * testsuite/gas/elf/section16b.d: Likewise.
2141
2142 2020-02-02 H.J. Lu <hongjiu.lu@intel.com>
2143
2144 PR gas/25380
2145 * config/obj-elf.c (section_match): Removed.
2146 (get_section): Also match SEC_ASSEMBLER_SECTION_ID and
2147 section_id.
2148 (obj_elf_change_section): Replace info and group_name arguments
2149 with match_p. Also update the section ID and flags from match_p.
2150 (obj_elf_section): Handle "unique,N". Update call to
2151 obj_elf_change_section.
2152 * config/obj-elf.h (elf_section_match): New.
2153 (obj_elf_change_section): Updated.
2154 * config/tc-arm.c (start_unwind_section): Update call to
2155 obj_elf_change_section.
2156 * config/tc-ia64.c (obj_elf_vms_common): Likewise.
2157 * config/tc-microblaze.c (microblaze_s_data): Likewise.
2158 (microblaze_s_sdata): Likewise.
2159 (microblaze_s_rdata): Likewise.
2160 (microblaze_s_bss): Likewise.
2161 * config/tc-mips.c (s_change_section): Likewise.
2162 * config/tc-msp430.c (msp430_profiler): Likewise.
2163 * config/tc-rx.c (parse_rx_section): Likewise.
2164 * config/tc-tic6x.c (tic6x_start_unwind_section): Likewise.
2165 * doc/as.texi: Document "unique,N" in .section directive.
2166 * testsuite/gas/elf/elf.exp: Run "unique,N" tests.
2167 * testsuite/gas/elf/section15.d: New file.
2168 * testsuite/gas/elf/section15.s: Likewise.
2169 * testsuite/gas/elf/section16.s: Likewise.
2170 * testsuite/gas/elf/section16a.d: Likewise.
2171 * testsuite/gas/elf/section16b.d: Likewise.
2172 * testsuite/gas/elf/section17.d: Likewise.
2173 * testsuite/gas/elf/section17.l: Likewise.
2174 * testsuite/gas/elf/section17.s: Likewise.
2175 * testsuite/gas/i386/unique.d: Likewise.
2176 * testsuite/gas/i386/unique.s: Likewise.
2177 * testsuite/gas/i386/x86-64-unique.d: Likewise.
2178 * testsuite/gas/i386/i386.exp: Run unique and x86-64-unique.
2179
2180 2020-02-02 H.J. Lu <hongjiu.lu@intel.com>
2181
2182 * testsuite/gas/elf/section13.s: Replace @nobits with %nobits.
2183
2184 2020-02-01 Anthony Green <green@moxielogic.com>
2185
2186 * config/tc-moxie.c (md_begin): Don't force big-endian mode.
2187
2188 2020-01-31 Sandra Loosemore <sandra@codesourcery.com>
2189
2190 * config/tc-nios2.c (nios2_cons): Handle %gotoff as well as
2191 %tls_ldo.
2192
2193 2020-01-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
2194
2195 PR gas/25472
2196 * config/tc-arm.c (armv8m_main_ext_table): Refactored +dsp adding.
2197 (armv8_1m_main_ext_table): Refactored +dsp adding and enabled dsp for
2198 +mve.
2199 * testsuite/gas/arm/mve_dsp.d: New test.
2200
2201 2020-01-31 Nick Clifton <nickc@redhat.com>
2202
2203 * config/tc-s390.c (s390_elf_suffix): Return ELF_SUFFIX_NONE
2204 rather than BFD_RELOC_NONE.
2205
2206 2020-01-31 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
2207
2208 * config/tc-arm.c (fldmias): Moved inside "THUMB_VARIANT & arm_ext_v6t2"
2209 to support VLDMIA instruction for MVE.
2210 (fldmdbs): Moved inside "THUMB_VARIANT & arm_ext_v6t2" to support VLDMDB
2211 instruction for MVE.
2212 (fstmias): Moved inside "THUMB_VARIANT & arm_ext_v6t2" to support VSTMIA
2213 instruction for MVE.
2214 (fstmdbs): Moved inside "THUMB_VARIANT & arm_ext_v6t2" to support VSTMDB
2215 instruction for MVE.
2216 * testsuite/gas/arm/mve-ldst.d: New test.
2217 * testsuite/gas/arm/mve-ldst.s: Likewise.
2218
2219 2020-01-31 Nick Clifton <nickc@redhat.com>
2220
2221 * po/fr.po: Updated French translation.
2222 * po/ru.po: Updated Russian translation.
2223
2224 2020-01-31 Richard Sandiford <richard.sandiford@arm.com>
2225
2226 * testsuite/gas/aarch64/sve-bfloat-movprfx.s: Use .h rather than
2227 .s for the movprfx.
2228 * testsuite/gas/aarch64/sve-bfloat-movprfx.d: Update accordingly.
2229 * testsuite/gas/aarch64/sve-movprfx_28.d,
2230 * testsuite/gas/aarch64/sve-movprfx_28.l,
2231 * testsuite/gas/aarch64/sve-movprfx_28.s: New test.
2232
2233 2020-01-30 Jan Beulich <jbeulich@suse.com>
2234
2235 * config/tc-i386.c (output_disp): Tighten base_opcode check.
2236 * testsuite/gas/i386/got.s: Add LSL, MOVLPS, and BNDCN cases.
2237 * testsuite/gas/i386/got-no-relax.d, testsuite/gas/i386/got.d:
2238 Adjust expectations.
2239
2240 2020-01-30 Jose E. Marchesi <jose.marchesi@oracle.com>
2241
2242 * testsuite/gas/bpf/alu.d: Update expected opcode for `neg'.
2243 * testsuite/gas/bpf/alu-be.d: Likewise.
2244 * testsuite/gas/bpf/alu32.d: Likewise for `neg32'.
2245 * testsuite/gas/bpf/alu32-be.d: Likewise.
2246
2247 2020-01-30 Jan Beulich <jbeulich@suse.com>
2248
2249 * testsuite/gas/i386/x86-64-branch-2.s,
2250 testsuite/gas/i386/x86-64-branch-4.s,
2251 testsuite/gas/i386/x86-64-branch.s: Add RETW cases.
2252 * testsuite/gas/i386/ilp32/x86-64-branch.d,
2253 testsuite/gas/i386/x86-64-branch-2.d,
2254 testsuite/gas/i386/x86-64-branch-4.l,
2255 testsuite/gas/i386/x86-64-branch.d: Adjust expectations.
2256
2257 2020-01-30 Jan Beulich <jbeulich@suse.com>
2258
2259 * config/tc-i386.c (process_suffix): .
2260 testsuite/gas/i386/noreg64.s: Add IRET and LRET cases.
2261 testsuite/gas/i386/x86-64-opcode.s: Add suffix to IRET and LRET.
2262 Add LRETQ case.
2263 testsuite/gas/i386/x86-64-suffix.s: Drop IRET case without
2264 suffix.
2265 testsuite/gas/i386/x86_64.s: Add RETF cases.
2266 * testsuite/gas/i386/k1om.d, testsuite/gas/i386/l1om.d,
2267 testsuite/gas/i386/noreg64.d, testsuite/gas/i386/noreg64.l,
2268 testsuite/gas/i386/x86-64-opcode.d,
2269 testsuite/gas/i386/x86-64-suffix-intel.d,
2270 testsuite/gas/i386/x86-64-suffix.d,
2271 testsuite/gas/i386/x86_64-intel.d
2272 testsuite/gas/i386/x86_64.d: Adjust expectations.
2273 * testsuite/gas/i386/x86-64-suffix.e,
2274 testsuite/gas/i386/x86_64.e: New.
2275
2276 2020-01-30 Jan Beulich <jbeulich@suse.com>
2277
2278 * config/tc-i386.c (process_suffix): Redo and move FLDENV et al
2279 special case.
2280
2281 2020-01-27 H.J. Lu <hongjiu.lu@intel.com>
2282
2283 PR binutils/25445
2284 * config/tc-i386.c (check_long_reg): Also convert to QWORD for
2285 movsxd.
2286 * doc/c-i386.texi: Add a node for AMD64 vs. Intel64 ISA
2287 differences. Document movslq and movsxd.
2288 * testsuite/gas/i386/i386.exp: Run PR binutils/25445 tests.
2289 * testsuite/gas/i386/x86-64-movsxd-intel.d: New file.
2290 * testsuite/gas/i386/x86-64-movsxd-intel64-intel.d: Likewise.
2291 * testsuite/gas/i386/x86-64-movsxd-intel64-inval.l: Likewise.
2292 * testsuite/gas/i386/x86-64-movsxd-intel64-inval.s: Likewise.
2293 * testsuite/gas/i386/x86-64-movsxd-intel64.d: Likewise.
2294 * testsuite/gas/i386/x86-64-movsxd-intel64.s: Likewise.
2295 * testsuite/gas/i386/x86-64-movsxd-inval.l: Likewise.
2296 * testsuite/gas/i386/x86-64-movsxd-inval.s: Likewise.
2297 * testsuite/gas/i386/x86-64-movsxd.d: Likewise.
2298 * testsuite/gas/i386/x86-64-movsxd.s: Likewise.
2299
2300 2020-01-27 Alan Modra <amodra@gmail.com>
2301
2302 * testsuite/gas/all/gas.exp: Replace case statements with switch
2303 statements.
2304 * testsuite/gas/elf/elf.exp: Likewise.
2305 * testsuite/gas/macros/macros.exp: Likewise.
2306 * testsuite/lib/gas-defs.exp: Likewise.
2307
2308 2020-01-27 Tamar Christina <tamar.christina@arm.com>
2309
2310 PR 25403
2311 * testsuite/gas/aarch64/armv8_4-a.d: Add cfinv.
2312 * testsuite/gas/aarch64/armv8_4-a.s: Likewise.
2313
2314 2020-01-22 Maxim Blinov <maxim.blinov@embecosm.com>
2315
2316 * testsuite/gas/riscv/march-ok-s.d: sx is no longer valid and
2317 s exts must be known, so rename *ok* to *fail*.
2318 * testsuite/gas/riscv/march-ok-sx.d: Likewise.
2319 * testsuite/gas/riscv/march-ok-s-with-version: Likewise.
2320 * testsuite/gas/riscv/march-fail-s.l: Expected error messages for
2321 above change.
2322 * testsuite/gas/riscv/march-fail-sx.l: Likewise.
2323 * testsuite/gas/riscv/march-fail-sx-with-version.l: Likewise.
2324
2325 2020-01-22 H.J. Lu <hongjiu.lu@intel.com>
2326
2327 PR gas/25438
2328 * config/tc-i386.c (check_long_reg): Always disallow double word
2329 suffix in mnemonic with word general register.
2330 * testsuite/gas/i386/general.s: Replace word general register
2331 with double word general register for movl.
2332 * testsuite/gas/i386/inval.s: Add tests for movl with word general
2333 register.
2334 * testsuite/gas/i386/general.l: Updated.
2335 * testsuite/gas/i386/inval.l: Likewise.
2336
2337 2020-01-22 Alan Modra <amodra@gmail.com>
2338
2339 * config/tc-ppc.c (parse_tls_arg): Handle tls arg for
2340 __tls_get_addr_desc and __tls_get_addr_opt.
2341
2342 2020-01-21 Jan Beulich <jbeulich@suse.com>
2343
2344 * testsuite/gas/i386/inval-crc32.s,
2345 testsuite/gas/i386/x86-64-inval-crc32.s: Add alignment directive.
2346 * testsuite/gas/i386/inval-crc32.l,
2347 testsuite/gas/i386/x86-64-inval-crc32.l: Adjust expectations.
2348
2349 2020-01-21 Jan Beulich <jbeulich@suse.com>
2350
2351 * config/tc-i386.c (process_suffix): Merge CRC32 handling into
2352 generic code path. Deal with No_lSuf being set in a template.
2353 * testsuite/gas/i386/inval-crc32.l,
2354 testsuite/gas/i386/x86-64-inval-crc32.l: Expect warning(s)
2355 instead of error(s) when operand size is ambiguous.
2356 * testsuite/gas/i386/noreg16.s, testsuite/gas/i386/noreg32.s,
2357 testsuite/gas/i386/noreg64.s: Add CRC32 tests.
2358 * testsuite/gas/i386/noreg16.d, testsuite/gas/i386/noreg16.l,
2359 testsuite/gas/i386/noreg32.d, testsuite/gas/i386/noreg32.l,
2360 testsuite/gas/i386/noreg64.d, testsuite/gas/i386/noreg64.l:
2361 Adjust expectations.
2362
2363 2020-01-21 Jan Beulich <jbeulich@suse.com>
2364
2365 * config/tc-i386.c (process_suffix): Drop SYSRET special case
2366 and an intel_syntax check. Re-write lack-of-suffix processing
2367 logic.
2368 * doc/c-i386.texi: Document operand size defaults for suffix-
2369 less AT&T syntax insns.
2370 * testsuite/gas/i386/bundle.s, testsuite/gas/i386/lock-1.s,
2371 testsuite/gas/i386/opcode.s, testsuite/gas/i386/sse3.s,
2372 testsuite/gas/i386/x86-64-avx-scalar.s,
2373 testsuite/gas/i386/x86-64-avx.s,
2374 testsuite/gas/i386/x86-64-bundle.s,
2375 testsuite/gas/i386/x86-64-intel64.s,
2376 testsuite/gas/i386/x86-64-lock-1.s,
2377 testsuite/gas/i386/x86-64-opcode.s,
2378 testsuite/gas/i386/x86-64-sse2avx.s,
2379 testsuite/gas/i386/x86-64-sse3.s: Add missing suffixes.
2380 * testsuite/gas/i386/nops.s, testsuite/gas/i386/sse-noavx.s,
2381 testsuite/gas/i386/x86-64-nops.s,
2382 testsuite/gas/i386/x86-64-ptwrite.s,
2383 testsuite/gas/i386/x86-64-simd.s,
2384 testsuite/gas/i386/x86-64-sse-noavx.s,
2385 testsuite/gas/i386/x86-64-suffix.s: Drop bogus suffix-less
2386 insns.
2387 * testsuite/gas/i386/noreg16.s, testsuite/gas/i386/noreg32.s,
2388 testsuite/gas/i386/noreg64.s: Add further tests.
2389 * testsuite/gas/i386/ilp32/x86-64-nops.d,
2390 testsuite/gas/i386/nops.d, testsuite/gas/i386/noreg16.d,
2391 testsuite/gas/i386/noreg32.d, testsuite/gas/i386/noreg64.d,
2392 testsuite/gas/i386/sse-noavx.d,
2393 testsuite/gas/i386/x86-64-intel64.d,
2394 testsuite/gas/i386/x86-64-nops.d,
2395 testsuite/gas/i386/x86-64-opcode.d,
2396 testsuite/gas/i386/x86-64-ptwrite-intel.d,
2397 testsuite/gas/i386/x86-64-ptwrite.d,
2398 testsuite/gas/i386/x86-64-simd-intel.d,
2399 testsuite/gas/i386/x86-64-simd-suffix.d,
2400 testsuite/gas/i386/x86-64-simd.d,
2401 testsuite/gas/i386/x86-64-sse-noavx.d
2402 testsuite/gas/i386/x86-64-suffix.d,
2403 testsuite/gas/i386/x86-64-suffix-intel.d: Adjust expectations.
2404 * testsuite/gas/i386/noreg16.l, testsuite/gas/i386/noreg32.l,
2405 testsuite/gas/i386/noreg64.l: New.
2406 * testsuite/gas/i386/i386.exp: Run new tests.
2407
2408 2020-01-21 Jan Beulich <jbeulich@suse.com>
2409
2410 * testsuite/gas/i386/avx512_bf16_vl.s,
2411 testsuite/gas/i386/x86-64-avx512_bf16_vl.s: Add broadcast forms
2412 of VCVTNEPS2BF16{X,Y}. Add operand-size less Intel syntax
2413 broadcast forms of VCVTNEPS2BF16.
2414 * testsuite/gas/i386/avx512_bf16_vl.d,
2415 testsuite/gas/i386/x86-64-avx512_bf16_vl.d: Adjust expectations.
2416
2417 2020-01-20 Nick Clifton <nickc@redhat.com>
2418
2419 * po/uk.po: Updated Ukranian translation.
2420
2421 2020-01-20 H.J. Lu <hongjiu.lu@intel.com>
2422
2423 PR ld/25416
2424 * config/tc-i386.c (output_insn): Add a dummy REX_OPCODE prefix
2425 for lea with R_X86_64_GOTPC32_TLSDESC relocation when generating
2426 x32 object.
2427 * testsuite/gas/i386/ilp32/x32-tls.d: Updated.
2428 * testsuite/gas/i386/ilp32/x32-tls.s: Add tests for lea with
2429 R_X86_64_GOTPC32_TLSDESC relocation.
2430
2431 2020-01-18 Nick Clifton <nickc@redhat.com>
2432
2433 * configure: Regenerate.
2434 * po/gas.pot: Regenerate.
2435
2436 2020-01-18 Nick Clifton <nickc@redhat.com>
2437
2438 Binutils 2.34 branch created.
2439
2440 2020-01-17 H.J. Lu <hongjiu.lu@intel.com>
2441
2442 * config/tc-i386.c (_i386_insn): Replace vex_encoding_vex2
2443 with vex_encoding_vex.
2444 (parse_insn): Likewise.
2445 * doc/c-i386.texi: Replace {vex2} with {vex}. Update {vex}
2446 and {vex3} documentation.
2447 * testsuite/gas/i386/pseudos.s: Replace 3 {vex2} tests with
2448 {vex}.
2449 * testsuite/gas/i386/x86-64-pseudos.s: Likewise.
2450
2451 2020-01-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
2452
2453 PR 25376
2454 * config/tc-arm.c (mve_ext, mve_fp_ext): Use CORE_HIGH.
2455 (armv8_1m_main_ext_table): Use CORE_HIGH for mve.
2456 * testsuite/arm/armv8_1-m-fpu-mve-1.s: New.
2457 * testsuite/arm/armv8_1-m-fpu-mve-1.d: New.
2458 * testsuite/arm/armv8_1-m-fpu-mve-2.s: New.
2459 * testsuite/arm/armv8_1-m-fpu-mve-2.d: New.
2460
2461 2020-01-16 Jan Beulich <jbeulich@suse.com>
2462
2463 * config/tc-i386.c (match_template): Drop found_cpu_match local
2464 variable.
2465
2466 2020-01-16 Jan Beulich <jbeulich@suse.com>
2467
2468 * testsuite/gas/i386/avx512dq-inval.l,
2469 testsuite/gas/i386/avx512dq-inval.s: New.
2470 * testsuite/gas/i386/i386.exp: Run new test.
2471
2472 2020-01-15 Jozef Lawrynowicz <jozef.l@mittosystems.com>
2473
2474 * config/tc-msp430.c (CHECK_RELOC_MSP430): Always generate 430X
2475 relocations when the target is 430X, except when extracting part of an
2476 expression.
2477 (msp430_srcoperand): Adjust comment.
2478 Initialize the expp member of the msp430_operand_s struct as
2479 appropriate.
2480 (msp430_dstoperand): Likewise.
2481 * testsuite/gas/msp430/msp430.exp: Run new test.
2482 * testsuite/gas/msp430/reloc-lo-430x.d: New test.
2483 * testsuite/gas/msp430/reloc-lo-430x.s: New test.
2484
2485 2020-01-15 Alan Modra <amodra@gmail.com>
2486
2487 * configure.tgt: Add sparc-*-freebsd case.
2488
2489 2020-01-14 Lili Cui <lili.cui@intel.com>
2490
2491 * testsuite/gas/i386/align-branch-1a.d: Updated for Darwin.
2492 * testsuite/gas/i386/align-branch-1b.d: Likewise.
2493 * testsuite/gas/i386/align-branch-1c.d: Likewise.
2494 * testsuite/gas/i386/align-branch-1d.d: Likewise.
2495 * testsuite/gas/i386/align-branch-1e.d: Likewise.
2496 * testsuite/gas/i386/align-branch-1f.d: Likewise.
2497 * testsuite/gas/i386/align-branch-1g.d: Likewise.
2498 * testsuite/gas/i386/align-branch-1h.d: Likewise.
2499 * testsuite/gas/i386/align-branch-1i.d: Likewise.
2500 * testsuite/gas/i386/align-branch-5.d: Likewise.
2501 * testsuite/gas/i386/x86-64-align-branch-1a.d: Likewise.
2502 * testsuite/gas/i386/x86-64-align-branch-1b.d: Likewise.
2503 * testsuite/gas/i386/x86-64-align-branch-1c.d: Likewise.
2504 * testsuite/gas/i386/x86-64-align-branch-1d.d: Likewise.
2505 * testsuite/gas/i386/x86-64-align-branch-1e.d: Likewise.
2506 * testsuite/gas/i386/x86-64-align-branch-1f.d: Likewise.
2507 * testsuite/gas/i386/x86-64-align-branch-1g.d: Likewise.
2508 * testsuite/gas/i386/x86-64-align-branch-1h.d: Likewise.
2509 * testsuite/gas/i386/x86-64-align-branch-1i.d: Likewise.
2510 * testsuite/gas/i386/x86-64-align-branch-5.d: Likewise.
2511 * testsuite/gas/i386/i386.exp: Skip x86-64-align-branch-2a,
2512 x86-64-align-branch-2b and x86-64-align-branch-2c on Darwin.
2513
2514 2020-01-14 Sergey Belyashov <sergey.belyashov@gmail.com>
2515
2516 PR 25377
2517 * config/tc-z80.c: Add support for half precision, single
2518 precision and double precision floating point values.
2519 * config/tc-z80.h b/gas/config/tc-z80.h: Disable string escapes.
2520 * doc/as.texi: Add new z80 command line options.
2521 * doc/c-z80.texi: Document new z80 command line options.
2522 * testsuite/gas/z80/ez80_pref_dis.s: New test.
2523 * testsuite/gas/z80/ez80_pref_dis.d: New test driver.
2524 * testsuite/gas/z80/z80.exp: Run the new test.
2525 * testsuite/gas/z80/fp_math48.d: Use correct command line option.
2526 * testsuite/gas/z80/fp_zeda32.d: Likewise.
2527 * testsuite/gas/z80/strings.d: Update expected output.
2528
2529 2020-01-13 Matthew Malcomson <matthew.malcomson@arm.com>
2530
2531 * config/tc-aarch64.c (f64mm, f32mm): Add sve as a feature
2532 dependency.
2533
2534 2020-01-13 Claudiu Zissulescu <claziss@gmail.com>
2535
2536 * config/tc-arc.c (arc_select_cpu): Re-init the bfd if we change
2537 the CPU.
2538 * config/tc-arc.h: Add header if/defs.
2539 * testsuite/gas/arc/pseudos.d: Improve matching pattern.
2540
2541 2020-01-13 Alan Modra <amodra@gmail.com>
2542
2543 * testsuite/gas/wasm32/allinsn.d: Update expected output.
2544
2545 2020-01-13 Alan Modra <amodra@gmail.com>
2546
2547 * config/tc-tic4x.c (tic4x_operands_match): Correct tic3x trap
2548 insertion.
2549
2550 2020-01-10 Alan Modra <amodra@gmail.com>
2551
2552 * testsuite/gas/elf/pr14891.s: Don't start directives in first column.
2553 * testsuite/gas/elf/pr21661.d: Don't run on hpux.
2554
2555 2020-01-03 Sergey Belyashov <sergey.belyashov@gmail.com>
2556
2557 PR 25224
2558 * config/tc-z80.c (emit_ld_m_rr): Use integer types when checking
2559 opcode byte values.
2560 (emit_ld_r_r): Likewise.
2561 (emit_ld_rr_m): Likewise.
2562 (emit_ld_rr_nn): Likewise.
2563
2564 2020-01-09 Jan Beulich <jbeulich@suse.com>
2565
2566 * config/tc-i386.c (optimize_encoding): Add
2567 is_any_vex_encoding() invocations. Drop respective
2568 i.tm.extension_opcode == None checks.
2569
2570 2020-01-09 Jan Beulich <jbeulich@suse.com>
2571
2572 * config/tc-i386.c (md_assemble): Check RegRex is clear during
2573 REX transformations. Correct comment indentation.
2574
2575 2020-01-09 Jan Beulich <jbeulich@suse.com>
2576
2577 * config/tc-i386.c (optimize_encoding): Generalize register
2578 transformation for TEST optimization.
2579
2580 2020-01-09 Jan Beulich <jbeulich@suse.com>
2581
2582 * testsuite/gas/i386/x86-64-sysenter-amd.s,
2583 testsuite/gas/i386/x86-64-sysenter-amd.d,
2584 testsuite/gas/i386/x86-64-sysenter-amd.l,
2585 testsuite/gas/i386/x86-64-sysenter-intel.d,
2586 testsuite/gas/i386/x86-64-sysenter-mixed.d: New.
2587 * testsuite/gas/i386/i386.exp: Run new tests.
2588
2589 2020-01-08 Nick Clifton <nickc@redhat.com>
2590
2591 PR 25284
2592 * doc/as.texi (Align): Document the fact that all arguments can be
2593 omitted.
2594 (Balign): Likewise.
2595 (P2align): Likewise.
2596
2597 2020-01-08 Nick Clifton <nickc@redhat.com>
2598
2599 PR 14891
2600 * config/obj-elf.c (obj_elf_section): Fail if the section name is
2601 already defined as a different symbol type.
2602 * testsuite/gas/elf/pr14891.s: New test source file.
2603 * testsuite/gas/elf/pr14891.d: New test driver.
2604 * testsuite/gas/elf/pr14891.s: New test expected error output.
2605 * testsuite/gas/elf/elf.exp: Run the new test.
2606
2607 2020-01-08 Alan Modra <amodra@gmail.com>
2608
2609 * config/tc-z8k.c (md_begin): Make idx unsigned.
2610 (get_specific): Likewise for this_index.
2611
2612 2020-01-07 Claudiu Zissulescu <claziss@synopsys.com>
2613
2614 * onfig/tc-arc.c (parse_reloc_symbol): New function.
2615 (tokenize_arguments): Clean up, use parse_reloc_symbol function.
2616 (md_operand): Set X_md to absent.
2617 (arc_parse_name): Check for X_md.
2618
2619 2020-01-03 Sergey Belyashov <sergey.belyashov@gmail.com>
2620
2621 PR 25311
2622 * as.h (TC_STRING_ESCAPES): Provide a default definition.
2623 * app.c (do_scrub_chars): Use TC_STRING_ESCAPES instead of
2624 NO_STRING_ESCAPES.
2625 * read.c (next_char_of_string): Likewise.
2626 * config/tc-ppc.h (TC_STRING_ESCAPES): Define.
2627 * config/tc-z80.h (TC_STRING_ESCAPES): Define.
2628
2629 2020-01-03 Nick Clifton <nickc@redhat.com>
2630
2631 * po/sv.po: Updated Swedish translation.
2632
2633 2020-01-03 Jan Beulich <jbeulich@suse.com>
2634
2635 * testsuite/gas/aarch64/f64mm.s: Scale index of LD1RO{H,W,D}.
2636 * testsuite/gas/aarch64/f64mm.d: Adjust expectations.
2637
2638 2020-01-03 Jan Beulich <jbeulich@suse.com>
2639
2640 * testsuite/gas/aarch64/i8mm.s: Add 128-bit form tests for
2641 by-element usdot. Add 64-bit form tests for by-element sudot.
2642 * testsuite/gas/aarch64/i8mm.d: Adjust expectations.
2643
2644 2020-01-03 Jan Beulich <jbeulich@suse.com>
2645
2646 * testsuite/gas/aarch64/f64mm.s: Drop 'i' from uzip<n>.
2647 * testsuite/gas/aarch64/f64mm.d: Adjust expectations.
2648
2649 2020-01-03 Jan Beulich <jbeulich@suse.com>
2650
2651 * testsuite/gas/aarch64/f64mm.d,
2652 testsuite/gas/aarch64/sve-movprfx-mm.d: Adjust expectations.
2653
2654 2020-01-02 Sergey Belyashov <sergey.belyashov@gmail.com>
2655
2656 * config/tc-z80.c: Add new architectures: Z180 and eZ80. Add
2657 support for assembler code generated by SDCC. Add new relocation
2658 types. Add z80-elf target support.
2659 * config/tc-z80.h: Add z80-elf target support. Enable dollar local
2660 labels. Local labels starts from ".L".
2661 * NEWS: Mention the new support.
2662 * testsuite/gas/all/fwdexp.d: Fix failure due to symbol conflict.
2663 * testsuite/gas/all/fwdexp.s: Likewise.
2664 * testsuite/gas/all/cond.l: Likewise.
2665 * testsuite/gas/all/cond.s: Likewise.
2666 * testsuite/gas/all/fwdexp.d: Likewise.
2667 * testsuite/gas/all/fwdexp.s: Likewise.
2668 * testsuite/gas/elf/section2.e-mips: Likewise.
2669 * testsuite/gas/elf/section2.l: Likewise.
2670 * testsuite/gas/elf/section2.s: Likewise.
2671 * testsuite/gas/macros/app1.d: Likewise.
2672 * testsuite/gas/macros/app1.s: Likewise.
2673 * testsuite/gas/macros/app2.d: Likewise.
2674 * testsuite/gas/macros/app2.s: Likewise.
2675 * testsuite/gas/macros/app3.d: Likewise.
2676 * testsuite/gas/macros/app3.s: Likewise.
2677 * testsuite/gas/macros/app4.d: Likewise.
2678 * testsuite/gas/macros/app4.s: Likewise.
2679 * testsuite/gas/macros/app4b.s: Likewise.
2680 * testsuite/gas/z80/suffix.d: Fix failure on ELF target.
2681 * testsuite/gas/z80/z80.exp: Add new tests
2682 * testsuite/gas/z80/dollar.d: New file.
2683 * testsuite/gas/z80/dollar.s: New file.
2684 * testsuite/gas/z80/ez80_adl_all.d: New file.
2685 * testsuite/gas/z80/ez80_adl_all.s: New file.
2686 * testsuite/gas/z80/ez80_adl_suf.d: New file.
2687 * testsuite/gas/z80/ez80_isuf.s: New file.
2688 * testsuite/gas/z80/ez80_z80_all.d: New file.
2689 * testsuite/gas/z80/ez80_z80_all.s: New file.
2690 * testsuite/gas/z80/ez80_z80_suf.d: New file.
2691 * testsuite/gas/z80/r800_extra.d: New file.
2692 * testsuite/gas/z80/r800_extra.s: New file.
2693 * testsuite/gas/z80/r800_ii8.d: New file.
2694 * testsuite/gas/z80/r800_z80_doc.d: New file.
2695 * testsuite/gas/z80/z180.d: New file.
2696 * testsuite/gas/z80/z180.s: New file.
2697 * testsuite/gas/z80/z180_z80_doc.d: New file.
2698 * testsuite/gas/z80/z80_doc.d: New file.
2699 * testsuite/gas/z80/z80_doc.s: New file.
2700 * testsuite/gas/z80/z80_ii8.d: New file.
2701 * testsuite/gas/z80/z80_ii8.s: New file.
2702 * testsuite/gas/z80/z80_in_f_c.d: New file.
2703 * testsuite/gas/z80/z80_in_f_c.s: New file.
2704 * testsuite/gas/z80/z80_op_ii_ld.d: New file.
2705 * testsuite/gas/z80/z80_op_ii_ld.s: New file.
2706 * testsuite/gas/z80/z80_out_c_0.d: New file.
2707 * testsuite/gas/z80/z80_out_c_0.s: New file.
2708 * testsuite/gas/z80/z80_reloc.d: New file.
2709 * testsuite/gas/z80/z80_reloc.s: New file.
2710 * testsuite/gas/z80/z80_sli.d: New file.
2711 * testsuite/gas/z80/z80_sli.s: New file.
2712
2713 2020-01-02 Szabolcs Nagy <szabolcs.nagy@arm.com>
2714
2715 * config/tc-arm.c (parse_reg_list): Use REG_TYPE_RN instead of
2716 REGLIST_RN.
2717
2718 2020-01-01 Alan Modra <amodra@gmail.com>
2719
2720 Update year range in copyright notice of all files.
2721
2722 For older changes see ChangeLog-2019
2723 \f
2724 Copyright (C) 2020 Free Software Foundation, Inc.
2725
2726 Copying and distribution of this file, with or without modification,
2727 are permitted in any medium without royalty provided the copyright
2728 notice and this notice are preserved.
2729
2730 Local Variables:
2731 mode: change-log
2732 left-margin: 8
2733 fill-column: 74
2734 version-control: never
2735 End: