+2018-03-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/tc-i386.c (set_cpu_arch): Set cpu_arch_isa_flags.
+ (md_parse_option): Likewise.
+ (optimize_encoding): Check i.tm.cpu_flags and cpu_arch_isa_flags
+ for cpuavx512vl instead of cpu_arch_flags. Optimize EVEX with
+ EVEX128 when EVEX encoding is required.
+ * testsuite/gas/i386/i386.exp: Run optimize-4, optimize-5,
+ x86-64-optimize-5 and x86-64-optimize-6.
+ * testsuite/gas/i386/optimize-1.d: Updated.
+ * testsuite/gas/i386/x86-64-optimize-2.d: Likewise.
+ * testsuite/gas/i386/optimize-4.d: New file.
+ * testsuite/gas/i386/optimize-4.s: Likewise.
+ * testsuite/gas/i386/optimize-5.d: Likewise.
+ * testsuite/gas/i386/optimize-5.s: Likewise.
+ * testsuite/gas/i386/x86-64-optimize-5.d: Likewise.
+ * testsuite/gas/i386/x86-64-optimize-5.s: Likewise.
+ * testsuite/gas/i386/x86-64-optimize-6.d: Likewise.
+ * testsuite/gas/i386/x86-64-optimize-6.s: Likewise.
+
+2018-03-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/tc-i386.c (optimize_encoding): Also encode "clr reg64"
+ as "xor reg32, reg32".
+ * testsuite/gas/i386/x86-64-optimize-1.s: Add "clr reg64" tests.
+ * testsuite/gas/i386/x86-64-optimize-1.d: Updated.
+
+2018-03-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ * NEWS: Mention -mold-gcc removal.
+ * config/tc-i386.c (i386_error): Remove old_gcc_only.
+ (old_gcc): Removed.
+ (match_template): Remove old gcc support.
+ (OPTION_MOLD_GCC): Removed.
+ (OPTION_MRELAX_RELOCATIONS): Updated.
+ (md_longopts): Remove OPTION_MOLD_GCC.
+ (md_parse_option): Likewise.
+ (md_show_usage): Remove -mold-gcc.
+ * testsuite/gas/i386/general.s: Convert fsub/fdiv tests for old
+ (<= 2.8.1) versions of gcc.
+ * testsuite/gas/i386/intel.s: Likewise.
+ * testsuite/gas/i386/general.l: Updated.
+ * testsuite/gas/i386/intel-intel.d: Likewise.
+ * testsuite/gas/i386/intel.d: Likewise.
+ * testsuite/gas/i386/intel.e: Likewise.
+ * testsuite/gas/i386/i386.exp: Don't pass -mold-gcc to general.
+
+2018-03-08 Jan Beulich <jbeulich@suse.com>
+
+ * config/tc-i386.c (is_evex_encoding): New.
+ (optimize_encoding, md_assemble, md_assemble,
+ VEX_check_operands, build_modrm_byte): Use is_evex_encoding.
+ (build_evex_prefix): Derive EVEX length field from actual
+ operands if the template allows multiple ones.
+
+2018-03-08 Jan Beulich <jbeulich@suse.com>
+
+ * config/tc-i386.c (build_modrm_byte): Make VexNDD handling cope
+ with 3rd (immediate) operand.
+
+2018-03-08 Jan Beulich <jbeulich@suse.com>
+
+ * config/tc-i386.c (XMMWORD_MNEM_SUFFIX, YMMWORD_MNEM_SUFFIX,
+ ZMMWORD_MNEM_SUFFIX): Delete.
+ (process_suffix): Drop their uses. Re-arrange final part of
+ logic into a switch() statement. Drop special casing of
+ cmpxchg8b.
+
+2018-03-08 Jan Beulich <jbeulich@suse.com>
+
+ * config/tc-i386.c (match_template): Also match register
+ operands 0 and 2 for 3-operand forms.
+ * testsuite/gas/i386/unspec64.l, testsuite/gas/i386/unspec64.s:
+ New.
+ * testsuite/gas/i386/i386.exp: Run new test.
+
+2018-03-08 Jan Beulich <jbeulich@suse.com>
+
+ * config/tc-i386.c (process_suffix): Do common part of register
+ checks first.
+
+2018-03-08 Jan Beulich <jbeulich@suse.com>
+
+ * config/tc-i386.c (parse_insn): Move success return up. Combine
+ failure returns.
+
+2018-03-08 Jan Beulich <jbeulich@suse.com>
+
+ * config/tc-i386.c (cpu_flags_match): Add GFNI check to AVX
+ logic. Add respective logic for AVX512F.
+ * testsuite/gas/i386/arch-avx-1.s: Add GFNI test.
+ testsuite/gas/i386/arch-avx-1.d,
+ testsuite/gas/i386/arch-avx-1-1.l,
+ testsuite/gas/i386/arch-avx-1-2.l,
+ testsuite/gas/i386/arch-avx-1-3.l,
+ testsuite/gas/i386/arch-avx-1-4.l,
+ testsuite/gas/i386/arch-avx-1-5.l,
+ testsuite/gas/i386/arch-avx-1-6.l: Adjust expectations.
+ * testsuite/gas/i386/arch-avx-1-7.l,
+ testsuite/gas/i386/arch-avx-1-7.s,
+ testsuite/gas/i386/arch-avx-1-8.l,
+ testsuite/gas/i386/arch-avx-1-8.s,
+ testsuite/gas/i386/avx512f-plain.l,
+ testsuite/gas/i386/avx512f-plain.s,
+ testsuite/gas/i386/avx512vl-plain.l,
+ testsuite/gas/i386/avx512vl-plain.s: New.
+ * testsuite/gas/i386/i386.exp: Run new tests.
+
+2018-03-08 Jan Beulich <jbeulich@suse.com>
+
+ * config/tc-i386.c (cpu_flags_match): Move AVX512VL check ahead.
+
+2018-03-08 Jan Beulich <jbeulich@suse.com>
+
+ * config/tc-i386.c (CPU_FLAGS_32BIT_MATCH): Delete.
+ (cpu_flags_match): Use CPU_FLAGS_ARCH_MATCH instead of
+ CPU_FLAGS_32BIT_MATCH.
+
+2018-03-08 Jan Beulich <jbeulich@suse.com>
+
+ * config/tc-i386.c (CPU_FLAGS_AES_MATCH, CPU_FLAGS_AVX_MATCH,
+ CPU_FLAGS_PCLMUL_MATCH): Delete.
+ (CPU_FLAGS_32BIT_MATCH): Drop uses of deleted CPU_FLAGS_*_MATCH.
+ (cpu_flags_match): Combine AVX checks into
+ single if().
+
+2018-03-08 Jan Beulich <jbeulich@suse.com>
+
+ * config/tc-i386.c (cpu_flags_match): Drop "else" branches
+ setting CPU_FLAGS_ARCH_MATCH.
+
+2018-03-08 Jan Beulich <jbeulich@suse.com>
+
+ * config/tc-i386.c (md_assemble): Extend SSE check conditional.
+ * testsuite/gas/i386/ilp32/x86-64-sse-check-none.d,
+ testsuite/gas/i386/ilp32/x86-64-sse-check-warn.d,
+ testsuite/gas/i386/ilp32/x86-64-sse-check.d,
+ testsuite/gas/i386/sse-check-none.d,
+ testsuite/gas/i386/sse-check-warn.d,
+ testsuite/gas/i386/x86-64-sse-check.d,
+ testsuite/gas/i386/x86-64-sse-check-none.d,
+ testsuite/gas/i386/x86-64-sse-check-warn.d: Refer to sse-check.d.
+ * testsuite/gas/i386/sse-check.s: Add AES, GFNI, and PCLMUL
+ tests.
+ * testsuite/gas/i386/sse-check-none.s: Replace code by inclusion
+ of sse-check.s.
+ * testsuite/gas/i386/sse-check.d: Adjust expectations.
+ * testsuite/gas/i386/sse-check-error.l,
+ testsuite/gas/i386/x86-64-sse-check-error.l: Likewise.
+ * testsuite/gas/i386/sse-check-warn.e: Likewise.
+
+2018-03-08 Jan Beulich <jbeulich@suse.com>
+
+ * config/tc-i386.c (operand_size_match): Drop / replace uses of
+ .floatd.
+
+2018-03-08 Jan Beulich <jbeulich@suse.com>
+
+ * testsuite/gas/i386/intel-intel.d: New.
+ * testsuite/gas/i386/i386.exp: Run new test.
+
+2018-03-08 Jan Beulich <jbeulich@suse.com>
+
+ * config/tc-i386.c (process_operands): Access operands only
+ after operand count assertion. Sanitize warning text. Fix
+ indentation.
+ * testsuite/gas/i386/avx512_4fmaps-warn.l,
+ gas/i386/x86-64-avx512_4fmaps-warn.l: Adjust expectations.
+
+2018-03-08 Jan Beulich <jbeulich@suse.com>
+
+ * testsuite/gas/i386/x86-64-movd.s: Drop bogus vmovd memory forms.
+ * testsuite/gas/i386/x86-64-movd.d,
+ testsuite/gas/i386/x86-64-movd-intel.d: Adjust expectations.
+
+2018-03-08 Jan Beulich <jbeulich@suse.com>
+
+ * config/tc-i386.c (operand_type_and_not): New.
+ (build_modrm_byte): Use it to prevent clearing unrelated bits.
+
+2018-03-08 Alan Modra <amodra@gmail.com>
+
+ * config/tc-ppc.c (ppc_handle_align): Correct last patch. Really
+ don't emit a group terminating nop for power9. Simplify cpu
+ tests.
+
+2018-03-08 Alan Modra <amodra@gmail.com>
+
+ * config/tc-ppc.c (ppc_handle_align): Don't emit a group
+ terminating nop for power9.
+
+2018-03-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR gas/22874
+ * config/tc-i386.c (f32_5): Removed.
+ (f32_8): Likewise.
+ (f32_9): Likewise.
+ (f32_10): Likewise.
+ (f32_11): Likewise.
+ (f32_12): Likewise.
+ (f32_13): Likewise.
+ (f32_14): Likewise.
+ (f16_5): Likewise.
+ (f16_6): Likewise.
+ (f16_7): Likewise.
+ (f16_8): Likewise.
+ (jump_31): Likewise.
+ (alt64_11): Likewise.
+ (alt64_patt): Likewise.
+ (jump_disp8): New.
+ (jump32_disp32): Likewise.
+ (jump16_disp32): Likewise.
+ (alt_11): Likewise.
+ (f32_patt): Updated.
+ (f16_patt): Likewise.
+ (alt_patt): Add alt_11.
+ (i386_align_code): Merged with ...
+ (i386_generate_nops): This. Rewritten.
+ (fits_in_imm7): Moved before i386_generate_nops.
+ (fits_in_imm31): Likewise.
+ * config/tc-i386.h (MAX_MEM_FOR_RS_ALIGN_CODE): Updated to
+ 4095.
+ (i386_align_code): Removed.
+ (HANDLE_ALIGN): Rewritten with i386_generate_nops.
+ * doc/as.texinfo: Update limits of control byte for x86 .nops
+ directive.
+ * testsuite/gas/i386/i386.exp: Run nops-7 and x86-64-nops-7.
+ * gas/testsuite/gas/i386/noavx-3.l: Updated.
+ * gas/testsuite/gas/i386/nop-1.d: Likewise.
+ * gas/testsuite/gas/i386/nop-1.s: Likewise.
+ * gas/testsuite/gas/i386/nop-2.d: Likewise.
+ * gas/testsuite/gas/i386/nop-2.s: Likewise.
+ * gas/testsuite/gas/i386/nop-3.d: Likewise.
+ * gas/testsuite/gas/i386/nop-4.d: Likewise.
+ * gas/testsuite/gas/i386/nop-5.d: Likewise.
+ * gas/testsuite/gas/i386/nop-5.s: Likewise.
+ * gas/testsuite/gas/i386/nop-6.d: Likewise.
+ * gas/testsuite/gas/i386/nop-bad-1.l: Likewise.
+ * gas/testsuite/gas/i386/nops-1-core2.d: Likewise.
+ * gas/testsuite/gas/i386/nops-1-i386-i686.d: Likewise.
+ * gas/testsuite/gas/i386/nops-1-i386.d: Likewise.
+ * gas/testsuite/gas/i386/nops-1-i686.d: Likewise.
+ * gas/testsuite/gas/i386/nops-1-k8.d: Likewise.
+ * gas/testsuite/gas/i386/nops-1.d: Likewise.
+ * gas/testsuite/gas/i386/nops-2-core2.d: Likewise.
+ * gas/testsuite/gas/i386/nops-2-i386.d: Likewise.
+ * gas/testsuite/gas/i386/nops-2.d: Likewise.
+ * gas/testsuite/gas/i386/nops-3-i386.d: Likewise.
+ * gas/testsuite/gas/i386/nops-3-i686.d: Likewise.
+ * gas/testsuite/gas/i386/nops-3.d: Likewise.
+ * gas/testsuite/gas/i386/nops-4-i386.d: Likewise.
+ * gas/testsuite/gas/i386/nops-4-i686.d: Likewise.
+ * gas/testsuite/gas/i386/nops-4.d: Likewise.
+ * gas/testsuite/gas/i386/nops-4a-i686.d: Likewise.
+ * gas/testsuite/gas/i386/nops-5-i686.d: Likewise.
+ * gas/testsuite/gas/i386/nops-5.d: Likewise.
+ * gas/testsuite/gas/i386/nops-6.d: Likewise.
+ * gas/testsuite/gas/i386/nops16-1.d: Likewise.
+ * gas/testsuite/gas/i386/x86-64-nop-1.d: Likewise.
+ * gas/testsuite/gas/i386/x86-64-nop-2.d: Likewise.
+ * gas/testsuite/gas/i386/x86-64-nop-5.d: Likewise.
+ * gas/testsuite/gas/i386/x86-64-nops-1-core2.d: Likewise.
+ * gas/testsuite/gas/i386/x86-64-nops-1-g64.d: Likewise.
+ * gas/testsuite/gas/i386/x86-64-nops-1-k8.d: Likewise.
+ * gas/testsuite/gas/i386/x86-64-nops-1-pentium.d: Likewise.
+ * gas/testsuite/gas/i386/x86-64-nops-1.d: Likewise.
+ * gas/testsuite/gas/i386/x86-64-nops-2.d: Likewise.
+ * gas/testsuite/gas/i386/x86-64-nops-3.d: Likewise.
+ * gas/testsuite/gas/i386/x86-64-nops-4-core2.d: Likewise.
+ * gas/testsuite/gas/i386/x86-64-nops-4-k8.d: Likewise.
+ * gas/testsuite/gas/i386/x86-64-nops-4.d: Likewise.
+ * gas/testsuite/gas/i386/x86-64-nops-5-k8.d: Likewise.
+ * gas/testsuite/gas/i386/x86-64-nops-5.d: Likewise.
+ * gas/testsuite/gas/i386/ilp32/x86-64-nops-1-core2.d: Likewise.
+ * gas/testsuite/gas/i386/ilp32/x86-64-nops-1-k8.d: Likewise.
+ * gas/testsuite/gas/i386/ilp32/x86-64-nops-1-pentium.d: Likewise.
+ * gas/testsuite/gas/i386/ilp32/x86-64-nops-1.d: Likewise.
+ * gas/testsuite/gas/i386/ilp32/x86-64-nops-2.d: Likewise.
+ * gas/testsuite/gas/i386/ilp32/x86-64-nops-3.d: Likewise.
+ * gas/testsuite/gas/i386/ilp32/x86-64-nops-4-core2.d: Likewise.
+ * gas/testsuite/gas/i386/ilp32/x86-64-nops-4-k8.d: Likewise.
+ * gas/testsuite/gas/i386/ilp32/x86-64-nops-4.d: Likewise.
+ * gas/testsuite/gas/i386/ilp32/x86-64-nops-5-k8.d: Likewise.
+ * gas/testsuite/gas/i386/ilp32/x86-64-nops-5.d: Likewise.
+ * gas/testsuite/gas/i386/nops-7.d: New file.
+ * gas/testsuite/gas/i386/nops-7.s: Likewise.
+ * gas/testsuite/gas/i386/x86-64-nops-7.d: Likewise.
+
+2018-03-07 Alan Modra <amodra@gmail.com>
+
+ * testsuite/gas/ppc/aix.exp: Run for rs6000 too.
+ * testsuite/gas/ppc/ppc.exp: Run more tests for non-ELF targets.
+ * testsuite/gas/ppc/machine.d: Don't run for PE targets.
+
+2018-03-02 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * config/tc-arm.c (md_begin): Add NULL pointer check before
+ dereferencing march_ext_opt.
+
2018-03-01 Thomas Preud'homme <thomas.preudhomme@arm.com>
* config/tc-arm.c (cpu_variant, arm_arch_used, thumb_arch_used,