x86: convert SReg from bitfield to enumerator
[deliverable/binutils-gdb.git] / opcodes / ChangeLog
index d88aee324c2100681e469efce9e4668dc90217aa..6c4c3ff09c8905823438a3cdb1775bce1914fc34 100644 (file)
@@ -1,3 +1,233 @@
+2019-11-08  Jan Beulich  <jbeulich@suse.com>
+
+       * i386-gen.c (operand_type_init): Add Class= to
+       OPERAND_TYPE_SREG entry.
+       (operand_classes): Add SReg entry.
+       (operand_types): Drop SReg entry.
+       * i386-opc.h (enum operand_class): Add SReg.
+       (SReg): Delete.
+       (union i386_operand_type): Remove sreg field.
+       * i386-opc.tbl (SReg): Define.
+       * i386-reg.tbl: Replace SReg by Class=SReg.
+       * i386-init.h, i386-tbl.h: Re-generate.
+
+2019-11-08  Jan Beulich  <jbeulich@suse.com>
+
+       * i386-gen.c (operand_type_init): Add Class=. New
+       OPERAND_TYPE_ANYIMM entry.
+       (operand_classes): New.
+       (operand_types): Drop Reg entry.
+       (output_operand_type): New parameter "class". Process it.
+       (process_i386_operand_type): New local variable "class".
+       (main): Adjust static assertions.
+       * i386-opc.h (CLASS_WIDTH): Define.
+       (enum operand_class): New.
+       (Reg): Replace by Class. Adjust comment.
+       (union i386_operand_type): Replace reg by class.
+       * i386-opc.tbl (Reg8, Reg16, Reg32, Reg64, FloatReg): Add
+       Class=.
+       * i386-reg.tbl: Replace Reg by Class=Reg.
+       * i386-init.h: Re-generate.
+
+2019-11-07  Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * opcodes/aarch64-tbl.h (V8_6_INSN): New macro for v8.6 instructions.
+       (aarch64_opcode_table): Add data gathering hint mnemonic.
+       * opcodes/aarch64-dis-2.c: Account for new instruction.
+
+2019-11-07  Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * arm-dis.c (neon_opcodes): Add i8mm SIMD instructions.
+
+
+2019-11-07  Mihail Ionescu  <mihail.ionescu@arm.com>
+
+       * aarch64-tbl.h (aarch64_feature_i8mm_sve, aarch64_feature_f32mm_sve,
+       aarch64_feature_f64mm_sve, aarch64_feature_i8mm, aarch64_feature_f32mm,
+       aarch64_feature_f64mm): New feature sets.
+       (INT8MATMUL_INSN, F64MATMUL_SVE_INSN, F64MATMUL_INSN,
+       F32MATMUL_SVE_INSN, F32MATMUL_INSN): New macros to define matrix multiply
+       instructions.
+       (I8MM_SVE, F32MM_SVE, F64MM_SVE, I8MM, F32MM, F64MM): New feature set
+       macros.
+       (QL_MMLA64, OP_SVE_SBB): New qualifiers.
+       (OP_SVE_QQQ): New qualifier.
+       (INT8MATMUL_SVE_INSNC, F64MATMUL_SVE_INSNC,
+       F32MATMUL_SVE_INSNC): New feature set for bfloat16 instructions to support
+       the movprfx constraint.
+       (aarch64_opcode_table): Support for SVE_ADDR_RI_S4x32.
+       (aarch64_opcode_table): Define new instructions smmla,
+       ummla, usmmla, usdot, sudot, fmmla, ld1rob, ld1roh, ld1row, ld1rod,
+       uzip{1/2}, trn{1/2}.
+       * aarch64-opc.c (operand_general_constraint_met_p): Handle
+       AARCH64_OPND_SVE_ADDR_RI_S4x32.
+       (aarch64_print_operand): Handle AARCH64_OPND_SVE_ADDR_RI_S4x32.
+       * aarch64-dis-2.c (aarch64_opcode_lookup_1, aarch64_find_next_opcode):
+       Account for new instructions.
+       * opcodes/aarch64-asm-2.c (aarch64_insert_operand): Support the new
+       S4x32 operand.
+       * aarch64-opc-2.c (aarch64_operands): Support the new S4x32 operand.
+
+2019-11-07  Mihail Ionescu  <mihail.ionescu@arm.com>
+2019-11-07  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * arm-dis.c (select_arm_features): Update bfd_march_arm_8 with
+       Armv8.6-A.
+       (coprocessor_opcodes): Add bfloat16 vcvt{t,b}.
+       (neon_opcodes): Add bfloat SIMD instructions.
+       (print_insn_coprocessor): Add new control character %b to print
+       condition code without checking cp_num.
+       (print_insn_neon): Account for BFloat16 instructions that have no
+       special top-byte handling.
+
+2019-11-07  Mihail Ionescu  <mihail.ionescu@arm.com>
+2019-11-07  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * arm-dis.c (print_insn_coprocessor,
+       print_insn_generic_coprocessor): Create wrapper functions around
+       the implementation of the print_insn_coprocessor control codes.
+       (print_insn_coprocessor_1): Original print_insn_coprocessor
+       function that now takes which array to look at as an argument.
+       (print_insn_arm): Use both print_insn_coprocessor and
+       print_insn_generic_coprocessor.
+       (print_insn_thumb32): As above.
+
+2019-11-07  Mihail Ionescu  <mihail.ionescu@arm.com>
+2019-11-07  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * aarch64-asm.c (aarch64_ins_reglane): Use AARCH64_OPND_QLF_S_2H
+       in reglane special case.
+       * aarch64-dis-2.c (aarch64_opcode_lookup_1,
+       aarch64_find_next_opcode): Account for new instructions.
+       * aarch64-dis.c (aarch64_ext_reglane): Use AARCH64_OPND_QLF_S_2H
+       in reglane special case.
+       * aarch64-opc.c (struct operand_qualifier_data): Add data for
+       new AARCH64_OPND_QLF_S_2H qualifier.
+       * aarch64-tbl.h (QL_BFDOT QL_BFDOT64, QL_BFDOT64I, QL_BFMMLA2,
+       QL_BFCVT64, QL_BFCVTN64, QL_BFCVTN2_64): New qualifiers.
+       (aarch64_feature_bfloat16, aarch64_feature_bfloat16_sve): New feature
+       sets.
+       (BFLOAT_SVE, BFLOAT): New feature set macros.
+       (BFLOAT_SVE_INSN, BFLOAT_INSN): New macros to define BFloat16
+       instructions.
+       (aarch64_opcode_table): Define new instructions bfdot,
+       bfmmla, bfcvt, bfcvtnt, bfdot, bfdot, bfcvtn, bfmlal[b/t]
+       bfcvtn2, bfcvt.
+
+2019-11-07  Mihail Ionescu  <mihail.ionescu@arm.com>
+2019-11-07  Matthew Malcomson  <matthew.malcomson@arm.com>
+
+       * aarch64-tbl.h (ARMV8_6): New macro.
+
+2019-11-07  Jan Beulich  <jbeulich@suse.com>
+
+       * i386-dis.c (prefix_table): Add mcommit.
+       (rm_table): Add rdpru.
+       * i386-gen.c (cpu_flag_init): Adjust CPU_ZNVER2_FLAGS entry. Add
+       CPU_RDPRU_FLAGS and CPU_MCOMMIT_FLAGS entries.
+       (cpu_flags): Add CpuRDPRU and CpuMCOMMIT entries.
+       * i386-opc.h (CpuRDPRU, CpuMCOMMIT): New.
+       (union i386_cpu_flags): Add cpurdpru and cpumcommit fields.
+       * i386-opc.tbl (mcommit, rdpru): New.
+       * i386-init.h, i386-tbl.h: Re-generate.
+
+2019-11-07  Jan Beulich  <jbeulich@suse.com>
+
+       * i386-dis.c (OP_Mwait): Drop local variable "names", use
+       "names32" instead.
+       (OP_Monitor): Drop local variable "op1_names", re-purpose
+       "names" for it instead, and replace former "names" uses by
+       "names32" ones.
+
+2019-11-07  Jan Beulich  <jbeulich@suse.com>
+
+       PR/gas 25167
+       * opcodes/i386-opc.tbl (movsd, cmpsd): Drop IgnoreSize from
+       operand-less forms.
+       * opcodes/i386-tbl.h: Re-generate.
+
+2019-11-05  Jan Beulich  <jbeulich@suse.com>
+
+       * i386-dis.c (OP_Mwaitx): Delete.
+       (prefix_table): Use OP_Mwait for mwaitx entry.
+       (OP_Mwait): Also handle mwaitx.
+
+2019-11-05  Jan Beulich  <jbeulich@suse.com>
+
+       * i386-dis.c (PREFIX_0F01_REG_7_MOD_3_RM_2,
+       PREFIX_0F01_REG_7_MOD_3_RM_3): New.
+       (prefix_table): Add respective entries.
+       (rm_table): Link to those entries.
+
+2019-11-05  Jan Beulich  <jbeulich@suse.com>
+
+       * i386-dis.c (REG_0F1C_MOD_0): Rename to ...
+       (REG_0F1C_P_0_MOD_0): ... this.
+       (REG_0F1E_MOD_3): Rename to ...
+       (REG_0F1E_P_1_MOD_3): ... this.
+       (RM_0F01_REG_5): Rename to ...
+       (RM_0F01_REG_5_MOD_3): ... this.
+       (RM_0F01_REG_7): Rename to ...
+       (RM_0F01_REG_7_MOD_3): ... this.
+       (RM_0F1E_MOD_3_REG_7): Rename to ...
+       (RM_0F1E_P_1_MOD_3_REG_7): ... this.
+       (RM_0FAE_REG_6): Rename to ...
+       (RM_0FAE_REG_6_MOD_3_P_0): ... this.
+       (RM_0FAE_REG_7): Rename to ...
+       (RM_0FAE_REG_7_MOD_3): ... this.
+       (PREFIX_MOD_0_0F01_REG_5): Rename to ...
+       (PREFIX_0F01_REG_5_MOD_0): ... this.
+       (PREFIX_MOD_3_0F01_REG_5_RM_0): Rename to ...
+       (PREFIX_0F01_REG_5_MOD_3_RM_0): ... this.
+       (PREFIX_MOD_3_0F01_REG_5_RM_2): Rename to ...
+       (PREFIX_0F01_REG_5_MOD_3_RM_2): ... this.
+       (PREFIX_0FAE_REG_0): Rename to ...
+       (PREFIX_0FAE_REG_0_MOD_3): ... this.
+       (PREFIX_0FAE_REG_1): Rename to ...
+       (PREFIX_0FAE_REG_1_MOD_3): ... this.
+       (PREFIX_0FAE_REG_2): Rename to ...
+       (PREFIX_0FAE_REG_2_MOD_3): ... this.
+       (PREFIX_0FAE_REG_3): Rename to ...
+       (PREFIX_0FAE_REG_3_MOD_3): ... this.
+       (PREFIX_MOD_0_0FAE_REG_4): Rename to ...
+       (PREFIX_0FAE_REG_4_MOD_0): ... this.
+       (PREFIX_MOD_3_0FAE_REG_4): Rename to ...
+       (PREFIX_0FAE_REG_4_MOD_3): ... this.
+       (PREFIX_MOD_0_0FAE_REG_5): Rename to ...
+       (PREFIX_0FAE_REG_5_MOD_0): ... this.
+       (PREFIX_MOD_3_0FAE_REG_5): Rename to ...
+       (PREFIX_0FAE_REG_5_MOD_3): ... this.
+       (PREFIX_MOD_0_0FAE_REG_6): Rename to ...
+       (PREFIX_0FAE_REG_6_MOD_0): ... this.
+       (PREFIX_MOD_1_0FAE_REG_6): Rename to ...
+       (PREFIX_0FAE_REG_6_MOD_3): ... this.
+       (PREFIX_0FAE_REG_7): Rename to ...
+       (PREFIX_0FAE_REG_7_MOD_0): ... this.
+       (PREFIX_MOD_0_0FC3): Rename to ...
+       (PREFIX_0FC3_MOD_0): ... this.
+       (PREFIX_MOD_0_0FC7_REG_6): Rename to ...
+       (PREFIX_0FC7_REG_6_MOD_0): ... this.
+       (PREFIX_MOD_3_0FC7_REG_6): Rename to ...
+       (PREFIX_0FC7_REG_6_MOD_3): ... this.
+       (PREFIX_MOD_3_0FC7_REG_7): Rename to ...
+       (PREFIX_0FC7_REG_7_MOD_3): ... this.
+       (reg_table, prefix_table, mod_table, rm_table): Adjust
+       accordingly.
+
+2019-11-04  Nick Clifton  <nickc@redhat.com>
+
+       * v850-dis.c (get_v850_sreg_name): New function.  Returns the name
+       of a v850 system register.  Move the v850_sreg_names array into
+       this function.
+       (get_v850_reg_name): Likewise for ordinary register names.
+       (get_v850_vreg_name): Likewise for vector register names.
+       (get_v850_cc_name): Likewise for condition codes.
+       * get_v850_float_cc_name): Likewise for floating point condition
+       codes.
+       (get_v850_cacheop_name): Likewise for cache-ops.
+       (get_v850_prefop_name): Likewise for pref-ops.
+       (disassemble): Use the new accessor functions.
+
 2019-10-30  Delia Burduv   <delia.burduv@arm.com>
 
        * aarch64-opc.c (print_immediate_offset_address): Don't print the
This page took 0.042318 seconds and 4 git commands to generate.