+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.