+2017-11-27 Andrew Waterman <andrew@sifive.com>
+ Palmer Dabbelt <palmer@sifive.com>
+ Jim Wilson <jimw@sifive.com>
+
+ gas/
+ * config/tc-riscv.c (riscv_handle_implicit_zero_offset): New.
+ (riscv_ip): Cases 'k', 'l', 'm', 'n', 'M', 'N', add call to
+ riscv_handle_implicit_zero_offset. At label load_store, replace
+ existing code with call to riscv_handle_implicit_zero_offset.
+ * testsuite/gas/riscv/c-ld.d, testsuite/gas/riscv/c-ld.s: New.
+ * testsuite/gas/riscv/c-lw.d, testsuite/gas/riscv/c-lw.s: New.
+ * testsuite/gas/riscv/riscv.exp: Run new tests.
+
+2017-11-27 Max Filippov <jcmvbkbc@gmail.com>
+
+ * config/tc-xtensa.c (find_trampoline_seg): Add static variable
+ that caches the result of the most recent search.
+
+2017-11-27 Max Filippov <jcmvbkbc@gmail.com>
+
+ * config/tc-xtensa.c (trampoline_chain_entry, trampoline_chain)
+ (trampoline_chain_index): New structures.
+ (trampoline_index): Add chain_index field.
+ (xg_order_trampoline_chain_entry, xg_sort_trampoline_chain)
+ (xg_find_chain_entry, xg_get_best_chain_entry)
+ (xg_order_trampoline_chain, xg_get_trampoline_chain)
+ (xg_find_best_eq_target, xg_add_location_to_chain)
+ (xg_create_trampoline_chain, xg_get_single_symbol_slot): New
+ functions.
+ (xg_relax_fixups): Call xg_find_best_eq_target to adjust jump
+ target to point to an existing jump. Call
+ xg_create_trampoline_chain to create new jump target. Call
+ xg_add_location_to_chain to add newly created trampoline jump
+ to the corresponding chain.
+ (add_jump_to_trampoline): Extract loop searching for a single
+ slot with a symbol into a separate function, replace that code
+ with a call to that function.
+ (relax_frag_immed): Call xg_find_best_eq_target to adjust jump
+ target to point to an existing jump.
+ * testsuite/gas/xtensa/all.exp: Add trampoline-2 test.
+ * testsuite/gas/xtensa/trampoline.d: Adjust absolute addresses
+ as many duplicate trampoline chains are now coalesced.
+ * testsuite/gas/xtensa/trampoline.s: Add _nop so that objdump
+ stays in sync with instruction stream.
+ * testsuite/gas/xtensa/trampoline-2.l: New test result file.
+ * testsuite/gas/xtensa/trampoline-2.s: New test source file.
+
+2017-11-27 Max Filippov <jcmvbkbc@gmail.com>
+
+ * config/tc-xtensa.c (search_trampolines, get_best_trampoline):
+ Remove definitions.
+ (xg_find_best_trampoline_for_tinsn): New function.
+ (relax_frag_immed): Replace call to get_best_trampoline with a
+ call to xg_find_best_trampoline_for_tinsn.
+ * testsuite/gas/xtensa/trampoline.d: Adjust absolute addresses
+ as the placement of trampolines for relaxed branches has been
+ changed.
+
+2017-11-27 Max Filippov <jcmvbkbc@gmail.com>
+
+ * config/tc-xtensa.c (trampoline_index): New structure.
+ (trampoline_seg): Replace trampoline list with trampoline index.
+ (xg_find_trampoline, xg_add_trampoline_to_index)
+ (xg_remove_trampoline_from_index, xg_add_trampoline_to_seg)
+ (xg_is_trampoline_frag_full, xg_get_fulcrum)
+ (xg_find_best_trampoline, xg_relax_fixup, xg_relax_fixups)
+ (xg_is_relaxable_fixup): New functions.
+ (J_MARGIN): New macro.
+ (xtensa_create_trampoline_frag): Use xg_add_trampoline_to_seg
+ instead of open-coded addition to the linked list.
+ (dump_trampolines): Iterate through the trampoline_seg::index.
+ (cached_fixupS, cached_fixup, fixup_cacheS, fixup_cache)
+ (fixup_order, xtensa_make_cached_fixup)
+ (xtensa_realloc_fixup_cache, xtensa_cache_relaxable_fixups)
+ (xtensa_find_first_cached_fixup, xtensa_delete_cached_fixup)
+ (xtensa_add_cached_fixup, check_and_update_trampolines): Remove
+ definitions.
+ (xg_relax_trampoline): Extract logic into separate functions,
+ replace body with a call to xg_relax_fixups.
+ (search_trampolines): Replace search in linked list with search
+ in index. Change data type of address-tracking variables from
+ int to offsetT. Replace abs with labs.
+ (xg_append_jump): Finish the trampoline frag if it's full.
+ (add_jump_to_trampoline): Remove trampoline frag from the index
+ if the frag is full.
+ * config/tc-xtensa.h (xtensa_frag_type): Remove next_trampoline.
+ * testsuite/gas/xtensa/trampoline.d: Adjust absolute addresses
+ as the placement of trampolines has slightly changed.
+ * testsuite/gas/xtensa/trampoline.s: Add _nop so that objdump
+ stays in sync with instruction stream.
+
+2017-11-27 Max Filippov <jcmvbkbc@gmail.com>
+
+ * config/tc-xtensa.c (init_trampoline_frag): Replace pointer to
+ struct trampoline_frag parameter with pointer to fragS.
+ (xg_append_jump): Remove jump_around parameter.
+ (struct trampoline_frag): Remove.
+ (struct trampoline_seg): Change type of trampoline_list from
+ struct trampoline_frag to fragS.
+ (xtensa_create_trampoline_frag): Don't allocate struct
+ trampoline_frag. Initialize new fragS::tc_frag_data fields.
+ (dump_trampolines, xg_relax_trampoline, search_trampolines)
+ (get_best_trampoline, init_trampoline_frag)
+ (add_jump_to_trampoline, relax_frag_immed): Replace pointer to
+ struct trampoline_frag with a pointer to fragS.
+ (xg_append_jump): Remove jump_around parameter, use
+ fragS::tc_frag_data.jump_around_fix instead.
+ (xg_relax_trampoline, init_trampoline_frag)
+ (add_jump_to_trampoline): Don't pass jump_around parameter to
+ xg_append_jump.
+ * config/tc-xtensa.h (struct xtensa_frag_type): Add new fields:
+ needs_jump_around, next_trampoline and jump_around_fix.
+
+2017-11-27 Max Filippov <jcmvbkbc@gmail.com>
+
+ * config/tc-xtensa.c (find_trampoline_seg): Move above the first
+ use.
+ (xtensa_create_trampoline_frag): Replace trampoline seg search
+ code with a call to find_trampoline_seg.
+
+2017-11-27 Max Filippov <jcmvbkbc@gmail.com>
+
+ * config/tc-xtensa.c (xg_append_jump): New function.
+ (xg_relax_trampoline, init_trampoline_frag)
+ (add_jump_to_trampoline): Replace trampoline jump assembling
+ code with a call to xg_append_jump.
+
+2017-11-27 Max Filippov <jcmvbkbc@gmail.com>
+
+ * config/tc-xtensa.c (xg_relax_trampoline): New function.
+ (xtensa_relax_frag): Replace trampoline relaxation code with a
+ call to xg_relax_trampoline.
+
+2017-11-27 Nick Clifton <nickc@redhat.com>
+
+ PR 22492
+ * config/obj-elf.c (obj_elf_version): Set the alignment of the
+ .note section.
+
+2017-11-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ * testsuite/gas/i386/sse-noavx.s: Add tests for fisttps and
+ fisttpl.
+ * testsuite/gas/i386/x86-64-sse-noavx.s: Likewise.
+ * testsuite/gas/i386/ilp32/x86-64-sse-noavx.d: Updated.
+ * testsuite/gas/i386/sse-noavx.d: Likewise.
+ * testsuite/gas/i386/x86-64-sse-noavx.d: Likewise.
+
+2017-11-24 Jim Wilson <jimw@sifive.com>
+
+ * write.h (FAKE_LABEL_CHAR): Expand comment.
+
+2017-11-24 Jan Beulich <jbeulich@suse.com>
+
+ * config/tc-i386.c (check_VecOperations): Check register type
+ for masking. Quote the actual register name in the respective
+ diagnostic. Check {z} wasn't specified on its own.
+ * testsuite/gas/i386/inval-avx512f.s,
+ testsuite/gas/i386/x86-64-inval-avx512f.s: Add further bad
+ masking tests.
+ * testsuite/gas/i386/inval-avx512f.l,
+ testsuite/gas/i386/x86-64-inval-avx512f.l: Adjust expectations.
+
+2017-11-24 Jan Beulich <jbeulich@suse.com>
+
+ * testsuite/gas/i386/intel.d, testsuite/gas/i386/opcode.d,
+ testsuite/gas/i386/opcode-suffix.d, testsuite/gas/i386/sse3.d,
+ testsuite/gas/i386/sse-noavx.d, testsuite/gas/i386/x86-64-sse3.d,
+ testsuite/gas/i386/x86-64-sse-noavx.d,
+ testsuite/gas/i386/ilp32/x86-64-sse3.d,
+ testsuite/gas/i386/ilp32/x86-64-sse-noavx.d: Adjust expectations.
+
+2017-11-23 Jim Wilson <jimw@sifive.com>
+
+ * testsuite/gas/all/err-fakelabel.s (dg-error): Also accept fatal error
+ string.
+
+ * as.c (INITIALIZING_EMULS): Define.
+ * config/obj-multi.h (FAKE_LABEL_NAME): When INITIALIZING_EMULS set,
+ don't define it.
+
+2017-11-23 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
+
+ * testsuite/gas/i386/avx512f_vaes-intel.d: Regenerate.
+ * testsuite/gas/i386/avx512f_vaes.d: Likewise.
+ * testsuite/gas/i386/avx512f_vaes-wig1-intel.d: Likewise.
+ * testsuite/gas/i386/avx512f_vaes-wig1.d: Likewise.
+ * testsuite/gas/i386/avx512vl_vaes-intel.d: Likewise.
+ * testsuite/gas/i386/avx512vl_vaes.d: Likewise.
+ * testsuite/gas/i386/x86-64-avx512f_vaes.s: Add instructions with
+ disp8*N.
+ * testsuite/gas/i386/x86-64-avx512f_vaes-intel.d: Regenerate.
+ * testsuite/gas/i386/x86-64-avx512f_vaes.d: Likewise.
+ * testsuite/gas/i386/x86-64-avx512f_vaes-wig.s: Add instructions with
+ disp8*N.
+ * testsuite/gas/i386/x86-64-avx512f_vaes-wig1-intel.d: Regenerate.
+ * testsuite/gas/i386/x86-64-avx512f_vaes-wig1.d: Likewise.
+ * testsuite/gas/i386/x86-64-avx512vl_vaes-intel.d: Regenerate.
+ * testsuite/gas/i386/x86-64-avx512vl_vaes.d: Likewise.
+ * testsuite/gas/i386/x86-64-avx512vl_vaes-wig.s: Add instructions with
+ disp8*N.
+ * testsuite/gas/i386/x86-64-avx512vl_vaes-wig1-intel.d: Regenerate.
+ * testsuite/gas/i386/x86-64-avx512vl_vaes-wig1.d: Regenerate.
+
+2017-11-23 Jan Beulich <jbeulich@suse.com>
+
+ * tc-i386.c (check_VecOperands): Don't clear .disp16.
+ * testsuite/gas/i386/avx512f.s: Add 16-bit addressing tests.
+ * testsuite/gas/i386/avx512f.d,
+ testsuite/gas/i386/avx512f-intel.d: Adjust expectations.
+
+2017-11-23 Jan Beulich <jbeulich@suse.com>
+
+ PR gas/22441
+ * config/tc-i386.c (build_modrm_byte): Add address override
+ prefix checks alongside 64-bit mode ones.
+ * testsuite/gas/i386/reloc64.s: Add 32-bit signed/unsigned
+ relocation cases.
+ * testsuite/gas/i386/reloc64.d: Adjust expectations.
+
+2017-11-23 Jan Beulich <jbeulich@suse.com>
+
+ * config/tc-i386.c (build_modrm_byte): Drop VSIB handling from
+ code also setting fake_zero_displacement.
+
+2017-11-23 Jan Beulich <jbeulich@suse.com>
+
+ * testsuite/gas/i386/arch-4.s: Correct ud1 and ud2b. Add ud0.
+ * testsuite/gas/i386/intel.s: Test ud2 instead of ud2b.
+ * testsuite/gas/i386/opcode.s: Likewise.
+ * testsuite/gas/i386/arch-4.d, testsuite/gas/i386/intel.d,
+ testsuite/gas/i386/opcode.d, testsuite/gas/i386/opcode-intel.d,
+ testsuite/gas/i386/opcode-suffix.d: Adjust expectations.
+
+2017-11-23 Jan Beulich <jbeulich@suse.com>
+
+ * config/tc-i386-intel.c (i386_intel_operand): Don't call
+ as_bad() if a prior error was already reported.
+ * testsuite/gas/i386/inval-avx512f.l,
+ testsuite/gas/i386/x86-64-inval-avx512f.l: Adjust expectations.
+
+2017-11-22 Jim Wilson <jimw@sifive.com>
+
+ * as.c: Include write.h.
+ (common_emul_init): Use FAKE_LABEL_NAME.
+ * ecoff.c (add_file, ecoff_directive_end, ecoff_directive_loc):
+ Likewise.
+ (ecoff_build_symbols): Use FAKE_LABEL_CHAR.
+ * expr.c (get_symbol_name): Use FAKE_LABEL_CHAR. Accept only if
+ input_from_string is TRUE.
+ * read.c (input_from_string): New.
+ (read_symbol_name): Use FAKE_LABEL_CHAR. Accept only if
+ input_from_string is TRUE.
+ (temp_ilp): Set input_from_string to TRUE.
+ (restore_ilp): Set input_from_string to FALSE.
+ * read.h (input_from_string): Declare.
+ * symbols.c: Include write.h
+ (S_IS_LOCAL): Check for FAKE_LABEL_CHAR.
+ (symbol_relc_make_sym): Fix comment refering to default fake label
+ string.
+ * write.h (FAKE_LABEL_CHAR): New.
+ * config/tc-riscv.h (FAKE_LABEL_CHAR): Define.
+ * testsuite/gas/all/err-fakelabel.s: New.
+
+ * doc/as.texinfo (.align): Change some to most for text nop fill.
+ (.balign, .p2align): Likewise.
+
+2017-11-22 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * config/tc-arm.c (arm_reg_type): Comment on the link with
+ reg_expected_msgs.
+ (reg_expected_msgs): Initialize using array designators with
+ arm_reg_type index.
+
+2017-11-22 Claudiu Zissulescu <claziss@synopsys.com>
+
+ * testsuite/gas/arc/hregs-err.s: New test.
+
+2017-11-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR gas/22464
+ * testsuite/gas/i386/align-1.s: New file.
+ * testsuite/gas/i386/align-1a.d: Likewise.
+ * testsuite/gas/i386/align-1b.d: Likewise.
+ * testsuite/gas/i386/i386.exp: Run align-1a and align-1b.
+
2017-11-21 Claudiu Zissulescu <claziss@synopsys.com>
* testsuite/gas/arc/b.d : Update test.