x86: drop Vec_Imm4
[deliverable/binutils-gdb.git] / gas / ChangeLog
index 036d734dd98ede86566f04845559a4d93a906d71..ac4a132235f23d67e02826ef4d8a9c514981756d 100644 (file)
@@ -1,3 +1,285 @@
+2019-07-01  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386.c (vec_imm4): Delete.
+       (VEX_check_operands): Replace Vec_Imm4 check by CpuXOP with five
+       operands one.  Clear Imm<N> by different means.
+       (build_modrm_byte): Adjust comment.  Remove dead code.  Add and
+       adjust assertions.
+
+2019-07-01  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386.c (output_insn): Adjust recognition of xFENCE
+       insns. Move PadLock special case of prefix emission to 3-byte
+       long base opcode handling.
+       (i386_index_check): Check for CpuPadLock instead of ImmExt.
+
+2019-07-01  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386.c (optimize_encoding): Handle AND / OR with
+       both operands being the same register.
+       * doc/c-i386.texi: Update -O2 documentation.
+       * testsuite/gas/i386/optimize-2.s,
+       testsuite/gas/i386/x86-64-optimize-3.s: Add cases of AND / OR
+       with both operands being the same register.
+       * testsuite/gas/i386/optimize-2.d,
+       testsuite/gas/i386/x86-64-optimize-3.d: Adjust expectations.
+       * testsuite/gas/i386/optimize-2b.d,
+       testsuite/gas/i386/x86-64-optimize-3b.d: New.
+       * testsuite/gas/i386/i386.exp: Run new test.
+
+2019-07-01  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386.c (commutative): New.
+       (build_vex_prefix): Handle commutative case.
+       (optimize_encoding): Set commutative flag when appropriate.
+       * doc/c-i386.texi: Update -O2 documentation.
+       * testsuite/gas/i386/ilp32/x86-64-sse2avx.d: Re-use parent dir
+       output.
+       * testsuite/gas/i386/x86-64-sse2avx.s: Add tests with high
+       numbered source operands.
+       * testsuite/gas/i386/x86-64-optimize-2.d,
+       testsuite/gas/i386/x86-64-optimize-2b.d,
+       testsuite/gas/i386/x86-64-optimize-3.d,
+       testsuite/gas/i386/x86-64-optimize-5.d,
+       testsuite/gas/i386/x86-64-optimize-6.d,
+       testsuite/gas/i386/x86-64-sse2avx.d: Adjust expectations.
+       * testsuite/gas/i386/x86-64-avx-swap-2.d,
+       testsuite/gas/i386/x86-64-avx-swap-2.s: New.
+       * testsuite/gas/i386/i386.exp: Run new test.
+
+2019-07-01  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386.c (is_evex_encoding): Don't check for SAE.
+       (check_VecOperands): Simplify static rounding / SAE checking.
+
+2019-07-01  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386.c (optimize_encoding): Make j unsigned.  Handle
+       vpand{d,q}, vpandn{d,q}, vpor{d,q}, and vpxor{d,q}.  Also check/
+       clear broadcast.  Eliminate a loop.
+       * doc/c-i386.texi: Update -O1 documentation.
+       * testsuite/gas/i386/optimize-1.s,
+       testsuite/gas/i386/optimize-2.s,
+       testsuite/gas/i386/optimize-3.s,
+       testsuite/gas/i386/optimize-5.s,
+       testsuite/gas/i386/x86-64-optimize-2.s,
+       testsuite/gas/i386/x86-64-optimize-3.s,
+       testsuite/gas/i386/x86-64-optimize-4.s,
+       testsuite/gas/i386/x86-64-optimize-6.s: Add vpand{d,q},
+       vpandn{d,q}, vpor{d,q}, and vpxor{d,q} cases.
+       testsuite/gas/i386/optimize-1.d,
+       testsuite/gas/i386/optimize-1a.d,
+       testsuite/gas/i386/optimize-2.d,
+       testsuite/gas/i386/optimize-3.d,
+       testsuite/gas/i386/optimize-4.d,
+       testsuite/gas/i386/optimize-5.d,
+       testsuite/gas/i386/x86-64-optimize-2.d,
+       testsuite/gas/i386/x86-64-optimize-2a.d,
+       testsuite/gas/i386/x86-64-optimize-2b.d,
+       testsuite/gas/i386/x86-64-optimize-3.d,
+       testsuite/gas/i386/x86-64-optimize-4.d,
+       testsuite/gas/i386/x86-64-optimize-5.d,
+       testsuite/gas/i386/x86-64-optimize-6.d: Adjust expectations.
+
+2019-07-01  Jan Beulich  <jbeulich@suse.com>
+
+       * testsuite/gas/i386/avx512f_vpclmulqdq.s,
+       testsuite/gas/i386/avx512vl_vpclmulqdq.s,
+       testsuite/gas/i386/vpclmulqdq.s,
+       testsuite/gas/i386/x86-64-avx512f_vpclmulqdq.s,
+       testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq.s: Add pseudo ops.
+       * testsuite/gas/i386/x86-64-vpclmulqdq.s: Likewise. Don't use
+       high 16 [xy]mm registers.
+       * testsuite/gas/i386/avx512f_vpclmulqdq.d,
+       testsuite/gas/i386/avx512f_vpclmulqdq-intel.d,
+       testsuite/gas/i386/avx512vl_vpclmulqdq.d,
+       testsuite/gas/i386/avx512vl_vpclmulqdq-intel.d,
+       testsuite/gas/i386/vpclmulqdq.d,
+       testsuite/gas/i386/vpclmulqdq-intel.d,
+       testsuite/gas/i386/x86-64-avx512f_vpclmulqdq.d,
+       testsuite/gas/i386/x86-64-avx512f_vpclmulqdq-intel.d,
+       testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq.d,
+       testsuite/gas/i386/x86-64-avx512vl_vpclmulqdq-intel.d,
+       testsuite/gas/i386/x86-64-vpclmulqdq.d,
+       testsuite/gas/i386/x86-64-vpclmulqdq-intel.d: Adjust
+       expectations.
+
+2019-07-01  Jan Beulich  <jbeulich@suse.com>
+
+       * tc-i386.c (output_disp, output_imm): Use encoding_length.
+
+2019-07-01  Jan Beulich  <jbeulich@suse.com>
+
+       * tc-i386.c (encoding_length): New.
+       (output_insn): Use it.
+       * testsuite/gas/i386/oversized16.l,
+       testsuite/gas/i386/oversized16.s,
+       testsuite/gas/i386/oversized64.l,
+       testsuite/gas/i386/oversized64.s: New.
+       * testsuite/gas/i386/i386.exp: Run new tests.
+
+2019-06-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/24719
+       * testsuite/gas/i386/disassem.s: Add test for vgatherpf0dps
+       with invalid vector length.
+       * testsuite/gas/i386/x86-64-disassem.s: Likewise.
+       * testsuite/gas/i386/disassem.d: Updated.
+       * testsuite/gas/i386/x86-64-disassem.d: Likewise.
+
+2019-06-27  Barnaby Wilk  s<barnaby.wilks@arm.com>
+
+       * config/tc-arm.c (do_smc): Add range check for immediate operand.
+       (do_t_smc): Add range check for immediate operand. Remove
+       obsolete immediate encoding.
+       (md_apply_fix): Fix range check. Remove obsolete immediate encoding.
+       * testsuite/gas/arm/arch6zk.d: Fix test.
+       * testsuite/gas/arm/arch6zk.s: Fix test.
+       * testsuite/gas/arm/smc-bad.d: New test.
+       * testsuite/gas/arm/smc-bad.l: New test.
+       * testsuite/gas/arm/smc-bad.s: New test.
+       * testsuite/gas/arm/thumb32.d: Fix test.
+       * testsuite/gas/arm/thumb32.s: Fix test.
+
+2019-06-27  Jan Beulich  <jbeulich@suse.com>
+
+       config/tc-i386.c (md_assemble): Check for protected mode
+       incapable processor before encoding VEX and alike insns.
+       * testsuite/gas/i386/inval-16.s: For 80186 architecture.
+       * testsuite/gas/i386/inval-16.l: Adjust expectations.
+       * testsuite/gas/i386/avx-16bit.d,
+       testsuite/gas/i386/avx-16bit.s,
+       testsuite/gas/i386/avx512f-16bit.d,
+       testsuite/gas/i386/avx512f-16bit.s,
+       testsuite/gas/i386/bmi-16bit.d,
+       testsuite/gas/i386/bmi-16bit.s,
+       testsuite/gas/i386/bmi2-16bit.d,
+       testsuite/gas/i386/bmi2-16bit.s,
+       testsuite/gas/i386/lwp-16bit.d,
+       testsuite/gas/i386/lwp-16bit.s: New
+       testsuite/gas/i386/i386.exp: Run new tests.
+
+2019-06-26  Jim Wilson  <jimw@sifive.com>
+
+       * testsuite/gas/xstormy16/allinsn.sh: Change first line to
+       #!/bin/bash and make it executable.
+       * testsuite/gas/xstormy16/gcc.sh: Likewise.
+
+2019-06-26  Lili Cui  <lili.cui@intel.com>
+
+       * doc/c-i386.texi: Document x/y/z instruction sufffixes in AT&T
+       syntax and xmmword/ymmword/zmmword/fword/tbyte/oword ptr in
+       Intel syntax.
+
+2019-06-25  Faraz Shahbazker  <fshahbazker@wavecomp.com>
+
+       * config/tc-mips.c (macro) <M_LI>: Re-order MTHC1 with
+       respect to MTC1 and use $0 for either part where possible.
+       * testsuite/gas/mips/li-d.s: Add test cases for non-zero
+       words in double precision constants.
+       * testsuite/gas/mips/li-d.d: Update reference output.
+       * testsuite/gas/mips/micromips@isa-override-1.d: Likewise.
+       * testsuite/gas/mips/mips32r2@isa-override-1.d: Likewise.
+       * testsuite/gas/mips/mips64r2@isa-override-1.d: Likewise.
+
+2019-06-25  Jan Beulich  <jbeulich@suse.com>
+
+       * tc-i386.c (acc32, acc64): Delete.
+       (pi): Make first parameter pinter-to-const.
+       (type_names): Remove Acc. Add acc8, acc16, acc32, and acc64.
+       (pt): Use operand_type_equal().
+       (match_template): Replace use of acc32.
+       (process_suffix): Replace use of acc64.
+
+2019-06-25  Jan Beulich  <jbeulich@suse.com>
+
+       * doc/c-i386.texi: Mark -mavxscalar= and -mvexwig as dangrous to
+       use.
+
+2019-06-25  Jan Beulich  <jbeulich@suse.com>
+
+       * tc-i386.c (process_suffix): Use is_any_vex_encoding().
+
+2019-06-25  Jan Beulich  <jbeulich@suse.com>
+
+       * testsuite/gas/i386/sse2-16bit.d,
+       testsuite/gas/i386/sse2-16bit.s: New.
+       testsuite/gas/i386/i386.exp: Run new test.
+
+2019-06-25  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386.c (optimize_encoding): Also handle ANDQ with
+       immediatie fitting in 7 bits.
+       * testsuite/gas/i386/x86-64-optimize-1.s: Add ANDQ cases with
+       7- and 8-bit immediates.
+       * testsuite/gas/i386/x86-64-optimize-1.d: Adjust expectations.
+
+2019-06-25  Jan Beulich  <jbeulich@suse.com>
+
+       * testsuite/gas/i386/xmmword.s: Add cvtps2pi and cvttps2pi
+       tests.
+       * testsuite/gas/i386/xmmword.l: Adjust expectations.
+
+2019-06-25  Alan Modra  <amodra@gmail.com>
+
+       * config/tc-ppc.c (ppc_handle_align): Add parentheses.
+
+2019-06-25  Alan Modra  <amodra@gmail.com>
+
+       * config/tc-ppc.h (ppc_nop_select): Declare.
+       (NOP_OPCODE): Define.
+       * config/tc-ppc.c (ppc_elf_end, ppc_xcoff_end): Zero ppc_cpu.
+       (ppc_nop_encoding_for_rs_align_code): New enum.
+       (ppc_nop_select): New function.
+       (ppc_handle_align): Don't use ppc_cpu here.  Get nop type from frag.
+       * testsuite/gas/ppc/groupnop.d,
+       * testsuite/gas/ppc/groupnop.s: New test.
+       * testsuite/gas/ppc/ppc.exp: Run it.
+
+2019-06-19  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/24700
+       * testsuite/gas/i386/disassem.s: Add test for vbroadcasti32x8
+       with invalid vector length.
+       * testsuite/gas/i386/x86-64-disassem.s: Likewise.
+       * testsuite/gas/i386/disassem.d: Updated.
+       * testsuite/gas/i386/x86-64-disassem.d: Likewise.
+
+2019-06-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/24691
+       * testsuite/gas/i386/disassem.s: Add test for vshuff32x4 with
+       invalid vector length.
+       * testsuite/gas/i386/x86-64-disassem.s: Likewise.
+       * testsuite/gas/i386/disassem.d: Updated.
+       * testsuite/gas/i386/x86-64-disassem.d: Likewise.
+
+2019-06-14  Alan Modra  <amodra@gmail.com>
+
+       * Makefile.in: Regenerate.
+       * configure: Regenerate.
+       * doc/Makefile.in: Regenerate.
+
+2019-06-12  Peter Bergner  <bergner@linux.ibm.com>
+
+       * testsuite/gas/ppc/power9.d: Delete ldmx tests.
+       * testsuite/gas/ppc/power9.s: Likewise.
+
+2019-06-06  Lili Cui  <lili.cui@intel.com>
+
+       * config/tc-i386.c (cpu_arch): Add .enqcmd.
+       (cpu_noarch): Add noenqcmd.
+       * doc/c-i386.texi: Document noenqcmd.
+
+2019-06-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR binutils/24633
+       * testsuite/gas/i386/disassem.s: Add tests for invalid vector
+       lengths for EVEX vextractfXX and vinsertfXX.
+       * testsuite/gas/i386/x86-64-disassem.s: Likewise.
+       * testsuite/gas/i386/disassem.d: Updated.
+       * testsuite/gas/i386/x86-64-disassem.d: Likewise.
+
 2019-06-04  H.J. Lu  <hongjiu.lu@intel.com>
 
        PR binutils/24626
 2019-06-04  Xuepeng Guo  <xuepeng.guo@intel.com>
            Lili Cui  <lili.cui@intel.com>
 
-       * i386-dis.c (enum): Add MOD_0F38F8_PREFIX_1 and
-       MOD_0F38F8_PREFIX_3.
-       (prefix_table): New instructions (see prefix above).
-       (mod_table): New instructions (see prefix above).
-       * i386-gen.c (cpu_flag_init): Add entries for enqcmd.
-       (cpu_flags): Add a bitfield for enqmcd.
-       * i386-init.h: Regenerated.
-       * i386-opc.h (enum): Add CpuENQCMD.
-       (i386_cpu_flags): Add a bitfield for cpuenqcmd.
-       * i386-opc.tbl: Add enqcmd and enqcmds instructions.
-       * i386-init.h: Regenerated.
-       * i386-tbl.h: Regenerated.
+       * doc/c-i386.texi: Document enqcmd.
+       * testsuite/gas/i386/enqcmd-intel.d: New file.
+       * testsuite/gas/i386/enqcmd-inval.l: Likewise.
+       * testsuite/gas/i386/enqcmd-inval.s: Likewise.
+       * testsuite/gas/i386/enqcmd.d: Likewise.
+       * testsuite/gas/i386/enqcmd.s: Likewise.
+       * testsuite/gas/i386/x86-64-enqcmd-intel.d: Likewise.
+       * testsuite/gas/i386/x86-64-enqcmd-inval.l: Likewise.
+       * testsuite/gas/i386/x86-64-enqcmd-inval.s: Likewise.
+       * testsuite/gas/i386/x86-64-enqcmd.d: Likewise.
+       * testsuite/gas/i386/x86-64-enqcmd.s: Likewise.
+       * testsuite/gas/i386/i386.exp: Run enqcmd-intel, enqcmd-inval,
+       enqcmd, x86-64-enqcmd-intel, x86-64-enqcmd-inval,
+       and x86-64-enqcmd.
 
 2019-05-30  Jim Wilson  <jimw@sifive.com>
 
This page took 0.026227 seconds and 4 git commands to generate.