i386: Add tests for lfence with load/indirect branch/ret
[deliverable/binutils-gdb.git] / gas / ChangeLog
index 5ba026e429c6d32e9f9f8e879d6d0ffa22a912c5..a134be95fc3173dd2e735565d6968ac0f74d3104 100644 (file)
@@ -1,3 +1,166 @@
+2020-03-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * testsuite/gas/i386/i386.exp: Run new tests.
+       * testsuite/gas/i386/lfence-byte.d: New file.
+       * testsuite/gas/i386/lfence-byte.e: Likewise.
+       * testsuite/gas/i386/lfence-byte.s: Likewise.
+       * testsuite/gas/i386/lfence-indbr-a.d: Likewise.
+       * testsuite/gas/i386/lfence-indbr-b.d: Likewise.
+       * testsuite/gas/i386/lfence-indbr-c.d: Likewise.
+       * testsuite/gas/i386/lfence-indbr.e: Likewise.
+       * testsuite/gas/i386/lfence-indbr.s: Likewise.
+       * testsuite/gas/i386/lfence-load.d: Likewise.
+       * testsuite/gas/i386/lfence-load.s: Likewise.
+       * testsuite/gas/i386/lfence-ret-a.d: Likewise.
+       * testsuite/gas/i386/lfence-ret-b.d: Likewise.
+       * testsuite/gas/i386/lfence-ret.s: Likewise.
+       * testsuite/gas/i386/x86-64-lfence-byte.d: Likewise.
+       * testsuite/gas/i386/x86-64-lfence-byte.e: Likewise.
+       * testsuite/gas/i386/x86-64-lfence-byte.s: Likewise.
+       * testsuite/gas/i386/x86-64-lfence-indbr-a.d: Likewise.
+       * testsuite/gas/i386/x86-64-lfence-indbr-b.d: Likewise.
+       * testsuite/gas/i386/x86-64-lfence-indbr-c.d: Likewise.
+       * testsuite/gas/i386/x86-64-lfence-indbr.e: Likewise.
+       * testsuite/gas/i386/x86-64-lfence-indbr.s: Likewise.
+       * testsuite/gas/i386/x86-64-lfence-load.d: Likewise.
+       * testsuite/gas/i386/x86-64-lfence-load.s: Likewise.
+       * testsuite/gas/i386/x86-64-lfence-ret-a.d: Likewise.
+       * testsuite/gas/i386/x86-64-lfence-ret-b.d: Likewise.
+
+2020-03-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/tc-i386.c (lfence_after_load): New.
+       (lfence_before_indirect_branch_kind): New.
+       (lfence_before_indirect_branch): New.
+       (lfence_before_ret_kind): New.
+       (lfence_before_ret): New.
+       (last_insn): New.
+       (load_insn_p): New.
+       (insert_lfence_after): New.
+       (insert_lfence_before): New.
+       (md_assemble): Call insert_lfence_before and insert_lfence_after.
+       Set last_insn.
+       (OPTION_MLFENCE_AFTER_LOAD): New.
+       (OPTION_MLFENCE_BEFORE_INDIRECT_BRANCH): New.
+       (OPTION_MLFENCE_BEFORE_RET): New.
+       (md_longopts): Add -mlfence-after-load=,
+       -mlfence-before-indirect-branch= and -mlfence-before-ret=.
+       (md_parse_option): Handle -mlfence-after-load=,
+       -mlfence-before-indirect-branch= and -mlfence-before-ret=.
+       (md_show_usage): Display -mlfence-after-load=,
+       -mlfence-before-indirect-branch= and -mlfence-before-ret=.
+       (i386_cons_align): New.
+       * config/tc-i386.h (i386_cons_align): New.
+       (md_cons_align): New.
+       * doc/c-i386.texi: Document -mlfence-after-load=,
+       -mlfence-before-indirect-branch= and -mlfence-before-ret=.
+
+2020-03-11  Nick Clifton  <nickc@redhat.com>
+
+       PR 25611
+       PR 25614
+       * dwarf2dbg.c (DWARF2_FILE_TIME_NAME): Default to -1.
+       (DWARF2_FILE_SIZE_NAME): Default to -1.
+       (DWARF2_LINE_VERSION): Default to the current dwarf level or 3,
+       whichever is higher.
+       (DWARF2_LINE_MAX_OPS_PER_INSN): Provide a default value of 1.
+       (NUM_MD5_BYTES): Define.
+       (struct file entry): Add md5 field.
+       (get_filenum): Delete and replace with...
+       (get_basename): New function.
+       (get_directory_table_entry): New function.
+       (allocate_filenum): New function.
+       (allocate_filename_to_slot): New function.
+       (dwarf2_where): Use new functions.
+       (dwarf2_directive_filename): Add support for extended .file
+       pseudo-op.
+       (dwarf2_directive_loc): Allow the use of file number zero with
+       DWARF 5 or higher.
+       (out_file_list): Rename to...
+       (out_dir_and_file_list): Add DWARF 5 support.
+       (out_debug_line): Emit extra values into the section header for
+       DWARF 5.
+       (out_debug_str): Allow for file 0 to be used with DWARF 5.
+       * doc/as.texi (.file): Update the description of this pseudo-op.
+       * testsuite/gas/elf-dwarf-5-file0.s: Add more lines.
+       * testsuite/gas/elf-dwarf-5-file0.d: Update expected dump output.
+       * testsuite/gas/lns/lns-diag-1.l: Update expected error message.
+       * NEWS: Mention the new feature.
+
+2020-03-10  Alan Modra  <amodra@gmail.com>
+
+       * config/tc-csky.c (get_operand_value): Rewrite 1 << 31 expressions
+       to avoid signed overflow.
+       * config/tc-mcore.c (md_assemble): Likewise.
+       * config/tc-mips.c (gpr_read_mask, gpr_write_mask): Likewise.
+       * config/tc-nds32.c (SET_ADDEND): Likewise.
+       * config/tc-nios2.c (nios2_assemble_arg_R): Likewise.
+
+2020-03-09  Jan Beulich  <jbeulich@suse.com>
+
+       * testsuite/gas/i386/avx.s: Add long-form VCMP[PS][SD] pseudos.
+       * testsuite/gas/i386/avx.d, testsuite/gas/i386/avx-16bit.d,
+       testsuite/gas/i386/avx-intel.d: Adjust expectations.
+
+2020-03-07  Alan Modra  <amodra@gmail.com>
+
+       * testsuite/gas/elf/dwarf-5-file0.s: Don't start directives in
+       first column.
+
+2020-03-06  Nick Clifton  <nickc@redhat.com>
+
+       PR 25614
+       * dwarf2dbg.c (dwarf2_directive_filename): Allow a file number of
+       0 if the dwarf_level is 5 or more.  Complain if a filename follows
+       a file 0.
+       * testsuite/gas/elf/dwarf-5-file0.s: New test.
+       * testsuite/gas/elf/dwarf-5-file0.d: New test driver.
+       * testsuite/gas/elf/elf.exp: Run the new test.
+
+       PR 25612
+       * config/tc-ia64.h (DWARF2_VERISION): Fix typo.
+       * doc/as.texi: Fix another typo.
+
+2020-03-06  Nick Clifton  <nickc@redhat.com>
+
+       PR 25612
+       * as.c (dwarf_level): Define.
+       (show_usage): Add --gdwarf-3, --gdwarf-4 and --gdwarf-5.
+       (parse_args): Add support for the new options.
+       as.h (dwarf_level): Prototype.
+       * dwarf2dbg.c (DWARF2_VERSION): Use dwarf_level as default version
+       value.
+       * config/tc-ia64.h (DWARF2_VERISION): Update definition.
+       (DWARF2_LINE_VERSION): Remove definition.
+       * doc/as.texi: Document the new options.
+
+2020-03-06  Nick Clifton  <nickc@redhat.com>
+
+       PR 25572
+       * as.c (main): Allow matching input and outputs when they are
+       not regular files.
+
+2020-03-06  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386.c (match_mem_size): Generalize broadcast special
+       casing.
+       (check_VecOperands): Zap xmmword/ymmword/zmmword when more than
+       one of byte/word/dword/qword is set alongside a SIMD register in
+       a template's operand.
+
+2020-03-06  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386.c (match_template): Extend code in logic
+       rejecting certain suffixes in certain modes to also cover mask
+       register use and VecSIB. Drop special casing of broadcast. Skip
+       immediates in the check.
+
+2020-03-06  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386.c (match_template): Fold duplicate code in
+       logic rejecting certain suffixes in certain modes. Drop
+       pointless "else".
+
 2020-03-06  Jan Beulich  <jbeulich@suse.com>
 
        * config/tc-i386.c (process_suffix): Exlucde !vexw insns
This page took 0.025355 seconds and 4 git commands to generate.