+
+ * ppc-opc.c (powerpc_opcodes): Add vrlq, vdivuq, vmsumcud, vrlqmi,
+ vmuloud, vcmpuq, vslq, vdivsq, vcmpsq, vrlqnm, vcmpequq, vmulosd,
+ vsrq, vdiveuq, vcmpgtuq, vmuleud, vsraq, vdivesq, vcmpgtsq, vmulesd,
+ vcmpequq., vextsd2q, vmoduq, vcmpgtuq., vmodsq, vcmpgtsq., xscvqpuqz,
+ xscvuqqp, xscvqpsqz, xscvsqqp, dcffixqq, dctfixqq.
+
+
+ * ppc-opc.c (insert_xtp, extract_xtp): New functions.
+ (XTP, DQXP, DQXP_MASK): Define.
+ (powerpc_opcodes): Add lxvp, stxvp, lxvpx, stxvpx.
+ (prefix_opcodes): Add plxvp and pstxvp.
+
+
+ * ppc-opc.c (powerpc_opcodes): Add vdivuw, vdivud, vdivsw, vmulld,
+ vdivsd, vmulhuw, vdiveuw, vmulhud, vdiveud, vmulhsw, vdivesw,
+ vmulhsd, vdivesd, vmoduw, vmodud, vmodsw, vmodsd.
+
+
+ * ppc-opc.c (powerpc_opcodes) <brd, brh, brw>: New mnemonics.
+
+
+ * ppc-opc.c (insert_l1opt, extract_l1opt): New functions.
+ (L1OPT): Define.
+ (powerpc_opcodes) <paste.>: Add L operand for cpu POWER10.
+
+
+ * ppc-opc.c (powerpc_opcodes) <slbiag>: Add variant with L operand.
+
+
+ * ppc-dis.c (powerpc_init_dialect): Default to "power10".
+
+
+ * ppc-dis.c (ppc_opts): Add "power10" entry.
+ (print_insn_powerpc): Update for PPC_OPCODE_POWER10 renaming.
+ * ppc-opc.c (POWER10): Rename from POWERXX. Update all uses.
+
+
+ * po/fr.po: Updated French translation.
+
+
+ * aarch64-opc.h (enum aarch64_field_kind): Add FLD_imm16_2.
+ * aarch64-opc.c (fields): Add entry for FLD_imm16_2.
+ (operand_general_constraint_met_p): validate
+ AARCH64_OPND_UNDEFINED.
+ * aarch64-tbl.h (aarch64_opcode_table): Add udf instruction, entry
+ for FLD_imm16_2.
+ * aarch64-asm-2.c: Regenerated.
+ * aarch64-dis-2.c: Regenerated.
+ * aarch64-opc-2.c: Regenerated.
+
+
+ PR 22699
+ * sh-opc.h: Also use unsigned 8-bit immediate values for the LDRC
+ and SETRC insns.
+
+
+ * po/sv.po: Updated Swedish translation.
+
+
+ PR 22699
+ * sh-opc.h (IMM0_8): Replace with IMM0_8S and IMM0_8U. Use
+ IMM0_8S for arithmetic insns and IMM0_8U for logical insns.
+ * sh-dis.c (print_insn_sh): Change IMM0_8 case to IMM0_8S and add
+ IMM0_8U case.
+
+
+ PR 25848
+ * m68k-opc.c (m68k_opcodes): Allow pc-rel for second operand of
+ cmpi only on m68020up and cpu32.
+
+
+ * aarch64-asm.c (aarch64_ins_none): New.
+ * aarch64-asm.h (ins_none): New declaration.
+ * aarch64-dis.c (aarch64_ext_none): New.
+ * aarch64-dis.h (ext_none): New declaration.
+ * aarch64-opc.c (aarch64_print_operand): Update case for
+ AARCH64_OPND_BARRIER_PSB.
+ * aarch64-tbl.h (aarch64_opcode_table): Add tsb.
+ (AARCH64_OPERANDS): Update inserter/extracter for
+ AARCH64_OPND_BARRIER_PSB to use new dummy functions.
+ * aarch64-asm-2.c: Regenerated.
+ * aarch64-dis-2.c: Regenerated.
+ * aarch64-opc-2.c: Regenerated.
+
+
+ * aarch64-tbl.h (aarch64_feature_bti, BTI, BTI_INSN): Remove.
+ (aarch64_feature_ras, RAS): Likewise.
+ (aarch64_feature_stat_profile, STAT_PROFILE): Likewise.
+ (aarch64_opcode_table): Update bti, xpaclri, pacia1716, pacib1716,
+ autia1716, autib1716, esb, psb, dgh, paciaz, paciasp, pacibz, pacibsp,
+ autiaz, autiasp, autibz, autibsp to be CORE_INSN.
+ * aarch64-asm-2.c: Regenerated.
+ * aarch64-dis-2.c: Regenerated.
+ * aarch64-opc-2.c: Regenerated.
+
+
+ * arm-dis.c (neon_opcodes): Fix VDUP instruction masks.
+ (print_insn_neon): Support disassembly of conditional
+ instructions.
+
+
+ * bpf-desc.c: Regenerate.
+ * bpf-desc.h: Likewise.
+ * bpf-opc.c: Regenerate.
+ * bpf-opc.h: Likewise.
+
+
+ * i386-dis.c (enum): Add PREFIX_0F01_REG_5_MOD_3_RM_1,
+ (prefix_table): New instructions (see prefixes above).
+ (rm_table): Likewise
+ * i386-gen.c (cpu_flag_init): Add CPU_TSXLDTRK_FLAGS,
+ CPU_ANY_TSXLDTRK_FLAGS.
+ (cpu_flags): Add CpuTSXLDTRK.
+ * i386-opc.h (enum): Add CpuTSXLDTRK.
+ (i386_cpu_flags): Add cputsxldtrk.
+ * i386-opc.tbl: Add XSUSPLDTRK insns.
+ * i386-init.h: Regenerate.
+ * i386-tbl.h: Likewise.
+
+
+ * i386-dis.c (prefix_table): New instructions serialize.
+ * i386-gen.c (cpu_flag_init): Add CPU_SERIALIZE_FLAGS,
+ CPU_ANY_SERIALIZE_FLAGS.
+ (cpu_flags): Add CpuSERIALIZE.
+ * i386-opc.h (enum): Add CpuSERIALIZE.
+ (i386_cpu_flags): Add cpuserialize.
+ * i386-opc.tbl: Add SERIALIZE insns.
+ * i386-init.h: Regenerate.
+ * i386-tbl.h: Likewise.
+
+
+ * disassemble.h (opcodes_assert): Declare.
+ (OPCODES_ASSERT): Define.
+ * disassemble.c: Don't include assert.h. Include opintl.h.
+ (opcodes_assert): New function.
+ * h8300-dis.c (bfd_h8_disassemble_init): Use OPCODES_ASSERT.
+ (bfd_h8_disassemble): Reduce size of data array. Correctly
+ calculate maxlen. Omit insn decoding when insn length exceeds
+ maxlen. Exit from nibble loop when looking for E, before
+ accessing next data byte. Move processing of E outside loop.
+ Replace tests of maxlen in loop with assertions.
+
+
+ * arc-dis.c (find_format): Init needs_limm. Simplify use of limm.
+
+
+ * z80-dis.c (suffix): Init mybuf.
+
+
+ * h8300-dis.c (bfd_h8_disassemble): Limit data[] access to that
+ successflly read from section.
+
+
+ * arc-dis.c (find_format): Use ISO C string concatenation rather
+ than line continuation within a string. Don't access needs_limm
+ before testing opcode != NULL.
+
+
+ * ns32k-dis.c (print_insn_arg): Update comment.
+ (print_insn_ns32k): Reduce size of index_offset array, and
+ initialize, passing -1 to print_insn_arg for args that are not
+ an index. Don't exit arg loop early. Abort on bad arg number.
+
+
+ * s12z-dis.c (abstract_read_memory): Don't print error on EOI.
+ * s12z-opc.c: Formatting.
+ (operands_f): Return an int.
+ (opr_n_bytes_p1): Return -1 on reaching buffer memory limit.
+ (opr_n_bytes2, bfextins_n_bytes, mul_n_bytes, bm_n_bytes),
+ (shift_n_bytes, mov_imm_opr_n_bytes, loop_prim_n_bytes),
+ (exg_sex_discrim): Likewise.
+ (create_immediate_operand, create_bitfield_operand),
+ (create_register_operand_with_size, create_register_all_operand),
+ (create_register_all16_operand, create_simple_memory_operand),
+ (create_memory_operand, create_memory_auto_operand): Don't
+ segfault on malloc failure.
+ (z_ext24_decode): Return an int status, negative on fail, zero
+ on success.
+ (x_imm1, imm1_decode, trap_decode, z_opr_decode, z_opr_decode2),
+ (imm1234, reg_s_imm, reg_s_opr, z_imm1234_8base, z_imm1234_0base),
+ (z_tfr, z_reg, reg_xy, lea_reg_xys_opr, lea_reg_xys, rel_15_7),
+ (decode_rel_15_7, cmp_xy, sub_d6_x_y, sub_d6_y_x),
+ (ld_18bit_decode, mul_decode, bm_decode, bm_rel_decode),
+ (mov_imm_opr, ld_18bit_decode, exg_sex_decode),
+ (loop_primitive_decode, shift_decode, psh_pul_decode),
+ (bit_field_decode): Similarly.
+ (z_decode_signed_value, decode_signed_value): Similarly. Add arg
+ to return value, update callers.
+ (x_opr_decode_with_size): Check all reads, returning NULL on fail.
+ Don't segfault on NULL operand.
+ (decode_operation): Return OP_INVALID on first fail.
+ (decode_s12z): Check all reads, returning -1 on fail.
+
+
+ * metag-dis.c (print_insn_metag): Don't ignore status from
+ read_memory_func.
+
+
+ * nds32-dis.c (print_insn_nds32): Remove unnecessary casts.
+ Initialize parts of buffer not written when handling a possible
+ 2-byte insn at end of section. Don't attempt decoding of such
+ an insn by the 4-byte machinery.
+
+
+ * ppc-dis.c (print_insn_powerpc): Only clear needed bytes of
+ partially filled buffer. Prevent lookup of 4-byte insns when
+ only VLE 2-byte insns are possible due to section size. Print
+ ".word" rather than ".long" for 2-byte leftovers.
+
+
+ PR 25641
+ * z80-dis.c: Fix disassembling ED+A4/AC/B4/BC opcodes.
+
+
+ * i386-dis.c (X86_64_0D): Rename to ...
+ (X86_64_0E): ... this.
+
+
+ * Makefile.am ($(srcdir)/i386-init.h): Also pass -P to $(CPP).
+ * Makefile.in: Regenerated.
+
+
+ * i386-opc.tbl (avx_irel): New. Use is for AVX512 vpcmp*
+ 3-operand pseudos.
+ * i386-tbl.h: Re-generate.
+
+
+ * i386-opc.tbl (xop_elem, xop_irel, xop_sign): New. Use them for XOP vpcom*,
+ vprot*, vpsha*, and vpshl*.
+ * i386-tbl.h: Re-generate.
+
+
+ * i386-opc.tbl (avx_frel): New. Use it for AVX/AVX512 vcmpps,
+ vcmpss, vcmppd, and vcmpsd 3-operand pseudo-ops.
+ * i386-tbl.h: Re-generate.
+
+
+ * i386-gen.c (set_bitfield): Ignore zero-length field names.
+ * i386-opc.tbl (sse_frel): New. Use it for SSE/SSE2 cmpps,
+ cmpss, cmppd, and cmpsd 2-operand pseudo-ops.
+ * i386-tbl.h: Re-generate.
+
+
+ * i386-gen.c (struct template_arg, struct template_instance,
+ struct template_param, struct template, templates,
+ parse_template, expand_templates): New.
+ (process_i386_opcodes): Various local variables moved to
+ expand_templates. Call parse_template and expand_templates.
+ * i386-opc.tbl (cc): New. Use it for Jcc, SETcc, and CMOVcc.
+ * i386-tbl.h: Re-generate.
+
+
+ * i386-opc.tbl (vcvtdq2pd, vcvtps2pd, vcvtudq2pd, vcvtps2ph,
+ vcvtps2qq, vcvtps2uqq, vcvttps2qq, vcvttps2uqq): Fold separate
+ register and memory source templates. Replace VexW= by VexW*
+ where applicable.
+ * i386-tbl.h: Re-generate.
+
+
+ * i386-opc.tbl: Drop IgnoreSize from various SIMD insns. Replace
+ VexW= by VexW* and VexVVVV=1 by just VexVVVV where applicable.
+ * i386-tbl.h: Re-generate.
+
+
+ * i386-opc.tbl (fildll, fistpll, fisttpll): Add ATTSyntax.
+ * i386-tbl.h: Re-generate.
+
+
+ * i386-opc.tbl (movq): Drop NoRex64 from XMM/XMM SSE2AVX variants.
+ (movmskps, pextrw, pinsrw, pmovmskb, movmskpd, extractps,
+ pextrb, pinsrb, roundsd): Drop NoRex64 and where applicable use
+ VexW0 on SSE2AVX variants.
+ (vmovq): Drop NoRex64 from XMM/XMM variants.
+ (vextractps, vmovmskpd, vmovmskps, vpextrb, vpextrw, vpinsrb,
+ vpinsrw, vpmovmskb, vroundsd, vpmovmskb): Drop NoRex64 and where
+ applicable use VexW0.
+ * i386-tbl.h: Re-generate.
+
+
+ * i386-gen.c (opcode_modifiers): Remove Rex64 field.
+ * i386-opc.h (Rex64): Delete.
+ (struct i386_opcode_modifier): Remove rex64 field.
+ * i386-opc.tbl (crc32): Drop Rex64.
+ Replace Rex64 with Size64 everywhere else.
+ * i386-tbl.h: Re-generate.
+
+
+ * i386-dis.c (OP_E_memory): Exclude recording of used address
+ prefix for "bnd" modes only in 64-bit mode. Don't decode 16-bit
+ addressed memory operands for MPX insns.
+
+
+ * i386-opc.tbl (movmskps, mwait, vmread, vmwrite, invept,
+ invvpid, invpcid, rdfsbase, rdgsbase, wrfsbase, wrgsbase, adcx,
+ adox, mwaitx, rdpid, movdiri): Add IgnoreSize.
+ (ptwrite): Split into non-64-bit and 64-bit forms.
+ * i386-tbl.h: Re-generate.
+
+
+ * i386-opc.tbl (tpause, umwait): Add IgnoreSize. Add 3-operand
+ template.
+ * i386-tbl.h: Re-generate.
+
+
+ * i386-dis.c (PREFIX_0F01_REG_3_RM_1): New.
+ (prefix_table): Move vmmcall here. Add vmgexit.
+ (rm_table): Replace vmmcall entry by prefix_table[] escape.
+ * i386-gen.c (cpu_flag_init): Add CPU_SEV_ES_FLAGS entry.
+ (cpu_flags): Add CpuSEV_ES entry.
+ * i386-opc.h (CpuSEV_ES): New.
+ (union i386_cpu_flags): Add cpusev_es field.
+ * i386-opc.tbl (vmgexit): New.
+ * i386-init.h, i386-tbl.h: Re-generate.
+
+
+ * i386-gen.c (opcode_modifiers): Replace IgnoreSize/DefaultSize
+ with MnemonicSize.
+ * i386-opc.h (IGNORESIZE): New.
+ (DEFAULTSIZE): Likewise.
+ (IgnoreSize): Removed.
+ (DefaultSize): Likewise.
+ (MnemonicSize): New.
+ (i386_opcode_modifier): Replace ignoresize/defaultsize with
+ mnemonicsize.
+ * i386-opc.tbl (IgnoreSize): New.
+ (DefaultSize): Likewise.
+ * i386-tbl.h: Regenerated.
+
+
+ PR 25627
+ * z80-dis.c: Fix disassembly of LD IY,(HL) and D (HL),IX
+ instructions.
+
+
+ PR gas/25622
+ * i386-opc.tbl: Add IgnoreSize to cvtsi2sd, cvtsi2ss, vcvtsi2sd,
+ vcvtsi2ss, vcvtusi2sd and vcvtusi2ss for AT&T syntax.
+ * i386-tbl.h: Regenerated.
+
+
+ * aarch64-asm.c: Indent labels correctly.
+ * aarch64-dis.c: Likewise.
+ * aarch64-gen.c: Likewise.
+ * aarch64-opc.c: Likewise.
+ * alpha-dis.c: Likewise.
+ * i386-dis.c: Likewise.
+ * nds32-asm.c: Likewise.
+ * nfp-dis.c: Likewise.
+ * visium-dis.c: Likewise.
+
+
+ * arc-regs.h (int_vector_base): Make it available for all ARC
+ CPUs.
+
+
+ * riscv-dis.c (print_insn_args): Updated since the DECLARE_CSR is
+ changed.
+
+
+ * riscv-opc.c (riscv_opcodes): Convert add/addi to the compressed
+ c.mv/c.li if rs1 is zero.
+
+
+ * i386-gen.c (cpu_flag_init): Replace CpuABM with
+ CpuLZCNT|CpuPOPCNT. Add CpuPOPCNT to CPU_SSE4_2_FLAGS. Add
+ CPU_POPCNT_FLAGS.
+ (cpu_flags): Remove CpuABM. Add CpuPOPCNT.
+ * i386-opc.h (CpuABM): Removed.
+ (CpuPOPCNT): New.
+ (i386_cpu_flags): Remove cpuabm. Add cpupopcnt.
+ * i386-opc.tbl: Replace CpuABM|CpuSSE4_2 with CpuPOPCNT on
+ popcnt. Remove CpuABM from lzcnt.
+ * i386-init.h: Regenerated.
+ * i386-tbl.h: Likewise.
+
+
+ * i386-opc.tbl (vcvtsi2sd, vcvtsi2ss, vcvtusi2sd, vcvtusi2ss):
+ Fold CpuNo64 and Cpu64 templates. Use VexLIG/EVexLIG and VexW0/
+ VexW1 instead of open-coding them.
+ * i386-tbl.h: Re-generate.
+
+
+ * i386-opc.tbl (AddrPrefixOpReg): Define.
+ (monitor, invlpga, vmload, vmrun, vmsave, clzero, monitorx,
+ umonitor, movdir64b, enqcmd, enqcmds): Fold Cpu64 and CpuNo64
+ templates. Drop NoRex64.
+ * i386-tbl.h: Re-generate.
+
PR gas/6518