1 2020-03-17 Sergey Belyashov <sergey.belyashov@gmail.com>
6 Fix disassembling ED+A4/AC/B4/BC opcodes.
7 Fix assembling lines containing colonless label and instruction
8 with first operand inside parentheses.
9 Fix registration of unsupported by target CPU registers.
10 * config/tc-z80.c: See above.
11 * config/tc-z80.h: See above.
12 * testsuite/gas/z80/colonless.d: Update test.
13 * testsuite/gas/z80/colonless.s: Likewise.
14 * testsuite/gas/z80/ez80_adl_all.d: Likewise.
15 * testsuite/gas/z80/ez80_unsup_regs.d: Likewise.
16 * testsuite/gas/z80/ez80_z80_all.d: Likewise.
17 * testsuite/gas/z80/gbz80_unsup_regs.d: Likewise.
18 * testsuite/gas/z80/r800_unsup_regs.d: Likewise.
19 * testsuite/gas/z80/unsup_regs.s: Likewise.
20 * testsuite/gas/z80/z180_unsup_regs.d: Likewise.
21 * testsuite/gas/z80/z80.exp: Likewise.
22 * testsuite/gas/z80/z80_strict_unsup_regs.d: Likewise.
23 * testsuite/gas/z80/z80_unsup_regs.d: Likewise.
24 * testsuite/gas/z80/z80n_unsup_regs.d: Likewise.
26 2020-03-13 Andre Vieira <andre.simoesdiasvieira@arm.com>
29 * config/tc-arm.c (operand_parse_code): Add OP_RNSDMQR and OP_oRNSDMQ.
30 (parse_operands): Handle new operand codes.
31 (do_neon_dyadic_long): Make shape check accept the scalar variants.
32 (asm_opcode_insns): Fix operand codes for vaddl and vsubl.
33 * testsuite/gas/arm/mve-vaddsub-it.s: New test.
34 * testsuite/gas/arm/mve-vaddsub-it.d: New test.
35 * testsuite/gas/arm/mve-vaddsub-it-bad.s: New test.
36 * testsuite/gas/arm/mve-vaddsub-it-bad.l: New test.
37 * testsuite/gas/arm/mve-vaddsub-it-bad.d: New test.
38 * testsuite/gas/arm/nomve-vaddsub-it.d: New test.
40 2020-03-11 H.J. Lu <hongjiu.lu@intel.com>
42 * NEWS: Mention x86 assembler options for CVE-2020-0551.
44 2020-03-11 H.J. Lu <hongjiu.lu@intel.com>
46 * testsuite/gas/i386/i386.exp: Run new tests.
47 * testsuite/gas/i386/lfence-byte.d: New file.
48 * testsuite/gas/i386/lfence-byte.e: Likewise.
49 * testsuite/gas/i386/lfence-byte.s: Likewise.
50 * testsuite/gas/i386/lfence-indbr-a.d: Likewise.
51 * testsuite/gas/i386/lfence-indbr-b.d: Likewise.
52 * testsuite/gas/i386/lfence-indbr-c.d: Likewise.
53 * testsuite/gas/i386/lfence-indbr.e: Likewise.
54 * testsuite/gas/i386/lfence-indbr.s: Likewise.
55 * testsuite/gas/i386/lfence-load.d: Likewise.
56 * testsuite/gas/i386/lfence-load.s: Likewise.
57 * testsuite/gas/i386/lfence-ret-a.d: Likewise.
58 * testsuite/gas/i386/lfence-ret-b.d: Likewise.
59 * testsuite/gas/i386/lfence-ret.s: Likewise.
60 * testsuite/gas/i386/x86-64-lfence-byte.d: Likewise.
61 * testsuite/gas/i386/x86-64-lfence-byte.e: Likewise.
62 * testsuite/gas/i386/x86-64-lfence-byte.s: Likewise.
63 * testsuite/gas/i386/x86-64-lfence-indbr-a.d: Likewise.
64 * testsuite/gas/i386/x86-64-lfence-indbr-b.d: Likewise.
65 * testsuite/gas/i386/x86-64-lfence-indbr-c.d: Likewise.
66 * testsuite/gas/i386/x86-64-lfence-indbr.e: Likewise.
67 * testsuite/gas/i386/x86-64-lfence-indbr.s: Likewise.
68 * testsuite/gas/i386/x86-64-lfence-load.d: Likewise.
69 * testsuite/gas/i386/x86-64-lfence-load.s: Likewise.
70 * testsuite/gas/i386/x86-64-lfence-ret-a.d: Likewise.
71 * testsuite/gas/i386/x86-64-lfence-ret-b.d: Likewise.
73 2020-03-11 H.J. Lu <hongjiu.lu@intel.com>
75 * config/tc-i386.c (lfence_after_load): New.
76 (lfence_before_indirect_branch_kind): New.
77 (lfence_before_indirect_branch): New.
78 (lfence_before_ret_kind): New.
79 (lfence_before_ret): New.
82 (insert_lfence_after): New.
83 (insert_lfence_before): New.
84 (md_assemble): Call insert_lfence_before and insert_lfence_after.
86 (OPTION_MLFENCE_AFTER_LOAD): New.
87 (OPTION_MLFENCE_BEFORE_INDIRECT_BRANCH): New.
88 (OPTION_MLFENCE_BEFORE_RET): New.
89 (md_longopts): Add -mlfence-after-load=,
90 -mlfence-before-indirect-branch= and -mlfence-before-ret=.
91 (md_parse_option): Handle -mlfence-after-load=,
92 -mlfence-before-indirect-branch= and -mlfence-before-ret=.
93 (md_show_usage): Display -mlfence-after-load=,
94 -mlfence-before-indirect-branch= and -mlfence-before-ret=.
95 (i386_cons_align): New.
96 * config/tc-i386.h (i386_cons_align): New.
98 * doc/c-i386.texi: Document -mlfence-after-load=,
99 -mlfence-before-indirect-branch= and -mlfence-before-ret=.
101 2020-03-11 Nick Clifton <nickc@redhat.com>
105 * dwarf2dbg.c (DWARF2_FILE_TIME_NAME): Default to -1.
106 (DWARF2_FILE_SIZE_NAME): Default to -1.
107 (DWARF2_LINE_VERSION): Default to the current dwarf level or 3,
109 (DWARF2_LINE_MAX_OPS_PER_INSN): Provide a default value of 1.
110 (NUM_MD5_BYTES): Define.
111 (struct file entry): Add md5 field.
112 (get_filenum): Delete and replace with...
113 (get_basename): New function.
114 (get_directory_table_entry): New function.
115 (allocate_filenum): New function.
116 (allocate_filename_to_slot): New function.
117 (dwarf2_where): Use new functions.
118 (dwarf2_directive_filename): Add support for extended .file
120 (dwarf2_directive_loc): Allow the use of file number zero with
122 (out_file_list): Rename to...
123 (out_dir_and_file_list): Add DWARF 5 support.
124 (out_debug_line): Emit extra values into the section header for
126 (out_debug_str): Allow for file 0 to be used with DWARF 5.
127 * doc/as.texi (.file): Update the description of this pseudo-op.
128 * testsuite/gas/elf-dwarf-5-file0.s: Add more lines.
129 * testsuite/gas/elf-dwarf-5-file0.d: Update expected dump output.
130 * testsuite/gas/lns/lns-diag-1.l: Update expected error message.
131 * NEWS: Mention the new feature.
133 2020-03-10 Alan Modra <amodra@gmail.com>
135 * config/tc-csky.c (get_operand_value): Rewrite 1 << 31 expressions
136 to avoid signed overflow.
137 * config/tc-mcore.c (md_assemble): Likewise.
138 * config/tc-mips.c (gpr_read_mask, gpr_write_mask): Likewise.
139 * config/tc-nds32.c (SET_ADDEND): Likewise.
140 * config/tc-nios2.c (nios2_assemble_arg_R): Likewise.
142 2020-03-09 Jan Beulich <jbeulich@suse.com>
144 * testsuite/gas/i386/avx.s: Add long-form VCMP[PS][SD] pseudos.
145 * testsuite/gas/i386/avx.d, testsuite/gas/i386/avx-16bit.d,
146 testsuite/gas/i386/avx-intel.d: Adjust expectations.
148 2020-03-07 Alan Modra <amodra@gmail.com>
150 * testsuite/gas/elf/dwarf-5-file0.s: Don't start directives in
153 2020-03-06 Nick Clifton <nickc@redhat.com>
156 * dwarf2dbg.c (dwarf2_directive_filename): Allow a file number of
157 0 if the dwarf_level is 5 or more. Complain if a filename follows
159 * testsuite/gas/elf/dwarf-5-file0.s: New test.
160 * testsuite/gas/elf/dwarf-5-file0.d: New test driver.
161 * testsuite/gas/elf/elf.exp: Run the new test.
164 * config/tc-ia64.h (DWARF2_VERISION): Fix typo.
165 * doc/as.texi: Fix another typo.
167 2020-03-06 Nick Clifton <nickc@redhat.com>
170 * as.c (dwarf_level): Define.
171 (show_usage): Add --gdwarf-3, --gdwarf-4 and --gdwarf-5.
172 (parse_args): Add support for the new options.
173 as.h (dwarf_level): Prototype.
174 * dwarf2dbg.c (DWARF2_VERSION): Use dwarf_level as default version
176 * config/tc-ia64.h (DWARF2_VERISION): Update definition.
177 (DWARF2_LINE_VERSION): Remove definition.
178 * doc/as.texi: Document the new options.
180 2020-03-06 Nick Clifton <nickc@redhat.com>
183 * as.c (main): Allow matching input and outputs when they are
186 2020-03-06 Jan Beulich <jbeulich@suse.com>
188 * config/tc-i386.c (match_mem_size): Generalize broadcast special
190 (check_VecOperands): Zap xmmword/ymmword/zmmword when more than
191 one of byte/word/dword/qword is set alongside a SIMD register in
192 a template's operand.
194 2020-03-06 Jan Beulich <jbeulich@suse.com>
196 * config/tc-i386.c (match_template): Extend code in logic
197 rejecting certain suffixes in certain modes to also cover mask
198 register use and VecSIB. Drop special casing of broadcast. Skip
199 immediates in the check.
201 2020-03-06 Jan Beulich <jbeulich@suse.com>
203 * config/tc-i386.c (match_template): Fold duplicate code in
204 logic rejecting certain suffixes in certain modes. Drop
207 2020-03-06 Jan Beulich <jbeulich@suse.com>
209 * config/tc-i386.c (process_suffix): Exlucde !vexw insns
210 alongside !norex64 ones.
211 * testsuite/gas/i386/x86-64-avx512bw.s: Test VPEXTR* and VPINSR*
212 with both 32- and 64-bit GPR operands.
213 * testsuite/gas/i386/x86-64-avx512f.s: Test VEXTRACTPS with both
214 32- and 64-bit GPR operands.
215 * testsuite/gas/i386/x86-64-avx512bw-intel.d,
216 testsuite/gas/i386/x86-64-avx512bw.d,
217 testsuite/gas/i386/x86-64-avx512f-intel.d,
218 testsuite/gas/i386/x86-64-avx512f.d: Adjust expectations.
220 2020-03-06 Jan Beulich <jbeulich@suse.com>
222 * config/tc-i386.c (md_assemble): Drop use of rex64.
223 (process_suffix): For REX.W for 64-bit CRC32.
225 2020-03-06 Jan Beulich <jbeulich@suse.com>
227 * config/tc-i386.c (i386_addressing_mode): For 32-bit
228 addressing for MPX insns without base/index.
229 * testsuite/gas/i386/mpx-16bit.s,
230 * testsuite/gas/i386/mpx-16bit.d: New.
231 * testsuite/gas/i386/i386.exp: Run new test.
233 2020-03-06 Jan Beulich <jbeulich@suse.com>
235 * testsuite/gas/i386/adx.s, testsuite/gas/i386/cet.s,
236 testsuite/gas/i386/ept.s, testsuite/gas/i386/fsgs.s,
237 testsuite/gas/i386/invpcid.s, testsuite/gas/i386/movdir.s,
238 testsuite/gas/i386/ptwrite.s, testsuite/gas/i386/vmx.s,
239 * testsuite/gas/i386/code16.s: Add CR, DR, and TR access cases
240 as well as a BSWAP one.
241 * testsuite/gas/i386/rdpid.s: Add 16-bit case.
242 * testsuite/gas/i386/sse2-16bit.s: Cover more insns.
243 * testsuite/gas/i386/adx-intel.d, testsuite/gas/i386/adx.d,
244 testsuite/gas/i386/cet-intel.d, testsuite/gas/i386/cet.d,
245 testsuite/gas/i386/code16.d, testsuite/gas/i386/ept-intel.d,
246 testsuite/gas/i386/ept.d, testsuite/gas/i386/fsgs-intel.d,
247 testsuite/gas/i386/fsgs.d, testsuite/gas/i386/invpcid-intel.d,
248 testsuite/gas/i386/invpcid.d, testsuite/gas/i386/movdir-intel.d,
249 testsuite/gas/i386/movdir.d, testsuite/gas/i386/ptwrite-intel.d,
250 testsuite/gas/i386/ptwrite.d, testsuite/gas/i386/rdpid-intel.d,
251 testsuite/gas/i386/rdpid.d, testsuite/gas/i386/sse2-16bit.d,
252 testsuite/gas/i386/vmx.d: Adjust expectations.
254 2020-03-06 Jan Beulich <jbeulich@suse.com>
256 * config/tc-i386.c (md_assemble): Also exclude tpause and umwait
257 from having their operands swapped.
258 * testsuite/gas/i386/waitpkg.s,
259 testsuite/gas/i386/x86-64-waitpkg.s: Add tpause and umwait
260 3-operand cases as well as testing of 16-bit code generation.
261 * testsuite/gas/i386/waitpkg.d,
262 testsuite/gas/i386/waitpkg-intel.d,
263 testsuite/gas/i386/x86-64-waitpkg.d,
264 testsuite/gas/i386/x86-64-waitpkg-intel.d: Adjust expectations.
266 2020-03-04 Nelson Chu <nelson.chu@sifive.com>
268 * config/tc-riscv.c (percent_op_utype): Support the modifier
270 * doc/c-riscv.texi: Add documentation.
271 * testsuite/gas/riscv/no-relax-reloc.d: Add test case for the new
272 modifier %got_pcrel_hi.
273 * testsuite/gas/riscv/no-relax-reloc.s: Likewise.
274 * testsuite/gas/riscv/relax-reloc.d: Likewise.
275 * testsuite/gas/riscv/relax-reloc.s: Likewise.
277 * doc/c-riscv.texi (relocation modifiers): Add documentation.
278 (RISC-V-Formats): Update the section name from "Instruction Formats"
279 to "RISC-V Instruction Formats".
281 2020-03-04 Alexandre Oliva <oliva@adacore.com>
283 * config/tc-arm.c (md_apply_fix): Warn if a PC-relative load is
284 detected in a section which does not have at least 4 byte
286 * testsuite/gas/arm/armv8-ar-it-bad.s: Add alignment directive.
287 * testsuite/gas/arm/ldr-t.s: Likewise.
288 * testsuite/gas/arm/sp-pc-usage-t.s: Likewise.
289 * testsuite/gas/arm/sp-pc-usage-t.d: Finish test at end of
290 disassembly, ignoring any NOPs that may have been inserted because
291 of section alignment.
292 * testsuite/gas/arm/ldr-t.d: Likewise.
294 2020-03-04 Jan Beulich <jbeulich@suse.com>
296 * config/tc-i386.c (cpu_arch): Add .sev_es entry.
297 * doc/c-i386.texi: Mention sev_es.
298 * testsuite/gas/i386/arch-13.s: Add SEV-ES case.
299 * testsuite/gas/i386/arch-13.d: Extend -march=. Adjust
301 * testsuite/gas/i386/arch-13-znver1.d,
302 testsuite/gas/i386/arch-13-znver2.d: Extend -march=.
304 2020-03-03 H.J. Lu <hongjiu.lu@intel.com>
306 * config/tc-i386.c (match_template): Replace ignoresize and
307 defaultsize with mnemonicsize.
308 (process_suffix): Likewise.
310 2020-03-03 Sergey Belyashov <sergey.belyashov@gmail.com>
313 * config/tc-z80.c (emit_ld_rr_m): Fix invalid compilation of
314 instruction LD IY,(HL).
315 * testsuite/gas/z80/ez80_adl_all.d: Update expected disassembly.
316 * testsuite/gas/z80/ez80_adl_all.s: Add tests of the instruction.
317 * testsuite/gas/z80/ez80_z80_all.d: Update expected disassembly.
318 * testsuite/gas/z80/ez80_z80_all.s: Add tests of the instruction.
320 2020-03-03 H.J. Lu <hongjiu.lu@intel.com>
323 * testsuite/gas/i386/i386.exp: Run x86-64-default-suffix and
324 x86-64-default-suffix-avx.
325 * testsuite/gas/i386/noreg64.s: Remove cvtsi2sd, cvtsi2ss,
326 vcvtsi2sd, vcvtsi2ss, vcvtusi2sd and vcvtusi2ss entries.
327 * testsuite/gas/i386/noreg64.d: Updated.
328 * testsuite/gas/i386/noreg64.l: Likewise.
329 * testsuite/gas/i386/x86-64-default-suffix-avx.d: New file.
330 * testsuite/gas/i386/x86-64-default-suffix.d: Likewise.
331 * testsuite/gas/i386/x86-64-default-suffix.s: Likewise.
333 2020-03-03 Sergey Belyashov <sergey.belyashov@gmail.com>
336 * config/tc-z80.c (contains_register): Prevent an illegal memory
337 access when checking an expression for a register name.
339 2020-03-03 Alan Modra <amodra@gmail.com>
341 * config/obj-coff.h: Remove vestiges of coff-m68k and pe-mips
344 2020-03-02 Alan Modra <amodra@gmail.com>
346 * config/tc-m32r.c (md_begin): Set SEC_SMALL_DATA on .scommon section.
347 * config/tc-mips.c (s_change_sec): Set SEC_SMALL_DATA for .sdata
349 * config/tc-score.c: Delete !BFD_ASSEMBLER code throughout.
350 (s3_s_change_sec): Set SEC_SMALL_DATA for .sbss section.
351 (s3_s_score_lcomm): Likewise.
352 * config/tc-score7.c: Similarly.
353 * read.c (bss_alloc): Set SEC_SMALL_DATA for .sbss section.
355 2020-02-28 YunQiang Su <syq@debian.org>
358 * config/tc-mips.c (fix_loongson3_llsc): Compare label value
359 to handle multi-labels.
360 (has_label_name): New.
362 2020-02-26 Matthew Malcomson <matthew.malcomson@arm.com>
364 * config/tc-arm.c (enum pred_instruction_type): Remove
365 NEUTRAL_IT_NO_VPT_INSN predication type.
366 (cxn_handle_predication): Modify to require condition suffixes.
367 (handle_pred_state): Remove NEUTRAL_IT_NO_VPT_INSN cases.
368 * testsuite/gas/arm/cde-scalar.s: Update test.
369 * testsuite/gas/arm/cde-warnings.l: Update test.
370 * testsuite/gas/arm/cde-warnings.s: Update test.
372 2020-02-26 Alan Modra <amodra@gmail.com>
374 * config/tc-arm.c (reg_expected_msgs[REG_TYPE_RNB]): Don't use
375 N_() on empty string.
377 2020-02-26 Alan Modra <amodra@gmail.com>
379 * read.c (read_a_source_file): Call strncpy with length one
380 less than size of original_case_string.
382 2020-02-26 Alan Modra <amodra@gmail.com>
384 * config/obj-elf.c: Indent labels correctly.
385 * config/obj-macho.c: Likewise.
386 * config/tc-aarch64.c: Likewise.
387 * config/tc-alpha.c: Likewise.
388 * config/tc-arm.c: Likewise.
389 * config/tc-cr16.c: Likewise.
390 * config/tc-crx.c: Likewise.
391 * config/tc-frv.c: Likewise.
392 * config/tc-i386-intel.c: Likewise.
393 * config/tc-i386.c: Likewise.
394 * config/tc-ia64.c: Likewise.
395 * config/tc-mn10200.c: Likewise.
396 * config/tc-mn10300.c: Likewise.
397 * config/tc-nds32.c: Likewise.
398 * config/tc-riscv.c: Likewise.
399 * config/tc-s12z.c: Likewise.
400 * config/tc-xtensa.c: Likewise.
401 * config/tc-z80.c: Likewise.
403 * symbols.c: Likewise.
406 2020-02-20 Nelson Chu <nelson.chu@sifive.com>
408 * config/tc-riscv.c (riscv_ip): New boolean insn_with_csr to indicate
409 we are assembling instruction with CSR. Call riscv_csr_read_only_check
410 after parsing all arguments.
411 (enum csr_insn_type): New enum is used to classify the CSR instruction.
412 (riscv_csr_insn_type, riscv_csr_read_only_check): New functions. These
413 are used to check if we write a read-only CSR by the CSR instruction.
414 * testsuite/gas/riscv/priv-reg-fail-read-only-01.s: New testcase. Test
415 all CSR for the read-only CSR checking.
416 * testsuite/gas/riscv/priv-reg-fail-read-only-01.d: Likewise.
417 * testsuite/gas/riscv/priv-reg-fail-read-only-01.l: Likewise.
418 * testsuite/gas/riscv/priv-reg-fail-read-only-02.s: New testcase. Test
419 all CSR instructions for the read-only CSR checking.
420 * testsuite/gas/riscv/priv-reg-fail-read-only-02.d: Likewise.
421 * testsuite/gas/riscv/priv-reg-fail-read-only-02.l: Likewise.
423 * config/tc-riscv.c (struct riscv_set_options): New field csr_check.
424 (riscv_opts): Initialize it.
425 (reg_lookup_internal): Check the `riscv_opts.csr_check`
426 before doing the CSR checking.
427 (enum options): Add OPTION_CSR_CHECK and OPTION_NO_CSR_CHECK.
428 (md_longopts): Add mcsr-check and mno-csr-check.
429 (md_parse_option): Handle new enum option values.
430 (s_riscv_option): Handle new long options.
431 * doc/c-riscv.texi: Add description for the new .option and assembler
433 * testsuite/gas/riscv/priv-reg-fail-fext.d: Add `-mcsr-check` to enable
435 * testsuite/gas/riscv/priv-reg-fail-rv32-only.d: Likewise.
437 * config/tc-riscv.c (csr_extra_hash): New.
438 (enum riscv_csr_class): New enum. Used to decide
439 whether or not this CSR is legal in the current ISA string.
440 (struct riscv_csr_extra): New structure to hold all extra information
442 (riscv_init_csr_hashes): New. According to the DECLARE_CSR and
443 DECLARE_CSR_ALIAS, insert CSR extra information into csr_extra_hash.
444 Call hash_reg_name to insert CSR address into reg_names_hash.
445 (reg_csr_lookup_internal, riscv_csr_class_check): New functions.
446 Decide whether the CSR is valid according to the csr_extra_hash.
447 (reg_lookup_internal): Call reg_csr_lookup_internal for CSRs.
448 (init_opcode_hash): Update 'if (hash_error != NULL)' as hash_error is
449 not a boolean. This is same as riscv_init_csr_hash, so keep the
451 (md_begin): Call riscv_init_csr_hashes for each DECLARE_CSR.
452 * testsuite/gas/riscv/csr-dw-regnums.d: Add -march=rv32if option.
453 * testsuite/gas/riscv/priv-reg.d: Add f-ext by -march option.
454 * testsuite/gas/riscv/priv-reg-fail-fext.d: New testcase. The source
455 file is `priv-reg.s`, and the ISA is rv32i without f-ext, so the
456 f-ext CSR are not allowed.
457 * testsuite/gas/riscv/priv-reg-fail-fext.l: Likewise.
458 * testsuite/gas/riscv/priv-reg-fail-rv32-only.d: New testcase. The
459 source file is `priv-reg.s`, and the ISA is rv64if, so the
460 rv32-only CSR are not allowed.
461 * testsuite/gas/riscv/priv-reg-fail-rv32-only.l: Likewise.
463 2020-02-21 Alan Modra <amodra@gmail.com>
465 * config/tc-pdp11.c (md_apply_fix): Handle BFD_RELOC_32.
466 (tc_gen_reloc): Only give a BAD_CASE assertion on pcrel relocs.
468 2020-02-21 Alan Modra <amodra@gmail.com>
471 * config/obj-aout.c (obj_aout_frob_file_before_fix): Don't loop
472 on section size adjustment, instead perform another write if
473 exec header size is larger than section size.
475 2020-02-19 Nelson Chu <nelson.chu@sifive.com>
477 * doc/c-riscv.texi: Add the doc entries for -march-attr/
478 -mno-arch-attr command line options.
480 2020-02-19 Nelson Chu <nelson.chu@sifive.com>
482 * testsuite/gas/riscv/c-add-addi.d: New testcase.
483 * testsuite/gas/riscv/c-add-addi.s: Likewise.
485 2020-02-19 Sergey Belyashov <sergey.belyashov@gmail.com>
488 * config/tc-z80.c (md_parse_option): Do not use an underscore
489 prefix for local labels in SDCC compatability mode.
490 (z80_start_line_hook): Remove SDCC dollar label support.
491 * testsuite/gas/z80/sdcc.d: Update expected disassembly.
492 * testsuite/gas/z80/sdcc.s: Likewise.
494 2020-02-19 Sergey Belyashov <sergey.belyashov@gmail.com>
497 * config/tc-z80.c: Add -march option.
498 * doc/as.texi: Update Z80 documentation.
499 * doc/c-z80.texi: Likewise.
500 * testsuite/gas/z80/ez80_adl_all.d: Update command line.
501 * testsuite/gas/z80/ez80_adl_suf.d: Likewise.
502 * testsuite/gas/z80/ez80_pref_dis.d: Likewise.
503 * testsuite/gas/z80/ez80_z80_all.d: Likewise.
504 * testsuite/gas/z80/ez80_z80_suf.d: Likewise.
505 * testsuite/gas/z80/gbz80_all.d: Likewise.
506 * testsuite/gas/z80/r800_extra.d: Likewise.
507 * testsuite/gas/z80/r800_ii8.d: Likewise.
508 * testsuite/gas/z80/r800_z80_doc.d: Likewise.
509 * testsuite/gas/z80/sdcc.d: Likewise.
510 * testsuite/gas/z80/z180.d: Likewise.
511 * testsuite/gas/z80/z180_z80_doc.d: Likewise.
512 * testsuite/gas/z80/z80_doc.d: Likewise.
513 * testsuite/gas/z80/z80_ii8.d: Likewise.
514 * testsuite/gas/z80/z80_in_f_c.d: Likewise.
515 * testsuite/gas/z80/z80_op_ii_ld.d: Likewise.
516 * testsuite/gas/z80/z80_out_c_0.d: Likewise.
517 * testsuite/gas/z80/z80_sli.d: Likewise.
518 * testsuite/gas/z80/z80n_all.d: Likewise.
519 * testsuite/gas/z80/z80n_reloc.d: Likewise.
521 2020-02-19 H.J. Lu <hongjiu.lu@intel.com>
523 * config/tc-i386.c (output_insn): Mark cvtpi2ps and cvtpi2pd
524 with GNU_PROPERTY_X86_FEATURE_2_MMX.
525 * testsuite/gas/i386/i386.exp: Run property-3 and
527 * testsuite/gas/i386/property-3.d: New file.
528 * testsuite/gas/i386/property-3.s: Likewise.
529 * testsuite/gas/i386/x86-64-property-3.d: Likewise.
531 2020-02-17 H.J. Lu <hongjiu.lu@intel.com>
533 * config/tc-i386.c (cpu_arch): Add .popcnt.
534 * doc/c-i386.texi: Remove abm and .abm. Add popcnt and .popcnt.
535 Add a tab before @samp{.sse4a}.
537 2020-02-17 Jan Beulich <jbeulich@suse.com>
539 * config/tc-i386.c (process_suffix): Don't try to guess a suffix
540 for AddrPrefixOpReg templates. Combine the two pieces of
541 addrprefixopreg handling. Reject 16-bit address reg in 64-bit
544 2020-02-17 Jan Beulich <jbeulich@suse.com>
547 * config/tc-i386.c (md_assemble): Also suppress operand
548 swapping for MONITOR{,X} and MWAIT{,X}.
549 * testsuite/gas/i386/sse3.s, testsuite/gas/i386/x86-64-sse3.s:
550 Add Intel syntax monitor/mwait tests.
551 * testsuite/gas/i386/sse3.d, testsuite/gas/i386/x86-64-sse3.d:
553 *testsuite/gas/i386/sse3-intel.d,
554 testsuite/gas/i386/x86-64-sse3-intel.d: New.
555 * testsuite/gas/i386/i386.exp: Run new tests.
557 2020-02-17 Jan Beulich <jbeulich@suse.com>
560 * config/tc-i386.c (process_suffix): Re-work Intel-syntax
561 [XYZ]MMWord memory operand ambiguity recognition logic (largely
563 * testsuite/gas/i386/avx512dq-inval.s: Add vcvtqq2ps/vcvtuqq2ps
565 * testsuite/gas/i386/inval-avx512f.s: Also test vcvtneps2bf16.
566 * testsuite/gas/i386/avx512dq-inval.l,
567 testsuite/gas/i386/inval-avx.l,
568 testsuite/gas/i386/inval-avx512f.l: Adjust expectations.
569 * testsuite/gas/i386/avx512vl-ambig.s,
570 testsuite/gas/i386/avx512vl-ambig.l: New.
571 * testsuite/gas/i386/i386.exp: Run new test.
573 2020-02-16 H.J. Lu <hongjiu.lu@intel.com>
575 * config/tc-i386.c (cpu_arch): Add .sse4a and nosse4a. Restore
577 * doc/c-i386.texi: Document sse4a and nosse4a.
579 2020-02-14 H.J. Lu <hongjiu.lu@intel.com>
581 * doc/c-i386.texi: Remove the old movsx and movzx documentation
584 2020-02-14 Jan Beulich <jbeulich@suse.com>
587 * config/tc-i386.c (md_assemble): Move movsx/movzx special
589 (process_suffix): ... here. Consider just the first operand
591 (check_long_reg): Drop opcode 0x63 special case again.
592 * testsuite/gas/i386/i386.s, testsuite/gas/i386/iamcu-1.s,
593 testsuite/gas/i386/ilp32/x86-64.s, testsuite/gas/i386/x86_64.s:
594 Move ambiguous operand size tests ...
595 * testsuite/gas/i386/noreg16.s, testsuite/gas/i386/noreg32.s,
596 testsuite/gas/i386/noreg64.s: ... here.
597 * testsuite/gas/i386/i386.d, testsuite/gas/i386/i386-intel.d
598 testsuite/gas/i386/iamcu-1.d, testsuite/gas/i386/ilp32/x86-64.d,
599 testsuite/gas/i386/k1om.d, testsuite/gas/i386/l1om.d,
600 testsuite/gas/i386/movx16.l, testsuite/gas/i386/movx32.l,
601 testsuite/gas/i386/movx64.l, testsuite/gas/i386/noreg16.d,
602 testsuite/gas/i386/noreg32.d, testsuite/gas/i386/noreg64.d,
603 testsuite/gas/i386/x86-64-movsxd.d,
604 testsuite/gas/i386/x86-64-movsxd-intel.d,
605 testsuite/gas/i386/x86_64.d, testsuite/gas/i386/x86_64-intel.d:
607 * testsuite/gas/i386/movx16.s, testsuite/gas/i386/movx16.l,
608 testsuite/gas/i386/movx32.s, testsuite/gas/i386/movx32.l,
609 testsuite/gas/i386/movx64.s, testsuite/gas/i386/movx64.l: New.
610 * testsuite/gas/i386/i386.exp: Run new tests.
612 2020-02-14 Jan Beulich <jbeulich@suse.com>
614 * config/tc-i386.c (process_operands): Also skip segment
615 override prefix emission if it matches an already present one.
616 * testsuite/gas/i386/prefix32.s: Add double segment override
618 * testsuite/gas/i386/prefix32.l: Adjust expectations.
620 2020-02-14 Jan Beulich <jbeulich@suse.com>
622 * config/tc-i386.c (process_operands): Drop ineffectual segment
623 overrides when optimizing.
624 * testsuite/gas/i386/lea-optimize.d: New.
625 * testsuite/gas/i386/i386.exp: Run new test.
627 2020-02-14 Jan Beulich <jbeulich@suse.com>
629 * config/tc-i386.c (process_operands): Also check insn prefix
630 for ineffectual segment override warning. Don't cover possible
631 VEX/EVEX encoded insns there.
632 * testsuite/gas/i386/lea.s, testsuite/gas/i386/lea.d,
633 testsuite/gas/i386/lea.e: New.
634 * testsuite/gas/i386/i386.exp: Run new test.
636 2020-02-14 H.J. Lu <hongjiu.lu@intel.com>
639 * doc/c-i386.texi: Document movsx, movsxd and movzx for AT&T
642 2020-02-13 Fangrui Song <maskray@google.com>
643 H.J. Lu <hongjiu.lu@intel.com>
646 * config/tc-i386.c (tc_i386_fix_adjustable): Don't check
647 BFD_RELOC_386_PLT32 nor BFD_RELOC_X86_64_PLT32.
648 * testsuite/gas/i386/i386.exp: Run relax-5 and x86-64-relax-4.
649 * testsuite/gas/i386/relax-5.d: New file.
650 * testsuite/gas/i386/relax-5.s: Likewise.
651 * testsuite/gas/i386/x86-64-relax-4.d: Likewise.
652 * testsuite/gas/i386/x86-64-relax-4.s: Likewise.
654 2020-02-13 Jan Beulich <jbeulich@suse.com>
656 * config/tc-i386.c (cpu_noarch): Use CPU_ANY_SSE4_FLAGS in
659 2020-02-12 Jan Beulich <jbeulich@suse.com>
661 * config/tc-i386.c (avx512): New (at file scope), moved from
662 (check_VecOperands): ... here.
663 (process_suffix): Add [XYZ]MMword operand size handling.
664 * testsuite/gas/i386/avx512dq-inval.s: Add VFPCLASS tests.
665 * testsuite/gas/i386/noavx512-2.s: Add Intel syntax VFPCLASS
667 * testsuite/gas/i386/avx512dq-inval.l,
668 testsuite/gas/i386/noavx512-2.l: Adjust expectations.
670 2020-02-12 Jan Beulich <jbeulich@suse.com>
673 * config/tc-i386.c (match_template): Apply AMD64 check to 64-bit
675 * config/tc-i386-intel.c (i386_intel_operand): Also handle
676 CALL/JMP in O_tbyte_ptr case.
677 * doc/c-i386.texi: Mention far call and full pointer load ISA
679 * testsuite/gas/i386/x86-64-branch-3.s,
680 testsuite/gas/i386/x86-64-intel64.s: Add 64-bit far call cases.
681 * testsuite/gas/i386/x86-64-branch-3.d,
682 testsuite/gas/i386/x86-64-intel64.d: Adjust expectations.
683 * testsuite/gas/i386/x86-64-branch-5.l,
684 testsuite/gas/i386/x86-64-branch-5.s: New.
685 * testsuite/gas/i386/i386.exp: Run new test.
687 2020-02-12 Jan Beulich <jbeulich@suse.com>
690 * config/tc-i386.c (REGISTER_WARNINGS): Delete.
691 (check_byte_reg): Skip only source operand of CRC32. Drop Non-
693 (check_word_reg): Consistently error on mismatching register
695 * testsuite/gas/i386/general.s: Replace dword GPR with word one
696 for movw. Replace suffix / GPR for orb.
697 * testsuite/gas/i386/inval.s: Add tests for movw with dword and
698 byte GPRs as well as ones for inb/outb with a word accumulator.
699 * testsuite/gas/i386/general.l, testsuite/gas/i386/intelbad.l,
700 testsuite/gas/i386/inval.l: Adjust expectations.
702 2020-02-12 Jan Beulich <jbeulich@suse.com>
704 * config/tc-i386.c (operand_type_register_match): Also fall
705 through initial two if()-s when the template allows for a GPR
706 operand. Adjust comment.
708 2020-02-11 Jan Beulich <jbeulich@suse.com>
710 (struct _i386_insn): New field "short_form".
711 (optimize_encoding): Drop setting of shortform field.
712 (process_suffix): Set i.short_form. Replace shortform use.
713 (process_operands): Replace shortform use.
715 2020-02-11 Matthew Malcomson <matthew.malcomson@arm.com>
717 * config/tc-arm.c (vcx_handle_register_arguments): Remove `for`
718 loop initial declaration.
720 2020-02-10 Matthew Malcomson <matthew.malcomson@arm.com>
722 * config/tc-arm.c (NEON_MAX_TYPE_ELS): Increment to account for
723 instructions that can have 5 arguments.
724 (enum operand_parse_code): Add new operands.
725 (parse_operands): Account for new operands.
727 (enum neon_shape_el): Introduce P suffixes for coprocessor.
728 (neon_select_shape): Account for P suffix.
729 (LOW1): Move macro to global position.
730 (HI4): Move macro to global position.
731 (vcx_assign_vec_d): New.
732 (vcx_assign_vec_m): New.
733 (vcx_assign_vec_n): New.
734 (enum vcx_reg_type): New.
735 (vcx_get_reg_type): New.
738 (vcx_handle_shape): New.
739 (vcx_ensure_register_in_range): New.
740 (vcx_handle_register_arguments): New.
741 (vcx_handle_insn_block): New.
742 (vcx_handle_common_checks): New.
746 * testsuite/gas/arm/cde-missing-fp.d: New test.
747 * testsuite/gas/arm/cde-missing-fp.l: New test.
748 * testsuite/gas/arm/cde-missing-mve.d: New test.
749 * testsuite/gas/arm/cde-missing-mve.l: New test.
750 * testsuite/gas/arm/cde-mve-or-neon.d: New test.
751 * testsuite/gas/arm/cde-mve-or-neon.s: New test.
752 * testsuite/gas/arm/cde-mve.s: New test.
753 * testsuite/gas/arm/cde-warnings.l:
754 * testsuite/gas/arm/cde-warnings.s:
755 * testsuite/gas/arm/cde.d:
756 * testsuite/gas/arm/cde.s:
758 2020-02-10 Stam Markianos-Wright <stam.markianos-wright@arm.com>
759 Matthew Malcomson <matthew.malcomson@arm.com>
761 * config/tc-arm.c (arm_ext_cde*): New feature sets for each
762 CDE coprocessor that can be enabled.
763 (enum pred_instruction_type): New pred type.
764 (BAD_NO_VPT): New error message.
765 (BAD_CDE): New error message.
766 (BAD_CDE_COPROC): New error message.
767 (enum operand_parse_code): Add new immediate operands.
768 (parse_operands): Account for new immediate operands.
769 (check_cde_operand): New.
770 (cde_coproc_enabled): New.
771 (cde_coproc_pos): New.
772 (cde_handle_coproc): New.
773 (cxn_handle_predication): New.
774 (do_custom_instruction_1): New.
775 (do_custom_instruction_2): New.
776 (do_custom_instruction_3): New.
789 (handle_pred_state): Define new IT block behaviour.
790 (insns): Add newn CX*{,d}{,a} instructions.
791 (CDE_EXTENSIONS,armv8m_main_ext_table,armv8_1m_main_ext_table):
792 Define new cdecp extension strings.
793 * doc/c-arm.texi: Document new cdecp extension arguments.
794 * testsuite/gas/arm/cde-scalar.d: New test.
795 * testsuite/gas/arm/cde-scalar.s: New test.
796 * testsuite/gas/arm/cde-warnings.d: New test.
797 * testsuite/gas/arm/cde-warnings.l: New test.
798 * testsuite/gas/arm/cde-warnings.s: New test.
799 * testsuite/gas/arm/cde.d: New test.
800 * testsuite/gas/arm/cde.s: New test.
802 2020-02-10 H.J. Lu <hongjiu.lu@intel.com>
805 * config/tc-i386.c (intel64): Renamed to ...
807 (match_template): Accept Intel64 only instruction by default.
808 (i386_displacement): Updated.
809 (md_parse_option): Updated.
810 * c-i386.texi: Update -mamd64/-mintel64 documentation.
811 * testsuite/gas/i386/i386.exp: Run x86-64-sysenter. Pass
812 -mamd64 to x86-64-sysenter-amd.
813 * testsuite/gas/i386/x86-64-sysenter.d: New file.
815 2020-02-10 Alan Modra <amodra@gmail.com>
817 * config/obj-elf.c (obj_elf_change_section): Error for section
818 type, attr or entsize changes in assembly.
819 * testsuite/gas/elf/elf.exp: Pass -Z to gas for section5 test.
820 * testsuite/gas/elf/section5.l: Update.
822 2020-02-10 Alan Modra <amodra@gmail.com>
824 * output-file.c (output_file_close): Do a normal close when
825 flag_always_generate_output.
826 * write.c (write_object_file): Don't stop output when
827 flag_always_generate_output.
829 2020-02-07 Sergey Belyashov <sergey.belyashov@gmail.com>
832 * config/tc-z80.c: Add -gbz80 command line option to generate code
833 for the GameBoy Z80. Add support for generating DWARF.
834 * config/tc-z80.h: Add support for DWARF debug information
836 * doc/c-z80.texi: Document new command line option.
837 * testsuite/gas/z80/gbz80_all.d: New file.
838 * testsuite/gas/z80/gbz80_all.s: New file.
839 * testsuite/gas/z80/z80.exp: Run the new tests.
840 * testsuite/gas/z80/z80n_all.d: New file.
841 * testsuite/gas/z80/z80n_all.s: New file.
842 * testsuite/gas/z80/z80n_reloc.d: New file.
844 2020-02-06 H.J. Lu <hongjiu.lu@intel.com>
847 * config/obj-elf.c (get_section): Also check
848 linked_to_symbol_name.
849 (obj_elf_change_section): Also set map_head.linked_to_symbol_name.
850 (obj_elf_parse_section_letters): Handle the 'o' flag.
851 (build_group_lists): Renamed to ...
852 (build_additional_section_info): This. Set elf_linked_to_section
853 from map_head.linked_to_symbol_name.
854 (elf_adjust_symtab): Updated.
855 * config/obj-elf.h (elf_section_match): Add linked_to_symbol_name.
856 * doc/as.texi: Document the 'o' flag.
857 * testsuite/gas/elf/elf.exp: Run PR gas/25381 tests.
858 * testsuite/gas/elf/section18.d: New file.
859 * testsuite/gas/elf/section18.s: Likewise.
860 * testsuite/gas/elf/section19.d: Likewise.
861 * testsuite/gas/elf/section19.s: Likewise.
862 * testsuite/gas/elf/section20.d: Likewise.
863 * testsuite/gas/elf/section20.s: Likewise.
864 * testsuite/gas/elf/section21.d: Likewise.
865 * testsuite/gas/elf/section21.l: Likewise.
866 * testsuite/gas/elf/section21.s: Likewise.
868 2020-02-06 H.J. Lu <hongjiu.lu@intel.com>
870 * NEWS: Mention x86 assembler options to align branches for
873 2020-02-06 H.J. Lu <hongjiu.lu@intel.com>
875 * testsuite/gas/i386/i386.exp: Run unique and x86-64-unique
876 only for ELF targets.
877 * testsuite/gas/i386/unique.d: Don't xfail.
878 * testsuite/gas/i386/x86-64-unique.d: Likewise.
880 2020-02-06 Alan Modra <amodra@gmail.com>
882 * testsuite/gas/i386/unique.d: xfail for non-elf targets.
883 * testsuite/gas/i386/x86-64-unique.d: Likewise.
885 2020-02-06 Alan Modra <amodra@gmail.com>
887 * testsuite/gas/elf/section12a.d: Use supports_gnu_osabi in
888 xfail, and rename test.
889 * testsuite/gas/elf/section12b.d: Likewise.
890 * testsuite/gas/elf/section16a.d: Likewise.
891 * testsuite/gas/elf/section16b.d: Likewise.
893 2020-02-02 H.J. Lu <hongjiu.lu@intel.com>
896 * config/obj-elf.c (section_match): Removed.
897 (get_section): Also match SEC_ASSEMBLER_SECTION_ID and
899 (obj_elf_change_section): Replace info and group_name arguments
900 with match_p. Also update the section ID and flags from match_p.
901 (obj_elf_section): Handle "unique,N". Update call to
902 obj_elf_change_section.
903 * config/obj-elf.h (elf_section_match): New.
904 (obj_elf_change_section): Updated.
905 * config/tc-arm.c (start_unwind_section): Update call to
906 obj_elf_change_section.
907 * config/tc-ia64.c (obj_elf_vms_common): Likewise.
908 * config/tc-microblaze.c (microblaze_s_data): Likewise.
909 (microblaze_s_sdata): Likewise.
910 (microblaze_s_rdata): Likewise.
911 (microblaze_s_bss): Likewise.
912 * config/tc-mips.c (s_change_section): Likewise.
913 * config/tc-msp430.c (msp430_profiler): Likewise.
914 * config/tc-rx.c (parse_rx_section): Likewise.
915 * config/tc-tic6x.c (tic6x_start_unwind_section): Likewise.
916 * doc/as.texi: Document "unique,N" in .section directive.
917 * testsuite/gas/elf/elf.exp: Run "unique,N" tests.
918 * testsuite/gas/elf/section15.d: New file.
919 * testsuite/gas/elf/section15.s: Likewise.
920 * testsuite/gas/elf/section16.s: Likewise.
921 * testsuite/gas/elf/section16a.d: Likewise.
922 * testsuite/gas/elf/section16b.d: Likewise.
923 * testsuite/gas/elf/section17.d: Likewise.
924 * testsuite/gas/elf/section17.l: Likewise.
925 * testsuite/gas/elf/section17.s: Likewise.
926 * testsuite/gas/i386/unique.d: Likewise.
927 * testsuite/gas/i386/unique.s: Likewise.
928 * testsuite/gas/i386/x86-64-unique.d: Likewise.
929 * testsuite/gas/i386/i386.exp: Run unique and x86-64-unique.
931 2020-02-02 H.J. Lu <hongjiu.lu@intel.com>
933 * testsuite/gas/elf/section13.s: Replace @nobits with %nobits.
935 2020-02-01 Anthony Green <green@moxielogic.com>
937 * config/tc-moxie.c (md_begin): Don't force big-endian mode.
939 2020-01-31 Sandra Loosemore <sandra@codesourcery.com>
941 * config/tc-nios2.c (nios2_cons): Handle %gotoff as well as
944 2020-01-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
947 * config/tc-arm.c (armv8m_main_ext_table): Refactored +dsp adding.
948 (armv8_1m_main_ext_table): Refactored +dsp adding and enabled dsp for
950 * testsuite/gas/arm/mve_dsp.d: New test.
952 2020-01-31 Nick Clifton <nickc@redhat.com>
954 * config/tc-s390.c (s390_elf_suffix): Return ELF_SUFFIX_NONE
955 rather than BFD_RELOC_NONE.
957 2020-01-31 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
959 * config/tc-arm.c (fldmias): Moved inside "THUMB_VARIANT & arm_ext_v6t2"
960 to support VLDMIA instruction for MVE.
961 (fldmdbs): Moved inside "THUMB_VARIANT & arm_ext_v6t2" to support VLDMDB
963 (fstmias): Moved inside "THUMB_VARIANT & arm_ext_v6t2" to support VSTMIA
965 (fstmdbs): Moved inside "THUMB_VARIANT & arm_ext_v6t2" to support VSTMDB
967 * testsuite/gas/arm/mve-ldst.d: New test.
968 * testsuite/gas/arm/mve-ldst.s: Likewise.
970 2020-01-31 Nick Clifton <nickc@redhat.com>
972 * po/fr.po: Updated French translation.
973 * po/ru.po: Updated Russian translation.
975 2020-01-31 Richard Sandiford <richard.sandiford@arm.com>
977 * testsuite/gas/aarch64/sve-bfloat-movprfx.s: Use .h rather than
979 * testsuite/gas/aarch64/sve-bfloat-movprfx.d: Update accordingly.
980 * testsuite/gas/aarch64/sve-movprfx_28.d,
981 * testsuite/gas/aarch64/sve-movprfx_28.l,
982 * testsuite/gas/aarch64/sve-movprfx_28.s: New test.
984 2020-01-30 Jan Beulich <jbeulich@suse.com>
986 * config/tc-i386.c (output_disp): Tighten base_opcode check.
987 * testsuite/gas/i386/got.s: Add LSL, MOVLPS, and BNDCN cases.
988 * testsuite/gas/i386/got-no-relax.d, testsuite/gas/i386/got.d:
991 2020-01-30 Jose E. Marchesi <jose.marchesi@oracle.com>
993 * testsuite/gas/bpf/alu.d: Update expected opcode for `neg'.
994 * testsuite/gas/bpf/alu-be.d: Likewise.
995 * testsuite/gas/bpf/alu32.d: Likewise for `neg32'.
996 * testsuite/gas/bpf/alu32-be.d: Likewise.
998 2020-01-30 Jan Beulich <jbeulich@suse.com>
1000 * testsuite/gas/i386/x86-64-branch-2.s,
1001 testsuite/gas/i386/x86-64-branch-4.s,
1002 testsuite/gas/i386/x86-64-branch.s: Add RETW cases.
1003 * testsuite/gas/i386/ilp32/x86-64-branch.d,
1004 testsuite/gas/i386/x86-64-branch-2.d,
1005 testsuite/gas/i386/x86-64-branch-4.l,
1006 testsuite/gas/i386/x86-64-branch.d: Adjust expectations.
1008 2020-01-30 Jan Beulich <jbeulich@suse.com>
1010 * config/tc-i386.c (process_suffix): .
1011 testsuite/gas/i386/noreg64.s: Add IRET and LRET cases.
1012 testsuite/gas/i386/x86-64-opcode.s: Add suffix to IRET and LRET.
1014 testsuite/gas/i386/x86-64-suffix.s: Drop IRET case without
1016 testsuite/gas/i386/x86_64.s: Add RETF cases.
1017 * testsuite/gas/i386/k1om.d, testsuite/gas/i386/l1om.d,
1018 testsuite/gas/i386/noreg64.d, testsuite/gas/i386/noreg64.l,
1019 testsuite/gas/i386/x86-64-opcode.d,
1020 testsuite/gas/i386/x86-64-suffix-intel.d,
1021 testsuite/gas/i386/x86-64-suffix.d,
1022 testsuite/gas/i386/x86_64-intel.d
1023 testsuite/gas/i386/x86_64.d: Adjust expectations.
1024 * testsuite/gas/i386/x86-64-suffix.e,
1025 testsuite/gas/i386/x86_64.e: New.
1027 2020-01-30 Jan Beulich <jbeulich@suse.com>
1029 * config/tc-i386.c (process_suffix): Redo and move FLDENV et al
1032 2020-01-27 H.J. Lu <hongjiu.lu@intel.com>
1035 * config/tc-i386.c (check_long_reg): Also convert to QWORD for
1037 * doc/c-i386.texi: Add a node for AMD64 vs. Intel64 ISA
1038 differences. Document movslq and movsxd.
1039 * testsuite/gas/i386/i386.exp: Run PR binutils/25445 tests.
1040 * testsuite/gas/i386/x86-64-movsxd-intel.d: New file.
1041 * testsuite/gas/i386/x86-64-movsxd-intel64-intel.d: Likewise.
1042 * testsuite/gas/i386/x86-64-movsxd-intel64-inval.l: Likewise.
1043 * testsuite/gas/i386/x86-64-movsxd-intel64-inval.s: Likewise.
1044 * testsuite/gas/i386/x86-64-movsxd-intel64.d: Likewise.
1045 * testsuite/gas/i386/x86-64-movsxd-intel64.s: Likewise.
1046 * testsuite/gas/i386/x86-64-movsxd-inval.l: Likewise.
1047 * testsuite/gas/i386/x86-64-movsxd-inval.s: Likewise.
1048 * testsuite/gas/i386/x86-64-movsxd.d: Likewise.
1049 * testsuite/gas/i386/x86-64-movsxd.s: Likewise.
1051 2020-01-27 Alan Modra <amodra@gmail.com>
1053 * testsuite/gas/all/gas.exp: Replace case statements with switch
1055 * testsuite/gas/elf/elf.exp: Likewise.
1056 * testsuite/gas/macros/macros.exp: Likewise.
1057 * testsuite/lib/gas-defs.exp: Likewise.
1059 2020-01-27 Tamar Christina <tamar.christina@arm.com>
1062 * testsuite/gas/aarch64/armv8_4-a.d: Add cfinv.
1063 * testsuite/gas/aarch64/armv8_4-a.s: Likewise.
1065 2020-01-22 Maxim Blinov <maxim.blinov@embecosm.com>
1067 * testsuite/gas/riscv/march-ok-s.d: sx is no longer valid and
1068 s exts must be known, so rename *ok* to *fail*.
1069 * testsuite/gas/riscv/march-ok-sx.d: Likewise.
1070 * testsuite/gas/riscv/march-ok-s-with-version: Likewise.
1071 * testsuite/gas/riscv/march-fail-s.l: Expected error messages for
1073 * testsuite/gas/riscv/march-fail-sx.l: Likewise.
1074 * testsuite/gas/riscv/march-fail-sx-with-version.l: Likewise.
1076 2020-01-22 H.J. Lu <hongjiu.lu@intel.com>
1079 * config/tc-i386.c (check_long_reg): Always disallow double word
1080 suffix in mnemonic with word general register.
1081 * testsuite/gas/i386/general.s: Replace word general register
1082 with double word general register for movl.
1083 * testsuite/gas/i386/inval.s: Add tests for movl with word general
1085 * testsuite/gas/i386/general.l: Updated.
1086 * testsuite/gas/i386/inval.l: Likewise.
1088 2020-01-22 Alan Modra <amodra@gmail.com>
1090 * config/tc-ppc.c (parse_tls_arg): Handle tls arg for
1091 __tls_get_addr_desc and __tls_get_addr_opt.
1093 2020-01-21 Jan Beulich <jbeulich@suse.com>
1095 * testsuite/gas/i386/inval-crc32.s,
1096 testsuite/gas/i386/x86-64-inval-crc32.s: Add alignment directive.
1097 * testsuite/gas/i386/inval-crc32.l,
1098 testsuite/gas/i386/x86-64-inval-crc32.l: Adjust expectations.
1100 2020-01-21 Jan Beulich <jbeulich@suse.com>
1102 * config/tc-i386.c (process_suffix): Merge CRC32 handling into
1103 generic code path. Deal with No_lSuf being set in a template.
1104 * testsuite/gas/i386/inval-crc32.l,
1105 testsuite/gas/i386/x86-64-inval-crc32.l: Expect warning(s)
1106 instead of error(s) when operand size is ambiguous.
1107 * testsuite/gas/i386/noreg16.s, testsuite/gas/i386/noreg32.s,
1108 testsuite/gas/i386/noreg64.s: Add CRC32 tests.
1109 * testsuite/gas/i386/noreg16.d, testsuite/gas/i386/noreg16.l,
1110 testsuite/gas/i386/noreg32.d, testsuite/gas/i386/noreg32.l,
1111 testsuite/gas/i386/noreg64.d, testsuite/gas/i386/noreg64.l:
1112 Adjust expectations.
1114 2020-01-21 Jan Beulich <jbeulich@suse.com>
1116 * config/tc-i386.c (process_suffix): Drop SYSRET special case
1117 and an intel_syntax check. Re-write lack-of-suffix processing
1119 * doc/c-i386.texi: Document operand size defaults for suffix-
1120 less AT&T syntax insns.
1121 * testsuite/gas/i386/bundle.s, testsuite/gas/i386/lock-1.s,
1122 testsuite/gas/i386/opcode.s, testsuite/gas/i386/sse3.s,
1123 testsuite/gas/i386/x86-64-avx-scalar.s,
1124 testsuite/gas/i386/x86-64-avx.s,
1125 testsuite/gas/i386/x86-64-bundle.s,
1126 testsuite/gas/i386/x86-64-intel64.s,
1127 testsuite/gas/i386/x86-64-lock-1.s,
1128 testsuite/gas/i386/x86-64-opcode.s,
1129 testsuite/gas/i386/x86-64-sse2avx.s,
1130 testsuite/gas/i386/x86-64-sse3.s: Add missing suffixes.
1131 * testsuite/gas/i386/nops.s, testsuite/gas/i386/sse-noavx.s,
1132 testsuite/gas/i386/x86-64-nops.s,
1133 testsuite/gas/i386/x86-64-ptwrite.s,
1134 testsuite/gas/i386/x86-64-simd.s,
1135 testsuite/gas/i386/x86-64-sse-noavx.s,
1136 testsuite/gas/i386/x86-64-suffix.s: Drop bogus suffix-less
1138 * testsuite/gas/i386/noreg16.s, testsuite/gas/i386/noreg32.s,
1139 testsuite/gas/i386/noreg64.s: Add further tests.
1140 * testsuite/gas/i386/ilp32/x86-64-nops.d,
1141 testsuite/gas/i386/nops.d, testsuite/gas/i386/noreg16.d,
1142 testsuite/gas/i386/noreg32.d, testsuite/gas/i386/noreg64.d,
1143 testsuite/gas/i386/sse-noavx.d,
1144 testsuite/gas/i386/x86-64-intel64.d,
1145 testsuite/gas/i386/x86-64-nops.d,
1146 testsuite/gas/i386/x86-64-opcode.d,
1147 testsuite/gas/i386/x86-64-ptwrite-intel.d,
1148 testsuite/gas/i386/x86-64-ptwrite.d,
1149 testsuite/gas/i386/x86-64-simd-intel.d,
1150 testsuite/gas/i386/x86-64-simd-suffix.d,
1151 testsuite/gas/i386/x86-64-simd.d,
1152 testsuite/gas/i386/x86-64-sse-noavx.d
1153 testsuite/gas/i386/x86-64-suffix.d,
1154 testsuite/gas/i386/x86-64-suffix-intel.d: Adjust expectations.
1155 * testsuite/gas/i386/noreg16.l, testsuite/gas/i386/noreg32.l,
1156 testsuite/gas/i386/noreg64.l: New.
1157 * testsuite/gas/i386/i386.exp: Run new tests.
1159 2020-01-21 Jan Beulich <jbeulich@suse.com>
1161 * testsuite/gas/i386/avx512_bf16_vl.s,
1162 testsuite/gas/i386/x86-64-avx512_bf16_vl.s: Add broadcast forms
1163 of VCVTNEPS2BF16{X,Y}. Add operand-size less Intel syntax
1164 broadcast forms of VCVTNEPS2BF16.
1165 * testsuite/gas/i386/avx512_bf16_vl.d,
1166 testsuite/gas/i386/x86-64-avx512_bf16_vl.d: Adjust expectations.
1168 2020-01-20 Nick Clifton <nickc@redhat.com>
1170 * po/uk.po: Updated Ukranian translation.
1172 2020-01-20 H.J. Lu <hongjiu.lu@intel.com>
1175 * config/tc-i386.c (output_insn): Add a dummy REX_OPCODE prefix
1176 for lea with R_X86_64_GOTPC32_TLSDESC relocation when generating
1178 * testsuite/gas/i386/ilp32/x32-tls.d: Updated.
1179 * testsuite/gas/i386/ilp32/x32-tls.s: Add tests for lea with
1180 R_X86_64_GOTPC32_TLSDESC relocation.
1182 2020-01-18 Nick Clifton <nickc@redhat.com>
1184 * configure: Regenerate.
1185 * po/gas.pot: Regenerate.
1187 2020-01-18 Nick Clifton <nickc@redhat.com>
1189 Binutils 2.34 branch created.
1191 2020-01-17 H.J. Lu <hongjiu.lu@intel.com>
1193 * config/tc-i386.c (_i386_insn): Replace vex_encoding_vex2
1194 with vex_encoding_vex.
1195 (parse_insn): Likewise.
1196 * doc/c-i386.texi: Replace {vex2} with {vex}. Update {vex}
1197 and {vex3} documentation.
1198 * testsuite/gas/i386/pseudos.s: Replace 3 {vex2} tests with
1200 * testsuite/gas/i386/x86-64-pseudos.s: Likewise.
1202 2020-01-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1205 * config/tc-arm.c (mve_ext, mve_fp_ext): Use CORE_HIGH.
1206 (armv8_1m_main_ext_table): Use CORE_HIGH for mve.
1207 * testsuite/arm/armv8_1-m-fpu-mve-1.s: New.
1208 * testsuite/arm/armv8_1-m-fpu-mve-1.d: New.
1209 * testsuite/arm/armv8_1-m-fpu-mve-2.s: New.
1210 * testsuite/arm/armv8_1-m-fpu-mve-2.d: New.
1212 2020-01-16 Jan Beulich <jbeulich@suse.com>
1214 * config/tc-i386.c (match_template): Drop found_cpu_match local
1217 2020-01-16 Jan Beulich <jbeulich@suse.com>
1219 * testsuite/gas/i386/avx512dq-inval.l,
1220 testsuite/gas/i386/avx512dq-inval.s: New.
1221 * testsuite/gas/i386/i386.exp: Run new test.
1223 2020-01-15 Jozef Lawrynowicz <jozef.l@mittosystems.com>
1225 * config/tc-msp430.c (CHECK_RELOC_MSP430): Always generate 430X
1226 relocations when the target is 430X, except when extracting part of an
1228 (msp430_srcoperand): Adjust comment.
1229 Initialize the expp member of the msp430_operand_s struct as
1231 (msp430_dstoperand): Likewise.
1232 * testsuite/gas/msp430/msp430.exp: Run new test.
1233 * testsuite/gas/msp430/reloc-lo-430x.d: New test.
1234 * testsuite/gas/msp430/reloc-lo-430x.s: New test.
1236 2020-01-15 Alan Modra <amodra@gmail.com>
1238 * configure.tgt: Add sparc-*-freebsd case.
1240 2020-01-14 Lili Cui <lili.cui@intel.com>
1242 * testsuite/gas/i386/align-branch-1a.d: Updated for Darwin.
1243 * testsuite/gas/i386/align-branch-1b.d: Likewise.
1244 * testsuite/gas/i386/align-branch-1c.d: Likewise.
1245 * testsuite/gas/i386/align-branch-1d.d: Likewise.
1246 * testsuite/gas/i386/align-branch-1e.d: Likewise.
1247 * testsuite/gas/i386/align-branch-1f.d: Likewise.
1248 * testsuite/gas/i386/align-branch-1g.d: Likewise.
1249 * testsuite/gas/i386/align-branch-1h.d: Likewise.
1250 * testsuite/gas/i386/align-branch-1i.d: Likewise.
1251 * testsuite/gas/i386/align-branch-5.d: Likewise.
1252 * testsuite/gas/i386/x86-64-align-branch-1a.d: Likewise.
1253 * testsuite/gas/i386/x86-64-align-branch-1b.d: Likewise.
1254 * testsuite/gas/i386/x86-64-align-branch-1c.d: Likewise.
1255 * testsuite/gas/i386/x86-64-align-branch-1d.d: Likewise.
1256 * testsuite/gas/i386/x86-64-align-branch-1e.d: Likewise.
1257 * testsuite/gas/i386/x86-64-align-branch-1f.d: Likewise.
1258 * testsuite/gas/i386/x86-64-align-branch-1g.d: Likewise.
1259 * testsuite/gas/i386/x86-64-align-branch-1h.d: Likewise.
1260 * testsuite/gas/i386/x86-64-align-branch-1i.d: Likewise.
1261 * testsuite/gas/i386/x86-64-align-branch-5.d: Likewise.
1262 * testsuite/gas/i386/i386.exp: Skip x86-64-align-branch-2a,
1263 x86-64-align-branch-2b and x86-64-align-branch-2c on Darwin.
1265 2020-01-14 Sergey Belyashov <sergey.belyashov@gmail.com>
1268 * config/tc-z80.c: Add support for half precision, single
1269 precision and double precision floating point values.
1270 * config/tc-z80.h b/gas/config/tc-z80.h: Disable string escapes.
1271 * doc/as.texi: Add new z80 command line options.
1272 * doc/c-z80.texi: Document new z80 command line options.
1273 * testsuite/gas/z80/ez80_pref_dis.s: New test.
1274 * testsuite/gas/z80/ez80_pref_dis.d: New test driver.
1275 * testsuite/gas/z80/z80.exp: Run the new test.
1276 * testsuite/gas/z80/fp_math48.d: Use correct command line option.
1277 * testsuite/gas/z80/fp_zeda32.d: Likewise.
1278 * testsuite/gas/z80/strings.d: Update expected output.
1280 2020-01-13 Matthew Malcomson <matthew.malcomson@arm.com>
1282 * config/tc-aarch64.c (f64mm, f32mm): Add sve as a feature
1285 2020-01-13 Claudiu Zissulescu <claziss@gmail.com>
1287 * config/tc-arc.c (arc_select_cpu): Re-init the bfd if we change
1289 * config/tc-arc.h: Add header if/defs.
1290 * testsuite/gas/arc/pseudos.d: Improve matching pattern.
1292 2020-01-13 Alan Modra <amodra@gmail.com>
1294 * testsuite/gas/wasm32/allinsn.d: Update expected output.
1296 2020-01-13 Alan Modra <amodra@gmail.com>
1298 * config/tc-tic4x.c (tic4x_operands_match): Correct tic3x trap
1301 2020-01-10 Alan Modra <amodra@gmail.com>
1303 * testsuite/gas/elf/pr14891.s: Don't start directives in first column.
1304 * testsuite/gas/elf/pr21661.d: Don't run on hpux.
1306 2020-01-03 Sergey Belyashov <sergey.belyashov@gmail.com>
1309 * config/tc-z80.c (emit_ld_m_rr): Use integer types when checking
1311 (emit_ld_r_r): Likewise.
1312 (emit_ld_rr_m): Likewise.
1313 (emit_ld_rr_nn): Likewise.
1315 2020-01-09 Jan Beulich <jbeulich@suse.com>
1317 * config/tc-i386.c (optimize_encoding): Add
1318 is_any_vex_encoding() invocations. Drop respective
1319 i.tm.extension_opcode == None checks.
1321 2020-01-09 Jan Beulich <jbeulich@suse.com>
1323 * config/tc-i386.c (md_assemble): Check RegRex is clear during
1324 REX transformations. Correct comment indentation.
1326 2020-01-09 Jan Beulich <jbeulich@suse.com>
1328 * config/tc-i386.c (optimize_encoding): Generalize register
1329 transformation for TEST optimization.
1331 2020-01-09 Jan Beulich <jbeulich@suse.com>
1333 * testsuite/gas/i386/x86-64-sysenter-amd.s,
1334 testsuite/gas/i386/x86-64-sysenter-amd.d,
1335 testsuite/gas/i386/x86-64-sysenter-amd.l,
1336 testsuite/gas/i386/x86-64-sysenter-intel.d,
1337 testsuite/gas/i386/x86-64-sysenter-mixed.d: New.
1338 * testsuite/gas/i386/i386.exp: Run new tests.
1340 2020-01-08 Nick Clifton <nickc@redhat.com>
1343 * doc/as.texi (Align): Document the fact that all arguments can be
1346 (P2align): Likewise.
1348 2020-01-08 Nick Clifton <nickc@redhat.com>
1351 * config/obj-elf.c (obj_elf_section): Fail if the section name is
1352 already defined as a different symbol type.
1353 * testsuite/gas/elf/pr14891.s: New test source file.
1354 * testsuite/gas/elf/pr14891.d: New test driver.
1355 * testsuite/gas/elf/pr14891.s: New test expected error output.
1356 * testsuite/gas/elf/elf.exp: Run the new test.
1358 2020-01-08 Alan Modra <amodra@gmail.com>
1360 * config/tc-z8k.c (md_begin): Make idx unsigned.
1361 (get_specific): Likewise for this_index.
1363 2020-01-07 Claudiu Zissulescu <claziss@synopsys.com>
1365 * onfig/tc-arc.c (parse_reloc_symbol): New function.
1366 (tokenize_arguments): Clean up, use parse_reloc_symbol function.
1367 (md_operand): Set X_md to absent.
1368 (arc_parse_name): Check for X_md.
1370 2020-01-03 Sergey Belyashov <sergey.belyashov@gmail.com>
1373 * as.h (TC_STRING_ESCAPES): Provide a default definition.
1374 * app.c (do_scrub_chars): Use TC_STRING_ESCAPES instead of
1376 * read.c (next_char_of_string): Likewise.
1377 * config/tc-ppc.h (TC_STRING_ESCAPES): Define.
1378 * config/tc-z80.h (TC_STRING_ESCAPES): Define.
1380 2020-01-03 Nick Clifton <nickc@redhat.com>
1382 * po/sv.po: Updated Swedish translation.
1384 2020-01-03 Jan Beulich <jbeulich@suse.com>
1386 * testsuite/gas/aarch64/f64mm.s: Scale index of LD1RO{H,W,D}.
1387 * testsuite/gas/aarch64/f64mm.d: Adjust expectations.
1389 2020-01-03 Jan Beulich <jbeulich@suse.com>
1391 * testsuite/gas/aarch64/i8mm.s: Add 128-bit form tests for
1392 by-element usdot. Add 64-bit form tests for by-element sudot.
1393 * testsuite/gas/aarch64/i8mm.d: Adjust expectations.
1395 2020-01-03 Jan Beulich <jbeulich@suse.com>
1397 * testsuite/gas/aarch64/f64mm.s: Drop 'i' from uzip<n>.
1398 * testsuite/gas/aarch64/f64mm.d: Adjust expectations.
1400 2020-01-03 Jan Beulich <jbeulich@suse.com>
1402 * testsuite/gas/aarch64/f64mm.d,
1403 testsuite/gas/aarch64/sve-movprfx-mm.d: Adjust expectations.
1405 2020-01-02 Sergey Belyashov <sergey.belyashov@gmail.com>
1407 * config/tc-z80.c: Add new architectures: Z180 and eZ80. Add
1408 support for assembler code generated by SDCC. Add new relocation
1409 types. Add z80-elf target support.
1410 * config/tc-z80.h: Add z80-elf target support. Enable dollar local
1411 labels. Local labels starts from ".L".
1412 * NEWS: Mention the new support.
1413 * testsuite/gas/all/fwdexp.d: Fix failure due to symbol conflict.
1414 * testsuite/gas/all/fwdexp.s: Likewise.
1415 * testsuite/gas/all/cond.l: Likewise.
1416 * testsuite/gas/all/cond.s: Likewise.
1417 * testsuite/gas/all/fwdexp.d: Likewise.
1418 * testsuite/gas/all/fwdexp.s: Likewise.
1419 * testsuite/gas/elf/section2.e-mips: Likewise.
1420 * testsuite/gas/elf/section2.l: Likewise.
1421 * testsuite/gas/elf/section2.s: Likewise.
1422 * testsuite/gas/macros/app1.d: Likewise.
1423 * testsuite/gas/macros/app1.s: Likewise.
1424 * testsuite/gas/macros/app2.d: Likewise.
1425 * testsuite/gas/macros/app2.s: Likewise.
1426 * testsuite/gas/macros/app3.d: Likewise.
1427 * testsuite/gas/macros/app3.s: Likewise.
1428 * testsuite/gas/macros/app4.d: Likewise.
1429 * testsuite/gas/macros/app4.s: Likewise.
1430 * testsuite/gas/macros/app4b.s: Likewise.
1431 * testsuite/gas/z80/suffix.d: Fix failure on ELF target.
1432 * testsuite/gas/z80/z80.exp: Add new tests
1433 * testsuite/gas/z80/dollar.d: New file.
1434 * testsuite/gas/z80/dollar.s: New file.
1435 * testsuite/gas/z80/ez80_adl_all.d: New file.
1436 * testsuite/gas/z80/ez80_adl_all.s: New file.
1437 * testsuite/gas/z80/ez80_adl_suf.d: New file.
1438 * testsuite/gas/z80/ez80_isuf.s: New file.
1439 * testsuite/gas/z80/ez80_z80_all.d: New file.
1440 * testsuite/gas/z80/ez80_z80_all.s: New file.
1441 * testsuite/gas/z80/ez80_z80_suf.d: New file.
1442 * testsuite/gas/z80/r800_extra.d: New file.
1443 * testsuite/gas/z80/r800_extra.s: New file.
1444 * testsuite/gas/z80/r800_ii8.d: New file.
1445 * testsuite/gas/z80/r800_z80_doc.d: New file.
1446 * testsuite/gas/z80/z180.d: New file.
1447 * testsuite/gas/z80/z180.s: New file.
1448 * testsuite/gas/z80/z180_z80_doc.d: New file.
1449 * testsuite/gas/z80/z80_doc.d: New file.
1450 * testsuite/gas/z80/z80_doc.s: New file.
1451 * testsuite/gas/z80/z80_ii8.d: New file.
1452 * testsuite/gas/z80/z80_ii8.s: New file.
1453 * testsuite/gas/z80/z80_in_f_c.d: New file.
1454 * testsuite/gas/z80/z80_in_f_c.s: New file.
1455 * testsuite/gas/z80/z80_op_ii_ld.d: New file.
1456 * testsuite/gas/z80/z80_op_ii_ld.s: New file.
1457 * testsuite/gas/z80/z80_out_c_0.d: New file.
1458 * testsuite/gas/z80/z80_out_c_0.s: New file.
1459 * testsuite/gas/z80/z80_reloc.d: New file.
1460 * testsuite/gas/z80/z80_reloc.s: New file.
1461 * testsuite/gas/z80/z80_sli.d: New file.
1462 * testsuite/gas/z80/z80_sli.s: New file.
1464 2020-01-02 Szabolcs Nagy <szabolcs.nagy@arm.com>
1466 * config/tc-arm.c (parse_reg_list): Use REG_TYPE_RN instead of
1469 2020-01-01 Alan Modra <amodra@gmail.com>
1471 Update year range in copyright notice of all files.
1473 For older changes see ChangeLog-2019
1475 Copyright (C) 2020 Free Software Foundation, Inc.
1477 Copying and distribution of this file, with or without modification,
1478 are permitted in any medium without royalty provided the copyright
1479 notice and this notice are preserved.
1485 version-control: never