diff options
123 files changed, 9426 insertions, 3591 deletions
diff --git a/bfd/elf32-mips.c b/bfd/elf32-mips.c index 6fe93a8..5871fb7 100644 --- a/bfd/elf32-mips.c +++ b/bfd/elf32-mips.c @@ -618,7 +618,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_hi16_reloc, /* special_function */ "R_MIPS_TLS_DTPREL_HI16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -633,7 +633,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_lo16_reloc, /* special_function */ "R_MIPS_TLS_DTPREL_LO16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -680,7 +680,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_hi16_reloc, /* special_function */ "R_MIPS_TLS_TPREL_HI16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -695,7 +695,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_lo16_reloc, /* special_function */ "R_MIPS_TLS_TPREL_LO16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -789,7 +789,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = true, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_hi16_reloc, /* special_function */ "R_MIPS_PCHI16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -803,7 +803,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = true, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_lo16_reloc, /* special_function */ "R_MIPS_PCLO16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -961,7 +961,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_hi16_reloc, /* special_function */ "R_MIPS16_TLS_DTPREL_HI16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -976,7 +976,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_lo16_reloc, /* special_function */ "R_MIPS16_TLS_DTPREL_LO16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -1006,7 +1006,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_hi16_reloc, /* special_function */ "R_MIPS16_TLS_TPREL_HI16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -1021,7 +1021,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_lo16_reloc, /* special_function */ "R_MIPS16_TLS_TPREL_LO16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -1444,7 +1444,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_hi16_reloc, /* special_function */ "R_MICROMIPS_TLS_DTPREL_HI16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -1459,7 +1459,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_lo16_reloc, /* special_function */ "R_MICROMIPS_TLS_DTPREL_LO16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -1492,7 +1492,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_hi16_reloc, /* special_function */ "R_MICROMIPS_TLS_TPREL_HI16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -1507,7 +1507,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_lo16_reloc, /* special_function */ "R_MICROMIPS_TLS_TPREL_LO16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ diff --git a/bfd/elf64-mips.c b/bfd/elf64-mips.c index 5b55210..f031dfd 100644 --- a/bfd/elf64-mips.c +++ b/bfd/elf64-mips.c @@ -697,7 +697,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_hi16_reloc, /* special_function */ "R_MIPS_TLS_DTPREL_HI16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -712,7 +712,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_lo16_reloc, /* special_function */ "R_MIPS_TLS_DTPREL_LO16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -759,7 +759,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_hi16_reloc, /* special_function */ "R_MIPS_TLS_TPREL_HI16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -774,7 +774,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_lo16_reloc, /* special_function */ "R_MIPS_TLS_TPREL_LO16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -868,7 +868,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = true, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_hi16_reloc, /* special_function */ "R_MIPS_PCHI16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -882,7 +882,7 @@ static reloc_howto_type mips_elf64_howto_table_rel[] = true, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_lo16_reloc, /* special_function */ "R_MIPS_PCLO16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -1805,7 +1805,7 @@ static reloc_howto_type mips16_elf64_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_hi16_reloc, /* special_function */ "R_MIPS16_TLS_DTPREL_HI16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -1820,7 +1820,7 @@ static reloc_howto_type mips16_elf64_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_lo16_reloc, /* special_function */ "R_MIPS16_TLS_DTPREL_LO16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -1850,7 +1850,7 @@ static reloc_howto_type mips16_elf64_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_hi16_reloc, /* special_function */ "R_MIPS16_TLS_TPREL_HI16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -1865,7 +1865,7 @@ static reloc_howto_type mips16_elf64_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_lo16_reloc, /* special_function */ "R_MIPS16_TLS_TPREL_LO16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -2481,7 +2481,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_hi16_reloc, /* special_function */ "R_MICROMIPS_TLS_DTPREL_HI16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -2496,7 +2496,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_lo16_reloc, /* special_function */ "R_MICROMIPS_TLS_DTPREL_LO16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -2529,7 +2529,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_hi16_reloc, /* special_function */ "R_MICROMIPS_TLS_TPREL_HI16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -2544,7 +2544,7 @@ static reloc_howto_type micromips_elf64_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_lo16_reloc, /* special_function */ "R_MICROMIPS_TLS_TPREL_LO16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c index e758d08..d801848 100644 --- a/bfd/elf64-s390.c +++ b/bfd/elf64-s390.c @@ -27,6 +27,8 @@ #include "elf/s390.h" #include "elf-s390.h" #include "dwarf2.h" +#include "sframe.h" +#include "sframe-api.h" #include <stdarg.h> /* In case we're on a 32-bit machine, construct a 64-bit "-1" value @@ -594,6 +596,49 @@ static const bfd_byte elf_s390x_eh_frame_plt[] = DW_CFA_nop, DW_CFA_nop, DW_CFA_nop }; +/* .sframe covering the .plt section. */ + +/* This must be the same as sframe_get_hdr_size (sfh). For s390x, this value + is the same as sizeof (sframe_header) because there is no SFrame auxilliary + header. */ +#define PLT_SFRAME_FDE_START_OFFSET sizeof (sframe_header) + +#define SFRAME_PLT0_MAX_NUM_FRES 1 +#define SFRAME_PLTN_MAX_NUM_FRES 1 + +struct elf_s390x_sframe_plt +{ + unsigned int plt0_entry_size; + unsigned int plt0_num_fres; + const sframe_frame_row_entry *plt0_fres[SFRAME_PLT0_MAX_NUM_FRES]; + + unsigned int pltn_entry_size; + unsigned int pltn_num_fres; + const sframe_frame_row_entry *pltn_fres[SFRAME_PLTN_MAX_NUM_FRES]; +}; + +/* .sframe FRE covering the PLT0/PLTn .plt section entry. */ +static const sframe_frame_row_entry elf_s390x_sframe_plt_fre = +{ + 0, /* SFrame FRE start address. */ + { SFRAME_V2_S390X_CFA_OFFSET_ENCODE (160), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* Offset bytes. */ + SFRAME_V1_FRE_INFO (SFRAME_BASE_REG_SP, 1, SFRAME_FRE_OFFSET_1B) /* FRE info. */ +}; + +/* SFrame helper object for PLT. */ +static const struct elf_s390x_sframe_plt elf_s390x_sframe_plt = +{ + PLT_FIRST_ENTRY_SIZE, + 1, /* Number of FREs for PLT0. */ + /* Array of SFrame FREs for PLT0. */ + { &elf_s390x_sframe_plt_fre }, + + PLT_ENTRY_SIZE, + 1, /* Number of FREs for PLTn. */ + /* Array of SFrame FREs for PLTn. */ + { &elf_s390x_sframe_plt_fre }, +}; + /* s390 ELF linker hash entry. */ @@ -688,6 +733,11 @@ struct elf_s390_link_hash_table asection *irelifunc; asection *plt_eh_frame; + sframe_encoder_ctx *plt_cfe_ctx; + asection *plt_sframe; + /* The .sframe helper object for .plt section. */ + const struct elf_s390x_sframe_plt *sframe_plt; + union { bfd_signed_vma refcount; bfd_vma offset; @@ -1513,6 +1563,137 @@ elf_s390_adjust_dynamic_symbol (struct bfd_link_info *info, return _bfd_elf_adjust_dynamic_copy (info, h, s); } +/* Create SFrame stack trace info for the PLT entries in the .plt section. */ + +static bool +_bfd_s390_elf_create_sframe_plt (struct bfd_link_info *info) +{ + struct elf_s390_link_hash_table *htab; + + unsigned int plt0_entry_size; + unsigned char func_info; + uint32_t fre_type; + /* The dynamic plt section for which .sframe stack trace information is being + created. */ + asection *dpltsec; + + int err = 0; + + sframe_encoder_ctx **ectx = NULL; + unsigned plt_entry_size = 0; + unsigned int num_pltn_fres = 0; + unsigned int num_pltn_entries = 0; + const sframe_frame_row_entry * const *pltn_fres; + + htab = elf_s390_hash_table (info); + ectx = &htab->plt_cfe_ctx; + dpltsec = htab->elf.splt; + + plt0_entry_size = htab->sframe_plt->plt0_entry_size; + plt_entry_size = htab->sframe_plt->pltn_entry_size; + pltn_fres = htab->sframe_plt->pltn_fres; + num_pltn_fres = htab->sframe_plt->pltn_num_fres; + num_pltn_entries = (dpltsec->size - plt0_entry_size) / plt_entry_size; + + *ectx = sframe_encode (SFRAME_VERSION_2, + SFRAME_F_FDE_FUNC_START_PCREL, + SFRAME_ABI_S390X_ENDIAN_BIG, + SFRAME_CFA_FIXED_FP_INVALID, + SFRAME_CFA_FIXED_RA_INVALID, + &err); + + /* FRE type is dependent on the size of the function. */ + fre_type = sframe_calc_fre_type (dpltsec->size); + func_info = sframe_fde_create_func_info (fre_type, SFRAME_FDE_TYPE_PCINC); + + /* Add SFrame FDE and the associated FREs for PLT0 if PLT0 has been + generated. */ + if (plt0_entry_size) + { + /* Add SFrame FDE for PLT0, the function start address is updated later + at _bfd_elf_merge_section_sframe time. */ + sframe_encoder_add_funcdesc_v2 (*ectx, + 0, /* func start addr. */ + plt0_entry_size, + func_info, + 0, /* Rep block size. */ + 0 /* Num FREs. */); + sframe_frame_row_entry plt0_fre; + unsigned int num_plt0_fres = htab->sframe_plt->plt0_num_fres; + for (unsigned int j = 0; j < num_plt0_fres; j++) + { + plt0_fre = *(htab->sframe_plt->plt0_fres[j]); + sframe_encoder_add_fre (*ectx, 0, &plt0_fre); + } + } + + if (num_pltn_entries) + { + /* PLTn entries use an SFrame FDE of type + SFRAME_FDE_TYPE_PCMASK to exploit the repetitive + pattern of the instructions in these entries. Using this SFrame FDE + type helps in keeping the SFrame stack trace info for PLTn entries + compact. */ + func_info = sframe_fde_create_func_info (fre_type, + SFRAME_FDE_TYPE_PCMASK); + /* Add the SFrame FDE for all PCs starting at the first PLTn entry (hence, + function start address = plt0_entry_size. As usual, this will be + updated later at _bfd_elf_merge_section_sframe, by when the + sections are relocated. */ + sframe_encoder_add_funcdesc_v2 (*ectx, + plt0_entry_size, /* func start addr. */ + dpltsec->size - plt0_entry_size, + func_info, + plt_entry_size, + 0 /* Num FREs. */); + + sframe_frame_row_entry pltn_fre; + /* Now add the FREs for PLTn. Simply adding the FREs suffices due + to the usage of SFRAME_FDE_TYPE_PCMASK above. */ + for (unsigned int j = 0; j < num_pltn_fres; j++) + { + unsigned int func_idx = plt0_entry_size ? 1 : 0; + pltn_fre = *(pltn_fres[j]); + sframe_encoder_add_fre (*ectx, func_idx, &pltn_fre); + } + } + + return true; +} + +/* Write contents of the .sframe section. */ + +static bool +_bfd_s390_elf_write_sframe_plt (struct bfd_link_info *info) +{ + struct elf_s390_link_hash_table *htab; + sframe_encoder_ctx *ectx; + size_t sec_size; + asection *sec; + bfd *dynobj; + + int err = 0; + + htab = elf_s390_hash_table (info); + dynobj = htab->elf.dynobj; + + ectx = htab->plt_cfe_ctx; + sec = htab->plt_sframe; + + BFD_ASSERT (ectx); + + void *contents = sframe_encoder_write (ectx, &sec_size, &err); + + sec->size = (bfd_size_type) sec_size; + sec->contents = (unsigned char *) bfd_zalloc (dynobj, sec->size); + sec->alloced = 1; + memcpy (sec->contents, contents, sec_size); + + sframe_encoder_free (&ectx); + + return true; +} + /* Allocate space in .plt, .got and associated reloc sections for dynamic relocs. */ @@ -1892,6 +2073,25 @@ elf_s390_late_size_sections (bfd *output_bfd ATTRIBUTE_UNUSED, htab->plt_eh_frame->size = sizeof (elf_s390x_eh_frame_plt); } + /* No need to size the .sframe section explicitly because the write-out + mechanism is different. Simply prep up the FDE/FRE for the + .plt section. */ + if (_bfd_elf_sframe_present (info)) + { + if (htab->plt_sframe != NULL + && htab->elf.splt != NULL + && htab->elf.splt->size != 0 + && !bfd_is_abs_section (htab->elf.splt->output_section)) + { + _bfd_s390_elf_create_sframe_plt (info); + /* FIXME - Dirty Hack. Set the size to something non-zero for now, + so that the section does not get stripped out below. The precise + size of this section is known only when the contents are + serialized in _bfd_s390x_elf_write_sframe_plt. */ + htab->plt_sframe->size = sizeof (sframe_header) + 1; + } + } + /* We now have determined the sizes of the various dynamic sections. Allocate memory for them. */ relocs = false; @@ -1904,6 +2104,7 @@ elf_s390_late_size_sections (bfd *output_bfd ATTRIBUTE_UNUSED, || s == htab->elf.sgot || s == htab->elf.sgotplt || s == htab->plt_eh_frame + || s == htab->plt_sframe || s == htab->elf.sdynbss || s == htab->elf.sdynrelro || s == htab->elf.iplt @@ -1960,6 +2161,11 @@ elf_s390_late_size_sections (bfd *output_bfd ATTRIBUTE_UNUSED, if ((s->flags & SEC_HAS_CONTENTS) == 0) continue; + /* Skip allocating contents for .sframe section as it is written + out differently. See below. */ + if (s == htab->plt_sframe) + continue; + /* Allocate memory for the section contents. We use bfd_zalloc here in case unused entries are not reclaimed before the section's contents are written out. This should not happen, @@ -1981,6 +2187,15 @@ elf_s390_late_size_sections (bfd *output_bfd ATTRIBUTE_UNUSED, htab->plt_eh_frame->contents + PLT_FDE_LEN_OFFSET); } + if (_bfd_elf_sframe_present (info)) + { + if (htab->plt_sframe != NULL + && htab->elf.splt != NULL + && htab->elf.splt->size != 0 + && htab->plt_sframe->contents == NULL) + _bfd_s390_elf_write_sframe_plt (info); + } + return _bfd_elf_add_dynamic_tags (output_bfd, info, relocs); } @@ -3781,6 +3996,34 @@ elf_s390_finish_dynamic_sections (bfd *output_bfd, } } + /* Make any adjustment if necessary and merge .sframe section to + create the final .sframe section for output_bfd. */ + if (htab->plt_sframe != NULL + && htab->plt_sframe->contents != NULL) + { + if (htab->elf.splt != NULL + && htab->elf.splt->size != 0 + && (htab->elf.splt->flags & SEC_EXCLUDE) == 0 + && htab->elf.splt->output_section != NULL + && htab->plt_sframe->output_section != NULL) + { + bfd_vma plt_start = htab->elf.splt->output_section->vma; + bfd_vma sframe_start = htab->plt_sframe->output_section->vma + + htab->plt_sframe->output_offset + + PLT_SFRAME_FDE_START_OFFSET; + bfd_put_signed_32 (dynobj, plt_start - sframe_start, + htab->plt_sframe->contents + + PLT_SFRAME_FDE_START_OFFSET); + } + if (htab->plt_sframe->sec_info_type == SEC_INFO_TYPE_SFRAME) + { + if (! _bfd_elf_merge_section_sframe (output_bfd, info, + htab->plt_sframe, + htab->plt_sframe->contents)) + return false; + } + } + return true; } @@ -4021,6 +4264,8 @@ elf_s390_create_dynamic_sections (bfd *dynobj, if (htab == NULL) return false; + htab->sframe_plt = &elf_s390x_sframe_plt; + if (htab->elf.splt != NULL) { /* Create .eh_frame section for .plt section. */ @@ -4041,6 +4286,20 @@ elf_s390_create_dynamic_sections (bfd *dynobj, return false; } } + + /* Create .sframe section for .plt section. */ + if (!info->no_ld_generated_unwind_info) + { + flagword flags = (SEC_ALLOC | SEC_LOAD | SEC_READONLY + | SEC_HAS_CONTENTS | SEC_IN_MEMORY + | SEC_LINKER_CREATED); + + htab->plt_sframe = bfd_make_section_anyway_with_flags (dynobj, + ".sframe", + flags); + if (htab->plt_sframe == NULL) + return false; + } } return true; diff --git a/bfd/elfn32-mips.c b/bfd/elfn32-mips.c index e457bfc..07e222c 100644 --- a/bfd/elfn32-mips.c +++ b/bfd/elfn32-mips.c @@ -676,7 +676,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_hi16_reloc, /* special_function */ "R_MIPS_TLS_DTPREL_HI16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -691,7 +691,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_lo16_reloc, /* special_function */ "R_MIPS_TLS_DTPREL_LO16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -738,7 +738,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_hi16_reloc, /* special_function */ "R_MIPS_TLS_TPREL_HI16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -753,7 +753,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_lo16_reloc, /* special_function */ "R_MIPS_TLS_TPREL_LO16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -847,7 +847,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = true, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_hi16_reloc, /* special_function */ "R_MIPS_PCHI16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -861,7 +861,7 @@ static reloc_howto_type elf_mips_howto_table_rel[] = true, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_lo16_reloc, /* special_function */ "R_MIPS_PCLO16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -1785,7 +1785,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_hi16_reloc, /* special_function */ "R_MIPS16_TLS_DTPREL_HI16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -1800,7 +1800,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_lo16_reloc, /* special_function */ "R_MIPS16_TLS_DTPREL_LO16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -1830,7 +1830,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_hi16_reloc, /* special_function */ "R_MIPS16_TLS_TPREL_HI16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -1845,7 +1845,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_lo16_reloc, /* special_function */ "R_MIPS16_TLS_TPREL_LO16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -2461,7 +2461,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_hi16_reloc, /* special_function */ "R_MICROMIPS_TLS_DTPREL_HI16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -2476,7 +2476,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_lo16_reloc, /* special_function */ "R_MICROMIPS_TLS_DTPREL_LO16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -2509,7 +2509,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_signed, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_hi16_reloc, /* special_function */ "R_MICROMIPS_TLS_TPREL_HI16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ @@ -2524,7 +2524,7 @@ static reloc_howto_type elf_micromips_howto_table_rel[] = false, /* pc_relative */ 0, /* bitpos */ complain_overflow_dont, /* complain_on_overflow */ - _bfd_mips_elf_generic_reloc, /* special_function */ + _bfd_mips_elf_lo16_reloc, /* special_function */ "R_MICROMIPS_TLS_TPREL_LO16", /* name */ true, /* partial_inplace */ 0x0000ffff, /* src_mask */ diff --git a/bfd/elfnn-loongarch.c b/bfd/elfnn-loongarch.c index c75f520..46fafb3 100644 --- a/bfd/elfnn-loongarch.c +++ b/bfd/elfnn-loongarch.c @@ -5374,22 +5374,17 @@ loongarch_relax_pcala_addi (bfd *abfd, asection *sec, asection *sym_sec, symval = sec_addr (sec) + loongarch_calc_relaxed_addr (info, symval - sec_addr (sec)); - /* If pc and symbol not in the same segment, add/sub segment alignment if the - section has not undergone alignment processing because distances may grow - after alignment. */ - if (!loongarch_sec_closed_for_deletion (sec)) - { - if (!loongarch_two_sections_in_same_segment (info->output_bfd, - sec->output_section, - sym_sec->output_section)) - max_alignment = info->maxpagesize > max_alignment ? info->maxpagesize - : max_alignment; - - if (symval > pc) - pc -= (max_alignment > 4 ? max_alignment : 0); - else if (symval < pc) - pc += (max_alignment > 4 ? max_alignment : 0); - } + /* If pc and symbol not in the same segment, add/sub segment alignment. */ + if (!loongarch_two_sections_in_same_segment (info->output_bfd, + sec->output_section, + sym_sec->output_section)) + max_alignment = info->maxpagesize > max_alignment ? info->maxpagesize + : max_alignment; + + if (symval > pc) + pc -= (max_alignment > 4 ? max_alignment : 0); + else if (symval < pc) + pc += (max_alignment > 4 ? max_alignment : 0); const uint32_t pcaddi = LARCH_OP_PCADDI; @@ -5444,22 +5439,17 @@ loongarch_relax_call36 (bfd *abfd, asection *sec, asection *sym_sec, symval = sec_addr (sec) + loongarch_calc_relaxed_addr (info, symval - sec_addr (sec)); - /* If pc and symbol not in the same segment, add/sub segment alignment if the - section has not undergone alignment processing because distances may grow - after alignment. */ - if (!loongarch_sec_closed_for_deletion (sec)) - { - if (!loongarch_two_sections_in_same_segment (info->output_bfd, - sec->output_section, - sym_sec->output_section)) - max_alignment = info->maxpagesize > max_alignment ? info->maxpagesize - : max_alignment; - - if (symval > pc) - pc -= (max_alignment > 4 ? max_alignment : 0); - else if (symval < pc) - pc += (max_alignment > 4 ? max_alignment : 0); - } + /* If pc and symbol not in the same segment, add/sub segment alignment. */ + if (!loongarch_two_sections_in_same_segment (info->output_bfd, + sec->output_section, + sym_sec->output_section)) + max_alignment = info->maxpagesize > max_alignment ? info->maxpagesize + : max_alignment; + + if (symval > pc) + pc -= (max_alignment > 4 ? max_alignment : 0); + else if (symval < pc) + pc += (max_alignment > 4 ? max_alignment : 0); /* Is pcalau12i + addi.d insns? */ if (!LARCH_INSN_JIRL (jirl) @@ -5513,22 +5503,17 @@ loongarch_relax_pcala_ld (bfd *abfd, asection *sec, symval = sec_addr (sec) + loongarch_calc_relaxed_addr (info, symval - sec_addr (sec)); - /* If pc and symbol not in the same segment, add/sub segment alignment if the - section has not undergone alignment processing because distances may grow - after alignment. */ - if (!loongarch_sec_closed_for_deletion (sec)) - { - if (!loongarch_two_sections_in_same_segment (info->output_bfd, - sec->output_section, - sym_sec->output_section)) - max_alignment = info->maxpagesize > max_alignment ? info->maxpagesize - : max_alignment; - - if (symval > pc) - pc -= (max_alignment > 4 ? max_alignment : 0); - else if (symval < pc) - pc += (max_alignment > 4 ? max_alignment : 0); - } + /* If pc and symbol not in the same segment, add/sub segment alignment. */ + if (!loongarch_two_sections_in_same_segment (info->output_bfd, + sec->output_section, + sym_sec->output_section)) + max_alignment = info->maxpagesize > max_alignment ? info->maxpagesize + : max_alignment; + + if (symval > pc) + pc -= (max_alignment > 4 ? max_alignment : 0); + else if (symval < pc) + pc += (max_alignment > 4 ? max_alignment : 0); if ((ELFNN_R_TYPE (rel_lo->r_info) != R_LARCH_GOT_PC_LO12) || (LARCH_GET_RD (ld) != rd) @@ -5651,22 +5636,17 @@ loongarch_relax_tls_ld_gd_desc (bfd *abfd, asection *sec, asection *sym_sec, symval = sec_addr (sec) + loongarch_calc_relaxed_addr (info, symval - sec_addr (sec)); - /* If pc and symbol not in the same segment, add/sub segment alignment if the - section has not undergone alignment processing because distances may grow - after alignment. */ - if (!loongarch_sec_closed_for_deletion (sec)) - { - if (!loongarch_two_sections_in_same_segment (info->output_bfd, - sec->output_section, - sym_sec->output_section)) - max_alignment = info->maxpagesize > max_alignment ? info->maxpagesize - : max_alignment; - - if (symval > pc) - pc -= (max_alignment > 4 ? max_alignment : 0); - else if (symval < pc) - pc += (max_alignment > 4 ? max_alignment : 0); - } + /* If pc and symbol not in the same segment, add/sub segment alignment. */ + if (!loongarch_two_sections_in_same_segment (info->output_bfd, + sec->output_section, + sym_sec->output_section)) + max_alignment = info->maxpagesize > max_alignment ? info->maxpagesize + : max_alignment; + + if (symval > pc) + pc -= (max_alignment > 4 ? max_alignment : 0); + else if (symval < pc) + pc += (max_alignment > 4 ? max_alignment : 0); const uint32_t pcaddi = LARCH_OP_PCADDI; diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index 530e8d6..3c38f51 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -2294,6 +2294,17 @@ lo16_reloc_p (int r_type) } static inline bool +tls_hi16_reloc_p (int r_type) +{ + return (r_type == R_MIPS_TLS_DTPREL_HI16 + || r_type == R_MIPS_TLS_TPREL_HI16 + || r_type == R_MIPS16_TLS_DTPREL_HI16 + || r_type == R_MIPS16_TLS_TPREL_HI16 + || r_type == R_MICROMIPS_TLS_DTPREL_HI16 + || r_type == R_MICROMIPS_TLS_TPREL_HI16); +} + +static inline bool mips16_call_reloc_p (int r_type) { return r_type == R_MIPS16_26 || r_type == R_MIPS16_CALL16; @@ -2600,20 +2611,22 @@ _bfd_mips_elf_lo16_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol, extended. For example, an addend of 0x38000 would have 0x0004 in the high part and 0x8000 (=0xff..f8000) in the low part. To extract the actual addend, calculate - ((hi & 0xffff) << 16) + ((lo & 0xffff) ^ 0x8000) - 0x8000. - We will be applying (symbol + addend) & 0xffff to the low insn, - and we want to apply (symbol + addend + 0x8000) >> 16 to the - high insn (the +0x8000 adjusting for when the applied low part is - negative). */ - vallo = ((bfd_get_32 (abfd, location) & 0xffff) ^ 0x8000) - 0x8000; + ((hi & 0xffff) << 16) + ((lo & 0xffff) ^ 0x8000) - 0x8000. */ + vallo = _bfd_mips_elf_sign_extend (bfd_get_32 (abfd, location) & 0xffff, 16); _bfd_mips_elf_reloc_shuffle (abfd, reloc_entry->howto->type, false, location); + /* Add in the separate addend, if any. Since we are REL here this + will have been set and the in-place addend cleared if we have + been called from GAS via `bfd_install_relocation'. */ + vallo += reloc_entry->addend; tdata = mips_elf_tdata (abfd); while (tdata->mips_hi16_list != NULL) { bfd_reloc_status_type ret; struct mips_hi16 *hi; + bfd_vma addhi; + bfd_vma addlo; hi = tdata->mips_hi16_list; @@ -2629,7 +2642,19 @@ _bfd_mips_elf_lo16_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol, else if (hi->rel.howto->type == R_MICROMIPS_GOT16) hi->rel.howto = MIPS_ELF_RTYPE_TO_HOWTO (abfd, R_MICROMIPS_HI16, false); - hi->rel.addend += vallo; + /* We will be applying (symbol + addend) & 0xffff to the low insn, + and we want to apply (symbol + addend + 0x8000) >> 16 to the + high insn (the +0x8000 adjusting for when the applied low part is + negative). */ + addhi = (hi->rel.addend + 0x8000) & ~(bfd_vma) 0xffff; + addlo = vallo; + + /* For a PC-relative relocation the PCLO16 part of the addend + is relative to its PC and not ours, so we need to adjust it. */ + if (hi->rel.howto->type == R_MIPS_PCHI16) + addlo -= reloc_entry->address - hi->rel.address; + + hi->rel.addend = addhi + _bfd_mips_elf_sign_extend (addlo & 0xffff, 16); ret = _bfd_mips_elf_generic_reloc (abfd, &hi->rel, symbol, hi->data, hi->input_section, output_bfd, @@ -8298,14 +8323,44 @@ mips_elf_add_lo16_rel_addend (bfd *abfd, bfd_vma l; r_type = ELF_R_TYPE (abfd, rel->r_info); - if (mips16_reloc_p (r_type)) - lo16_type = R_MIPS16_LO16; - else if (micromips_reloc_p (r_type)) - lo16_type = R_MICROMIPS_LO16; - else if (r_type == R_MIPS_PCHI16) - lo16_type = R_MIPS_PCLO16; - else - lo16_type = R_MIPS_LO16; + switch (r_type) + { + case R_MIPS_HI16: + case R_MIPS_GOT16: + lo16_type = R_MIPS_LO16; + break; + case R_MIPS_PCHI16: + lo16_type = R_MIPS_PCLO16; + break; + case R_MIPS_TLS_DTPREL_HI16: + lo16_type = R_MIPS_TLS_DTPREL_LO16; + break; + case R_MIPS_TLS_TPREL_HI16: + lo16_type = R_MIPS_TLS_TPREL_LO16; + break; + case R_MIPS16_HI16: + case R_MIPS16_GOT16: + lo16_type = R_MIPS16_LO16; + break; + case R_MIPS16_TLS_DTPREL_HI16: + lo16_type = R_MIPS16_TLS_DTPREL_LO16; + break; + case R_MIPS16_TLS_TPREL_HI16: + lo16_type = R_MIPS16_TLS_TPREL_LO16; + break; + case R_MICROMIPS_HI16: + case R_MICROMIPS_GOT16: + lo16_type = R_MICROMIPS_LO16; + break; + case R_MICROMIPS_TLS_DTPREL_HI16: + lo16_type = R_MICROMIPS_TLS_DTPREL_LO16; + break; + case R_MICROMIPS_TLS_TPREL_HI16: + lo16_type = R_MICROMIPS_TLS_TPREL_LO16; + break; + default: + abort (); + } /* The combined value is the sum of the HI16 addend, left-shifted by sixteen bits, and the LO16 addend, sign extended. (Usually, the @@ -8334,6 +8389,10 @@ mips_elf_add_lo16_rel_addend (bfd *abfd, contents); l <<= lo16_howto->rightshift; + /* For a PC-relative relocation the PCLO16 part of the addend + is relative to its PC and not ours, so we need to adjust it. */ + if (r_type == R_MIPS_PCHI16) + l = (l - (lo16_relocation->r_offset - rel->r_offset)) & 0xffff; l = _bfd_mips_elf_sign_extend (l, 16); *addend <<= 16; @@ -10529,7 +10588,8 @@ _bfd_mips_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info, if (hi16_reloc_p (r_type) || (got16_reloc_p (r_type) && mips_elf_local_relocation_p (input_bfd, rel, - local_sections))) + local_sections)) + || tls_hi16_reloc_p (r_type)) { if (!mips_elf_add_lo16_rel_addend (input_bfd, input_section, rel, relend, @@ -10567,7 +10627,9 @@ _bfd_mips_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info, if (!rela_relocation_p && rel->r_addend) { addend += rel->r_addend; - if (hi16_reloc_p (r_type) || got16_reloc_p (r_type)) + if (hi16_reloc_p (r_type) + || got16_reloc_p (r_type) + || tls_hi16_reloc_p (r_type)) addend = mips_elf_high (addend); else if (r_type == R_MIPS_HIGHER) addend = mips_elf_higher (addend); diff --git a/bfd/version.h b/bfd/version.h index 7739244..f9a60848 100644 --- a/bfd/version.h +++ b/bfd/version.h @@ -16,7 +16,7 @@ In releases, the date is not included in either version strings or sonames. */ -#define BFD_VERSION_DATE 20250710 +#define BFD_VERSION_DATE 20250712 #define BFD_VERSION @bfd_version@ #define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@ #define REPORT_BUGS_TO @report_bugs_to@ diff --git a/binutils/NEWS b/binutils/NEWS index 1a746f1..6ef8e67 100644 --- a/binutils/NEWS +++ b/binutils/NEWS @@ -1,5 +1,12 @@ -*- text -*- +* On s390 64-bit (s390x), gas, ld, objdump, and readelf now support generating + and processing SFrame V2 stack trace information (.sframe). The assembler + generates SFrame info from CFI directives with option "--gsframe". The + linker generates SFrame info for the linker-generated .plt section and merges + all .sframe sections. Both objdump and readelf dump SFrame info with option + "--sframe[=<section-name>]". + * For SFrame stack trace format, the function start address in each SFrame FDE has a changed encoding: The 32-bit signed integer now holds the offset of the start PC of the associated function from the sfde_func_start_address @@ -17,6 +24,10 @@ * For RISC-V dis-assembler, the definition of mapping symbol $x is changed, so the file needs to be rebuilt since 2.45 once used .option arch directives. +* The LoongArch disassembler now properly accepts multiple disassembly + options given by -M, such as "-M no-aliases,numeric". (Previously only the + first option took effect.) + Changes in 2.44: * Support for Nios II targets has been removed except in the readelf utility, @@ -1,5 +1,8 @@ -*- text -*- +* Add support to generate SFrame stack trace information (.sframe) + from CFI directives on s390 64-bit (s390x). + * All SFrame sections generated by gas have the header flag SFRAME_F_FDE_FUNC_START_PCREL set. gas was already emitting SFrame sections with the applicable encoding. Setting the flag ensures compliance with the @@ -36,6 +39,15 @@ * Add support for the x86 Zhaoxin PadLock XMODX instructions. +* Add support for several instruction aliases defined for the LoongArch 32-bit + reduced subset (LA32R): rdcntvl.w, rdcntvh.w, rdcntid.w. + +* For LoongArch, warn about out-of-range 3rd arguments (maximum number of + bytes to skip) of .align directives. + +* For LoongArch, warn about negative right-shift amounts and + division/modulus-by-zero when evaluating expressions. + Changes in 2.44: * Add support for the x86 Intel Diamond Rapids AMX instructions, including diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c index 3dfb077..29d9cdb 100644 --- a/gas/config/tc-aarch64.c +++ b/gas/config/tc-aarch64.c @@ -4607,7 +4607,9 @@ parse_hint_opt (const char *name, char **str, && o->value != HINT_OPD_CSYNC) || ((strcmp ("bti", name) == 0) && (o->value != HINT_OPD_C && o->value != HINT_OPD_J - && o->value != HINT_OPD_JC))) + && o->value != HINT_OPD_JC)) + || ((strcmp ("stshh", name) == 0) + && (o->value != HINT_OPD_KEEP && o->value != HINT_OPD_STRM))) return false; *str = q; @@ -6917,6 +6919,7 @@ parse_operands (char *str, const aarch64_opcode *opcode) case AARCH64_OPND_SME_Zn_INDEX1_16: case AARCH64_OPND_SME_Zn_INDEX2_15: case AARCH64_OPND_SME_Zn_INDEX2_16: + case AARCH64_OPND_SME_Zn_INDEX2_19: case AARCH64_OPND_SME_Zn_INDEX3_14: case AARCH64_OPND_SME_Zn_INDEX3_15: case AARCH64_OPND_SME_Zn_INDEX4_14: @@ -8106,9 +8109,18 @@ parse_operands (char *str, const aarch64_opcode *opcode) case AARCH64_OPND_PRFOP: val = parse_pldop (&str); + + if (opcode->iclass != ldst_pos && val == 0x18) + { + set_syntax_error (_("invalid prefetch operation (IR is not valid for" + " this instruction variant)")); + goto failure; + } + /* This is an extension to accept a 0..31 immediate. */ if (val == PARSE_FAIL) po_imm_or_fail (0, 31); + inst.base.operands[i].prfop = aarch64_prfops + val; break; @@ -8188,6 +8200,11 @@ parse_operands (char *str, const aarch64_opcode *opcode) goto failure; break; + case AARCH64_OPND_STSHH_POLICY: + if (!parse_hint_opt (opcode->name, &str, &(info->hint_option))) + goto failure; + break; + case AARCH64_OPND_SME_ZAda_1b: case AARCH64_OPND_SME_ZAda_2b: case AARCH64_OPND_SME_ZAda_3b: @@ -9347,6 +9364,10 @@ try_to_encode_as_unscaled_ldst (aarch64_inst *instr) if (new_op == OP_NIL) return false; + if ((instr->opcode->op == OP_PRFM_POS) + && (instr->operands[0].prfop->value == 0x18)) + return false; + new_opcode = aarch64_get_opcode (new_op); gas_assert (new_opcode != NULL); @@ -10698,6 +10719,7 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = { {"lse", AARCH64_FEATURE (LSE), AARCH64_NO_FEATURES}, {"lsfe", AARCH64_FEATURE (LSFE), AARCH64_FEATURE (FP)}, {"lse128", AARCH64_FEATURE (LSE128), AARCH64_FEATURE (LSE)}, + {"lsui", AARCH64_FEATURE (LSUI), AARCH64_NO_FEATURES}, {"simd", AARCH64_FEATURE (SIMD), AARCH64_FEATURE (FP)}, {"pan", AARCH64_FEATURE (PAN), AARCH64_NO_FEATURES}, {"lor", AARCH64_FEATURE (LOR), AARCH64_NO_FEATURES}, @@ -10735,7 +10757,7 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = { {"sve2-sm4", AARCH64_FEATURE (SVE2_SM4), AARCH64_FEATURES (2, SVE2, SM4)}, {"sve2-aes", AARCH64_FEATURE (SVE2_AES), - AARCH64_FEATURES (2, SVE2, AES)}, + AARCH64_FEATURES (2, SVE2, SVE_AES)}, {"sve2-sha3", AARCH64_FEATURE (SVE2_SHA3), AARCH64_FEATURES (2, SVE2, SHA3)}, {"sve2-bitperm", AARCH64_FEATURE (SVE2_BITPERM), @@ -10773,6 +10795,9 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = { {"sve-f16f32mm", AARCH64_FEATURE (SVE_F16F32MM), AARCH64_FEATURE (SVE)}, {"f8f32mm", AARCH64_FEATURE (F8F32MM), AARCH64_FEATURES (2, SIMD, FP8)}, {"f8f16mm", AARCH64_FEATURE (F8F16MM), AARCH64_FEATURES (2, SIMD, FP8)}, + {"sve-aes", AARCH64_FEATURE (SVE_AES), AARCH64_FEATURE (AES)}, + {"sve-aes2", AARCH64_FEATURE (SVE_AES2), AARCH64_NO_FEATURES}, + {"ssve-aes", AARCH64_FEATURE (SSVE_AES), AARCH64_FEATURES (2, SME2, SVE_AES)}, {"rcpc3", AARCH64_FEATURE (RCPC3), AARCH64_FEATURE (RCPC2)}, {"cpa", AARCH64_FEATURE (CPA), AARCH64_NO_FEATURES}, {"faminmax", AARCH64_FEATURE (FAMINMAX), AARCH64_FEATURE (SIMD)}, @@ -10811,6 +10836,8 @@ struct aarch64_virtual_dependency_table }; static const struct aarch64_virtual_dependency_table aarch64_dependencies[] = { + {AARCH64_FEATURE (SVE2), AARCH64_FEATURE (SVE2_SSVE_AES)}, + {AARCH64_FEATURE (SSVE_AES), AARCH64_FEATURE (SVE2_SSVE_AES)}, {AARCH64_FEATURES (2, FP8FMA, SVE2), AARCH64_FEATURE (FP8FMA_SVE)}, {AARCH64_FEATURE (SSVE_FP8FMA), AARCH64_FEATURE (FP8FMA_SVE)}, {AARCH64_FEATURES (2, FP8DOT4, SVE2), AARCH64_FEATURE (FP8DOT4_SVE)}, diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 9134cef..7d0d855 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -4328,14 +4328,16 @@ got16_reloc_p (bfd_reloc_code_real_type reloc) static inline bool hi16_reloc_p (bfd_reloc_code_real_type reloc) { - return (reloc == BFD_RELOC_HI16_S || reloc == BFD_RELOC_MIPS16_HI16_S + return (reloc == BFD_RELOC_HI16_S || reloc == BFD_RELOC_HI16_S_PCREL + || reloc == BFD_RELOC_MIPS16_HI16_S || reloc == BFD_RELOC_MICROMIPS_HI16_S); } static inline bool lo16_reloc_p (bfd_reloc_code_real_type reloc) { - return (reloc == BFD_RELOC_LO16 || reloc == BFD_RELOC_MIPS16_LO16 + return (reloc == BFD_RELOC_LO16 || reloc == BFD_RELOC_LO16_PCREL + || reloc == BFD_RELOC_MIPS16_LO16 || reloc == BFD_RELOC_MICROMIPS_LO16); } @@ -4402,8 +4404,9 @@ static inline bfd_reloc_code_real_type matching_lo_reloc (bfd_reloc_code_real_type reloc) { return (mips16_reloc_p (reloc) ? BFD_RELOC_MIPS16_LO16 - : (micromips_reloc_p (reloc) ? BFD_RELOC_MICROMIPS_LO16 - : BFD_RELOC_LO16)); + : micromips_reloc_p (reloc) ? BFD_RELOC_MICROMIPS_LO16 + : reloc == BFD_RELOC_HI16_S_PCREL ? BFD_RELOC_LO16_PCREL + : BFD_RELOC_LO16); } /* Return true if the given fixup is followed by a matching R_MIPS_LO16 @@ -4415,7 +4418,12 @@ fixup_has_matching_lo_p (fixS *fixp) return (fixp->fx_next != NULL && fixp->fx_next->fx_r_type == matching_lo_reloc (fixp->fx_r_type) && fixp->fx_addsy == fixp->fx_next->fx_addsy - && fixp->fx_offset == fixp->fx_next->fx_offset); + && (fixp->fx_r_type == BFD_RELOC_HI16_S_PCREL + ? (fixp->fx_next->fx_offset - fixp->fx_offset + == ((fixp->fx_next->fx_frag->fr_address + + fixp->fx_next->fx_where) + - (fixp->fx_frag->fr_address + fixp->fx_where))) + : fixp->fx_offset == fixp->fx_next->fx_offset)); } /* Move all labels in LABELS to the current insertion point. TEXT_P @@ -15413,6 +15421,13 @@ mips_frob_file_before_adjust (void) if the user knows that adding 2 to "foo" will not induce a carry to the high 16 bits. + A %pcrel_lo() expression matches a %pcrel_hi() expression if: + + (a) it refers to the same symbol; and + (b) the offset applied in the %pcrel_lo() expression equals + the offset applied in the %pcrel_hi() expression plus the + distance from the location of %pcrel_hi() to %pcrel_lo(). + When several %lo()s match a particular %got() or %hi(), we use the following rules to distinguish them: @@ -15484,9 +15499,14 @@ mips_frob_file (void) if ((*pos)->fx_r_type == looking_for_rtype && symbol_same_p ((*pos)->fx_addsy, l->fixp->fx_addsy) - && (*pos)->fx_offset >= l->fixp->fx_offset + && (l->fixp->fx_r_type == BFD_RELOC_HI16_S_PCREL + ? ((*pos)->fx_offset - l->fixp->fx_offset + == (((*pos)->fx_frag->fr_address + (*pos)->fx_where) + - (l->fixp->fx_frag->fr_address + l->fixp->fx_where))) + : (*pos)->fx_offset >= l->fixp->fx_offset) && (lo_pos == NULL - || (*pos)->fx_offset < (*lo_pos)->fx_offset + || (l->fixp->fx_r_type != BFD_RELOC_HI16_S_PCREL + && (*pos)->fx_offset < (*lo_pos)->fx_offset) || (!matched_lo_p && (*pos)->fx_offset == (*lo_pos)->fx_offset))) lo_pos = pos; @@ -15497,15 +15517,20 @@ mips_frob_file (void) /* If we found a match, remove the high-part relocation from its current position and insert it before the low-part relocation. - Make the offsets match so that fixup_has_matching_lo_p() - will return true. + + For absolute relocations make the offsets match so that + fixup_has_matching_lo_p() will return true. For PC-relative + relocations the distance between the offsets is retained + according to expectations in `fixup_has_matching_lo_p', + `_bfd_mips_elf_lo16_reloc' and `mips_elf_add_lo16_rel_addend'. We don't warn about unmatched high-part relocations since some versions of gcc have been known to emit dead "lui ...%hi(...)" instructions. */ if (lo_pos != NULL) { - l->fixp->fx_offset = (*lo_pos)->fx_offset; + if (l->fixp->fx_r_type != BFD_RELOC_HI16_S_PCREL) + l->fixp->fx_offset = (*lo_pos)->fx_offset; if (l->fixp->fx_next != *lo_pos) { *hi_pos = l->fixp->fx_next; diff --git a/gas/config/tc-s390.c b/gas/config/tc-s390.c index d5d3976..b073d8e 100644 --- a/gas/config/tc-s390.c +++ b/gas/config/tc-s390.c @@ -24,6 +24,8 @@ #include "subsegs.h" #include "dwarf2dbg.h" #include "dw2gencfi.h" +#include "sframe.h" +#include "gen-sframe.h" #include "opcode/s390.h" #include "elf/s390.h" @@ -97,6 +99,17 @@ const char FLT_CHARS[] = "dD"; /* The dwarf2 data alignment, adjusted for 32 or 64 bit. */ int s390_cie_data_alignment; +/* Register numbers used for SFrame stack trace info. */ + +/* Designated stack pointer DWARF register number according to s390x ELF ABI. */ +const unsigned int s390_sframe_cfa_sp_reg = 15; + +/* Preferred frame pointer DWARF register number according to s390x ELF ABI. */ +const unsigned int s390_sframe_cfa_fp_reg = 11; + +/* Designated return address DWARF register number according to s390x ELF ABI. */ +const unsigned int s390_sframe_cfa_ra_reg = DWARF2_DEFAULT_RETURN_COLUMN; + /* The target specific pseudo-ops which we support. */ /* Define the prototypes for the pseudo-ops */ @@ -2865,6 +2878,48 @@ tc_s390_regname_to_dw2regnum (char *regname) return regnum; } +/* Whether SFrame stack trace info is supported. */ + +bool +s390_support_sframe_p (void) +{ + /* At this time, SFrame is supported for s390x (64-bit) only. */ + return (s390_arch_size == 64); +} + +/* Specify if RA tracking is needed. */ + +bool +s390_sframe_ra_tracking_p (void) +{ + return true; +} + +/* Specify the fixed offset to recover RA from CFA. + (useful only when RA tracking is not needed). */ + +offsetT +s390_sframe_cfa_ra_offset (void) +{ + return (offsetT) SFRAME_CFA_FIXED_RA_INVALID; +} + +/* Get the abi/arch identifier for SFrame. */ + +unsigned char +s390_sframe_get_abi_arch (void) +{ + unsigned char sframe_abi_arch = 0; + + if (s390_support_sframe_p ()) + { + gas_assert (target_big_endian); + sframe_abi_arch = SFRAME_ABI_S390X_ENDIAN_BIG; + } + + return sframe_abi_arch; +} + void s390_elf_final_processing (void) { diff --git a/gas/config/tc-s390.h b/gas/config/tc-s390.h index 9206c02..c92769e 100644 --- a/gas/config/tc-s390.h +++ b/gas/config/tc-s390.h @@ -98,3 +98,34 @@ extern int s390_cie_data_alignment; extern void s390_elf_final_processing (void); #define elf_tc_final_processing s390_elf_final_processing + +/* SFrame. */ + +/* Whether SFrame stack trace info is supported. */ +extern bool s390_support_sframe_p (void); +#define support_sframe_p s390_support_sframe_p + +/* The stack pointer DWARF register number for SFrame CFA tracking. */ +extern const unsigned int s390_sframe_cfa_sp_reg; +#define SFRAME_CFA_SP_REG s390_sframe_cfa_sp_reg + +/* The frame pointer DWARF register number for SFrame CFA and FP tracking. */ +extern const unsigned int s390_sframe_cfa_fp_reg; +#define SFRAME_CFA_FP_REG s390_sframe_cfa_fp_reg + +/* The return address DWARF register number for SFrame RA tracking. */ +extern const unsigned int s390_sframe_cfa_ra_reg; +#define SFRAME_CFA_RA_REG s390_sframe_cfa_ra_reg + +/* Whether SFrame return address tracking is needed. */ +extern bool s390_sframe_ra_tracking_p (void); +#define sframe_ra_tracking_p s390_sframe_ra_tracking_p + +/* The fixed offset from CFA for SFrame to recover the return address. + (useful only when SFrame RA tracking is not needed). */ +extern offsetT s390_sframe_cfa_ra_offset (void); +#define sframe_cfa_ra_offset s390_sframe_cfa_ra_offset + +/* The abi/arch identifier for SFrame. */ +unsigned char s390_sframe_get_abi_arch (void); +#define sframe_get_abi_arch s390_sframe_get_abi_arch diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi index acfa003..d300ab2 100644 --- a/gas/doc/c-aarch64.texi +++ b/gas/doc/c-aarch64.texi @@ -235,6 +235,8 @@ automatically cause those extensions to be disabled. @tab Enable the 128-bit Atomic Instructions extension. @item @code{lsfe} @tab @code{fp} @tab Enable Large System Float Extension. +@item @code{lsui} @tab + @tab Enable Unprivileged Load/Store instructions. @item @code{lut} @tab @tab Enable the Lookup Table (LUT) extension. @item @code{memtag} @tab @@ -305,12 +307,18 @@ automatically cause those extensions to be disabled. @tab Enable Speculative Store Bypassing Safe state read and write. @item @code{ssve-fp8dot2} @tab @code{sme2}, @code{fp8} @tab Enable the Streaming SVE FP8 2-way dot product instructions. +@item @code{ssve-aes} @tab @code{sme2}, @code{sve-aes} + @tab Enable SVE AES instructions in streaming mode. @item @code{ssve-fp8dot4} @tab @code{sme2}, @code{fp8} @tab Enable the Streaming SVE FP8 4-way dot product instructions. @item @code{ssve-fp8fma} @tab @code{sme2}, @code{fp8} @tab Enable the Streaming SVE FP8 FMA instructions. @item @code{sve} @tab @code{fcma} @tab Enable the Scalable Vector Extension. +@item @code{sve-aes} @tab @code{aes} + @tab Enable the SVE PMULL128 instructions. +@item @code{sve-aes2} @tab +@tab Enable the SVE-AES2 extension. @item @code{sve-b16b16} @tab @tab Enable the SVE B16B16 extension. These instructions also require either @code{+sve2} or @code{+sme2}. @item @code{sve-bfscale} @tab diff --git a/gas/gen-sframe.c b/gas/gen-sframe.c index 3cba508..806ef5f 100644 --- a/gas/gen-sframe.c +++ b/gas/gen-sframe.c @@ -135,10 +135,26 @@ sframe_fre_set_cfa_base_reg (struct sframe_row_entry *fre, fre->merge_candidate = false; } +static offsetT +sframe_fre_get_cfa_offset (const struct sframe_row_entry * fre) +{ + offsetT offset = fre->cfa_offset; + + /* For s390x undo adjustment of CFA offset (to enable 8-bit offsets). */ + if (sframe_get_abi_arch () == SFRAME_ABI_S390X_ENDIAN_BIG) + offset = SFRAME_V2_S390X_CFA_OFFSET_DECODE (offset); + + return offset; +} + static void sframe_fre_set_cfa_offset (struct sframe_row_entry *fre, offsetT cfa_offset) { + /* For s390x adjust CFA offset to enable 8-bit offsets. */ + if (sframe_get_abi_arch () == SFRAME_ABI_S390X_ENDIAN_BIG) + cfa_offset = SFRAME_V2_S390X_CFA_OFFSET_ENCODE (cfa_offset); + fre->cfa_offset = cfa_offset; fre->merge_candidate = false; } @@ -340,7 +356,10 @@ get_fre_num_offsets (struct sframe_row_entry *sframe_fre) if (sframe_fre->bp_loc == SFRAME_FRE_ELEM_LOC_STACK) fre_num_offsets++; if (sframe_ra_tracking_p () - && sframe_fre->ra_loc == SFRAME_FRE_ELEM_LOC_STACK) + && (sframe_fre->ra_loc == SFRAME_FRE_ELEM_LOC_STACK + /* For s390x account padding RA offset, if FP without RA saved. */ + || (sframe_get_abi_arch () == SFRAME_ABI_S390X_ENDIAN_BIG + && sframe_fre->bp_loc == SFRAME_FRE_ELEM_LOC_STACK))) fre_num_offsets++; return fre_num_offsets; } @@ -362,9 +381,15 @@ sframe_get_fre_offset_size (struct sframe_row_entry *sframe_fre) cfa_offset_size = get_offset_size_in_bytes (sframe_fre->cfa_offset); if (sframe_fre->bp_loc == SFRAME_FRE_ELEM_LOC_STACK) bp_offset_size = get_offset_size_in_bytes (sframe_fre->bp_offset); - if (sframe_ra_tracking_p () - && sframe_fre->ra_loc == SFRAME_FRE_ELEM_LOC_STACK) - ra_offset_size = get_offset_size_in_bytes (sframe_fre->ra_offset); + if (sframe_ra_tracking_p ()) + { + if (sframe_fre->ra_loc == SFRAME_FRE_ELEM_LOC_STACK) + ra_offset_size = get_offset_size_in_bytes (sframe_fre->ra_offset); + /* For s390x account padding RA offset, if FP without RA saved. */ + else if (sframe_get_abi_arch () == SFRAME_ABI_S390X_ENDIAN_BIG + && sframe_fre->bp_loc == SFRAME_FRE_ELEM_LOC_STACK) + ra_offset_size = get_offset_size_in_bytes (SFRAME_FRE_RA_OFFSET_INVALID); + } /* Get the maximum size needed to represent the offsets. */ max_offset_size = cfa_offset_size; @@ -570,11 +595,20 @@ output_sframe_row_entry (symbolS *fde_start_addr, fre_offset_func_map[idx].out_func (sframe_fre->cfa_offset); fre_write_offsets++; - if (sframe_ra_tracking_p () - && sframe_fre->ra_loc == SFRAME_FRE_ELEM_LOC_STACK) + if (sframe_ra_tracking_p ()) { - fre_offset_func_map[idx].out_func (sframe_fre->ra_offset); - fre_write_offsets++; + if (sframe_fre->ra_loc == SFRAME_FRE_ELEM_LOC_STACK) + { + fre_offset_func_map[idx].out_func (sframe_fre->ra_offset); + fre_write_offsets++; + } + /* For s390x write padding RA offset, if FP without RA saved. */ + else if (sframe_get_abi_arch () == SFRAME_ABI_S390X_ENDIAN_BIG + && sframe_fre->bp_loc == SFRAME_FRE_ELEM_LOC_STACK) + { + fre_offset_func_map[idx].out_func (SFRAME_FRE_RA_OFFSET_INVALID); + fre_write_offsets++; + } } if (sframe_fre->bp_loc == SFRAME_FRE_ELEM_LOC_STACK) { @@ -714,7 +748,7 @@ output_sframe_internal (void) } out_one (fixed_ra_offset); - /* None of the AMD64, or AARCH64 ABIs need the auxiliary header. + /* None of the AMD64, AARCH64, or s390x ABIs need the auxiliary header. When the need does arise to use this field, the appropriate backend must provide this information. */ out_one (0); /* Auxiliary SFrame header length. */ @@ -1025,7 +1059,7 @@ sframe_xlate_do_def_cfa_register (struct sframe_xlate_ctx *xlate_ctx, } sframe_fre_set_cfa_base_reg (cur_fre, cfi_insn->u.r); if (last_fre) - sframe_fre_set_cfa_offset (cur_fre, last_fre->cfa_offset); + sframe_fre_set_cfa_offset (cur_fre, sframe_fre_get_cfa_offset (last_fre)); cur_fre->merge_candidate = false; @@ -1117,7 +1151,11 @@ sframe_xlate_do_val_offset (const struct sframe_xlate_ctx *xlate_ctx ATTRIBUTE_U if (cfi_insn->u.ri.reg == SFRAME_CFA_FP_REG || (sframe_ra_tracking_p () && cfi_insn->u.ri.reg == SFRAME_CFA_RA_REG) /* Ignore SP reg, if offset matches assumed default rule. */ - || (cfi_insn->u.ri.reg == SFRAME_CFA_SP_REG && cfi_insn->u.ri.offset != 0)) + || (cfi_insn->u.ri.reg == SFRAME_CFA_SP_REG + && ((sframe_get_abi_arch () != SFRAME_ABI_S390X_ENDIAN_BIG + && cfi_insn->u.ri.offset != 0) + || (sframe_get_abi_arch () == SFRAME_ABI_S390X_ENDIAN_BIG + && cfi_insn->u.ri.offset != SFRAME_S390X_SP_VAL_OFFSET)))) { as_warn (_("no SFrame FDE emitted; %s with %s reg %u"), cfi_esc_p ? ".cfi_escape DW_CFA_val_offset" : ".cfi_val_offset", @@ -1129,6 +1167,36 @@ sframe_xlate_do_val_offset (const struct sframe_xlate_ctx *xlate_ctx ATTRIBUTE_U return SFRAME_XLATE_OK; } +/* S390-specific translate DW_CFA_register into SFrame context. + Return SFRAME_XLATE_OK if success. */ + +static int +s390_sframe_xlate_do_register (struct sframe_xlate_ctx *xlate_ctx, + struct cfi_insn_data *cfi_insn) +{ + /* The scratchpad FRE currently being updated with each cfi_insn + being interpreted. This FRE eventually gets linked in into the + list of FREs for the specific function. */ + struct sframe_row_entry *cur_fre = xlate_ctx->cur_fre; + + gas_assert (cur_fre); + + /* Change the rule for the register indicated by the register number to + be the specified register. Encode the register number as offset by + shifting it to the left by one and setting the least-significant bit + (LSB). The LSB can be used to differentiate offsets from register + numbers, as offsets from CFA are always a multiple of -8 on s390x. */ + if (cfi_insn->u.rr.reg1 == SFRAME_CFA_FP_REG) + sframe_fre_set_bp_track (cur_fre, + SFRAME_V2_S390X_OFFSET_ENCODE_REGNUM (cfi_insn->u.rr.reg2)); + else if (sframe_ra_tracking_p () + && cfi_insn->u.rr.reg1 == SFRAME_CFA_RA_REG) + sframe_fre_set_ra_track (cur_fre, + SFRAME_V2_S390X_OFFSET_ENCODE_REGNUM (cfi_insn->u.rr.reg2)); + + return SFRAME_XLATE_OK; +} + /* Translate DW_CFA_register into SFrame context. Return SFRAME_XLATE_OK if success. */ @@ -1136,6 +1204,10 @@ static int sframe_xlate_do_register (struct sframe_xlate_ctx *xlate_ctx ATTRIBUTE_UNUSED, struct cfi_insn_data *cfi_insn) { + /* Conditionally invoke S390-specific implementation. */ + if (sframe_get_abi_arch () == SFRAME_ABI_S390X_ENDIAN_BIG) + return s390_sframe_xlate_do_register (xlate_ctx, cfi_insn); + /* Previous value of register1 is register2. However, if the specified register1 is not interesting (FP or RA reg), the current DW_CFA_register instruction can be safely skipped without sacrificing the asynchronicity of @@ -1766,7 +1838,9 @@ sframe_do_fde (struct sframe_xlate_ctx *xlate_ctx, = get_dw_fde_end_addrS (xlate_ctx->dw_fde); } - if (sframe_ra_tracking_p ()) + /* ABI/arch except s390x cannot represent FP without RA saved. */ + if (sframe_ra_tracking_p () + && sframe_get_abi_arch () != SFRAME_ABI_S390X_ENDIAN_BIG) { struct sframe_row_entry *fre; diff --git a/gas/testsuite/gas/aarch64/illegal-sve-aes2.d b/gas/testsuite/gas/aarch64/illegal-sve-aes2.d new file mode 100644 index 0000000..23c391d --- /dev/null +++ b/gas/testsuite/gas/aarch64/illegal-sve-aes2.d @@ -0,0 +1,4 @@ +#name: Illegal SVE-AES2 +#as: -march=armv8-a+sve-aes2 +#source: illegal-sve-aes2.s +#error_output: illegal-sve-aes2.l diff --git a/gas/testsuite/gas/aarch64/illegal-sve-aes2.l b/gas/testsuite/gas/aarch64/illegal-sve-aes2.l new file mode 100644 index 0000000..3f0c1ed --- /dev/null +++ b/gas/testsuite/gas/aarch64/illegal-sve-aes2.l @@ -0,0 +1,103 @@ +[^ :]+: Assembler messages: +[^ :]+:[0-9]+: Error: register element index out of range 0 to 3 at operand 3 -- `aesdimc { ?z0\.b-z1\.b ?},{ ?z0\.b-z1\.b ?},z0\.q\[4\]' +[^ :]+:[0-9]+: Error: operand 2 must be the same register as operand 1 -- `aesdimc { ?z0\.b-z1\.b ?},{ ?z1\.b-z2\.b ?},z0\.q\[0\]' +[^ :]+:[0-9]+: Error: operand mismatch -- `aesdimc { ?z0\.q-z1\.q ?},{ ?z0\.b-z1\.b ?},z0\.q\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: aesdimc { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z0\.q\[0\] +[^ :]+:[0-9]+: Error: operand mismatch -- `aesdimc { ?z0\.q-z1\.q ?},{ ?z0\.q-z1\.q ?},z0\.q\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: aesdimc { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z0\.q\[0\] +[^ :]+:[0-9]+: Error: operand mismatch -- `aesdimc { ?z0\.b-z1\.b ?},{ ?z0\.b-z1\.b ?},z0\.b\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: aesdimc { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z0\.q\[0\] +[^ :]+:[0-9]+: Error: register element index out of range 0 to 3 at operand 3 -- `aesdimc { ?z0\.b-z3\.b ?},{ ?z0\.b-z3\.b ?},z0\.q\[4\]' +[^ :]+:[0-9]+: Error: too many registers in vector register list at operand 2 -- `aesdimc { ?z0\.b-z3\.b ?},{ ?z3\.b-z2\.b ?},z0\.q\[0\]' +[^ :]+:[0-9]+: Error: operand mismatch -- `aesdimc { ?z0\.q-z3\.q ?},{ ?z0\.b-z3\.b ?},z0\.q\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: aesdimc { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z0\.q\[0\] +[^ :]+:[0-9]+: Error: operand mismatch -- `aesdimc { ?z0\.q-z3\.q ?},{ ?z0\.q-z3\.q ?},z0\.q\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: aesdimc { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z0\.q\[0\] +[^ :]+:[0-9]+: Error: operand mismatch -- `aesdimc { ?z0\.b-z3\.b ?},{ ?z0\.b-z3\.b ?},z0\.b\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: aesdimc { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z0\.q\[0\] +[^ :]+:[0-9]+: Error: register element index out of range 0 to 3 at operand 3 -- `aesd { ?z0\.b-z1\.b ?},{ ?z0\.b-z1\.b ?},z0\.q\[4\]' +[^ :]+:[0-9]+: Error: operand 2 must be the same register as operand 1 -- `aesd { ?z0\.b-z1\.b ?},{ ?z1\.b-z2\.b ?},z0\.q\[0\]' +[^ :]+:[0-9]+: Error: operand mismatch -- `aesd { ?z0\.q-z1\.q ?},{ ?z0\.b-z1\.b ?},z0\.q\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: aesd { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z0\.q\[0\] +[^ :]+:[0-9]+: Error: operand mismatch -- `aesd { ?z0\.q-z1\.q ?},{ ?z0\.q-z1\.q ?},z0\.q\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: aesd { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z0\.q\[0\] +[^ :]+:[0-9]+: Error: operand mismatch -- `aesd { ?z0\.b-z1\.b ?},{ ?z0\.b-z1\.b ?},z0\.b\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: aesd { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z0\.q\[0\] +[^ :]+:[0-9]+: Error: register element index out of range 0 to 3 at operand 3 -- `aesd { ?z0\.b-z3\.b ?},{ ?z0\.b-z3\.b ?},z0\.q\[4\]' +[^ :]+:[0-9]+: Error: too many registers in vector register list at operand 2 -- `aesd { ?z0\.b-z3\.b ?},{ ?z3\.b-z2\.b ?},z0\.q\[0\]' +[^ :]+:[0-9]+: Error: operand mismatch -- `aesd { ?z0\.q-z3\.q ?},{ ?z0\.b-z3\.b ?},z0\.q\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: aesd { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z0\.q\[0\] +[^ :]+:[0-9]+: Error: operand mismatch -- `aesd { ?z0\.q-z3\.q ?},{ ?z0\.q-z3\.q ?},z0\.q\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: aesd { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z0\.q\[0\] +[^ :]+:[0-9]+: Error: operand mismatch -- `aesd { ?z0\.b-z3\.b ?},{ ?z0\.b-z3\.b ?},z0\.b\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: aesd { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z0\.q\[0\] +[^ :]+:[0-9]+: Error: register element index out of range 0 to 3 at operand 3 -- `aesemc { ?z0\.b-z1\.b ?},{ ?z0\.b-z1\.b ?},z0\.q\[4\]' +[^ :]+:[0-9]+: Error: operand 2 must be the same register as operand 1 -- `aesemc { ?z0\.b-z1\.b ?},{ ?z1\.b-z2\.b ?},z0\.q\[0\]' +[^ :]+:[0-9]+: Error: operand mismatch -- `aesemc { ?z0\.q-z1\.q ?},{ ?z0\.b-z1\.b ?},z0\.q\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: aesemc { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z0\.q\[0\] +[^ :]+:[0-9]+: Error: operand mismatch -- `aesemc { ?z0\.q-z1\.q ?},{ ?z0\.q-z1\.q ?},z0\.q\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: aesemc { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z0\.q\[0\] +[^ :]+:[0-9]+: Error: operand mismatch -- `aesemc { ?z0\.b-z1\.b ?},{ ?z0\.b-z1\.b ?},z0\.b\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: aesemc { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z0\.q\[0\] +[^ :]+:[0-9]+: Error: register element index out of range 0 to 3 at operand 3 -- `aesemc { ?z0\.b-z3\.b ?},{ ?z0\.b-z3\.b ?},z0\.q\[4\]' +[^ :]+:[0-9]+: Error: too many registers in vector register list at operand 2 -- `aesemc { ?z0\.b-z3\.b ?},{ ?z3\.b-z2\.b ?},z0\.q\[0\]' +[^ :]+:[0-9]+: Error: operand mismatch -- `aesemc { ?z0\.q-z3\.q ?},{ ?z0\.b-z3\.b ?},z0\.q\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: aesemc { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z0\.q\[0\] +[^ :]+:[0-9]+: Error: operand mismatch -- `aesemc { ?z0\.q-z3\.q ?},{ ?z0\.q-z3\.q ?},z0\.q\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: aesemc { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z0\.q\[0\] +[^ :]+:[0-9]+: Error: operand mismatch -- `aesemc { ?z0\.b-z3\.b ?},{ ?z0\.b-z3\.b ?},z0\.b\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: aesemc { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z0\.q\[0\] +[^ :]+:[0-9]+: Error: register element index out of range 0 to 3 at operand 3 -- `aese { ?z0\.b-z1\.b ?},{ ?z0\.b-z1\.b ?},z0\.q\[4\]' +[^ :]+:[0-9]+: Error: operand 2 must be the same register as operand 1 -- `aese { ?z0\.b-z1\.b ?},{ ?z1\.b-z2\.b ?},z0\.q\[0\]' +[^ :]+:[0-9]+: Error: operand mismatch -- `aese { ?z0\.q-z1\.q ?},{ ?z0\.b-z1\.b ?},z0\.q\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: aese { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z0\.q\[0\] +[^ :]+:[0-9]+: Error: operand mismatch -- `aese { ?z0\.q-z1\.q ?},{ ?z0\.q-z1\.q ?},z0\.q\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: aese { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z0\.q\[0\] +[^ :]+:[0-9]+: Error: operand mismatch -- `aese { ?z0\.b-z1\.b ?},{ ?z0\.b-z1\.b ?},z0\.b\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: aese { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z0\.q\[0\] +[^ :]+:[0-9]+: Error: register element index out of range 0 to 3 at operand 3 -- `aese { ?z0\.b-z3\.b ?},{ ?z0\.b-z3\.b ?},z0\.q\[4\]' +[^ :]+:[0-9]+: Error: too many registers in vector register list at operand 2 -- `aese { ?z0\.b-z3\.b ?},{ ?z3\.b-z2\.b ?},z0\.q\[0\]' +[^ :]+:[0-9]+: Error: operand mismatch -- `aese { ?z0\.q-z3\.q ?},{ ?z0\.b-z3\.b ?},z0\.q\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: aese { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z0\.q\[0\] +[^ :]+:[0-9]+: Error: operand mismatch -- `aese { ?z0\.q-z3\.q ?},{ ?z0\.q-z3\.q ?},z0\.q\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: aese { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z0\.q\[0\] +[^ :]+:[0-9]+: Error: operand mismatch -- `aese { ?z0\.b-z3\.b ?},{ ?z0\.b-z3\.b ?},z0\.b\[0\]' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: aese { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z0\.q\[0\] +[^ :]+:[0-9]+: Error: operand mismatch -- `pmlal { ?z0\.b-z1\.b},z0\.d,z0\.d' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: pmlal { ?z0\.q-z1\.q}, z0\.d, z0\.d +[^ :]+:[0-9]+: Error: expected a list of 2 registers at operand 1 -- `pmlal { ?z0\.q-z3\.q},z0\.d,z0\.d' +[^ :]+:[0-9]+: Error: missing braces at operand 1 -- `pmlal z0\.q,z0\.q,z0\.d' +[^ :]+:[0-9]+: Error: missing braces at operand 1 -- `pmlal z0\.q,{ ?z0\.q-z1\.q},z0\.d' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `pmlal { ?z0\.b-z1\.b},z0\.d,{ ?z1\.d-z2\.d}' +[^ :]+:[0-9]+: Error: operand mismatch -- `pmull { ?z0\.b-z1\.b},z0\.d,z0\.d' +[^ :]+:[0-9]+: Info: did you mean this\? +[^ :]+:[0-9]+: Info: pmull { ?z0\.q-z1\.q}, z0\.d, z0\.d +[^ :]+:[0-9]+: Error: expected a list of 2 registers at operand 1 -- `pmull { ?z0\.q-z3\.q},z0\.d,z0\.d' +[^ :]+:[0-9]+: Error: missing braces at operand 1 -- `pmull z0\.q,z0\.q,z0\.d' +[^ :]+:[0-9]+: Error: missing braces at operand 1 -- `pmull z0\.q,{ ?z0\.q-z1\.q},z0\.d' +[^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `pmull { ?z0\.b-z1\.b},z0\.d,{ ?z1\.d-z2\.d}' diff --git a/gas/testsuite/gas/aarch64/illegal-sve-aes2.s b/gas/testsuite/gas/aarch64/illegal-sve-aes2.s new file mode 100644 index 0000000..4eb7810 --- /dev/null +++ b/gas/testsuite/gas/aarch64/illegal-sve-aes2.s @@ -0,0 +1,59 @@ +aesdimc {z0.b-z1.b}, {z0.b-z1.b}, z0.q[4] +aesdimc {z0.b-z1.b}, {z1.b-z2.b}, z0.q[0] +aesdimc {z0.q-z1.q}, {z0.b-z1.b}, z0.q[0] +aesdimc {z0.q-z1.q}, {z0.q-z1.q}, z0.q[0] +aesdimc {z0.b-z1.b}, {z0.b-z1.b}, z0.b[0] + +aesdimc {z0.b-z3.b}, {z0.b-z3.b}, z0.q[4] +aesdimc {z0.b-z3.b}, {z3.b-z2.b}, z0.q[0] +aesdimc {z0.q-z3.q}, {z0.b-z3.b}, z0.q[0] +aesdimc {z0.q-z3.q}, {z0.q-z3.q}, z0.q[0] +aesdimc {z0.b-z3.b}, {z0.b-z3.b}, z0.b[0] + +aesd {z0.b-z1.b}, {z0.b-z1.b}, z0.q[4] +aesd {z0.b-z1.b}, {z1.b-z2.b}, z0.q[0] +aesd {z0.q-z1.q}, {z0.b-z1.b}, z0.q[0] +aesd {z0.q-z1.q}, {z0.q-z1.q}, z0.q[0] +aesd {z0.b-z1.b}, {z0.b-z1.b}, z0.b[0] + +aesd {z0.b-z3.b}, {z0.b-z3.b}, z0.q[4] +aesd {z0.b-z3.b}, {z3.b-z2.b}, z0.q[0] +aesd {z0.q-z3.q}, {z0.b-z3.b}, z0.q[0] +aesd {z0.q-z3.q}, {z0.q-z3.q}, z0.q[0] +aesd {z0.b-z3.b}, {z0.b-z3.b}, z0.b[0] + +aesemc {z0.b-z1.b}, {z0.b-z1.b}, z0.q[4] +aesemc {z0.b-z1.b}, {z1.b-z2.b}, z0.q[0] +aesemc {z0.q-z1.q}, {z0.b-z1.b}, z0.q[0] +aesemc {z0.q-z1.q}, {z0.q-z1.q}, z0.q[0] +aesemc {z0.b-z1.b}, {z0.b-z1.b}, z0.b[0] + +aesemc {z0.b-z3.b}, {z0.b-z3.b}, z0.q[4] +aesemc {z0.b-z3.b}, {z3.b-z2.b}, z0.q[0] +aesemc {z0.q-z3.q}, {z0.b-z3.b}, z0.q[0] +aesemc {z0.q-z3.q}, {z0.q-z3.q}, z0.q[0] +aesemc {z0.b-z3.b}, {z0.b-z3.b}, z0.b[0] + +aese {z0.b-z1.b}, {z0.b-z1.b}, z0.q[4] +aese {z0.b-z1.b}, {z1.b-z2.b}, z0.q[0] +aese {z0.q-z1.q}, {z0.b-z1.b}, z0.q[0] +aese {z0.q-z1.q}, {z0.q-z1.q}, z0.q[0] +aese {z0.b-z1.b}, {z0.b-z1.b}, z0.b[0] + +aese {z0.b-z3.b}, {z0.b-z3.b}, z0.q[4] +aese {z0.b-z3.b}, {z3.b-z2.b}, z0.q[0] +aese {z0.q-z3.q}, {z0.b-z3.b}, z0.q[0] +aese {z0.q-z3.q}, {z0.q-z3.q}, z0.q[0] +aese {z0.b-z3.b}, {z0.b-z3.b}, z0.b[0] + +pmlal {z0.b-z1.b}, z0.d, z0.d +pmlal {z0.q-z3.q}, z0.d, z0.d +pmlal z0.q, z0.q, z0.d +pmlal z0.q, {z0.q-z1.q}, z0.d +pmlal {z0.b-z1.b}, z0.d, {z1.d-z2.d} + +pmull {z0.b-z1.b}, z0.d, z0.d +pmull {z0.q-z3.q}, z0.d, z0.d +pmull z0.q, z0.q, z0.d +pmull z0.q, {z0.q-z1.q}, z0.d +pmull {z0.b-z1.b}, z0.d, {z1.d-z2.d} diff --git a/gas/testsuite/gas/aarch64/illegal-sve2.l b/gas/testsuite/gas/aarch64/illegal-sve2.l index ca13c44..62f063a 100644 --- a/gas/testsuite/gas/aarch64/illegal-sve2.l +++ b/gas/testsuite/gas/aarch64/illegal-sve2.l @@ -50,27 +50,27 @@ [^ :]+:[0-9]+: Error: expected a register at operand 1 -- `addp z32\.s,p0/m,z32\.s,z0\.s' [^ :]+:[0-9]+: Error: expected an SVE vector register at operand 4 -- `addp z0\.s,p0/m,z0\.s,z32\.s' [^ :]+:[0-9]+: Error: p0-p7 expected at operand 2 -- `addp z0\.s,p8/m,z0\.s,z0\.s' -[^ :]+:[0-9]+: Warning: SVE `movprfx' compatible instruction expected -- `aesd z0\.b,z0\.b,z0\.b' +[^ :]+:[0-9]+: Warning: SVE instruction expected after `movprfx' -- `aesd z0\.b,z0\.b,z0\.b' [^ :]+:[0-9]+: Error: operand 2 must be the same register as operand 1 -- `aesd z0\.b,z1\.b,z0\.b' [^ :]+:[0-9]+: Error: operand mismatch -- `aesd z0\.b,z0\.s,z0\.b' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: aesd z0\.b, z0\.b, z0\.b -[^ :]+:[0-9]+: Error: expected a vector register at operand 1 -- `aesd z32\.b,z0\.b,z0\.b' +[^ :]+:[0-9]+: Error: expected a register or register list at operand 1 -- `aesd z32\.b,z0\.b,z0\.b' [^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `aesd z0\.b,z0\.b,z32\.b' -[^ :]+:[0-9]+: Warning: SVE `movprfx' compatible instruction expected -- `aese z0\.b,z0\.b,z0\.b' +[^ :]+:[0-9]+: Warning: SVE instruction expected after `movprfx' -- `aese z0\.b,z0\.b,z0\.b' [^ :]+:[0-9]+: Error: operand 2 must be the same register as operand 1 -- `aese z0\.b,z1\.b,z0\.b' [^ :]+:[0-9]+: Error: operand mismatch -- `aese z0\.b,z0\.s,z0\.b' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: aese z0\.b, z0\.b, z0\.b -[^ :]+:[0-9]+: Error: expected a vector register at operand 1 -- `aese z32\.b,z0\.b,z0\.b' +[^ :]+:[0-9]+: Error: expected a register or register list at operand 1 -- `aese z32\.b,z0\.b,z0\.b' [^ :]+:[0-9]+: Error: expected an SVE vector register at operand 3 -- `aese z0\.b,z0\.b,z32\.b' -[^ :]+:[0-9]+: Warning: SVE `movprfx' compatible instruction expected -- `aesimc z0\.b,z0\.b' +[^ :]+:[0-9]+: Warning: SVE instruction expected after `movprfx' -- `aesimc z0\.b,z0\.b' [^ :]+:[0-9]+: Error: operand 2 must be the same register as operand 1 -- `aesimc z0\.b,z1\.b' [^ :]+:[0-9]+: Error: operand mismatch -- `aesimc z0\.b,z0\.s' [^ :]+:[0-9]+: Info: did you mean this\? [^ :]+:[0-9]+: Info: aesimc z0\.b, z0\.b [^ :]+:[0-9]+: Error: expected a vector register at operand 1 -- `aesimc z32\.b,z0\.b' -[^ :]+:[0-9]+: Warning: SVE `movprfx' compatible instruction expected -- `aesmc z0\.b,z0\.b' +[^ :]+:[0-9]+: Warning: SVE instruction expected after `movprfx' -- `aesmc z0\.b,z0\.b' [^ :]+:[0-9]+: Error: operand 2 must be the same register as operand 1 -- `aesmc z0\.b,z1\.b' [^ :]+:[0-9]+: Error: operand mismatch -- `aesmc z0\.b,z0\.s' [^ :]+:[0-9]+: Info: did you mean this\? diff --git a/gas/testsuite/gas/aarch64/lsui-bad.d b/gas/testsuite/gas/aarch64/lsui-bad.d new file mode 100644 index 0000000..6a50e21 --- /dev/null +++ b/gas/testsuite/gas/aarch64/lsui-bad.d @@ -0,0 +1,4 @@ +#name: Bad FEAT_LSUI instructions +#source: lsui-bad.s +#as:-march=armv9-a+lsui +#error_output: lsui-bad.l diff --git a/gas/testsuite/gas/aarch64/lsui-bad.l b/gas/testsuite/gas/aarch64/lsui-bad.l new file mode 100644 index 0000000..3bf7b08 --- /dev/null +++ b/gas/testsuite/gas/aarch64/lsui-bad.l @@ -0,0 +1,21 @@ +.*: Assembler messages: +.*: Warning: unpredictable: identical base and status registers --`sttxr w0,w1,\[x0\]' +.*: Warning: unpredictable: identical transfer and status registers --`sttxr w0,w0,\[x1\]' +.*: Warning: unpredictable: identical base and status registers --`sttxr w0,x1,\[x0\]' +.*: Warning: unpredictable: identical transfer and status registers --`sttxr w0,x0,\[x1\]' +.*: Warning: unpredictable: identical base and status registers --`stltxr w0,w1,\[x0\]' +.*: Warning: unpredictable: identical transfer and status registers --`stltxr w0,w0,\[x1\]' +.*: Warning: unpredictable: identical base and status registers --`stltxr w0,x1,\[x0\]' +.*: Warning: unpredictable: identical transfer and status registers --`stltxr w0,x0,\[x1\]' +.*: Error: reg pair must be contiguous at operand 2 -- `caspt x0,x0,x2,x3,\[x0\]' +.*: Error: reg pair must start from even reg at operand 3 -- `caspt x0,x1,x3,x4,\[x0\]' +.*: Error: operand 5 must be an address with base register \(no offset\) -- `caspt x0,x1,x2,x3,\[x0,#0x8\]' +.*: Warning: unpredictable load of register pair -- `ldtnp x0,x0,\[x0\]' +.*: Error: immediate offset out of range -512 to 504 at operand 3 -- `ldtnp x0,x1,\[x0,#508\]' +.*: Error: unexpected address writeback at operand 3 -- `ldtnp x0,x1,\[x0,#504\]!' +.*: Warning: unpredictable load of register pair -- `ldtp x0,x0,\[x1\]' +.*: Warning: unpredictable transfer with writeback -- `ldtp x0,x1,\[x0,#504\]!' +.*: Warning: unpredictable transfer with writeback -- `ldtp x0,x1,\[x0\],#504' +.*: Warning: unpredictable load of register pair -- `ldtp q0,q0,\[x1\]' +.*: Warning: unpredictable transfer with writeback -- `sttp x0,x1,\[x0,#504\]!' +.*: Warning: unpredictable transfer with writeback -- `sttp x0,x1,\[x0\],#504' diff --git a/gas/testsuite/gas/aarch64/lsui-bad.s b/gas/testsuite/gas/aarch64/lsui-bad.s new file mode 100644 index 0000000..aed14cd --- /dev/null +++ b/gas/testsuite/gas/aarch64/lsui-bad.s @@ -0,0 +1,32 @@ +sttxr: + sttxr w0, w1, [x0] + sttxr w0, w0, [x1] + sttxr w0, x1, [x0] + sttxr w0, x0, [x1] + +stltxr: + stltxr w0, w1, [x0] + stltxr w0, w0, [x1] + stltxr w0, x1, [x0] + stltxr w0, x0, [x1] + +caspt: + caspt x0, x0, x2, x3, [x0] + caspt x0, x1, x3, x4, [x0] + caspt x0, x1, x2, x3, [x0, #0x8] + +ldtnp: + ldtnp x0, x0, [x0] + ldtnp q0, q1, [x0] + ldtnp x0, x1, [x0, #508] + ldtnp x0, x1, [x0, #504]! + +ldtp: + ldtp x0, x0, [x1] + ldtp x0, x1, [x0, #504]! + ldtp x0, x1, [x0], #504 + ldtp q0, q0, [x1] + +sttp: + sttp x0, x1, [x0, #504]! + sttp x0, x1, [x0], #504 diff --git a/gas/testsuite/gas/aarch64/lsui.d b/gas/testsuite/gas/aarch64/lsui.d new file mode 100644 index 0000000..0a052c3 --- /dev/null +++ b/gas/testsuite/gas/aarch64/lsui.d @@ -0,0 +1,799 @@ +#name: FEAT_LSUI Test +#objdump: -dr +#as:-march=armv9-a+lsui+fp + +.*: file format .* + +Disassembly of section \.text: + +.* <ldtxr>: +.*: 895f7c00 ldtxr w0, \[x0\] +.*: 895f7fe0 ldtxr w0, \[sp\] +.*: 895f7c1f ldtxr wzr, \[x0\] +.*: c95f7c00 ldtxr x0, \[x0\] +.*: c95f7fe0 ldtxr x0, \[sp\] +.*: c95f7c1f ldtxr xzr, \[x0\] + +.* <ldatxr>: +.*: 895ffc00 ldatxr w0, \[x0\] +.*: 895fffe0 ldatxr w0, \[sp\] +.*: 895ffc1f ldatxr wzr, \[x0\] +.*: c95ffc00 ldatxr x0, \[x0\] +.*: c95fffe0 ldatxr x0, \[sp\] +.*: c95ffc1f ldatxr xzr, \[x0\] + +.* <sttxr>: +.*: 89007c44 sttxr w0, w4, \[x2\] +.*: 89007fe4 sttxr w0, w4, \[sp\] +.*: 89007c5f sttxr w0, wzr, \[x2\] +.*: 89007fff sttxr w0, wzr, \[sp\] +.*: 891d7c04 sttxr w29, w4, \[x0\] +.*: 891d7fe4 sttxr w29, w4, \[sp\] +.*: 891d7c1f sttxr w29, wzr, \[x0\] +.*: 891d7fff sttxr w29, wzr, \[sp\] +.*: c9007c44 sttxr w0, x4, \[x2\] +.*: c9007fe4 sttxr w0, x4, \[sp\] +.*: c9007c5f sttxr w0, xzr, \[x2\] +.*: c9007fff sttxr w0, xzr, \[sp\] +.*: c91d7c04 sttxr w29, x4, \[x0\] +.*: c91d7fe4 sttxr w29, x4, \[sp\] +.*: c91d7c1f sttxr w29, xzr, \[x0\] +.*: c91d7fff sttxr w29, xzr, \[sp\] + +.* <stltxr>: +.*: 8900fc44 stltxr w0, w4, \[x2\] +.*: 8900ffe4 stltxr w0, w4, \[sp\] +.*: 8900fc5f stltxr w0, wzr, \[x2\] +.*: 8900ffff stltxr w0, wzr, \[sp\] +.*: 891dfc04 stltxr w29, w4, \[x0\] +.*: 891dffe4 stltxr w29, w4, \[sp\] +.*: 891dfc1f stltxr w29, wzr, \[x0\] +.*: 891dffff stltxr w29, wzr, \[sp\] +.*: c900fc44 stltxr w0, x4, \[x2\] +.*: c900ffe4 stltxr w0, x4, \[sp\] +.*: c900fc5f stltxr w0, xzr, \[x2\] +.*: c900ffff stltxr w0, xzr, \[sp\] +.*: c91dfc04 stltxr w29, x4, \[x0\] +.*: c91dffe4 stltxr w29, x4, \[sp\] +.*: c91dfc1f stltxr w29, xzr, \[x0\] +.*: c91dffff stltxr w29, xzr, \[sp\] + +.* <cast>: +.*: c9807c00 cast x0, x0, \[x0\] +.*: c9807fe0 cast x0, x0, \[sp\] +.*: c9807c1f cast x0, xzr, \[x0\] +.*: c9807fff cast x0, xzr, \[sp\] +.*: c99f7c00 cast xzr, x0, \[x0\] +.*: c99f7fe0 cast xzr, x0, \[sp\] +.*: c99f7c1f cast xzr, xzr, \[x0\] +.*: c99f7fff cast xzr, xzr, \[sp\] + +.* <casat>: +.*: c9c07c00 casat x0, x0, \[x0\] +.*: c9c07fe0 casat x0, x0, \[sp\] +.*: c9c07c1f casat x0, xzr, \[x0\] +.*: c9c07fff casat x0, xzr, \[sp\] +.*: c9df7c00 casat xzr, x0, \[x0\] +.*: c9df7fe0 casat xzr, x0, \[sp\] +.*: c9df7c1f casat xzr, xzr, \[x0\] +.*: c9df7fff casat xzr, xzr, \[sp\] + +.* <casalt>: +.*: c9c0fc00 casalt x0, x0, \[x0\] +.*: c9c0ffe0 casalt x0, x0, \[sp\] +.*: c9c0fc1f casalt x0, xzr, \[x0\] +.*: c9c0ffff casalt x0, xzr, \[sp\] +.*: c9dffc00 casalt xzr, x0, \[x0\] +.*: c9dfffe0 casalt xzr, x0, \[sp\] +.*: c9dffc1f casalt xzr, xzr, \[x0\] +.*: c9dfffff casalt xzr, xzr, \[sp\] + +.* <caslt>: +.*: c980fc00 caslt x0, x0, \[x0\] +.*: c980ffe0 caslt x0, x0, \[sp\] +.*: c980fc1f caslt x0, xzr, \[x0\] +.*: c980ffff caslt x0, xzr, \[sp\] +.*: c99ffc00 caslt xzr, x0, \[x0\] +.*: c99fffe0 caslt xzr, x0, \[sp\] +.*: c99ffc1f caslt xzr, xzr, \[x0\] +.*: c99fffff caslt xzr, xzr, \[sp\] + +.* <caspt>: +.*: 49807c00 caspt x0, x1, x0, x1, \[x0\] +.*: 49807fe0 caspt x0, x1, x0, x1, \[sp\] +.*: 49807c1c caspt x0, x1, x28, x29, \[x0\] +.*: 49807ffc caspt x0, x1, x28, x29, \[sp\] +.*: 499c7c00 caspt x28, x29, x0, x1, \[x0\] +.*: 499c7fe0 caspt x28, x29, x0, x1, \[sp\] +.*: 499c7c1c caspt x28, x29, x28, x29, \[x0\] +.*: 499c7ffc caspt x28, x29, x28, x29, \[sp\] + +.* <caspat>: +.*: 49c07c00 caspat x0, x1, x0, x1, \[x0\] +.*: 49c07fe0 caspat x0, x1, x0, x1, \[sp\] +.*: 49c07c1c caspat x0, x1, x28, x29, \[x0\] +.*: 49c07ffc caspat x0, x1, x28, x29, \[sp\] +.*: 49dc7c00 caspat x28, x29, x0, x1, \[x0\] +.*: 49dc7fe0 caspat x28, x29, x0, x1, \[sp\] +.*: 49dc7c1c caspat x28, x29, x28, x29, \[x0\] +.*: 49dc7ffc caspat x28, x29, x28, x29, \[sp\] + +.* <caspalt>: +.*: 49c0fc00 caspalt x0, x1, x0, x1, \[x0\] +.*: 49c0ffe0 caspalt x0, x1, x0, x1, \[sp\] +.*: 49c0fc1c caspalt x0, x1, x28, x29, \[x0\] +.*: 49c0fffc caspalt x0, x1, x28, x29, \[sp\] +.*: 49dcfc00 caspalt x28, x29, x0, x1, \[x0\] +.*: 49dcffe0 caspalt x28, x29, x0, x1, \[sp\] +.*: 49dcfc1c caspalt x28, x29, x28, x29, \[x0\] +.*: 49dcfffc caspalt x28, x29, x28, x29, \[sp\] + +.* <casplt>: +.*: 4980fc00 casplt x0, x1, x0, x1, \[x0\] +.*: 4980ffe0 casplt x0, x1, x0, x1, \[sp\] +.*: 4980fc1c casplt x0, x1, x28, x29, \[x0\] +.*: 4980fffc casplt x0, x1, x28, x29, \[sp\] +.*: 499cfc00 casplt x28, x29, x0, x1, \[x0\] +.*: 499cffe0 casplt x28, x29, x0, x1, \[sp\] +.*: 499cfc1c casplt x28, x29, x28, x29, \[x0\] +.*: 499cfffc casplt x28, x29, x28, x29, \[sp\] + +.* <ldtp>: +.*: e9400800 ldtp x0, x2, \[x0\] +.*: e97f8800 ldtp x0, x2, \[x0, #-8\] +.*: e9400be0 ldtp x0, x2, \[sp\] +.*: e97f8be0 ldtp x0, x2, \[sp, #-8\] +.*: e9407c00 ldtp x0, xzr, \[x0\] +.*: e97ffc00 ldtp x0, xzr, \[x0, #-8\] +.*: e9407fe0 ldtp x0, xzr, \[sp\] +.*: e97fffe0 ldtp x0, xzr, \[sp, #-8\] +.*: e940081f ldtp xzr, x2, \[x0\] +.*: e97f881f ldtp xzr, x2, \[x0, #-8\] +.*: e9400bff ldtp xzr, x2, \[sp\] +.*: e97f8bff ldtp xzr, x2, \[sp, #-8\] +.*: e940741f ldtp xzr, x29, \[x0\] +.*: e97ff41f ldtp xzr, x29, \[x0, #-8\] +.*: e94077ff ldtp xzr, x29, \[sp\] +.*: e97ff7ff ldtp xzr, x29, \[sp, #-8\] +.*: e9c11040 ldtp x0, x4, \[x2, #16\]! +.*: e9ff9040 ldtp x0, x4, \[x2, #-8\]! +.*: e9c113e0 ldtp x0, x4, \[sp, #16\]! +.*: e9ff93e0 ldtp x0, x4, \[sp, #-8\]! +.*: e9c17c40 ldtp x0, xzr, \[x2, #16\]! +.*: e9fffc40 ldtp x0, xzr, \[x2, #-8\]! +.*: e9c17fe0 ldtp x0, xzr, \[sp, #16\]! +.*: e9ffffe0 ldtp x0, xzr, \[sp, #-8\]! +.*: e9c1005f ldtp xzr, x0, \[x2, #16\]! +.*: e9ff805f ldtp xzr, x0, \[x2, #-8\]! +.*: e9c103ff ldtp xzr, x0, \[sp, #16\]! +.*: e9ff83ff ldtp xzr, x0, \[sp, #-8\]! +.*: e9c1745f ldtp xzr, x29, \[x2, #16\]! +.*: e9fff45f ldtp xzr, x29, \[x2, #-8\]! +.*: e9c177ff ldtp xzr, x29, \[sp, #16\]! +.*: e9fff7ff ldtp xzr, x29, \[sp, #-8\]! +.*: e8c11040 ldtp x0, x4, \[x2\], #16 +.*: e8ff9040 ldtp x0, x4, \[x2\], #-8 +.*: e8c113e0 ldtp x0, x4, \[sp\], #16 +.*: e8ff93e0 ldtp x0, x4, \[sp\], #-8 +.*: e8c17c40 ldtp x0, xzr, \[x2\], #16 +.*: e8fffc40 ldtp x0, xzr, \[x2\], #-8 +.*: e8c17fe0 ldtp x0, xzr, \[sp\], #16 +.*: e8ffffe0 ldtp x0, xzr, \[sp\], #-8 +.*: e8c1005f ldtp xzr, x0, \[x2\], #16 +.*: e8ff805f ldtp xzr, x0, \[x2\], #-8 +.*: e8c103ff ldtp xzr, x0, \[sp\], #16 +.*: e8ff83ff ldtp xzr, x0, \[sp\], #-8 +.*: e8c1745f ldtp xzr, x29, \[x2\], #16 +.*: e8fff45f ldtp xzr, x29, \[x2\], #-8 +.*: e8c177ff ldtp xzr, x29, \[sp\], #16 +.*: e8fff7ff ldtp xzr, x29, \[sp\], #-8 +.*: ed400800 ldtp q0, q2, \[x0\] +.*: ed7f8800 ldtp q0, q2, \[x0, #-16\] +.*: ed400be0 ldtp q0, q2, \[sp\] +.*: ed7f8be0 ldtp q0, q2, \[sp, #-16\] +.*: ed407c00 ldtp q0, q31, \[x0\] +.*: ed7ffc00 ldtp q0, q31, \[x0, #-16\] +.*: ed407fe0 ldtp q0, q31, \[sp\] +.*: ed7fffe0 ldtp q0, q31, \[sp, #-16\] +.*: ed40001f ldtp q31, q0, \[x0\] +.*: ed7f801f ldtp q31, q0, \[x0, #-16\] +.*: ed4003ff ldtp q31, q0, \[sp\] +.*: ed7f83ff ldtp q31, q0, \[sp, #-16\] +.*: ed40741f ldtp q31, q29, \[x0\] +.*: ed7ff41f ldtp q31, q29, \[x0, #-16\] +.*: ed4077ff ldtp q31, q29, \[sp\] +.*: ed7ff7ff ldtp q31, q29, \[sp, #-16\] +.*: edc10800 ldtp q0, q2, \[x0, #32\]! +.*: edff8800 ldtp q0, q2, \[x0, #-16\]! +.*: edc10be0 ldtp q0, q2, \[sp, #32\]! +.*: edff8be0 ldtp q0, q2, \[sp, #-16\]! +.*: edc17c00 ldtp q0, q31, \[x0, #32\]! +.*: edfffc00 ldtp q0, q31, \[x0, #-16\]! +.*: edc17fe0 ldtp q0, q31, \[sp, #32\]! +.*: edffffe0 ldtp q0, q31, \[sp, #-16\]! +.*: edc1081f ldtp q31, q2, \[x0, #32\]! +.*: edff881f ldtp q31, q2, \[x0, #-16\]! +.*: edc10bff ldtp q31, q2, \[sp, #32\]! +.*: edff8bff ldtp q31, q2, \[sp, #-16\]! +.*: edc1741f ldtp q31, q29, \[x0, #32\]! +.*: edfff41f ldtp q31, q29, \[x0, #-16\]! +.*: edc177ff ldtp q31, q29, \[sp, #32\]! +.*: edfff7ff ldtp q31, q29, \[sp, #-16\]! +.*: ecc10800 ldtp q0, q2, \[x0\], #32 +.*: ecff8800 ldtp q0, q2, \[x0\], #-16 +.*: ecc10be0 ldtp q0, q2, \[sp\], #32 +.*: ecff8be0 ldtp q0, q2, \[sp\], #-16 +.*: ecc17c00 ldtp q0, q31, \[x0\], #32 +.*: ecfffc00 ldtp q0, q31, \[x0\], #-16 +.*: ecc17fe0 ldtp q0, q31, \[sp\], #32 +.*: ecffffe0 ldtp q0, q31, \[sp\], #-16 +.*: ecc1081f ldtp q31, q2, \[x0\], #32 +.*: ecff881f ldtp q31, q2, \[x0\], #-16 +.*: ecc10bff ldtp q31, q2, \[sp\], #32 +.*: ecff8bff ldtp q31, q2, \[sp\], #-16 +.*: ecc1741f ldtp q31, q29, \[x0\], #32 +.*: ecfff41f ldtp q31, q29, \[x0\], #-16 +.*: ecc177ff ldtp q31, q29, \[sp\], #32 +.*: ecfff7ff ldtp q31, q29, \[sp\], #-16 + +.* <sttp>: +.*: e9000800 sttp x0, x2, \[x0\] +.*: e93f8800 sttp x0, x2, \[x0, #-8\] +.*: e9000be0 sttp x0, x2, \[sp\] +.*: e93f8be0 sttp x0, x2, \[sp, #-8\] +.*: e9007c00 sttp x0, xzr, \[x0\] +.*: e93ffc00 sttp x0, xzr, \[x0, #-8\] +.*: e9007fe0 sttp x0, xzr, \[sp\] +.*: e93fffe0 sttp x0, xzr, \[sp, #-8\] +.*: e900081f sttp xzr, x2, \[x0\] +.*: e93f881f sttp xzr, x2, \[x0, #-8\] +.*: e9000bff sttp xzr, x2, \[sp\] +.*: e93f8bff sttp xzr, x2, \[sp, #-8\] +.*: e900741f sttp xzr, x29, \[x0\] +.*: e93ff41f sttp xzr, x29, \[x0, #-8\] +.*: e90077ff sttp xzr, x29, \[sp\] +.*: e93ff7ff sttp xzr, x29, \[sp, #-8\] +.*: e9811040 sttp x0, x4, \[x2, #16\]! +.*: e9bf9040 sttp x0, x4, \[x2, #-8\]! +.*: e98113e0 sttp x0, x4, \[sp, #16\]! +.*: e9bf93e0 sttp x0, x4, \[sp, #-8\]! +.*: e9817c40 sttp x0, xzr, \[x2, #16\]! +.*: e9bffc40 sttp x0, xzr, \[x2, #-8\]! +.*: e9817fe0 sttp x0, xzr, \[sp, #16\]! +.*: e9bfffe0 sttp x0, xzr, \[sp, #-8\]! +.*: e981005f sttp xzr, x0, \[x2, #16\]! +.*: e9bf805f sttp xzr, x0, \[x2, #-8\]! +.*: e98103ff sttp xzr, x0, \[sp, #16\]! +.*: e9bf83ff sttp xzr, x0, \[sp, #-8\]! +.*: e981745f sttp xzr, x29, \[x2, #16\]! +.*: e9bff45f sttp xzr, x29, \[x2, #-8\]! +.*: e98177ff sttp xzr, x29, \[sp, #16\]! +.*: e9bff7ff sttp xzr, x29, \[sp, #-8\]! +.*: e8811040 sttp x0, x4, \[x2\], #16 +.*: e8bf9040 sttp x0, x4, \[x2\], #-8 +.*: e88113e0 sttp x0, x4, \[sp\], #16 +.*: e8bf93e0 sttp x0, x4, \[sp\], #-8 +.*: e8817c40 sttp x0, xzr, \[x2\], #16 +.*: e8bffc40 sttp x0, xzr, \[x2\], #-8 +.*: e8817fe0 sttp x0, xzr, \[sp\], #16 +.*: e8bfffe0 sttp x0, xzr, \[sp\], #-8 +.*: e881005f sttp xzr, x0, \[x2\], #16 +.*: e8bf805f sttp xzr, x0, \[x2\], #-8 +.*: e88103ff sttp xzr, x0, \[sp\], #16 +.*: e8bf83ff sttp xzr, x0, \[sp\], #-8 +.*: e881745f sttp xzr, x29, \[x2\], #16 +.*: e8bff45f sttp xzr, x29, \[x2\], #-8 +.*: e88177ff sttp xzr, x29, \[sp\], #16 +.*: e8bff7ff sttp xzr, x29, \[sp\], #-8 +.*: ed000800 sttp q0, q2, \[x0\] +.*: ed3f8800 sttp q0, q2, \[x0, #-16\] +.*: ed000be0 sttp q0, q2, \[sp\] +.*: ed3f8be0 sttp q0, q2, \[sp, #-16\] +.*: ed007c00 sttp q0, q31, \[x0\] +.*: ed3ffc00 sttp q0, q31, \[x0, #-16\] +.*: ed007fe0 sttp q0, q31, \[sp\] +.*: ed3fffe0 sttp q0, q31, \[sp, #-16\] +.*: ed00001f sttp q31, q0, \[x0\] +.*: ed3f801f sttp q31, q0, \[x0, #-16\] +.*: ed0003ff sttp q31, q0, \[sp\] +.*: ed3f83ff sttp q31, q0, \[sp, #-16\] +.*: ed00741f sttp q31, q29, \[x0\] +.*: ed3ff41f sttp q31, q29, \[x0, #-16\] +.*: ed0077ff sttp q31, q29, \[sp\] +.*: ed3ff7ff sttp q31, q29, \[sp, #-16\] +.*: ed810800 sttp q0, q2, \[x0, #32\]! +.*: edbf8800 sttp q0, q2, \[x0, #-16\]! +.*: ed810be0 sttp q0, q2, \[sp, #32\]! +.*: edbf8be0 sttp q0, q2, \[sp, #-16\]! +.*: ed817c00 sttp q0, q31, \[x0, #32\]! +.*: edbffc00 sttp q0, q31, \[x0, #-16\]! +.*: ed817fe0 sttp q0, q31, \[sp, #32\]! +.*: edbfffe0 sttp q0, q31, \[sp, #-16\]! +.*: ed81081f sttp q31, q2, \[x0, #32\]! +.*: edbf881f sttp q31, q2, \[x0, #-16\]! +.*: ed810bff sttp q31, q2, \[sp, #32\]! +.*: edbf8bff sttp q31, q2, \[sp, #-16\]! +.*: ed81741f sttp q31, q29, \[x0, #32\]! +.*: edbff41f sttp q31, q29, \[x0, #-16\]! +.*: ed8177ff sttp q31, q29, \[sp, #32\]! +.*: edbff7ff sttp q31, q29, \[sp, #-16\]! +.*: ec810800 sttp q0, q2, \[x0\], #32 +.*: ecbf8800 sttp q0, q2, \[x0\], #-16 +.*: ec810be0 sttp q0, q2, \[sp\], #32 +.*: ecbf8be0 sttp q0, q2, \[sp\], #-16 +.*: ec817c00 sttp q0, q31, \[x0\], #32 +.*: ecbffc00 sttp q0, q31, \[x0\], #-16 +.*: ec817fe0 sttp q0, q31, \[sp\], #32 +.*: ecbfffe0 sttp q0, q31, \[sp\], #-16 +.*: ec81081f sttp q31, q2, \[x0\], #32 +.*: ecbf881f sttp q31, q2, \[x0\], #-16 +.*: ec810bff sttp q31, q2, \[sp\], #32 +.*: ecbf8bff sttp q31, q2, \[sp\], #-16 +.*: ec81741f sttp q31, q29, \[x0\], #32 +.*: ecbff41f sttp q31, q29, \[x0\], #-16 +.*: ec8177ff sttp q31, q29, \[sp\], #32 +.*: ecbff7ff sttp q31, q29, \[sp\], #-16 + +.* <swpt>: +.*: 19208400 swpt w0, w0, \[x0\] +.*: 192087e0 swpt w0, w0, \[sp\] +.*: 1920841f swpt w0, wzr, \[x0\] +.*: 192087ff swpt w0, wzr, \[sp\] +.*: 193f8400 swpt wzr, w0, \[x0\] +.*: 193f87e0 swpt wzr, w0, \[sp\] +.*: 193f841f swpt wzr, wzr, \[x0\] +.*: 193f87ff swpt wzr, wzr, \[sp\] +.*: 59208400 swpt x0, x0, \[x0\] +.*: 592087e0 swpt x0, x0, \[sp\] +.*: 5920841f swpt x0, xzr, \[x0\] +.*: 592087ff swpt x0, xzr, \[sp\] +.*: 593f8400 swpt xzr, x0, \[x0\] +.*: 593f87e0 swpt xzr, x0, \[sp\] +.*: 593f841f swpt xzr, xzr, \[x0\] +.*: 593f87ff swpt xzr, xzr, \[sp\] + +.* <swpta>: +.*: 19a08400 swpta w0, w0, \[x0\] +.*: 19a087e0 swpta w0, w0, \[sp\] +.*: 19a0841f swpta w0, wzr, \[x0\] +.*: 19a087ff swpta w0, wzr, \[sp\] +.*: 19bf8400 swpta wzr, w0, \[x0\] +.*: 19bf87e0 swpta wzr, w0, \[sp\] +.*: 19bf841f swpta wzr, wzr, \[x0\] +.*: 19bf87ff swpta wzr, wzr, \[sp\] +.*: 59a08400 swpta x0, x0, \[x0\] +.*: 59a087e0 swpta x0, x0, \[sp\] +.*: 59a0841f swpta x0, xzr, \[x0\] +.*: 59a087ff swpta x0, xzr, \[sp\] +.*: 59bf8400 swpta xzr, x0, \[x0\] +.*: 59bf87e0 swpta xzr, x0, \[sp\] +.*: 59bf841f swpta xzr, xzr, \[x0\] +.*: 59bf87ff swpta xzr, xzr, \[sp\] + +.* <swptal>: +.*: 19e08400 swptal w0, w0, \[x0\] +.*: 19e087e0 swptal w0, w0, \[sp\] +.*: 19e0841f swptal w0, wzr, \[x0\] +.*: 19e087ff swptal w0, wzr, \[sp\] +.*: 19ff8400 swptal wzr, w0, \[x0\] +.*: 19ff87e0 swptal wzr, w0, \[sp\] +.*: 19ff841f swptal wzr, wzr, \[x0\] +.*: 19ff87ff swptal wzr, wzr, \[sp\] +.*: 59e08400 swptal x0, x0, \[x0\] +.*: 59e087e0 swptal x0, x0, \[sp\] +.*: 59e0841f swptal x0, xzr, \[x0\] +.*: 59e087ff swptal x0, xzr, \[sp\] +.*: 59ff8400 swptal xzr, x0, \[x0\] +.*: 59ff87e0 swptal xzr, x0, \[sp\] +.*: 59ff841f swptal xzr, xzr, \[x0\] +.*: 59ff87ff swptal xzr, xzr, \[sp\] + +.* <swptl>: +.*: 19608400 swptl w0, w0, \[x0\] +.*: 196087e0 swptl w0, w0, \[sp\] +.*: 1960841f swptl w0, wzr, \[x0\] +.*: 196087ff swptl w0, wzr, \[sp\] +.*: 197f8400 swptl wzr, w0, \[x0\] +.*: 197f87e0 swptl wzr, w0, \[sp\] +.*: 197f841f swptl wzr, wzr, \[x0\] +.*: 197f87ff swptl wzr, wzr, \[sp\] +.*: 59608400 swptl x0, x0, \[x0\] +.*: 596087e0 swptl x0, x0, \[sp\] +.*: 5960841f swptl x0, xzr, \[x0\] +.*: 596087ff swptl x0, xzr, \[sp\] +.*: 597f8400 swptl xzr, x0, \[x0\] +.*: 597f87e0 swptl xzr, x0, \[sp\] +.*: 597f841f swptl xzr, xzr, \[x0\] +.*: 597f87ff swptl xzr, xzr, \[sp\] + +.* <ldtadd>: +.*: 19200400 ldtadd w0, w0, \[x0\] +.*: 192007e0 ldtadd w0, w0, \[sp\] +.*: 1920041f sttadd w0, \[x0\] +.*: 192007ff sttadd w0, \[sp\] +.*: 193f0400 ldtadd wzr, w0, \[x0\] +.*: 193f07e0 ldtadd wzr, w0, \[sp\] +.*: 193f041f sttadd wzr, \[x0\] +.*: 193f07ff sttadd wzr, \[sp\] +.*: 1920041d ldtadd w0, w29, \[x0\] +.*: 192007fd ldtadd w0, w29, \[sp\] +.*: 193f041d ldtadd wzr, w29, \[x0\] +.*: 193f07fd ldtadd wzr, w29, \[sp\] +.*: 59200400 ldtadd x0, x0, \[x0\] +.*: 592007e0 ldtadd x0, x0, \[sp\] +.*: 5920041f sttadd x0, \[x0\] +.*: 592007ff sttadd x0, \[sp\] +.*: 593f0400 ldtadd xzr, x0, \[x0\] +.*: 593f07e0 ldtadd xzr, x0, \[sp\] +.*: 593f041f sttadd xzr, \[x0\] +.*: 593f07ff sttadd xzr, \[sp\] +.*: 5920041d ldtadd x0, x29, \[x0\] +.*: 592007fd ldtadd x0, x29, \[sp\] +.*: 593f041d ldtadd xzr, x29, \[x0\] +.*: 593f07fd ldtadd xzr, x29, \[sp\] + +.* <sttadd>: +.*: 1920041f sttadd w0, \[x0\] +.*: 192007ff sttadd w0, \[sp\] +.*: 193f041f sttadd wzr, \[x0\] +.*: 193f07ff sttadd wzr, \[sp\] +.*: 5920041f sttadd x0, \[x0\] +.*: 592007ff sttadd x0, \[sp\] +.*: 593f041f sttadd xzr, \[x0\] +.*: 593f07ff sttadd xzr, \[sp\] + +.* <ldtadda>: +.*: 19a00400 ldtadda w0, w0, \[x0\] +.*: 19a007e0 ldtadda w0, w0, \[sp\] +.*: 19a0041f ldtadda w0, wzr, \[x0\] +.*: 19a007ff ldtadda w0, wzr, \[sp\] +.*: 19bf0400 ldtadda wzr, w0, \[x0\] +.*: 19bf07e0 ldtadda wzr, w0, \[sp\] +.*: 19bf041f ldtadda wzr, wzr, \[x0\] +.*: 19bf07ff ldtadda wzr, wzr, \[sp\] +.*: 59a00400 ldtadda x0, x0, \[x0\] +.*: 59a007e0 ldtadda x0, x0, \[sp\] +.*: 59a0041f ldtadda x0, xzr, \[x0\] +.*: 59a007ff ldtadda x0, xzr, \[sp\] +.*: 59bf0400 ldtadda xzr, x0, \[x0\] +.*: 59bf07e0 ldtadda xzr, x0, \[sp\] +.*: 59bf041f ldtadda xzr, xzr, \[x0\] +.*: 59bf07ff ldtadda xzr, xzr, \[sp\] + +.* <ldtaddal>: +.*: 19e00400 ldtaddal w0, w0, \[x0\] +.*: 19e007e0 ldtaddal w0, w0, \[sp\] +.*: 19e0041f ldtaddal w0, wzr, \[x0\] +.*: 19e007ff ldtaddal w0, wzr, \[sp\] +.*: 19ff0400 ldtaddal wzr, w0, \[x0\] +.*: 19ff07e0 ldtaddal wzr, w0, \[sp\] +.*: 19ff041f ldtaddal wzr, wzr, \[x0\] +.*: 19ff07ff ldtaddal wzr, wzr, \[sp\] +.*: 59e00400 ldtaddal x0, x0, \[x0\] +.*: 59e007e0 ldtaddal x0, x0, \[sp\] +.*: 59e0041f ldtaddal x0, xzr, \[x0\] +.*: 59e007ff ldtaddal x0, xzr, \[sp\] +.*: 59ff0400 ldtaddal xzr, x0, \[x0\] +.*: 59ff07e0 ldtaddal xzr, x0, \[sp\] +.*: 59ff041f ldtaddal xzr, xzr, \[x0\] +.*: 59ff07ff ldtaddal xzr, xzr, \[sp\] + +.* <ldtaddl>: +.*: 19600400 ldtaddl w0, w0, \[x0\] +.*: 196007e0 ldtaddl w0, w0, \[sp\] +.*: 1960041f sttaddl w0, \[x0\] +.*: 196007ff sttaddl w0, \[sp\] +.*: 197f0400 ldtaddl wzr, w0, \[x0\] +.*: 197f07e0 ldtaddl wzr, w0, \[sp\] +.*: 197f041f sttaddl wzr, \[x0\] +.*: 197f07ff sttaddl wzr, \[sp\] +.*: 1960041d ldtaddl w0, w29, \[x0\] +.*: 196007fd ldtaddl w0, w29, \[sp\] +.*: 197f041d ldtaddl wzr, w29, \[x0\] +.*: 197f07fd ldtaddl wzr, w29, \[sp\] +.*: 59600400 ldtaddl x0, x0, \[x0\] +.*: 596007e0 ldtaddl x0, x0, \[sp\] +.*: 5960041f sttaddl x0, \[x0\] +.*: 596007ff sttaddl x0, \[sp\] +.*: 597f0400 ldtaddl xzr, x0, \[x0\] +.*: 597f07e0 ldtaddl xzr, x0, \[sp\] +.*: 597f041f sttaddl xzr, \[x0\] +.*: 597f07ff sttaddl xzr, \[sp\] +.*: 5960041d ldtaddl x0, x29, \[x0\] +.*: 596007fd ldtaddl x0, x29, \[sp\] +.*: 597f041d ldtaddl xzr, x29, \[x0\] +.*: 597f07fd ldtaddl xzr, x29, \[sp\] + +.* <sttaddl>: +.*: 1960041f sttaddl w0, \[x0\] +.*: 196007ff sttaddl w0, \[sp\] +.*: 197f041f sttaddl wzr, \[x0\] +.*: 197f07ff sttaddl wzr, \[sp\] +.*: 5960041f sttaddl x0, \[x0\] +.*: 596007ff sttaddl x0, \[sp\] +.*: 597f041f sttaddl xzr, \[x0\] +.*: 597f07ff sttaddl xzr, \[sp\] + +.* <ldtclr>: +.*: 19201400 ldtclr w0, w0, \[x0\] +.*: 192017e0 ldtclr w0, w0, \[sp\] +.*: 1920141f sttclr w0, \[x0\] +.*: 192017ff sttclr w0, \[sp\] +.*: 193f1400 ldtclr wzr, w0, \[x0\] +.*: 193f17e0 ldtclr wzr, w0, \[sp\] +.*: 193f141f sttclr wzr, \[x0\] +.*: 193f17ff sttclr wzr, \[sp\] +.*: 1920141d ldtclr w0, w29, \[x0\] +.*: 192017fd ldtclr w0, w29, \[sp\] +.*: 193f141d ldtclr wzr, w29, \[x0\] +.*: 193f17fd ldtclr wzr, w29, \[sp\] +.*: 59201400 ldtclr x0, x0, \[x0\] +.*: 592017e0 ldtclr x0, x0, \[sp\] +.*: 5920141f sttclr x0, \[x0\] +.*: 592017ff sttclr x0, \[sp\] +.*: 593f1400 ldtclr xzr, x0, \[x0\] +.*: 593f17e0 ldtclr xzr, x0, \[sp\] +.*: 593f141f sttclr xzr, \[x0\] +.*: 593f17ff sttclr xzr, \[sp\] +.*: 5920141d ldtclr x0, x29, \[x0\] +.*: 592017fd ldtclr x0, x29, \[sp\] +.*: 593f141d ldtclr xzr, x29, \[x0\] +.*: 593f17fd ldtclr xzr, x29, \[sp\] + +.* <sttclr>: +.*: 1920141f sttclr w0, \[x0\] +.*: 192017ff sttclr w0, \[sp\] +.*: 193f141f sttclr wzr, \[x0\] +.*: 193f17ff sttclr wzr, \[sp\] +.*: 5920141f sttclr x0, \[x0\] +.*: 592017ff sttclr x0, \[sp\] +.*: 593f141f sttclr xzr, \[x0\] +.*: 593f17ff sttclr xzr, \[sp\] + +.* <ldtclra>: +.*: 19a01400 ldtclra w0, w0, \[x0\] +.*: 19a017e0 ldtclra w0, w0, \[sp\] +.*: 19a0141f ldtclra w0, wzr, \[x0\] +.*: 19a017ff ldtclra w0, wzr, \[sp\] +.*: 19bf1400 ldtclra wzr, w0, \[x0\] +.*: 19bf17e0 ldtclra wzr, w0, \[sp\] +.*: 19bf141f ldtclra wzr, wzr, \[x0\] +.*: 19bf17ff ldtclra wzr, wzr, \[sp\] +.*: 59a01400 ldtclra x0, x0, \[x0\] +.*: 59a017e0 ldtclra x0, x0, \[sp\] +.*: 59a0141f ldtclra x0, xzr, \[x0\] +.*: 59a017ff ldtclra x0, xzr, \[sp\] +.*: 59bf1400 ldtclra xzr, x0, \[x0\] +.*: 59bf17e0 ldtclra xzr, x0, \[sp\] +.*: 59bf141f ldtclra xzr, xzr, \[x0\] +.*: 59bf17ff ldtclra xzr, xzr, \[sp\] + +.* <ldtclral>: +.*: 19e01400 ldtclral w0, w0, \[x0\] +.*: 19e017e0 ldtclral w0, w0, \[sp\] +.*: 19e0141f ldtclral w0, wzr, \[x0\] +.*: 19e017ff ldtclral w0, wzr, \[sp\] +.*: 19ff1400 ldtclral wzr, w0, \[x0\] +.*: 19ff17e0 ldtclral wzr, w0, \[sp\] +.*: 19ff141f ldtclral wzr, wzr, \[x0\] +.*: 19ff17ff ldtclral wzr, wzr, \[sp\] +.*: 59e01400 ldtclral x0, x0, \[x0\] +.*: 59e017e0 ldtclral x0, x0, \[sp\] +.*: 59e0141f ldtclral x0, xzr, \[x0\] +.*: 59e017ff ldtclral x0, xzr, \[sp\] +.*: 59ff1400 ldtclral xzr, x0, \[x0\] +.*: 59ff17e0 ldtclral xzr, x0, \[sp\] +.*: 59ff141f ldtclral xzr, xzr, \[x0\] +.*: 59ff17ff ldtclral xzr, xzr, \[sp\] + +.* <ldtclrl>: +.*: 19601400 ldtclrl w0, w0, \[x0\] +.*: 196017e0 ldtclrl w0, w0, \[sp\] +.*: 1960141f sttclrl w0, \[x0\] +.*: 196017ff sttclrl w0, \[sp\] +.*: 197f1400 ldtclrl wzr, w0, \[x0\] +.*: 197f17e0 ldtclrl wzr, w0, \[sp\] +.*: 197f141f sttclrl wzr, \[x0\] +.*: 197f17ff sttclrl wzr, \[sp\] +.*: 1960141d ldtclrl w0, w29, \[x0\] +.*: 196017fd ldtclrl w0, w29, \[sp\] +.*: 197f141d ldtclrl wzr, w29, \[x0\] +.*: 197f17fd ldtclrl wzr, w29, \[sp\] +.*: 59601400 ldtclrl x0, x0, \[x0\] +.*: 596017e0 ldtclrl x0, x0, \[sp\] +.*: 5960141f sttclrl x0, \[x0\] +.*: 596017ff sttclrl x0, \[sp\] +.*: 597f1400 ldtclrl xzr, x0, \[x0\] +.*: 597f17e0 ldtclrl xzr, x0, \[sp\] +.*: 597f141f sttclrl xzr, \[x0\] +.*: 597f17ff sttclrl xzr, \[sp\] +.*: 5960141d ldtclrl x0, x29, \[x0\] +.*: 596017fd ldtclrl x0, x29, \[sp\] +.*: 597f141d ldtclrl xzr, x29, \[x0\] +.*: 597f17fd ldtclrl xzr, x29, \[sp\] + +.* <sttclrl>: +.*: 1960141f sttclrl w0, \[x0\] +.*: 196017ff sttclrl w0, \[sp\] +.*: 197f141f sttclrl wzr, \[x0\] +.*: 197f17ff sttclrl wzr, \[sp\] +.*: 5960141f sttclrl x0, \[x0\] +.*: 596017ff sttclrl x0, \[sp\] +.*: 597f141f sttclrl xzr, \[x0\] +.*: 597f17ff sttclrl xzr, \[sp\] + +.* <ldtset>: +.*: 19203400 ldtset w0, w0, \[x0\] +.*: 192037e0 ldtset w0, w0, \[sp\] +.*: 1920341f sttset w0, \[x0\] +.*: 192037ff sttset w0, \[sp\] +.*: 193f3400 ldtset wzr, w0, \[x0\] +.*: 193f37e0 ldtset wzr, w0, \[sp\] +.*: 193f341f sttset wzr, \[x0\] +.*: 193f37ff sttset wzr, \[sp\] +.*: 1920341d ldtset w0, w29, \[x0\] +.*: 192037fd ldtset w0, w29, \[sp\] +.*: 193f341d ldtset wzr, w29, \[x0\] +.*: 193f37fd ldtset wzr, w29, \[sp\] +.*: 59203400 ldtset x0, x0, \[x0\] +.*: 592037e0 ldtset x0, x0, \[sp\] +.*: 5920341f sttset x0, \[x0\] +.*: 592037ff sttset x0, \[sp\] +.*: 593f3400 ldtset xzr, x0, \[x0\] +.*: 593f37e0 ldtset xzr, x0, \[sp\] +.*: 593f341f sttset xzr, \[x0\] +.*: 593f37ff sttset xzr, \[sp\] +.*: 5920341d ldtset x0, x29, \[x0\] +.*: 592037fd ldtset x0, x29, \[sp\] +.*: 593f341d ldtset xzr, x29, \[x0\] +.*: 593f37fd ldtset xzr, x29, \[sp\] + +.* <sttset>: +.*: 1920341f sttset w0, \[x0\] +.*: 192037ff sttset w0, \[sp\] +.*: 193f341f sttset wzr, \[x0\] +.*: 193f37ff sttset wzr, \[sp\] +.*: 5920341f sttset x0, \[x0\] +.*: 592037ff sttset x0, \[sp\] +.*: 593f341f sttset xzr, \[x0\] +.*: 593f37ff sttset xzr, \[sp\] + +.* <ldtseta>: +.*: 19a03400 ldtseta w0, w0, \[x0\] +.*: 19a037e0 ldtseta w0, w0, \[sp\] +.*: 19a0341f ldtseta w0, wzr, \[x0\] +.*: 19a037ff ldtseta w0, wzr, \[sp\] +.*: 19bf3400 ldtseta wzr, w0, \[x0\] +.*: 19bf37e0 ldtseta wzr, w0, \[sp\] +.*: 19bf341f ldtseta wzr, wzr, \[x0\] +.*: 19bf37ff ldtseta wzr, wzr, \[sp\] +.*: 59a03400 ldtseta x0, x0, \[x0\] +.*: 59a037e0 ldtseta x0, x0, \[sp\] +.*: 59a0341f ldtseta x0, xzr, \[x0\] +.*: 59a037ff ldtseta x0, xzr, \[sp\] +.*: 59bf3400 ldtseta xzr, x0, \[x0\] +.*: 59bf37e0 ldtseta xzr, x0, \[sp\] +.*: 59bf341f ldtseta xzr, xzr, \[x0\] +.*: 59bf37ff ldtseta xzr, xzr, \[sp\] + +.* <ldtsetal>: +.*: 19e03400 ldtsetal w0, w0, \[x0\] +.*: 19e037e0 ldtsetal w0, w0, \[sp\] +.*: 19e0341f ldtsetal w0, wzr, \[x0\] +.*: 19e037ff ldtsetal w0, wzr, \[sp\] +.*: 19ff3400 ldtsetal wzr, w0, \[x0\] +.*: 19ff37e0 ldtsetal wzr, w0, \[sp\] +.*: 19ff341f ldtsetal wzr, wzr, \[x0\] +.*: 19ff37ff ldtsetal wzr, wzr, \[sp\] +.*: 59e03400 ldtsetal x0, x0, \[x0\] +.*: 59e037e0 ldtsetal x0, x0, \[sp\] +.*: 59e0341f ldtsetal x0, xzr, \[x0\] +.*: 59e037ff ldtsetal x0, xzr, \[sp\] +.*: 59ff3400 ldtsetal xzr, x0, \[x0\] +.*: 59ff37e0 ldtsetal xzr, x0, \[sp\] +.*: 59ff341f ldtsetal xzr, xzr, \[x0\] +.*: 59ff37ff ldtsetal xzr, xzr, \[sp\] + +.* <ldtsetl>: +.*: 19603400 ldtsetl w0, w0, \[x0\] +.*: 196037e0 ldtsetl w0, w0, \[sp\] +.*: 1960341f sttsetl w0, \[x0\] +.*: 196037ff sttsetl w0, \[sp\] +.*: 197f3400 ldtsetl wzr, w0, \[x0\] +.*: 197f37e0 ldtsetl wzr, w0, \[sp\] +.*: 197f341f sttsetl wzr, \[x0\] +.*: 197f37ff sttsetl wzr, \[sp\] +.*: 1960341d ldtsetl w0, w29, \[x0\] +.*: 196037fd ldtsetl w0, w29, \[sp\] +.*: 197f341d ldtsetl wzr, w29, \[x0\] +.*: 197f37fd ldtsetl wzr, w29, \[sp\] +.*: 59603400 ldtsetl x0, x0, \[x0\] +.*: 596037e0 ldtsetl x0, x0, \[sp\] +.*: 5960341f sttsetl x0, \[x0\] +.*: 596037ff sttsetl x0, \[sp\] +.*: 597f3400 ldtsetl xzr, x0, \[x0\] +.*: 597f37e0 ldtsetl xzr, x0, \[sp\] +.*: 597f341f sttsetl xzr, \[x0\] +.*: 597f37ff sttsetl xzr, \[sp\] +.*: 5960341d ldtsetl x0, x29, \[x0\] +.*: 596037fd ldtsetl x0, x29, \[sp\] +.*: 597f341d ldtsetl xzr, x29, \[x0\] +.*: 597f37fd ldtsetl xzr, x29, \[sp\] + +.* <sttsetl>: +.*: 1960341f sttsetl w0, \[x0\] +.*: 196037ff sttsetl w0, \[sp\] +.*: 197f341f sttsetl wzr, \[x0\] +.*: 197f37ff sttsetl wzr, \[sp\] +.*: 5960341f sttsetl x0, \[x0\] +.*: 596037ff sttsetl x0, \[sp\] +.*: 597f341f sttsetl xzr, \[x0\] +.*: 597f37ff sttsetl xzr, \[sp\] + +.* <ldtnp>: +.*: e8400800 ldtnp x0, x2, \[x0\] +.*: e87f8800 ldtnp x0, x2, \[x0, #-8\] +.*: e8400be0 ldtnp x0, x2, \[sp\] +.*: e87f8be0 ldtnp x0, x2, \[sp, #-8\] +.*: e8407c00 ldtnp x0, xzr, \[x0\] +.*: e87ffc00 ldtnp x0, xzr, \[x0, #-8\] +.*: e8407fe0 ldtnp x0, xzr, \[sp\] +.*: e87fffe0 ldtnp x0, xzr, \[sp, #-8\] +.*: e840081f ldtnp xzr, x2, \[x0\] +.*: e87f881f ldtnp xzr, x2, \[x0, #-8\] +.*: e8400bff ldtnp xzr, x2, \[sp\] +.*: e87f8bff ldtnp xzr, x2, \[sp, #-8\] +.*: e840741f ldtnp xzr, x29, \[x0\] +.*: e87ff41f ldtnp xzr, x29, \[x0, #-8\] +.*: e84077ff ldtnp xzr, x29, \[sp\] +.*: e87ff7ff ldtnp xzr, x29, \[sp, #-8\] +.*: ec400800 ldtnp q0, q2, \[x0\] +.*: ec7f8800 ldtnp q0, q2, \[x0, #-16\] +.*: ec400be0 ldtnp q0, q2, \[sp\] +.*: ec7f8be0 ldtnp q0, q2, \[sp, #-16\] +.*: ec407c00 ldtnp q0, q31, \[x0\] +.*: ec7ffc00 ldtnp q0, q31, \[x0, #-16\] +.*: ec407fe0 ldtnp q0, q31, \[sp\] +.*: ec7fffe0 ldtnp q0, q31, \[sp, #-16\] +.*: ec40001f ldtnp q31, q0, \[x0\] +.*: ec7f801f ldtnp q31, q0, \[x0, #-16\] +.*: ec4003ff ldtnp q31, q0, \[sp\] +.*: ec7f83ff ldtnp q31, q0, \[sp, #-16\] +.*: ec40741f ldtnp q31, q29, \[x0\] +.*: ec7ff41f ldtnp q31, q29, \[x0, #-16\] +.*: ec4077ff ldtnp q31, q29, \[sp\] +.*: ec7ff7ff ldtnp q31, q29, \[sp, #-16\] + +.* <sttnp>: +.*: e8000800 sttnp x0, x2, \[x0\] +.*: e83f8800 sttnp x0, x2, \[x0, #-8\] +.*: e8000be0 sttnp x0, x2, \[sp\] +.*: e83f8be0 sttnp x0, x2, \[sp, #-8\] +.*: e8007c00 sttnp x0, xzr, \[x0\] +.*: e83ffc00 sttnp x0, xzr, \[x0, #-8\] +.*: e8007fe0 sttnp x0, xzr, \[sp\] +.*: e83fffe0 sttnp x0, xzr, \[sp, #-8\] +.*: e800081f sttnp xzr, x2, \[x0\] +.*: e83f881f sttnp xzr, x2, \[x0, #-8\] +.*: e8000bff sttnp xzr, x2, \[sp\] +.*: e83f8bff sttnp xzr, x2, \[sp, #-8\] +.*: e800741f sttnp xzr, x29, \[x0\] +.*: e83ff41f sttnp xzr, x29, \[x0, #-8\] +.*: e80077ff sttnp xzr, x29, \[sp\] +.*: e83ff7ff sttnp xzr, x29, \[sp, #-8\] +.*: ec000800 sttnp q0, q2, \[x0\] +.*: ec3f8800 sttnp q0, q2, \[x0, #-16\] +.*: ec000be0 sttnp q0, q2, \[sp\] +.*: ec3f8be0 sttnp q0, q2, \[sp, #-16\] +.*: ec007c00 sttnp q0, q31, \[x0\] +.*: ec3ffc00 sttnp q0, q31, \[x0, #-16\] +.*: ec007fe0 sttnp q0, q31, \[sp\] +.*: ec3fffe0 sttnp q0, q31, \[sp, #-16\] +.*: ec00001f sttnp q31, q0, \[x0\] +.*: ec3f801f sttnp q31, q0, \[x0, #-16\] +.*: ec0003ff sttnp q31, q0, \[sp\] +.*: ec3f83ff sttnp q31, q0, \[sp, #-16\] +.*: ec00741f sttnp q31, q29, \[x0\] +.*: ec3ff41f sttnp q31, q29, \[x0, #-16\] +.*: ec0077ff sttnp q31, q29, \[sp\] +.*: ec3ff7ff sttnp q31, q29, \[sp, #-16\] diff --git a/gas/testsuite/gas/aarch64/lsui.s b/gas/testsuite/gas/aarch64/lsui.s new file mode 100644 index 0000000..90063c6 --- /dev/null +++ b/gas/testsuite/gas/aarch64/lsui.s @@ -0,0 +1,803 @@ +ldtxr: + ldtxr w0, [x0] + ldtxr w0, [sp] + ldtxr wzr, [x0] + ldtxr x0, [x0] + ldtxr x0, [sp] + ldtxr xzr, [x0] + +ldatxr: + ldatxr w0, [x0] + ldatxr w0, [sp] + ldatxr wzr, [x0] + ldatxr x0, [x0] + ldatxr x0, [sp] + ldatxr xzr, [x0] + +sttxr: + sttxr w0, w4, [x2] + sttxr w0, w4, [sp] + sttxr w0, wzr, [x2] + sttxr w0, wzr, [sp] + sttxr w29, w4, [x0] + sttxr w29, w4, [sp] + sttxr w29, wzr, [x0] + sttxr w29, wzr, [sp] + sttxr w0, x4, [x2] + sttxr w0, x4, [sp] + sttxr w0, xzr, [x2] + sttxr w0, xzr, [sp] + sttxr w29, x4, [x0] + sttxr w29, x4, [sp] + sttxr w29, xzr, [x0] + sttxr w29, xzr, [sp] + +stltxr: + stltxr w0, w4, [x2] + stltxr w0, w4, [sp] + stltxr w0, wzr, [x2] + stltxr w0, wzr, [sp] + stltxr w29, w4, [x0] + stltxr w29, w4, [sp] + stltxr w29, wzr, [x0] + stltxr w29, wzr, [sp] + stltxr w0, x4, [x2] + stltxr w0, x4, [sp] + stltxr w0, xzr, [x2] + stltxr w0, xzr, [sp] + stltxr w29, x4, [x0] + stltxr w29, x4, [sp] + stltxr w29, xzr, [x0] + stltxr w29, xzr, [sp] + +cast: + cast x0, x0, [x0] + cast x0, x0, [sp] + cast x0, xzr, [x0] + cast x0, xzr, [sp] + cast xzr, x0, [x0] + cast xzr, x0, [sp] + cast xzr, xzr, [x0] + cast xzr, xzr, [sp] + +casat: + casat x0, x0, [x0] + casat x0, x0, [sp] + casat x0, xzr, [x0] + casat x0, xzr, [sp] + casat xzr, x0, [x0] + casat xzr, x0, [sp] + casat xzr, xzr, [x0] + casat xzr, xzr, [sp] + +casalt: + casalt x0, x0, [x0] + casalt x0, x0, [sp] + casalt x0, xzr, [x0] + casalt x0, xzr, [sp] + casalt xzr, x0, [x0] + casalt xzr, x0, [sp] + casalt xzr, xzr, [x0] + casalt xzr, xzr, [sp] + +caslt: + caslt x0, x0, [x0] + caslt x0, x0, [sp] + caslt x0, xzr, [x0] + caslt x0, xzr, [sp] + caslt xzr, x0, [x0] + caslt xzr, x0, [sp] + caslt xzr, xzr, [x0] + caslt xzr, xzr, [sp] + +caspt: + caspt x0, x1, x0, x1, [x0] + caspt x0, x1, x0, x1, [sp] + caspt x0, x1, x28, x29, [x0] + caspt x0, x1, x28, x29, [sp] + caspt x28, x29, x0, x1, [x0] + caspt x28, x29, x0, x1, [sp] + caspt x28, x29, x28, x29, [x0] + caspt x28, x29, x28, x29, [sp] + +caspat: + caspat x0, x1, x0, x1, [x0] + caspat x0, x1, x0, x1, [sp] + caspat x0, x1, x28, x29, [x0] + caspat x0, x1, x28, x29, [sp] + caspat x28, x29, x0, x1, [x0] + caspat x28, x29, x0, x1, [sp] + caspat x28, x29, x28, x29, [x0] + caspat x28, x29, x28, x29, [sp] + +caspalt: + caspalt x0, x1, x0, x1, [x0] + caspalt x0, x1, x0, x1, [sp] + caspalt x0, x1, x28, x29, [x0] + caspalt x0, x1, x28, x29, [sp] + caspalt x28, x29, x0, x1, [x0] + caspalt x28, x29, x0, x1, [sp] + caspalt x28, x29, x28, x29, [x0] + caspalt x28, x29, x28, x29, [sp] + +casplt: + casplt x0, x1, x0, x1, [x0] + casplt x0, x1, x0, x1, [sp] + casplt x0, x1, x28, x29, [x0] + casplt x0, x1, x28, x29, [sp] + casplt x28, x29, x0, x1, [x0] + casplt x28, x29, x0, x1, [sp] + casplt x28, x29, x28, x29, [x0] + casplt x28, x29, x28, x29, [sp] + +ldtp: + ldtp x0, x2, [x0] + ldtp x0, x2, [x0, #-8] + ldtp x0, x2, [sp] + ldtp x0, x2, [sp, #-8] + ldtp x0, xzr, [x0] + ldtp x0, xzr, [x0, #-8] + ldtp x0, xzr, [sp] + ldtp x0, xzr, [sp, #-8] + ldtp xzr, x2, [x0] + ldtp xzr, x2, [x0, #-8] + ldtp xzr, x2, [sp] + ldtp xzr, x2, [sp, #-8] + ldtp xzr, x29, [x0] + ldtp xzr, x29, [x0, #-8] + ldtp xzr, x29, [sp] + ldtp xzr, x29, [sp, #-8] + + ldtp x0, x4, [x2, #16]! + ldtp x0, x4, [x2, #-8]! + ldtp x0, x4, [sp, #16]! + ldtp x0, x4, [sp, #-8]! + ldtp x0, xzr, [x2, #16]! + ldtp x0, xzr, [x2, #-8]! + ldtp x0, xzr, [sp, #16]! + ldtp x0, xzr, [sp, #-8]! + ldtp xzr, x0, [x2, #16]! + ldtp xzr, x0, [x2, #-8]! + ldtp xzr, x0, [sp, #16]! + ldtp xzr, x0, [sp, #-8]! + ldtp xzr, x29, [x2, #16]! + ldtp xzr, x29, [x2, #-8]! + ldtp xzr, x29, [sp, #16]! + ldtp xzr, x29, [sp, #-8]! + + ldtp x0, x4, [x2], #16 + ldtp x0, x4, [x2], #-8 + ldtp x0, x4, [sp], #16 + ldtp x0, x4, [sp], #-8 + ldtp x0, xzr, [x2], #16 + ldtp x0, xzr, [x2], #-8 + ldtp x0, xzr, [sp], #16 + ldtp x0, xzr, [sp], #-8 + ldtp xzr, x0, [x2], #16 + ldtp xzr, x0, [x2], #-8 + ldtp xzr, x0, [sp], #16 + ldtp xzr, x0, [sp], #-8 + ldtp xzr, x29, [x2], #16 + ldtp xzr, x29, [x2], #-8 + ldtp xzr, x29, [sp], #16 + ldtp xzr, x29, [sp], #-8 + + ldtp q0, q2, [x0] + ldtp q0, q2, [x0, #-16] + ldtp q0, q2, [sp] + ldtp q0, q2, [sp, #-16] + ldtp q0, q31, [x0] + ldtp q0, q31, [x0, #-16] + ldtp q0, q31, [sp] + ldtp q0, q31, [sp, #-16] + ldtp q31, q0, [x0] + ldtp q31, q0, [x0, #-16] + ldtp q31, q0, [sp] + ldtp q31, q0, [sp, #-16] + ldtp q31, q29, [x0] + ldtp q31, q29, [x0, #-16] + ldtp q31, q29, [sp] + ldtp q31, q29, [sp, #-16] + + ldtp q0, q2, [x0, #32]! + ldtp q0, q2, [x0, #-16]! + ldtp q0, q2, [sp, #32]! + ldtp q0, q2, [sp, #-16]! + ldtp q0, q31, [x0, #32]! + ldtp q0, q31, [x0, #-16]! + ldtp q0, q31, [sp, #32]! + ldtp q0, q31, [sp, #-16]! + ldtp q31, q2, [x0, #32]! + ldtp q31, q2, [x0, #-16]! + ldtp q31, q2, [sp, #32]! + ldtp q31, q2, [sp, #-16]! + ldtp q31, q29, [x0, #32]! + ldtp q31, q29, [x0, #-16]! + ldtp q31, q29, [sp, #32]! + ldtp q31, q29, [sp, #-16]! + + ldtp q0, q2, [x0], #32 + ldtp q0, q2, [x0], #-16 + ldtp q0, q2, [sp], #32 + ldtp q0, q2, [sp], #-16 + ldtp q0, q31, [x0], #32 + ldtp q0, q31, [x0], #-16 + ldtp q0, q31, [sp], #32 + ldtp q0, q31, [sp], #-16 + ldtp q31, q2, [x0], #32 + ldtp q31, q2, [x0], #-16 + ldtp q31, q2, [sp], #32 + ldtp q31, q2, [sp], #-16 + ldtp q31, q29, [x0], #32 + ldtp q31, q29, [x0], #-16 + ldtp q31, q29, [sp], #32 + ldtp q31, q29, [sp], #-16 + +sttp: + sttp x0, x2, [x0] + sttp x0, x2, [x0, #-8] + sttp x0, x2, [sp] + sttp x0, x2, [sp, #-8] + sttp x0, xzr, [x0] + sttp x0, xzr, [x0, #-8] + sttp x0, xzr, [sp] + sttp x0, xzr, [sp, #-8] + sttp xzr, x2, [x0] + sttp xzr, x2, [x0, #-8] + sttp xzr, x2, [sp] + sttp xzr, x2, [sp, #-8] + sttp xzr, x29, [x0] + sttp xzr, x29, [x0, #-8] + sttp xzr, x29, [sp] + sttp xzr, x29, [sp, #-8] + + sttp x0, x4, [x2, #16]! + sttp x0, x4, [x2, #-8]! + sttp x0, x4, [sp, #16]! + sttp x0, x4, [sp, #-8]! + sttp x0, xzr, [x2, #16]! + sttp x0, xzr, [x2, #-8]! + sttp x0, xzr, [sp, #16]! + sttp x0, xzr, [sp, #-8]! + sttp xzr, x0, [x2, #16]! + sttp xzr, x0, [x2, #-8]! + sttp xzr, x0, [sp, #16]! + sttp xzr, x0, [sp, #-8]! + sttp xzr, x29, [x2, #16]! + sttp xzr, x29, [x2, #-8]! + sttp xzr, x29, [sp, #16]! + sttp xzr, x29, [sp, #-8]! + + sttp x0, x4, [x2], #16 + sttp x0, x4, [x2], #-8 + sttp x0, x4, [sp], #16 + sttp x0, x4, [sp], #-8 + sttp x0, xzr, [x2], #16 + sttp x0, xzr, [x2], #-8 + sttp x0, xzr, [sp], #16 + sttp x0, xzr, [sp], #-8 + sttp xzr, x0, [x2], #16 + sttp xzr, x0, [x2], #-8 + sttp xzr, x0, [sp], #16 + sttp xzr, x0, [sp], #-8 + sttp xzr, x29, [x2], #16 + sttp xzr, x29, [x2], #-8 + sttp xzr, x29, [sp], #16 + sttp xzr, x29, [sp], #-8 + + sttp q0, q2, [x0] + sttp q0, q2, [x0, #-16] + sttp q0, q2, [sp] + sttp q0, q2, [sp, #-16] + sttp q0, q31, [x0] + sttp q0, q31, [x0, #-16] + sttp q0, q31, [sp] + sttp q0, q31, [sp, #-16] + sttp q31, q0, [x0] + sttp q31, q0, [x0, #-16] + sttp q31, q0, [sp] + sttp q31, q0, [sp, #-16] + sttp q31, q29, [x0] + sttp q31, q29, [x0, #-16] + sttp q31, q29, [sp] + sttp q31, q29, [sp, #-16] + + sttp q0, q2, [x0, #32]! + sttp q0, q2, [x0, #-16]! + sttp q0, q2, [sp, #32]! + sttp q0, q2, [sp, #-16]! + sttp q0, q31, [x0, #32]! + sttp q0, q31, [x0, #-16]! + sttp q0, q31, [sp, #32]! + sttp q0, q31, [sp, #-16]! + sttp q31, q2, [x0, #32]! + sttp q31, q2, [x0, #-16]! + sttp q31, q2, [sp, #32]! + sttp q31, q2, [sp, #-16]! + sttp q31, q29, [x0, #32]! + sttp q31, q29, [x0, #-16]! + sttp q31, q29, [sp, #32]! + sttp q31, q29, [sp, #-16]! + + sttp q0, q2, [x0], #32 + sttp q0, q2, [x0], #-16 + sttp q0, q2, [sp], #32 + sttp q0, q2, [sp], #-16 + sttp q0, q31, [x0], #32 + sttp q0, q31, [x0], #-16 + sttp q0, q31, [sp], #32 + sttp q0, q31, [sp], #-16 + sttp q31, q2, [x0], #32 + sttp q31, q2, [x0], #-16 + sttp q31, q2, [sp], #32 + sttp q31, q2, [sp], #-16 + sttp q31, q29, [x0], #32 + sttp q31, q29, [x0], #-16 + sttp q31, q29, [sp], #32 + sttp q31, q29, [sp], #-16 + +swpt: + swpt w0, w0, [x0] + swpt w0, w0, [sp] + swpt w0, wzr, [x0] + swpt w0, wzr, [sp] + swpt wzr, w0, [x0] + swpt wzr, w0, [sp] + swpt wzr, wzr, [x0] + swpt wzr, wzr, [sp] + swpt x0, x0, [x0] + swpt x0, x0, [sp] + swpt x0, xzr, [x0] + swpt x0, xzr, [sp] + swpt xzr, x0, [x0] + swpt xzr, x0, [sp] + swpt xzr, xzr, [x0] + swpt xzr, xzr, [sp] + +swpta: + swpta w0, w0, [x0] + swpta w0, w0, [sp] + swpta w0, wzr, [x0] + swpta w0, wzr, [sp] + swpta wzr, w0, [x0] + swpta wzr, w0, [sp] + swpta wzr, wzr, [x0] + swpta wzr, wzr, [sp] + swpta x0, x0, [x0] + swpta x0, x0, [sp] + swpta x0, xzr, [x0] + swpta x0, xzr, [sp] + swpta xzr, x0, [x0] + swpta xzr, x0, [sp] + swpta xzr, xzr, [x0] + swpta xzr, xzr, [sp] + +swptal: + swptal w0, w0, [x0] + swptal w0, w0, [sp] + swptal w0, wzr, [x0] + swptal w0, wzr, [sp] + swptal wzr, w0, [x0] + swptal wzr, w0, [sp] + swptal wzr, wzr, [x0] + swptal wzr, wzr, [sp] + swptal x0, x0, [x0] + swptal x0, x0, [sp] + swptal x0, xzr, [x0] + swptal x0, xzr, [sp] + swptal xzr, x0, [x0] + swptal xzr, x0, [sp] + swptal xzr, xzr, [x0] + swptal xzr, xzr, [sp] + +swptl: + swptl w0, w0, [x0] + swptl w0, w0, [sp] + swptl w0, wzr, [x0] + swptl w0, wzr, [sp] + swptl wzr, w0, [x0] + swptl wzr, w0, [sp] + swptl wzr, wzr, [x0] + swptl wzr, wzr, [sp] + swptl x0, x0, [x0] + swptl x0, x0, [sp] + swptl x0, xzr, [x0] + swptl x0, xzr, [sp] + swptl xzr, x0, [x0] + swptl xzr, x0, [sp] + swptl xzr, xzr, [x0] + swptl xzr, xzr, [sp] + +ldtadd: + ldtadd w0, w0, [x0] + ldtadd w0, w0, [sp] + ldtadd w0, wzr, [x0] + ldtadd w0, wzr, [sp] + ldtadd wzr, w0, [x0] + ldtadd wzr, w0, [sp] + ldtadd wzr, wzr, [x0] + ldtadd wzr, wzr, [sp] + ldtadd w0, w29, [x0] + ldtadd w0, w29, [sp] + ldtadd wzr, w29, [x0] + ldtadd wzr, w29, [sp] + ldtadd x0, x0, [x0] + ldtadd x0, x0, [sp] + ldtadd x0, xzr, [x0] + ldtadd x0, xzr, [sp] + ldtadd xzr, x0, [x0] + ldtadd xzr, x0, [sp] + ldtadd xzr, xzr, [x0] + ldtadd xzr, xzr, [sp] + ldtadd x0, x29, [x0] + ldtadd x0, x29, [sp] + ldtadd xzr, x29, [x0] + ldtadd xzr, x29, [sp] + +sttadd: + sttadd w0, [x0] + sttadd w0, [sp] + sttadd wzr, [x0] + sttadd wzr, [sp] + sttadd x0, [x0] + sttadd x0, [sp] + sttadd xzr, [x0] + sttadd xzr, [sp] + +ldtadda: + ldtadda w0, w0, [x0] + ldtadda w0, w0, [sp] + ldtadda w0, wzr, [x0] + ldtadda w0, wzr, [sp] + ldtadda wzr, w0, [x0] + ldtadda wzr, w0, [sp] + ldtadda wzr, wzr, [x0] + ldtadda wzr, wzr, [sp] + ldtadda x0, x0, [x0] + ldtadda x0, x0, [sp] + ldtadda x0, xzr, [x0] + ldtadda x0, xzr, [sp] + ldtadda xzr, x0, [x0] + ldtadda xzr, x0, [sp] + ldtadda xzr, xzr, [x0] + ldtadda xzr, xzr, [sp] + +ldtaddal: + ldtaddal w0, w0, [x0] + ldtaddal w0, w0, [sp] + ldtaddal w0, wzr, [x0] + ldtaddal w0, wzr, [sp] + ldtaddal wzr, w0, [x0] + ldtaddal wzr, w0, [sp] + ldtaddal wzr, wzr, [x0] + ldtaddal wzr, wzr, [sp] + ldtaddal x0, x0, [x0] + ldtaddal x0, x0, [sp] + ldtaddal x0, xzr, [x0] + ldtaddal x0, xzr, [sp] + ldtaddal xzr, x0, [x0] + ldtaddal xzr, x0, [sp] + ldtaddal xzr, xzr, [x0] + ldtaddal xzr, xzr, [sp] + +ldtaddl: + ldtaddl w0, w0, [x0] + ldtaddl w0, w0, [sp] + ldtaddl w0, wzr, [x0] + ldtaddl w0, wzr, [sp] + ldtaddl wzr, w0, [x0] + ldtaddl wzr, w0, [sp] + ldtaddl wzr, wzr, [x0] + ldtaddl wzr, wzr, [sp] + ldtaddl w0, w29, [x0] + ldtaddl w0, w29, [sp] + ldtaddl wzr, w29, [x0] + ldtaddl wzr, w29, [sp] + ldtaddl x0, x0, [x0] + ldtaddl x0, x0, [sp] + ldtaddl x0, xzr, [x0] + ldtaddl x0, xzr, [sp] + ldtaddl xzr, x0, [x0] + ldtaddl xzr, x0, [sp] + ldtaddl xzr, xzr, [x0] + ldtaddl xzr, xzr, [sp] + ldtaddl x0, x29, [x0] + ldtaddl x0, x29, [sp] + ldtaddl xzr, x29, [x0] + ldtaddl xzr, x29, [sp] + +sttaddl: + sttaddl w0, [x0] + sttaddl w0, [sp] + sttaddl wzr, [x0] + sttaddl wzr, [sp] + sttaddl x0, [x0] + sttaddl x0, [sp] + sttaddl xzr, [x0] + sttaddl xzr, [sp] + +ldtclr: + ldtclr w0, w0, [x0] + ldtclr w0, w0, [sp] + ldtclr w0, wzr, [x0] + ldtclr w0, wzr, [sp] + ldtclr wzr, w0, [x0] + ldtclr wzr, w0, [sp] + ldtclr wzr, wzr, [x0] + ldtclr wzr, wzr, [sp] + ldtclr w0, w29, [x0] + ldtclr w0, w29, [sp] + ldtclr wzr, w29, [x0] + ldtclr wzr, w29, [sp] + ldtclr x0, x0, [x0] + ldtclr x0, x0, [sp] + ldtclr x0, xzr, [x0] + ldtclr x0, xzr, [sp] + ldtclr xzr, x0, [x0] + ldtclr xzr, x0, [sp] + ldtclr xzr, xzr, [x0] + ldtclr xzr, xzr, [sp] + ldtclr x0, x29, [x0] + ldtclr x0, x29, [sp] + ldtclr xzr, x29, [x0] + ldtclr xzr, x29, [sp] + +sttclr: + sttclr w0, [x0] + sttclr w0, [sp] + sttclr wzr, [x0] + sttclr wzr, [sp] + sttclr x0, [x0] + sttclr x0, [sp] + sttclr xzr, [x0] + sttclr xzr, [sp] + +ldtclra: + ldtclra w0, w0, [x0] + ldtclra w0, w0, [sp] + ldtclra w0, wzr, [x0] + ldtclra w0, wzr, [sp] + ldtclra wzr, w0, [x0] + ldtclra wzr, w0, [sp] + ldtclra wzr, wzr, [x0] + ldtclra wzr, wzr, [sp] + ldtclra x0, x0, [x0] + ldtclra x0, x0, [sp] + ldtclra x0, xzr, [x0] + ldtclra x0, xzr, [sp] + ldtclra xzr, x0, [x0] + ldtclra xzr, x0, [sp] + ldtclra xzr, xzr, [x0] + ldtclra xzr, xzr, [sp] + +ldtclral: + ldtclral w0, w0, [x0] + ldtclral w0, w0, [sp] + ldtclral w0, wzr, [x0] + ldtclral w0, wzr, [sp] + ldtclral wzr, w0, [x0] + ldtclral wzr, w0, [sp] + ldtclral wzr, wzr, [x0] + ldtclral wzr, wzr, [sp] + ldtclral x0, x0, [x0] + ldtclral x0, x0, [sp] + ldtclral x0, xzr, [x0] + ldtclral x0, xzr, [sp] + ldtclral xzr, x0, [x0] + ldtclral xzr, x0, [sp] + ldtclral xzr, xzr, [x0] + ldtclral xzr, xzr, [sp] + +ldtclrl: + ldtclrl w0, w0, [x0] + ldtclrl w0, w0, [sp] + ldtclrl w0, wzr, [x0] + ldtclrl w0, wzr, [sp] + ldtclrl wzr, w0, [x0] + ldtclrl wzr, w0, [sp] + ldtclrl wzr, wzr, [x0] + ldtclrl wzr, wzr, [sp] + ldtclrl w0, w29, [x0] + ldtclrl w0, w29, [sp] + ldtclrl wzr, w29, [x0] + ldtclrl wzr, w29, [sp] + ldtclrl x0, x0, [x0] + ldtclrl x0, x0, [sp] + ldtclrl x0, xzr, [x0] + ldtclrl x0, xzr, [sp] + ldtclrl xzr, x0, [x0] + ldtclrl xzr, x0, [sp] + ldtclrl xzr, xzr, [x0] + ldtclrl xzr, xzr, [sp] + ldtclrl x0, x29, [x0] + ldtclrl x0, x29, [sp] + ldtclrl xzr, x29, [x0] + ldtclrl xzr, x29, [sp] + +sttclrl: + sttclrl w0, [x0] + sttclrl w0, [sp] + sttclrl wzr, [x0] + sttclrl wzr, [sp] + sttclrl x0, [x0] + sttclrl x0, [sp] + sttclrl xzr, [x0] + sttclrl xzr, [sp] + +ldtset: + ldtset w0, w0, [x0] + ldtset w0, w0, [sp] + ldtset w0, wzr, [x0] + ldtset w0, wzr, [sp] + ldtset wzr, w0, [x0] + ldtset wzr, w0, [sp] + ldtset wzr, wzr, [x0] + ldtset wzr, wzr, [sp] + ldtset w0, w29, [x0] + ldtset w0, w29, [sp] + ldtset wzr, w29, [x0] + ldtset wzr, w29, [sp] + ldtset x0, x0, [x0] + ldtset x0, x0, [sp] + ldtset x0, xzr, [x0] + ldtset x0, xzr, [sp] + ldtset xzr, x0, [x0] + ldtset xzr, x0, [sp] + ldtset xzr, xzr, [x0] + ldtset xzr, xzr, [sp] + ldtset x0, x29, [x0] + ldtset x0, x29, [sp] + ldtset xzr, x29, [x0] + ldtset xzr, x29, [sp] + +sttset: + sttset w0, [x0] + sttset w0, [sp] + sttset wzr, [x0] + sttset wzr, [sp] + sttset x0, [x0] + sttset x0, [sp] + sttset xzr, [x0] + sttset xzr, [sp] + +ldtseta: + ldtseta w0, w0, [x0] + ldtseta w0, w0, [sp] + ldtseta w0, wzr, [x0] + ldtseta w0, wzr, [sp] + ldtseta wzr, w0, [x0] + ldtseta wzr, w0, [sp] + ldtseta wzr, wzr, [x0] + ldtseta wzr, wzr, [sp] + ldtseta x0, x0, [x0] + ldtseta x0, x0, [sp] + ldtseta x0, xzr, [x0] + ldtseta x0, xzr, [sp] + ldtseta xzr, x0, [x0] + ldtseta xzr, x0, [sp] + ldtseta xzr, xzr, [x0] + ldtseta xzr, xzr, [sp] + +ldtsetal: + ldtsetal w0, w0, [x0] + ldtsetal w0, w0, [sp] + ldtsetal w0, wzr, [x0] + ldtsetal w0, wzr, [sp] + ldtsetal wzr, w0, [x0] + ldtsetal wzr, w0, [sp] + ldtsetal wzr, wzr, [x0] + ldtsetal wzr, wzr, [sp] + ldtsetal x0, x0, [x0] + ldtsetal x0, x0, [sp] + ldtsetal x0, xzr, [x0] + ldtsetal x0, xzr, [sp] + ldtsetal xzr, x0, [x0] + ldtsetal xzr, x0, [sp] + ldtsetal xzr, xzr, [x0] + ldtsetal xzr, xzr, [sp] + +ldtsetl: + ldtsetl w0, w0, [x0] + ldtsetl w0, w0, [sp] + ldtsetl w0, wzr, [x0] + ldtsetl w0, wzr, [sp] + ldtsetl wzr, w0, [x0] + ldtsetl wzr, w0, [sp] + ldtsetl wzr, wzr, [x0] + ldtsetl wzr, wzr, [sp] + ldtsetl w0, w29, [x0] + ldtsetl w0, w29, [sp] + ldtsetl wzr, w29, [x0] + ldtsetl wzr, w29, [sp] + ldtsetl x0, x0, [x0] + ldtsetl x0, x0, [sp] + ldtsetl x0, xzr, [x0] + ldtsetl x0, xzr, [sp] + ldtsetl xzr, x0, [x0] + ldtsetl xzr, x0, [sp] + ldtsetl xzr, xzr, [x0] + ldtsetl xzr, xzr, [sp] + ldtsetl x0, x29, [x0] + ldtsetl x0, x29, [sp] + ldtsetl xzr, x29, [x0] + ldtsetl xzr, x29, [sp] + +sttsetl: + sttsetl w0, [x0] + sttsetl w0, [sp] + sttsetl wzr, [x0] + sttsetl wzr, [sp] + sttsetl x0, [x0] + sttsetl x0, [sp] + sttsetl xzr, [x0] + sttsetl xzr, [sp] + +ldtnp: + ldtnp x0, x2, [x0] + ldtnp x0, x2, [x0, #-8] + ldtnp x0, x2, [sp] + ldtnp x0, x2, [sp, #-8] + ldtnp x0, xzr, [x0] + ldtnp x0, xzr, [x0, #-8] + ldtnp x0, xzr, [sp] + ldtnp x0, xzr, [sp, #-8] + ldtnp xzr, x2, [x0] + ldtnp xzr, x2, [x0, #-8] + ldtnp xzr, x2, [sp] + ldtnp xzr, x2, [sp, #-8] + ldtnp xzr, x29, [x0] + ldtnp xzr, x29, [x0, #-8] + ldtnp xzr, x29, [sp] + ldtnp xzr, x29, [sp, #-8] + + ldtnp q0, q2, [x0] + ldtnp q0, q2, [x0, #-16] + ldtnp q0, q2, [sp] + ldtnp q0, q2, [sp, #-16] + ldtnp q0, q31, [x0] + ldtnp q0, q31, [x0, #-16] + ldtnp q0, q31, [sp] + ldtnp q0, q31, [sp, #-16] + ldtnp q31, q0, [x0] + ldtnp q31, q0, [x0, #-16] + ldtnp q31, q0, [sp] + ldtnp q31, q0, [sp, #-16] + ldtnp q31, q29, [x0] + ldtnp q31, q29, [x0, #-16] + ldtnp q31, q29, [sp] + ldtnp q31, q29, [sp, #-16] + +sttnp: + sttnp x0, x2, [x0] + sttnp x0, x2, [x0, #-8] + sttnp x0, x2, [sp] + sttnp x0, x2, [sp, #-8] + sttnp x0, xzr, [x0] + sttnp x0, xzr, [x0, #-8] + sttnp x0, xzr, [sp] + sttnp x0, xzr, [sp, #-8] + sttnp xzr, x2, [x0] + sttnp xzr, x2, [x0, #-8] + sttnp xzr, x2, [sp] + sttnp xzr, x2, [sp, #-8] + sttnp xzr, x29, [x0] + sttnp xzr, x29, [x0, #-8] + sttnp xzr, x29, [sp] + sttnp xzr, x29, [sp, #-8] + + sttnp q0, q2, [x0] + sttnp q0, q2, [x0, #-16] + sttnp q0, q2, [sp] + sttnp q0, q2, [sp, #-16] + sttnp q0, q31, [x0] + sttnp q0, q31, [x0, #-16] + sttnp q0, q31, [sp] + sttnp q0, q31, [sp, #-16] + sttnp q31, q0, [x0] + sttnp q31, q0, [x0, #-16] + sttnp q31, q0, [sp] + sttnp q31, q0, [sp, #-16] + sttnp q31, q29, [x0] + sttnp q31, q29, [x0, #-16] + sttnp q31, q29, [sp] + sttnp q31, q29, [sp, #-16] diff --git a/gas/testsuite/gas/aarch64/pcdphint-bad.d b/gas/testsuite/gas/aarch64/pcdphint-bad.d new file mode 100644 index 0000000..33373b4 --- /dev/null +++ b/gas/testsuite/gas/aarch64/pcdphint-bad.d @@ -0,0 +1,4 @@ +#name: Negative test of PCPHINT instructions. +#as: -march=armv8-a +#source: pcdphint-bad.s +#error_output: pcdphint-bad.l diff --git a/gas/testsuite/gas/aarch64/pcdphint-bad.l b/gas/testsuite/gas/aarch64/pcdphint-bad.l new file mode 100644 index 0000000..e57774e --- /dev/null +++ b/gas/testsuite/gas/aarch64/pcdphint-bad.l @@ -0,0 +1,9 @@ +[^ :]+: Assembler messages: +[^ :]+:[0-9]+: Error: operand 1 must be an STSHH policy \(keep/strm\) -- `stshh kee' +[^ :]+:[0-9]+: Error: operand 1 must be an STSHH policy \(keep/strm\) -- `stshh strmm' +[^ :]+:[0-9]+: Error: operand 1 must be an STSHH policy \(keep/strm\) -- `stshh' +[^ :]+:[0-9]+: Error: constant expression required at operand 1 -- `prfm ir1234' +[^ :]+:[0-9]+: Error: invalid addressing mode at operand 2 -- `prfm ir,\[sp,x0,lsl#0\]' +[^ :]+:[0-9]+: Error: invalid addressing mode at operand 2 -- `prfm ir,a' +[^ :]+:[0-9]+: Error: invalid prefetch operation \(IR is not valid for this instruction variant\) at operand 1 -- `prfum ir,\[x0\]' +[^ :]+:[0-9]+: Error: immediate offset out of range diff --git a/gas/testsuite/gas/aarch64/pcdphint-bad.s b/gas/testsuite/gas/aarch64/pcdphint-bad.s new file mode 100644 index 0000000..f496522 --- /dev/null +++ b/gas/testsuite/gas/aarch64/pcdphint-bad.s @@ -0,0 +1,9 @@ +a: + stshh kee + stshh strmm + stshh + prfm ir1234 + prfm ir, [sp, x0, lsl #0] + prfm ir, a + prfum ir, [x0] + prfm ir, [x0, #15] diff --git a/gas/testsuite/gas/aarch64/stshh.d b/gas/testsuite/gas/aarch64/stshh.d new file mode 100644 index 0000000..095048d --- /dev/null +++ b/gas/testsuite/gas/aarch64/stshh.d @@ -0,0 +1,10 @@ +#as: -march=armv8-a +#objdump: -dr + +.*: file format .* + +Disassembly of section \.text: + +0+ <.*>: +.*: d503261f stshh keep +.*: d503263f stshh strm diff --git a/gas/testsuite/gas/aarch64/stshh.s b/gas/testsuite/gas/aarch64/stshh.s new file mode 100644 index 0000000..1e306cd --- /dev/null +++ b/gas/testsuite/gas/aarch64/stshh.s @@ -0,0 +1,3 @@ +a: + stshh keep + stshh strm diff --git a/gas/testsuite/gas/aarch64/sve-aes2-sve2-ssve-aes.d b/gas/testsuite/gas/aarch64/sve-aes2-sve2-ssve-aes.d new file mode 100644 index 0000000..33ca9c4 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sve-aes2-sve2-ssve-aes.d @@ -0,0 +1,109 @@ +#name: Test of SVE-AES2 instructions. +#as: -march=armv9-a+sve-aes2+ssve-aes +#as: -march=armv9-a+sve-aes2+sve2 +#source: sve-aes2.s +#objdump: -dr + +[^:]+: file format .* + +.*: + +.*: +.*: 4523ec00 aesdimc { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z0\.q\[0\] +.*: 453bec00 aesdimc { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z0\.q\[3\] +.*: 4523efe0 aesdimc { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z31\.q\[0\] +.*: 453befe0 aesdimc { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z31\.q\[3\] +.*: 4523ec1e aesdimc { ?z30\.b-z31\.b ?}, { ?z30\.b-z31\.b ?}, z0\.q\[0\] +.*: 453bec1e aesdimc { ?z30\.b-z31\.b ?}, { ?z30\.b-z31\.b ?}, z0\.q\[3\] +.*: 4523effe aesdimc { ?z30\.b-z31\.b ?}, { ?z30\.b-z31\.b ?}, z31\.q\[0\] +.*: 453beffe aesdimc { ?z30\.b-z31\.b ?}, { ?z30\.b-z31\.b ?}, z31\.q\[3\] + +.*: +.*: 4527ec00 aesdimc { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z0\.q\[0\] +.*: 453fec00 aesdimc { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z0\.q\[3\] +.*: 4527efe0 aesdimc { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z31\.q\[0\] +.*: 453fefe0 aesdimc { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z31\.q\[3\] +.*: 4527ec1c aesdimc { ?z28\.b-z31\.b ?}, { ?z28\.b-z31\.b ?}, z0\.q\[0\] +.*: 453fec1c aesdimc { ?z28\.b-z31\.b ?}, { ?z28\.b-z31\.b ?}, z0\.q\[3\] +.*: 4527effc aesdimc { ?z28\.b-z31\.b ?}, { ?z28\.b-z31\.b ?}, z31\.q\[0\] +.*: 453feffc aesdimc { ?z28\.b-z31\.b ?}, { ?z28\.b-z31\.b ?}, z31\.q\[3\] + +.*: +.*: 4522ec00 aesd { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z0\.q\[0\] +.*: 453aec00 aesd { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z0\.q\[3\] +.*: 4522efe0 aesd { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z31\.q\[0\] +.*: 453aefe0 aesd { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z31\.q\[3\] +.*: 4522ec1e aesd { ?z30\.b-z31\.b ?}, { ?z30\.b-z31\.b ?}, z0\.q\[0\] +.*: 453aec1e aesd { ?z30\.b-z31\.b ?}, { ?z30\.b-z31\.b ?}, z0\.q\[3\] +.*: 4522effe aesd { ?z30\.b-z31\.b ?}, { ?z30\.b-z31\.b ?}, z31\.q\[0\] +.*: 453aeffe aesd { ?z30\.b-z31\.b ?}, { ?z30\.b-z31\.b ?}, z31\.q\[3\] + +.*: +.*: 4526ec00 aesd { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z0\.q\[0\] +.*: 453eec00 aesd { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z0\.q\[3\] +.*: 4526efe0 aesd { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z31\.q\[0\] +.*: 453eefe0 aesd { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z31\.q\[3\] +.*: 4526ec1c aesd { ?z28\.b-z31\.b ?}, { ?z28\.b-z31\.b ?}, z0\.q\[0\] +.*: 453eec1c aesd { ?z28\.b-z31\.b ?}, { ?z28\.b-z31\.b ?}, z0\.q\[3\] +.*: 4526effc aesd { ?z28\.b-z31\.b ?}, { ?z28\.b-z31\.b ?}, z31\.q\[0\] +.*: 453eeffc aesd { ?z28\.b-z31\.b ?}, { ?z28\.b-z31\.b ?}, z31\.q\[3\] + +.*: +.*: 4523e800 aesemc { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z0\.q\[0\] +.*: 453be800 aesemc { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z0\.q\[3\] +.*: 4523ebe0 aesemc { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z31\.q\[0\] +.*: 453bebe0 aesemc { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z31\.q\[3\] +.*: 4523e81e aesemc { ?z30\.b-z31\.b ?}, { ?z30\.b-z31\.b ?}, z0\.q\[0\] +.*: 453be81e aesemc { ?z30\.b-z31\.b ?}, { ?z30\.b-z31\.b ?}, z0\.q\[3\] +.*: 4523ebfe aesemc { ?z30\.b-z31\.b ?}, { ?z30\.b-z31\.b ?}, z31\.q\[0\] +.*: 453bebfe aesemc { ?z30\.b-z31\.b ?}, { ?z30\.b-z31\.b ?}, z31\.q\[3\] + +.*: +.*: 4527e800 aesemc { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z0\.q\[0\] +.*: 453fe800 aesemc { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z0\.q\[3\] +.*: 4527ebe0 aesemc { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z31\.q\[0\] +.*: 453febe0 aesemc { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z31\.q\[3\] +.*: 4527e81c aesemc { ?z28\.b-z31\.b ?}, { ?z28\.b-z31\.b ?}, z0\.q\[0\] +.*: 453fe81c aesemc { ?z28\.b-z31\.b ?}, { ?z28\.b-z31\.b ?}, z0\.q\[3\] +.*: 4527ebfc aesemc { ?z28\.b-z31\.b ?}, { ?z28\.b-z31\.b ?}, z31\.q\[0\] +.*: 453febfc aesemc { ?z28\.b-z31\.b ?}, { ?z28\.b-z31\.b ?}, z31\.q\[3\] + +.*: +.*: 4522e800 aese { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z0\.q\[0\] +.*: 453ae800 aese { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z0\.q\[3\] +.*: 4522ebe0 aese { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z31\.q\[0\] +.*: 453aebe0 aese { ?z0\.b-z1\.b ?}, { ?z0\.b-z1\.b ?}, z31\.q\[3\] +.*: 4522e81e aese { ?z30\.b-z31\.b ?}, { ?z30\.b-z31\.b ?}, z0\.q\[0\] +.*: 453ae81e aese { ?z30\.b-z31\.b ?}, { ?z30\.b-z31\.b ?}, z0\.q\[3\] +.*: 4522ebfe aese { ?z30\.b-z31\.b ?}, { ?z30\.b-z31\.b ?}, z31\.q\[0\] +.*: 453aebfe aese { ?z30\.b-z31\.b ?}, { ?z30\.b-z31\.b ?}, z31\.q\[3\] + +.*: +.*: 4526e800 aese { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z0\.q\[0\] +.*: 453ee800 aese { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z0\.q\[3\] +.*: 4526ebe0 aese { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z31\.q\[0\] +.*: 453eebe0 aese { ?z0\.b-z3\.b ?}, { ?z0\.b-z3\.b ?}, z31\.q\[3\] +.*: 4526e81c aese { ?z28\.b-z31\.b ?}, { ?z28\.b-z31\.b ?}, z0\.q\[0\] +.*: 453ee81c aese { ?z28\.b-z31\.b ?}, { ?z28\.b-z31\.b ?}, z0\.q\[3\] +.*: 4526ebfc aese { ?z28\.b-z31\.b ?}, { ?z28\.b-z31\.b ?}, z31\.q\[0\] +.*: 453eebfc aese { ?z28\.b-z31\.b ?}, { ?z28\.b-z31\.b ?}, z31\.q\[3\] + +.*: +.*: 4520fc00 pmlal { ?z0\.q-z1\.q ?}, z0\.d, z0\.d +.*: 453ffc00 pmlal { ?z0\.q-z1\.q ?}, z0\.d, z31\.d +.*: 4520ffe0 pmlal { ?z0\.q-z1\.q ?}, z31\.d, z0\.d +.*: 453fffe0 pmlal { ?z0\.q-z1\.q ?}, z31\.d, z31\.d +.*: 4520fc1e pmlal { ?z30\.q-z31\.q ?}, z0\.d, z0\.d +.*: 453ffc1e pmlal { ?z30\.q-z31\.q ?}, z0\.d, z31\.d +.*: 4520fffe pmlal { ?z30\.q-z31\.q ?}, z31\.d, z0\.d +.*: 453ffffe pmlal { ?z30\.q-z31\.q ?}, z31\.d, z31\.d + +.*: +.*: 4520f800 pmull { ?z0\.q-z1\.q ?}, z0\.d, z0\.d +.*: 453ff800 pmull { ?z0\.q-z1\.q ?}, z0\.d, z31\.d +.*: 4520fbe0 pmull { ?z0\.q-z1\.q ?}, z31\.d, z0\.d +.*: 453ffbe0 pmull { ?z0\.q-z1\.q ?}, z31\.d, z31\.d +.*: 4520f81e pmull { ?z30\.q-z31\.q ?}, z0\.d, z0\.d +.*: 453ff81e pmull { ?z30\.q-z31\.q ?}, z0\.d, z31\.d +.*: 4520fbfe pmull { ?z30\.q-z31\.q ?}, z31\.d, z0\.d +.*: 453ffbfe pmull { ?z30\.q-z31\.q ?}, z31\.d, z31\.d diff --git a/gas/testsuite/gas/aarch64/sve-aes2.s b/gas/testsuite/gas/aarch64/sve-aes2.s new file mode 100644 index 0000000..d4f2091 --- /dev/null +++ b/gas/testsuite/gas/aarch64/sve-aes2.s @@ -0,0 +1,99 @@ +a: + aesdimc {z0.b-z1.b}, {z0.b-z1.b}, z0.q[0] + aesdimc {z0.b-z1.b}, {z0.b-z1.b}, z0.q[3] + aesdimc {z0.b-z1.b}, {z0.b-z1.b}, z31.q[0] + aesdimc {z0.b-z1.b}, {z0.b-z1.b}, z31.q[3] + aesdimc {z30.b-z31.b}, {z30.b-z31.b}, z0.q[0] + aesdimc {z30.b-z31.b}, {z30.b-z31.b}, z0.q[3] + aesdimc {z30.b-z31.b}, {z30.b-z31.b}, z31.q[0] + aesdimc {z30.b-z31.b}, {z30.b-z31.b}, z31.q[3] + +b: + aesdimc {z0.b-z3.b}, {z0.b-z3.b}, z0.q[0] + aesdimc {z0.b-z3.b}, {z0.b-z3.b}, z0.q[3] + aesdimc {z0.b-z3.b}, {z0.b-z3.b}, z31.q[0] + aesdimc {z0.b-z3.b}, {z0.b-z3.b}, z31.q[3] + aesdimc {z28.b-z31.b}, {z28.b-z31.b}, z0.q[0] + aesdimc {z28.b-z31.b}, {z28.b-z31.b}, z0.q[3] + aesdimc {z28.b-z31.b}, {z28.b-z31.b}, z31.q[0] + aesdimc {z28.b-z31.b}, {z28.b-z31.b}, z31.q[3] + +c: + aesd {z0.b-z1.b}, {z0.b-z1.b}, z0.q[0] + aesd {z0.b-z1.b}, {z0.b-z1.b}, z0.q[3] + aesd {z0.b-z1.b}, {z0.b-z1.b}, z31.q[0] + aesd {z0.b-z1.b}, {z0.b-z1.b}, z31.q[3] + aesd {z30.b-z31.b}, {z30.b-z31.b}, z0.q[0] + aesd {z30.b-z31.b}, {z30.b-z31.b}, z0.q[3] + aesd {z30.b-z31.b}, {z30.b-z31.b}, z31.q[0] + aesd {z30.b-z31.b}, {z30.b-z31.b}, z31.q[3] + +d: + aesd {z0.b-z3.b}, {z0.b-z3.b}, z0.q[0] + aesd {z0.b-z3.b}, {z0.b-z3.b}, z0.q[3] + aesd {z0.b-z3.b}, {z0.b-z3.b}, z31.q[0] + aesd {z0.b-z3.b}, {z0.b-z3.b}, z31.q[3] + aesd {z28.b-z31.b}, {z28.b-z31.b}, z0.q[0] + aesd {z28.b-z31.b}, {z28.b-z31.b}, z0.q[3] + aesd {z28.b-z31.b}, {z28.b-z31.b}, z31.q[0] + aesd {z28.b-z31.b}, {z28.b-z31.b}, z31.q[3] + +e: + aesemc {z0.b-z1.b}, {z0.b-z1.b}, z0.q[0] + aesemc {z0.b-z1.b}, {z0.b-z1.b}, z0.q[3] + aesemc {z0.b-z1.b}, {z0.b-z1.b}, z31.q[0] + aesemc {z0.b-z1.b}, {z0.b-z1.b}, z31.q[3] + aesemc {z30.b-z31.b}, {z30.b-z31.b}, z0.q[0] + aesemc {z30.b-z31.b}, {z30.b-z31.b}, z0.q[3] + aesemc {z30.b-z31.b}, {z30.b-z31.b}, z31.q[0] + aesemc {z30.b-z31.b}, {z30.b-z31.b}, z31.q[3] + +f: + aesemc {z0.b-z3.b}, {z0.b-z3.b}, z0.q[0] + aesemc {z0.b-z3.b}, {z0.b-z3.b}, z0.q[3] + aesemc {z0.b-z3.b}, {z0.b-z3.b}, z31.q[0] + aesemc {z0.b-z3.b}, {z0.b-z3.b}, z31.q[3] + aesemc {z28.b-z31.b}, {z28.b-z31.b}, z0.q[0] + aesemc {z28.b-z31.b}, {z28.b-z31.b}, z0.q[3] + aesemc {z28.b-z31.b}, {z28.b-z31.b}, z31.q[0] + aesemc {z28.b-z31.b}, {z28.b-z31.b}, z31.q[3] + +g: + aese {z0.b-z1.b}, {z0.b-z1.b}, z0.q[0] + aese {z0.b-z1.b}, {z0.b-z1.b}, z0.q[3] + aese {z0.b-z1.b}, {z0.b-z1.b}, z31.q[0] + aese {z0.b-z1.b}, {z0.b-z1.b}, z31.q[3] + aese {z30.b-z31.b}, {z30.b-z31.b}, z0.q[0] + aese {z30.b-z31.b}, {z30.b-z31.b}, z0.q[3] + aese {z30.b-z31.b}, {z30.b-z31.b}, z31.q[0] + aese {z30.b-z31.b}, {z30.b-z31.b}, z31.q[3] + +h: + aese {z0.b-z3.b}, {z0.b-z3.b}, z0.q[0] + aese {z0.b-z3.b}, {z0.b-z3.b}, z0.q[3] + aese {z0.b-z3.b}, {z0.b-z3.b}, z31.q[0] + aese {z0.b-z3.b}, {z0.b-z3.b}, z31.q[3] + aese {z28.b-z31.b}, {z28.b-z31.b}, z0.q[0] + aese {z28.b-z31.b}, {z28.b-z31.b}, z0.q[3] + aese {z28.b-z31.b}, {z28.b-z31.b}, z31.q[0] + aese {z28.b-z31.b}, {z28.b-z31.b}, z31.q[3] + +i: + pmlal {z0.q-z1.q}, z0.d, z0.d + pmlal {z0.q-z1.q}, z0.d, z31.d + pmlal {z0.q-z1.q}, z31.d, z0.d + pmlal {z0.q-z1.q}, z31.d, z31.d + pmlal {z30.q-z31.q}, z0.d, z0.d + pmlal {z30.q-z31.q}, z0.d, z31.d + pmlal {z30.q-z31.q}, z31.d, z0.d + pmlal {z30.q-z31.q}, z31.d, z31.d + +j: + pmull {z0.q-z1.q}, z0.d, z0.d + pmull {z0.q-z1.q}, z0.d, z31.d + pmull {z0.q-z1.q}, z31.d, z0.d + pmull {z0.q-z1.q}, z31.d, z31.d + pmull {z30.q-z31.q}, z0.d, z0.d + pmull {z30.q-z31.q}, z0.d, z31.d + pmull {z30.q-z31.q}, z31.d, z0.d + pmull {z30.q-z31.q}, z31.d, z31.d diff --git a/gas/testsuite/gas/aarch64/system.d b/gas/testsuite/gas/aarch64/system.d index 8c1a113..ee84793 100644 --- a/gas/testsuite/gas/aarch64/system.d +++ b/gas/testsuite/gas/aarch64/system.d @@ -66,8 +66,8 @@ Disassembly of section \.text: .*: d50325bf hint #0x2d .*: d50325df hint #0x2e .*: d50325ff hint #0x2f -.*: d503261f hint #0x30 -.*: d503263f hint #0x31 +.*: d503261f (hint #0x30|stshh keep) +.*: d503263f (hint #0x31|stshh strm) .*: d503265f hint #0x32 .*: d503267f hint #0x33 .*: d503269f hint #0x34 @@ -335,7 +335,7 @@ Disassembly of section \.text: .*: f9800c77 prfm pstslcstrm, \[x3, #24\] .*: d8000018 prfm #0x18, 0 <LABEL1> .*: R_AARCH64_(P32_|)LD_PREL_LO19 LABEL1 -.*: f9800c78 prfm #0x18, \[x3, #24\] +.*: f9800c78 prfm ir, \[x3, #24\] .*: d8000019 prfm #0x19, 0 <LABEL1> .*: R_AARCH64_(P32_|)LD_PREL_LO19 LABEL1 .*: f9800c79 prfm #0x19, \[x3, #24\] diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-1.d b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-1.d new file mode 100644 index 0000000..df315df --- /dev/null +++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-1.d @@ -0,0 +1,23 @@ +#name: SFrame generation on s390x - .cfi_offset and .cfi_def_cfa_{offset,register} +#objdump: --sframe=.sframe +#... +Contents of the SFrame section .sframe: + + Header : + + Version: SFRAME_VERSION_2 + Flags: SFRAME_F_FDE_FUNC_START_PCREL + Num FDEs: 1 + Num FREs: 6 + + Function Index : + + func idx \[0\]: pc = 0x0, size = 40 bytes + STARTPC +CFA +FP +RA + + 0+0000 +sp\+160 +u +u + + 0+0006 +sp\+160 +c\-72 +c\-48 + + 0+000c +sp\+320 +c\-72 +c\-48 + + 0+0010 +fp\+320 +c\-72 +c\-48 + + 0+001c +sp\+160 +u +u + + 0+001e +fp\+320 +c\-72 +c\-48 + +#pass diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-1.s b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-1.s new file mode 100644 index 0000000..7d132a4 --- /dev/null +++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-1.s @@ -0,0 +1,37 @@ + .cfi_sections .sframe + .cfi_startproc + stmg %r6,%r15,48(%r15) + .cfi_offset 6, -112 + .cfi_offset 7, -104 + .cfi_offset 8, -96 + .cfi_offset 9, -88 + .cfi_offset 10, -80 + .cfi_offset 11, -72 + .cfi_offset 12, -64 + .cfi_offset 13, -56 + .cfi_offset 14, -48 + .cfi_offset 15, -40 + lay %r15,-160(%r15) + .cfi_def_cfa_offset 320 + lgr %r11,%r15 + .cfi_def_cfa_register 11 + lay %r15,-128(%r15) +.Lreturn: + lmg %r6,%r15,160+48(%r11) + .cfi_remember_state + .cfi_restore 15 + .cfi_restore 14 + .cfi_restore 13 + .cfi_restore 12 + .cfi_restore 11 + .cfi_restore 10 + .cfi_restore 9 + .cfi_restore 8 + .cfi_restore 7 + .cfi_restore 6 + .cfi_def_cfa 15, 160 + br %r14 + .cfi_restore_state + lay %r15,-128(%r15) + j .Lreturn + .cfi_endproc diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-2.d b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-2.d new file mode 100644 index 0000000..a772c2b --- /dev/null +++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-2.d @@ -0,0 +1,23 @@ +#name: SFrame generation on s390x - .cfi_rel_offset and .cfi_def_cfa_{offset,register} +#objdump: --sframe=.sframe +#... +Contents of the SFrame section .sframe: + + Header : + + Version: SFRAME_VERSION_2 + Flags: SFRAME_F_FDE_FUNC_START_PCREL + Num FDEs: 1 + Num FREs: 6 + + Function Index : + + func idx \[0\]: pc = 0x0, size = 40 bytes + STARTPC +CFA +FP +RA + + 0+0000 +sp\+160 +u +u + + 0+0006 +sp\+160 +c\-72 +c\-48 + + 0+000c +sp\+320 +c\-72 +c\-48 + + 0+0010 +fp\+320 +c\-72 +c\-48 + + 0+001c +sp\+160 +u +u + + 0+001e +fp\+320 +c\-72 +c\-48 + +#pass diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-2.s b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-2.s new file mode 100644 index 0000000..6d52037 --- /dev/null +++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-2.s @@ -0,0 +1,37 @@ + .cfi_sections .sframe + .cfi_startproc + stmg %r6,%r15,48(%r15) + .cfi_rel_offset 6, 48 + .cfi_rel_offset 7, 56 + .cfi_rel_offset 8, 64 + .cfi_rel_offset 9, 72 + .cfi_rel_offset 10, 80 + .cfi_rel_offset 11, 88 + .cfi_rel_offset 12, 96 + .cfi_rel_offset 13, 104 + .cfi_rel_offset 14, 112 + .cfi_rel_offset 15, 120 + lay %r15,-160(%r15) + .cfi_def_cfa_offset 320 + lgr %r11,%r15 + .cfi_def_cfa_register 11 + lay %r15,-128(%r15) +.Lreturn: + lmg %r6,%r15,160+48(%r11) + .cfi_remember_state + .cfi_restore 15 + .cfi_restore 14 + .cfi_restore 13 + .cfi_restore 12 + .cfi_restore 11 + .cfi_restore 10 + .cfi_restore 9 + .cfi_restore 8 + .cfi_restore 7 + .cfi_restore 6 + .cfi_def_cfa 15, 160 + br %r14 + .cfi_restore_state + lay %r15,-128(%r15) + j .Lreturn + .cfi_endproc diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-3.d b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-3.d new file mode 100644 index 0000000..f775fe5 --- /dev/null +++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-3.d @@ -0,0 +1,19 @@ +#name: SFrame generation on s390x - .cfi_def_cfa_register with no previous offset +#as: --gsframe +#objdump: --sframe=.sframe +#... +Contents of the SFrame section .sframe: + + Header : + + Version: SFRAME_VERSION_2 + Flags: SFRAME_F_FDE_FUNC_START_PCREL + Num FDEs: 1 + Num FREs: 1 + + Function Index : + + func idx \[0\]: pc = 0x0, size = 0 bytes + STARTPC +CFA +FP +RA + + 0+0000 +fp\+160 +u +u + +#pass diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-3.s b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-3.s new file mode 100644 index 0000000..ea8c9e1 --- /dev/null +++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-3.s @@ -0,0 +1,4 @@ +# Although not a useful construct by itself, ensure graceful handling. + .cfi_startproc + .cfi_def_cfa_register 11 + .cfi_endproc diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-err-1.d b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-err-1.d new file mode 100644 index 0000000..14f2382 --- /dev/null +++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-err-1.d @@ -0,0 +1,15 @@ +#name: SFrame generation on s390x - .cfi_def_cfa_register with non-SP/FP register +#as: --gsframe +#warning: non-SP/FP register 10 in \.cfi_def_cfa_register +#objdump: --sframe=.sframe +#... +Contents of the SFrame section .sframe: + + Header : + + Version: SFRAME_VERSION_2 + Flags: SFRAME_F_FDE_FUNC_START_PCREL + Num FDEs: 0 + Num FREs: 0 + +#pass diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-err-1.s b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-err-1.s new file mode 100644 index 0000000..8b724df --- /dev/null +++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-err-1.s @@ -0,0 +1,37 @@ + .cfi_sections .sframe + .cfi_startproc + stmg %r6,%r15,48(%r15) + .cfi_offset 6, -112 + .cfi_offset 7, -104 + .cfi_offset 8, -96 + .cfi_offset 9, -88 + .cfi_offset 10, -80 + .cfi_offset 11, -72 + .cfi_offset 12, -64 + .cfi_offset 13, -56 + .cfi_offset 14, -48 + .cfi_offset 15, -40 + lay %r15,-160(%r15) + .cfi_def_cfa_offset 320 + lgr %r10,%r15 + .cfi_def_cfa_register 10 # non-default frame pointer register + lay %r15,-128(%r15) +.Lreturn: + lmg %r6,%r15,160+48(%r10) + .cfi_remember_state + .cfi_restore 15 + .cfi_restore 14 + .cfi_restore 13 + .cfi_restore 12 + .cfi_restore 11 + .cfi_restore 10 + .cfi_restore 9 + .cfi_restore 8 + .cfi_restore 7 + .cfi_restore 6 + .cfi_def_cfa 15, 160 + br %r14 + .cfi_restore_state + lay %r15,-128(%r15) + j .Lreturn + .cfi_endproc diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-err-2.d b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-err-2.d new file mode 100644 index 0000000..0d3b475 --- /dev/null +++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-err-2.d @@ -0,0 +1,15 @@ +#name: SFrame generation on s390x - .cfi_def_cfa with non-SP/FP register +#as: --gsframe +#warning: non-SP/FP register 10 in \.cfi_def_cfa +#objdump: --sframe=.sframe +#... +Contents of the SFrame section .sframe: + + Header : + + Version: SFRAME_VERSION_2 + Flags: SFRAME_F_FDE_FUNC_START_PCREL + Num FDEs: 0 + Num FREs: 0 + +#pass diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-err-2.s b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-err-2.s new file mode 100644 index 0000000..dbcf439 --- /dev/null +++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-err-2.s @@ -0,0 +1,37 @@ + .cfi_sections .sframe + .cfi_startproc + stmg %r6,%r15,48(%r15) + .cfi_offset 6, -112 + .cfi_offset 7, -104 + .cfi_offset 8, -96 + .cfi_offset 9, -88 + .cfi_offset 10, -80 + .cfi_offset 11, -72 + .cfi_offset 12, -64 + .cfi_offset 13, -56 + .cfi_offset 14, -48 + .cfi_offset 15, -40 + lay %r15,-160(%r15) + .cfi_def_cfa_offset 320 + lgr %r10,%r15 + .cfi_def_cfa 10, 320 # non-default frame pointer register + lay %r15,-128(%r15) +.Lreturn: + lmg %r6,%r15,160+48(%r10) + .cfi_remember_state + .cfi_restore 15 + .cfi_restore 14 + .cfi_restore 13 + .cfi_restore 12 + .cfi_restore 11 + .cfi_restore 10 + .cfi_restore 9 + .cfi_restore 8 + .cfi_restore 7 + .cfi_restore 6 + .cfi_def_cfa 15, 160 + br %r14 + .cfi_restore_state + lay %r15,-128(%r15) + j .Lreturn + .cfi_endproc diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-err-3.d b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-err-3.d new file mode 100644 index 0000000..519c235 --- /dev/null +++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-err-3.d @@ -0,0 +1,15 @@ +#name: SFrame generation on s390x - non-default RA register +#as: --gsframe +#warning: non-default RA register 7 +#objdump: --sframe=.sframe +#... +Contents of the SFrame section .sframe: + + Header : + + Version: SFRAME_VERSION_2 + Flags: SFRAME_F_FDE_FUNC_START_PCREL + Num FDEs: 0 + Num FREs: 0 + +#pass diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-err-3.s b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-err-3.s new file mode 100644 index 0000000..7cea165 --- /dev/null +++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-err-3.s @@ -0,0 +1,5 @@ + .cfi_sections .sframe + .cfi_startproc + .cfi_return_column 7 # non-default return address register + br %r7 + .cfi_endproc diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-fpra-offset-1.d b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-fpra-offset-1.d new file mode 100644 index 0000000..e5eac75 --- /dev/null +++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-fpra-offset-1.d @@ -0,0 +1,22 @@ +#name: SFrame generation on s390x - RA and then FP saved on stack +#objdump: --sframe=.sframe +#... +Contents of the SFrame section .sframe: + + Header : + + Version: SFRAME_VERSION_2 + Flags: SFRAME_F_FDE_FUNC_START_PCREL + Num FDEs: 1 + Num FREs: 5 + + Function Index : + + func idx \[0\]: pc = 0x0, size = 34 bytes + STARTPC +CFA +FP +RA + + 0+0000 +sp\+160 +u +u + + 0+0006 +sp\+160 +u +c\-48 + + 0+000c +sp\+160 +c\-72 +c\-48 + + 0+001a +sp\+160 +u +c\-48 + + 0+0020 +sp\+160 +u +u + +#pass diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-fpra-offset-1.s b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-fpra-offset-1.s new file mode 100644 index 0000000..3d9c8cb --- /dev/null +++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-fpra-offset-1.s @@ -0,0 +1,15 @@ + .cfi_sections .sframe + .cfi_startproc + stg %r14,112(%r15) + .cfi_rel_offset 14, 112 + stg %r11,88(%r15) + .cfi_rel_offset 11, 88 + la %r11,0 + la %r14,0 +.Lreturn: + lg %r11,88(%r15) + .cfi_restore 11 + lg %r14,112(%r15) + .cfi_restore 14 + br %r14 + .cfi_endproc diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-fpra-offset-2.d b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-fpra-offset-2.d new file mode 100644 index 0000000..305a917 --- /dev/null +++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-fpra-offset-2.d @@ -0,0 +1,22 @@ +#name: SFrame generation on s390x - FP and then RA saved on stack +#objdump: --sframe=.sframe +#... +Contents of the SFrame section .sframe: + + Header : + + Version: SFRAME_VERSION_2 + Flags: SFRAME_F_FDE_FUNC_START_PCREL + Num FDEs: 1 + Num FREs: 5 + + Function Index : + + func idx \[0\]: pc = 0x0, size = 34 bytes + STARTPC +CFA +FP +RA + + 0+0000 +sp\+160 +u +u + + 0+0006 +sp\+160 +c\-72 +U + + 0+000c +sp\+160 +c\-72 +c\-48 + + 0+001a +sp\+160 +c-72 +U + + 0+0020 +sp\+160 +u +u + +#pass diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-fpra-offset-2.s b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-fpra-offset-2.s new file mode 100644 index 0000000..a84c391 --- /dev/null +++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-fpra-offset-2.s @@ -0,0 +1,15 @@ + .cfi_sections .sframe + .cfi_startproc + stg %r11,88(%r15) + .cfi_rel_offset 11, 88 + stg %r14,112(%r15) + .cfi_rel_offset 14, 112 + la %r11,0 + la %r14,0 +.Lreturn: + lg %r14,112(%r15) + .cfi_restore 14 + lg %r11,88(%r15) + .cfi_restore 11 + br %r14 + .cfi_endproc diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-fpra-register-1.d b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-fpra-register-1.d new file mode 100644 index 0000000..aa1b195 --- /dev/null +++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-fpra-register-1.d @@ -0,0 +1,22 @@ +#name: SFrame generation on s390x - RA and then FP saved in registers +#objdump: --sframe=.sframe +#... +Contents of the SFrame section .sframe: + + Header : + + Version: SFRAME_VERSION_2 + Flags: SFRAME_F_FDE_FUNC_START_PCREL + Num FDEs: 1 + Num FREs: 5 + + Function Index : + + func idx \[0\]: pc = 0x0, size = 26 bytes + STARTPC +CFA +FP +RA + + 0+0000 +sp\+160 +u +u + + 0+0004 +sp\+160 +u +r16 + + 0+0008 +sp\+160 +r17 +r16 + + 0+0014 +sp\+160 +u +r16 + + 0+0018 +sp\+160 +u +u + +#pass diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-fpra-register-1.s b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-fpra-register-1.s new file mode 100644 index 0000000..1d44971 --- /dev/null +++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-fpra-register-1.s @@ -0,0 +1,15 @@ + .cfi_sections .sframe + .cfi_startproc + ldgr %f0,%r14 + .cfi_register 14, 16 + ldgr %f2,%r11 + .cfi_register 11, 17 + la %r11,0 + la %r14,0 +.Lreturn: + lgdr %r11,%f2 + .cfi_restore 11 + lgdr %r14,%f0 + .cfi_restore 14 + br %r14 + .cfi_endproc diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-fpra-register-2.d b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-fpra-register-2.d new file mode 100644 index 0000000..7b719fd --- /dev/null +++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-fpra-register-2.d @@ -0,0 +1,22 @@ +#name: SFrame generation on s390x - FP and then RA saved in FPR registers +#objdump: --sframe=.sframe +#... +Contents of the SFrame section .sframe: + + Header : + + Version: SFRAME_VERSION_2 + Flags: SFRAME_F_FDE_FUNC_START_PCREL + Num FDEs: 1 + Num FREs: 5 + + Function Index : + + func idx \[0\]: pc = 0x0, size = 26 bytes + STARTPC +CFA +FP +RA + + 0+0000 +sp\+160 +u +u + + 0+0004 +sp\+160 +r17 +U + + 0+0008 +sp\+160 +r17 +r16 + + 0+0014 +sp\+160 +r17 +U + + 0+0018 +sp\+160 +u +u + +#pass diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-fpra-register-2.s b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-fpra-register-2.s new file mode 100644 index 0000000..48b01ac --- /dev/null +++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-s390x-fpra-register-2.s @@ -0,0 +1,15 @@ + .cfi_sections .sframe + .cfi_startproc + ldgr %f2,%r11 + .cfi_register 11, 17 + ldgr %f0,%r14 + .cfi_register 14, 16 + la %r11,0 + la %r14,0 +.Lreturn: + lgdr %r14,%f0 + .cfi_restore 14 + lgdr %r11,%f2 + .cfi_restore 11 + br %r14 + .cfi_endproc diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe.exp b/gas/testsuite/gas/cfi-sframe/cfi-sframe.exp index 341a56a..9c5a16f 100644 --- a/gas/testsuite/gas/cfi-sframe/cfi-sframe.exp +++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe.exp @@ -64,8 +64,9 @@ proc gas_x86_64_check { } { } # common tests -if { ([istarget "x86_64-*-*"] || [istarget "aarch64*-*-*"]) \ - && [gas_sframe_check] } then { +if { ([istarget "x86_64-*-*"] || [istarget "aarch64*-*-*"] + || [istarget "s390x-*-*"]) \ + && [gas_sframe_check] } then { global ASFLAGS set old_ASFLAGS "$ASFLAGS" @@ -109,3 +110,17 @@ if { [istarget "aarch64*-*-*"] && [gas_sframe_check] } then { run_dump_test "cfi-sframe-aarch64-4" run_dump_test "cfi-sframe-aarch64-pac-ab-key-1" } + +# s390x specific tests +if { [istarget "s390x*-*-*"] && [gas_sframe_check] } then { + run_dump_test "cfi-sframe-s390x-1" + run_dump_test "cfi-sframe-s390x-2" + run_dump_test "cfi-sframe-s390x-3" + run_dump_test "cfi-sframe-s390x-err-1" + run_dump_test "cfi-sframe-s390x-err-2" + run_dump_test "cfi-sframe-s390x-err-3" + run_dump_test "cfi-sframe-s390x-fpra-offset-1" + run_dump_test "cfi-sframe-s390x-fpra-offset-2" + run_dump_test "cfi-sframe-s390x-fpra-register-1" + run_dump_test "cfi-sframe-s390x-fpra-register-2" +} diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp index 1a766ff..85820c2 100644 --- a/gas/testsuite/gas/mips/mips.exp +++ b/gas/testsuite/gas/mips/mips.exp @@ -1606,6 +1606,9 @@ if { [istarget mips*-*-vxworks*] } { if $has_newabi { run_dump_test "cfi-n64-1" } run_dump_test "pr12915" + + run_dump_test_arches "pr19977" [mips_arch_list_all] + run_dump_test "reginfo-1a" run_dump_test "reginfo-1b" run_dump_test "reginfo-2" @@ -1724,6 +1727,13 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "pcrel-4-n32" run_dump_test "pcrel-4-64" } + run_dump_test "pcrel-hilo-match" + run_dump_test "pcrel-hilo-addend" + run_dump_test "pcrel-hilo" + if $has_newabi { + run_dump_test "pcrel-hilo-n32" + run_dump_test "pcrel-hilo-64" + } run_dump_test "pcrel-reloc-1" run_dump_test "pcrel-reloc-1-r6" diff --git a/gas/testsuite/gas/mips/pcrel-hilo-64.d b/gas/testsuite/gas/mips/pcrel-hilo-64.d new file mode 100644 index 0000000..92c697f --- /dev/null +++ b/gas/testsuite/gas/mips/pcrel-hilo-64.d @@ -0,0 +1,79 @@ +#readelf: -r +#name: MIPSr6 PCHI16/PCLO16 relocations (n64) +#as: -mabi=64 -march=mips64r6 -mno-pdr +#source: pcrel-hilo.s + +Relocation section '\.rela\.text' at offset .+ contains 24 entries: + Offset Info Type Sym\. Value Sym\. Name \+ Addend +000000000000 000800000040 R_MIPS_PCHI16 0000000000000000 bar \+ 7fec + Type2: R_MIPS_NONE + Type3: R_MIPS_NONE +000000000004 000900000005 R_MIPS_HI16 0000000000000000 baz \+ 0 + Type2: R_MIPS_NONE + Type3: R_MIPS_NONE +000000000008 000800000040 R_MIPS_PCHI16 0000000000000000 bar \+ 7ff8 + Type2: R_MIPS_NONE + Type3: R_MIPS_NONE +00000000000c 000800000040 R_MIPS_PCHI16 0000000000000000 bar \+ fff0 + Type2: R_MIPS_NONE + Type3: R_MIPS_NONE +000000000010 000800000041 R_MIPS_PCLO16 0000000000000000 bar \+ 7ffc + Type2: R_MIPS_NONE + Type3: R_MIPS_NONE +000000000014 000900000006 R_MIPS_LO16 0000000000000000 baz \+ 0 + Type2: R_MIPS_NONE + Type3: R_MIPS_NONE +000000000018 000800000041 R_MIPS_PCLO16 0000000000000000 bar \+ 8008 + Type2: R_MIPS_NONE + Type3: R_MIPS_NONE +00000000001c 000800000041 R_MIPS_PCLO16 0000000000000000 bar \+ 10000 + Type2: R_MIPS_NONE + Type3: R_MIPS_NONE +000000000020 000800000040 R_MIPS_PCHI16 0000000000000000 bar \+ 800c + Type2: R_MIPS_NONE + Type3: R_MIPS_NONE +000000000024 000900000005 R_MIPS_HI16 0000000000000000 baz \+ 0 + Type2: R_MIPS_NONE + Type3: R_MIPS_NONE +000000000028 000800000040 R_MIPS_PCHI16 0000000000000000 bar \+ 8018 + Type2: R_MIPS_NONE + Type3: R_MIPS_NONE +00000000002c 000800000040 R_MIPS_PCHI16 0000000000000000 bar \+ 10010 + Type2: R_MIPS_NONE + Type3: R_MIPS_NONE +000000030030 000800000041 R_MIPS_PCLO16 0000000000000000 bar \+ 3801c + Type2: R_MIPS_NONE + Type3: R_MIPS_NONE +000000030034 000900000006 R_MIPS_LO16 0000000000000000 baz \+ 0 + Type2: R_MIPS_NONE + Type3: R_MIPS_NONE +000000030038 000800000041 R_MIPS_PCLO16 0000000000000000 bar \+ 38028 + Type2: R_MIPS_NONE + Type3: R_MIPS_NONE +00000003003c 000800000041 R_MIPS_PCLO16 0000000000000000 bar \+ 40020 + Type2: R_MIPS_NONE + Type3: R_MIPS_NONE +000000030040 000800000041 R_MIPS_PCLO16 0000000000000000 bar \+ 3802c + Type2: R_MIPS_NONE + Type3: R_MIPS_NONE +000000030044 000900000006 R_MIPS_LO16 0000000000000000 baz \+ 0 + Type2: R_MIPS_NONE + Type3: R_MIPS_NONE +000000030048 000800000041 R_MIPS_PCLO16 0000000000000000 bar \+ 38038 + Type2: R_MIPS_NONE + Type3: R_MIPS_NONE +00000003004c 000800000041 R_MIPS_PCLO16 0000000000000000 bar \+ 40030 + Type2: R_MIPS_NONE + Type3: R_MIPS_NONE +000000030050 000800000040 R_MIPS_PCHI16 0000000000000000 bar \+ 3803c + Type2: R_MIPS_NONE + Type3: R_MIPS_NONE +000000030054 000900000005 R_MIPS_HI16 0000000000000000 baz \+ 0 + Type2: R_MIPS_NONE + Type3: R_MIPS_NONE +000000030058 000800000040 R_MIPS_PCHI16 0000000000000000 bar \+ 38048 + Type2: R_MIPS_NONE + Type3: R_MIPS_NONE +00000003005c 000800000040 R_MIPS_PCHI16 0000000000000000 bar \+ 40040 + Type2: R_MIPS_NONE + Type3: R_MIPS_NONE diff --git a/gas/testsuite/gas/mips/pcrel-hilo-addend.d b/gas/testsuite/gas/mips/pcrel-hilo-addend.d new file mode 100644 index 0000000..296101c --- /dev/null +++ b/gas/testsuite/gas/mips/pcrel-hilo-addend.d @@ -0,0 +1,63 @@ +#objdump: -dr --prefix-addresses --show-raw-insn +#name: MIPSr6 PCHI16/PCLO16 in-place addends (o32) +#as: -mabi=32 -mno-pdr +#source: pcrel-hilo.s + +.*: +file format .*mips.* + +Disassembly of section \.text: +00000000 <[^>]*> ec9e0000 auipc a0,0x0 + 0: R_MIPS_PCHI16 bar +00000004 <[^>]*> 3c050000 lui a1,0x0 + 4: R_MIPS_HI16 baz +00000008 <[^>]*> ecde0000 auipc a2,0x0 + 8: R_MIPS_PCHI16 bar +0000000c <[^>]*> ecfe0001 auipc a3,0x1 + c: R_MIPS_PCHI16 bar +00000010 <[^>]*> 24847ffc addiu a0,a0,32764 + 10: R_MIPS_PCLO16 bar +00000014 <[^>]*> 24a50000 addiu a1,a1,0 + 14: R_MIPS_LO16 baz +00000018 <[^>]*> 24c68008 addiu a2,a2,-32760 + 18: R_MIPS_PCLO16 bar +0000001c <[^>]*> 24e70000 addiu a3,a3,0 + 1c: R_MIPS_PCLO16 bar +00000020 <[^>]*> ec9e0001 auipc a0,0x1 + 20: R_MIPS_PCHI16 bar +00000024 <[^>]*> 3c050000 lui a1,0x0 + 24: R_MIPS_HI16 baz +00000028 <[^>]*> ecde0001 auipc a2,0x1 + 28: R_MIPS_PCHI16 bar +0000002c <[^>]*> ecfe0001 auipc a3,0x1 + 2c: R_MIPS_PCHI16 bar + \.\.\. +00030030 <[^>]*> 2484801c addiu a0,a0,-32740 + 30030: R_MIPS_PCLO16 bar +00030034 <[^>]*> 24a50000 addiu a1,a1,0 + 30034: R_MIPS_LO16 baz +00030038 <[^>]*> 24c68028 addiu a2,a2,-32728 + 30038: R_MIPS_PCLO16 bar +0003003c <[^>]*> 24e70020 addiu a3,a3,32 + 3003c: R_MIPS_PCLO16 bar +00030040 <[^>]*> 2410802c li s0,-32724 + 30040: R_MIPS_PCLO16 bar +00030044 <[^>]*> 24110000 li s1,0 + 30044: R_MIPS_LO16 baz +00030048 <[^>]*> 24128038 li s2,-32712 + 30048: R_MIPS_PCLO16 bar +0003004c <[^>]*> 24130030 li s3,48 + 3004c: R_MIPS_PCLO16 bar +00030050 <[^>]*> ec9e0004 auipc a0,0x4 + 30050: R_MIPS_PCHI16 bar +00030054 <[^>]*> 3c050000 lui a1,0x0 + 30054: R_MIPS_HI16 baz +00030058 <[^>]*> ecde0004 auipc a2,0x4 + 30058: R_MIPS_PCHI16 bar +0003005c <[^>]*> ecfe0004 auipc a3,0x4 + 3005c: R_MIPS_PCHI16 bar +00030060 <[^>]*> 00902021 addu a0,a0,s0 +00030064 <[^>]*> 00b12821 addu a1,a1,s1 +00030068 <[^>]*> 00d23021 addu a2,a2,s2 +0003006c <[^>]*> 00f33821 addu a3,a3,s3 +00030070 <[^>]*> d81f0000 jrc ra + \.\.\. diff --git a/gas/testsuite/gas/mips/pcrel-hilo-match.d b/gas/testsuite/gas/mips/pcrel-hilo-match.d new file mode 100644 index 0000000..5ff66c2 --- /dev/null +++ b/gas/testsuite/gas/mips/pcrel-hilo-match.d @@ -0,0 +1,28 @@ +#objdump: -r +#as: -mabi=32 -mno-pdr +#name: MIPS pcrel-hilo-match + +.*: +file format .*mips.* + +RELOCATION RECORDS FOR \[\.text\]: +OFFSET +TYPE +VALUE +00000010 R_MIPS_PCHI16 var4 +00000018 R_MIPS_PCLO16 var4 +00000008 R_MIPS_PCHI16 __var1 +00000020 R_MIPS_PCLO16 __var1 +0000001c R_MIPS_PCHI16 .sbss +0000002c R_MIPS_PCLO16 .sbss +00000028 R_MIPS_PCHI16 __var3 +00000034 R_MIPS_PCLO16 __var3 +00000030 R_MIPS_PCHI16 func4 +00000038 R_MIPS_PCLO16 func4 +00000024 R_MIPS_PCHI16 hilo_match +0000003c R_MIPS_PCLO16 hilo_match +00000040 R_MIPS_PCHI16 .bss +00000048 R_MIPS_PCLO16 .bss +00000044 R_MIPS_PCHI16 .bss +0000004c R_MIPS_PCLO16 .bss +00000050 R_MIPS_PCHI16 hilo_match +00000058 R_MIPS_PCLO16 hilo_match +00000054 R_MIPS_PCHI16 func3 +0000005c R_MIPS_PCLO16 func3 diff --git a/gas/testsuite/gas/mips/pcrel-hilo-match.s b/gas/testsuite/gas/mips/pcrel-hilo-match.s new file mode 100644 index 0000000..dfc8a80 --- /dev/null +++ b/gas/testsuite/gas/mips/pcrel-hilo-match.s @@ -0,0 +1,81 @@ + .module mips64r6 + + .align 2 + .globl _pinit + .ent _pinit +_pinit: + lw $3,8($23) + li $5,1 +10: auipc $2,%pcrel_hi(__var1) + ori $3,$3,0x1 +11: auipc $4,%pcrel_hi(var4) + sw $3,8($23) +12: addiu $4,$4,%pcrel_lo(var4 + (12b - 11b)) +13: auipc $3,%pcrel_hi(var5) +14: sw $5,%pcrel_lo(__var1 + (14b - 10b))($2) +15: auipc $19,%pcrel_hi(hilo_match) +16: auipc $2,%pcrel_hi(__var3) +17: sw $5,%pcrel_lo(var5 + (17b - 13b))($3) +18: auipc $25,%pcrel_hi(func4) +19: sw $5,%pcrel_lo(__var3 + (19b - 16b))($2) +20: jialc $25,%pcrel_lo(func4 + (20b - 18b)) +21: lw $17,%pcrel_lo(hilo_match + (21b - 15b))($19) +22: auipc $2,%pcrel_hi(var6) +23: auipc $3,%pcrel_hi(var6+704) +24: addiu $16,$2,%pcrel_lo(var6 + (24b - 22b)) +25: addiu $18,$3,%pcrel_lo(var6+704 + (25b - 23b)) +26: auipc $19,%pcrel_hi(hilo_match) +28: auipc $25,%pcrel_hi(func3) +27: sw $2,%pcrel_lo(hilo_match + (27b - 26b))($19) +29: jialc $25,%pcrel_lo(func3 + (29b - 28b)) + .end _pinit + .size _pinit, .-_pinit + + .align 2 + .weak __var3 + .section .sbss,"aw",@nobits + .align 2 + .type __var3, @object + .size __var3, 4 +__var3: + .space 4 + .weak __var1 + .align 2 + .type __var1, @object + .size __var1, 4 +__var1: + .space 4 + .data + .align 2 + .weak __hilo_match + .align 2 + .type __hilo_match, @object + .size __hilo_match, 4 +__hilo_match: + .space 4 + .data + .align 2 + .align 2 + .type var2, @object + .size var2, 32 +var2: + .word 0 + .word -1 + .word 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .word 0 + .word 0 + .half 0 + .space 6 + .align 2 + .rdata + .align 2 + .space 8 + .local var5 + .comm var5,4,4 + .align 2 + .local var6 + .comm var6,704,4 diff --git a/gas/testsuite/gas/mips/pcrel-hilo-n32.d b/gas/testsuite/gas/mips/pcrel-hilo-n32.d new file mode 100644 index 0000000..aed204a --- /dev/null +++ b/gas/testsuite/gas/mips/pcrel-hilo-n32.d @@ -0,0 +1,31 @@ +#readelf: -r +#name: MIPSr6 PCHI16/PCLO16 relocations (n32) +#as: -mabi=n32 -march=mips64r6 -mno-pdr +#source: pcrel-hilo.s + +Relocation section '\.rela\.text' at offset .+ contains 24 entries: + Offset Info Type Sym\.Value Sym\. Name \+ Addend +00000000 00000840 R_MIPS_PCHI16 00000000 bar \+ 7fec +00000004 00000905 R_MIPS_HI16 00000000 baz \+ 0 +00000008 00000840 R_MIPS_PCHI16 00000000 bar \+ 7ff8 +0000000c 00000840 R_MIPS_PCHI16 00000000 bar \+ fff0 +00000010 00000841 R_MIPS_PCLO16 00000000 bar \+ 7ffc +00000014 00000906 R_MIPS_LO16 00000000 baz \+ 0 +00000018 00000841 R_MIPS_PCLO16 00000000 bar \+ 8008 +0000001c 00000841 R_MIPS_PCLO16 00000000 bar \+ 10000 +00000020 00000840 R_MIPS_PCHI16 00000000 bar \+ 800c +00000024 00000905 R_MIPS_HI16 00000000 baz \+ 0 +00000028 00000840 R_MIPS_PCHI16 00000000 bar \+ 8018 +0000002c 00000840 R_MIPS_PCHI16 00000000 bar \+ 10010 +00030030 00000841 R_MIPS_PCLO16 00000000 bar \+ 3801c +00030034 00000906 R_MIPS_LO16 00000000 baz \+ 0 +00030038 00000841 R_MIPS_PCLO16 00000000 bar \+ 38028 +0003003c 00000841 R_MIPS_PCLO16 00000000 bar \+ 40020 +00030040 00000841 R_MIPS_PCLO16 00000000 bar \+ 3802c +00030044 00000906 R_MIPS_LO16 00000000 baz \+ 0 +00030048 00000841 R_MIPS_PCLO16 00000000 bar \+ 38038 +0003004c 00000841 R_MIPS_PCLO16 00000000 bar \+ 40030 +00030050 00000840 R_MIPS_PCHI16 00000000 bar \+ 3803c +00030054 00000905 R_MIPS_HI16 00000000 baz \+ 0 +00030058 00000840 R_MIPS_PCHI16 00000000 bar \+ 38048 +0003005c 00000840 R_MIPS_PCHI16 00000000 bar \+ 40040 diff --git a/gas/testsuite/gas/mips/pcrel-hilo.d b/gas/testsuite/gas/mips/pcrel-hilo.d new file mode 100644 index 0000000..a96e4f2 --- /dev/null +++ b/gas/testsuite/gas/mips/pcrel-hilo.d @@ -0,0 +1,30 @@ +#readelf: -r +#name: MIPSr6 PCHI16/PCLO16 relocations (o32) +#as: -mabi=32 -mno-pdr + +Relocation section '\.rel\.text' at offset .+ contains 24 entries: + Offset Info Type Sym\.Value Sym\. Name +00030050 00000840 R_MIPS_PCHI16 00000000 bar +00000000 00000840 R_MIPS_PCHI16 00000000 bar +00000010 00000841 R_MIPS_PCLO16 00000000 bar +00000004 00000905 R_MIPS_HI16 00000000 baz +00000014 00000906 R_MIPS_LO16 00000000 baz +00030058 00000840 R_MIPS_PCHI16 00000000 bar +00000028 00000840 R_MIPS_PCHI16 00000000 bar +00000008 00000840 R_MIPS_PCHI16 00000000 bar +00000018 00000841 R_MIPS_PCLO16 00000000 bar +0003005c 00000840 R_MIPS_PCHI16 00000000 bar +0000002c 00000840 R_MIPS_PCHI16 00000000 bar +0000000c 00000840 R_MIPS_PCHI16 00000000 bar +0000001c 00000841 R_MIPS_PCLO16 00000000 bar +00000020 00000840 R_MIPS_PCHI16 00000000 bar +00030030 00000841 R_MIPS_PCLO16 00000000 bar +00000024 00000905 R_MIPS_HI16 00000000 baz +00030034 00000906 R_MIPS_LO16 00000000 baz +00030038 00000841 R_MIPS_PCLO16 00000000 bar +0003003c 00000841 R_MIPS_PCLO16 00000000 bar +00030040 00000841 R_MIPS_PCLO16 00000000 bar +00030054 00000905 R_MIPS_HI16 00000000 baz +00030044 00000906 R_MIPS_LO16 00000000 baz +00030048 00000841 R_MIPS_PCLO16 00000000 bar +0003004c 00000841 R_MIPS_PCLO16 00000000 bar diff --git a/gas/testsuite/gas/mips/pcrel-hilo.s b/gas/testsuite/gas/mips/pcrel-hilo.s new file mode 100644 index 0000000..4a8278f --- /dev/null +++ b/gas/testsuite/gas/mips/pcrel-hilo.s @@ -0,0 +1,48 @@ + .module mips64r6 + + .text + .align 16 + .globl foo + .ent foo +foo: +0: auipc $4, %pcrel_hi(bar + 0x7fec) +1: lui $5, %hi(baz) +2: auipc $6, %pcrel_hi(bar + 0x7ff8) +3: auipc $7, %pcrel_hi(bar + 0xfff0) +4: addiu $4, %pcrel_lo(bar + 0x7fec + (4b - 0b)) +5: addiu $5, %lo(baz) +6: addiu $6, %pcrel_lo(bar + 0x7ff8 + (6b - 2b)) +7: addiu $7, %pcrel_lo(bar + 0xfff0 + (7b - 3b)) +10: auipc $4, %pcrel_hi(bar + 0x800c) +11: lui $5, %hi(baz) +12: auipc $6, %pcrel_hi(bar + 0x8018) +13: auipc $7, %pcrel_hi(bar + 0x10010) + .rept 49152 + nop + .endr +14: addiu $4, %pcrel_lo(bar + 0x800c + (14b - 10b)) +15: addiu $5, %lo(baz) +16: addiu $6, %pcrel_lo(bar + 0x8018 + (16b - 12b)) +17: addiu $7, %pcrel_lo(bar + 0x10010 + (17b - 13b)) +24: addiu $16, $0, %pcrel_lo(bar + 0x3803c + (24b - 20f)) +25: addiu $17, $0, %lo(baz) +26: addiu $18, $0, %pcrel_lo(bar + 0x38048 + (26b - 22f)) +27: addiu $19, $0, %pcrel_lo(bar + 0x40040 + (27b - 23f)) +20: auipc $4, %pcrel_hi(bar + 0x3803c) +21: lui $5, %hi(baz) +22: auipc $6, %pcrel_hi(bar + 0x38048) +23: auipc $7, %pcrel_hi(bar + 0x40040) + addu $4, $4, $16 + addu $5, $5, $17 + addu $6, $6, $18 + addu $7, $7, $19 + jrc $31 + .end foo + + .data + .align 16 + .globl bar + .type bar, @object +bar: + .space 0x18000 + .size bar, . - bar diff --git a/gas/testsuite/gas/mips/pr19977.d b/gas/testsuite/gas/mips/pr19977.d new file mode 100644 index 0000000..5b8d60c --- /dev/null +++ b/gas/testsuite/gas/mips/pr19977.d @@ -0,0 +1,30 @@ +#name: pr19977 +#as: -32 +#objdump: -dr + +.* + +Disassembly of section \.text: + +0+ <foo>: + 0: .* li v1,4387 + 0: R_(|MICRO)MIPS(|16)_TLS_TPREL_HI16 \$loc0 + 4: .* sll .* + 8: .* addiu v1(|,v1),-26232 + 8: R_(|MICRO)MIPS(|16)_TLS_TPREL_LO16 \$loc0 + c: .* li v1,4387 + c: R_(|MICRO)MIPS(|16)_TLS_DTPREL_HI16 \$loc0 + 10: .* sll .* + 14: .* addiu v1(|,v1),-26232 + 14: R_(|MICRO)MIPS(|16)_TLS_DTPREL_LO16 \$loc0 + 18: .* li v1,4386 + 18: R_(|MICRO)MIPS(|16)_TLS_TPREL_HI16 \.tdata + 1c: .* sll .* + 20: .* addiu v1(|,v1),6536 + 20: R_(|MICRO)MIPS(|16)_TLS_TPREL_LO16 \.tdata + 24: .* li v1,4386 + 24: R_(|MICRO)MIPS(|16)_TLS_DTPREL_HI16 \.tdata + 28: .* sll .* + 2c: .* addiu v1(|,v1),6536 + 2c: R_(|MICRO)MIPS(|16)_TLS_DTPREL_LO16 \.tdata +#pass diff --git a/gas/testsuite/gas/mips/pr19977.s b/gas/testsuite/gas/mips/pr19977.s new file mode 100644 index 0000000..1d1ab36 --- /dev/null +++ b/gas/testsuite/gas/mips/pr19977.s @@ -0,0 +1,21 @@ + .text +foo: + li $3,%tprel_hi($loc0+0x11229988) + sll $3,16 + addiu $3,%tprel_lo($loc0+0x11229988) + + li $3,%dtprel_hi($loc0+0x11229988) + sll $3,16 + addiu $3,%dtprel_lo($loc0+0x11229988) + + li $3,%tprel_hi(.tdata+0x11221988) + sll $3,16 + addiu $3,%tprel_lo(.tdata+0x11221988) + + li $3,%dtprel_hi(.tdata+0x11221988) + sll $3,16 + addiu $3,%dtprel_lo(.tdata+0x11221988) + + .section .tdata,"awT",%progbits +$loc0: + .word 0 diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c index dcb7e7b..b50a7c3 100644 --- a/gdb/i386-tdep.c +++ b/gdb/i386-tdep.c @@ -4800,7 +4800,7 @@ static int i386_record_floats (struct gdbarch *gdbarch, static int i386_record_vex (struct i386_record_s *ir, uint8_t vex_w, uint8_t vex_r, - int opcode, struct gdbarch *gdbarch) + struct gdbarch *gdbarch) { /* We need this to find YMM (and once AVX-512 is supported, ZMM) registers. We should always save the largest available register, since an @@ -4814,6 +4814,11 @@ i386_record_vex (struct i386_record_s *ir, uint8_t vex_w, uint8_t vex_r, SCOPE_EXIT { inferior_thread ()->set_executing (true); }; inferior_thread () -> set_executing (false); + uint8_t opcode; + if (record_read_memory (gdbarch, ir->addr, &opcode, 1)) + return -1; + ir->addr++; + switch (opcode) { case 0x10: /* VMOVS[S|D] XMM, mem. */ @@ -4854,12 +4859,6 @@ i386_record_vex (struct i386_record_s *ir, uint8_t vex_w, uint8_t vex_r, i386_record_lea_modrm (ir); } break; - case 0x14: /* VUNPCKL[PS|PD]. */ - case 0x15: /* VUNPCKH [PS|PD]. */ - i386_record_modrm (ir); - record_full_arch_list_add_reg (ir->regcache, - tdep->ymm0_regnum + ir->reg + vex_r * 8); - break; case 0x6e: /* VMOVD XMM, reg/mem */ /* This is moving from a regular register or memory region into an XMM register. */ @@ -4989,6 +4988,27 @@ i386_record_vex (struct i386_record_s *ir, uint8_t vex_w, uint8_t vex_r, } break; + case 0x19: /* VBROADCASTSD and VEXTRACTF128. */ + case 0x39: /* VEXTRACTI128. */ + i386_record_modrm (ir); + /* vextract instructions use ModRM.R/M and VEX.B to address the + output register, while vbroadcast use ModRM.Reg and VEX.R. + They are differentiated through map_select. */ + if (ir->map_select == 2) + record_full_arch_list_add_reg (ir->regcache, + tdep->ymm0_regnum + ir->reg + + 8 * vex_r); + else + record_full_arch_list_add_reg (ir->regcache, + tdep->ymm0_regnum + ir->rm + + 8 * ir->rex_b); + break; + + case 0x18: /* VBROADCASTSS and VINSERTI128. */ + case 0x20: /* VPINSRB. */ + case 0x21: /* VINSERTPS. */ + case 0x22: /* VINSR[D|Q]. */ + case 0x38: /* VINSERTF128. */ case 0x60: /* VPUNPCKLBW */ case 0x61: /* VPUNPCKLWD */ case 0x62: /* VPUNPCKLDQ */ @@ -4997,6 +5017,7 @@ i386_record_vex (struct i386_record_s *ir, uint8_t vex_w, uint8_t vex_r, case 0x69: /* VPUNPCKHWD */ case 0x6a: /* VPUNPCKHDQ */ case 0x6d: /* VPUNPCKHQDQ */ + case 0xc4: /* VPINSRW. */ { i386_record_modrm (ir); int reg_offset = ir->reg + vex_r * 8; @@ -5005,6 +5026,61 @@ i386_record_vex (struct i386_record_s *ir, uint8_t vex_w, uint8_t vex_r, } break; + case 0x14: /* VPEXTRB and VUNPCKL[PS|PD]. */ + case 0x15: /* VPEXTRW (to memory) and VUNPCKH [PS|PD]. */ + case 0x16: /* VPEXTR[D|Q], VPERMPS, VMOVLHPS and VMOVHP[S|D] to reg. */ + { + i386_record_modrm (ir); + /* All vpextr instructions in this case use map_select == 3, + while vpermps has map_select == 2 and the other instructions + have map_select == 1. The opcode 0xc5 is for vpextr, but also + uses map_select == 1, but due to other inconsistencies with + the other vpextr instructions, it is in a separate case to + avoid making this even more of a mess. */ + if (ir->map_select == 3) + { + if (ir->mod == 3) + { + /* ModRM.Mod being equal to 3 means this ModRM encodes + a register. */ + record_full_arch_list_add_reg (ir->regcache, + ir->regmap[X86_RECORD_REAX_REGNUM + + ir->rm]); + } + else + { + /* Even though the test only generated ModRM.Mod == 0, + in theory all values != 3 are viable to encode a memory + address, so all of them are passed along. */ + /* Size is mostly based on the opcode, except for + double/quadword difference. */ + ir->ot = opcode - 0x14; + if (opcode == 0x16 && vex_w == 1) + ir->ot ++; + /* I'm not sure if this is the original use, but in here + rip_offset is used to indicate that the RIP pointer will + be 1 byte away from where the instruction expects it to + be, because the immediate will not have been read by the + time the address changed is calculated. */ + ir->rip_offset = 1; + i386_record_lea_modrm (ir); + } + } + else + { + record_full_arch_list_add_reg (ir->regcache, + tdep->ymm0_regnum + ir->reg + + vex_r * 8); + } + break; + } + case 0xc5: /* VPEXTRW to register. */ + i386_record_modrm (ir); + record_full_arch_list_add_reg (ir->regcache, + ir->regmap[X86_RECORD_REAX_REGNUM + + ir->reg]); + break; + case 0x74: /* VPCMPEQB */ case 0x75: /* VPCMPEQB */ case 0x76: /* VPCMPEQB */ @@ -5016,17 +5092,96 @@ i386_record_vex (struct i386_record_s *ir, uint8_t vex_w, uint8_t vex_r, } break; - case 0x78: /* VPBROADCASTB */ - case 0x79: /* VPBROADCASTW */ + case 0x71: /* VPS[LL|RA|RL]W with constant shift. */ + case 0x72: /* VPS[LL|RA|RL]D with constant shift. */ + case 0x73: /* VPS[LL|RL][Q|DQ] with constant shift. */ + { + record_full_arch_list_add_reg (ir->regcache, + tdep->ymm0_regnum + ir->vvvv); + break; + } + + case 0x2c: /* VCVTTSD2SI and VCVTTSS2SI. */ + case 0x2d: /* VCVTSD2SI and VCVTSS2SI. */ + i386_record_modrm (ir); + record_full_arch_list_add_reg (ir->regcache, + ir->regmap[X86_RECORD_REAX_REGNUM + + ir->reg]); + break; + + case 0x17: /* VEXTRACTPS and VMOVHP[S|D] to memory. */ + case 0x13: /* VMOVLPD to memory. */ + i386_record_modrm (ir); + if (ir->map_select == 1) /* This is the VMOV family. */ + { + ir->ot = 3; + i386_record_lea_modrm (ir); + } + else + record_full_arch_list_add_reg (ir->regcache, + ir->regmap[X86_RECORD_REAX_REGNUM + + ir->rm]); + break; + + case 0x00: /* VSHUFB and VPERMQ. */ + case 0x01: /* VPERMPD. */ + case 0x02: /* VPBLENDD. */ + case 0x04: /* VPERMILPS with immediate. */ + case 0x05: /* VPERMILPD with immediate. */ + case 0x06: /* VMPERM2F128. */ + case 0x0c: /* VPERMILPS with register and VBLENDPS. */ + case 0x0d: /* VPERMILPD with register and VBLENDPD. */ + case 0x0e: /* VPBLENDW. */ + case 0x12: /* VMOVDDUP, VMOVHLPS and VMOVLPD to register. */ + case 0x1a: /* VBROADCASTF128. */ + case 0x2a: /* VCVTSI2SS. */ + case 0x2b: /* VPACKUSDW. */ + case 0x36: /* VPERMD. */ + case 0x40: /* VPMULLD */ + case 0x46: /* VPERM2I128. */ + case 0x4a: /* VBLENDVPS. */ + case 0x4b: /* VBLENDVPD. */ + case 0x4c: /* VPBLENDVB. */ + case 0x57: /* VXORP[S|D] */ case 0x58: /* VPBROADCASTD and VADD[P|S][S|D] */ case 0x59: /* VPBROADCASTQ and VMUL[P|S][S|D] */ + case 0x5a: /* VCVTPS2PD, VCVTSD2SS, VCVTSS2SD and VCVTPD2PS. */ + case 0x5b: /* VCVTDQ2PS, VCVTTPS2PD and VCVTPS2DQ. */ case 0x5c: /* VSUB[P|S][S|D] */ case 0x5d: /* VMIN[P|S][S|D] */ case 0x5e: /* VDIV[P|S][S|D] */ case 0x5f: /* VMAX[P|S][S|D] */ + case 0x63: /* VPACKSSWB. */ + case 0X67: /* VPACKUSWB. */ + case 0x6b: /* VPACKSSDW. */ + case 0x70: /* VPSHUF[B|D|HW|LW]. */ + case 0x78: /* VPBROADCASTB */ + case 0x79: /* VPBROADCASTW */ + case 0xc6: /* VSHUFP[S|D]. */ + case 0xd1: /* VPSRLW, dynamic shift. */ + case 0xd2: /* VPSRLD, dynamic shift. */ + case 0xd3: /* VPSRLQ, dynamic shift. */ + case 0xd4: /* VPADDQ */ + case 0xd5: /* VPMULLW */ + case 0xdb: /* VPAND */ + case 0xdf: /* VPANDN */ + case 0xe1: /* VPSRAW, dynamic shift. */ + case 0xe2: /* VPSRAD, dynamic shift. */ + case 0xe4: /* VPMULHUW */ + case 0xe5: /* VPMULHW */ + case 0xe6: /* VCVTDQ2PD, VCVTTPD2DQ and VCVTPD2DQ. */ + case 0xf1: /* VPSLLW, dynamic shift. */ + case 0xf2: /* VPSLLD, dynamic shift. */ + case 0xf3: /* VPSLLQ, dynamic shift. */ + case 0xf4: /* VPMULUDQ */ + case 0xf6: /* VPSADBW. */ + case 0xfc: /* VPADDB */ + case 0xfd: /* VPADDW */ + case 0xfe: /* VPADDD */ { - /* vpbroadcast and arithmetic operations are differentiated - by map_select, but it doesn't change the recording mechanics. */ + /* This set of instructions all share the same exact way to encode + the destination register, so there's no reason to try and + differentiate them. */ i386_record_modrm (ir); int reg_offset = ir->reg + vex_r * 8; gdb_assert (tdep->num_ymm_regs > reg_offset); @@ -5035,6 +5190,17 @@ i386_record_vex (struct i386_record_s *ir, uint8_t vex_w, uint8_t vex_r, } break; + case 0x2e: /* VUCOMIS[S|D]. */ + case 0x2f: /* VCOMIS[S|D]. */ + { + /* Despite what the manual implies, saying that the first register + will be written to, actual testing shows that the only register + changed is EFLAGS. */ + record_full_arch_list_add_reg (ir->regcache, + ir->regmap[X86_RECORD_EFLAGS_REGNUM]); + break; + } + case 0x77:/* VZEROUPPER */ { int num_regs = tdep->num_ymm_regs; @@ -5127,8 +5293,11 @@ i386_process_record (struct gdbarch *gdbarch, struct regcache *regcache, "addr = %s\n", paddress (gdbarch, ir.addr)); - /* prefixes */ - while (1) + /* Process the prefixes. This used to be an infinite loop, but since + a VEX prefix is always the last one before the opcode, according to + Intel's manual anyway, and some AVX opcodes may conflict with + prefixes, it's safe to leave the loop as soon as we see VEX. */ + while (!vex_prefix) { if (record_read_memory (gdbarch, ir.addr, &opcode8, 1)) return -1; @@ -5268,7 +5437,7 @@ i386_process_record (struct gdbarch *gdbarch, struct regcache *regcache, { /* If we found the VEX prefix, i386 will either record or warn that the instruction isn't supported, so we can return the VEX result. */ - return i386_record_vex (&ir, rex_w, rex_r, opcode, gdbarch); + return i386_record_vex (&ir, rex_w, rex_r, gdbarch); } reswitch: switch (opcode) diff --git a/gdb/solib-dsbt.c b/gdb/solib-dsbt.c index f18d9a2..13623fc 100644 --- a/gdb/solib-dsbt.c +++ b/gdb/solib-dsbt.c @@ -19,7 +19,6 @@ #include "extract-store-integer.h" #include "inferior.h" -#include "gdbcore.h" #include "solib.h" #include "objfiles.h" #include "symtab.h" diff --git a/gdb/solib-frv.c b/gdb/solib-frv.c index 6165d0b..b48efe5 100644 --- a/gdb/solib-frv.c +++ b/gdb/solib-frv.c @@ -18,7 +18,6 @@ #include "extract-store-integer.h" -#include "gdbcore.h" #include "solib.h" #include "frv-tdep.h" #include "objfiles.h" diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c index 9b4cabf..e454254 100644 --- a/gdb/solib-svr4.c +++ b/gdb/solib-svr4.c @@ -3582,7 +3582,10 @@ find_debug_base_for_solib (const solib *solib) if (solib == nullptr) return 0; - svr4_info *info = get_svr4_info (current_program_space); + /* This is always called for solibs with an associated objfile. */ + gdb_assert (solib->objfile != nullptr); + + svr4_info *info = get_svr4_info (solib->objfile->pspace ()); gdb_assert (info != nullptr); auto *lm_info diff --git a/gdb/solib.c b/gdb/solib.c index e43b1a3..676688b 100644 --- a/gdb/solib.c +++ b/gdb/solib.c @@ -62,8 +62,8 @@ show_solib_search_path (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) { gdb_printf (file, - _ ("The search path for loading non-absolute " - "shared library symbol files is %s.\n"), + _("The search path for loading non-absolute " + "shared library symbol files is %s.\n"), value); } @@ -420,7 +420,7 @@ solib_bfd_fopen (const char *pathname, int fd) if (abfd == NULL) { /* Arrange to free PATHNAME when the error is thrown. */ - error (_ ("Could not open `%s' as an executable file: %s"), pathname, + error (_("Could not open `%s' as an executable file: %s"), pathname, bfd_errmsg (bfd_get_error ())); } @@ -453,14 +453,14 @@ solib_bfd_open (const char *pathname) /* Check bfd format. */ if (!bfd_check_format (abfd.get (), bfd_object)) - error (_ ("`%s': not in executable format: %s"), + error (_("`%s': not in executable format: %s"), bfd_get_filename (abfd.get ()), bfd_errmsg (bfd_get_error ())); /* Check bfd arch. */ b = gdbarch_bfd_arch_info (current_inferior ()->arch ()); if (!b->compatible (b, bfd_get_arch_info (abfd.get ()))) - error (_ ("`%s': Shared library architecture %s is not compatible " - "with target architecture %s."), + error (_("`%s': Shared library architecture %s is not compatible " + "with target architecture %s."), bfd_get_filename (abfd.get ()), bfd_get_arch_info (abfd.get ())->printable_name, b->printable_name); @@ -534,7 +534,7 @@ solib_map_sections (solib &so) if (abfd == nullptr && mismatch) { - warning (_ ("Build-id of %ps does not match core file."), + warning (_("Build-id of %ps does not match core file."), styled_string (file_name_style.style (), filename.get ())); abfd = nullptr; @@ -658,8 +658,8 @@ solib_read_symbols (solib &so, symfile_add_flags flags) catch (const gdb_exception_error &e) { exception_fprintf (gdb_stderr, e, - _ ("Error while reading shared" - " library symbols for %s:\n"), + _("Error while reading shared" + " library symbols for %s:\n"), so.name.c_str ()); } @@ -843,8 +843,8 @@ update_solib_list (int from_tty) catch (const gdb_exception_error &e) { exception_fprintf (gdb_stderr, e, - _ ("Error while mapping shared " - "library sections:\n")); + _("Error while mapping shared " + "library sections:\n")); } /* Notify any observer that the shared object has been @@ -863,15 +863,15 @@ update_solib_list (int from_tty) stand out well. */ if (not_found == 1) - warning (_ ("Could not load shared library symbols for %ps.\n" - "Do you need \"%ps\" or \"%ps\"?"), + warning (_("Could not load shared library symbols for %ps.\n" + "Do you need \"%ps\" or \"%ps\"?"), styled_string (file_name_style.style (), not_found_filename), styled_string (command_style.style (), "set solib-search-path"), styled_string (command_style.style (), "set sysroot")); else if (not_found > 1) - warning (_ ("\ + warning (_("\ Could not load shared library symbols for %d libraries, e.g. %ps.\n\ Use the \"%ps\" command to see the complete listing.\n\ Do you need \"%ps\" or \"%ps\"?"), @@ -929,11 +929,11 @@ solib_add (const char *pattern, int from_tty, int readsyms) { if (pattern != NULL) { - gdb_printf (_ ("Loading symbols for shared libraries: %s\n"), + gdb_printf (_("Loading symbols for shared libraries: %s\n"), pattern); } else - gdb_printf (_ ("Loading symbols for shared libraries.\n")); + gdb_printf (_("Loading symbols for shared libraries.\n")); } current_program_space->solib_add_generation++; @@ -943,7 +943,7 @@ solib_add (const char *pattern, int from_tty, int readsyms) char *re_err = re_comp (pattern); if (re_err) - error (_ ("Invalid regexp: %s"), re_err); + error (_("Invalid regexp: %s"), re_err); } update_solib_list (from_tty); @@ -977,7 +977,7 @@ solib_add (const char *pattern, int from_tty, int readsyms) /* If no pattern was given, be quiet for shared libraries we have already loaded. */ if (pattern && (from_tty || info_verbose)) - gdb_printf (_ ("Symbols already loaded for %ps\n"), + gdb_printf (_("Symbols already loaded for %ps\n"), styled_string (file_name_style.style (), gdb.name.c_str ())); } @@ -1097,8 +1097,8 @@ print_solib_list_table (std::vector<const solib *> solib_list, } if (so_missing_debug_info) - uiout->message (_ ("(*): Shared library is missing " - "debugging information.\n")); + uiout->message (_("(*): Shared library is missing " + "debugging information.\n")); } /* Implement the "info sharedlibrary" command. Walk through the @@ -1116,7 +1116,7 @@ info_sharedlibrary_command (const char *pattern, int from_tty) char *re_err = re_comp (pattern); if (re_err) - error (_ ("Invalid regexp: %s"), re_err); + error (_("Invalid regexp: %s"), re_err); } update_solib_list (from_tty); @@ -1140,9 +1140,9 @@ info_sharedlibrary_command (const char *pattern, int from_tty) if (print_libs.size () == 0) { if (pattern) - uiout->message (_ ("No shared libraries matched.\n")); + uiout->message (_("No shared libraries matched.\n")); else - uiout->message (_ ("No shared libraries loaded at this time.\n")); + uiout->message (_("No shared libraries loaded at this time.\n")); } } @@ -1173,7 +1173,7 @@ info_linker_namespace_command (const char *pattern, int from_tty) if (pattern == nullptr || pattern[0] == '\0') { - uiout->message (_ ("There are %d linker namespaces loaded\n"), + uiout->message (_("There are %d linker namespaces loaded\n"), ops->num_active_namespaces ()); int printed = 0; @@ -1203,7 +1203,7 @@ info_linker_namespace_command (const char *pattern, int from_tty) char * end = nullptr; ns = strtol (pattern, &end, 10); if (end[0] != '\0') - error (_ ("Invalid linker namespace identifier: %s"), pattern); + error (_("Invalid linker namespace identifier: %s"), pattern); } all_solibs_to_print.push_back @@ -1228,10 +1228,10 @@ info_linker_namespace_command (const char *pattern, int from_tty) break; } uiout->message - (_ ("There are %zu libraries loaded in linker namespace [[%d]]\n"), + (_("There are %zu libraries loaded in linker namespace [[%d]]\n"), solibs_to_print.size (), ns); uiout->message - (_ ("Displaying libraries for linker namespace [[%d]]:\n"), ns); + (_("Displaying libraries for linker namespace [[%d]]:\n"), ns); print_solib_list_table (solibs_to_print, false); } @@ -1402,7 +1402,7 @@ static void reload_shared_libraries_1 (int from_tty) { if (print_symbol_loading_p (from_tty, 0, 0)) - gdb_printf (_ ("Loading symbols for shared libraries.\n")); + gdb_printf (_("Loading symbols for shared libraries.\n")); for (solib &so : current_program_space->solibs ()) { @@ -1449,8 +1449,8 @@ reload_shared_libraries_1 (int from_tty) catch (const gdb_exception_error &e) { exception_fprintf (gdb_stderr, e, - _ ("Error while mapping " - "shared library sections:\n")); + _("Error while mapping " + "shared library sections:\n")); got_error = true; } @@ -1530,9 +1530,9 @@ gdb_sysroot_changed (const char *ignored, int from_tty, if (!warning_issued) { - warning (_ ("\"%s\" is deprecated, use \"%s\" instead."), old_prefix, + warning (_("\"%s\" is deprecated, use \"%s\" instead."), old_prefix, new_prefix); - warning (_ ("sysroot set to \"%s\"."), gdb_sysroot.c_str ()); + warning (_("sysroot set to \"%s\"."), gdb_sysroot.c_str ()); warning_issued = true; } @@ -1545,7 +1545,7 @@ static void show_auto_solib_add (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) { - gdb_printf (file, _ ("Autoloading of shared library symbols is %s.\n"), + gdb_printf (file, _("Autoloading of shared library symbols is %s.\n"), value); } @@ -1861,23 +1861,23 @@ INIT_GDB_FILE (solib) add_com ( "sharedlibrary", class_files, sharedlibrary_command, - _ ("Load shared object library symbols for files matching REGEXP.")); + _("Load shared object library symbols for files matching REGEXP.")); cmd_list_element *info_sharedlibrary_cmd = add_info ("sharedlibrary", info_sharedlibrary_command, - _ ("Status of loaded shared object libraries.")); + _("Status of loaded shared object libraries.")); add_info_alias ("dll", info_sharedlibrary_cmd, 1); add_com ("nosharedlibrary", class_files, no_shared_libraries_command, - _ ("Unload all shared object library symbols.")); + _("Unload all shared object library symbols.")); add_info ("linker-namespaces", info_linker_namespace_command, - _ ("Get information about linker namespaces in the inferior.")); + _("Get information about linker namespaces in the inferior.")); add_setshow_boolean_cmd ("auto-solib-add", class_support, &auto_solib_add, - _ ("\ + _("\ Set autoloading of shared library symbols."), - _ ("\ + _("\ Show autoloading of shared library symbols."), - _ ("\ + _("\ If \"on\", symbols from all shared object libraries will be loaded\n\ automatically when the inferior begins execution, when the dynamic linker\n\ informs gdb that a new library has been loaded, or when attaching to the\n\ @@ -1887,11 +1887,11 @@ inferior. Otherwise, symbols must be loaded manually, using \ set_show_commands sysroot_cmds = add_setshow_optional_filename_cmd ("sysroot", class_support, - &gdb_sysroot, _ ("\ + &gdb_sysroot, _("\ Set an alternate system root."), - _ ("\ + _("\ Show the current system root."), - _ ("\ + _("\ The system root is used to load absolute shared library symbol files.\n\ For other (relative) files, you can add directories using\n\ `set solib-search-path'."), @@ -1904,22 +1904,22 @@ For other (relative) files, you can add directories using\n\ &showlist); add_setshow_optional_filename_cmd ("solib-search-path", class_support, - &solib_search_path, _ ("\ + &solib_search_path, _("\ Set the search path for loading non-absolute shared library symbol files."), - _ ("\ + _("\ Show the search path for loading non-absolute shared library symbol files."), - _ ("\ + _("\ This takes precedence over the environment variables \ PATH and LD_LIBRARY_PATH."), reload_shared_libraries, show_solib_search_path, &setlist, &showlist); - add_setshow_boolean_cmd ("solib", class_maintenance, &debug_solib, _ ("\ + add_setshow_boolean_cmd ("solib", class_maintenance, &debug_solib, _("\ Set solib debugging."), - _ ("\ + _("\ Show solib debugging."), - _ ("\ + _("\ When true, solib-related debugging output is enabled."), nullptr, nullptr, &setdebuglist, &showdebuglist); } diff --git a/gdb/testsuite/gdb.reverse/i386-avx-reverse.c b/gdb/testsuite/gdb.reverse/i386-avx-reverse.c index f559d69..a3d6427 100644 --- a/gdb/testsuite/gdb.reverse/i386-avx-reverse.c +++ b/gdb/testsuite/gdb.reverse/i386-avx-reverse.c @@ -30,6 +30,18 @@ char global_buf1[] = {0, 0, 0, 0, 0, 0, 0, 0, char *dyn_buf0; char *dyn_buf1; + /* Zero memory regions again, so that future tests can update them + without worry. */ +void +reset_buffers () +{ + for (int i = 0; i < 32; i++) + { + global_buf1[i] = 0; + dyn_buf1[i] = 0; + } +} + int vmov_test () { @@ -168,6 +180,22 @@ vmov_test () asm volatile ("vmovapd %%xmm0, %0" : : "m"(*dyn_buf1)); asm volatile ("vmovaps %%ymm15, %0" : : "m"(*dyn_buf1)); + /* Testing vmov[hl|lh]ps and vmov[h|l]pd. */ + asm volatile ("vmovhlps %xmm1, %xmm8, %xmm0"); + asm volatile ("vmovhlps %xmm1, %xmm2, %xmm15"); + asm volatile ("vmovlhps %xmm1, %xmm8, %xmm0"); + asm volatile ("vmovlhps %xmm1, %xmm2, %xmm15"); + + asm volatile ("vmovhps %0, %%xmm1, %%xmm0" : : "m"(buf0)); + asm volatile ("vmovhps %%xmm0, %0" : "=m" (buf1)); + asm volatile ("vmovhpd %0, %%xmm1, %%xmm15" : : "m"(global_buf0)); + asm volatile ("vmovhpd %%xmm15, %0" : "=m" (global_buf1)); + asm volatile ("vmovlpd %0, %%xmm1, %%xmm15" : : "m"(*dyn_buf0)); + asm volatile ("vmovlpd %%xmm15, %0" : "=m" (*dyn_buf1)); + + asm volatile ("vmovddup %xmm1, %xmm15"); + asm volatile ("vmovddup %ymm2, %ymm0"); + /* We have a return statement to deal with epilogue in different compilers. */ return 0; /* end vmov_test */ @@ -245,7 +273,7 @@ vpunpck_test () return 0; /* end vpunpck_test */ } -/* Test if we can record vpbroadcast instructions. */ +/* Test if we can record vpbroadcast and vbroadcast instructions. */ int vpbroadcast_test () { @@ -268,6 +296,14 @@ vpbroadcast_test () asm volatile ("vpbroadcastq %xmm1, %ymm0"); asm volatile ("vpbroadcastq %xmm1, %ymm15"); + asm volatile ("vbroadcastss %xmm1, %xmm0"); + asm volatile ("vbroadcastss %xmm1, %ymm15"); + asm volatile ("vbroadcastss %0, %%ymm0" : : "m" (global_buf0)); + asm volatile ("vbroadcastss %0, %%xmm15": : "m" (dyn_buf0)); + asm volatile ("vbroadcastsd %xmm1, %ymm0"); + asm volatile ("vbroadcastsd %0, %%ymm15": : "m" (global_buf0)); + asm volatile ("vbroadcastf128 %0, %%ymm0" : : "m" (dyn_buf0)); + /* We have a return statement to deal with epilogue in different compilers. */ return 0; /* end vpbroadcast_test */ @@ -372,6 +408,7 @@ arith_test () /* Using GDB, load these values onto registers for testing. ymm0.v8_float = {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5} ymm1.v8_float = {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5} + ymm2.v2_int128 = {0x0, 0x0} ymm15.v2_int128 = {0x0, 0x0} this way it's easy to confirm we're undoing things correctly. */ asm volatile ("vaddps %xmm0, %xmm1, %xmm15"); @@ -416,6 +453,26 @@ arith_test () asm volatile ("vmaxss %xmm0, %xmm1, %xmm15"); asm volatile ("vmaxsd %xmm0, %xmm1, %xmm15"); + /* Some sanity checks for other arithmetic instructions. */ + asm volatile ("vpaddb %xmm0, %xmm1, %xmm2"); + asm volatile ("vpaddw %xmm0, %xmm1, %xmm15"); + asm volatile ("vpaddd %ymm0, %ymm1, %ymm2"); + asm volatile ("vpaddq %ymm0, %ymm1, %ymm15"); + + asm volatile ("vpmullw %xmm0, %xmm1, %xmm2"); + asm volatile ("vpmulld %xmm0, %xmm1, %xmm15"); + asm volatile ("vpmulhw %ymm0, %ymm1, %ymm2"); + asm volatile ("vpmulhuw %ymm0, %ymm1, %ymm15"); + asm volatile ("vpmuludq %ymm0, %ymm1, %ymm15"); + + asm volatile ("vxorps %xmm0, %xmm1, %xmm2"); + asm volatile ("vxorpd %ymm0, %ymm1, %ymm2"); + asm volatile ("vpand %xmm0, %xmm1, %xmm15"); + asm volatile ("vpandn %ymm0, %ymm1, %ymm15"); + + asm volatile ("vpsadbw %xmm0, %xmm1, %xmm2"); + asm volatile ("vpsadbw %ymm0, %ymm1, %ymm15"); + return 0; /* end arith_test */ } @@ -450,6 +507,264 @@ vaddsubps_test () } +/* Test record shifting instructions. */ +int +shift_test () +{ + /* start shift_test. */ + /* Using GDB, load these values onto registers for testing. + ymm0.v2_int128 = {0, 0} + ymm1.v16_int16 = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16} + xmm2.uint128 = 1 + ymm15.v2_int128 = {0x0, 0x0} + this way it's easy to confirm we're undoing things correctly. */ + + asm volatile ("vpsllw $1, %xmm1, %xmm0"); + asm volatile ("vpsllw %xmm2, %ymm1, %ymm0"); + asm volatile ("vpslld $3, %ymm1, %ymm15"); + asm volatile ("vpslld %xmm2, %xmm1, %xmm15"); + asm volatile ("vpsllq $5, %xmm1, %xmm15"); + asm volatile ("vpsllq %xmm2, %ymm1, %ymm15"); + + asm volatile ("vpsraw $1, %xmm1, %xmm0"); + asm volatile ("vpsraw %xmm2, %ymm1, %ymm0"); + asm volatile ("vpsrad $3, %ymm1, %ymm15"); + asm volatile ("vpsrad %xmm2, %xmm1, %xmm15"); + + asm volatile ("vpsrlw $1, %xmm1, %xmm0"); + asm volatile ("vpsrlw %xmm2, %ymm1, %ymm0"); + asm volatile ("vpsrld $3, %ymm1, %ymm15"); + asm volatile ("vpsrld %xmm2, %xmm1, %xmm15"); + asm volatile ("vpsrlq $5, %xmm1, %xmm15"); + asm volatile ("vpsrlq %xmm2, %ymm1, %ymm15"); + + /* The dq version is treated separately in the manual, so + we test it separately just to be sure. */ + asm volatile ("vpslldq $1, %xmm1, %xmm0"); + asm volatile ("vpslldq $2, %ymm1, %ymm0"); + asm volatile ("vpslldq $3, %xmm1, %xmm15"); + asm volatile ("vpslldq $4, %ymm1, %ymm15"); + + asm volatile ("vpsrldq $1, %xmm1, %xmm0"); + asm volatile ("vpsrldq $2, %ymm1, %ymm0"); + asm volatile ("vpsrldq $3, %xmm1, %xmm15"); + asm volatile ("vpsrldq $4, %ymm1, %ymm15"); + + return 0; /* end shift_test */ +} + +int +shuffle_test () +{ + /* start shuffle_test. */ + /* Using GDB, load these values onto registers for testing. + ymm0.v2_int128 = {0, 0} + ymm1.v16_int16 = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16} + ymm2.v16_int15 = {17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32} + ymm15.v2_int128 = {0x0, 0x0} + this way it's easy to confirm we're undoing things correctly. */ + + asm volatile ("vpshufb %xmm1, %xmm2, %xmm0"); + asm volatile ("vpshufb %ymm1, %ymm2, %ymm15"); + asm volatile ("vpshufd $1, %ymm2, %ymm0"); + asm volatile ("vpshufd $2, %xmm2, %xmm15"); + + asm volatile ("vpshufhw $3, %xmm2, %xmm0"); + asm volatile ("vpshufhw $4, %ymm2, %ymm15"); + asm volatile ("vpshuflw $5, %ymm2, %ymm0"); + asm volatile ("vpshuflw $6, %xmm2, %xmm15"); + + asm volatile ("vshufps $1, %xmm1, %xmm2, %xmm0"); + asm volatile ("vshufps $2, %ymm1, %ymm2, %ymm15"); + asm volatile ("vshufpd $4, %ymm1, %ymm2, %ymm0"); + asm volatile ("vshufpd $8, %xmm1, %xmm2, %xmm15"); + + return 0; /* end shuffle_test */ +} + +int +permute_test () +{ + /* start permute_test. */ + /* Using GDB, load these values onto registers for testing. + ymm0.v2_int128 = {0, 0} + ymm1.v16_int16 = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16} + ymm2.v16_int16 = {17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32} + ymm15.v2_int128 = {0x0, 0x0} + eax = 0 + this way it's easy to confirm we're undoing things correctly. */ + asm volatile ("vperm2f128 $1, %ymm1, %ymm2, %ymm0"); + asm volatile ("vperm2f128 $0, %ymm1, %ymm2, %ymm15"); + asm volatile ("vperm2i128 $1, %ymm2, %ymm1, %ymm0"); + asm volatile ("vperm2i128 $0, %ymm2, %ymm1, %ymm15"); + + asm volatile ("vpermd %ymm1, %ymm2, %ymm0"); + asm volatile ("vpermd %ymm1, %ymm2, %ymm15"); + asm volatile ("vpermq $1, %ymm1, %ymm0"); + asm volatile ("vpermq $0, %ymm2, %ymm15"); + + asm volatile ("vpermilpd %ymm1, %ymm2, %ymm0"); + asm volatile ("vpermilpd %xmm1, %xmm2, %xmm15"); + asm volatile ("vpermilpd $1, %ymm2, %ymm15"); + asm volatile ("vpermilpd $0, %xmm2, %xmm0"); + asm volatile ("vpermilps %ymm1, %ymm2, %ymm0"); + asm volatile ("vpermilps %xmm1, %xmm2, %xmm15"); + asm volatile ("vpermilps $1, %ymm2, %ymm15"); + asm volatile ("vpermilps $0, %xmm2, %xmm0"); + + asm volatile ("vpermpd $0, %ymm1, %ymm15"); + asm volatile ("vpermpd $0, %ymm2, %ymm0"); + asm volatile ("vpermps %ymm1, %ymm2, %ymm0"); + asm volatile ("vpermps %ymm1, %ymm2, %ymm15"); + + return 0; /* end permute_test */ +} + +int +extract_insert_test () +{ + /* start extract_insert_test. */ + /* Using GDB, load these values onto registers for testing. + ymm0.v2_int128 = {0, 0} + ymm1.v16_int16 = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16} + xmm2.uint128 = 0xcafe + ymm15.v2_int128 = {0x0, 0x0} + eax = 0 + this way it's easy to confirm we're undoing things correctly. */ + + asm volatile ("vinserti128 $1, %xmm2, %ymm1, %ymm0"); + asm volatile ("vinsertf128 $0, %xmm2, %ymm1, %ymm15"); + asm volatile ("vextracti128 $1, %ymm1, %xmm0"); + asm volatile ("vextractf128 $0, %ymm1, %xmm15"); + asm volatile ("vinsertps $16, %xmm2, %xmm1, %xmm0"); + asm volatile ("vextractps $0, %xmm2, %rax"); + + asm volatile ("vpextrb $5, %xmm1, %rax"); + asm volatile ("vpextrb $4, %%xmm1, %0" : "=m" (global_buf1)); + asm volatile ("vpextrd $3, %xmm1, %eax"); + asm volatile ("vpextrd $2, %%xmm1, %0" : "=m" (global_buf1)); + asm volatile ("vpextrq $1, %xmm1, %rax"); + asm volatile ("vpextrq $0, %%xmm1, %0" : "=m" (global_buf1)); + + asm volatile ("vpinsrb $3, %rax, %xmm2, %xmm0"); + asm volatile ("vpinsrw $2, %eax, %xmm2, %xmm15"); + asm volatile ("vpinsrd $1, %eax, %xmm2, %xmm0"); + asm volatile ("vpinsrq $0, %rax, %xmm2, %xmm15"); + + /* vpextrw has completely different mechanics to other vpextr + instructions, so separate them for ease of testing later. */ + asm volatile ("vpextrw $1, %xmm1, %eax"); + asm volatile ("vpextrw $1, %%xmm1, %0" : "=m" (global_buf1)); + + return 0; /* end extract_insert_test */ +} + +int +blend_test () +{ + /* start blend_test. */ + /* Using GDB, load these values onto registers for testing. + ymm0.v2_int128 = {0, 0} + ymm1.v16_int16 = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16} + ymm2.v16_int16 = {17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32} + ymm15.v2_int128 = {0x0, 0x0} + this way it's easy to confirm we're undoing things correctly. */ + + asm volatile ("vblendps $5, %xmm1, %xmm2, %xmm0"); + asm volatile ("vblendpd $10, %ymm1, %ymm2, %ymm15"); + asm volatile ("vblendvps %ymm15, %ymm1, %ymm2, %ymm0"); + asm volatile ("vblendvpd %xmm0, %xmm1, %xmm2, %xmm15"); + + asm volatile ("vpblendw $94, %ymm1, %ymm2, %ymm15"); + asm volatile ("vpblendw $47, %xmm1, %xmm2, %xmm0"); + asm volatile ("vpblendd $22, %ymm1, %ymm2, %ymm0"); + asm volatile ("vpblendd $11, %xmm1, %xmm2, %xmm15"); + asm volatile ("vpblendvb %xmm0, %xmm1, %xmm2, %xmm15"); + asm volatile ("vpblendvb %ymm0, %ymm1, %ymm2, %ymm0"); + + return 0; /* end blend_test */ +} + +int +compare_test () +{ + /* start compare_test. */ + /* Using GDB, load these values onto registers for testing. + xmm0.v4_float = {0, 1.5, 2, 0} + xmm1.v4_float = {0, 1, 2.5, -1} + xmm15.v4_float = {-1, -2, 10, 100} + eflags = 2 + eflags can't be set to some values, if we set it to 0, it'll + be reset to 2, so set it to that directly to make results less + confusing. + this way it's easy to confirm we're undoing things correctly. */ + + asm volatile ("vcomisd %xmm0, %xmm1"); + asm volatile ("vcomiss %xmm15, %xmm1"); + asm volatile ("vucomiss %xmm1, %xmm15"); + asm volatile ("vucomisd %xmm15, %xmm0"); + + return 0; /* end compare_test */ +} + +int +pack_test () +{ + /* start pack_test. */ + /* Using GDB, load these values onto registers for testing. + xmm0.v4_float = {0, 1.5, 2, 0} + xmm1.v4_float = {0, 1, 2.5, -1} + xmm2.v4_float = {0, 1, 2.5, -1} + xmm15.v4_float = {-1, -2, 10, 100} + this way it's easy to confirm we're undoing things correctly. */ + + asm volatile ("vpacksswb %xmm1, %xmm2, %xmm0"); + asm volatile ("vpacksswb %ymm1, %ymm2, %ymm15"); + asm volatile ("vpackssdw %xmm1, %xmm2, %xmm15"); + asm volatile ("vpackssdw %ymm1, %ymm2, %ymm0"); + asm volatile ("vpackuswb %xmm1, %xmm2, %xmm0"); + asm volatile ("vpackuswb %ymm1, %ymm2, %ymm15"); + asm volatile ("vpackusdw %xmm1, %xmm2, %xmm15"); + asm volatile ("vpackusdw %ymm1, %ymm2, %ymm0"); + + return 0; /* end pack_test */ +} + +int +convert_test () +{ + /* start convert_test. */ + /* Using GDB, load these values onto registers for testing. + xmm0.v2_int128 = {0, 0} + xmm1.v4_float = {0, 1, 2.5, 10} + xmm15.v2_int128 = {0, 0} + ecx = -1 + ebx = 0 + this way it's easy to confirm we're undoing things correctly. */ + + asm volatile ("vcvtdq2ps %xmm1, %xmm0"); + asm volatile ("vcvtdq2pd %xmm1, %xmm15"); + + asm volatile ("vcvtps2dq %xmm1, %xmm15"); + asm volatile ("vcvtps2pd %xmm1, %xmm0"); + asm volatile ("vcvtpd2ps %xmm1, %xmm15"); + asm volatile ("vcvtpd2dq %xmm1, %xmm0"); + + asm volatile ("vcvtsd2si %xmm1, %rbx"); + asm volatile ("vcvtsd2ss %xmm0, %xmm1, %xmm15"); + asm volatile ("vcvtsi2sd %rcx, %xmm1, %xmm0"); + asm volatile ("vcvtsi2ss %rcx, %xmm1, %xmm15"); + asm volatile ("vcvtss2sd %xmm15, %xmm1, %xmm0"); + asm volatile ("vcvtss2si %xmm1, %rbx"); + + asm volatile ("vcvttpd2dq %xmm1, %xmm0"); + asm volatile ("vcvttps2dq %xmm1, %xmm15"); + asm volatile ("vcvttsd2si %xmm0, %rbx"); + asm volatile ("vcvttss2si %xmm1, %ecx"); + + return 0; /* end convert_test */ +} + /* This include is used to allocate the dynamic buffer and have the pointers aligned to a 32-bit boundary, so we can test instructions that require aligned memory. */ @@ -473,6 +788,7 @@ main () asm volatile ("vmovq %0, %%xmm15": : "m" (global_buf1)); vmov_test (); + reset_buffers (); vpunpck_test (); vpbroadcast_test (); vzeroupper_test (); @@ -482,5 +798,13 @@ main () arith_test (); vaddsubpd_test (); vaddsubps_test (); + shift_test (); + shuffle_test (); + permute_test (); + extract_insert_test (); + blend_test (); + compare_test (); + pack_test (); + convert_test (); return 0; /* end of main */ } diff --git a/gdb/testsuite/gdb.reverse/i386-avx-reverse.exp b/gdb/testsuite/gdb.reverse/i386-avx-reverse.exp index fbcff49..7e75542 100644 --- a/gdb/testsuite/gdb.reverse/i386-avx-reverse.exp +++ b/gdb/testsuite/gdb.reverse/i386-avx-reverse.exp @@ -149,6 +149,33 @@ global decimal if {[record_full_function "vmov"] == true} { # Now execute backwards, checking all instructions. + test_one_register "vmovddup" "ymm0" \ + "0x3736353433323130c004000000000000, 0x0" + test_one_register "vmovddup" "ymm15" \ + "0x2726252423222120, 0x0" + test_one_memory "vmovlpd" "dyn_buf1" \ + "\\\{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x28" \ + true + test_one_register "vmovlpd" "ymm15" \ + "0x1716151413121110c004000000000000, 0x0" + test_one_memory "vmovhpd" "global_buf1" \ + "\\\{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x18" + test_one_register "vmovhpd" "ymm15" \ + "0xc004000000000000c004000000000000, 0x0" + test_one_memory "vmovhps" "buf1" \ + "\\\{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x38" + test_one_register "vmovhps" "ymm0" \ + "0xc004000000000000c004000000000000, 0x0" + + test_one_register "vmovlhps" "ymm15" \ + "0x0, 0x0" + test_one_register "vmovlhps" "ymm0" \ + "0x0, 0x0" + test_one_register "vmovhlps" "ymm15" \ + "0x2f2e2d2c2b2a29280000000000000000, 0x2f2e2d2c2b2a29282726252423222120" + test_one_register "vmovhlps" "ymm0" \ + "0x2f2e2d2c2b2a29282726252423222120, 0x0" + # Explicitly test for the start of the array, since the value repeats. test_one_memory "vmovaps" "dyn_buf1" \ "\\\{0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28" true @@ -365,6 +392,24 @@ gdb_test_no_output "set \$xmm1.v2_int64 = {0x1716151413121110, 0x1f1e1d1c1b1a191 "set xmm1 for vpbroadcast" gdb_test_no_output "set \$ymm15.v2_int128 = {0x0, 0x0}" "set xmm15 for vpbroadcast" if {[record_full_function "vpbroadcast"] == true} { + test_one_register "vbroadcastf128" "ymm0" \ + "0x17161514131211101716151413121110, 0x17161514131211101716151413121110" + test_one_register "vbroadcastsd" "ymm15" \ + "0x404060004040600040406000404060, 0x0" + test_one_register "vbroadcastsd" "ymm0" \ + "0x13121110131211101312111013121110, 0x13121110131211101312111013121110" + + test_one_register "vbroadcastss" "ymm15" \ + "0x13121110131211101312111013121110, 0x13121110131211101312111013121110" \ + "broadcast from memory" + test_one_register "vbroadcastss" "ymm0" \ + "0x13121110131211101312111013121110, 0x0" \ + "broadcast from memory" + test_one_register "vbroadcastss" "ymm15" \ + "0x17161514131211101716151413121110, 0x17161514131211101716151413121110" + test_one_register "vbroadcastss" "ymm0" \ + "0x17161514131211101716151413121110, 0x17161514131211101716151413121110" + test_one_register "vpbroadcastq" "ymm15" "0x13121110131211101312111013121110, 0x0" test_one_register "vpbroadcastq" "ymm0" "0x13121110131211101312111013121110, 0x0" @@ -527,9 +572,43 @@ gdb_test_no_output \ "set \$ymm0.v8_float = {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5}" gdb_test_no_output \ "set \$ymm1.v8_float = {0, 1, 2, 3, 4, 5, 6, 7}" +gdb_test_no_output "set \$ymm2.v2_int128 = {0,0}" gdb_test_no_output "set \$ymm15.v2_int128 = {0,0}" if {[record_full_function "arith"] == true} { + test_one_register "vpsadbw" "ymm15" \ + "0x20000000200000004000003f000000, 0x100000001000000010000000100000" + test_one_register "vpsadbw" "ymm2" \ + "0x20000000200000004000003f000000, 0x100000001000000010000000100000" + test_one_register "vpandn" "ymm15" \ + "0x40400000400000003f80000000000000, 0x0" + test_one_register "vpand" "ymm15" \ + "0x10080000000000000000000000000000, 0x10649c00000000001044480000000000" + test_one_register "vxorpd" "ymm2" \ + "0x20000000200000004000003f000000, 0x0" + test_one_register "vxorps" "ymm2" \ + "0x10280000100800000fd0000000000000, 0x10740000106400001054000010440000" + + test_one_register "vpmuludq" "ymm15" \ + "0x10280000100800000fd0000000000000, 0x10740000106400001054000010440000" + test_one_register "vpmulhuw" "ymm15" \ + "0x0, 0x0" + test_one_register "vpmulhw" "ymm2" \ + "0x18000000000000002000000000000000, 0x0" + test_one_register "vpmulld" "ymm15" \ + "0x80a00000802000007f4000003f000000, 0x81d00000819000008150000081100000" + test_one_register "vpmullw" "ymm2" \ + "0x80a00000802000007f4000003f000000, 0x81d00000819000008150000081100000" + + test_one_register "vpaddq" "ymm15" \ + "0x80a00000802000007f4000003f000000, 0x0" + test_one_register "vpaddd" "ymm2" \ + "0x80a00000802000007e4000003f000000, 0x0" + test_one_register "vpaddw" "ymm15" \ + "0x40400000400000003fc000003f000000, 0x0" + test_one_register "vpaddb" "ymm2" \ + "0x0, 0x0" + test_one_register "vmaxsd" "ymm15" \ "0x40400000400000003f8000003f000000, 0x0" "ymm operation: " test_one_register "vmaxss" "ymm15" \ @@ -696,3 +775,423 @@ if {[record_full_function "vaddsubps"] == true} { } gdb_test "finish" "Run till exit from.*vaddsubps_test.*" \ "leaving vaddsubps" + +# Preparation and testing shifting instructions. +gdb_test_no_output \ + "set \$ymm0.v2_int128 = {0, 0}" "set ymm0 for shift" +gdb_test_no_output \ + "set \$ymm1.v16_int16 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}" \ + "set ymm1 for shift" +gdb_test_no_output "set \$xmm2.uint128 = 1" "set ymm2 for shift" +gdb_test_no_output "set \$ymm15.v2_int128 = {0,0}" "set ymm15 for shift" + +if {[record_full_function "shift"] == true} { + test_one_register "vpsrldq" "ymm15" \ + "0x80007000600050004000300, 0x0" \ + "High ymm register: " + test_one_register "vpsrldq" "ymm15" \ + "0x60005000400030002000100000000, 0xe000d000c000b000a000900000000" \ + "High xmm register: " + test_one_register "vpsrldq" "ymm0" \ + "0x800070006000500040003000200, 0x0" \ + "Low ymm register: " + test_one_register "vpsrldq" "ymm0" \ + "0x70006000500040003000200010000, 0xf000e000d000c000b000a00090000" \ + "Low xmm register: " + + test_one_register "vpslldq" "ymm15" \ + "0x7000600050004000300020001000000, 0x0" \ + "High ymm register: " + test_one_register "vpslldq" "ymm15" \ + "0x40003800300020002000180010000, 0x80007800700060006000580050004" \ + "High xmm register: " + test_one_register "vpslldq" "ymm0" \ + "0x8000700060005000400030002000100, 0x0" \ + "Low ymm register: " + test_one_register "vpslldq" "ymm0" \ + "0x40003000300020002000100010000, 0x80007000700060006000500050004" \ + "Low xmm register: " + + test_one_register "vpsrlq" "ymm15" \ + "0x4000380030000000200018001000, 0x0" \ + "from register: " + test_one_register "vpsrlq" "ymm15" \ + "0x40003000300020002000100010000, 0x0" \ + "from constant: " + test_one_register "vpsrld" "ymm15" \ + "0x100000000c0000000800000004000, 0x200010001c0010001800100014001" \ + "from register: " + test_one_register "vpsrld" "ymm15" \ + "0x40003000300020002000100010000, 0x0" \ + "from constant: " + test_one_register "vpsrlw" "ymm0" \ + "0x40003000300020002000100010000, 0x0" \ + "from register: " + test_one_register "vpsrlw" "ymm0" \ + "0x40003000300020002000100010000, 0x80007000700060006000500050004" \ + "from constant: " + + test_one_register "vpsrad" "ymm15" \ + "0x100000000c0000000800000004000, 0x200010001c0010001800100014001" \ + "from register: " + test_one_register "vpsrad" "ymm15" \ + "0x10000e000c000a0008000600040002, 0x20001e001c001a0018001600140012" \ + "from constant: " + test_one_register "vpsraw" "ymm0" \ + "0x40003000300020002000100010000, 0x0" \ + "from register: " + test_one_register "vpsraw" "ymm0" \ + "0x10000e000c000a0008000600040002, 0x20001e001c001a0018001600140012" \ + "from constant: " + + test_one_register "vpsllq" "ymm15" \ + "0x10000e000c000a00080006000400020, 0x0" \ + "from register: " + test_one_register "vpsllq" "ymm15" \ + "0x10000e000c000a0008000600040002, 0x0" \ + "from constant: " + test_one_register "vpslld" "ymm15" \ + "0x400038003000280020001800100008, 0x800078007000680060005800500048" \ + "from register: " + test_one_register "vpslld" "ymm15" "0x0, 0x0" "from constant: " + test_one_register "vpsllw" "ymm0" \ + "0x10000e000c000a0008000600040002, 0x0" \ + "from register: " + test_one_register "vpsllw" "ymm0" "0x0, 0x0" "from constant: " + + gdb_test "record stop" "Process record is stopped.*" \ + "delete history for shift_test" +} else { + untested "couldn't run shift tests" +} +gdb_test "finish" "Run till exit from.*shift_test.*" \ + "leaving shift" + +# Preparation and testing shuffling instructions. +gdb_test_no_output \ + "set \$ymm0.v2_int128 = {0, 0}" "set ymm0 for shuffle" +gdb_test_no_output \ + "set \$ymm1.v16_int16 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}" \ + "set ymm1 for shuffle" +gdb_test_no_output "set \$ymm2.v16_int16 = {17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32}" \ + "set ymm2 for shuffle" +gdb_test_no_output "set \$ymm15.v2_int128 = {0,0}" "set ymm15 for shuffle" + +if {[record_full_function "shuffle"] == true} { + test_one_register "vshufpd" "ymm15" \ + "0x20001000200010012001100160015, 0xa0009000a0009001a0019001e001d" \ + "high register: " + test_one_register "vshufpd" "ymm0" \ + "0x20001000200010012001100140013, 0x0" \ + "low register: " + test_one_register "vshufps" "ymm15" \ + "0x180017001600150011001100120013, 0x0" \ + "high register: " + test_one_register "vshufps" "ymm0" \ + "0x180017001600150011001100120012, 0x20001f001e001d00190019001a001a" \ + "low register: " + + test_one_register "vpshuflw" "ymm15" \ + "0x150015001600150014001300120011, 0x1d001d001e001d001c001b001a0019" \ + "high register: " + test_one_register "vpshuflw" "ymm0" \ + "0x150015001500180014001300120011, 0x0" \ + "low register: " + test_one_register "vpshufhw" "ymm15" \ + "0x120011001200110012001100160015, 0x0" \ + "high register: " + test_one_register "vpshufhw" "ymm0" \ + "0x120011001200110012001100140013, 0x1a0019001a0019001a0019001c001b" \ + "low register: " + + test_one_register "vpshufd" "ymm15" \ + "0x11151100111411001113110011121100, 0x1919190019201900191f1900191e1900" \ + "high register: " + test_one_register "vpshufd" "ymm0" \ + "0x11151100111411001113110011121100, 0x0" \ + "low register: " + test_one_register "vpshufb" "ymm15" "0x0, 0x0" "high register: " + test_one_register "vpshufb" "ymm0" "0x0, 0x0" "low register: " + + gdb_test "record stop" "Process record is stopped.*" \ + "delete history for shuffle_test" +} else { + untested "couldn't run shuffle tests" +} +gdb_test "finish" "Run till exit from.*shuffle_test.*" \ + "leaving shuffle" + +# Preparation and testing permute instructions. +gdb_test_no_output \ + "set \$ymm0.v2_int128 = {0, 0}" "set ymm0 for permute" +gdb_test_no_output \ + "set \$ymm1.v16_int16 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}" \ + "set ymm1 for permute" +gdb_test_no_output "set \$ymm2.v16_int16 = {17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32}" \ + "set ymm2 for permute" +gdb_test_no_output "set \$ymm15.v2_int128 = {0,0}" "set ymm15 for permute" + +if {[record_full_function "permute"] == true} { + test_one_register "vpermps" "ymm15" \ + "0x40003000200010004000300020001, 0x40003000200010004000300020001" + test_one_register "vpermps" "ymm0" \ + "0x140013001200110014001300120011, 0x140013001200110014001300120011" + test_one_register "vpermpd" "ymm0" \ + "0x120011001200110012001100120011, 0x0" + test_one_register "vpermpd" "ymm15" \ + "0x120011001200110012001100140013, 0x1a0019001a0019001a0019001c001b" + + test_one_register "vpermilps" "ymm0" \ + "0x180017001400130018001700140013, 0x20001f001c001b0020001f001c001b" \ + "register version" + test_one_register "vpermilps" "ymm15" \ + "0x180017001400130018001700140013, 0x0" \ + "register version" + test_one_register "vpermilps" "ymm15" \ + "0x140013001200110018001700160015, 0x1c001b001a0019001c001b001a0019" \ + "immediate version" + test_one_register "vpermilps" "ymm0" \ + "0x140013001200110014001300120011, 0x0" \ + "immediate version" + + test_one_register "vpermilpd" "ymm0" \ + "0x140013001200110014001300120011, 0x1c001b001a0019001c001b001a0019" \ + "register version" + test_one_register "vpermilpd" "ymm15" \ + "0x140013001200110014001300120011, 0x0" \ + "register version" + test_one_register "vpermilpd" "ymm15" \ + "0x140013001200110014001300120011, 0x140013001200110014001300120011" \ + "immediate version" + test_one_register "vpermilpd" "ymm0" \ + "0x40003000200010008000700060005, 0x40003000200010004000300020001" \ + "immediate version" + + test_one_register "vpermq" "ymm15" \ + "0x10000f000c000b0008000700040003, 0x10000f000c000b0008000700040003" + test_one_register "vpermq" "ymm0" \ + "0x10000f000c000b0008000700040003, 0x10000f000c000b0008000700040003" + test_one_register "vpermd" "ymm15" \ + "0x80007000600050004000300020001, 0x80007000600050004000300020001" + test_one_register "vpermd" "ymm0" \ + "0x10000f000e000d000c000b000a0009, 0x80007000600050004000300020001" + + test_one_register "vperm2i128" "ymm15" \ + "0x180017001600150014001300120011, 0x180017001600150014001300120011" + test_one_register "vperm2i128" "ymm0" \ + "0x20001f001e001d001c001b001a0019, 0x180017001600150014001300120011" + test_one_register "vperm2f128" "ymm15" "0x0, 0x0" + test_one_register "vperm2f128" "ymm0" "0x0, 0x0" + + gdb_test "record stop" "Process record is stopped.*" \ + "delete history for permute_test" +} else { + untested "couldn't run permute tests" +} +gdb_test "finish" "Run till exit from.*permute_test.*" \ + "leaving permute" + +# Preparation and testing extract_insert instructions. +gdb_test_no_output \ + "set \$ymm0.v2_int128 = {0, 0}" "set ymm0 for extract_insert" +gdb_test_no_output \ + "set \$ymm1.v16_int16 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}" \ + "set ymm1 for extract_insert" +gdb_test_no_output "set \$xmm2.uint128 = 0xcafe" \ + "set ymm2 for extract_insert" +gdb_test_no_output "set \$ymm15.v2_int128 = {0,0}" "set ymm15 for extract_insert" +gdb_test_no_output "set \$rax = 0" "set eax for extract_insert" + +if {[record_full_function "extract_insert"] == true} { + test_one_memory "vpextrw" "global_buf1" \ + "\\\{0x1, 0x0, 0x2, 0x0, 0x3, 0x0, 0x4, 0x0 <repeats 25 times>" + test_one_general_register "vpextrw" "rax" "0x8000700060005" + + test_one_register "vpinsrq" "ymm15" \ + "0x50000cafe, 0x0" + test_one_register "vpinsrd" "ymm0" \ + "0x500cafe, 0x0" + test_one_register "vpinsrw" "ymm15" \ + "0x80007000600050004000300020001, 0x0" + test_one_register "vpinsrb" "ymm0" \ + "0x80007000600050000cafe00020001, 0x0" + + test_one_memory "vpextrq" "global_buf1" \ + "\\\{0x5, 0x0, 0x6, 0x0 <repeats 29 times>" + test_one_general_register "vpextrq" "rax" "0x80007" + test_one_memory "vpextrd" "global_buf1" \ + "\\\{0x3, 0x0 <repeats 31 times>" + test_one_general_register "vpextrd" "rax" "0x0" + test_one_memory "vpextrb" "global_buf1" \ + "\\\{0x0 <repeats 32 times>" + test_one_general_register "vpextrb" "rax" "0xcafe" + + test_one_general_register "vextractps" "eax" "0x0" + test_one_register "vinsertps" "ymm0" \ + "0x10000f000e000d000c000b000a0009, 0x0" + test_one_register "vextractf128" "ymm15" \ + "0xcafe, 0x10000f000e000d000c000b000a0009" + test_one_register "vextracti128" "ymm0" \ + "0x80007000600050004000300020001, 0xcafe" + test_one_register "vinsertf128" "ymm15" \ + "0x0, 0x0" + test_one_register "vinserti128" "ymm0" \ + "0x0, 0x0" + + gdb_test "record stop" "Process record is stopped.*" \ + "delete history for extract_insert_test" +} else { + untested "couldn't run extract_insert tests" +} +gdb_test "finish" "Run till exit from.*extract_insert_test.*" \ + "leaving extract_insert" + +# Preparation and testing blend instructions. +gdb_test_no_output \ + "set \$ymm0.v2_int128 = {0, 0}" "set ymm0 for blend" +gdb_test_no_output \ + "set \$ymm1.v16_int16 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16}" \ + "set ymm1 for blend" +gdb_test_no_output \ + "set \$ymm2.v16_int16 = {17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32}" \ + "set ymm2 for blend" +gdb_test_no_output "set \$ymm15.v2_int128 = {0,0}" "set ymm15 for blend" + +if {[record_full_function "blend"] == true} { + test_one_register "vpblendvb" "ymm0" \ + "0x180017000600050004000300120011, 0x20001f001e001d001c001b000a0009" + test_one_register "vpblendvb" "ymm15" \ + "0x80007001600150004000300020001, 0x0" + test_one_register "vpblendd" "ymm15" \ + "0x180007001600050004000300020011, 0x20000f001e000d000c000b000a0019" + test_one_register "vpblendd" "ymm0" \ + "0x180017000600150004000300020001, 0x0" + test_one_register "vpblendw" "ymm0" \ + "0x180017001600150014001300120011, 0x20001f001e001d001c001b001a0019" + test_one_register "vpblendw" "ymm15" \ + "0x180017001600150014001300120011, 0x0" + + test_one_register "vblendvpd" "ymm15" \ + "0x80007000600050014001300120011, 0x10000f000e000d001c001b001a0019" + test_one_register "vblendvps" "ymm0" \ + "0x180017000600050014001300020001, 0x0" + test_one_register "vblendpd" "ymm15" "0x0, 0x0" + test_one_register "vblendps" "ymm0" "0x0, 0x0" + + gdb_test "record stop" "Process record is stopped.*" \ + "delete history for blend_test" +} else { + untested "couldn't run blend tests" +} +gdb_test "finish" "Run till exit from.*blend_test.*" \ + "leaving blend" + +# Preparation and testing compare instructions. +gdb_test_no_output \ + "set \$xmm0.v4_float = {0, 1.5, 2, 0}" "set ymm0 for compare" +gdb_test_no_output \ + "set \$xmm1.v4_float = {0, 1, 2.5, -1}" "set ymm1 for compare" +gdb_test_no_output \ + "set \$xmm15.v4_float = {-1, -2, 10, 100}" "set ymm15 for compare" +gdb_test_no_output "set \$eflags = 2" + +if {[record_full_function "compare"] == true} { + test_one_general_register "vucomisd" "eflags" "0x203" + test_one_general_register "vucomiss" "eflags" "0x202" + test_one_general_register "vcomiss" "eflags" "0x203" + test_one_general_register "vcomisd" "eflags" "0x202" + + gdb_test "record stop" "Process record is stopped.*" \ + "delete history for compare_test" +} else { + untested "couldn't run compare tests" +} +gdb_test "finish" "Run till exit from.*compare_test.*" \ + "leaving compare" + +# Preparation and testing pack instructions. +gdb_test_no_output \ + "set \$ymm0.v2_int128 = {0, 0}" "set ymm0 for pack" +gdb_test_no_output \ + "set \$ymm1.v16_int16 = {0x1020, 0x1121, 0x1222, 0x1323, 0x1424, 0x1525, 0x1626, 0x1727, 0x1828, 0x1929, 0x1a2a, 0x1b2b, 0x1c2c, 0x1d2d, 0x1e2e, 0x1f2f}" \ + "set ymm1 for pack" +gdb_test_no_output \ + "set \$ymm2.v16_int16 = {0x3040, 0x3141, 0x3242, 0x3343, 0x3444, 0x3545, 0x3646, 0x3747, 0x3848, 0x3949, 0x3a4a, 0x3b4b, 0x3c4c, 0x3d4d, 0x3e4e, 0x3f4f}" \ + "set ymm2 for pack" +gdb_test_no_output \ + "set \$ymm15.v2_int128 = {0, 0}" "set ymm15 for pack" + +if {[record_full_function "pack"] == true} { + test_one_register "vpackusdw" "ymm0" \ + "0xffffffffffffffffffffffffffffffff, 0x0" + test_one_register "vpackusdw" "ymm15" \ + "0xffffffffffffffffffffffffffffffff, 0xffffffffffffffffffffffffffffffff" + test_one_register "vpackuswb" "ymm15" \ + "0x7fff7fff7fff7fff7fff7fff7fff7fff, 0x0" + test_one_register "vpackuswb" "ymm0" \ + "0x7fff7fff7fff7fff7fff7fff7fff7fff, 0x7fff7fff7fff7fff7fff7fff7fff7fff" + test_one_register "vpackssdw" "ymm0" \ + "0x7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f, 0x0" + test_one_register "vpackssdw" "ymm15" \ + "0x7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f, 0x7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f" + test_one_register "vpacksswb" "ymm15" "0x0, 0x0" + test_one_register "vpacksswb" "ymm0" "0x0, 0x0" + + gdb_test "record stop" "Process record is stopped.*" \ + "delete history for pack_test" +} else { + untested "couldn't run pack tests" +} +gdb_test "finish" "Run till exit from.*pack_test.*" \ + "leaving pack" + +# Preparation and testing converting instructions. +gdb_test_no_output \ + "set \$ymm0.v2_int128 = {0,0}" \ + "set ymm0 for convert test" +gdb_test_no_output \ + "set \$ymm1.v8_float = {0, 1, 2.5, 10, -1, -2.5, 0}" \ + "set ymm1 for convert test" +gdb_test_no_output "set \$ymm15.v2_int128 = {0,0}" \ + "set ymm15 for convert test" +gdb_test_no_output "set \$ecx = -1" "set ecx for convert test" +gdb_test_no_output "set \$ebx = 1" "set ebx for convert test" + +if {[record_full_function "convert"] == true} { + gdb_test "maint print record-instruction" ".*" + test_one_general_register "vcvttss2si" "ecx" "0xffffffff" + test_one_general_register "vcvttsd2si" "ebx" "0x0" + test_one_register "vcvttps2dq" "ymm15" \ + "0x41200000402000003f8000004f800000, 0x0" + test_one_register "vcvttpd2dq" "ymm0" \ + "0x412000004020000041f0000000000000, 0x0" + test_one_general_register "vcvtss2si" "ebx" "0x0" + + test_one_register "vcvtss2sd" "ymm0" \ + "0x412000004020000041efffffffe00000, 0x0" + test_one_register "vcvtsi2ss" "ymm15" \ + "0x41200000402000003f80000000000000, 0x0" + test_one_register "vcvtsi2sd" "ymm0" \ + "0x8000000000000, 0x0" + test_one_register "vcvtsd2ss" "ymm15" \ + "0x490000023c000000, 0x0" + test_one_general_register "vcvtsd2si" "ebx" "0x1" + + test_one_register "vcvtpd2dq" "ymm0" \ + "0x3ff00000000000000000000000000000, 0x0" + test_one_register "vcvtpd2ps" "ymm15" \ + "0xa000000020000000100000000, 0x0" + test_one_register "vcvtps2pd" "ymm0" \ + "0x4e8240004e8040004e7e000000000000, 0x0" + test_one_register "vcvtps2dq" "ymm15" \ + "0x41cfc000000000000000000000000000, 0x0" + test_one_register "vcvtdq2pd" "ymm15" "0x0, 0x0" + test_one_register "vcvtdq2ps" "ymm0" "0x0, 0x0" + + gdb_test "record stop" "Process record is stopped.*" \ + "delete history for convert_test" +} else { + untested "couldn't run convert tests" +} +gdb_test "finish" "Run till exit from.*convert_test.*" \ + "leaving convert" diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h index dab6eac..826bd7d 100644 --- a/include/opcode/aarch64.h +++ b/include/opcode/aarch64.h @@ -187,6 +187,8 @@ enum aarch64_feature_bit { AARCH64_FEATURE_THE, /* LSE128. */ AARCH64_FEATURE_LSE128, + /* LSUI - Unprivileged Load Store. */ + AARCH64_FEATURE_LSUI, /* ARMv8.9-A RAS Extensions. */ AARCH64_FEATURE_RASv2, /* Delegated SError exceptions for EL3. */ @@ -242,6 +244,12 @@ enum aarch64_feature_bit { AARCH64_FEATURE_F8F32MM, /* F8F16MM instructions. */ AARCH64_FEATURE_F8F16MM, + /* SVE_PMULL128 extension. */ + AARCH64_FEATURE_SVE_AES, + /* SVE AES2 instructions. */ + AARCH64_FEATURE_SVE_AES2, + /* SSVE_AES extension. */ + AARCH64_FEATURE_SSVE_AES, /* RCPC3 instructions. */ AARCH64_FEATURE_RCPC3, /* Enhanced Software Step Extension. */ @@ -303,6 +311,8 @@ enum aarch64_feature_bit { /* Virtual features. These are used to gate instructions that are enabled by either of two (or more) sets of command line flags. */ + /* +sve2 or +ssve-aes */ + AARCH64_FEATURE_SVE2_SSVE_AES, /* +fp8fma+sve or +ssve-fp8fma */ AARCH64_FEATURE_FP8FMA_SVE, /* +fp8dot4+sve or +ssve-fp8dot4 */ @@ -783,6 +793,7 @@ enum aarch64_opnd AARCH64_OPND_BARRIER_PSB, /* Barrier operand for PSB. */ AARCH64_OPND_BARRIER_GCSB, /* Barrier operand for GCSB. */ AARCH64_OPND_BTI_TARGET, /* BTI {<target>}. */ + AARCH64_OPND_STSHH_POLICY, /* STSHH {<policy>}. */ AARCH64_OPND_BRBOP, /* BRB operation IALL or INJ in bit 5. */ AARCH64_OPND_Rt_IN_SYS_ALIASES, /* Defaulted and omitted Rt used in SYS aliases such as brb. */ AARCH64_OPND_LSE128_Rt, /* LSE128 <Xt1>. */ @@ -974,6 +985,7 @@ enum aarch64_opnd AARCH64_OPND_SME_Zn_INDEX1_16, /* Zn[index], bits [9:5] and [16:16]. */ AARCH64_OPND_SME_Zn_INDEX2_15, /* Zn[index], bits [9:5] and [16:15]. */ AARCH64_OPND_SME_Zn_INDEX2_16, /* Zn[index], bits [9:5] and [17:16]. */ + AARCH64_OPND_SME_Zn_INDEX2_19, /* Zn[index], bits [9:5] and [20:19]. */ AARCH64_OPND_SME_Zn_INDEX3_14, /* Zn[index], bits [9:5] and [16:14]. */ AARCH64_OPND_SME_Zn_INDEX3_15, /* Zn[index], bits [9:5] and [17:15]. */ AARCH64_OPND_SME_Zn_INDEX4_14, /* Zn[index], bits [9:5] and [17:14]. */ @@ -1878,6 +1890,8 @@ struct aarch64_inst #define HINT_OPD_C 0x22 #define HINT_OPD_J 0x24 #define HINT_OPD_JC 0x26 +#define HINT_OPD_KEEP 0x30 +#define HINT_OPD_STRM 0x31 #define HINT_OPD_NULL 0x00 diff --git a/include/sframe-api.h b/include/sframe-api.h index 3dc18b6..ac4f19a 100644 --- a/include/sframe-api.h +++ b/include/sframe-api.h @@ -214,12 +214,20 @@ extern int32_t sframe_fre_get_cfa_offset (sframe_decoder_ctx *dtcx, sframe_frame_row_entry *fre, int *errp); -/* Get the FP offset from the FRE. If the offset is invalid, sets errp. */ +/* Get the FP offset from the FRE. If the offset is invalid, sets errp. + + For s390x the offset may be an encoded register number, indicated by + LSB set to one, which is only valid in the topmost frame. */ extern int32_t sframe_fre_get_fp_offset (sframe_decoder_ctx *dctx, sframe_frame_row_entry *fre, int *errp); -/* Get the RA offset from the FRE. If the offset is invalid, sets errp. */ +/* Get the RA offset from the FRE. If the offset is invalid, sets errp. + + For s390x an RA offset value of SFRAME_FRE_RA_OFFSET_INVALID indicates + that the RA is not saved, which is only valid in the topmost frame. + For s390x the offset may be an encoded register number, indicated by + LSB set to one, which is only valid in the topmost frame. */ extern int32_t sframe_fre_get_ra_offset (sframe_decoder_ctx *dctx, sframe_frame_row_entry *fre, int *errp); diff --git a/include/sframe.h b/include/sframe.h index c0375ba..7523adb 100644 --- a/include/sframe.h +++ b/include/sframe.h @@ -104,6 +104,7 @@ extern "C" #define SFRAME_ABI_AARCH64_ENDIAN_BIG 1 /* AARCH64 big endian. */ #define SFRAME_ABI_AARCH64_ENDIAN_LITTLE 2 /* AARCH64 little endian. */ #define SFRAME_ABI_AMD64_ENDIAN_LITTLE 3 /* AMD64 little endian. */ +#define SFRAME_ABI_S390X_ENDIAN_BIG 4 /* s390x big endian. */ /* SFrame FRE types. */ #define SFRAME_FRE_TYPE_ADDR1 0 @@ -201,7 +202,7 @@ typedef struct sframe_func_desc_entry - 2-bits: Unused. ------------------------------------------------------------------------ | Unused | PAC auth A/B key (aarch64) | FDE type | FRE type | - | | Unused (amd64) | | | + | | Unused (amd64, s390x) | | | ------------------------------------------------------------------------ 8 6 5 4 0 */ uint8_t sfde_func_info; @@ -247,6 +248,10 @@ typedef struct sframe_func_desc_entry may or may not be tracked. */ #define SFRAME_FRE_FP_OFFSET_IDX 2 +/* Invalid RA offset. Currently used for s390x as padding to represent FP + without RA saved. */ +#define SFRAME_FRE_RA_OFFSET_INVALID 0 + typedef struct sframe_fre_info { /* Information about @@ -259,7 +264,7 @@ typedef struct sframe_fre_info - 1 bit: Mangled RA state bit (aarch64 only). ---------------------------------------------------------------------------------- | Mangled-RA (aarch64) | Size of offsets | Number of offsets | base_reg | - | Unused (amd64) | | | | + | Unused (amd64, s390x)| | | | ---------------------------------------------------------------------------------- 8 7 5 1 0 @@ -285,7 +290,7 @@ typedef struct sframe_fre_info /* SFrame Frame Row Entry definitions. - Used for both AMD64 and AARCH64. + Used for AMD64, AARCH64, and s390x. An SFrame Frame Row Entry is a self-sufficient record which contains information on how to generate the stack trace for the specified range of @@ -309,6 +314,24 @@ typedef struct sframe_fre_info fi Note that in AAPCS64, a frame record, if created, will save both FP and LR on stack. + + s390x: + offset1 (interpreted as CFA = BASE_REG + offset1) + if RA is being tracked + offset2 (interpreted as RA = CFA + offset2; an offset value of + SFRAME_FRE_RA_OFFSET_INVALID indicates a dummy padding RA offset + to represent FP without RA saved on stack) + if FP is being tracked + offset3 (intrepreted as FP = CFA + offset3) + fi + else + if FP is being tracked + offset2 (intrepreted as FP = CFA + offset2) + fi + fi + Note that in s390x, if a FP/RA offset2/offset3 value has the least- + significant bit set it represents a DWARF register number shifted to the + left by 1 to restore the FP/RA value from. */ /* Used when SFRAME_FRE_TYPE_ADDR1 is specified as FRE type. */ @@ -353,6 +376,36 @@ typedef struct sframe_frame_row_entry_addr4 #define SFRAME_FRE_TYPE_ADDR4_LIMIT \ (1ULL << ((SFRAME_FRE_TYPE_ADDR4 * 2) * 8)) +/* On s390x, the CFA offset from CFA base register is by definition a minimum + of 160. Store it adjusted by -160 to enable use of 8-bit SFrame offsets. + Additionally scale by an alignment factor of 8, as the SP and thus CFA + offset on s390x is always 8-byte aligned. */ +#define SFRAME_S390X_CFA_OFFSET_ADJUSTMENT SFRAME_S390X_SP_VAL_OFFSET +#define SFRAME_S390X_CFA_OFFSET_ALIGNMENT_FACTOR 8 +#define SFRAME_V2_S390X_CFA_OFFSET_ENCODE(offset) \ + (((offset) + SFRAME_S390X_CFA_OFFSET_ADJUSTMENT) \ + / SFRAME_S390X_CFA_OFFSET_ALIGNMENT_FACTOR) +#define SFRAME_V2_S390X_CFA_OFFSET_DECODE(offset) \ + (((offset) * SFRAME_S390X_CFA_OFFSET_ALIGNMENT_FACTOR) \ + - SFRAME_S390X_CFA_OFFSET_ADJUSTMENT) + +/* On s390x, the CFA is defined as SP at call site + 160. Therefore the + SP value offset from CFA is -160. */ +#define SFRAME_S390X_SP_VAL_OFFSET (-160) + +/* On s390x, the FP and RA registers can be saved either on the stack or, + in case of leaf functions, in registers. Store DWARF register numbers + encoded as offset by using the least-significant bit (LSB) as indicator: + - LSB=0: Stack offset. The s390x ELF ABI mandates that stack register + slots must be 8-byte aligned. + - LSB=1: DWARF register number shifted to the left by one. */ +#define SFRAME_V2_S390X_OFFSET_IS_REGNUM(offset) \ + ((offset) & 1) +#define SFRAME_V2_S390X_OFFSET_ENCODE_REGNUM(regnum) \ + (((regnum) << 1) | 1) +#define SFRAME_V2_S390X_OFFSET_DECODE_REGNUM(offset) \ + ((offset) >> 1) + #ifdef __cplusplus } #endif @@ -1,5 +1,9 @@ -*- text -*- +* On s390 64-bit (s390x), generate SFrame stack trace information (.sframe) + for the linker generated .plt section. Enabled by default. Can be disabled + using linker option --no-ld-generated-unwind-info. + * All SFrame sections generated by the linker have the header flag SFRAME_F_FDE_FUNC_START_PCREL set to indicate the new encoding for sfde_func_start_address field in the SFrame section. Relocatable SFrame @@ -31,6 +35,12 @@ * On s390, add support for linker option --[no-]ld-generated-unwind-info. +* On LoongArch, linker relaxation time complexity is no longer quadratic with + respect to relocation counts. Linking time of large software should be + improved. + +* On LoongArch, R_LARCH_32_PCREL records are now checked for overflow. + Changes in 2.44: * Support for Nios II target has been removed, as this architecture has been diff --git a/ld/testsuite/ld-loongarch-elf/relax-after-alignment.d b/ld/testsuite/ld-loongarch-elf/relax-after-alignment.d index 844c518..08def25 100644 --- a/ld/testsuite/ld-loongarch-elf/relax-after-alignment.d +++ b/ld/testsuite/ld-loongarch-elf/relax-after-alignment.d @@ -2,6 +2,7 @@ #as: #ld: --defsym _start=0 #objdump: -d --no-show-raw-insn +#xfail: *-*-* .*:\s+file format .* diff --git a/ld/testsuite/ld-mips-elf/micromips-hilo-n32.d b/ld/testsuite/ld-mips-elf/micromips-hilo-n32.d deleted file mode 100644 index 1cb3d87..0000000 --- a/ld/testsuite/ld-mips-elf/micromips-hilo-n32.d +++ /dev/null @@ -1,8 +0,0 @@ -#name: R_MICROMIPS_HI16 and R_MICROMIPS_LO16 relocs n32 -#source: ../../../gas/testsuite/gas/mips/mips-hilo.s -#source: mips-hilo.s -#as: -mmicromips -march=mips64r2 -#objdump: -d -#ld: -Tmips-hilo.ld -e 0x500000 -N -#notarget: mips*el-ps2-elf* -#dump: micromips-hilo.d diff --git a/ld/testsuite/ld-mips-elf/micromips-hilo-n64.d b/ld/testsuite/ld-mips-elf/micromips-hilo-n64.d index 1243e91..b3d34a1 100644 --- a/ld/testsuite/ld-mips-elf/micromips-hilo-n64.d +++ b/ld/testsuite/ld-mips-elf/micromips-hilo-n64.d @@ -1,4 +1,4 @@ -#name: R_MICROMIPS_HI16 and R_MICROMIPS_LO16 relocs n64 +#name: R_MICROMIPS_HI16 and R_MICROMIPS_LO16 relocs (n64) #source: ../../../gas/testsuite/gas/mips/mips-hilo-n64.s #source: mips-hilo.s #as: -mmicromips -march=mips64r2 diff --git a/ld/testsuite/ld-mips-elf/micromips-hilo-srec-n32.d b/ld/testsuite/ld-mips-elf/micromips-hilo-srec-n32.d deleted file mode 100644 index 1ea7daa..0000000 --- a/ld/testsuite/ld-mips-elf/micromips-hilo-srec-n32.d +++ /dev/null @@ -1,8 +0,0 @@ -#name: R_MICROMIPS_HI16 and R_MICROMIPS_LO16 relocs srec n32 -#source: ../../../gas/testsuite/gas/mips/mips-hilo.s -#source: mips-hilo.s -#as: -mmicromips -march=mips64r2 -#objdump: -m mips:micromips -j .sec1 -D -#ld: --oformat=srec -Tmips-hilo.ld -e 0x500000 -N -#notarget: mips*el-ps2-elf* -#dump: micromips-hilo.d diff --git a/ld/testsuite/ld-mips-elf/micromips-hilo-srec-n64.d b/ld/testsuite/ld-mips-elf/micromips-hilo-srec-n64.d index c25fbe8..efbaaa5 100644 --- a/ld/testsuite/ld-mips-elf/micromips-hilo-srec-n64.d +++ b/ld/testsuite/ld-mips-elf/micromips-hilo-srec-n64.d @@ -1,4 +1,4 @@ -#name: R_MICROMIPS_HI16 and R_MICROMIPS_LO16 relocs srec n64 +#name: R_MICROMIPS_HI16 and R_MICROMIPS_LO16 relocs srec (n64) #source: ../../../gas/testsuite/gas/mips/mips-hilo-n64.s #source: mips-hilo.s #as: -mmicromips -march=mips64r2 diff --git a/ld/testsuite/ld-mips-elf/micromips-hilo-srec.d b/ld/testsuite/ld-mips-elf/micromips-hilo-srec.d index e6b8459..c8bee0a 100644 --- a/ld/testsuite/ld-mips-elf/micromips-hilo-srec.d +++ b/ld/testsuite/ld-mips-elf/micromips-hilo-srec.d @@ -1,7 +1,7 @@ #name: R_MICROMIPS_HI16 and R_MICROMIPS_LO16 relocs srec #source: ../../../gas/testsuite/gas/mips/mips-hilo.s #source: mips-hilo.s -#as: -mmicromips -march=mips32r2 +#as: -mmicromips -march=mips64r2 #objdump: -m mips:micromips -j .sec1 -D #ld: --oformat=srec -Tmips-hilo.ld -e 0x500000 -N #notarget: mips*el-ps2-elf* diff --git a/ld/testsuite/ld-mips-elf/micromips-hilo.d b/ld/testsuite/ld-mips-elf/micromips-hilo.d index d518dfb..ec5c9d1 100644 --- a/ld/testsuite/ld-mips-elf/micromips-hilo.d +++ b/ld/testsuite/ld-mips-elf/micromips-hilo.d @@ -1,7 +1,7 @@ #name: R_MICROMIPS_HI16 and R_MICROMIPS_LO16 relocs #source: ../../../gas/testsuite/gas/mips/mips-hilo.s #source: mips-hilo.s -#as: -mmicromips -march=mips32r2 +#as: -mmicromips -march=mips64r2 #objdump: -d #ld: -Tmips-hilo.ld -e 0x500000 -N #notarget: mips*el-ps2-elf* diff --git a/ld/testsuite/ld-mips-elf/mips-elf.exp b/ld/testsuite/ld-mips-elf/mips-elf.exp index d0919ea..e8a1d42 100644 --- a/ld/testsuite/ld-mips-elf/mips-elf.exp +++ b/ld/testsuite/ld-mips-elf/mips-elf.exp @@ -815,42 +815,67 @@ run_dump_test_n32 "jalbal" noarch run_dump_test "mode-change-error-1" run_dump_test_o32 "mips16-hilo" noarch -run_dump_test_n32 "mips16-hilo-n32" noarch +run_dump_test_n32 "mips16-hilo" [list noarch [list name (n32)]] run_dump_test_o32 "mips16-hilo-srec" \ [list noarch \ [list objdump [expr { [istarget *el-*-*] ? "-EL" : "-EB" }]]] -run_dump_test_n32 "mips16-hilo-srec-n32" \ +run_dump_test_n32 "mips16-hilo-srec" \ [list noarch \ + [list name (n32)] \ [list objdump [expr { [istarget *el-*-*] ? "-EL" : "-EB" }]]] run_dump_test_o32 "mips16e2-hilo" noarch -run_dump_test_n32 "mips16e2-hilo-n32" noarch +run_dump_test_n32 "mips16e2-hilo" [list noarch [list name (n32)]] run_dump_test_o32 "mips16e2-hilo-srec" \ [list noarch \ [list objdump [expr { [istarget *el-*-*] ? "-EL" : "-EB" }]]] -run_dump_test_n32 "mips16e2-hilo-srec-n32" \ +run_dump_test_n32 "mips16e2-hilo-srec" \ [list noarch \ + [list name (n32)] \ [list objdump [expr { [istarget *el-*-*] ? "-EL" : "-EB" }]]] run_dump_test_o32 "mips-hilo" -run_dump_test_n32 "mips-hilo-n32" +run_dump_test_n32 "mips-hilo" [list [list name (n32)]] run_dump_test_n64 "mips-hilo-n64" run_dump_test_o32 "mips-hilo-srec" \ [list [list objdump [expr { [istarget *el-*-*] ? "-EL" : "-EB" }]]] -run_dump_test_n32 "mips-hilo-srec-n32" \ - [list [list objdump [expr { [istarget *el-*-*] ? "-EL" : "-EB" }]]] +run_dump_test_n32 "mips-hilo-srec" \ + [list [list name (n32)] \ + [list objdump [expr { [istarget *el-*-*] ? "-EL" : "-EB" }]]] run_dump_test_n64 "mips-hilo-srec-n64" \ [list [list objdump [expr { [istarget *el-*-*] ? "-EL" : "-EB" }]]] run_dump_test_o32 "micromips-hilo" noarch -run_dump_test_n32 "micromips-hilo-n32" noarch +run_dump_test_n32 "micromips-hilo" [list noarch [list name (n32)]] run_dump_test_n64 "micromips-hilo-n64" noarch run_dump_test_o32 "micromips-hilo-srec" \ [list noarch \ [list objdump [expr { [istarget *el-*-*] ? "-EL" : "-EB" }]]] -run_dump_test_n32 "micromips-hilo-srec-n32" \ +run_dump_test_n32 "micromips-hilo-srec" \ [list noarch \ + [list name (n32)] \ [list objdump [expr { [istarget *el-*-*] ? "-EL" : "-EB" }]]] run_dump_test_n64 "micromips-hilo-srec-n64" \ [list noarch \ [list objdump [expr { [istarget *el-*-*] ? "-EL" : "-EB" }]]] +run_dump_test_o32 "pcrel-hilo" +run_dump_test_n32 "pcrel-hilo" [list [list name (n32)]] +run_dump_test_n64 "pcrel-hilo" [list [list name (n64)]] +run_dump_test_o32 "pcrel-hilo-srec" \ + [list [list objdump [expr { [istarget *el-*-*] ? "-EL" : "-EB" }]]] +run_dump_test_n32 "pcrel-hilo-srec" \ + [list [list name (n32)] \ + [list objdump [expr { [istarget *el-*-*] ? "-EL" : "-EB" }]]] +run_dump_test_n64 "pcrel-hilo-srec" \ + [list [list name (n64)] \ + [list objdump [expr { [istarget *el-*-*] ? "-EL" : "-EB" }]]] + +run_dump_test_o32 "pr19977" +run_dump_test_n32 "pr19977" [list [list name (n32)]] +run_dump_test_o32 "pr19977-mips16" noarch +run_dump_test_n32 "pr19977-mips16" [list noarch [list name (n32)]] +run_dump_test_o32 "pr19977-micromips" noarch +run_dump_test_n32 "pr19977-micromips" [list noarch [list name (n32)]] +run_dump_test_o32 "pr19977-r" +run_dump_test_o32 "pr19977-r-mips16" noarch +run_dump_test_o32 "pr19977-r-micromips" noarch if { $linux_gnu } { run_dump_test_n32 "textrel-1" diff --git a/ld/testsuite/ld-mips-elf/mips-hilo-n32.d b/ld/testsuite/ld-mips-elf/mips-hilo-n32.d deleted file mode 100644 index 012e1f0..0000000 --- a/ld/testsuite/ld-mips-elf/mips-hilo-n32.d +++ /dev/null @@ -1,6 +0,0 @@ -#name: R_MIPS_HI16 and R_MIPS_LO16 relocs n32 -#source: ../../../gas/testsuite/gas/mips/mips-hilo.s -#source: mips-hilo.s -#objdump: -d -#ld: -Tmips-hilo.ld -e 0x500000 -N -#dump: mips-hilo.d diff --git a/ld/testsuite/ld-mips-elf/mips-hilo-n64.d b/ld/testsuite/ld-mips-elf/mips-hilo-n64.d index 5a3f919..9cac1b3 100644 --- a/ld/testsuite/ld-mips-elf/mips-hilo-n64.d +++ b/ld/testsuite/ld-mips-elf/mips-hilo-n64.d @@ -1,4 +1,4 @@ -#name: R_MIPS_HI16 and R_MIPS_LO16 relocs n64 +#name: R_MIPS_HI16 and R_MIPS_LO16 relocs (n64) #source: ../../../gas/testsuite/gas/mips/mips-hilo-n64.s #source: mips-hilo.s #objdump: -d diff --git a/ld/testsuite/ld-mips-elf/mips-hilo-srec-n32.d b/ld/testsuite/ld-mips-elf/mips-hilo-srec-n32.d deleted file mode 100644 index ccd0195..0000000 --- a/ld/testsuite/ld-mips-elf/mips-hilo-srec-n32.d +++ /dev/null @@ -1,6 +0,0 @@ -#name: R_MIPS_HI16 and R_MIPS_LO16 relocs srec n32 -#source: ../../../gas/testsuite/gas/mips/mips-hilo.s -#source: mips-hilo.s -#objdump: -m mips:4000 -j .sec1 -D -#ld: --oformat=srec -Tmips-hilo.ld -e 0x500000 -N -#dump: mips-hilo.d diff --git a/ld/testsuite/ld-mips-elf/mips-hilo-srec-n64.d b/ld/testsuite/ld-mips-elf/mips-hilo-srec-n64.d index b02983e..19ba44c 100644 --- a/ld/testsuite/ld-mips-elf/mips-hilo-srec-n64.d +++ b/ld/testsuite/ld-mips-elf/mips-hilo-srec-n64.d @@ -1,4 +1,4 @@ -#name: R_MIPS_HI16 and R_MIPS_LO16 relocs srec n64 +#name: R_MIPS_HI16 and R_MIPS_LO16 relocs srec (n64) #source: ../../../gas/testsuite/gas/mips/mips-hilo-n64.s #source: mips-hilo.s #objdump: -m mips:4000 -j .sec1 -D diff --git a/ld/testsuite/ld-mips-elf/mips-hilo-srec.d b/ld/testsuite/ld-mips-elf/mips-hilo-srec.d index 59e5717..a6afb3f 100644 --- a/ld/testsuite/ld-mips-elf/mips-hilo-srec.d +++ b/ld/testsuite/ld-mips-elf/mips-hilo-srec.d @@ -1,6 +1,6 @@ #name: R_MIPS_HI16 and R_MIPS_LO16 relocs srec #source: ../../../gas/testsuite/gas/mips/mips-hilo.s #source: mips-hilo.s -#objdump: -m mips:3000 -j .sec1 -D +#objdump: -m mips:4000 -j .sec1 -D #ld: --oformat=srec -Tmips-hilo.ld -e 0x500000 -N #dump: mips-hilo.d diff --git a/ld/testsuite/ld-mips-elf/mips16-hilo-n32.d b/ld/testsuite/ld-mips-elf/mips16-hilo-n32.d deleted file mode 100644 index 08b591c..0000000 --- a/ld/testsuite/ld-mips-elf/mips16-hilo-n32.d +++ /dev/null @@ -1,7 +0,0 @@ -#name: R_MIPS16_HI16 and R_MIPS16_LO16 relocs n32 -#source: ../../../gas/testsuite/gas/mips/mips16-hilo.s -#source: mips-hilo.s -#as: -march=mips3 -#objdump: -mmips:16 -dr -#ld: -Tmips-hilo.ld -e 0x500000 -N -#dump: mips16-hilo.d diff --git a/ld/testsuite/ld-mips-elf/mips16-hilo-srec-n32.d b/ld/testsuite/ld-mips-elf/mips16-hilo-srec-n32.d deleted file mode 100644 index 724adcb..0000000 --- a/ld/testsuite/ld-mips-elf/mips16-hilo-srec-n32.d +++ /dev/null @@ -1,7 +0,0 @@ -#name: R_MIPS16_HI16 and R_MIPS16_LO16 relocs srec n32 -#source: ../../../gas/testsuite/gas/mips/mips16-hilo.s -#source: mips-hilo.s -#as: -march=mips3 -#objdump: -mmips:16 -j .sec1 -D -#ld: --oformat=srec -Tmips-hilo.ld -e 0x500000 -N -#dump: mips16-hilo.d diff --git a/ld/testsuite/ld-mips-elf/mips16-hilo-srec.d b/ld/testsuite/ld-mips-elf/mips16-hilo-srec.d index 9c41d9a..cd20d98 100644 --- a/ld/testsuite/ld-mips-elf/mips16-hilo-srec.d +++ b/ld/testsuite/ld-mips-elf/mips16-hilo-srec.d @@ -1,7 +1,7 @@ #name: R_MIPS16_HI16 and R_MIPS16_LO16 relocs srec #source: ../../../gas/testsuite/gas/mips/mips16-hilo.s #source: mips-hilo.s -#as: -march=mips1 +#as: -march=mips3 #objdump: -mmips:16 -j .sec1 -D #ld: --oformat=srec -Tmips-hilo.ld -e 0x500000 -N #dump: mips16-hilo.d diff --git a/ld/testsuite/ld-mips-elf/mips16-hilo.d b/ld/testsuite/ld-mips-elf/mips16-hilo.d index 1f01ca2..3a8dc71 100644 --- a/ld/testsuite/ld-mips-elf/mips16-hilo.d +++ b/ld/testsuite/ld-mips-elf/mips16-hilo.d @@ -1,8 +1,8 @@ #name: R_MIPS16_HI16 and R_MIPS16_LO16 relocs #source: ../../../gas/testsuite/gas/mips/mips16-hilo.s #source: mips-hilo.s -#as: -march=mips1 -#objdump: -mmips:16 -dr +#as: -march=mips3 +#objdump: -mmips:16 -d #ld: -Tmips-hilo.ld -e 0x500000 -N .*: file format (:?elf.*mips.*|srec) diff --git a/ld/testsuite/ld-mips-elf/mips16e2-hilo-n32.d b/ld/testsuite/ld-mips-elf/mips16e2-hilo-n32.d deleted file mode 100644 index e900e87..0000000 --- a/ld/testsuite/ld-mips-elf/mips16e2-hilo-n32.d +++ /dev/null @@ -1,8 +0,0 @@ -#name: MIPS16e2 R_MIPS16_HI16 and R_MIPS16_LO16 relocs n32 -#source: ../../../gas/testsuite/gas/mips/mips-hilo.s -#source: mips-hilo.s -#as: -mips16 -mmips16e2 -march=mips64r2 -#objdump: -d -#ld: -Tmips-hilo.ld -e 0x500000 -N -#notarget: mips*el-ps2-elf* -#dump: mips16e2-hilo.d diff --git a/ld/testsuite/ld-mips-elf/mips16e2-hilo-srec-n32.d b/ld/testsuite/ld-mips-elf/mips16e2-hilo-srec-n32.d deleted file mode 100644 index 0132fa8..0000000 --- a/ld/testsuite/ld-mips-elf/mips16e2-hilo-srec-n32.d +++ /dev/null @@ -1,8 +0,0 @@ -#name: MIPS16e2 R_MIPS16_HI16 and R_MIPS16_LO16 relocs srec n32 -#source: ../../../gas/testsuite/gas/mips/mips-hilo.s -#source: mips-hilo.s -#as: -mips16 -mmips16e2 -march=mips64r2 -#objdump: -mmips:16 -j .sec1 -D -#ld: --oformat=srec -Tmips-hilo.ld -e 0x500000 -N -#notarget: mips*el-ps2-elf* -#dump: mips16e2-hilo.d diff --git a/ld/testsuite/ld-mips-elf/mips16e2-hilo-srec.d b/ld/testsuite/ld-mips-elf/mips16e2-hilo-srec.d index e46708b..12a2d28 100644 --- a/ld/testsuite/ld-mips-elf/mips16e2-hilo-srec.d +++ b/ld/testsuite/ld-mips-elf/mips16e2-hilo-srec.d @@ -1,7 +1,7 @@ #name: MIPS16e2 R_MIPS16_HI16 and R_MIPS16_LO16 relocs srec #source: ../../../gas/testsuite/gas/mips/mips-hilo.s #source: mips-hilo.s -#as: -mips16 -mmips16e2 -march=mips32r2 +#as: -mips16 -mmips16e2 -march=mips64r2 #objdump: -mmips:16 -j .sec1 -D #ld: --oformat=srec -Tmips-hilo.ld -e 0x500000 -N #notarget: mips*el-ps2-elf* diff --git a/ld/testsuite/ld-mips-elf/mips16e2-hilo.d b/ld/testsuite/ld-mips-elf/mips16e2-hilo.d index eb93873..5aa1624 100644 --- a/ld/testsuite/ld-mips-elf/mips16e2-hilo.d +++ b/ld/testsuite/ld-mips-elf/mips16e2-hilo.d @@ -1,7 +1,7 @@ #name: MIPS16e2 R_MIPS16_HI16 and R_MIPS16_LO16 relocs #source: ../../../gas/testsuite/gas/mips/mips-hilo.s #source: mips-hilo.s -#as: -mips16 -mmips16e2 -march=mips32r2 +#as: -mips16 -mmips16e2 -march=mips64r2 #objdump: -d #ld: -Tmips-hilo.ld -e 0x500000 -N #notarget: mips*el-ps2-elf* diff --git a/ld/testsuite/ld-mips-elf/pcrel-hilo-srec.d b/ld/testsuite/ld-mips-elf/pcrel-hilo-srec.d new file mode 100644 index 0000000..e9b0956 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/pcrel-hilo-srec.d @@ -0,0 +1,6 @@ +#name: MIPSr6 PCHI16/PCLO16 relocations srec +#as: -mno-pdr +#ld: -e 0 --defsym=baz=0xfedcba98 -T pcrel-hilo.ld --oformat=srec +#objdump: -m mips:isa64r6 -D -j .sec1 +#source: ../../../gas/testsuite/gas/mips/pcrel-hilo.s +#dump: pcrel-hilo.d diff --git a/ld/testsuite/ld-mips-elf/pcrel-hilo.d b/ld/testsuite/ld-mips-elf/pcrel-hilo.d new file mode 100644 index 0000000..ae5d052 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/pcrel-hilo.d @@ -0,0 +1,42 @@ +#name: MIPSr6 PCHI16/PCLO16 relocations +#as: -mno-pdr +#ld: -e 0 --defsym=baz=0xfedcba98 -T pcrel-hilo.ld +#objdump: -m mips:isa64r6 -d +#source: ../../../gas/testsuite/gas/mips/pcrel-hilo.s + +.*: +file format (?:.*mips.*|srec) + +Disassembly of section \.(?:text|sec1): + +0*10000000 <[^>]*>: + *10000000: ec9e2456 auipc a0,0x2456 + *10000004: 3c05fedd lui a1,0xfedd + *10000008: ecde2456 auipc a2,0x2456 + *1000000c: ecfe2457 auipc a3,0x2457 + *10000010: 24847fec addiu a0,a0,32748 + *10000014: 24a5ba98 addiu a1,a1,-17768 + *10000018: 24c67ff0 addiu a2,a2,32752 + *1000001c: 24e7ffe4 addiu a3,a3,-28 + *10000020: ec9e2456 auipc a0,0x2456 + *10000024: 3c05fedd lui a1,0xfedd + *10000028: ecde2456 auipc a2,0x2456 + *1000002c: ecfe2457 auipc a3,0x2457 + \.\.\. + *10030030: 24847fec addiu a0,a0,32748 + *10030034: 24a5ba98 addiu a1,a1,-17768 + *10030038: 24c67ff0 addiu a2,a2,32752 + *1003003c: 24e7ffe4 addiu a3,a3,-28 + *10030040: 24107fec li s0,32748 + *10030044: 2411ba98 li s1,-17768 + *10030048: 24127ff0 li s2,32752 + *1003004c: 2413ffe4 li s3,-28 + *10030050: ec9e2456 auipc a0,0x2456 + *10030054: 3c05fedd lui a1,0xfedd + *10030058: ecde2456 auipc a2,0x2456 + *1003005c: ecfe2457 auipc a3,0x2457 + *10030060: 00902021 addu a0,a0,s0 + *10030064: 00b12821 addu a1,a1,s1 + *10030068: 00d23021 addu a2,a2,s2 + *1003006c: 00f33821 addu a3,a3,s3 + *10030070: d81f0000 jrc ra + \.\.\. diff --git a/ld/testsuite/ld-mips-elf/pcrel-hilo.ld b/ld/testsuite/ld-mips-elf/pcrel-hilo.ld new file mode 100644 index 0000000..77d361d --- /dev/null +++ b/ld/testsuite/ld-mips-elf/pcrel-hilo.ld @@ -0,0 +1,14 @@ +MEMORY +{ + text (rx) : ORIGIN = 0x10000000, LENGTH = 0x40000 + data (w) : ORIGIN = 0x34560000, LENGTH = 0x40000 +} +SECTIONS +{ + .text : { *(.text) } >text + .data : { *(.data) } >data + .symtab : { *(.symtab) } + .strtab : { *(.strtab) } + .shstrtab : { *(.shstrtab) } + /DISCARD/ : { *(*) } +} diff --git a/ld/testsuite/ld-mips-elf/pr19977-micromips.d b/ld/testsuite/ld-mips-elf/pr19977-micromips.d new file mode 100644 index 0000000..021b29c --- /dev/null +++ b/ld/testsuite/ld-mips-elf/pr19977-micromips.d @@ -0,0 +1,25 @@ +#name: pr19977 microMIPS +#source: ../../../gas/testsuite/gas/mips/pr19977.s +#as: -mmicromips -march=mips64r2 +#objdump: -d +#ld: -Tpr19977.ld -e 0 -N +#notarget: mips*el-ps2-elf* + +.*: file format elf.*mips.* + +Disassembly of section \.text: + +10000000 <[^>]*>: +10000000: 3060 1122 li v1,4386 +10000004: 0063 8000 sll v1,v1,0x10 +10000008: 3063 2988 addiu v1,v1,10632 +1000000c: 3060 1122 li v1,4386 +10000010: 0063 8000 sll v1,v1,0x10 +10000014: 3063 1988 addiu v1,v1,6536 +10000018: 3060 1122 li v1,4386 +1000001c: 0063 8000 sll v1,v1,0x10 +10000020: 3063 a988 addiu v1,v1,-22136 +10000024: 3060 1122 li v1,4386 +10000028: 0063 8000 sll v1,v1,0x10 +1000002c: 3063 9988 addiu v1,v1,-26232 +#pass diff --git a/ld/testsuite/ld-mips-elf/pr19977-mips16.d b/ld/testsuite/ld-mips-elf/pr19977-mips16.d new file mode 100644 index 0000000..c927357 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/pr19977-mips16.d @@ -0,0 +1,24 @@ +#name: pr19977 MIPS16 +#source: ../../../gas/testsuite/gas/mips/pr19977.s +#as: -mips16 -march=mips3 +#objdump: -d +#ld: -Tpr19977.ld -e 0 -N + +.*: file format elf.*mips.* + +Disassembly of section \.text: + +10000000 <[^>]*>: +10000000: f122 6b02 li v1,4386 +10000004: f400 3360 sll v1,16 +10000008: f185 4b08 addiu v1,10632 +1000000c: f122 6b02 li v1,4386 +10000010: f400 3360 sll v1,16 +10000014: f183 4b08 addiu v1,6536 +10000018: f122 6b02 li v1,4386 +1000001c: f400 3360 sll v1,16 +10000020: f195 4b08 addiu v1,-22136 +10000024: f122 6b02 li v1,4386 +10000028: f400 3360 sll v1,16 +1000002c: f193 4b08 addiu v1,-26232 +#pass diff --git a/ld/testsuite/ld-mips-elf/pr19977-r-micromips.d b/ld/testsuite/ld-mips-elf/pr19977-r-micromips.d new file mode 100644 index 0000000..db99b97 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/pr19977-r-micromips.d @@ -0,0 +1,8 @@ +#name: pr19977 microMIPS -r +#source: pr19977-r.s +#source: ../../../gas/testsuite/gas/mips/pr19977.s +#as: -mmicromips -march=mips64r2 +#objdump: -dr +#ld: -r +#notarget: mips*el-ps2-elf* +#dump: pr19977-r.d diff --git a/ld/testsuite/ld-mips-elf/pr19977-r-mips16.d b/ld/testsuite/ld-mips-elf/pr19977-r-mips16.d new file mode 100644 index 0000000..dafa793 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/pr19977-r-mips16.d @@ -0,0 +1,7 @@ +#name: pr19977 MIPS16 -r +#source: pr19977-r.s +#source: ../../../gas/testsuite/gas/mips/pr19977.s +#as: -mips16 -march=mips3 +#objdump: -dr +#ld: -r +#dump: pr19977-r.d diff --git a/ld/testsuite/ld-mips-elf/pr19977-r.d b/ld/testsuite/ld-mips-elf/pr19977-r.d new file mode 100644 index 0000000..166194b --- /dev/null +++ b/ld/testsuite/ld-mips-elf/pr19977-r.d @@ -0,0 +1,32 @@ +#name: pr19977 MIPS -r +#source: pr19977-r.s +#source: ../../../gas/testsuite/gas/mips/pr19977.s +#objdump: -dr +#ld: -r + +.* + +Disassembly of section \.text: + +0+ <foo>: + 0: .* li v1,4387 + 0: R_(|MICRO)MIPS(|16)_TLS_TPREL_HI16 \$loc0 + 4: .* sll .* + 8: .* addiu v1(|,v1),-26232 + 8: R_(|MICRO)MIPS(|16)_TLS_TPREL_LO16 \$loc0 + c: .* li v1,4387 + c: R_(|MICRO)MIPS(|16)_TLS_DTPREL_HI16 \$loc0 + 10: .* sll .* + 14: .* addiu v1(|,v1),-26232 + 14: R_(|MICRO)MIPS(|16)_TLS_DTPREL_LO16 \$loc0 + 18: .* li v1,4387 + 18: R_(|MICRO)MIPS(|16)_TLS_TPREL_HI16 \.tdata + 1c: .* sll .* + 20: .* addiu v1(|,v1),-30328 + 20: R_(|MICRO)MIPS(|16)_TLS_TPREL_LO16 \.tdata + 24: .* li v1,4387 + 24: R_(|MICRO)MIPS(|16)_TLS_DTPREL_HI16 \.tdata + 28: .* sll .* + 2c: .* addiu v1(|,v1),-30328 + 2c: R_(|MICRO)MIPS(|16)_TLS_DTPREL_LO16 \.tdata +#pass diff --git a/ld/testsuite/ld-mips-elf/pr19977-r.s b/ld/testsuite/ld-mips-elf/pr19977-r.s new file mode 100644 index 0000000..4a46b30 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/pr19977-r.s @@ -0,0 +1,2 @@ + .section .tdata,"awT",%progbits + .space 28672 diff --git a/ld/testsuite/ld-mips-elf/pr19977.d b/ld/testsuite/ld-mips-elf/pr19977.d new file mode 100644 index 0000000..145f697 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/pr19977.d @@ -0,0 +1,23 @@ +#name: pr19977 MIPS +#source: ../../../gas/testsuite/gas/mips/pr19977.s +#objdump: -d +#ld: -Tpr19977.ld -e 0 -N + +.*: file format elf.*mips.* + +Disassembly of section \.text: + +10000000 <[^>]*>: +10000000: 24031122 li v1,4386 +10000004: 00031c00 sll v1,v1,0x10 +10000008: 24632988 addiu v1,v1,10632 +1000000c: 24031122 li v1,4386 +10000010: 00031c00 sll v1,v1,0x10 +10000014: 24631988 addiu v1,v1,6536 +10000018: 24031122 li v1,4386 +1000001c: 00031c00 sll v1,v1,0x10 +10000020: 2463a988 addiu v1,v1,-22136 +10000024: 24031122 li v1,4386 +10000028: 00031c00 sll v1,v1,0x10 +1000002c: 24639988 addiu v1,v1,-26232 +#pass diff --git a/ld/testsuite/ld-mips-elf/pr19977.ld b/ld/testsuite/ld-mips-elf/pr19977.ld new file mode 100644 index 0000000..0b2f7c1 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/pr19977.ld @@ -0,0 +1,14 @@ +MEMORY +{ + text (rx) : ORIGIN = 0x10000000, LENGTH = 0x40000 + data (w) : ORIGIN = 0x34560000, LENGTH = 0x40000 +} +SECTIONS +{ + .text : { *(.text) } >text + .tdata : { *(.tdata) } >data + .symtab : { *(.symtab) } + .strtab : { *(.strtab) } + .shstrtab : { *(.shstrtab) } + /DISCARD/ : { *(*) } +} diff --git a/ld/testsuite/ld-s390/s390.exp b/ld/testsuite/ld-s390/s390.exp index aaba88d..452811d 100644 --- a/ld/testsuite/ld-s390/s390.exp +++ b/ld/testsuite/ld-s390/s390.exp @@ -135,18 +135,20 @@ set s390xtests { "pr32969_64-2"} } -if [istarget "s390-*-*"] { +if { [istarget "s390-*-*"] || [istarget "s390x-*-*"] } { run_ld_link_tests $s390tests + + run_dump_test "pr26918-1" + run_dump_test "reloccheck-1" + run_dump_test "reloctlsle-1" + } if [istarget "s390x-*-*"] { - run_ld_link_tests $s390tests run_ld_link_tests $s390xtests -} -set test_list [lsort [glob -nocomplain $srcdir/$subdir/*.d]] -foreach t $test_list { - # We need to strip the ".d", but can leave the dirname. - verbose [file rootname $t] - run_dump_test [file rootname $t] + if { ![skip_sframe_tests] } { + run_dump_test "sframe-simple-1" + run_dump_test "sframe-plt-1" + } } diff --git a/ld/testsuite/ld-s390/sframe-bar.s b/ld/testsuite/ld-s390/sframe-bar.s new file mode 100644 index 0000000..f707569 --- /dev/null +++ b/ld/testsuite/ld-s390/sframe-bar.s @@ -0,0 +1,21 @@ + .text + .globl bar + .type bar, @function +bar: + .cfi_startproc + stmg %r14,%r15,112(%r15) + .cfi_rel_offset %r14, 112 + .cfi_rel_offset %r15, 120 + lay %r15,-160(%r15) + .cfi_adjust_cfa_offset 160 + clgfi %r2,1000 + jle .Lreturn + brasl %r14,foo@PLT +.Lreturn: + lay %r15,160(%r15) + .cfi_adjust_cfa_offset -160 + lg %r14,112(%r15) + .cfi_restore %r14 + br %r14 + .cfi_endproc + .size bar, .-bar diff --git a/ld/testsuite/ld-s390/sframe-foo.s b/ld/testsuite/ld-s390/sframe-foo.s new file mode 100644 index 0000000..75657e9 --- /dev/null +++ b/ld/testsuite/ld-s390/sframe-foo.s @@ -0,0 +1,9 @@ + .text + .globl foo + .type foo, @function +foo: + .cfi_startproc + msgfi %r2,42 + br %r14 + .cfi_endproc + .size foo, .-foo diff --git a/ld/testsuite/ld-s390/sframe-plt-1.d b/ld/testsuite/ld-s390/sframe-plt-1.d new file mode 100644 index 0000000..db09030 --- /dev/null +++ b/ld/testsuite/ld-s390/sframe-plt-1.d @@ -0,0 +1,29 @@ +#as: --gsframe +#source: sframe-foo.s +#source: sframe-bar.s +#objdump: --sframe=.sframe +#ld: -shared --no-rosegment +#name: SFrame for plt0 and pltN + +.*: +file format .* + +Contents of the SFrame section .sframe: + Header : + + Version: SFRAME_VERSION_2 + Flags: SFRAME_F_FDE_SORTED, + SFRAME_F_FDE_FUNC_START_PCREL + Num FDEs: 4 + Num FREs: 8 + + Function Index : + + func idx \[0\]: pc = 0x1e8, size = 32 bytes + STARTPC +CFA +FP +RA + + 0+1e8 +sp\+160 +u +u + + + func idx \[1\]: pc = 0x208, size = 32 bytes + STARTPC\[m\] +CFA +FP +RA + + 0+0 +sp\+160 +u +u + + +#... diff --git a/ld/testsuite/ld-s390/sframe-simple-1.d b/ld/testsuite/ld-s390/sframe-simple-1.d new file mode 100644 index 0000000..1c1bf32 --- /dev/null +++ b/ld/testsuite/ld-s390/sframe-simple-1.d @@ -0,0 +1,32 @@ +#as: --gsframe +#source: sframe-foo.s +#source: sframe-bar.s +#objdump: --sframe=.sframe +#ld: -shared --no-rosegment +#name: SFrame simple link + +.*: +file format .* + +Contents of the SFrame section .sframe: + Header : + + Version: SFRAME_VERSION_2 + Flags: SFRAME_F_FDE_SORTED, + SFRAME_F_FDE_FUNC_START_PCREL + Num FDEs: 4 + Num FREs: 8 + + Function Index : + +#... + func idx \[2\]: pc = 0x228, size = 8 bytes + STARTPC +CFA +FP +RA + + 0+228 +sp\+160 +u +u + + + func idx \[3\]: pc = 0x230, size = 42 bytes + STARTPC +CFA +FP +RA + + 0+230 +sp\+160 +u +u + + 0+236 +sp\+160 +u +c-48 + + 0+23c +sp\+320 +u +c-48 + + 0+252 +sp\+160 +u +c-48 + + 0+258 +sp\+160 +u +u + diff --git a/libsframe/Makefile.in b/libsframe/Makefile.in index 13f4c26..fa705dd 100644 --- a/libsframe/Makefile.in +++ b/libsframe/Makefile.in @@ -118,7 +118,8 @@ check_PROGRAMS = $(am__EXEEXT_1) @HAVE_COMPAT_DEJAGNU_TRUE@ testsuite/libsframe.encode/encode-1 \ @HAVE_COMPAT_DEJAGNU_TRUE@ testsuite/libsframe.find/findfre-1 \ @HAVE_COMPAT_DEJAGNU_TRUE@ testsuite/libsframe.find/findfunc-1 \ -@HAVE_COMPAT_DEJAGNU_TRUE@ testsuite/libsframe.find/plt-findfre-1 +@HAVE_COMPAT_DEJAGNU_TRUE@ testsuite/libsframe.find/plt-findfre-1 \ +@HAVE_COMPAT_DEJAGNU_TRUE@ testsuite/libsframe.find/plt-findfre-2 subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/../bfd/acinclude.m4 \ @@ -193,7 +194,8 @@ libsframe_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ @HAVE_COMPAT_DEJAGNU_TRUE@ testsuite/libsframe.encode/encode-1$(EXEEXT) \ @HAVE_COMPAT_DEJAGNU_TRUE@ testsuite/libsframe.find/findfre-1$(EXEEXT) \ @HAVE_COMPAT_DEJAGNU_TRUE@ testsuite/libsframe.find/findfunc-1$(EXEEXT) \ -@HAVE_COMPAT_DEJAGNU_TRUE@ testsuite/libsframe.find/plt-findfre-1$(EXEEXT) +@HAVE_COMPAT_DEJAGNU_TRUE@ testsuite/libsframe.find/plt-findfre-1$(EXEEXT) \ +@HAVE_COMPAT_DEJAGNU_TRUE@ testsuite/libsframe.find/plt-findfre-2$(EXEEXT) am__dirstamp = $(am__leading_dot)dirstamp am_testsuite_libsframe_decode_be_flipping_OBJECTS = testsuite/libsframe.decode/testsuite_libsframe_decode_be_flipping-be-flipping.$(OBJEXT) testsuite_libsframe_decode_be_flipping_OBJECTS = \ @@ -230,6 +232,11 @@ testsuite_libsframe_find_plt_findfre_1_OBJECTS = \ $(am_testsuite_libsframe_find_plt_findfre_1_OBJECTS) testsuite_libsframe_find_plt_findfre_1_DEPENDENCIES = \ ${top_builddir}/libsframe.la +am_testsuite_libsframe_find_plt_findfre_2_OBJECTS = testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_2-plt-findfre-2.$(OBJEXT) +testsuite_libsframe_find_plt_findfre_2_OBJECTS = \ + $(am_testsuite_libsframe_find_plt_findfre_2_OBJECTS) +testsuite_libsframe_find_plt_findfre_2_DEPENDENCIES = \ + ${top_builddir}/libsframe.la AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -271,7 +278,8 @@ SOURCES = $(libsframe_la_SOURCES) \ $(testsuite_libsframe_encode_encode_1_SOURCES) \ $(testsuite_libsframe_find_findfre_1_SOURCES) \ $(testsuite_libsframe_find_findfunc_1_SOURCES) \ - $(testsuite_libsframe_find_plt_findfre_1_SOURCES) + $(testsuite_libsframe_find_plt_findfre_1_SOURCES) \ + $(testsuite_libsframe_find_plt_findfre_2_SOURCES) DIST_SOURCES = $(libsframe_la_SOURCES) \ $(testsuite_libsframe_decode_be_flipping_SOURCES) \ $(testsuite_libsframe_decode_frecnt_1_SOURCES) \ @@ -279,7 +287,8 @@ DIST_SOURCES = $(libsframe_la_SOURCES) \ $(testsuite_libsframe_encode_encode_1_SOURCES) \ $(testsuite_libsframe_find_findfre_1_SOURCES) \ $(testsuite_libsframe_find_findfunc_1_SOURCES) \ - $(testsuite_libsframe_find_plt_findfre_1_SOURCES) + $(testsuite_libsframe_find_plt_findfre_1_SOURCES) \ + $(testsuite_libsframe_find_plt_findfre_2_SOURCES) AM_V_DVIPS = $(am__v_DVIPS_@AM_V@) am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAULT_V@) am__v_DVIPS_0 = @echo " DVIPS " $@; @@ -569,6 +578,9 @@ testsuite_libsframe_find_findfunc_1_CPPFLAGS = -I${top_srcdir}/../include -Wall testsuite_libsframe_find_plt_findfre_1_SOURCES = testsuite/libsframe.find/plt-findfre-1.c testsuite_libsframe_find_plt_findfre_1_LDADD = ${top_builddir}/libsframe.la testsuite_libsframe_find_plt_findfre_1_CPPFLAGS = -I${top_srcdir}/../include -Wall +testsuite_libsframe_find_plt_findfre_2_SOURCES = testsuite/libsframe.find/plt-findfre-2.c +testsuite_libsframe_find_plt_findfre_2_LDADD = ${top_builddir}/libsframe.la +testsuite_libsframe_find_plt_findfre_2_CPPFLAGS = -I${top_srcdir}/../include -Wall all: config.h $(MAKE) $(AM_MAKEFLAGS) all-am @@ -748,6 +760,13 @@ testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_1-plt-findfre-1.$( testsuite/libsframe.find/plt-findfre-1$(EXEEXT): $(testsuite_libsframe_find_plt_findfre_1_OBJECTS) $(testsuite_libsframe_find_plt_findfre_1_DEPENDENCIES) $(EXTRA_testsuite_libsframe_find_plt_findfre_1_DEPENDENCIES) testsuite/libsframe.find/$(am__dirstamp) @rm -f testsuite/libsframe.find/plt-findfre-1$(EXEEXT) $(AM_V_CCLD)$(LINK) $(testsuite_libsframe_find_plt_findfre_1_OBJECTS) $(testsuite_libsframe_find_plt_findfre_1_LDADD) $(LIBS) +testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_2-plt-findfre-2.$(OBJEXT): \ + testsuite/libsframe.find/$(am__dirstamp) \ + testsuite/libsframe.find/$(DEPDIR)/$(am__dirstamp) + +testsuite/libsframe.find/plt-findfre-2$(EXEEXT): $(testsuite_libsframe_find_plt_findfre_2_OBJECTS) $(testsuite_libsframe_find_plt_findfre_2_DEPENDENCIES) $(EXTRA_testsuite_libsframe_find_plt_findfre_2_DEPENDENCIES) testsuite/libsframe.find/$(am__dirstamp) + @rm -f testsuite/libsframe.find/plt-findfre-2$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(testsuite_libsframe_find_plt_findfre_2_OBJECTS) $(testsuite_libsframe_find_plt_findfre_2_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -768,6 +787,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_findfre_1-findfre-1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_findfunc_1-findfunc-1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_plt_findfre_1-plt-findfre-1.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_plt_findfre_2-plt-findfre-2.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @@ -912,6 +932,20 @@ testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_1-plt-findfre-1.ob @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_plt_findfre_1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_1-plt-findfre-1.obj `if test -f 'testsuite/libsframe.find/plt-findfre-1.c'; then $(CYGPATH_W) 'testsuite/libsframe.find/plt-findfre-1.c'; else $(CYGPATH_W) '$(srcdir)/testsuite/libsframe.find/plt-findfre-1.c'; fi` +testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_2-plt-findfre-2.o: testsuite/libsframe.find/plt-findfre-2.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_plt_findfre_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_2-plt-findfre-2.o -MD -MP -MF testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_plt_findfre_2-plt-findfre-2.Tpo -c -o testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_2-plt-findfre-2.o `test -f 'testsuite/libsframe.find/plt-findfre-2.c' || echo '$(srcdir)/'`testsuite/libsframe.find/plt-findfre-2.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_plt_findfre_2-plt-findfre-2.Tpo testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_plt_findfre_2-plt-findfre-2.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='testsuite/libsframe.find/plt-findfre-2.c' object='testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_2-plt-findfre-2.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_plt_findfre_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_2-plt-findfre-2.o `test -f 'testsuite/libsframe.find/plt-findfre-2.c' || echo '$(srcdir)/'`testsuite/libsframe.find/plt-findfre-2.c + +testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_2-plt-findfre-2.obj: testsuite/libsframe.find/plt-findfre-2.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_plt_findfre_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_2-plt-findfre-2.obj -MD -MP -MF testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_plt_findfre_2-plt-findfre-2.Tpo -c -o testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_2-plt-findfre-2.obj `if test -f 'testsuite/libsframe.find/plt-findfre-2.c'; then $(CYGPATH_W) 'testsuite/libsframe.find/plt-findfre-2.c'; else $(CYGPATH_W) '$(srcdir)/testsuite/libsframe.find/plt-findfre-2.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_plt_findfre_2-plt-findfre-2.Tpo testsuite/libsframe.find/$(DEPDIR)/testsuite_libsframe_find_plt_findfre_2-plt-findfre-2.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='testsuite/libsframe.find/plt-findfre-2.c' object='testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_2-plt-findfre-2.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(testsuite_libsframe_find_plt_findfre_2_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o testsuite/libsframe.find/testsuite_libsframe_find_plt_findfre_2-plt-findfre-2.obj `if test -f 'testsuite/libsframe.find/plt-findfre-2.c'; then $(CYGPATH_W) 'testsuite/libsframe.find/plt-findfre-2.c'; else $(CYGPATH_W) '$(srcdir)/testsuite/libsframe.find/plt-findfre-2.c'; fi` + mostlyclean-libtool: -rm -f *.lo diff --git a/libsframe/doc/sframe-spec.texi b/libsframe/doc/sframe-spec.texi index 69fe873..ecc333d 100644 --- a/libsframe/doc/sframe-spec.texi +++ b/libsframe/doc/sframe-spec.texi @@ -81,8 +81,8 @@ The SFrame stack trace information is provided in a loaded section, known as the @code{.sframe} section. When available, the @code{.sframe} section appears in a new segment of its own, PT_GNU_SFRAME. -The SFrame format is currently supported only for select ABIs, namely, AMD64 -and AAPCS64. +The SFrame format is currently supported only for select ABIs, namely, AMD64, +AAPCS64, and s390x. A portion of the SFrame format follows an unaligned on-disk representation. Some data structures, however, (namely the SFrame header and the SFrame @@ -139,6 +139,31 @@ bytes to the start PC of the associated function from the field itself. bytes to the start PC of the associated function from the start of the SFrame section. @end itemize +@item +Add a new ABI/arch identifier SFRAME_ABI_S390X_ENDIAN_BIG for the s390 +architecture (64-bit) s390x ABI. Other s390x-specific backward compatible +changes including the following helper definitions have been incrementally +added to SFrame version 2 only: + @itemize @minus + @item SFRAME_S390X_SP_VAL_OFFSET: SP value offset from CFA. + @item SFRAME_V2_S390X_OFFSET_IS_REGNUM: Test whether FP/RA offset is an encoded +DWARF register number. + @item SFRAME_V2_S390X_OFFSET_ENCODE_REGNUM: Encode a DWARF register number as an +FP/RA offset. + @item SFRAME_V2_S390X_OFFSET_DECODE_REGNUM: Decode a DWARF register number from +an FP/RA offset. + @item SFRAME_FRE_RA_OFFSET_INVALID: Invalid RA offset value (like +SFRAME_CFA_FIXED_RA_INVALID). Used on s390x as padding offset to represent +FP without RA saved. + @item SFRAME_S390X_CFA_OFFSET_ADJUSTMENT: CFA offset (from CFA base register) +adjustment value. Used to enable use of 8-bit SFrame offsets on s390x. + @item SFRAME_S390X_CFA_OFFSET_ALIGNMENT_FACTOR: CFA offset alignment factor. +Used to scale down the CFA offset to improve the use of 8-bit SFrame offsets. + @item SFRAME_V2_S390X_CFA_OFFSET_ENCODE: Encode CFA offset (i.e., apply +CFA offset adjustment and then scale down by CFA offset alignment factor). + @item SFRAME_V2_S390X_CFA_OFFSET_DECODE: Decode CFA offset (i.e., scale up +by CFA offset alignment factor and then revert CFA offset adjustment). + @end itemize @end itemize SFrame version 1 is now obsolete and should not be used. @@ -421,6 +446,10 @@ in the format. @item @code{SFRAME_ABI_AMD64_ENDIAN_LITTLE} @tab 3 @tab AMD64 little-endian +@tindex SFRAME_ABI_S390X_ENDIAN_BIG +@item @code{SFRAME_ABI_S390X_ENDIAN_BIG} +@tab 4 @tab s390x big-endian + @end multitable The presence of an explicit identification of ABI/arch in SFrame may allow @@ -780,10 +809,11 @@ This section covers the ABI/arch-specific definition of the SFrame file format. Currently, the only part of the SFrame file format definition that is ABI/arch-specific is the interpretation of the variable number of bytes at the -tail end of each SFrame FRE. Currently, these bytes are only used for -representing stack offsets (for all the currently supported ABIs). It is -recommended to peruse this section along with @xref{SFrame Frame Row Entries} -for clarity of context. +tail end of each SFrame FRE. Currently, these bytes are used for representing +stack offsets (for AMD64 and AARCH64 ABIs). For s390x ABI, the interpretation +of these bytes may be stack offsets or even register numbers. It is recommended +to peruse this section along with @xref{SFrame Frame Row Entries} for clarity of +context. Future ABIs must specify the algorithm for identifying the appropriate SFrame FRE stack offsets in this chapter. This should inevitably include the @@ -794,6 +824,7 @@ auxiliary SFrame header, etc., if used, must also be outlined here. @menu * AMD64:: * AArch64:: +* s390x:: @end menu @node AMD64 @@ -850,6 +881,77 @@ Hence, in summary: @item 3 @tab FP = CFA + offset3 @end multitable +@node s390x +@section s390x + +A stack tracer implementation must initialize the SP to the designated SP +register value, the FP to the preferred FP register value, and the RA to the +designated RA register value in the topmost stack frame of the callchain. This +is required, as either the SP or FP is used as CFA base register and as the FP +and/or RA are not necessarily saved on the stack. For RA this may only be the +case in the topmost stack frame of the callchain. For FP this may be the case +in any stack frame. + +Irrespective of the ABI, the first stack offset is always used to locate the +CFA. On s390x the value of the offset is stored adjusted by the s390x-specific +@code{SFRAME_S390X_CFA_OFFSET_ADJUSTMENT} and scaled down by the s390x-specific +@code{SFRAME_S390X_CFA_OFFSET_ALIGNMENT_FACTOR}, to enable and improve the use +of signed 8-bit offsets on s390x. +s390x-specific helpers @code{SFRAME_V2_S390X_CFA_OFFSET_ENCODE} and +@code{SFRAME_V2_S390X_CFA_OFFSET_DECODE} are provided to perform or undo +the adjustment and scaling. The CFA offset can therefore be interpreted as: +CFA = @code{BASE_REG} + offset1 - @code{SFRAME_S390X_CFA_OFFSET_ADJUSTMENT} +or +CFA = @code{BASE_REG} + + (offset1 * @code{SFRAME_S390X_CFA_OFFSET_ALIGNMENT_FACTOR}) + - @code{SFRAME_S390X_CFA_OFFSET_ADJUSTMENT}. +The identification of the @code{BASE_REG} is done by using the +@code{fre_cfa_base_reg_id} field in the SFrame FRE info word. + +The (64-bit) s390x ELF ABI does not mandate the precise location in a function +where the return address (RA) and frame pointer (FP) are saved, if at all. +Hence the need to track RA in the SFrame stack trace format. As RA is being +tracked in this ABI, the second stack offset is always used to locate the RA +stack slot, by interpreting it as: RA = CFA + offset2, unless the offset has a +value of @code{SFRAME_FRE_RA_OFFSET_INVALID}. RA remains unchanged, if the +offset is not available or has a value of @code{SFRAME_FRE_RA_OFFSET_INVALID}. +Stack tracers are recommended to validate that the "unchanged RA" pattern, when +present, is seen only for the topmost stack frame. The third stack offset is +used to locate the FP stack slot, by interpreting it as: FP = CFA + offset3. +FP remains unchanged, if the offset is not available. + +In leaf functions the RA and FP may be saved in other registers, such as +floating-point registers (FPRs), instead of on the stack. To represent this +in the SFrame stack trace format the DWARF register number is encoded as +RA/FP offset using the least-significant bit (LSB) as indication: +offset = (regnum << 1) | 1. A LSB of zero indicates a stack slot offset. +A LSB of one indicates a DWARF register number, which is interpreted as: +regnum = offset >> 1. Given the nature of leaf functions, this can only occur +in the topmost frame during stack tracing. It is recommended that a stack +tracer implementation performs the required checks to ensure that restoring +FP and RA from the said register locations is done only for topmost stack +frame in the callchain. + +Given the nature of things, the number of stack offsets and/or register numbers +seen on s390x per SFrame FRE is either 1, 2, or 3. + +Hence, in summary: + +@multitable @columnfractions .15 .85 +@headitem Offset ID @tab Interpretation in s390x +@item 1 @tab CFA = @code{BASE_REG} + offset1 +@item 2 @tab RA stack slot = CFA + offset2, if (offset2 & 1 == 0) + @*RA register number = offset2 >> 1, if (offset2 & 1 == 1) + @*RA not saved if (offset2 == @code{SFRAME_FRE_RA_OFFSET_INVALID}) +@item 3 @tab FP stack slot = CFA + offset3, if (offset3 & 1 == 0) + @*FP register number = offset3 >> 1, if (offset3 & 1 == 1) +@end multitable + +The s390x ELF ABI defines the CFA as stack pointer (SP) at call site +160. The +SP can therefore be obtained using the SP value offset from CFA +@code{SFRAME_S390X_SP_VAL_OFFSET} of -160 as follows: +SP = CFA + @code{SFRAME_S390X_SP_VAL_OFFSET} + @node Generating Stack Traces using SFrame @appendix Generating Stack Traces using SFrame @@ -913,7 +1015,7 @@ SFrame section. fp_offset = sframe_fre_get_fp_offset (fre); cfa = base_reg_val + cfa_offset; - next_frame->sp = cfa; + next_frame->sp = cfa [+ SFRAME_S390X_SP_VAL_OFFSET on s390x]; ra_stack_loc = cfa + ra_offset; // Get the address stored in the stack location. diff --git a/libsframe/sframe-dump.c b/libsframe/sframe-dump.c index 47ac00e..d55d384 100644 --- a/libsframe/sframe-dump.c +++ b/libsframe/sframe-dump.c @@ -38,6 +38,14 @@ is_sframe_abi_arch_aarch64 (sframe_decoder_ctx *sfd_ctx) return aarch64_p; } +/* Return TRUE if the SFrame section is associated with the s390x ABI. */ + +static bool +is_sframe_abi_arch_s390x (sframe_decoder_ctx *sfd_ctx) +{ + return sframe_decoder_get_abi_arch (sfd_ctx) == SFRAME_ABI_S390X_ENDIAN_BIG; +} + static void dump_sframe_header_flags (sframe_decoder_ctx *sfd_ctx) { @@ -186,7 +194,13 @@ dump_sframe_func_with_fres (sframe_decoder_ctx *sfd_ctx, /* Dump SP/FP info. */ if (err[1] == 0) - sprintf (temp, "c%+d", fp_offset); + { + if (is_sframe_abi_arch_s390x (sfd_ctx) + && SFRAME_V2_S390X_OFFSET_IS_REGNUM (fp_offset)) + sprintf (temp, "r%d", SFRAME_V2_S390X_OFFSET_DECODE_REGNUM (fp_offset)); + else + sprintf (temp, "c%+d", fp_offset); + } else strcpy (temp, "u"); printf ("%-10s", temp); @@ -197,8 +211,18 @@ dump_sframe_func_with_fres (sframe_decoder_ctx *sfd_ctx, if (sframe_decoder_get_fixed_ra_offset (sfd_ctx) != SFRAME_CFA_FIXED_RA_INVALID) strcpy (temp, "f"); + /* If an ABI does track RA offset, e.g. s390x, it can be a padding + to represent FP without RA being saved on stack. */ + else if (err[2] == 0 && ra_offset == SFRAME_FRE_RA_OFFSET_INVALID) + sprintf (temp, "U"); else if (err[2] == 0) - sprintf (temp, "c%+d", ra_offset); + { + if (is_sframe_abi_arch_s390x (sfd_ctx) + && SFRAME_V2_S390X_OFFSET_IS_REGNUM (ra_offset)) + sprintf (temp, "r%d", SFRAME_V2_S390X_OFFSET_DECODE_REGNUM (ra_offset)); + else + sprintf (temp, "c%+d", ra_offset); + } else strcpy (temp, "u"); diff --git a/libsframe/sframe.c b/libsframe/sframe.c index ea0e1c7..d482d58 100644 --- a/libsframe/sframe.c +++ b/libsframe/sframe.c @@ -166,6 +166,7 @@ need_swapping (int endian) case SFRAME_ABI_AMD64_ENDIAN_LITTLE: return !is_little; case SFRAME_ABI_AARCH64_ENDIAN_BIG: + case SFRAME_ABI_S390X_ENDIAN_BIG: return is_little; default: break; @@ -520,7 +521,7 @@ flip_sframe (char *frame_buf, size_t buf_size, uint32_t to_foreign) fre_offset = fdep->sfde_func_start_fre_off; } - fp = frame_buf + sframe_get_hdr_size (ihp) + ihp->sfh_freoff; + fp = frame_buf + hdrsz + ihp->sfh_freoff; fp += fre_offset; for (; j < prev_frep_index + num_fres; j++) { @@ -535,8 +536,12 @@ flip_sframe (char *frame_buf, size_t buf_size, uint32_t to_foreign) prev_frep_index = j; } /* All FDEs and FREs must have been endian flipped by now. */ - if ((j != ihp->sfh_num_fres) || (bytes_flipped != (buf_size - hdrsz))) + if ((j != ihp->sfh_num_fres) || (bytes_flipped > (buf_size - hdrsz))) goto bad; + /* Optional trailing section padding. */ + for (fp = frame_buf + hdrsz + bytes_flipped; fp < frame_buf + buf_size; fp++) + if (*fp != '\0') + goto bad; /* Success. */ return 0; @@ -690,13 +695,22 @@ sframe_fre_get_base_reg_id (sframe_frame_row_entry *fre, int *errp) /* Get the CFA offset from the FRE. If the offset is invalid, sets errp. */ int32_t -sframe_fre_get_cfa_offset (sframe_decoder_ctx *dctx ATTRIBUTE_UNUSED, +sframe_fre_get_cfa_offset (sframe_decoder_ctx *dctx, sframe_frame_row_entry *fre, int *errp) { - return sframe_get_fre_offset (fre, SFRAME_FRE_CFA_OFFSET_IDX, errp); + int32_t offset = sframe_get_fre_offset (fre, SFRAME_FRE_CFA_OFFSET_IDX, errp); + + /* For s390x undo adjustment of CFA offset (to enable 8-bit offsets). */ + if (sframe_decoder_get_abi_arch (dctx) == SFRAME_ABI_S390X_ENDIAN_BIG) + offset = SFRAME_V2_S390X_CFA_OFFSET_DECODE (offset); + + return offset; } -/* Get the FP offset from the FRE. If the offset is invalid, sets errp. */ +/* Get the FP offset from the FRE. If the offset is invalid, sets errp. + + For s390x the offset may be an encoded register number, indicated by + LSB set to one, which is only valid in the topmost frame. */ int32_t sframe_fre_get_fp_offset (sframe_decoder_ctx *dctx, @@ -723,7 +737,12 @@ sframe_fre_get_fp_offset (sframe_decoder_ctx *dctx, return sframe_get_fre_offset (fre, fp_offset_idx, errp); } -/* Get the RA offset from the FRE. If the offset is invalid, sets errp. */ +/* Get the RA offset from the FRE. If the offset is invalid, sets errp. + + For s390x an RA offset value of SFRAME_FRE_RA_OFFSET_INVALID indicates + that the RA is not saved, which is only valid in the topmost frame. + For s390x the offset may be an encoded register number, indicated by + LSB set to one, which is only valid in the topmost frame. */ int32_t sframe_fre_get_ra_offset (sframe_decoder_ctx *dctx, diff --git a/libsframe/testsuite/libsframe.find/find.exp b/libsframe/testsuite/libsframe.find/find.exp index d1be070..62471a3 100644 --- a/libsframe/testsuite/libsframe.find/find.exp +++ b/libsframe/testsuite/libsframe.find/find.exp @@ -26,6 +26,7 @@ if [string equal $COMPAT_DEJAGNU "no"] { unsupported findfre-1 unsupported findfunc-1 unsupported plt-findfre-1 + unsupported plt-findfre-2 return; } @@ -40,3 +41,7 @@ if { [host_execute "testsuite/libsframe.find/findfunc-1"] ne "" } { if { [host_execute "testsuite/libsframe.find/plt-findfre-1"] ne "" } { fail "plt-findfre-1" } + +if { [host_execute "testsuite/libsframe.find/plt-findfre-2"] ne "" } { + fail "plt-findfre-2" +} diff --git a/libsframe/testsuite/libsframe.find/local.mk b/libsframe/testsuite/libsframe.find/local.mk index 03206b1..52741e8 100644 --- a/libsframe/testsuite/libsframe.find/local.mk +++ b/libsframe/testsuite/libsframe.find/local.mk @@ -1,5 +1,6 @@ if HAVE_COMPAT_DEJAGNU check_PROGRAMS += %D%/findfre-1 %D%/findfunc-1 %D%/plt-findfre-1 + check_PROGRAMS += %D%/plt-findfre-2 endif %C%_findfre_1_SOURCES = %D%/findfre-1.c @@ -13,3 +14,7 @@ endif %C%_plt_findfre_1_SOURCES = %D%/plt-findfre-1.c %C%_plt_findfre_1_LDADD = ${top_builddir}/libsframe.la %C%_plt_findfre_1_CPPFLAGS = -I${top_srcdir}/../include -Wall + +%C%_plt_findfre_2_SOURCES = %D%/plt-findfre-2.c +%C%_plt_findfre_2_LDADD = ${top_builddir}/libsframe.la +%C%_plt_findfre_2_CPPFLAGS = -I${top_srcdir}/../include -Wall diff --git a/libsframe/testsuite/libsframe.find/plt-findfre-2.c b/libsframe/testsuite/libsframe.find/plt-findfre-2.c new file mode 100644 index 0000000..00a5b2a --- /dev/null +++ b/libsframe/testsuite/libsframe.find/plt-findfre-2.c @@ -0,0 +1,201 @@ +/* plt-findfre-2.c -- Test for sframe_find_fre for SFrame FDE of type + PCMASK with with one SFrame FRE only. + + Copyright (C) 2025 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +#include "config.h" + +#include <stdlib.h> +#include <string.h> +#include <sys/stat.h> + +#include "sframe-api.h" + +/* DejaGnu should not use gnulib's vsnprintf replacement here. */ +#undef vsnprintf +#include <dejagnu.h> + +/* s390x-specific size in bytes of plt0 and pltN. */ +#define PLT_SIZE 32 + +/* Magic values added to CFA offsets to make them distingishable. Must + be multiple of 8 due to s390x-specific CFA alignment factor. */ +#define PLT0_CFA_OFFSET_MAGIC 0 +#define PLTN_CFA_OFFSET_MAGIC 8 + +static int +add_plt0_fde (sframe_encoder_ctx *ectx, uint32_t plt_vaddr, + uint32_t sframe_vaddr, int idx) +{ + /* 1 single FRE. */ + sframe_frame_row_entry fre + = { 0x0, + { SFRAME_V2_S390X_CFA_OFFSET_ENCODE (160 + PLT0_CFA_OFFSET_MAGIC) }, + SFRAME_V1_FRE_INFO (SFRAME_BASE_REG_SP, 1, SFRAME_FRE_OFFSET_1B) }; + + unsigned char finfo = sframe_fde_create_func_info (SFRAME_FRE_TYPE_ADDR1, + SFRAME_FDE_TYPE_PCINC); + uint32_t offsetof_fde_in_sec + = sframe_encoder_get_offsetof_fde_start_addr (ectx, idx, NULL); + + int32_t func_start_addr = (plt_vaddr + - (sframe_vaddr + offsetof_fde_in_sec)); + + /* 1 PCINC-type FDE for 1 plt0 entry of 32 bytes. */ + int err = sframe_encoder_add_funcdesc_v2 (ectx, func_start_addr, + PLT_SIZE /* func size. */, + finfo, + 0 /* rep block size. */, + 1 /* num FREs. */); + if (err == -1) + return err; + + if (sframe_encoder_add_fre (ectx, idx, &fre) == SFRAME_ERR) + return -1; + + return 0; +} + +static int +add_pltn_fde (sframe_encoder_ctx *ectx, uint32_t plt_vaddr, + uint32_t sframe_vaddr, int idx) +{ + /* 1 single FRE. */ + sframe_frame_row_entry fre + = { 0x0, + { SFRAME_V2_S390X_CFA_OFFSET_ENCODE (160 + PLTN_CFA_OFFSET_MAGIC) }, + SFRAME_V1_FRE_INFO (SFRAME_BASE_REG_SP, 1, SFRAME_FRE_OFFSET_1B) }; + + unsigned char finfo = sframe_fde_create_func_info (SFRAME_FRE_TYPE_ADDR1, + SFRAME_FDE_TYPE_PCMASK); + uint32_t offsetof_fde_in_sec + = sframe_encoder_get_offsetof_fde_start_addr (ectx, idx, NULL); + + int32_t func_start_addr = (plt_vaddr + - (sframe_vaddr + offsetof_fde_in_sec)); + + /* 1 PCMASK-type FDE for 5 pltN entries of 32 bytes each. */ + int err = sframe_encoder_add_funcdesc_v2 (ectx, func_start_addr, + 5 * PLT_SIZE /* func size. */, + finfo, + PLT_SIZE /* rep block size. */, + 1 /* num FREs. */); + if (err == -1) + return err; + + if (sframe_encoder_add_fre (ectx, idx, &fre) == SFRAME_ERR) + return -1; + + return 0; +} + +static +void test_plt_findfre (const char suffix, const uint32_t plt_vaddr, + const uint32_t sframe_vaddr) +{ + sframe_encoder_ctx *ectx; + sframe_decoder_ctx *dctx; + sframe_frame_row_entry frep; + char *sframe_buf; + size_t sf_size; + int err = 0; + unsigned int fde_cnt = 0; + int i; + +#define TEST(cond, ...) \ + do \ + { \ + if (cond) \ + pass (__VA_ARGS__); \ + else \ + fail (__VA_ARGS__); \ + } \ + while (0) + + ectx = sframe_encode (SFRAME_VERSION, SFRAME_F_FDE_FUNC_START_PCREL, + SFRAME_ABI_S390X_ENDIAN_BIG, + SFRAME_CFA_FIXED_FP_INVALID, + SFRAME_CFA_FIXED_RA_INVALID, + &err); + TEST (ectx != NULL && err == 0, "plt-findfre-2%c: Creating SFrame encoder", suffix); + + err = add_plt0_fde (ectx, plt_vaddr, sframe_vaddr, 0); + TEST (err == 0, "plt-findfre-2%c: Adding FDE for plt0", suffix); + + fde_cnt = sframe_encoder_get_num_fidx (ectx); + TEST (fde_cnt == 1, "plt-findfre-2%c: Test FDE count after adding FDE for plt0", suffix); + + err = add_pltn_fde (ectx, plt_vaddr + PLT_SIZE, sframe_vaddr, 1); + TEST (err == 0, "plt-findfre-2%c: Adding FDE for pltN", suffix); + + fde_cnt = sframe_encoder_get_num_fidx (ectx); + TEST (fde_cnt == 2, "plt-findfre-2%c: Test FDE count after adding FDE for pltN", suffix); + + sframe_buf = sframe_encoder_write (ectx, &sf_size, &err); + TEST (err == 0, "plt-findfre-2%c: Encoder write", suffix); + + dctx = sframe_decode (sframe_buf, sf_size, &err); + TEST (dctx != NULL, "plt-findfre-2%c: Decoder setup", suffix); + + /* Find the only FRE in PLT0 at offset 0. */ + err = sframe_find_fre (dctx, (plt_vaddr + 0 - sframe_vaddr), &frep); + TEST (err == 0 && sframe_fre_get_cfa_offset (dctx, &frep, &err) == 160 + PLT0_CFA_OFFSET_MAGIC, + "plt-findfre-2%c: Find only FRE in PLT0 at offset 0", suffix); + + /* Find the only FRE in PLT0 at offset PLT_SIZE-1. */ + err = sframe_find_fre (dctx, (plt_vaddr + (PLT_SIZE-1) - sframe_vaddr), &frep); + TEST (err == 0 && sframe_fre_get_cfa_offset (dctx, &frep, &err) == 160 + PLT0_CFA_OFFSET_MAGIC, + "plt-findfre-2%c: Find only FRE in PLT0 at offset PLT_SIZE-1", suffix); + + /* Find the only FRE in PLT1-5 at offset 0 and PLT_SIZE-1. */ + for (i = 1; i < 5; i++) + { + /* Find the only FRE in PLTN at offset 0. */ + err = sframe_find_fre (dctx, (plt_vaddr + i * PLT_SIZE + 0 - sframe_vaddr), &frep); + TEST (err == 0 && sframe_fre_get_cfa_offset (dctx, &frep, &err) == 160 + PLTN_CFA_OFFSET_MAGIC, + "plt-findfre-2%c: Find only FRE in PLT%d at offset 0", suffix, i); + + /* Find the only FRE in PLTN at offset 31. */ + err = sframe_find_fre (dctx, (plt_vaddr + i * PLT_SIZE + (PLT_SIZE-1) - sframe_vaddr), &frep); + TEST (err == 0 && sframe_fre_get_cfa_offset (dctx, &frep, &err) == 160 + PLTN_CFA_OFFSET_MAGIC, + "plt-findfre-2%c: Find only FRE in PLT%d at offset PLT_SIZE-1", suffix, i); + } + + /* Find no FRE in non-existing PLT6 at offset 0. */ + err = sframe_find_fre (dctx, (plt_vaddr + 6 * PLT_SIZE + 0 - sframe_vaddr), &frep); + TEST (err != 0, "plt-findfre-2%c: Find no FRE in out of range PLT6 at offset 0", suffix); + + sframe_encoder_free (&ectx); + sframe_decoder_free (&dctx); +} + +int +main (void) +{ + uint32_t sframe_vaddr = 0x402220; + uint32_t plt_vaddr = 0x401020; + printf ("plt-findfre-2a: Testing with plt_vaddr = %#x; sframe_vaddr = %#x\n", + plt_vaddr, sframe_vaddr); + test_plt_findfre ('a', plt_vaddr, sframe_vaddr); + + sframe_vaddr = 0x401020; + plt_vaddr = 0x402220; + printf ("plt-findfre-2b: Testing with plt_vaddr = %#x; sframe_vaddr = %#x\n", + plt_vaddr, sframe_vaddr); + test_plt_findfre ('b', plt_vaddr, sframe_vaddr); + + return 0; +} diff --git a/opcodes/aarch64-asm-2.c b/opcodes/aarch64-asm-2.c index 9630c04..30ec1e4 100644 --- a/opcodes/aarch64-asm-2.c +++ b/opcodes/aarch64-asm-2.c @@ -482,252 +482,277 @@ aarch64_find_real_opcode (const aarch64_opcode *opcode) case 1188: /* lduminl */ value = 1188; /* --> lduminl. */ break; - case 1269: /* mov */ - case 1268: /* movn */ - value = 1268; /* --> movn. */ - break; - case 1271: /* mov */ - case 1270: /* movz */ - value = 1270; /* --> movz. */ - break; - case 3316: /* clrbhb */ - case 1351: /* autibsp */ - case 1350: /* autibz */ - case 1349: /* autiasp */ - case 1348: /* autiaz */ - case 1347: /* pacibsp */ - case 1346: /* pacibz */ - case 1345: /* paciasp */ - case 1344: /* paciaz */ - case 1323: /* gcsb */ - case 1303: /* clearbhb */ - case 1302: /* tsb */ - case 1301: /* psb */ - case 1300: /* esb */ - case 1299: /* autib1716 */ - case 1298: /* autia1716 */ - case 1297: /* pacib1716 */ - case 1296: /* pacia1716 */ - case 1295: /* xpaclri */ - case 1294: /* dgh */ - case 1293: /* sevl */ - case 1292: /* sev */ - case 1291: /* wfi */ - case 1290: /* wfe */ - case 1289: /* yield */ - case 1288: /* bti */ - case 1287: /* csdb */ - case 1286: /* nop */ - case 1285: /* hint */ - value = 1285; /* --> hint. */ - break; - case 1309: /* pssbb */ - case 1308: /* ssbb */ - case 1307: /* dfb */ - case 1305: /* dsb */ - value = 1305; /* --> dsb. */ - break; - case 1306: /* dsb */ - value = 1306; /* --> dsb. */ - break; - case 3317: /* trcit */ - case 1337: /* brb */ - case 1336: /* cosp */ - case 1335: /* cpp */ - case 1334: /* dvp */ - case 1333: /* cfp */ - case 1329: /* tlbi */ - case 1328: /* ic */ - case 1327: /* dc */ - case 1326: /* at */ - case 1324: /* sys */ - value = 1324; /* --> sys. */ - break; - case 1330: /* tlbip */ - case 1325: /* sysp */ - value = 1325; /* --> sysp. */ - break; - case 1331: /* wfet */ - value = 1331; /* --> wfet. */ - break; - case 1332: /* wfit */ - value = 1332; /* --> wfit. */ - break; - case 2137: /* bic */ - case 1400: /* and */ - value = 1400; /* --> and. */ - break; - case 1383: /* mov */ - case 1402: /* and */ - value = 1402; /* --> and. */ - break; - case 1387: /* movs */ - case 1403: /* ands */ - value = 1403; /* --> ands. */ - break; - case 2138: /* cmple */ - case 1438: /* cmpge */ - value = 1438; /* --> cmpge. */ - break; - case 2141: /* cmplt */ - case 1441: /* cmpgt */ - value = 1441; /* --> cmpgt. */ - break; - case 2139: /* cmplo */ - case 1443: /* cmphi */ - value = 1443; /* --> cmphi. */ - break; - case 2140: /* cmpls */ - case 1446: /* cmphs */ - value = 1446; /* --> cmphs. */ - break; - case 1380: /* mov */ - case 1468: /* cpy */ - value = 1468; /* --> cpy. */ - break; - case 1382: /* mov */ - case 1469: /* cpy */ - value = 1469; /* --> cpy. */ - break; - case 2148: /* fmov */ - case 1385: /* mov */ - case 1470: /* cpy */ - value = 1470; /* --> cpy. */ - break; - case 1374: /* mov */ - case 1482: /* dup */ - value = 1482; /* --> dup. */ - break; - case 1377: /* mov */ - case 1373: /* mov */ - case 1483: /* dup */ - value = 1483; /* --> dup. */ - break; - case 2147: /* fmov */ - case 1379: /* mov */ - case 1484: /* dup */ - value = 1484; /* --> dup. */ - break; - case 1378: /* mov */ - case 1485: /* dupm */ - value = 1485; /* --> dupm. */ - break; - case 2142: /* eon */ - case 1487: /* eor */ - value = 1487; /* --> eor. */ - break; - case 1388: /* not */ - case 1489: /* eor */ - value = 1489; /* --> eor. */ - break; - case 1389: /* nots */ - case 1490: /* eors */ - value = 1490; /* --> eors. */ - break; - case 2143: /* facle */ - case 1495: /* facge */ - value = 1495; /* --> facge. */ - break; - case 2144: /* faclt */ - case 1496: /* facgt */ - value = 1496; /* --> facgt. */ - break; - case 2145: /* fcmle */ - case 1509: /* fcmge */ - value = 1509; /* --> fcmge. */ - break; - case 2146: /* fcmlt */ - case 1511: /* fcmgt */ - value = 1511; /* --> fcmgt. */ + case 1267: /* sttadd */ + case 1266: /* ldtadd */ + value = 1266; /* --> ldtadd. */ + break; + case 1271: /* sttaddl */ + case 1270: /* ldtaddl */ + value = 1270; /* --> ldtaddl. */ + break; + case 1273: /* sttclr */ + case 1272: /* ldtclr */ + value = 1272; /* --> ldtclr. */ + break; + case 1277: /* sttclrl */ + case 1276: /* ldtclrl */ + value = 1276; /* --> ldtclrl. */ + break; + case 1279: /* sttset */ + case 1278: /* ldtset */ + value = 1278; /* --> ldtset. */ + break; + case 1283: /* sttsetl */ + case 1282: /* ldtsetl */ + value = 1282; /* --> ldtsetl. */ + break; + case 1315: /* mov */ + case 1314: /* movn */ + value = 1314; /* --> movn. */ + break; + case 1317: /* mov */ + case 1316: /* movz */ + value = 1316; /* --> movz. */ + break; + case 3373: /* clrbhb */ + case 1398: /* autibsp */ + case 1397: /* autibz */ + case 1396: /* autiasp */ + case 1395: /* autiaz */ + case 1394: /* pacibsp */ + case 1393: /* pacibz */ + case 1392: /* paciasp */ + case 1391: /* paciaz */ + case 1370: /* gcsb */ + case 1350: /* clearbhb */ + case 1349: /* tsb */ + case 1348: /* psb */ + case 1347: /* esb */ + case 1346: /* autib1716 */ + case 1345: /* autia1716 */ + case 1344: /* pacib1716 */ + case 1343: /* pacia1716 */ + case 1342: /* xpaclri */ + case 1341: /* dgh */ + case 1340: /* sevl */ + case 1339: /* sev */ + case 1338: /* wfi */ + case 1337: /* wfe */ + case 1336: /* yield */ + case 1335: /* bti */ + case 1334: /* csdb */ + case 1333: /* nop */ + case 1330: /* stshh */ + case 1332: /* hint */ + value = 1332; /* --> hint. */ + break; + case 1356: /* pssbb */ + case 1355: /* ssbb */ + case 1354: /* dfb */ + case 1352: /* dsb */ + value = 1352; /* --> dsb. */ + break; + case 1353: /* dsb */ + value = 1353; /* --> dsb. */ + break; + case 3374: /* trcit */ + case 1384: /* brb */ + case 1383: /* cosp */ + case 1382: /* cpp */ + case 1381: /* dvp */ + case 1380: /* cfp */ + case 1376: /* tlbi */ + case 1375: /* ic */ + case 1374: /* dc */ + case 1373: /* at */ + case 1371: /* sys */ + value = 1371; /* --> sys. */ + break; + case 1377: /* tlbip */ + case 1372: /* sysp */ + value = 1372; /* --> sysp. */ + break; + case 1378: /* wfet */ + value = 1378; /* --> wfet. */ + break; + case 1379: /* wfit */ + value = 1379; /* --> wfit. */ + break; + case 2184: /* bic */ + case 1447: /* and */ + value = 1447; /* --> and. */ + break; + case 1430: /* mov */ + case 1449: /* and */ + value = 1449; /* --> and. */ + break; + case 1434: /* movs */ + case 1450: /* ands */ + value = 1450; /* --> ands. */ + break; + case 2185: /* cmple */ + case 1485: /* cmpge */ + value = 1485; /* --> cmpge. */ + break; + case 2188: /* cmplt */ + case 1488: /* cmpgt */ + value = 1488; /* --> cmpgt. */ + break; + case 2186: /* cmplo */ + case 1490: /* cmphi */ + value = 1490; /* --> cmphi. */ + break; + case 2187: /* cmpls */ + case 1493: /* cmphs */ + value = 1493; /* --> cmphs. */ + break; + case 1427: /* mov */ + case 1515: /* cpy */ + value = 1515; /* --> cpy. */ + break; + case 1429: /* mov */ + case 1516: /* cpy */ + value = 1516; /* --> cpy. */ + break; + case 2195: /* fmov */ + case 1432: /* mov */ + case 1517: /* cpy */ + value = 1517; /* --> cpy. */ + break; + case 1421: /* mov */ + case 1529: /* dup */ + value = 1529; /* --> dup. */ + break; + case 1424: /* mov */ + case 1420: /* mov */ + case 1530: /* dup */ + value = 1530; /* --> dup. */ + break; + case 2194: /* fmov */ + case 1426: /* mov */ + case 1531: /* dup */ + value = 1531; /* --> dup. */ + break; + case 1425: /* mov */ + case 1532: /* dupm */ + value = 1532; /* --> dupm. */ + break; + case 2189: /* eon */ + case 1534: /* eor */ + value = 1534; /* --> eor. */ + break; + case 1435: /* not */ + case 1536: /* eor */ + value = 1536; /* --> eor. */ + break; + case 1436: /* nots */ + case 1537: /* eors */ + value = 1537; /* --> eors. */ + break; + case 2190: /* facle */ + case 1542: /* facge */ + value = 1542; /* --> facge. */ + break; + case 2191: /* faclt */ + case 1543: /* facgt */ + value = 1543; /* --> facgt. */ + break; + case 2192: /* fcmle */ + case 1556: /* fcmge */ + value = 1556; /* --> fcmge. */ + break; + case 2193: /* fcmlt */ + case 1558: /* fcmgt */ + value = 1558; /* --> fcmgt. */ break; - case 1371: /* fmov */ - case 1517: /* fcpy */ - value = 1517; /* --> fcpy. */ + case 1418: /* fmov */ + case 1564: /* fcpy */ + value = 1564; /* --> fcpy. */ break; - case 1370: /* fmov */ - case 1540: /* fdup */ - value = 1540; /* --> fdup. */ + case 1417: /* fmov */ + case 1587: /* fdup */ + value = 1587; /* --> fdup. */ break; - case 1826: /* ldr */ - case 1825: /* ldr */ - value = 1825; /* --> ldr. */ + case 1873: /* ldr */ + case 1872: /* ldr */ + value = 1872; /* --> ldr. */ break; - case 1372: /* mov */ - case 1856: /* orr */ - value = 1856; /* --> orr. */ + case 1419: /* mov */ + case 1903: /* orr */ + value = 1903; /* --> orr. */ break; - case 2149: /* orn */ - case 1857: /* orr */ - value = 1857; /* --> orr. */ + case 2196: /* orn */ + case 1904: /* orr */ + value = 1904; /* --> orr. */ break; - case 1376: /* mov */ - case 1375: /* mov */ - case 1859: /* orr */ - value = 1859; /* --> orr. */ + case 1423: /* mov */ + case 1422: /* mov */ + case 1906: /* orr */ + value = 1906; /* --> orr. */ break; - case 1386: /* movs */ - case 1860: /* orrs */ - value = 1860; /* --> orrs. */ + case 1433: /* movs */ + case 1907: /* orrs */ + value = 1907; /* --> orrs. */ break; - case 1863: /* pfalse */ - case 1862: /* pfalse */ - value = 1862; /* --> pfalse. */ + case 1910: /* pfalse */ + case 1909: /* pfalse */ + value = 1909; /* --> pfalse. */ break; - case 1381: /* mov */ - case 1923: /* sel */ - value = 1923; /* --> sel. */ + case 1428: /* mov */ + case 1970: /* sel */ + value = 1970; /* --> sel. */ break; - case 1384: /* mov */ - case 1924: /* sel */ - value = 1924; /* --> sel. */ + case 1431: /* mov */ + case 1971: /* sel */ + value = 1971; /* --> sel. */ break; - case 2045: /* str */ - case 2044: /* str */ - value = 2044; /* --> str. */ + case 2092: /* str */ + case 2091: /* str */ + value = 2091; /* --> str. */ break; - case 2472: /* mov */ - case 2474: /* mova */ - value = 2474; /* --> mova. */ + case 2529: /* mov */ + case 2531: /* mova */ + value = 2531; /* --> mova. */ break; - case 2473: /* mov */ - case 2475: /* mova */ - value = 2475; /* --> mova. */ + case 2530: /* mov */ + case 2532: /* mova */ + value = 2532; /* --> mova. */ break; - case 2493: /* psel */ - case 2492: /* psel */ - value = 2492; /* --> psel. */ + case 2550: /* psel */ + case 2549: /* psel */ + value = 2549; /* --> psel. */ break; - case 2698: /* mov */ - case 2706: /* mova */ - value = 2706; /* --> mova. */ + case 2755: /* mov */ + case 2763: /* mova */ + value = 2763; /* --> mova. */ break; - case 2699: /* mov */ - case 2707: /* mova */ - value = 2707; /* --> mova. */ + case 2756: /* mov */ + case 2764: /* mova */ + value = 2764; /* --> mova. */ break; - case 2700: /* mov */ - case 2708: /* mova */ - value = 2708; /* --> mova. */ + case 2757: /* mov */ + case 2765: /* mova */ + value = 2765; /* --> mova. */ break; - case 2701: /* mov */ - case 2709: /* mova */ - value = 2709; /* --> mova. */ + case 2758: /* mov */ + case 2766: /* mova */ + value = 2766; /* --> mova. */ break; - case 2702: /* mov */ - case 2710: /* mova */ - value = 2710; /* --> mova. */ + case 2759: /* mov */ + case 2767: /* mova */ + value = 2767; /* --> mova. */ break; - case 2703: /* mov */ - case 2711: /* mova */ - value = 2711; /* --> mova. */ + case 2760: /* mov */ + case 2768: /* mova */ + value = 2768; /* --> mova. */ break; - case 2704: /* mov */ - case 2712: /* mova */ - value = 2712; /* --> mova. */ + case 2761: /* mov */ + case 2769: /* mova */ + value = 2769; /* --> mova. */ break; - case 2705: /* mov */ - case 2713: /* mova */ - value = 2713; /* --> mova. */ + case 2762: /* mov */ + case 2770: /* mova */ + value = 2770; /* --> mova. */ break; default: return NULL; } @@ -772,10 +797,9 @@ aarch64_insert_operand (const aarch64_operand *self, case 32: case 33: case 34: - case 126: case 127: case 128: - case 191: + case 129: case 192: case 193: case 194: @@ -789,34 +813,35 @@ aarch64_insert_operand (const aarch64_operand *self, case 202: case 203: case 204: - case 220: + case 205: case 221: case 222: case 223: - case 233: + case 224: case 234: case 235: case 236: case 237: - case 248: - case 252: - case 256: + case 238: + case 249: + case 253: case 257: - case 265: + case 258: case 266: case 267: - case 274: + case 268: case 275: case 276: case 277: - case 311: - case 315: + case 278: + case 313: + case 317: return aarch64_ins_regno (self, info, code, inst, errors); case 6: case 122: case 123: - case 321: - case 324: + case 323: + case 326: return aarch64_ins_none (self, info, code, inst, errors); case 17: return aarch64_ins_reg_extended (self, info, code, inst, errors); @@ -831,17 +856,16 @@ aarch64_insert_operand (const aarch64_operand *self, case 37: case 38: case 39: - case 326: + case 328: return aarch64_ins_reglane (self, info, code, inst, errors); case 40: case 41: case 42: - case 238: case 239: - case 242: - case 278: + case 240: + case 243: case 279: - case 294: + case 280: case 295: case 296: case 297: @@ -858,12 +882,14 @@ aarch64_insert_operand (const aarch64_operand *self, case 308: case 309: case 310: + case 311: case 312: - case 313: case 314: + case 315: case 316: - case 317: case 318: + case 319: + case 320: return aarch64_ins_simple_index (self, info, code, inst, errors); case 43: return aarch64_ins_reglist (self, info, code, inst, errors); @@ -904,10 +930,9 @@ aarch64_insert_operand (const aarch64_operand *self, case 94: case 95: case 121: - case 125: - case 188: - case 190: - case 211: + case 126: + case 189: + case 191: case 212: case 213: case 214: @@ -916,14 +941,15 @@ aarch64_insert_operand (const aarch64_operand *self, case 217: case 218: case 219: - case 280: - case 319: - case 320: + case 220: + case 281: + case 321: case 322: - case 323: + case 324: case 325: - case 330: - case 331: + case 327: + case 332: + case 333: return aarch64_ins_imm (self, info, code, inst, errors); case 52: case 53: @@ -933,10 +959,10 @@ aarch64_insert_operand (const aarch64_operand *self, case 56: return aarch64_ins_advsimd_imm_modified (self, info, code, inst, errors); case 60: - case 178: + case 179: return aarch64_ins_fpimm (self, info, code, inst, errors); case 80: - case 186: + case 187: return aarch64_ins_limm (self, info, code, inst, errors); case 81: return aarch64_ins_aimm (self, info, code, inst, errors); @@ -946,11 +972,11 @@ aarch64_insert_operand (const aarch64_operand *self, return aarch64_ins_fbits (self, info, code, inst, errors); case 85: case 86: - case 183: + case 184: return aarch64_ins_imm_rotate2 (self, info, code, inst, errors); case 87: - case 182: - case 184: + case 183: + case 185: return aarch64_ins_imm_rotate1 (self, info, code, inst, errors); case 88: case 89: @@ -994,25 +1020,25 @@ aarch64_insert_operand (const aarch64_operand *self, case 120: return aarch64_ins_prfop (self, info, code, inst, errors); case 124: + case 125: return aarch64_ins_hint (self, info, code, inst, errors); - case 129: case 130: - return aarch64_ins_sve_addr_ri_s4 (self, info, code, inst, errors); case 131: + return aarch64_ins_sve_addr_ri_s4 (self, info, code, inst, errors); case 132: case 133: case 134: - return aarch64_ins_sve_addr_ri_s4xvl (self, info, code, inst, errors); case 135: - return aarch64_ins_sve_addr_ri_s6xvl (self, info, code, inst, errors); + return aarch64_ins_sve_addr_ri_s4xvl (self, info, code, inst, errors); case 136: - return aarch64_ins_sve_addr_ri_s9xvl (self, info, code, inst, errors); + return aarch64_ins_sve_addr_ri_s6xvl (self, info, code, inst, errors); case 137: + return aarch64_ins_sve_addr_ri_s9xvl (self, info, code, inst, errors); case 138: case 139: case 140: - return aarch64_ins_sve_addr_ri_u6 (self, info, code, inst, errors); case 141: + return aarch64_ins_sve_addr_ri_u6 (self, info, code, inst, errors); case 142: case 143: case 144: @@ -1032,8 +1058,8 @@ aarch64_insert_operand (const aarch64_operand *self, case 158: case 159: case 160: - return aarch64_ins_sve_addr_rr_lsl (self, info, code, inst, errors); case 161: + return aarch64_ins_sve_addr_rr_lsl (self, info, code, inst, errors); case 162: case 163: case 164: @@ -1041,115 +1067,116 @@ aarch64_insert_operand (const aarch64_operand *self, case 166: case 167: case 168: - return aarch64_ins_sve_addr_rz_xtw (self, info, code, inst, errors); case 169: + return aarch64_ins_sve_addr_rz_xtw (self, info, code, inst, errors); case 170: case 171: case 172: - return aarch64_ins_sve_addr_zi_u5 (self, info, code, inst, errors); case 173: - return aarch64_ins_sve_addr_zz_lsl (self, info, code, inst, errors); + return aarch64_ins_sve_addr_zi_u5 (self, info, code, inst, errors); case 174: - return aarch64_ins_sve_addr_zz_sxtw (self, info, code, inst, errors); + return aarch64_ins_sve_addr_zz_lsl (self, info, code, inst, errors); case 175: - return aarch64_ins_sve_addr_zz_uxtw (self, info, code, inst, errors); + return aarch64_ins_sve_addr_zz_sxtw (self, info, code, inst, errors); case 176: - return aarch64_ins_sve_aimm (self, info, code, inst, errors); + return aarch64_ins_sve_addr_zz_uxtw (self, info, code, inst, errors); case 177: + return aarch64_ins_sve_aimm (self, info, code, inst, errors); + case 178: return aarch64_ins_sve_asimm (self, info, code, inst, errors); - case 179: - return aarch64_ins_sve_float_half_one (self, info, code, inst, errors); case 180: - return aarch64_ins_sve_float_half_two (self, info, code, inst, errors); + return aarch64_ins_sve_float_half_one (self, info, code, inst, errors); case 181: + return aarch64_ins_sve_float_half_two (self, info, code, inst, errors); + case 182: return aarch64_ins_sve_float_zero_one (self, info, code, inst, errors); - case 185: + case 186: return aarch64_ins_inv_limm (self, info, code, inst, errors); - case 187: + case 188: return aarch64_ins_sve_limm_mov (self, info, code, inst, errors); - case 189: + case 190: return aarch64_ins_sve_scale (self, info, code, inst, errors); - case 205: case 206: case 207: - return aarch64_ins_sve_shlimm (self, info, code, inst, errors); case 208: + return aarch64_ins_sve_shlimm (self, info, code, inst, errors); case 209: case 210: - case 293: + case 211: + case 294: return aarch64_ins_sve_shrimm (self, info, code, inst, errors); - case 224: case 225: case 226: case 227: - return aarch64_ins_sme_za_vrs1 (self, info, code, inst, errors); case 228: + return aarch64_ins_sme_za_vrs1 (self, info, code, inst, errors); case 229: case 230: case 231: - return aarch64_ins_sme_za_vrs2 (self, info, code, inst, errors); case 232: + return aarch64_ins_sme_za_vrs2 (self, info, code, inst, errors); + case 233: return aarch64_ins_sme_za_tile_to_vec (self, info, code, inst, errors); - case 240: case 241: - case 243: + case 242: case 244: case 245: case 246: case 247: + case 248: return aarch64_ins_sve_quad_index (self, info, code, inst, errors); - case 249: case 250: - return aarch64_ins_sve_index (self, info, code, inst, errors); case 251: - case 253: - case 273: - return aarch64_ins_sve_reglist (self, info, code, inst, errors); + return aarch64_ins_sve_index (self, info, code, inst, errors); + case 252: case 254: + case 274: + return aarch64_ins_sve_reglist (self, info, code, inst, errors); case 255: - case 258: + case 256: case 259: case 260: case 261: case 262: - case 272: - return aarch64_ins_sve_aligned_reglist (self, info, code, inst, errors); case 263: + case 273: + return aarch64_ins_sve_aligned_reglist (self, info, code, inst, errors); case 264: + case 265: return aarch64_ins_sve_strided_reglist (self, info, code, inst, errors); - case 268: - case 270: - case 281: - return aarch64_ins_sme_za_hv_tiles (self, info, code, inst, errors); case 269: case 271: - return aarch64_ins_sme_za_hv_tiles_range (self, info, code, inst, errors); case 282: + return aarch64_ins_sme_za_hv_tiles (self, info, code, inst, errors); + case 270: + case 272: + return aarch64_ins_sme_za_hv_tiles_range (self, info, code, inst, errors); case 283: case 284: case 285: case 286: case 287: case 288: - return aarch64_ins_sme_za_array (self, info, code, inst, errors); case 289: - return aarch64_ins_sme_addr_ri_u4xvl (self, info, code, inst, errors); + return aarch64_ins_sme_za_array (self, info, code, inst, errors); case 290: - return aarch64_ins_sme_sm_za (self, info, code, inst, errors); + return aarch64_ins_sme_addr_ri_u4xvl (self, info, code, inst, errors); case 291: - return aarch64_ins_sme_pred_reg_with_index (self, info, code, inst, errors); + return aarch64_ins_sme_sm_za (self, info, code, inst, errors); case 292: + return aarch64_ins_sme_pred_reg_with_index (self, info, code, inst, errors); + case 293: return aarch64_ins_plain_shrimm (self, info, code, inst, errors); - case 327: - case 328: case 329: + case 330: + case 331: return aarch64_ins_x0_to_x30 (self, info, code, inst, errors); - case 332: - case 333: case 334: case 335: - return aarch64_ins_rcpc3_addr_opt_offset (self, info, code, inst, errors); case 336: + case 337: + return aarch64_ins_rcpc3_addr_opt_offset (self, info, code, inst, errors); + case 338: return aarch64_ins_rcpc3_addr_offset (self, info, code, inst, errors); default: assert (0); abort (); } diff --git a/opcodes/aarch64-dis-2.c b/opcodes/aarch64-dis-2.c index 1460a92..f845625 100644 --- a/opcodes/aarch64-dis-2.c +++ b/opcodes/aarch64-dis-2.c @@ -62,7 +62,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0000000100xxxxxxxxxxxxxxxx00xxx fmopa. */ - return 2449; + return 2506; } else { @@ -70,7 +70,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0000000100xxxxxxxxxxxxxxxx10xxx fmops. */ - return 2452; + return 2509; } } else @@ -81,7 +81,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0000000100xxxxxxxxxxxxxxxx01xxx bmopa. */ - return 2553; + return 2610; } else { @@ -89,7 +89,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0000000100xxxxxxxxxxxxxxxx11xxx bmops. */ - return 2554; + return 2611; } } } @@ -102,7 +102,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0000000x10xxxxxxxxxxxxxxxx0xxxx fmopa. */ - return 2450; + return 2507; } else { @@ -110,7 +110,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0000000x10xxxxxxxxxxxxxxxx1xxxx fmops. */ - return 2453; + return 2510; } } } @@ -128,7 +128,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000xx00000xxxxxxxxxxxxxxxxx mova. */ - return 2475; + return 2532; } else { @@ -140,7 +140,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000x0010000xxxxxxxxxxxxxxxx addha. */ - return 2441; + return 2498; } else { @@ -148,7 +148,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000x1010000xxxxxxxxxxxxxxxx addha. */ - return 2442; + return 2499; } } else @@ -159,7 +159,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000x0010001xxxxxxxxxxxxxxxx addva. */ - return 2445; + return 2502; } else { @@ -167,7 +167,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000x1010001xxxxxxxxxxxxxxxx addva. */ - return 2446; + return 2503; } } } @@ -180,7 +180,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000x00x100xxxxxxxxxxxxxxxxx zero. */ - return 2476; + return 2533; } else { @@ -188,7 +188,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000x10x100xxxxxxxxxxxxxxxxx zero. */ - return 2983; + return 3040; } } } @@ -202,7 +202,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000xx0x001xxxxxxx0xxxxxxxxx mova. */ - return 2474; + return 2531; } else { @@ -216,7 +216,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000000x0010xxxxxx1xxxxxxxxx movaz. */ - return 3448; + return 3505; } else { @@ -224,7 +224,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000100x0010xxxxxx1xxxxxxxxx movaz. */ - return 3450; + return 3507; } } else @@ -235,7 +235,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000010x0010xxxxxx1xxxxxxxxx movaz. */ - return 3449; + return 3506; } else { @@ -243,7 +243,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000110x0010xxxxxx1xxxxxxxxx movaz. */ - return 3451; + return 3508; } } } @@ -253,7 +253,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000xx0x0011xxxxxx1xxxxxxxxx movaz. */ - return 3452; + return 3509; } } } @@ -271,7 +271,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000x000101x00xxxxxxxxxxxxxx luti4. */ - return 3588; + return 3645; } else { @@ -279,7 +279,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000x000101x10xxxxxxxxxxxxxx luti4. */ - return 2697; + return 2754; } } else @@ -288,7 +288,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000x000101xx1xxxxxxxxxxxxxx luti4. */ - return 2696; + return 2753; } } else @@ -297,7 +297,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000x100101xxxxxxxxxxxxxxxxx luti4. */ - return 2695; + return 2752; } } else @@ -310,7 +310,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000xx01101x00xxxxxxxxxxxxxx luti4. */ - return 3589; + return 3646; } else { @@ -318,7 +318,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000xx01101x10xxxxxxxxxxxxxx luti4. */ - return 3445; + return 3502; } } else @@ -327,7 +327,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000xx01101xx1xxxxxxxxxxxxxx luti4. */ - return 3444; + return 3501; } } } @@ -347,7 +347,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000xx0x010xxxxx00xxxxxxxxxx mova. */ - return 2712; + return 2769; } else { @@ -357,7 +357,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000xx0x011xxxxx000xxxxxxxxx mova. */ - return 2708; + return 2765; } else { @@ -369,7 +369,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000000x011xxxxx001xxxxxxxxx movaz. */ - return 3438; + return 3495; } else { @@ -377,7 +377,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000100x011xxxxx001xxxxxxxxx movaz. */ - return 3440; + return 3497; } } else @@ -388,7 +388,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000010x011xxxxx001xxxxxxxxx movaz. */ - return 3439; + return 3496; } else { @@ -396,7 +396,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000110x011xxxxx001xxxxxxxxx movaz. */ - return 3441; + return 3498; } } } @@ -420,7 +420,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000000011000xxx00xxxxxxxxxx zero. */ - return 3453; + return 3510; } else { @@ -428,7 +428,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000000011100xxx00xxxxxxxxxx zero. */ - return 3454; + return 3511; } } else @@ -439,7 +439,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000000011010xxx00xxxxxxxxxx zero. */ - return 3456; + return 3513; } else { @@ -447,7 +447,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000000011110xxx00xxxxxxxxxx zero. */ - return 3459; + return 3516; } } } @@ -461,7 +461,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000000011001xxx00xxxxxxxxxx zero. */ - return 3455; + return 3512; } else { @@ -469,7 +469,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000000011101xxx00xxxxxxxxxx zero. */ - return 3458; + return 3515; } } else @@ -480,7 +480,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000000011011xxx00xxxxxxxxxx zero. */ - return 3457; + return 3514; } else { @@ -488,7 +488,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000000011111xxx00xxxxxxxxxx zero. */ - return 3460; + return 3517; } } } @@ -501,7 +501,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000100011xxx0xx00xxxxxxxxxx luti2. */ - return 2694; + return 2751; } else { @@ -509,7 +509,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000100011xxx1xx00xxxxxxxxxx luti2. */ - return 2693; + return 2750; } } } @@ -525,7 +525,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x100000001001100xxxx00xxxxxxxxxx movt. */ - return 2715; + return 2772; } else { @@ -533,7 +533,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x100000001001110xxxx00xxxxxxxxxx movt. */ - return 2714; + return 2771; } } else @@ -542,7 +542,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000010011x1xxxx00xxxxxxxxxx movt. */ - return 3590; + return 3647; } } else @@ -551,7 +551,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000110011xxxxxx00xxxxxxxxxx luti2. */ - return 2692; + return 2749; } } } @@ -563,7 +563,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000xx0111xxx0xx00xxxxxxxxxx luti2. */ - return 3443; + return 3500; } else { @@ -571,7 +571,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000xx0111xxx1xx00xxxxxxxxxx luti2. */ - return 3442; + return 3499; } } } @@ -584,7 +584,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000xx0xx10xxxxx10xxxxxxxxxx mova. */ - return 2710; + return 2767; } else { @@ -594,7 +594,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000xx0xx11xxxxx100xxxxxxxxx mova. */ - return 2706; + return 2763; } else { @@ -602,7 +602,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000xx0xx11xxxxx101xxxxxxxxx movaz. */ - return 3446; + return 3503; } } } @@ -617,7 +617,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000xx0xx10xxxxx01xxxxxxxxxx mova. */ - return 2713; + return 2770; } else { @@ -627,7 +627,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000xx0xx11xxxxx010xxxxxxxxx mova. */ - return 2709; + return 2766; } else { @@ -639,7 +639,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000000xx11xxxxx011xxxxxxxxx movaz. */ - return 3434; + return 3491; } else { @@ -647,7 +647,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000100xx11xxxxx011xxxxxxxxx movaz. */ - return 3436; + return 3493; } } else @@ -658,7 +658,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000010xx11xxxxx011xxxxxxxxx movaz. */ - return 3435; + return 3492; } else { @@ -666,7 +666,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000110xx11xxxxx011xxxxxxxxx movaz. */ - return 3437; + return 3494; } } } @@ -680,7 +680,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000xx0xx10xxxxx11xxxxxxxxxx mova. */ - return 2711; + return 2768; } else { @@ -690,7 +690,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000xx0xx11xxxxx110xxxxxxxxx mova. */ - return 2707; + return 2764; } else { @@ -698,7 +698,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000000xx0xx11xxxxx111xxxxxxxxx movaz. */ - return 3447; + return 3504; } } } @@ -726,7 +726,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx000xxxxxxxxxxxx0 ld1b. */ - return 2631; + return 2688; } else { @@ -734,7 +734,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx100xxxxxxxxxxxx0 ld1b. */ - return 2632; + return 2689; } } else @@ -745,7 +745,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx010xxxxxxxxxxxx0 ld1w. */ - return 2655; + return 2712; } else { @@ -753,7 +753,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx110xxxxxxxxxxxx0 ld1w. */ - return 2656; + return 2713; } } } @@ -767,7 +767,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx001xxxxxxxxxxxx0 ld1h. */ - return 2647; + return 2704; } else { @@ -775,7 +775,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx101xxxxxxxxxxxx0 ld1h. */ - return 2648; + return 2705; } } else @@ -786,7 +786,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx011xxxxxxxxxxxx0 ld1d. */ - return 2639; + return 2696; } else { @@ -794,7 +794,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx111xxxxxxxxxxxx0 ld1d. */ - return 2640; + return 2697; } } } @@ -811,7 +811,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx000xxxxxxxxxxxx1 ldnt1b. */ - return 2663; + return 2720; } else { @@ -819,7 +819,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx100xxxxxxxxxxxx1 ldnt1b. */ - return 2664; + return 2721; } } else @@ -830,7 +830,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx010xxxxxxxxxxxx1 ldnt1w. */ - return 2687; + return 2744; } else { @@ -838,7 +838,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx110xxxxxxxxxxxx1 ldnt1w. */ - return 2688; + return 2745; } } } @@ -852,7 +852,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx001xxxxxxxxxxxx1 ldnt1h. */ - return 2679; + return 2736; } else { @@ -860,7 +860,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx101xxxxxxxxxxxx1 ldnt1h. */ - return 2680; + return 2737; } } else @@ -871,7 +871,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx011xxxxxxxxxxxx1 ldnt1d. */ - return 2671; + return 2728; } else { @@ -879,7 +879,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000000xxxxx111xxxxxxxxxxxx1 ldnt1d. */ - return 2672; + return 2729; } } } @@ -891,7 +891,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1100000000xxxxxxxxxxxxxxxxxxxxx ld1b. */ - return 2477; + return 2534; } } else @@ -906,7 +906,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000100xxxxxxxxxxxxxxxx00xxx smopa. */ - return 2456; + return 2513; } else { @@ -914,7 +914,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000100xxxxxxxxxxxxxxxx01xxx smopa. */ - return 2777; + return 2834; } } else @@ -923,7 +923,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1100000100xxxxxxxxxxxxxxxx0xxxx ld1w. */ - return 2479; + return 2536; } } else @@ -934,7 +934,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100000100xxxxxxxxxxxxxxxx10xxx smops. */ - return 2458; + return 2515; } else { @@ -942,7 +942,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100000100xxxxxxxxxxxxxxxx11xxx smops. */ - return 2778; + return 2835; } } } @@ -965,7 +965,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx000xxxxxxxxxxxx0 ld1b. */ - return 2627; + return 2684; } else { @@ -973,7 +973,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx100xxxxxxxxxxxx0 ld1b. */ - return 2628; + return 2685; } } else @@ -984,7 +984,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx010xxxxxxxxxxxx0 ld1w. */ - return 2651; + return 2708; } else { @@ -992,7 +992,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx110xxxxxxxxxxxx0 ld1w. */ - return 2652; + return 2709; } } } @@ -1006,7 +1006,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx001xxxxxxxxxxxx0 ld1h. */ - return 2643; + return 2700; } else { @@ -1014,7 +1014,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx101xxxxxxxxxxxx0 ld1h. */ - return 2644; + return 2701; } } else @@ -1025,7 +1025,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx011xxxxxxxxxxxx0 ld1d. */ - return 2635; + return 2692; } else { @@ -1033,7 +1033,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx111xxxxxxxxxxxx0 ld1d. */ - return 2636; + return 2693; } } } @@ -1050,7 +1050,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx000xxxxxxxxxxxx1 ldnt1b. */ - return 2659; + return 2716; } else { @@ -1058,7 +1058,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx100xxxxxxxxxxxx1 ldnt1b. */ - return 2660; + return 2717; } } else @@ -1069,7 +1069,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx010xxxxxxxxxxxx1 ldnt1w. */ - return 2683; + return 2740; } else { @@ -1077,7 +1077,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx110xxxxxxxxxxxx1 ldnt1w. */ - return 2684; + return 2741; } } } @@ -1091,7 +1091,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx001xxxxxxxxxxxx1 ldnt1h. */ - return 2675; + return 2732; } else { @@ -1099,7 +1099,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx101xxxxxxxxxxxx1 ldnt1h. */ - return 2676; + return 2733; } } else @@ -1110,7 +1110,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx011xxxxxxxxxxxx1 ldnt1d. */ - return 2667; + return 2724; } else { @@ -1118,7 +1118,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000010xxxxx111xxxxxxxxxxxx1 ldnt1d. */ - return 2668; + return 2725; } } } @@ -1130,7 +1130,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1100000010xxxxxxxxxxxxxxxxxxxxx ld1h. */ - return 2478; + return 2535; } } else @@ -1143,7 +1143,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000110xxxxxxxxxxxxxxxx0xxxx smopa. */ - return 2457; + return 2514; } else { @@ -1151,7 +1151,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1100000110xxxxxxxxxxxxxxxx0xxxx ld1d. */ - return 2480; + return 2537; } } else @@ -1160,7 +1160,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100000110xxxxxxxxxxxxxxxx1xxxx smops. */ - return 2459; + return 2516; } } } @@ -1186,7 +1186,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx000xxxxxxxxxxxx0 st1b. */ - return 2803; + return 2860; } else { @@ -1194,7 +1194,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx100xxxxxxxxxxxx0 st1b. */ - return 2804; + return 2861; } } else @@ -1205,7 +1205,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx010xxxxxxxxxxxx0 st1w. */ - return 2827; + return 2884; } else { @@ -1213,7 +1213,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx110xxxxxxxxxxxx0 st1w. */ - return 2828; + return 2885; } } } @@ -1227,7 +1227,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx001xxxxxxxxxxxx0 st1h. */ - return 2819; + return 2876; } else { @@ -1235,7 +1235,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx101xxxxxxxxxxxx0 st1h. */ - return 2820; + return 2877; } } else @@ -1246,7 +1246,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx011xxxxxxxxxxxx0 st1d. */ - return 2811; + return 2868; } else { @@ -1254,7 +1254,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx111xxxxxxxxxxxx0 st1d. */ - return 2812; + return 2869; } } } @@ -1271,7 +1271,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx000xxxxxxxxxxxx1 stnt1b. */ - return 2835; + return 2892; } else { @@ -1279,7 +1279,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx100xxxxxxxxxxxx1 stnt1b. */ - return 2836; + return 2893; } } else @@ -1290,7 +1290,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx010xxxxxxxxxxxx1 stnt1w. */ - return 2859; + return 2916; } else { @@ -1298,7 +1298,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx110xxxxxxxxxxxx1 stnt1w. */ - return 2860; + return 2917; } } } @@ -1312,7 +1312,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx001xxxxxxxxxxxx1 stnt1h. */ - return 2851; + return 2908; } else { @@ -1320,7 +1320,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx101xxxxxxxxxxxx1 stnt1h. */ - return 2852; + return 2909; } } else @@ -1331,7 +1331,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx011xxxxxxxxxxxx1 stnt1d. */ - return 2843; + return 2900; } else { @@ -1339,7 +1339,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000001xxxxx111xxxxxxxxxxxx1 stnt1d. */ - return 2844; + return 2901; } } } @@ -1351,7 +1351,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1x00000001xxxxxxxxxxxxxxxxxxxxx st1b. */ - return 2482; + return 2539; } } else @@ -1366,7 +1366,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx000000101xxxxxxxxxxxxxxxx00xxx fmopa. */ - return 3656; + return 3713; } else { @@ -1374,7 +1374,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx000000101xxxxxxxxxxxxxxxx01xxx fmopa. */ - return 3655; + return 3712; } } else @@ -1385,7 +1385,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100000101xxxxxxxxxxxxxxxx0xxxx sumopa. */ - return 2460; + return 2517; } else { @@ -1393,7 +1393,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1100000101xxxxxxxxxxxxxxxx0xxxx st1w. */ - return 2484; + return 2541; } } } @@ -1403,7 +1403,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx00000101xxxxxxxxxxxxxxxx1xxxx sumops. */ - return 2462; + return 2519; } } } @@ -1425,7 +1425,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx000xxxxxxxxxxxx0 st1b. */ - return 2799; + return 2856; } else { @@ -1433,7 +1433,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx100xxxxxxxxxxxx0 st1b. */ - return 2800; + return 2857; } } else @@ -1444,7 +1444,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx010xxxxxxxxxxxx0 st1w. */ - return 2823; + return 2880; } else { @@ -1452,7 +1452,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx110xxxxxxxxxxxx0 st1w. */ - return 2824; + return 2881; } } } @@ -1466,7 +1466,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx001xxxxxxxxxxxx0 st1h. */ - return 2815; + return 2872; } else { @@ -1474,7 +1474,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx101xxxxxxxxxxxx0 st1h. */ - return 2816; + return 2873; } } else @@ -1485,7 +1485,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx011xxxxxxxxxxxx0 st1d. */ - return 2807; + return 2864; } else { @@ -1493,7 +1493,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx111xxxxxxxxxxxx0 st1d. */ - return 2808; + return 2865; } } } @@ -1510,7 +1510,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx000xxxxxxxxxxxx1 stnt1b. */ - return 2831; + return 2888; } else { @@ -1518,7 +1518,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx100xxxxxxxxxxxx1 stnt1b. */ - return 2832; + return 2889; } } else @@ -1529,7 +1529,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx010xxxxxxxxxxxx1 stnt1w. */ - return 2855; + return 2912; } else { @@ -1537,7 +1537,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx110xxxxxxxxxxxx1 stnt1w. */ - return 2856; + return 2913; } } } @@ -1551,7 +1551,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx001xxxxxxxxxxxx1 stnt1h. */ - return 2847; + return 2904; } else { @@ -1559,7 +1559,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx101xxxxxxxxxxxx1 stnt1h. */ - return 2848; + return 2905; } } else @@ -1570,7 +1570,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx011xxxxxxxxxxxx1 stnt1d. */ - return 2839; + return 2896; } else { @@ -1578,7 +1578,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000011xxxxx111xxxxxxxxxxxx1 stnt1d. */ - return 2840; + return 2897; } } } @@ -1590,7 +1590,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1x00000011xxxxxxxxxxxxxxxxxxxxx st1h. */ - return 2483; + return 2540; } } else @@ -1603,7 +1603,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x00000111xxxxxxxxxxxxxxxx0xxxx sumopa. */ - return 2461; + return 2518; } else { @@ -1611,7 +1611,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1x00000111xxxxxxxxxxxxxxxx0xxxx st1d. */ - return 2485; + return 2542; } } else @@ -1620,7 +1620,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx00000111xxxxxxxxxxxxxxxx1xxxx sumops. */ - return 2463; + return 2520; } } } @@ -1634,7 +1634,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0xx10000xxxxxxxxxxxxxxxxxxxxxxxx adr. */ - return 1273; + return 1319; } else { @@ -1642,7 +1642,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1xx10000xxxxxxxxxxxxxxxxxxxxxxxx adrp. */ - return 1274; + return 1320; } } } @@ -1670,7 +1670,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010000xxxxxxxxxxxxxxx000xx smlall. */ - return 2753; + return 2810; } else { @@ -1678,7 +1678,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010000xxxxxxxxxxxxxxx010xx smlsll. */ - return 2769; + return 2826; } } else @@ -1687,7 +1687,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010000xxxxxxxxxxxxxxx0x1xx usmlall. */ - return 2958; + return 3015; } } else @@ -1704,7 +1704,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx0xx0xxxxxx000xxx smlall. */ - return 2754; + return 2811; } else { @@ -1714,7 +1714,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx1xx0xxxxx0000xxx smlall. */ - return 2755; + return 2812; } else { @@ -1722,7 +1722,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx1xx0xxxxx1000xxx fmlall. */ - return 3649; + return 3706; } } } @@ -1734,7 +1734,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx0xx0xxxxxx001xxx smlsll. */ - return 2770; + return 2827; } else { @@ -1742,7 +1742,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx1xx0xxxxxx001xxx smlsll. */ - return 2771; + return 2828; } } } @@ -1754,7 +1754,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx0xx1xxxxxx00xxxx fmla. */ - return 3463; + return 3520; } else { @@ -1764,7 +1764,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx1xx1xxxxx000xxxx fmla. */ - return 3464; + return 3521; } else { @@ -1772,7 +1772,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx1xx1xxxxx100xxxx fdot. */ - return 3634; + return 3691; } } } @@ -1787,7 +1787,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx0xx0xxxxxx10xxxx usmlall. */ - return 2959; + return 3016; } else { @@ -1795,7 +1795,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx1xx0xxxxxx10xxxx usmlall. */ - return 2960; + return 3017; } } else @@ -1806,7 +1806,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx0xx1xxxxxx10xxxx bfmla. */ - return 3420; + return 3477; } else { @@ -1814,7 +1814,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx1xx1xxxxxx10xxxx bfmla. */ - return 3421; + return 3478; } } } @@ -1832,7 +1832,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010000xxxxxxxxxxxxxxx100xx umlall. */ - return 2916; + return 2973; } else { @@ -1840,7 +1840,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010000xxxxxxxxxxxxxxx110xx umlsll. */ - return 2932; + return 2989; } } else @@ -1849,7 +1849,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010000xxxxxxxxxxxxxxx1x1xx sumlall. */ - return 2874; + return 2931; } } else @@ -1866,7 +1866,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx0xx0xxxxxx010xxx umlall. */ - return 2917; + return 2974; } else { @@ -1874,7 +1874,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx1xx0xxxxxx010xxx umlall. */ - return 2918; + return 2975; } } else @@ -1885,7 +1885,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx0xx0xxxxxx011xxx umlsll. */ - return 2933; + return 2990; } else { @@ -1893,7 +1893,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx1xx0xxxxxx011xxx umlsll. */ - return 2934; + return 2991; } } } @@ -1905,7 +1905,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx0xx1xxxxxx01xxxx fmls. */ - return 3469; + return 3526; } else { @@ -1913,7 +1913,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx1xx1xxxxxx01xxxx fmls. */ - return 3470; + return 3527; } } } @@ -1927,7 +1927,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx0xx0xxxxxx11xxxx sumlall. */ - return 2875; + return 2932; } else { @@ -1935,7 +1935,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx1xx0xxxxxx11xxxx sumlall. */ - return 2876; + return 2933; } } else @@ -1946,7 +1946,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx0xx1xxxxxx11xxxx bfmls. */ - return 3426; + return 3483; } else { @@ -1954,7 +1954,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010001xxxx1xx1xxxxxx11xxxx bfmls. */ - return 3427; + return 3484; } } } @@ -1977,7 +1977,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001000xxxxx000xxxxxxxxx0xxx ld1b. */ - return 2633; + return 2690; } else { @@ -1985,7 +1985,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001000xxxxx010xxxxxxxxx0xxx ld1w. */ - return 2657; + return 2714; } } else @@ -1996,7 +1996,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001000xxxxx001xxxxxxxxx0xxx ld1h. */ - return 2649; + return 2706; } else { @@ -2004,7 +2004,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001000xxxxx011xxxxxxxxx0xxx ld1d. */ - return 2641; + return 2698; } } } @@ -2018,7 +2018,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001000xxxxx000xxxxxxxxx1xxx ldnt1b. */ - return 2665; + return 2722; } else { @@ -2026,7 +2026,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001000xxxxx010xxxxxxxxx1xxx ldnt1w. */ - return 2689; + return 2746; } } else @@ -2037,7 +2037,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001000xxxxx001xxxxxxxxx1xxx ldnt1h. */ - return 2681; + return 2738; } else { @@ -2045,7 +2045,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001000xxxxx011xxxxxxxxx1xxx ldnt1d. */ - return 2673; + return 2730; } } } @@ -2056,7 +2056,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1100001000xxxxx0xxxxxxxxxxxxxxx ldr. */ - return 2487; + return 2544; } } else @@ -2073,7 +2073,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001000xxxxx100xxxxxxxxx0xxx ld1b. */ - return 2634; + return 2691; } else { @@ -2081,7 +2081,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1100001000xxxxx100xxxxxxxxx0xxx ldr. */ - return 2691; + return 2748; } } else @@ -2090,7 +2090,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001000xxxxx110xxxxxxxxx0xxx ld1w. */ - return 2658; + return 2715; } } else @@ -2101,7 +2101,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001000xxxxx101xxxxxxxxx0xxx ld1h. */ - return 2650; + return 2707; } else { @@ -2109,7 +2109,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001000xxxxx111xxxxxxxxx0xxx ld1d. */ - return 2642; + return 2699; } } } @@ -2123,7 +2123,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001000xxxxx100xxxxxxxxx1xxx ldnt1b. */ - return 2666; + return 2723; } else { @@ -2131,7 +2131,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001000xxxxx110xxxxxxxxx1xxx ldnt1w. */ - return 2690; + return 2747; } } else @@ -2142,7 +2142,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001000xxxxx101xxxxxxxxx1xxx ldnt1h. */ - return 2682; + return 2739; } else { @@ -2150,7 +2150,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001000xxxxx111xxxxxxxxx1xxx ldnt1d. */ - return 2674; + return 2731; } } } @@ -2171,7 +2171,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0000001100xxxxxxxxxxxxxxxx00xxx bfmopa. */ - return 2447; + return 2504; } else { @@ -2179,7 +2179,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0000001100xxxxxxxxxxxxxxxx01xxx fmopa. */ - return 3461; + return 3518; } } else @@ -2194,7 +2194,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011000xxxxxxx0xxxxxxx00xxx smlall. */ - return 2990; + return 3047; } else { @@ -2206,7 +2206,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxx0xx0xxxxxx000xxx smlall. */ - return 2991; + return 3048; } else { @@ -2214,7 +2214,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxx1xx0xxxxxx000xxx smlall. */ - return 2992; + return 3049; } } else @@ -2223,7 +2223,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxxxxx0xxxxxx100xxx fmlall. */ - return 3648; + return 3705; } } } @@ -2235,7 +2235,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011000xxxxxxx0xxxxxxx01xxx smlsll. */ - return 2993; + return 3050; } else { @@ -2245,7 +2245,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxx0xx0xxxxxxx01xxx smlsll. */ - return 2994; + return 3051; } else { @@ -2253,7 +2253,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxx1xx0xxxxxxx01xxx smlsll. */ - return 2995; + return 3052; } } } @@ -2268,7 +2268,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011000xxxxxxx1xxxxxxx00xxx fmlal. */ - return 2594; + return 2651; } else { @@ -2276,7 +2276,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011000xxxxxxx1xxxxxxx01xxx fmlsl. */ - return 2608; + return 2665; } } else @@ -2291,7 +2291,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxx0xx1xxxxxx000xxx fmlal. */ - return 2595; + return 2652; } else { @@ -2299,7 +2299,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxx1xx1xxxxxx000xxx fmlal. */ - return 2596; + return 2653; } } else @@ -2310,7 +2310,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxx0xx1xxxxxx001xxx fmlsl. */ - return 2609; + return 2666; } else { @@ -2318,7 +2318,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxx1xx1xxxxxx001xxx fmlsl. */ - return 2610; + return 2667; } } } @@ -2328,7 +2328,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxxxxx1xxxxxx10xxxx fmlal. */ - return 3641; + return 3698; } } } @@ -2342,7 +2342,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001100xxxxxxxxxxxxxxxx00xxx usmopa. */ - return 2468; + return 2525; } else { @@ -2350,7 +2350,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001100xxxxxxxxxxxxxxxx01xxx umopa. */ - return 2940; + return 2997; } } } @@ -2366,7 +2366,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0000001100xxxxxxxxxxxxxxxx10xxx bfmops. */ - return 2448; + return 2505; } else { @@ -2374,7 +2374,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0000001100xxxxxxxxxxxxxxxx11xxx fmops. */ - return 3462; + return 3519; } } else @@ -2389,7 +2389,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011000xxxxxxx0xxxxxxx10xxx umlall. */ - return 2999; + return 3056; } else { @@ -2399,7 +2399,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxx0xx0xxxxxxx10xxx umlall. */ - return 3000; + return 3057; } else { @@ -2407,7 +2407,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxx1xx0xxxxxxx10xxx umlall. */ - return 3001; + return 3058; } } } @@ -2419,7 +2419,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011000xxxxxxx0xxxxxxx11xxx umlsll. */ - return 3002; + return 3059; } else { @@ -2429,7 +2429,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxx0xx0xxxxxxx11xxx umlsll. */ - return 3003; + return 3060; } else { @@ -2437,7 +2437,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxx1xx0xxxxxxx11xxx umlsll. */ - return 3004; + return 3061; } } } @@ -2452,7 +2452,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011000xxxxxxx1xxxxxxx10xxx bfmlal. */ - return 2536; + return 2593; } else { @@ -2460,7 +2460,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011000xxxxxxx1xxxxxxx11xxx bfmlsl. */ - return 2544; + return 2601; } } else @@ -2475,7 +2475,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxx0xx1xxxxxx010xxx bfmlal. */ - return 2537; + return 2594; } else { @@ -2483,7 +2483,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxx1xx1xxxxxx010xxx bfmlal. */ - return 2538; + return 2595; } } else @@ -2494,7 +2494,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxx0xx1xxxxxx011xxx bfmlsl. */ - return 2545; + return 2602; } else { @@ -2502,7 +2502,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxx1xx1xxxxxx011xxx bfmlsl. */ - return 2546; + return 2603; } } } @@ -2512,7 +2512,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011001xxxxxxx1xxxxxx11xxxx fmlal. */ - return 3640; + return 3697; } } } @@ -2526,7 +2526,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001100xxxxxxxxxxxxxxxx10xxx usmops. */ - return 2470; + return 2527; } else { @@ -2534,7 +2534,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001100xxxxxxxxxxxxxxxx11xxx umops. */ - return 2941; + return 2998; } } } @@ -2554,7 +2554,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000010100xxxxxxxxxxxxxxxx0xxx fmlall. */ - return 3647; + return 3704; } else { @@ -2568,7 +2568,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx1000010100xxxx000xxxxxxxxx0xxx ld1b. */ - return 2629; + return 2686; } else { @@ -2576,7 +2576,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx1000010100xxxx100xxxxxxxxx0xxx ld1b. */ - return 2630; + return 2687; } } else @@ -2587,7 +2587,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx1000010100xxxx010xxxxxxxxx0xxx ld1w. */ - return 2653; + return 2710; } else { @@ -2595,7 +2595,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx1000010100xxxx110xxxxxxxxx0xxx ld1w. */ - return 2654; + return 2711; } } } @@ -2609,7 +2609,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx1000010100xxxx001xxxxxxxxx0xxx ld1h. */ - return 2645; + return 2702; } else { @@ -2617,7 +2617,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx1000010100xxxx101xxxxxxxxx0xxx ld1h. */ - return 2646; + return 2703; } } else @@ -2628,7 +2628,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx1000010100xxxx011xxxxxxxxx0xxx ld1d. */ - return 2637; + return 2694; } else { @@ -2636,7 +2636,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx1000010100xxxx111xxxxxxxxx0xxx ld1d. */ - return 2638; + return 2695; } } } @@ -2656,7 +2656,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xx0xxxxxx000xxx fmla. */ - return 2588; + return 2645; } else { @@ -2664,7 +2664,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xx0xxxxxx000xxx fmla. */ - return 2589; + return 2646; } } else @@ -2675,7 +2675,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xx1xxxxxx000xxx sdot. */ - return 2723; + return 2780; } else { @@ -2683,7 +2683,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xx1xxxxxx000xxx sdot. */ - return 2724; + return 2781; } } } @@ -2697,7 +2697,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xx0xxxxxx100xxx svdot. */ - return 2882; + return 2939; } else { @@ -2705,7 +2705,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xx0xxxxxx100xxx svdot. */ - return 2883; + return 2940; } } else @@ -2716,7 +2716,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xx1xxxxxx100xxx sdot. */ - return 2729; + return 2786; } else { @@ -2724,7 +2724,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xx1xxxxxx100xxx sdot. */ - return 2730; + return 2787; } } } @@ -2741,7 +2741,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xx0xxxxxx010xxx fmls. */ - return 2602; + return 2659; } else { @@ -2749,7 +2749,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xx0xxxxxx010xxx fmls. */ - return 2603; + return 2660; } } else @@ -2760,7 +2760,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xx1xxxxxx010xxx udot. */ - return 2888; + return 2945; } else { @@ -2768,7 +2768,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xx1xxxxxx010xxx udot. */ - return 2889; + return 2946; } } } @@ -2782,7 +2782,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xx0xxxxxx110xxx uvdot. */ - return 2969; + return 3026; } else { @@ -2790,7 +2790,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xx0xxxxxx110xxx uvdot. */ - return 2970; + return 3027; } } else @@ -2801,7 +2801,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xx1xxxxxx110xxx udot. */ - return 2894; + return 2951; } else { @@ -2809,7 +2809,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xx1xxxxxx110xxx udot. */ - return 2895; + return 2952; } } } @@ -2830,7 +2830,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010100xxxx000xxxxxxxxx1xxx ldnt1b. */ - return 2661; + return 2718; } else { @@ -2838,7 +2838,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010100xxxx010xxxxxxxxx1xxx ldnt1w. */ - return 2685; + return 2742; } } else @@ -2849,7 +2849,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010100xxxx001xxxxxxxxx1xxx ldnt1h. */ - return 2677; + return 2734; } else { @@ -2857,7 +2857,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010100xxxx011xxxxxxxxx1xxx ldnt1d. */ - return 2669; + return 2726; } } } @@ -2873,7 +2873,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xx0xxxxxx001xxx fvdot. */ - return 2626; + return 2683; } else { @@ -2881,7 +2881,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xx1xxxxxx001xxx fdot. */ - return 2566; + return 2623; } } else @@ -2890,7 +2890,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xxxxxxxxx101xxx usdot. */ - return 2952; + return 3009; } } else @@ -2903,7 +2903,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xx0xxxxxx011xxx bfvdot. */ - return 2552; + return 2609; } else { @@ -2911,7 +2911,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xx1xxxxxx011xxx bfdot. */ - return 2530; + return 2587; } } else @@ -2922,7 +2922,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xx0xxxxxx111xxx fdot. */ - return 3627; + return 3684; } else { @@ -2930,7 +2930,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx0xx1xxxxxx111xxx sudot. */ - return 2870; + return 2927; } } } @@ -2948,7 +2948,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010100xxxx100xxxxxxxxx1xxx ldnt1b. */ - return 2662; + return 2719; } else { @@ -2956,7 +2956,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010100xxxx110xxxxxxxxx1xxx ldnt1w. */ - return 2686; + return 2743; } } else @@ -2967,7 +2967,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010100xxxx101xxxxxxxxx1xxx ldnt1h. */ - return 2678; + return 2735; } else { @@ -2975,7 +2975,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010100xxxx111xxxxxxxxx1xxx ldnt1d. */ - return 2670; + return 2727; } } } @@ -2991,7 +2991,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xx0xxxxxx001xxx fdot. */ - return 3628; + return 3685; } else { @@ -2999,7 +2999,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xx1xxxxxx001xxx fdot. */ - return 2567; + return 2624; } } else @@ -3010,7 +3010,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xx0xxxxxx101xxx usvdot. */ - return 2966; + return 3023; } else { @@ -3018,7 +3018,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xx1xxxxxx101xxx usdot. */ - return 2953; + return 3010; } } } @@ -3030,7 +3030,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xxxxxxxxx011xxx bfdot. */ - return 2531; + return 2588; } else { @@ -3040,7 +3040,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xx0xxxxxx111xxx suvdot. */ - return 2881; + return 2938; } else { @@ -3048,7 +3048,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx000010101xxxx1xx1xxxxxx111xxx sudot. */ - return 2871; + return 2928; } } } @@ -3070,7 +3070,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011100xxxxxxx0xxxxxxx0xxxx fmlal. */ - return 3639; + return 3696; } else { @@ -3086,7 +3086,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011101xxxx0xx00xxxxx000xxx fmla. */ - return 3006; + return 3063; } else { @@ -3094,7 +3094,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011101xxxx1xx00xxxxx000xxx fmla. */ - return 3007; + return 3064; } } else @@ -3105,7 +3105,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011101xxxx0xx00xxxxx001xxx sdot. */ - return 2988; + return 3045; } else { @@ -3113,7 +3113,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011101xxxx1xx00xxxxx001xxx sdot. */ - return 2989; + return 3046; } } } @@ -3125,7 +3125,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011101xxxx0xx01xxxxx00xxxx fvdotb. */ - return 3658; + return 3715; } else { @@ -3133,7 +3133,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011101xxxx1xx01xxxxx00xxxx svdot. */ - return 2996; + return 3053; } } } @@ -3143,7 +3143,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011101xxxxxxx0xxxxxx10xxxx fdot. */ - return 3633; + return 3690; } } } @@ -3157,7 +3157,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011100xxxxxxx1xxxxxxx00xxx smlal. */ - return 2745; + return 2802; } else { @@ -3165,7 +3165,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011100xxxxxxx1xxxxxxx01xxx smlsl. */ - return 2761; + return 2818; } } else @@ -3180,7 +3180,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011101xxxx0xx1xxxxxx000xxx smlal. */ - return 2746; + return 2803; } else { @@ -3188,7 +3188,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011101xxxx1xx1xxxxxx000xxx smlal. */ - return 2747; + return 2804; } } else @@ -3199,7 +3199,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011101xxxx0xx1xxxxxx001xxx smlsl. */ - return 2762; + return 2819; } else { @@ -3207,7 +3207,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011101xxxx1xx1xxxxxx001xxx smlsl. */ - return 2763; + return 2820; } } } @@ -3217,7 +3217,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011101xxxxxxx1xxxxxx10xxxx fvdot. */ - return 3657; + return 3714; } } } @@ -3230,7 +3230,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001110xxxxxxxxxxxxxxxx0xxxx usmopa. */ - return 2469; + return 2526; } else { @@ -3238,7 +3238,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1100001110xxxxxxxxxxxxxxxx0xxxx ld1q. */ - return 2481; + return 2538; } } } @@ -3258,7 +3258,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx000001110xxxxx0xx00xxxxxx10xxx fmls. */ - return 3008; + return 3065; } else { @@ -3266,7 +3266,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx000001110xxxxx1xx00xxxxxx10xxx fmls. */ - return 3009; + return 3066; } } else @@ -3277,7 +3277,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx000001110xxxxx0xx00xxxxxx11xxx udot. */ - return 2997; + return 3054; } else { @@ -3285,7 +3285,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx000001110xxxxx1xx00xxxxxx11xxx udot. */ - return 2998; + return 3055; } } } @@ -3297,7 +3297,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx000001110xxxxx0xx01xxxxxx1xxxx fvdott. */ - return 3659; + return 3716; } else { @@ -3305,7 +3305,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx000001110xxxxx1xx01xxxxxx1xxxx uvdot. */ - return 3005; + return 3062; } } } @@ -3319,7 +3319,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011100xxxxxxx1xxxxxxx10xxx umlal. */ - return 2908; + return 2965; } else { @@ -3329,7 +3329,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011101xxxx0xx1xxxxxxx10xxx umlal. */ - return 2909; + return 2966; } else { @@ -3337,7 +3337,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011101xxxx1xx1xxxxxxx10xxx umlal. */ - return 2910; + return 2967; } } } @@ -3349,7 +3349,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011100xxxxxxx1xxxxxxx11xxx umlsl. */ - return 2924; + return 2981; } else { @@ -3359,7 +3359,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011101xxxx0xx1xxxxxxx11xxx umlsl. */ - return 2925; + return 2982; } else { @@ -3367,7 +3367,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0000011101xxxx1xx1xxxxxxx11xxx umlsl. */ - return 2926; + return 2983; } } } @@ -3379,7 +3379,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001110xxxxxxxxxxxxxxxx1xxxx usmops. */ - return 2471; + return 2528; } } } @@ -3399,7 +3399,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0000001xx1xxxxxxxxxxxxxxxx00xxx fmopa. */ - return 2451; + return 2508; } else { @@ -3407,7 +3407,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0000001xx1xxxxxxxxxxxxxxxx10xxx fmops. */ - return 2454; + return 2511; } } else @@ -3418,7 +3418,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0000001xx1xxxxxxxxxxxxxxxx01xxx bfmopa. */ - return 3432; + return 3489; } else { @@ -3426,7 +3426,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0000001xx1xxxxxxxxxxxxxxxx11xxx bfmops. */ - return 3433; + return 3490; } } } @@ -3456,7 +3456,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx000xxxxx0000x smlall. */ - return 2757; + return 2814; } else { @@ -3464,7 +3464,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx000xxxxx0000x smlall. */ - return 2758; + return 2815; } } else @@ -3477,7 +3477,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx000xxxx00000x smlall. */ - return 2759; + return 2816; } else { @@ -3485,7 +3485,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx000xxxx00000x smlall. */ - return 2760; + return 2817; } } else @@ -3496,7 +3496,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx000xxxx10000x fmlall. */ - return 3653; + return 3710; } else { @@ -3504,7 +3504,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx000xxxx10000x fmlall. */ - return 3654; + return 3711; } } } @@ -3519,7 +3519,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx000xxxxx0010x usmlall. */ - return 2962; + return 3019; } else { @@ -3527,7 +3527,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx000xxxxx0010x usmlall. */ - return 2963; + return 3020; } } else @@ -3538,7 +3538,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx000xxxxx0010x usmlall. */ - return 2964; + return 3021; } else { @@ -3546,7 +3546,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx000xxxxx0010x usmlall. */ - return 2965; + return 3022; } } } @@ -3559,7 +3559,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx10xxxx0xx000xxxxx00x1x fmlall. */ - return 3651; + return 3708; } else { @@ -3567,7 +3567,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx11xxxx0xx000xxxxx00x1x fmlall. */ - return 3652; + return 3709; } } } @@ -3581,7 +3581,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx100xxxxx00xxx fdot. */ - return 2568; + return 2625; } else { @@ -3589,7 +3589,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx100xxxxx00xxx fdot. */ - return 2569; + return 2626; } } else @@ -3602,7 +3602,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx100xxxx000xxx fdot. */ - return 2570; + return 2627; } else { @@ -3610,7 +3610,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx100xxxx000xxx fdot. */ - return 2571; + return 2628; } } else @@ -3621,7 +3621,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx100xxxx100xxx fdot. */ - return 3637; + return 3694; } else { @@ -3629,7 +3629,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx100xxxx100xxx fdot. */ - return 3638; + return 3695; } } } @@ -3651,7 +3651,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010010xxxx0xx010xxxxx000xx fmlal. */ - return 2598; + return 2655; } else { @@ -3659,7 +3659,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010011xxxx0xx010xxxxx000xx fmlal. */ - return 2599; + return 2656; } } else @@ -3672,7 +3672,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxxx00xx010xxxx0000xx fmlal. */ - return 2600; + return 2657; } else { @@ -3680,7 +3680,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxxx10xx010xxxx0000xx fmlal. */ - return 2601; + return 2658; } } else @@ -3691,7 +3691,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxxx00xx010xxxx1000xx fmlal. */ - return 3645; + return 3702; } else { @@ -3699,7 +3699,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxxx10xx010xxxx1000xx fmlal. */ - return 3646; + return 3703; } } } @@ -3714,7 +3714,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010110xxxx0xx010xxxxx000xx smlal. */ - return 2749; + return 2806; } else { @@ -3722,7 +3722,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010111xxxx0xx010xxxxx000xx smlal. */ - return 2750; + return 2807; } } else @@ -3733,7 +3733,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx00xx010xxxxx000xx smlal. */ - return 2751; + return 2808; } else { @@ -3741,7 +3741,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx10xx010xxxxx000xx smlal. */ - return 2752; + return 2809; } } } @@ -3754,7 +3754,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx10xxxx0xx010xxxxx001xx fmlal. */ - return 3643; + return 3700; } else { @@ -3762,7 +3762,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx11xxxx0xx010xxxxx001xx fmlal. */ - return 3644; + return 3701; } } } @@ -3776,7 +3776,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx110xxxxx00xxx fmla. */ - return 2590; + return 2647; } else { @@ -3784,7 +3784,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx110xxxxx00xxx fmla. */ - return 2591; + return 2648; } } else @@ -3795,7 +3795,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx110xxxxx00xxx fmla. */ - return 2592; + return 2649; } else { @@ -3803,7 +3803,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx110xxxxx00xxx fmla. */ - return 2593; + return 2650; } } } @@ -3823,7 +3823,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx10xxxx0xx001xxxxx000xx smlall. */ - return 2756; + return 2813; } else { @@ -3831,7 +3831,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx11xxxx0xx001xxxxx000xx fmlall. */ - return 3650; + return 3707; } } else @@ -3840,7 +3840,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx0xx001xxxxx001xx usmlall. */ - return 2961; + return 3018; } } else @@ -3853,7 +3853,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx101xxxxx00xxx sdot. */ - return 2731; + return 2788; } else { @@ -3861,7 +3861,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx101xxxxx00xxx sdot. */ - return 2732; + return 2789; } } else @@ -3872,7 +3872,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx101xxxxx00xxx sdot. */ - return 2733; + return 2790; } else { @@ -3880,7 +3880,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx101xxxxx00xxx sdot. */ - return 2734; + return 2791; } } } @@ -3897,7 +3897,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x010xxxx0xx011xxxxx00xxx fmlal. */ - return 2597; + return 2654; } else { @@ -3905,7 +3905,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x110xxxx0xx011xxxxx00xxx smlal. */ - return 2748; + return 2805; } } else @@ -3914,7 +3914,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx11xxxx0xx011xxxxx00xxx fmlal. */ - return 3642; + return 3699; } } else @@ -3929,7 +3929,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010010xxxx0xx111xxxxx00xxx fmla. */ - return 3465; + return 3522; } else { @@ -3937,7 +3937,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010110xxxx0xx111xxxxx00xxx bfmla. */ - return 3422; + return 3479; } } else @@ -3950,7 +3950,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x10x0x00xx111xxxxx00xxx fadd. */ - return 2556; + return 2613; } else { @@ -3960,7 +3960,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011010x1x00xx111xxxxx00xxx fadd. */ - return 3591; + return 3648; } else { @@ -3968,7 +3968,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011110x1x00xx111xxxxx00xxx bfadd. */ - return 3416; + return 3473; } } } @@ -3980,7 +3980,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x10x0x10xx111xxxxx00xxx fadd. */ - return 2557; + return 2614; } else { @@ -3990,7 +3990,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011010x1x10xx111xxxxx00xxx fadd. */ - return 3592; + return 3649; } else { @@ -3998,7 +3998,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011110x1x10xx111xxxxx00xxx bfadd. */ - return 3417; + return 3474; } } } @@ -4012,7 +4012,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x011xxxx0xx111xxxxx00xxx fmla. */ - return 3466; + return 3523; } else { @@ -4020,7 +4020,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x111xxxx0xx111xxxxx00xxx bfmla. */ - return 3423; + return 3480; } } } @@ -4045,7 +4045,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx000xxxxx100xx umlall. */ - return 2920; + return 2977; } else { @@ -4053,7 +4053,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx000xxxxx100xx umlall. */ - return 2921; + return 2978; } } else @@ -4064,7 +4064,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx000xxxxx100xx umlall. */ - return 2922; + return 2979; } else { @@ -4072,7 +4072,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx000xxxxx100xx umlall. */ - return 2923; + return 2980; } } } @@ -4084,7 +4084,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx10xxxx0xx000xxxxx101xx sumlall. */ - return 2877; + return 2934; } else { @@ -4092,7 +4092,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx11xxxx0xx000xxxxx101xx sumlall. */ - return 2878; + return 2935; } } } @@ -4106,7 +4106,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx100xxxxx10xxx bfdot. */ - return 2532; + return 2589; } else { @@ -4114,7 +4114,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx100xxxxx10xxx bfdot. */ - return 2533; + return 2590; } } else @@ -4127,7 +4127,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx100xxxx010xxx bfdot. */ - return 2534; + return 2591; } else { @@ -4135,7 +4135,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx100xxxx010xxx bfdot. */ - return 2535; + return 2592; } } else @@ -4146,7 +4146,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx100xxxx110xxx fdot. */ - return 3631; + return 3688; } else { @@ -4154,7 +4154,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx100xxxx110xxx fdot. */ - return 3632; + return 3689; } } } @@ -4174,7 +4174,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010010xxxx0xx010xxxxx10xxx bfmlal. */ - return 2540; + return 2597; } else { @@ -4182,7 +4182,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010011xxxx0xx010xxxxx10xxx bfmlal. */ - return 2541; + return 2598; } } else @@ -4193,7 +4193,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxxx00xx010xxxxx10xxx bfmlal. */ - return 2542; + return 2599; } else { @@ -4201,7 +4201,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxxx10xx010xxxxx10xxx bfmlal. */ - return 2543; + return 2600; } } } @@ -4215,7 +4215,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010110xxxx0xx010xxxxx10xxx umlal. */ - return 2912; + return 2969; } else { @@ -4223,7 +4223,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010111xxxx0xx010xxxxx10xxx umlal. */ - return 2913; + return 2970; } } else @@ -4234,7 +4234,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx00xx010xxxxx10xxx umlal. */ - return 2914; + return 2971; } else { @@ -4242,7 +4242,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx10xx010xxxxx10xxx umlal. */ - return 2915; + return 2972; } } } @@ -4257,7 +4257,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx110xxxxx10xxx add. */ - return 2522; + return 2579; } else { @@ -4265,7 +4265,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx110xxxxx10xxx add. */ - return 2523; + return 2580; } } else @@ -4276,7 +4276,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx110xxxxx10xxx add. */ - return 2524; + return 2581; } else { @@ -4284,7 +4284,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx110xxxxx10xxx add. */ - return 2525; + return 2582; } } } @@ -4300,7 +4300,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx0xx001xxxxx10xxx umlall. */ - return 2919; + return 2976; } else { @@ -4312,7 +4312,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx101xxxxx10xxx udot. */ - return 2896; + return 2953; } else { @@ -4320,7 +4320,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx101xxxxx10xxx udot. */ - return 2897; + return 2954; } } else @@ -4331,7 +4331,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx101xxxxx10xxx udot. */ - return 2898; + return 2955; } else { @@ -4339,7 +4339,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx101xxxxx10xxx udot. */ - return 2899; + return 2956; } } } @@ -4354,7 +4354,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x01xxxxx0xx011xxxxx10xxx bfmlal. */ - return 2539; + return 2596; } else { @@ -4362,7 +4362,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x11xxxxx0xx011xxxxx10xxx umlal. */ - return 2911; + return 2968; } } else @@ -4373,7 +4373,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxx00xx111xxxxx10xxx add. */ - return 2520; + return 2577; } else { @@ -4381,7 +4381,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxx10xx111xxxxx10xxx add. */ - return 2521; + return 2578; } } } @@ -4406,7 +4406,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx000xxxxx01xxx smlsll. */ - return 2773; + return 2830; } else { @@ -4414,7 +4414,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx000xxxxx01xxx smlsll. */ - return 2774; + return 2831; } } else @@ -4425,7 +4425,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx000xxxxx01xxx smlsll. */ - return 2775; + return 2832; } else { @@ -4433,7 +4433,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx000xxxxx01xxx smlsll. */ - return 2776; + return 2833; } } } @@ -4449,7 +4449,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010010xxxx0xx100xxxxx01xxx fdot. */ - return 3635; + return 3692; } else { @@ -4457,7 +4457,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010011xxxx0xx100xxxxx01xxx fdot. */ - return 3636; + return 3693; } } else @@ -4468,7 +4468,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxxx00xx100xxxxx01xxx fmla. */ - return 3467; + return 3524; } else { @@ -4476,7 +4476,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxxx10xx100xxxxx01xxx fmla. */ - return 3468; + return 3525; } } } @@ -4488,7 +4488,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x11xxxx00xx100xxxxx01xxx bfmla. */ - return 3424; + return 3481; } else { @@ -4496,7 +4496,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x11xxxx10xx100xxxxx01xxx bfmla. */ - return 3425; + return 3482; } } } @@ -4515,7 +4515,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010010xxxx0xx010xxxxx01xxx fmlsl. */ - return 2612; + return 2669; } else { @@ -4523,7 +4523,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010011xxxx0xx010xxxxx01xxx fmlsl. */ - return 2613; + return 2670; } } else @@ -4534,7 +4534,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxxx00xx010xxxxx01xxx fmlsl. */ - return 2614; + return 2671; } else { @@ -4542,7 +4542,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxxx10xx010xxxxx01xxx fmlsl. */ - return 2615; + return 2672; } } } @@ -4556,7 +4556,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010110xxxx0xx010xxxxx01xxx smlsl. */ - return 2765; + return 2822; } else { @@ -4564,7 +4564,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010111xxxx0xx010xxxxx01xxx smlsl. */ - return 2766; + return 2823; } } else @@ -4575,7 +4575,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx00xx010xxxxx01xxx smlsl. */ - return 2767; + return 2824; } else { @@ -4583,7 +4583,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx10xx010xxxxx01xxx smlsl. */ - return 2768; + return 2825; } } } @@ -4598,7 +4598,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx110xxxxx01xxx fmls. */ - return 2604; + return 2661; } else { @@ -4606,7 +4606,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx110xxxxx01xxx fmls. */ - return 2605; + return 2662; } } else @@ -4617,7 +4617,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx110xxxxx01xxx fmls. */ - return 2606; + return 2663; } else { @@ -4625,7 +4625,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx110xxxxx01xxx fmls. */ - return 2607; + return 2664; } } } @@ -4641,7 +4641,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx0xx001xxxxx01xxx smlsll. */ - return 2772; + return 2829; } else { @@ -4655,7 +4655,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010010xxxx0xx101xxxxx01xxx usdot. */ - return 2954; + return 3011; } else { @@ -4663,7 +4663,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010011xxxx0xx101xxxxx01xxx usdot. */ - return 2955; + return 3012; } } else @@ -4674,7 +4674,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxxx00xx101xxxxx01xxx usdot. */ - return 2956; + return 3013; } else { @@ -4682,7 +4682,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxxx10xx101xxxxx01xxx usdot. */ - return 2957; + return 3014; } } } @@ -4696,7 +4696,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010110xxxx0xx101xxxxx01xxx sdot. */ - return 2725; + return 2782; } else { @@ -4704,7 +4704,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010111xxxx0xx101xxxxx01xxx sdot. */ - return 2726; + return 2783; } } else @@ -4715,7 +4715,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx00xx101xxxxx01xxx sdot. */ - return 2727; + return 2784; } else { @@ -4723,7 +4723,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx10xx101xxxxx01xxx sdot. */ - return 2728; + return 2785; } } } @@ -4739,7 +4739,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x01xxxxx0xx011xxxxx01xxx fmlsl. */ - return 2611; + return 2668; } else { @@ -4747,7 +4747,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x11xxxxx0xx011xxxxx01xxx smlsl. */ - return 2764; + return 2821; } } else @@ -4762,7 +4762,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010010xxxx0xx111xxxxx01xxx fmls. */ - return 3471; + return 3528; } else { @@ -4770,7 +4770,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010110xxxx0xx111xxxxx01xxx bfmls. */ - return 3428; + return 3485; } } else @@ -4783,7 +4783,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x10x0x00xx111xxxxx01xxx fsub. */ - return 2624; + return 2681; } else { @@ -4793,7 +4793,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011010x1x00xx111xxxxx01xxx fsub. */ - return 3593; + return 3650; } else { @@ -4801,7 +4801,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011110x1x00xx111xxxxx01xxx bfsub. */ - return 3418; + return 3475; } } } @@ -4813,7 +4813,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x10x0x10xx111xxxxx01xxx fsub. */ - return 2625; + return 2682; } else { @@ -4823,7 +4823,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011010x1x10xx111xxxxx01xxx fsub. */ - return 3594; + return 3651; } else { @@ -4831,7 +4831,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011110x1x10xx111xxxxx01xxx bfsub. */ - return 3419; + return 3476; } } } @@ -4845,7 +4845,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x011xxxx0xx111xxxxx01xxx fmls. */ - return 3472; + return 3529; } else { @@ -4853,7 +4853,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x111xxxx0xx111xxxxx01xxx bfmls. */ - return 3429; + return 3486; } } } @@ -4876,7 +4876,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx000xxxxx11xxx umlsll. */ - return 2936; + return 2993; } else { @@ -4884,7 +4884,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx000xxxxx11xxx umlsll. */ - return 2937; + return 2994; } } else @@ -4895,7 +4895,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx000xxxxx11xxx umlsll. */ - return 2938; + return 2995; } else { @@ -4903,7 +4903,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx000xxxxx11xxx umlsll. */ - return 2939; + return 2996; } } } @@ -4919,7 +4919,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010010xxxx0xx100xxxxx11xxx fdot. */ - return 3629; + return 3686; } else { @@ -4927,7 +4927,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010011xxxx0xx100xxxxx11xxx fdot. */ - return 3630; + return 3687; } } else @@ -4938,7 +4938,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxxx00xx100xxxxx11xxx fmls. */ - return 3473; + return 3530; } else { @@ -4946,7 +4946,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxxx10xx100xxxxx11xxx fmls. */ - return 3474; + return 3531; } } } @@ -4958,7 +4958,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x11xxxx00xx100xxxxx11xxx bfmls. */ - return 3430; + return 3487; } else { @@ -4966,7 +4966,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x11xxxx10xx100xxxxx11xxx bfmls. */ - return 3431; + return 3488; } } } @@ -4985,7 +4985,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010010xxxx0xx010xxxxx11xxx bfmlsl. */ - return 2548; + return 2605; } else { @@ -4993,7 +4993,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010011xxxx0xx010xxxxx11xxx bfmlsl. */ - return 2549; + return 2606; } } else @@ -5004,7 +5004,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxxx00xx010xxxxx11xxx bfmlsl. */ - return 2550; + return 2607; } else { @@ -5012,7 +5012,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxxx10xx010xxxxx11xxx bfmlsl. */ - return 2551; + return 2608; } } } @@ -5026,7 +5026,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010110xxxx0xx010xxxxx11xxx umlsl. */ - return 2928; + return 2985; } else { @@ -5034,7 +5034,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010111xxxx0xx010xxxxx11xxx umlsl. */ - return 2929; + return 2986; } } else @@ -5045,7 +5045,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx00xx010xxxxx11xxx umlsl. */ - return 2930; + return 2987; } else { @@ -5053,7 +5053,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx10xx010xxxxx11xxx umlsl. */ - return 2931; + return 2988; } } } @@ -5068,7 +5068,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x10xxxx0xx110xxxxx11xxx sub. */ - return 2866; + return 2923; } else { @@ -5076,7 +5076,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010x11xxxx0xx110xxxxx11xxx sub. */ - return 2867; + return 2924; } } else @@ -5087,7 +5087,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx00xx110xxxxx11xxx sub. */ - return 2868; + return 2925; } else { @@ -5095,7 +5095,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011x1xxxx10xx110xxxxx11xxx sub. */ - return 2869; + return 2926; } } } @@ -5111,7 +5111,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx0xx001xxxxx11xxx umlsll. */ - return 2935; + return 2992; } else { @@ -5123,7 +5123,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x010xxxx0xx101xxxxx11xxx sudot. */ - return 2872; + return 2929; } else { @@ -5131,7 +5131,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x011xxxx0xx101xxxxx11xxx sudot. */ - return 2873; + return 2930; } } else @@ -5144,7 +5144,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010110xxxx0xx101xxxxx11xxx udot. */ - return 2890; + return 2947; } else { @@ -5152,7 +5152,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010111xxxx0xx101xxxxx11xxx udot. */ - return 2891; + return 2948; } } else @@ -5163,7 +5163,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx00xx101xxxxx11xxx udot. */ - return 2892; + return 2949; } else { @@ -5171,7 +5171,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxxx10xx101xxxxx11xxx udot. */ - return 2893; + return 2950; } } } @@ -5187,7 +5187,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x01xxxxx0xx011xxxxx11xxx bfmlsl. */ - return 2547; + return 2604; } else { @@ -5195,7 +5195,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x11xxxxx0xx011xxxxx11xxx umlsl. */ - return 2927; + return 2984; } } else @@ -5206,7 +5206,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxx00xx111xxxxx11xxx sub. */ - return 2864; + return 2921; } else { @@ -5214,7 +5214,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxx10xx111xxxxx11xxx sub. */ - return 2865; + return 2922; } } } @@ -5234,7 +5234,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxx0100xxxxxxxxxxxxx sel. */ - return 2735; + return 2792; } else { @@ -5242,7 +5242,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxx1100xxxxxxxxxxxxx sel. */ - return 2736; + return 2793; } } else @@ -5259,7 +5259,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx110000xxxxxxxxx0 fclamp. */ - return 2558; + return 2615; } else { @@ -5267,7 +5267,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx110100xxxxxxxxx0 zip. */ - return 2984; + return 3041; } } else @@ -5276,7 +5276,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx110x00xxxxxxxxx1 uzp. */ - return 2971; + return 3028; } } else @@ -5287,7 +5287,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx110010xxxxxxxxxx fclamp. */ - return 2559; + return 2616; } else { @@ -5299,7 +5299,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx110110xxx00xxxxx sqrshr. */ - return 2790; + return 2847; } else { @@ -5307,7 +5307,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx110110xxx10xxxxx sqrshru. */ - return 2793; + return 2850; } } else @@ -5316,7 +5316,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx110110xxxx1xxxxx uqrshr. */ - return 2946; + return 3003; } } } @@ -5333,7 +5333,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx110001xxxxxxxxx0 sclamp. */ - return 2719; + return 2776; } else { @@ -5341,7 +5341,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx110001xxxxxxxxx1 uclamp. */ - return 2884; + return 2941; } } else @@ -5354,7 +5354,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x01xxxxx110101xxxxxxxxx0 zip. */ - return 2985; + return 3042; } else { @@ -5362,7 +5362,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x01xxxxx110101xxxxxxxxx1 uzp. */ - return 2972; + return 3029; } } else @@ -5375,7 +5375,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x110xxxx110101xxxx0xxxxx sqrshr. */ - return 2789; + return 2846; } else { @@ -5383,7 +5383,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x111xxxx110101xxxx0xxxxx sqrshru. */ - return 2792; + return 2849; } } else @@ -5392,7 +5392,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x11xxxxx110101xxxx1xxxxx uqrshr. */ - return 2945; + return 3002; } } } @@ -5407,7 +5407,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx110011xxxxxxxxx0 sclamp. */ - return 2720; + return 2777; } else { @@ -5415,7 +5415,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx110011xxxxxxxxx1 uclamp. */ - return 2885; + return 2942; } } else @@ -5428,7 +5428,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx110111xxx00xxxxx sqrshrn. */ - return 2791; + return 2848; } else { @@ -5436,7 +5436,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx110111xxx10xxxxx sqrshrun. */ - return 2794; + return 2851; } } else @@ -5445,7 +5445,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx110111xxxx1xxxxx uqrshrn. */ - return 2947; + return 3004; } } } @@ -5474,7 +5474,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx101000x00x0xxxx0 smax. */ - return 2737; + return 2794; } else { @@ -5484,7 +5484,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx101000010x0xxxx0 fmax. */ - return 2572; + return 2629; } else { @@ -5492,7 +5492,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx101000110x0xxxx0 add. */ - return 2526; + return 2583; } } } @@ -5502,7 +5502,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx101000xx1x0xxxx0 bfscale. */ - return 3011; + return 3068; } } else @@ -5515,7 +5515,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx10100000xx1xxxx0 smin. */ - return 2741; + return 2798; } else { @@ -5523,7 +5523,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx10100010xx1xxxx0 srshl. */ - return 2795; + return 2852; } } else @@ -5532,7 +5532,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx101000x1xx1xxxx0 fmaxnm. */ - return 2576; + return 2633; } } } @@ -5546,7 +5546,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx101000x0xx0xxxx1 umax. */ - return 2900; + return 2957; } else { @@ -5554,7 +5554,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx101000x1xx0xxxx1 fmin. */ - return 2580; + return 2637; } } else @@ -5567,7 +5567,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx10100000xx1xxxx1 umin. */ - return 2904; + return 2961; } else { @@ -5575,7 +5575,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx10100010xx1xxxx1 urshl. */ - return 2948; + return 3005; } } else @@ -5584,7 +5584,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx101000x1xx1xxxx1 fminnm. */ - return 2584; + return 2641; } } } @@ -5609,7 +5609,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001001x0000111000xxxx0xxxxx fcvt. */ - return 2560; + return 2617; } else { @@ -5617,7 +5617,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001001x0000111000xxxx1xxxxx fcvtn. */ - return 2561; + return 2618; } } else @@ -5628,7 +5628,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101x0000111000xxxxxxxxx0 fcvt. */ - return 3475; + return 3532; } else { @@ -5636,7 +5636,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101x0000111000xxxxxxxxx1 fcvtl. */ - return 3476; + return 3533; } } } @@ -5648,7 +5648,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x11x0000111000xxxx0xxxxx bfcvt. */ - return 2528; + return 2585; } else { @@ -5656,7 +5656,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x11x0000111000xxxx1xxxxx bfcvtn. */ - return 2529; + return 2586; } } } @@ -5668,7 +5668,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx101000111000xxxxxxxxxx frintn. */ - return 2620; + return 2677; } else { @@ -5676,7 +5676,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx111000111000xxxxxxxxxx frintn. */ - return 2621; + return 2678; } } } @@ -5694,7 +5694,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x0100100111000xxxx0xxxxx fcvt. */ - return 3562; + return 3619; } else { @@ -5702,7 +5702,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x1100100111000xxxx0xxxxx bfcvt. */ - return 3557; + return 3614; } } else @@ -5711,7 +5711,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx110100111000xxxx0xxxxx fcvt. */ - return 3563; + return 3620; } } else @@ -5722,7 +5722,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx101100111000xxxx0xxxxx frinta. */ - return 2616; + return 2673; } else { @@ -5730,7 +5730,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx111100111000xxxx0xxxxx frinta. */ - return 2617; + return 2674; } } } @@ -5740,7 +5740,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xx100111000xxxx1xxxxx fcvtn. */ - return 3564; + return 3621; } } } @@ -5760,7 +5760,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx100010111000xxxx0xxxx0 scvtf. */ - return 2721; + return 2778; } else { @@ -5768,7 +5768,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx110010111000xxxx0xxxx0 scvtf. */ - return 2722; + return 2779; } } else @@ -5779,7 +5779,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx101010111000xxxx0xxxx0 frintm. */ - return 2618; + return 2675; } else { @@ -5787,7 +5787,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx111010111000xxxx0xxxx0 frintm. */ - return 2619; + return 2676; } } } @@ -5799,7 +5799,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx10x010111000xxxx1xxxx0 ucvtf. */ - return 2886; + return 2943; } else { @@ -5807,7 +5807,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx11x010111000xxxx1xxxx0 ucvtf. */ - return 2887; + return 2944; } } } @@ -5823,7 +5823,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010010x110111000xxxxxxxxx0 f1cvt. */ - return 3558; + return 3615; } else { @@ -5831,7 +5831,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011010x110111000xxxxxxxxx0 f2cvt. */ - return 3559; + return 3616; } } else @@ -5842,7 +5842,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000010110x110111000xxxxxxxxx0 bf1cvt. */ - return 3553; + return 3610; } else { @@ -5850,7 +5850,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10000011110x110111000xxxxxxxxx0 bf2cvt. */ - return 3554; + return 3611; } } } @@ -5862,7 +5862,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx11x110111000xxxxxxxx00 zip. */ - return 2986; + return 3043; } else { @@ -5870,7 +5870,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx11x110111000xxxxxxxx10 uzp. */ - return 2973; + return 3030; } } } @@ -5885,7 +5885,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001001xxx10111000xxxxxxxxx1 f1cvtl. */ - return 3560; + return 3617; } else { @@ -5893,7 +5893,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001101xxx10111000xxxxxxxxx1 f2cvtl. */ - return 3561; + return 3618; } } else @@ -5904,7 +5904,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001011xxx10111000xxxxxxxxx1 bf1cvtl. */ - return 3555; + return 3612; } else { @@ -5912,7 +5912,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001111xxx10111000xxxxxxxxx1 bf2cvtl. */ - return 3556; + return 3613; } } } @@ -5936,7 +5936,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx100001111000xxxx0xxxx0 fcvtzs. */ - return 2562; + return 2619; } else { @@ -5944,7 +5944,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx110001111000xxxx0xxxx0 fcvtzs. */ - return 2563; + return 2620; } } else @@ -5955,7 +5955,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx101001111000xxxx0xxxx0 frintp. */ - return 2622; + return 2679; } else { @@ -5963,7 +5963,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx111001111000xxxx0xxxx0 frintp. */ - return 2623; + return 2680; } } } @@ -5975,7 +5975,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx10x001111000xxxx1xxxx0 fcvtzu. */ - return 2564; + return 2621; } else { @@ -5983,7 +5983,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx11x001111000xxxx1xxxx0 fcvtzu. */ - return 2565; + return 2622; } } } @@ -5995,7 +5995,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx10x101111000xxxxxxxxx0 sunpk. */ - return 2879; + return 2936; } else { @@ -6003,7 +6003,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx11x101111000xxxxxxxxx0 sunpk. */ - return 2880; + return 2937; } } } @@ -6015,7 +6015,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx10xx01111000xxxxxxxxx1 uunpk. */ - return 2967; + return 3024; } else { @@ -6023,7 +6023,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx11xx01111000xxxxxxxxx1 uunpk. */ - return 2968; + return 3025; } } } @@ -6041,7 +6041,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x010x011111000xxxx0xxxxx sqcvt. */ - return 2779; + return 2836; } else { @@ -6049,7 +6049,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x110x011111000xxxx0xxxxx sqcvtu. */ - return 2782; + return 2839; } } else @@ -6062,7 +6062,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x011x011111000xxx00xxxxx sqcvt. */ - return 2780; + return 2837; } else { @@ -6070,7 +6070,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x111x011111000xxx00xxxxx sqcvtu. */ - return 2783; + return 2840; } } else @@ -6081,7 +6081,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x011x011111000xxx10xxxxx sqcvtn. */ - return 2781; + return 2838; } else { @@ -6089,7 +6089,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001x111x011111000xxx10xxxxx sqcvtun. */ - return 2784; + return 2841; } } } @@ -6102,7 +6102,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xx111111000xxxx0xxx0x zip. */ - return 2987; + return 3044; } else { @@ -6110,7 +6110,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xx111111000xxxx0xxx1x uzp. */ - return 2974; + return 3031; } } } @@ -6122,7 +6122,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx10xx11111000xxxx1xxxxx uqcvt. */ - return 2942; + return 2999; } else { @@ -6132,7 +6132,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx11xx11111000xxx01xxxxx uqcvt. */ - return 2943; + return 3000; } else { @@ -6140,7 +6140,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx11xx11111000xxx11xxxxx uqcvtn. */ - return 2944; + return 3001; } } } @@ -6164,7 +6164,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1100x0000xxxx0 smax. */ - return 2739; + return 2796; } else { @@ -6172,7 +6172,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1100x1000xxxx0 fmax. */ - return 2574; + return 2631; } } else @@ -6181,7 +6181,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1100xx100xxxx0 bfscale. */ - return 3013; + return 3070; } } else @@ -6190,7 +6190,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1100xxx10xxxx0 famax. */ - return 1264; + return 1310; } } else @@ -6203,7 +6203,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x110000xx1xxxx0 smin. */ - return 2743; + return 2800; } else { @@ -6211,7 +6211,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x110010xx1xxxx0 srshl. */ - return 2797; + return 2854; } } else @@ -6220,7 +6220,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1100x1xx1xxxx0 fmaxnm. */ - return 2578; + return 2635; } } } @@ -6236,7 +6236,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1100x0x00xxxx1 umax. */ - return 2902; + return 2959; } else { @@ -6244,7 +6244,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1100x1x00xxxx1 fmin. */ - return 2582; + return 2639; } } else @@ -6253,7 +6253,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1100xxx10xxxx1 famin. */ - return 1266; + return 1312; } } else @@ -6266,7 +6266,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x110000xx1xxxx1 umin. */ - return 2906; + return 2963; } else { @@ -6274,7 +6274,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x110010xx1xxxx1 urshl. */ - return 2950; + return 3007; } } else @@ -6283,7 +6283,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1100x1xx1xxxx1 fminnm. */ - return 2586; + return 2643; } } } @@ -6307,7 +6307,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx101010x00x0xxxx0 smax. */ - return 2738; + return 2795; } else { @@ -6317,7 +6317,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx101010010x0xxxx0 fmax. */ - return 2573; + return 2630; } else { @@ -6325,7 +6325,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx101010110x0xxxx0 add. */ - return 2527; + return 2584; } } } @@ -6335,7 +6335,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx101010xx1x0xxxx0 bfscale. */ - return 3012; + return 3069; } } else @@ -6346,7 +6346,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxx0111010xxxx0xxxx0 bfmul. */ - return 3015; + return 3072; } else { @@ -6354,7 +6354,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxx1111010xxxx0xxxx0 bfmul. */ - return 3016; + return 3073; } } } @@ -6370,7 +6370,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1110x0000xxxx0 smax. */ - return 2740; + return 2797; } else { @@ -6378,7 +6378,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1110x1000xxxx0 fmax. */ - return 2575; + return 2632; } } else @@ -6387,7 +6387,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1110xx100xxxx0 bfscale. */ - return 3014; + return 3071; } } else @@ -6396,7 +6396,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1110xxx10xxxx0 famax. */ - return 1265; + return 1311; } } } @@ -6412,7 +6412,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x101000xx1xxxx0 smin. */ - return 2742; + return 2799; } else { @@ -6420,7 +6420,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x111000xx1xxxx0 smin. */ - return 2744; + return 2801; } } else @@ -6431,7 +6431,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x101010xx1xxxx0 srshl. */ - return 2796; + return 2853; } else { @@ -6439,7 +6439,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x111010xx1xxxx0 srshl. */ - return 2798; + return 2855; } } } @@ -6451,7 +6451,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1010x1xx1xxxx0 fmaxnm. */ - return 2577; + return 2634; } else { @@ -6459,7 +6459,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1110x1xx1xxxx0 fmaxnm. */ - return 2579; + return 2636; } } } @@ -6478,7 +6478,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1010x0x00xxxx1 umax. */ - return 2901; + return 2958; } else { @@ -6486,7 +6486,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1110x0x00xxxx1 umax. */ - return 2903; + return 2960; } } else @@ -6497,7 +6497,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1010x1x00xxxx1 fmin. */ - return 2581; + return 2638; } else { @@ -6505,7 +6505,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1110x1x00xxxx1 fmin. */ - return 2583; + return 2640; } } } @@ -6515,7 +6515,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1x10xxx10xxxx1 famin. */ - return 1267; + return 1313; } } else @@ -6530,7 +6530,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x101000xx1xxxx1 umin. */ - return 2905; + return 2962; } else { @@ -6538,7 +6538,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x111000xx1xxxx1 umin. */ - return 2907; + return 2964; } } else @@ -6549,7 +6549,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x101010xx1xxxx1 urshl. */ - return 2949; + return 3006; } else { @@ -6557,7 +6557,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x111010xx1xxxx1 urshl. */ - return 2951; + return 3008; } } } @@ -6569,7 +6569,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1010x1xx1xxxx1 fminnm. */ - return 2585; + return 2642; } else { @@ -6577,7 +6577,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1110x1xx1xxxx1 fminnm. */ - return 2587; + return 2644; } } } @@ -6596,7 +6596,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx101001xxxxxxxxxx sqdmulh. */ - return 2785; + return 2842; } else { @@ -6606,7 +6606,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxx0111001xxxxxxxxxx bfmul. */ - return 3017; + return 3074; } else { @@ -6614,7 +6614,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxx1111001xxxxxxxxxx bfmul. */ - return 3018; + return 3075; } } } @@ -6624,7 +6624,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1101xxxxxxxxxx sqdmulh. */ - return 2787; + return 2844; } } else @@ -6635,7 +6635,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1011xxxxxxxxxx sqdmulh. */ - return 2786; + return 2843; } else { @@ -6643,7 +6643,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1000001xx1xxxxx1x1111xxxxxxxxxx sqdmulh. */ - return 2788; + return 2845; } } } @@ -6671,7 +6671,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001001xxxxx000xxxxxxxxx0xxx st1b. */ - return 2805; + return 2862; } else { @@ -6679,7 +6679,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001001xxxxx010xxxxxxxxx0xxx st1w. */ - return 2829; + return 2886; } } else @@ -6690,7 +6690,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001001xxxxx001xxxxxxxxx0xxx st1h. */ - return 2821; + return 2878; } else { @@ -6698,7 +6698,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001001xxxxx011xxxxxxxxx0xxx st1d. */ - return 2813; + return 2870; } } } @@ -6712,7 +6712,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001001xxxxx000xxxxxxxxx1xxx stnt1b. */ - return 2837; + return 2894; } else { @@ -6720,7 +6720,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001001xxxxx010xxxxxxxxx1xxx stnt1w. */ - return 2861; + return 2918; } } else @@ -6731,7 +6731,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001001xxxxx001xxxxxxxxx1xxx stnt1h. */ - return 2853; + return 2910; } else { @@ -6739,7 +6739,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001001xxxxx011xxxxxxxxx1xxx stnt1d. */ - return 2845; + return 2902; } } } @@ -6750,7 +6750,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1100001001xxxxx0xxxxxxxxxxxxxxx str. */ - return 2488; + return 2545; } } else @@ -6767,7 +6767,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001001xxxxx100xxxxxxxxx0xxx st1b. */ - return 2806; + return 2863; } else { @@ -6775,7 +6775,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1100001001xxxxx100xxxxxxxxx0xxx str. */ - return 2863; + return 2920; } } else @@ -6784,7 +6784,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001001xxxxx110xxxxxxxxx0xxx st1w. */ - return 2830; + return 2887; } } else @@ -6795,7 +6795,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001001xxxxx101xxxxxxxxx0xxx st1h. */ - return 2822; + return 2879; } else { @@ -6803,7 +6803,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001001xxxxx111xxxxxxxxx0xxx st1d. */ - return 2814; + return 2871; } } } @@ -6817,7 +6817,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001001xxxxx100xxxxxxxxx1xxx stnt1b. */ - return 2838; + return 2895; } else { @@ -6825,7 +6825,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001001xxxxx110xxxxxxxxx1xxx stnt1w. */ - return 2862; + return 2919; } } else @@ -6836,7 +6836,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001001xxxxx101xxxxxxxxx1xxx stnt1h. */ - return 2854; + return 2911; } else { @@ -6844,7 +6844,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001001xxxxx111xxxxxxxxx1xxx stnt1d. */ - return 2846; + return 2903; } } } @@ -6858,7 +6858,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001101xxxxxxxxxxxxxxxx0xxxx umopa. */ - return 2464; + return 2521; } else { @@ -6866,7 +6866,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001101xxxxxxxxxxxxxxxx1xxxx umops. */ - return 2466; + return 2523; } } } @@ -6886,7 +6886,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx000xxxxxxxxx0xxx st1b. */ - return 2801; + return 2858; } else { @@ -6894,7 +6894,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx100xxxxxxxxx0xxx st1b. */ - return 2802; + return 2859; } } else @@ -6905,7 +6905,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx010xxxxxxxxx0xxx st1w. */ - return 2825; + return 2882; } else { @@ -6913,7 +6913,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx110xxxxxxxxx0xxx st1w. */ - return 2826; + return 2883; } } } @@ -6927,7 +6927,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx001xxxxxxxxx0xxx st1h. */ - return 2817; + return 2874; } else { @@ -6935,7 +6935,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx101xxxxxxxxx0xxx st1h. */ - return 2818; + return 2875; } } else @@ -6946,7 +6946,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx011xxxxxxxxx0xxx st1d. */ - return 2809; + return 2866; } else { @@ -6954,7 +6954,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx111xxxxxxxxx0xxx st1d. */ - return 2810; + return 2867; } } } @@ -6971,7 +6971,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx000xxxxxxxxx1xxx stnt1b. */ - return 2833; + return 2890; } else { @@ -6979,7 +6979,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx100xxxxxxxxx1xxx stnt1b. */ - return 2834; + return 2891; } } else @@ -6990,7 +6990,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx010xxxxxxxxx1xxx stnt1w. */ - return 2857; + return 2914; } else { @@ -6998,7 +6998,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx110xxxxxxxxx1xxx stnt1w. */ - return 2858; + return 2915; } } } @@ -7012,7 +7012,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx001xxxxxxxxx1xxx stnt1h. */ - return 2849; + return 2906; } else { @@ -7020,7 +7020,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx101xxxxxxxxx1xxx stnt1h. */ - return 2850; + return 2907; } } else @@ -7031,7 +7031,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx011xxxxxxxxx1xxx stnt1d. */ - return 2841; + return 2898; } else { @@ -7039,7 +7039,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001011xxxxx111xxxxxxxxx1xxx stnt1d. */ - return 2842; + return 2899; } } } @@ -7055,7 +7055,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0100001111xxxxxxxxxxxxxxxx0xxxx umopa. */ - return 2465; + return 2522; } else { @@ -7063,7 +7063,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1100001111xxxxxxxxxxxxxxxx0xxxx st1q. */ - return 2486; + return 2543; } } else @@ -7072,7 +7072,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx100001111xxxxxxxxxxxxxxxx1xxxx umops. */ - return 2467; + return 2524; } } } @@ -7136,32 +7136,43 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 21) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + if (((word >> 24) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 0000100x000xxxxx0xxxxxxxxxxxxxxx - stxrb. */ - return 989; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 00001000000xxxxx0xxxxxxxxxxxxxxx + stxrb. */ + return 989; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 01001000000xxxxx0xxxxxxxxxxxxxxx + stxrh. */ + return 995; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 0100100x000xxxxx0xxxxxxxxxxxxxxx - stxrh. */ - return 995; + 1x001000000xxxxx0xxxxxxxxxxxxxxx + stxr. */ + return 1001; } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 1x00100x000xxxxx0xxxxxxxxxxxxxxx - stxr. */ - return 1001; + xx001001000xxxxx0xxxxxxxxxxxxxxx + sttxr. */ + return 1252; } } else @@ -7188,32 +7199,43 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 21) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + if (((word >> 24) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 0000100x000xxxxx1xxxxxxxxxxxxxxx - stlxrb. */ - return 990; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 00001000000xxxxx1xxxxxxxxxxxxxxx + stlxrb. */ + return 990; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 01001000000xxxxx1xxxxxxxxxxxxxxx + stlxrh. */ + return 996; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 0100100x000xxxxx1xxxxxxxxxxxxxxx - stlxrh. */ - return 996; + 1x001000000xxxxx1xxxxxxxxxxxxxxx + stlxr. */ + return 1002; } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 1x00100x000xxxxx1xxxxxxxxxxxxxxx - stlxr. */ - return 1002; + xx001001000xxxxx1xxxxxxxxxxxxxxx + stltxr. */ + return 1253; } } else @@ -7249,11 +7271,33 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x110100x00xxxxxxxxxxxxxxxxxxxxxx - stgp. */ - return 1032; + if (((word >> 24) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x110100000xxxxxxxxxxxxxxxxxxxxxx + sttnp. */ + return 1286; + } + else + { + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0110100100xxxxxxxxxxxxxxxxxxxxxx + stgp. */ + return 1032; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1110100100xxxxxxxxxxxxxxxxxxxxxx + sttp. */ + return 1290; + } + } } } } @@ -7265,21 +7309,43 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 21) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + if (((word >> 24) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 0x00100x100xxxxx0xxxxxxxxxxxxxxx - stllrb. */ - return 1021; + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001000100xxxxx0xxxxxxxxxxxxxxx + stllrb. */ + return 1021; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1x001000100xxxxx0xxxxxxxxxxxxxxx + stllr. */ + return 1020; + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 1x00100x100xxxxx0xxxxxxxxxxxxxxx - stllr. */ - return 1020; + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001001100xxxxx0xxxxxxxxxxxxxxx + caspt. */ + return 1258; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1x001001100xxxxx0xxxxxxxxxxxxxxx + cast. */ + return 1254; + } } } else @@ -7317,32 +7383,54 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 21) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + if (((word >> 24) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 0000100x100xxxxx1xxxxxxxxxxxxxxx - stlrb. */ - return 993; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 00001000100xxxxx1xxxxxxxxxxxxxxx + stlrb. */ + return 993; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 01001000100xxxxx1xxxxxxxxxxxxxxx + stlrh. */ + return 999; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 0100100x100xxxxx1xxxxxxxxxxxxxxx - stlrh. */ - return 999; + 1x001000100xxxxx1xxxxxxxxxxxxxxx + stlr. */ + return 1009; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 1x00100x100xxxxx1xxxxxxxxxxxxxxx - stlr. */ - return 1009; + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001001100xxxxx1xxxxxxxxxxxxxxx + casplt. */ + return 1261; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1x001001100xxxxx1xxxxxxxxxxxxxxx + caslt. */ + return 1257; + } } } else @@ -7389,11 +7477,22 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x110100x10xxxxxxxxxxxxxxxxxxxxxx - stgp. */ - return 1038; + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0110100x10xxxxxxxxxxxxxxxxxxxxxx + stgp. */ + return 1038; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1110100x10xxxxxxxxxxxxxxxxxxxxxx + sttp. */ + return 1294; + } } } } @@ -7408,32 +7507,43 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 21) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + if (((word >> 24) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 0000100x010xxxxx0xxxxxxxxxxxxxxx - ldxrb. */ - return 991; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 00001000010xxxxx0xxxxxxxxxxxxxxx + ldxrb. */ + return 991; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 01001000010xxxxx0xxxxxxxxxxxxxxx + ldxrh. */ + return 997; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 0100100x010xxxxx0xxxxxxxxxxxxxxx - ldxrh. */ - return 997; + 1x001000010xxxxx0xxxxxxxxxxxxxxx + ldxr. */ + return 1005; } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 1x00100x010xxxxx0xxxxxxxxxxxxxxx - ldxr. */ - return 1005; + xx001001010xxxxx0xxxxxxxxxxxxxxx + ldtxr. */ + return 1250; } } else @@ -7460,32 +7570,43 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 21) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + if (((word >> 24) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 0000100x010xxxxx1xxxxxxxxxxxxxxx - ldaxrb. */ - return 992; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 00001000010xxxxx1xxxxxxxxxxxxxxx + ldaxrb. */ + return 992; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 01001000010xxxxx1xxxxxxxxxxxxxxx + ldaxrh. */ + return 998; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 0100100x010xxxxx1xxxxxxxxxxxxxxx - ldaxrh. */ - return 998; + 1x001000010xxxxx1xxxxxxxxxxxxxxx + ldaxr. */ + return 1006; } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 1x00100x010xxxxx1xxxxxxxxxxxxxxx - ldaxr. */ - return 1006; + xx001001010xxxxx1xxxxxxxxxxxxxxx + ldatxr. */ + return 1251; } } else @@ -7521,11 +7642,33 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x110100x01xxxxxxxxxxxxxxxxxxxxxx - ldpsw. */ - return 1031; + if (((word >> 24) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + x110100001xxxxxxxxxxxxxxxxxxxxxx + ldtnp. */ + return 1284; + } + else + { + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0110100101xxxxxxxxxxxxxxxxxxxxxx + ldpsw. */ + return 1031; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1110100101xxxxxxxxxxxxxxxxxxxxxx + ldtp. */ + return 1288; + } + } } } } @@ -7537,32 +7680,54 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 21) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + if (((word >> 24) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 0000100x110xxxxx0xxxxxxxxxxxxxxx - ldlarb. */ - return 1018; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 00001000110xxxxx0xxxxxxxxxxxxxxx + ldlarb. */ + return 1018; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 01001000110xxxxx0xxxxxxxxxxxxxxx + ldlarh. */ + return 1019; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 0100100x110xxxxx0xxxxxxxxxxxxxxx - ldlarh. */ - return 1019; + 1x001000110xxxxx0xxxxxxxxxxxxxxx + ldlar. */ + return 1017; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 1x00100x110xxxxx0xxxxxxxxxxxxxxx - ldlar. */ - return 1017; + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001001110xxxxx0xxxxxxxxxxxxxxx + caspat. */ + return 1259; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1x001001110xxxxx0xxxxxxxxxxxxxxx + casat. */ + return 1255; + } } } else @@ -7600,32 +7765,54 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 21) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + if (((word >> 24) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) + if (((word >> 31) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 0000100x110xxxxx1xxxxxxxxxxxxxxx - ldarb. */ - return 994; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 00001000110xxxxx1xxxxxxxxxxxxxxx + ldarb. */ + return 994; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 01001000110xxxxx1xxxxxxxxxxxxxxx + ldarh. */ + return 1000; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 0100100x110xxxxx1xxxxxxxxxxxxxxx - ldarh. */ - return 1000; + 1x001000110xxxxx1xxxxxxxxxxxxxxx + ldar. */ + return 1010; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 1x00100x110xxxxx1xxxxxxxxxxxxxxx - ldar. */ - return 1010; + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x001001110xxxxx1xxxxxxxxxxxxxxx + caspalt. */ + return 1260; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1x001001110xxxxx1xxxxxxxxxxxxxxx + casalt. */ + return 1256; + } } } else @@ -7672,11 +7859,22 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x110100x11xxxxxxxxxxxxxxxxxxxxxx - ldpsw. */ - return 1037; + if (((word >> 31) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0110100x11xxxxxxxxxxxxxxxxxxxxxx + ldpsw. */ + return 1037; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1110100x11xxxxxxxxxxxxxxxxxxxxxx + ldtp. */ + return 1292; + } } } } @@ -8404,7 +8602,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0111000001xxxxx101000xxxxxxxxxx rcwswp. */ - return 3366; + return 3423; } else { @@ -8414,7 +8612,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000001xxxxx101000xxxxxxxxxx rcwsswp. */ - return 3374; + return 3431; } else { @@ -8434,7 +8632,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0111000101xxxxx101000xxxxxxxxxx rcwswpa. */ - return 3367; + return 3424; } else { @@ -8442,7 +8640,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1111000101xxxxx101000xxxxxxxxxx rcwsswpa. */ - return 3375; + return 3432; } } } @@ -8456,7 +8654,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0111000011xxxxx101000xxxxxxxxxx rcwswpl. */ - return 3369; + return 3426; } else { @@ -8464,7 +8662,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1111000011xxxxx101000xxxxxxxxxx rcwsswpl. */ - return 3377; + return 3434; } } else @@ -8475,7 +8673,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0111000111xxxxx101000xxxxxxxxxx rcwswpal. */ - return 3368; + return 3425; } else { @@ -8483,7 +8681,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1111000111xxxxx101000xxxxxxxxxx rcwsswpal. */ - return 3376; + return 3433; } } } @@ -8767,7 +8965,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0111000001xxxxx100100xxxxxxxxxx rcwclr. */ - return 3334; + return 3391; } else { @@ -8777,7 +8975,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000001xxxxx100100xxxxxxxxxx rcwsclr. */ - return 3342; + return 3399; } else { @@ -8797,7 +8995,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0111000101xxxxx100100xxxxxxxxxx rcwclra. */ - return 3335; + return 3392; } else { @@ -8805,7 +9003,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1111000101xxxxx100100xxxxxxxxxx rcwsclra. */ - return 3343; + return 3400; } } } @@ -8819,7 +9017,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0111000011xxxxx100100xxxxxxxxxx rcwclrl. */ - return 3337; + return 3394; } else { @@ -8827,7 +9025,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1111000011xxxxx100100xxxxxxxxxx rcwsclrl. */ - return 3345; + return 3402; } } else @@ -8838,7 +9036,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0111000111xxxxx100100xxxxxxxxxx rcwclral. */ - return 3336; + return 3393; } else { @@ -8846,7 +9044,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1111000111xxxxx100100xxxxxxxxxx rcwsclral. */ - return 3344; + return 3401; } } } @@ -9138,7 +9336,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0111000001xxxxx101100xxxxxxxxxx rcwset. */ - return 3350; + return 3407; } else { @@ -9148,7 +9346,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01111000001xxxxx101100xxxxxxxxxx rcwsset. */ - return 3358; + return 3415; } else { @@ -9168,7 +9366,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0111000101xxxxx101100xxxxxxxxxx rcwseta. */ - return 3351; + return 3408; } else { @@ -9176,7 +9374,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1111000101xxxxx101100xxxxxxxxxx rcwsseta. */ - return 3359; + return 3416; } } } @@ -9190,7 +9388,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0111000011xxxxx101100xxxxxxxxxx rcwsetl. */ - return 3353; + return 3410; } else { @@ -9198,7 +9396,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1111000011xxxxx101100xxxxxxxxxx rcwssetl. */ - return 3361; + return 3418; } } else @@ -9209,7 +9407,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0111000111xxxxx101100xxxxxxxxxx rcwsetal. */ - return 3352; + return 3409; } else { @@ -9217,7 +9415,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1111000111xxxxx101100xxxxxxxxxx rcwssetal. */ - return 3360; + return 3417; } } } @@ -9705,7 +9903,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00011001000xxxxxxxxx00xxxxxxxxxx stlurb. */ - return 3059; + return 3116; } else { @@ -9713,7 +9911,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 10011001000xxxxxxxxx00xxxxxxxxxx stlur. */ - return 3067; + return 3124; } } else @@ -9724,7 +9922,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01011001000xxxxxxxxx00xxxxxxxxxx stlurh. */ - return 3063; + return 3120; } else { @@ -9732,7 +9930,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11011001000xxxxxxxxx00xxxxxxxxxx stlur. */ - return 3070; + return 3127; } } } @@ -9767,7 +9965,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011001001xxxxxxx1000xxxxxxxxxx rcwswpp. */ - return 3370; + return 3427; } else { @@ -9775,7 +9973,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1011001001xxxxxxx1000xxxxxxxxxx rcwsswpp. */ - return 3378; + return 3435; } } } @@ -9799,7 +9997,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011001001xxxxx1x0100xxxxxxxxxx rcwclrp. */ - return 3338; + return 3395; } else { @@ -9807,7 +10005,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1011001001xxxxx1x0100xxxxxxxxxx rcwsclrp. */ - return 3346; + return 3403; } } } @@ -9829,7 +10027,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011001001xxxxx1x1100xxxxxxxxxx rcwsetp. */ - return 3354; + return 3411; } else { @@ -9837,7 +10035,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1011001001xxxxx1x1100xxxxxxxxxx rcwssetp. */ - return 3362; + return 3419; } } } @@ -9852,7 +10050,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxxxxxx10xxxxxxxxxx stilp. */ - return 1251; + return 1297; } else { @@ -9862,7 +10060,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011001001xxxxxxxxx10xxxxxxxxxx rcwcas. */ - return 3318; + return 3375; } else { @@ -9872,7 +10070,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01011001001xxxxxxxxx10xxxxxxxxxx rcwscas. */ - return 3326; + return 3383; } else { @@ -9904,7 +10102,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx000001xxxxxxxxxx cpyfp. */ - return 3184; + return 3241; } else { @@ -9912,7 +10110,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx100001xxxxxxxxxx cpyfprn. */ - return 3190; + return 3247; } } else @@ -9923,7 +10121,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx010001xxxxxxxxxx cpyfpwn. */ - return 3187; + return 3244; } else { @@ -9931,7 +10129,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx110001xxxxxxxxxx cpyfpn. */ - return 3193; + return 3250; } } } @@ -9945,7 +10143,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx001001xxxxxxxxxx cpyfprt. */ - return 3208; + return 3265; } else { @@ -9953,7 +10151,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx101001xxxxxxxxxx cpyfprtrn. */ - return 3214; + return 3271; } } else @@ -9964,7 +10162,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx011001xxxxxxxxxx cpyfprtwn. */ - return 3211; + return 3268; } else { @@ -9972,7 +10170,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx111001xxxxxxxxxx cpyfprtn. */ - return 3217; + return 3274; } } } @@ -9989,7 +10187,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx000101xxxxxxxxxx cpyfpwt. */ - return 3196; + return 3253; } else { @@ -9997,7 +10195,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx100101xxxxxxxxxx cpyfpwtrn. */ - return 3202; + return 3259; } } else @@ -10008,7 +10206,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx010101xxxxxxxxxx cpyfpwtwn. */ - return 3199; + return 3256; } else { @@ -10016,7 +10214,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx110101xxxxxxxxxx cpyfpwtn. */ - return 3205; + return 3262; } } } @@ -10030,7 +10228,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx001101xxxxxxxxxx cpyfpt. */ - return 3220; + return 3277; } else { @@ -10038,7 +10236,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx101101xxxxxxxxxx cpyfptrn. */ - return 3226; + return 3283; } } else @@ -10049,7 +10247,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx011101xxxxxxxxxx cpyfptwn. */ - return 3223; + return 3280; } else { @@ -10057,7 +10255,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxx111101xxxxxxxxxx cpyfptn. */ - return 3229; + return 3286; } } } @@ -10071,7 +10269,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxxxxx011xxxxxxxxxx gcsstr. */ - return 1321; + return 1368; } else { @@ -10079,39 +10277,83 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001000xxxxxxxx111xxxxxxxxxx gcssttr. */ - return 1322; + return 1369; } } } else { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x0011001001xxxxxxxxxx1xxxxxxxxxx - rcwcasp. */ - return 3322; - } - else + if (((word >> 31) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 01011001001xxxxxxxxxx1xxxxxxxxxx - rcwscasp. */ - return 3330; + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 15) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x011001001xxxxx0xx001xxxxxxxxxx + ldtadd. */ + return 1266; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x011001001xxxxx1xx001xxxxxxxxxx + swpt. */ + return 1262; + } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x011001001xxxxxxx0101xxxxxxxxxx + ldtclr. */ + return 1272; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x011001001xxxxxxx1101xxxxxxxxxx + ldtset. */ + return 1278; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 11011001001xxxxxxxxxx1xxxxxxxxxx - stg. */ - return 937; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 00011001001xxxxxxxxx11xxxxxxxxxx + rcwcasp. */ + return 3379; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 01011001001xxxxxxxxx11xxxxxxxxxx + rcwscasp. */ + return 3387; + } } } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1x011001001xxxxxxxxxx1xxxxxxxxxx + stg. */ + return 937; + } } } } @@ -10164,7 +10406,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00011001010xxxxxxxxx00xxxxxxxxxx ldapurb. */ - return 3060; + return 3117; } else { @@ -10172,7 +10414,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 10011001010xxxxxxxxx00xxxxxxxxxx ldapur. */ - return 3068; + return 3125; } } else @@ -10183,7 +10425,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01011001010xxxxxxxxx00xxxxxxxxxx ldapurh. */ - return 3064; + return 3121; } else { @@ -10191,7 +10433,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11011001010xxxxxxxxx00xxxxxxxxxx ldapur. */ - return 3071; + return 3128; } } } @@ -10215,7 +10457,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011001011xxxxxxx1000xxxxxxxxxx rcwswppl. */ - return 3373; + return 3430; } } else @@ -10236,7 +10478,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011001011xxxxx1x0100xxxxxxxxxx rcwclrpl. */ - return 3341; + return 3398; } } else @@ -10255,7 +10497,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011001011xxxxx1x1100xxxxxxxxxx rcwsetpl. */ - return 3357; + return 3414; } } } @@ -10270,7 +10512,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01011001011xxxxxxxx000xxxxxxxxxx rcwsswppl. */ - return 3381; + return 3438; } else { @@ -10280,7 +10522,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01011001011xxxxxxx0100xxxxxxxxxx rcwsclrpl. */ - return 3349; + return 3406; } else { @@ -10288,7 +10530,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01011001011xxxxxxx1100xxxxxxxxxx rcwssetpl. */ - return 3365; + return 3422; } } } @@ -10311,7 +10553,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxxxxxx10xxxxxxxxxx ldiapp. */ - return 1250; + return 1296; } else { @@ -10321,7 +10563,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011001011xxxxxxxxx10xxxxxxxxxx rcwcasl. */ - return 3321; + return 3378; } else { @@ -10331,7 +10573,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01011001011xxxxxxxxx10xxxxxxxxxx rcwscasl. */ - return 3329; + return 3386; } else { @@ -10361,7 +10603,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx0000x1xxxxxxxxxx cpyfm. */ - return 3185; + return 3242; } else { @@ -10369,7 +10611,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx1000x1xxxxxxxxxx cpyfmrn. */ - return 3191; + return 3248; } } else @@ -10380,7 +10622,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx0100x1xxxxxxxxxx cpyfmwn. */ - return 3188; + return 3245; } else { @@ -10388,7 +10630,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx1100x1xxxxxxxxxx cpyfmn. */ - return 3194; + return 3251; } } } @@ -10402,7 +10644,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx0010x1xxxxxxxxxx cpyfmrt. */ - return 3209; + return 3266; } else { @@ -10410,7 +10652,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx1010x1xxxxxxxxxx cpyfmrtrn. */ - return 3215; + return 3272; } } else @@ -10421,7 +10663,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx0110x1xxxxxxxxxx cpyfmrtwn. */ - return 3212; + return 3269; } else { @@ -10429,7 +10671,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx1110x1xxxxxxxxxx cpyfmrtn. */ - return 3218; + return 3275; } } } @@ -10446,7 +10688,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx0001x1xxxxxxxxxx cpyfmwt. */ - return 3197; + return 3254; } else { @@ -10454,7 +10696,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx1001x1xxxxxxxxxx cpyfmwtrn. */ - return 3203; + return 3260; } } else @@ -10465,7 +10707,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx0101x1xxxxxxxxxx cpyfmwtwn. */ - return 3200; + return 3257; } else { @@ -10473,7 +10715,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx1101x1xxxxxxxxxx cpyfmwtn. */ - return 3206; + return 3263; } } } @@ -10487,7 +10729,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx0011x1xxxxxxxxxx cpyfmt. */ - return 3221; + return 3278; } else { @@ -10495,7 +10737,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx1011x1xxxxxxxxxx cpyfmtrn. */ - return 3227; + return 3284; } } else @@ -10506,7 +10748,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx0111x1xxxxxxxxxx cpyfmtwn. */ - return 3224; + return 3281; } else { @@ -10514,7 +10756,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001010xxxxx1111x1xxxxxxxxxx cpyfmtn. */ - return 3230; + return 3287; } } } @@ -10522,33 +10764,77 @@ aarch64_opcode_lookup_1 (uint32_t word) } else { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x0011001011xxxxxxxxxx1xxxxxxxxxx - rcwcaspl. */ - return 3325; - } - else + if (((word >> 31) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 01011001011xxxxxxxxxx1xxxxxxxxxx - rcwscaspl. */ - return 3333; + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 15) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x011001011xxxxx0xx001xxxxxxxxxx + ldtaddl. */ + return 1270; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x011001011xxxxx1xx001xxxxxxxxxx + swptl. */ + return 1265; + } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x011001011xxxxxxx0101xxxxxxxxxx + ldtclrl. */ + return 1276; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x011001011xxxxxxx1101xxxxxxxxxx + ldtsetl. */ + return 1282; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 11011001011xxxxxxxxxx1xxxxxxxxxx - stzg. */ - return 938; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 00011001011xxxxxxxxx11xxxxxxxxxx + rcwcaspl. */ + return 3382; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 01011001011xxxxxxxxx11xxxxxxxxxx + rcwscaspl. */ + return 3390; + } } } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1x011001011xxxxxxxxxx1xxxxxxxxxx + stzg. */ + return 938; + } } } } @@ -10604,7 +10890,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00011001100xxxxxxxxx00xxxxxxxxxx ldapursb. */ - return 3062; + return 3119; } else { @@ -10612,7 +10898,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 10011001100xxxxxxxxx00xxxxxxxxxx ldapursw. */ - return 3069; + return 3126; } } else @@ -10621,7 +10907,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1011001100xxxxxxxxx00xxxxxxxxxx ldapursh. */ - return 3066; + return 3123; } } else @@ -10632,7 +10918,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011001110xxxxxxxxx00xxxxxxxxxx ldapursb. */ - return 3061; + return 3118; } else { @@ -10640,7 +10926,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1011001110xxxxxxxxx00xxxxxxxxxx ldapursh. */ - return 3065; + return 3122; } } } @@ -10699,7 +10985,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011001101xxxxxxx1000xxxxxxxxxx rcwswppa. */ - return 3371; + return 3428; } else { @@ -10707,7 +10993,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1011001101xxxxxxx1000xxxxxxxxxx rcwsswppa. */ - return 3379; + return 3436; } } else @@ -10718,7 +11004,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011001111xxxxxxx1000xxxxxxxxxx rcwswppal. */ - return 3372; + return 3429; } else { @@ -10726,7 +11012,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1011001111xxxxxxx1000xxxxxxxxxx rcwsswppal. */ - return 3380; + return 3437; } } } @@ -10764,7 +11050,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011001101xxxxx1x0100xxxxxxxxxx rcwclrpa. */ - return 3339; + return 3396; } else { @@ -10772,7 +11058,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1011001101xxxxx1x0100xxxxxxxxxx rcwsclrpa. */ - return 3347; + return 3404; } } else @@ -10783,7 +11069,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011001111xxxxx1x0100xxxxxxxxxx rcwclrpal. */ - return 3340; + return 3397; } else { @@ -10791,7 +11077,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1011001111xxxxx1x0100xxxxxxxxxx rcwsclrpal. */ - return 3348; + return 3405; } } } @@ -10827,7 +11113,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011001101xxxxx1x1100xxxxxxxxxx rcwsetpa. */ - return 3355; + return 3412; } else { @@ -10835,7 +11121,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1011001101xxxxx1x1100xxxxxxxxxx rcwssetpa. */ - return 3363; + return 3420; } } else @@ -10846,7 +11132,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011001111xxxxx1x1100xxxxxxxxxx rcwsetpal. */ - return 3356; + return 3413; } else { @@ -10854,7 +11140,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1011001111xxxxx1x1100xxxxxxxxxx rcwssetpal. */ - return 3364; + return 3421; } } } @@ -10872,7 +11158,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxxxxxx10xxxxxxxxxx stlr. */ - return 1253; + return 1299; } else { @@ -10880,7 +11166,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxxxxxx10xxxxxxxxxx ldapr. */ - return 1252; + return 1298; } } else @@ -10893,7 +11179,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011001101xxxxxxxxx10xxxxxxxxxx rcwcasa. */ - return 3319; + return 3376; } else { @@ -10903,7 +11189,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01011001101xxxxxxxxx10xxxxxxxxxx rcwscasa. */ - return 3327; + return 3384; } else { @@ -10923,7 +11209,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0011001111xxxxxxxxx10xxxxxxxxxx rcwcasal. */ - return 3320; + return 3377; } else { @@ -10933,7 +11219,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01011001111xxxxxxxxx10xxxxxxxxxx rcwscasal. */ - return 3328; + return 3385; } else { @@ -10966,7 +11252,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx0000x1xxxxxxxxxx cpyfe. */ - return 3186; + return 3243; } else { @@ -10974,7 +11260,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx0000x1xxxxxxxxxx setp. */ - return 3280; + return 3337; } } else @@ -10985,7 +11271,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx1000x1xxxxxxxxxx cpyfern. */ - return 3192; + return 3249; } else { @@ -10993,7 +11279,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx1000x1xxxxxxxxxx sete. */ - return 3282; + return 3339; } } } @@ -11007,7 +11293,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx0100x1xxxxxxxxxx cpyfewn. */ - return 3189; + return 3246; } else { @@ -11015,7 +11301,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx0100x1xxxxxxxxxx setm. */ - return 3281; + return 3338; } } else @@ -11024,7 +11310,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0110011x0xxxxx1100x1xxxxxxxxxx cpyfen. */ - return 3195; + return 3252; } } } @@ -11040,7 +11326,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx0010x1xxxxxxxxxx cpyfert. */ - return 3210; + return 3267; } else { @@ -11048,7 +11334,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx0010x1xxxxxxxxxx setpn. */ - return 3286; + return 3343; } } else @@ -11059,7 +11345,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx1010x1xxxxxxxxxx cpyfertrn. */ - return 3216; + return 3273; } else { @@ -11067,7 +11353,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx1010x1xxxxxxxxxx seten. */ - return 3288; + return 3345; } } } @@ -11081,7 +11367,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx0110x1xxxxxxxxxx cpyfertwn. */ - return 3213; + return 3270; } else { @@ -11089,7 +11375,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx0110x1xxxxxxxxxx setmn. */ - return 3287; + return 3344; } } else @@ -11098,7 +11384,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0110011x0xxxxx1110x1xxxxxxxxxx cpyfertn. */ - return 3219; + return 3276; } } } @@ -11117,7 +11403,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx0001x1xxxxxxxxxx cpyfewt. */ - return 3198; + return 3255; } else { @@ -11125,7 +11411,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx0001x1xxxxxxxxxx setpt. */ - return 3283; + return 3340; } } else @@ -11136,7 +11422,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx1001x1xxxxxxxxxx cpyfewtrn. */ - return 3204; + return 3261; } else { @@ -11144,7 +11430,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx1001x1xxxxxxxxxx setet. */ - return 3285; + return 3342; } } } @@ -11158,7 +11444,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx0101x1xxxxxxxxxx cpyfewtwn. */ - return 3201; + return 3258; } else { @@ -11166,7 +11452,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx0101x1xxxxxxxxxx setmt. */ - return 3284; + return 3341; } } else @@ -11175,7 +11461,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0110011x0xxxxx1101x1xxxxxxxxxx cpyfewtn. */ - return 3207; + return 3264; } } } @@ -11191,7 +11477,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx0011x1xxxxxxxxxx cpyfet. */ - return 3222; + return 3279; } else { @@ -11199,7 +11485,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx0011x1xxxxxxxxxx setptn. */ - return 3289; + return 3346; } } else @@ -11210,7 +11496,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx1011x1xxxxxxxxxx cpyfetrn. */ - return 3228; + return 3285; } else { @@ -11218,7 +11504,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx1011x1xxxxxxxxxx setetn. */ - return 3291; + return 3348; } } } @@ -11232,7 +11518,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001100xxxxx0111x1xxxxxxxxxx cpyfetwn. */ - return 3225; + return 3282; } else { @@ -11240,7 +11526,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011001110xxxxx0111x1xxxxxxxxxx setmtn. */ - return 3290; + return 3347; } } else @@ -11249,7 +11535,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0110011x0xxxxx1111x1xxxxxxxxxx cpyfetn. */ - return 3231; + return 3288; } } } @@ -11259,63 +11545,151 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 22) & 0x1) == 0) { - if (((word >> 30) & 0x1) == 0) - { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - x0011001101xxxxxxxxxx1xxxxxxxxxx - rcwcaspa. */ - return 3323; - } - else + if (((word >> 31) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 01011001101xxxxxxxxxx1xxxxxxxxxx - rcwscaspa. */ - return 3331; + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 15) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x011001101xxxxx0xx001xxxxxxxxxx + ldtadda. */ + return 1268; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x011001101xxxxx1xx001xxxxxxxxxx + swpta. */ + return 1263; + } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x011001101xxxxxxx0101xxxxxxxxxx + ldtclra. */ + return 1274; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x011001101xxxxxxx1101xxxxxxxxxx + ldtseta. */ + return 1280; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 11011001101xxxxxxxxxx1xxxxxxxxxx - st2g. */ - return 939; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 00011001101xxxxxxxxx11xxxxxxxxxx + rcwcaspa. */ + return 3380; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 01011001101xxxxxxxxx11xxxxxxxxxx + rcwscaspa. */ + return 3388; + } } } - } - else - { - if (((word >> 30) & 0x1) == 0) + else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - x0011001111xxxxxxxxxx1xxxxxxxxxx - rcwcaspal. */ - return 3324; + 1x011001101xxxxxxxxxx1xxxxxxxxxx + st2g. */ + return 939; } - else + } + else + { + if (((word >> 31) & 0x1) == 0) { - if (((word >> 31) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 01011001111xxxxxxxxxx1xxxxxxxxxx - rcwscaspal. */ - return 3332; + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 15) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x011001111xxxxx0xx001xxxxxxxxxx + ldtaddal. */ + return 1269; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x011001111xxxxx1xx001xxxxxxxxxx + swptal. */ + return 1264; + } + } + else + { + if (((word >> 13) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x011001111xxxxxxx0101xxxxxxxxxx + ldtclral. */ + return 1275; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 0x011001111xxxxxxx1101xxxxxxxxxx + ldtsetal. */ + return 1281; + } + } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 11011001111xxxxxxxxxx1xxxxxxxxxx - stz2g. */ - return 940; + if (((word >> 30) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 00011001111xxxxxxxxx11xxxxxxxxxx + rcwcaspal. */ + return 3381; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 01011001111xxxxxxxxx11xxxxxxxxxx + rcwscaspal. */ + return 3389; + } } } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 1x011001111xxxxxxxxxx1xxxxxxxxxx + stz2g. */ + return 940; + } } } } @@ -11423,7 +11797,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x00x00101xxxxxxxxxxxxxxxxxxxxxxx movn. */ - return 1268; + return 1314; } else { @@ -11431,7 +11805,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10x00101xxxxxxxxxxxxxxxxxxxxxxx movz. */ - return 1270; + return 1316; } } else @@ -11440,7 +11814,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx1x00101xxxxxxxxxxxxxxxxxxxxxxx movk. */ - return 1272; + return 1318; } } } @@ -11548,7 +11922,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010000xxxxxx00x10xxxxxxxxxx setf8. */ - return 3057; + return 3114; } else { @@ -11556,7 +11930,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010000xxxxxx10x10xxxxxxxxxx setf16. */ - return 3058; + return 3115; } } } @@ -11566,7 +11940,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010000xxxxxxx0xx1xxxxxxxxxx rmif. */ - return 3056; + return 3113; } } else @@ -11577,7 +11951,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0x11010000xxxxxxx1xxxxxxxxxxxxx addpt. */ - return 3569; + return 3626; } else { @@ -11585,7 +11959,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1x11010000xxxxxxx1xxxxxxxxxxxxx subpt. */ - return 3570; + return 3627; } } } @@ -11743,7 +12117,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1x11010110xxxx0x01000xxxxxxxxxx abs. */ - return 3309; + return 3366; } else { @@ -11761,7 +12135,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010110xxxxxx11000xxxxxxxxxx smax. */ - return 3312; + return 3369; } } } @@ -11934,7 +12308,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010110xxxxxx11010xxxxxxxxxx smin. */ - return 3314; + return 3371; } } } @@ -11950,7 +12324,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010110xxxx0x00110xxxxxxxxxx ctz. */ - return 3311; + return 3368; } else { @@ -12056,7 +12430,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010x10xxxxxx11001xxxxxxxxxx umax. */ - return 3313; + return 3370; } } } @@ -12185,7 +12559,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010x10xxxxxx11011xxxxxxxxxx umin. */ - return 3315; + return 3372; } } } @@ -12201,7 +12575,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxx11010x10xxxx0x00111xxxxxxxxxx cnt. */ - return 3310; + return 3367; } else { @@ -12503,7 +12877,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxxx1011x11xxxxx0xxxxxxxxxxxxxxx maddpt. */ - return 3571; + return 3628; } else { @@ -12511,7 +12885,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xxxx1011x11xxxxx1xxxxxxxxxxxxxxx msubpt. */ - return 3572; + return 3629; } } } @@ -12555,7 +12929,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx000000000xxxxxxxxxxxxx add. */ - return 1393; + return 1440; } else { @@ -12563,7 +12937,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx010000000xxxxxxxxxxxxx mul. */ - return 1847; + return 1894; } } else @@ -12574,7 +12948,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001000000xxxxxxxxxxxxx smax. */ - return 1927; + return 1974; } else { @@ -12582,7 +12956,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx011000000xxxxxxxxxxxxx orr. */ - return 1858; + return 1905; } } } @@ -12596,7 +12970,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx000100000xxxxxxxxxxxxx addpt. */ - return 3573; + return 3630; } else { @@ -12604,7 +12978,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx010100000xxxxxxxxxxxxx sdiv. */ - return 1918; + return 1965; } } else @@ -12613,7 +12987,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0x1100000xxxxxxxxxxxxx sabd. */ - return 1909; + return 1956; } } } @@ -12627,7 +13001,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0x0010000xxxxxxxxxxxxx smulh. */ - return 1932; + return 1979; } else { @@ -12637,7 +13011,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001010000xxxxxxxxxxxxx smin. */ - return 1930; + return 1977; } else { @@ -12645,7 +13019,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx011010000xxxxxxxxxxxxx and. */ - return 1401; + return 1448; } } } @@ -12655,7 +13029,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0xx110000xxxxxxxxxxxxx sdivr. */ - return 1919; + return 1966; } } } @@ -12671,7 +13045,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0x0001000xxxxxxxxxxxxx sub. */ - return 2049; + return 2096; } else { @@ -12681,7 +13055,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001001000xxxxxxxxxxxxx umax. */ - return 2077; + return 2124; } else { @@ -12689,7 +13063,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx011001000xxxxxxxxxxxxx eor. */ - return 1488; + return 1535; } } } @@ -12703,7 +13077,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx000101000xxxxxxxxxxxxx subpt. */ - return 3575; + return 3632; } else { @@ -12711,7 +13085,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx010101000xxxxxxxxxxxxx udiv. */ - return 2071; + return 2118; } } else @@ -12720,7 +13094,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0x1101000xxxxxxxxxxxxx uabd. */ - return 2062; + return 2109; } } } @@ -12736,7 +13110,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx000011000xxxxxxxxxxxxx subr. */ - return 2051; + return 2098; } else { @@ -12744,7 +13118,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx010011000xxxxxxxxxxxxx umulh. */ - return 2082; + return 2129; } } else @@ -12755,7 +13129,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001011000xxxxxxxxxxxxx umin. */ - return 2080; + return 2127; } else { @@ -12763,7 +13137,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx011011000xxxxxxxxxxxxx bic. */ - return 1413; + return 1460; } } } @@ -12773,7 +13147,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0xx111000xxxxxxxxxxxxx udivr. */ - return 2072; + return 2119; } } } @@ -12786,7 +13160,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x00x0xxxxx000xxxxxxxxxxxxx ld1sb. */ - return 1675; + return 1722; } else { @@ -12794,7 +13168,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x01x0xxxxx000xxxxxxxxxxxxx ld1sh. */ - return 1686; + return 1733; } } } @@ -12812,7 +13186,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx000000xxxxxxxxxx sdot. */ - return 1920; + return 1967; } else { @@ -12820,7 +13194,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx000010xxxxxxxxxx sqdmlalbt. */ - return 2271; + return 2318; } } else @@ -12831,7 +13205,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx000001xxxxxxxxxx udot. */ - return 2073; + return 2120; } else { @@ -12839,7 +13213,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx000011xxxxxxxxxx sqdmlslbt. */ - return 2278; + return 2325; } } } @@ -12849,7 +13223,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx0001xxxxxxxxxxxx cdot. */ - return 2160; + return 2207; } } else @@ -12860,7 +13234,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x00x0xxxxx000xxxxxxxxxxxxx ld1sb. */ - return 1679; + return 1726; } else { @@ -12868,7 +13242,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x01x0xxxxx000xxxxxxxxxxxxx ld1sh. */ - return 1690; + return 1737; } } } @@ -12889,7 +13263,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx000000xxxxxxxxxx add. */ - return 1391; + return 1438; } else { @@ -12897,7 +13271,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx000100xxxxxxxxxx sqadd. */ - return 1934; + return 1981; } } else @@ -12908,7 +13282,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx000010xxxxxxxxxx addpt. */ - return 3574; + return 3631; } else { @@ -12916,7 +13290,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx000110xxxxxxxxxx sqsub. */ - return 1964; + return 2011; } } } @@ -12930,7 +13304,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx000001xxxxxxxxxx sub. */ - return 2047; + return 2094; } else { @@ -12938,7 +13312,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx000101xxxxxxxxxx uqadd. */ - return 2083; + return 2130; } } else @@ -12949,7 +13323,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx000011xxxxxxxxxx subpt. */ - return 3576; + return 3633; } else { @@ -12957,7 +13331,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx000111xxxxxxxxxx uqsub. */ - return 2113; + return 2160; } } } @@ -12970,7 +13344,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x00x1xxxxx000xxxxxxxxxxxxx prfb. */ - return 1867; + return 1914; } else { @@ -12978,7 +13352,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x01x1xxxxx000xxxxxxxxxxxxx ld1sh. */ - return 1687; + return 1734; } } } @@ -12996,7 +13370,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x00x1xxxxx000x00xxxxxxxxxx sqrdmlah. */ - return 2296; + return 2343; } else { @@ -13004,7 +13378,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x00x1xxxxx000x10xxxxxxxxxx mla. */ - return 2203; + return 2250; } } else @@ -13015,7 +13389,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x00x1xxxxx000x01xxxxxxxxxx sqrdmlsh. */ - return 2300; + return 2347; } else { @@ -13023,7 +13397,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x00x1xxxxx000x11xxxxxxxxxx mls. */ - return 2206; + return 2253; } } } @@ -13033,7 +13407,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x00x1xxxxx000xxxxxxxxxxxxx prfb. */ - return 1868; + return 1915; } } else @@ -13052,7 +13426,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx000000xxxxxxxxxx sdot. */ - return 1921; + return 1968; } else { @@ -13060,7 +13434,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx000000xxxxxxxxxx sdot. */ - return 1922; + return 1969; } } else @@ -13071,7 +13445,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx000100xxxxxxxxxx sqrdmlah. */ - return 2297; + return 2344; } else { @@ -13079,7 +13453,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx000100xxxxxxxxxx sqrdmlah. */ - return 2298; + return 2345; } } } @@ -13093,7 +13467,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx000010xxxxxxxxxx mla. */ - return 2204; + return 2251; } else { @@ -13101,7 +13475,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx000010xxxxxxxxxx mla. */ - return 2205; + return 2252; } } else @@ -13110,7 +13484,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x01x1xxxxx000110xxxxxxxxxx usdot. */ - return 3136; + return 3193; } } } @@ -13126,7 +13500,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx000001xxxxxxxxxx udot. */ - return 2074; + return 2121; } else { @@ -13134,7 +13508,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx000001xxxxxxxxxx udot. */ - return 2075; + return 2122; } } else @@ -13145,7 +13519,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx000101xxxxxxxxxx sqrdmlsh. */ - return 2301; + return 2348; } else { @@ -13153,7 +13527,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx000101xxxxxxxxxx sqrdmlsh. */ - return 2302; + return 2349; } } } @@ -13167,7 +13541,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx000011xxxxxxxxxx mls. */ - return 2207; + return 2254; } else { @@ -13175,7 +13549,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx000011xxxxxxxxxx mls. */ - return 2208; + return 2255; } } else @@ -13184,7 +13558,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x01x1xxxxx000111xxxxxxxxxx sudot. */ - return 3137; + return 3194; } } } @@ -13195,7 +13569,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x01x1xxxxx000xxxxxxxxxxxxx ld1sh. */ - return 1691; + return 1738; } } } @@ -13221,7 +13595,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx000000100xxxxxxxxxxxxx asr. */ - return 1409; + return 1456; } else { @@ -13231,7 +13605,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx010000100xxxxxxxxxxxxx asr. */ - return 1407; + return 1454; } else { @@ -13239,7 +13613,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx010000100xxxxxxxxxxxxx shadd. */ - return 2237; + return 2284; } } } @@ -13251,7 +13625,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx001000100xxxxxxxxxxxxx sqshl. */ - return 2315; + return 2362; } else { @@ -13261,7 +13635,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx011000100xxxxxxxxxxxxx asr. */ - return 1408; + return 1455; } else { @@ -13269,7 +13643,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx011000100xxxxxxxxxxxxx sqadd. */ - return 2266; + return 2313; } } } @@ -13284,7 +13658,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx000100100xxxxxxxxxxxxx asrd. */ - return 1410; + return 1457; } else { @@ -13294,7 +13668,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx010100100xxxxxxxxxxxxx asrr. */ - return 1411; + return 1458; } else { @@ -13302,7 +13676,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx010100100xxxxxxxxxxxxx srhadd. */ - return 2328; + return 2375; } } } @@ -13316,7 +13690,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001100100xxxxxxxxxxxxx srshr. */ - return 2332; + return 2379; } else { @@ -13324,7 +13698,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx001100100xxxxxxxxxxxxx sqshlr. */ - return 2316; + return 2363; } } else @@ -13333,7 +13707,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx011100100xxxxxxxxxxxxx suqadd. */ - return 2352; + return 2399; } } } @@ -13350,7 +13724,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx000010100xxxxxxxxxxxxx srshl. */ - return 2330; + return 2377; } else { @@ -13358,7 +13732,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx010010100xxxxxxxxxxxxx shsub. */ - return 2240; + return 2287; } } else @@ -13369,7 +13743,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx001010100xxxxxxxxxxxxx sqrshl. */ - return 2308; + return 2355; } else { @@ -13377,7 +13751,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx011010100xxxxxxxxxxxxx sqsub. */ - return 2322; + return 2369; } } } @@ -13393,7 +13767,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx000110100xxxxxxxxxxxxx sqshl. */ - return 2314; + return 2361; } else { @@ -13401,7 +13775,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx000110100xxxxxxxxxxxxx srshlr. */ - return 2331; + return 2378; } } else @@ -13410,7 +13784,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx010110100xxxxxxxxxxxxx shsubr. */ - return 2241; + return 2288; } } else @@ -13421,7 +13795,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx001110100xxxxxxxxxxxxx sqrshlr. */ - return 2309; + return 2356; } else { @@ -13429,7 +13803,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx011110100xxxxxxxxxxxxx sqsubr. */ - return 2323; + return 2370; } } } @@ -13449,7 +13823,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx000001100xxxxxxxxxxxxx lsr. */ - return 1838; + return 1885; } else { @@ -13459,7 +13833,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx010001100xxxxxxxxxxxxx lsr. */ - return 1836; + return 1883; } else { @@ -13467,7 +13841,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx010001100xxxxxxxxxxxxx uhadd. */ - return 2365; + return 2412; } } } @@ -13479,7 +13853,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx001001100xxxxxxxxxxxxx uqshl. */ - return 2395; + return 2442; } else { @@ -13489,7 +13863,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx011001100xxxxxxxxxxxxx lsr. */ - return 1837; + return 1884; } else { @@ -13497,7 +13871,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx011001100xxxxxxxxxxxxx uqadd. */ - return 2389; + return 2436; } } } @@ -13512,7 +13886,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0x0101100xxxxxxxxxxxxx lsrr. */ - return 1839; + return 1886; } else { @@ -13520,7 +13894,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0x0101100xxxxxxxxxxxxx urhadd. */ - return 2404; + return 2451; } } else @@ -13533,7 +13907,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001101100xxxxxxxxxxxxx urshr. */ - return 2407; + return 2454; } else { @@ -13541,7 +13915,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx001101100xxxxxxxxxxxxx uqshlr. */ - return 2396; + return 2443; } } else @@ -13550,7 +13924,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx011101100xxxxxxxxxxxxx usqadd. */ - return 2412; + return 2459; } } } @@ -13569,7 +13943,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx000011100xxxxxxxxxxxxx lsl. */ - return 1832; + return 1879; } else { @@ -13577,7 +13951,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx000011100xxxxxxxxxxxxx urshl. */ - return 2405; + return 2452; } } else @@ -13588,7 +13962,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx010011100xxxxxxxxxxxxx lsl. */ - return 1830; + return 1877; } else { @@ -13596,7 +13970,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx010011100xxxxxxxxxxxxx uhsub. */ - return 2366; + return 2413; } } } @@ -13608,7 +13982,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx001011100xxxxxxxxxxxxx uqrshl. */ - return 2390; + return 2437; } else { @@ -13618,7 +13992,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx011011100xxxxxxxxxxxxx lsl. */ - return 1831; + return 1878; } else { @@ -13626,7 +14000,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx011011100xxxxxxxxxxxxx uqsub. */ - return 2399; + return 2446; } } } @@ -13643,7 +14017,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx000111100xxxxxxxxxxxxx uqshl. */ - return 2394; + return 2441; } else { @@ -13651,7 +14025,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx000111100xxxxxxxxxxxxx urshlr. */ - return 2406; + return 2453; } } else @@ -13662,7 +14036,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx010111100xxxxxxxxxxxxx lslr. */ - return 1833; + return 1880; } else { @@ -13670,7 +14044,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx010111100xxxxxxxxxxxxx uhsubr. */ - return 2367; + return 2414; } } } @@ -13684,7 +14058,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001111100xxxxxxxxxxxxx sqshlu. */ - return 2317; + return 2364; } else { @@ -13692,7 +14066,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx001111100xxxxxxxxxxxxx uqrshlr. */ - return 2391; + return 2438; } } else @@ -13701,7 +14075,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x0001x0xx011111100xxxxxxxxxxxxx uqsubr. */ - return 2400; + return 2447; } } } @@ -13720,7 +14094,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx1000x0xxxxxxxxxx asr. */ - return 1405; + return 1452; } else { @@ -13730,7 +14104,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0x01xxxxx1000x0xxxxxxxxxx smlalb. */ - return 2245; + return 2292; } else { @@ -13738,7 +14112,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0x11xxxxx1000x0xxxxxxxxxx smlalb. */ - return 2246; + return 2293; } } } @@ -13750,7 +14124,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx1001x0xxxxxxxxxx asr. */ - return 1406; + return 1453; } else { @@ -13760,7 +14134,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0x01xxxxx1001x0xxxxxxxxxx umlalb. */ - return 2370; + return 2417; } else { @@ -13768,7 +14142,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0x11xxxxx1001x0xxxxxxxxxx umlalb. */ - return 2371; + return 2418; } } } @@ -13785,7 +14159,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx100001xxxxxxxxxx lsr. */ - return 1834; + return 1881; } else { @@ -13793,7 +14167,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx100011xxxxxxxxxx lsl. */ - return 1828; + return 1875; } } else @@ -13804,7 +14178,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0x01xxxxx1000x1xxxxxxxxxx smlalt. */ - return 2248; + return 2295; } else { @@ -13812,7 +14186,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0x11xxxxx1000x1xxxxxxxxxx smlalt. */ - return 2249; + return 2296; } } } @@ -13826,7 +14200,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx100101xxxxxxxxxx lsr. */ - return 1835; + return 1882; } else { @@ -13834,7 +14208,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx100111xxxxxxxxxx lsl. */ - return 1829; + return 1876; } } else @@ -13845,7 +14219,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0x01xxxxx1001x1xxxxxxxxxx umlalt. */ - return 2373; + return 2420; } else { @@ -13853,7 +14227,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0x11xxxxx1001x1xxxxxxxxxx umlalt. */ - return 2374; + return 2421; } } } @@ -13872,7 +14246,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x0001x0000xxxxx100xxxxxxxxxxxxx ldnt1sb. */ - return 2197; + return 2244; } else { @@ -13880,7 +14254,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x0001x0100xxxxx100xxxxxxxxxxxxx ldnt1sh. */ - return 2198; + return 2245; } } else @@ -13893,7 +14267,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x0001xxxxx100xxxxxxxxxxxxx ld1sb. */ - return 1681; + return 1728; } else { @@ -13901,7 +14275,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x0001xxxxx100xxxxxxxxxxxxx ld1sb. */ - return 1685; + return 1732; } } else @@ -13912,7 +14286,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x0101xxxxx100xxxxxxxxxxxxx ld1sh. */ - return 1694; + return 1741; } else { @@ -13920,7 +14294,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x0101xxxxx100xxxxxxxxxxxxx ld1sh. */ - return 1697; + return 1744; } } } @@ -13935,7 +14309,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x001xxxxxx100xxxxxxxxxxxxx ld1rb. */ - return 1651; + return 1698; } else { @@ -13945,7 +14319,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x0010xxxxx100xxxxxxxxxxxxx ld1sb. */ - return 1680; + return 1727; } else { @@ -13953,7 +14327,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x0011xxxxx100xxxxxxxxxxxxx prfb. */ - return 1869; + return 1916; } } } @@ -13965,7 +14339,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x011xxxxxx100xxxxxxxxxxxxx ld1rsw. */ - return 1672; + return 1719; } else { @@ -13975,7 +14349,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x0110xxxxx100xxxxxxxxxxxxx ld1sh. */ - return 1692; + return 1739; } else { @@ -13983,7 +14357,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x0111xxxxx100xxxxxxxxxxxxx ld1sh. */ - return 1693; + return 1740; } } } @@ -14005,7 +14379,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0xxxxx010xxxxxxxxxxxxx mla. */ - return 1841; + return 1888; } else { @@ -14015,7 +14389,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x00x0xxxxx010xxxxxxxxxxxxx ld1b. */ - return 1617; + return 1664; } else { @@ -14023,7 +14397,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x01x0xxxxx010xxxxxxxxxxxxx ld1h. */ - return 1637; + return 1684; } } } @@ -14041,7 +14415,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx010000xxxxxxxxxx smlalb. */ - return 2247; + return 2294; } else { @@ -14049,7 +14423,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx010100xxxxxxxxxx smlslb. */ - return 2253; + return 2300; } } else @@ -14060,7 +14434,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx010010xxxxxxxxxx umlalb. */ - return 2372; + return 2419; } else { @@ -14068,7 +14442,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx010110xxxxxxxxxx umlslb. */ - return 2378; + return 2425; } } } @@ -14082,7 +14456,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx010001xxxxxxxxxx smlalt. */ - return 2250; + return 2297; } else { @@ -14090,7 +14464,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx010101xxxxxxxxxx smlslt. */ - return 2256; + return 2303; } } else @@ -14101,7 +14475,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx010011xxxxxxxxxx umlalt. */ - return 2375; + return 2422; } else { @@ -14109,7 +14483,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx010111xxxxxxxxxx umlslt. */ - return 2381; + return 2428; } } } @@ -14122,7 +14496,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x00x0xxxxx010xxxxxxxxxxxxx ld1b. */ - return 1622; + return 1669; } else { @@ -14130,7 +14504,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x01x0xxxxx010xxxxxxxxxxxxx ld1h. */ - return 1642; + return 1689; } } } @@ -14151,7 +14525,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx010000xxxxxxxxxx index. */ - return 1608; + return 1655; } else { @@ -14159,7 +14533,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx010001xxxxxxxxxx index. */ - return 1609; + return 1656; } } else @@ -14172,7 +14546,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0001xxxxx01010xxxxxxxxxxx addvl. */ - return 1395; + return 1442; } else { @@ -14180,7 +14554,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0101xxxxx01010xxxxxxxxxxx rdvl. */ - return 1903; + return 1950; } } else @@ -14189,7 +14563,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0x11xxxxx01010xxxxxxxxxxx addpl. */ - return 1394; + return 1441; } } } @@ -14203,7 +14577,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx010010xxxxxxxxxx index. */ - return 1610; + return 1657; } else { @@ -14211,7 +14585,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx010011xxxxxxxxxx index. */ - return 1607; + return 1654; } } else @@ -14224,7 +14598,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0001xxxxx01011xxxxxxxxxxx addsvl. */ - return 2444; + return 2501; } else { @@ -14232,7 +14606,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0101xxxxx01011xxxxxxxxxxx rdsvl. */ - return 2455; + return 2512; } } else @@ -14241,7 +14615,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0x11xxxxx01011xxxxxxxxxxx addspl. */ - return 2443; + return 2500; } } } @@ -14254,7 +14628,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x00x1xxxxx010xxxxxxxxxxxxx prfw. */ - return 1887; + return 1934; } else { @@ -14262,7 +14636,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x01x1xxxxx010xxxxxxxxxxxxx ld1h. */ - return 1638; + return 1685; } } } @@ -14274,7 +14648,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x00x1xxxxx010xxxxxxxxxxxxx prfw. */ - return 1889; + return 1936; } else { @@ -14286,7 +14660,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx010xxxxxxxxxxxxx cdot. */ - return 2162; + return 2209; } else { @@ -14294,7 +14668,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx010xxxxxxxxxxxxx cdot. */ - return 2161; + return 2208; } } else @@ -14303,7 +14677,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x01x1xxxxx010xxxxxxxxxxxxx ld1h. */ - return 1643; + return 1690; } } } @@ -14321,7 +14695,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0xxxxx110xxxxxxxxxxxxx mad. */ - return 1840; + return 1887; } else { @@ -14337,7 +14711,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0x010xxxx110x00xxxxxxxxxx sqincw. */ - return 1961; + return 2008; } else { @@ -14347,7 +14721,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00110xxxx110x00xxxxxxxxxx sqinch. */ - return 1955; + return 2002; } else { @@ -14355,7 +14729,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01110xxxx110x00xxxxxxxxxx sqincd. */ - return 1952; + return 1999; } } } @@ -14367,7 +14741,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0x011xxxx110x00xxxxxxxxxx incw. */ - return 1605; + return 1652; } else { @@ -14377,7 +14751,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00111xxxx110x00xxxxxxxxxx inch. */ - return 1601; + return 1648; } else { @@ -14385,7 +14759,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01111xxxx110x00xxxxxxxxxx incd. */ - return 1599; + return 1646; } } } @@ -14398,7 +14772,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0x01xxxxx110x10xxxxxxxxxx sqdecw. */ - return 1947; + return 1994; } else { @@ -14408,7 +14782,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0011xxxxx110x10xxxxxxxxxx sqdech. */ - return 1941; + return 1988; } else { @@ -14416,7 +14790,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0111xxxxx110x10xxxxxxxxxx sqdecd. */ - return 1938; + return 1985; } } } @@ -14433,7 +14807,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0x010xxxx110x01xxxxxxxxxx uqincw. */ - return 2110; + return 2157; } else { @@ -14443,7 +14817,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00110xxxx110x01xxxxxxxxxx uqinch. */ - return 2104; + return 2151; } else { @@ -14451,7 +14825,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01110xxxx110x01xxxxxxxxxx uqincd. */ - return 2101; + return 2148; } } } @@ -14463,7 +14837,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0x011xxxx110x01xxxxxxxxxx decw. */ - return 1480; + return 1527; } else { @@ -14473,7 +14847,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00111xxxx110x01xxxxxxxxxx dech. */ - return 1476; + return 1523; } else { @@ -14481,7 +14855,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01111xxxx110x01xxxxxxxxxx decd. */ - return 1474; + return 1521; } } } @@ -14494,7 +14868,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0x01xxxxx110x11xxxxxxxxxx uqdecw. */ - return 2096; + return 2143; } else { @@ -14504,7 +14878,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0011xxxxx110x11xxxxxxxxxx uqdech. */ - return 2090; + return 2137; } else { @@ -14512,7 +14886,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0111xxxxx110x11xxxxxxxxxx uqdecd. */ - return 2087; + return 2134; } } } @@ -14531,7 +14905,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x0000xxxxx110xxxxxxxxxxxxx prfb. */ - return 1866; + return 1913; } else { @@ -14539,7 +14913,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x0100xxxxx110xxxxxxxxxxxxx prfh. */ - return 1881; + return 1928; } } else @@ -14550,7 +14924,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x0001xxxxx110xxxxxxxxxxxxx ld1b. */ - return 1624; + return 1671; } else { @@ -14558,7 +14932,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x0101xxxxx110xxxxxxxxxxxxx ld1h. */ - return 1646; + return 1693; } } } @@ -14570,7 +14944,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x001xxxxxx110xxxxxxxxxxxxx ld1rb. */ - return 1653; + return 1700; } else { @@ -14578,7 +14952,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x011xxxxxx110xxxxxxxxxxxxx ld1rh. */ - return 1657; + return 1704; } } } @@ -14599,7 +14973,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx110000xxxxxxxxxx sclamp. */ - return 2490; + return 2547; } else { @@ -14607,7 +14981,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx110100xxxxxxxxxx mlapt. */ - return 3578; + return 3635; } } else @@ -14620,7 +14994,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x00x0xxxxx110010xxxxxxxxxx sdot. */ - return 2503; + return 2560; } else { @@ -14628,7 +15002,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x01x0xxxxx110010xxxxxxxxxx sdot. */ - return 2502; + return 2559; } } else @@ -14637,7 +15011,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx110110xxxxxxxxxx madpt. */ - return 3577; + return 3634; } } } @@ -14649,7 +15023,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx110x01xxxxxxxxxx uclamp. */ - return 2491; + return 2548; } else { @@ -14659,7 +15033,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x00x0xxxxx110x11xxxxxxxxxx udot. */ - return 2509; + return 2566; } else { @@ -14667,7 +15041,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x01x0xxxxx110x11xxxxxxxxxx udot. */ - return 2508; + return 2565; } } } @@ -14682,7 +15056,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x0000xxxxx110xxxxxxxxxxxxx ldnt1b. */ - return 2193; + return 2240; } else { @@ -14690,7 +15064,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x0100xxxxx110xxxxxxxxxxxxx ldnt1h. */ - return 2196; + return 2243; } } else @@ -14701,7 +15075,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x0010xxxxx110xxxxxxxxxxxxx ld1b. */ - return 1623; + return 1670; } else { @@ -14709,7 +15083,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x0110xxxxx110xxxxxxxxxxxxx ld1h. */ - return 1644; + return 1691; } } } @@ -14724,7 +15098,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x0001xxxxx110xxxxxxxxxxxxx ld1b. */ - return 1629; + return 1676; } else { @@ -14738,7 +15112,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx1100x0xxxxxxxxxx smullb. */ - return 2258; + return 2305; } else { @@ -14746,7 +15120,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx1101x0xxxxxxxxxx umullb. */ - return 2383; + return 2430; } } else @@ -14757,7 +15131,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx1100x1xxxxxxxxxx smullt. */ - return 2261; + return 2308; } else { @@ -14765,7 +15139,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx1101x1xxxxxxxxxx umullt. */ - return 2386; + return 2433; } } } @@ -14775,7 +15149,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x0101xxxxx110xxxxxxxxxxxxx ld1h. */ - return 1650; + return 1697; } } } @@ -14787,7 +15161,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x0011xxxxx110xxxxxxxxxxxxx prfw. */ - return 1890; + return 1937; } else { @@ -14801,7 +15175,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx1100x0xxxxxxxxxx smullb. */ - return 2259; + return 2306; } else { @@ -14809,7 +15183,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx1101x0xxxxxxxxxx umullb. */ - return 2384; + return 2431; } } else @@ -14820,7 +15194,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx1100x1xxxxxxxxxx smullt. */ - return 2262; + return 2309; } else { @@ -14828,7 +15202,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx1101x1xxxxxxxxxx umullt. */ - return 2387; + return 2434; } } } @@ -14838,7 +15212,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x0111xxxxx110xxxxxxxxxxxxx ld1h. */ - return 1645; + return 1692; } } } @@ -14873,7 +15247,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx000000001xxxxxxxxxxxxx saddv. */ - return 1910; + return 1957; } else { @@ -14881,7 +15255,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx000001001xxxxxxxxxxxxx uaddv. */ - return 2063; + return 2110; } } else @@ -14890,7 +15264,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx01000x001xxxxxxxxxxxxx movprfx. */ - return 1844; + return 1891; } } else @@ -14903,7 +15277,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001000001xxxxxxxxxxxxx smaxv. */ - return 1928; + return 1975; } else { @@ -14911,7 +15285,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx011000001xxxxxxxxxxxxx orv. */ - return 1861; + return 1908; } } else @@ -14922,7 +15296,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001001001xxxxxxxxxxxxx umaxv. */ - return 2078; + return 2125; } else { @@ -14930,7 +15304,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx011001001xxxxxxxxxxxxx eorv. */ - return 1491; + return 1538; } } } @@ -14945,7 +15319,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx00x100001xxxxxxxxxxxxx smaxqv. */ - return 3479; + return 3536; } else { @@ -14953,7 +15327,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx01x100001xxxxxxxxxxxxx orqv. */ - return 3490; + return 3547; } } else @@ -14964,7 +15338,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0x0101001xxxxxxxxxxxxx addqv. */ - return 3477; + return 3534; } else { @@ -14974,7 +15348,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001101001xxxxxxxxxxxxx umaxqv. */ - return 3481; + return 3538; } else { @@ -14982,7 +15356,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx011101001xxxxxxxxxxxxx eorqv. */ - return 3483; + return 3540; } } } @@ -15000,7 +15374,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx00x010001xxxxxxxxxxxxx sminv. */ - return 1931; + return 1978; } else { @@ -15008,7 +15382,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx01x010001xxxxxxxxxxxxx andv. */ - return 1404; + return 1451; } } else @@ -15019,7 +15393,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx00x110001xxxxxxxxxxxxx sminqv. */ - return 3480; + return 3537; } else { @@ -15027,7 +15401,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx01x110001xxxxxxxxxxxxx andqv. */ - return 3478; + return 3535; } } } @@ -15039,7 +15413,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0xx011001xxxxxxxxxxxxx uminv. */ - return 2081; + return 2128; } else { @@ -15047,7 +15421,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0xx111001xxxxxxxxxxxxx uminqv. */ - return 3482; + return 3539; } } } @@ -15060,7 +15434,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x00x0xxxxx001xxxxxxxxxxxxx ldff1sb. */ - return 1767; + return 1814; } else { @@ -15068,7 +15442,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x01x0xxxxx001xxxxxxxxxxxxx ldff1sh. */ - return 1775; + return 1822; } } } @@ -15082,7 +15456,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx0010xxxxxxxxxxxx cmla. */ - return 2163; + return 2210; } else { @@ -15090,7 +15464,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx0011xxxxxxxxxxxx sqrdcmlah. */ - return 2295; + return 2342; } } else @@ -15101,7 +15475,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x00x0xxxxx001xxxxxxxxxxxxx ldff1sb. */ - return 1771; + return 1818; } else { @@ -15109,7 +15483,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x01x0xxxxx001xxxxxxxxxxxxx ldff1sh. */ - return 1779; + return 1826; } } } @@ -15132,7 +15506,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0001xxxxx001x00xxxxxxxxxx and. */ - return 1399; + return 1446; } else { @@ -15140,7 +15514,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0101xxxxx001x00xxxxxxxxxx eor. */ - return 1486; + return 1533; } } else @@ -15151,7 +15525,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0011xxxxx001x00xxxxxxxxxx orr. */ - return 1856; + return 1903; } else { @@ -15159,7 +15533,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0111xxxxx001x00xxxxxxxxxx bic. */ - return 1412; + return 1459; } } } @@ -15171,7 +15545,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0x01xxxxx001x10xxxxxxxxxx eor3. */ - return 2166; + return 2213; } else { @@ -15179,7 +15553,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0x11xxxxx001x10xxxxxxxxxx bcax. */ - return 2155; + return 2202; } } } @@ -15191,7 +15565,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx001x01xxxxxxxxxx xar. */ - return 2428; + return 2475; } else { @@ -15203,7 +15577,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0001xxxxx001x11xxxxxxxxxx bsl. */ - return 2156; + return 2203; } else { @@ -15211,7 +15585,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0101xxxxx001x11xxxxxxxxxx bsl2n. */ - return 2158; + return 2205; } } else @@ -15222,7 +15596,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0011xxxxx001x11xxxxxxxxxx bsl1n. */ - return 2157; + return 2204; } else { @@ -15230,7 +15604,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0111xxxxx001x11xxxxxxxxxx nbsl. */ - return 2213; + return 2260; } } } @@ -15244,7 +15618,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x00x1xxxxx001xxxxxxxxxxxxx prfh. */ - return 1880; + return 1927; } else { @@ -15252,7 +15626,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x01x1xxxxx001xxxxxxxxxxxxx ldff1sh. */ - return 1776; + return 1823; } } } @@ -15264,7 +15638,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x00x1xxxxx001xxxxxxxxxxxxx prfh. */ - return 1882; + return 1929; } else { @@ -15280,7 +15654,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx0010x0xxxxxxxxxx sqdmlalb. */ - return 2268; + return 2315; } else { @@ -15288,7 +15662,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx0010x0xxxxxxxxxx sqdmlalb. */ - return 2269; + return 2316; } } else @@ -15299,7 +15673,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx0011x0xxxxxxxxxx sqdmlslb. */ - return 2275; + return 2322; } else { @@ -15307,7 +15681,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx0011x0xxxxxxxxxx sqdmlslb. */ - return 2276; + return 2323; } } } @@ -15321,7 +15695,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx0010x1xxxxxxxxxx sqdmlalt. */ - return 2272; + return 2319; } else { @@ -15329,7 +15703,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx0010x1xxxxxxxxxx sqdmlalt. */ - return 2273; + return 2320; } } else @@ -15340,7 +15714,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx0011x1xxxxxxxxxx sqdmlslt. */ - return 2279; + return 2326; } else { @@ -15348,7 +15722,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx0011x1xxxxxxxxxx sqdmlslt. */ - return 2280; + return 2327; } } } @@ -15359,7 +15733,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x01x1xxxxx001xxxxxxxxxxxxx ldff1sh. */ - return 1780; + return 1827; } } } @@ -15387,7 +15761,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx000000101xxxxxxxxxxxxx sxtb. */ - return 3733; + return 3790; } else { @@ -15395,7 +15769,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx010000101xxxxxxxxxxxxx sxtb. */ - return 2054; + return 2101; } } else @@ -15406,7 +15780,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001000101xxxxxxxxxxxxx cls. */ - return 3663; + return 3720; } else { @@ -15414,7 +15788,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx011000101xxxxxxxxxxxxx cls. */ - return 1432; + return 1479; } } } @@ -15428,7 +15802,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx000100101xxxxxxxxxxxxx sxtw. */ - return 3735; + return 3792; } else { @@ -15436,7 +15810,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx010100101xxxxxxxxxxxxx sxtw. */ - return 2056; + return 2103; } } else @@ -15447,7 +15821,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001100101xxxxxxxxxxxxx fabs. */ - return 3669; + return 3726; } else { @@ -15455,7 +15829,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx011100101xxxxxxxxxxxxx fabs. */ - return 1494; + return 1541; } } } @@ -15472,7 +15846,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx000010101xxxxxxxxxxxxx sxth. */ - return 3734; + return 3791; } else { @@ -15480,7 +15854,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx010010101xxxxxxxxxxxxx sxth. */ - return 2055; + return 2102; } } else @@ -15491,7 +15865,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001010101xxxxxxxxxxxxx cnt. */ - return 3666; + return 3723; } else { @@ -15499,7 +15873,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx011010101xxxxxxxxxxxxx cnt. */ - return 1461; + return 1508; } } } @@ -15513,7 +15887,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx000110101xxxxxxxxxxxxx abs. */ - return 3660; + return 3717; } else { @@ -15521,7 +15895,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx010110101xxxxxxxxxxxxx abs. */ - return 1390; + return 1437; } } else @@ -15532,7 +15906,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001110101xxxxxxxxxxxxx not. */ - return 3718; + return 3775; } else { @@ -15540,7 +15914,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx011110101xxxxxxxxxxxxx not. */ - return 1853; + return 1900; } } } @@ -15560,7 +15934,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx000001101xxxxxxxxxxxxx uxtb. */ - return 3745; + return 3802; } else { @@ -15568,7 +15942,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx010001101xxxxxxxxxxxxx uxtb. */ - return 2117; + return 2164; } } else @@ -15579,7 +15953,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001001101xxxxxxxxxxxxx clz. */ - return 3664; + return 3721; } else { @@ -15587,7 +15961,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx011001101xxxxxxxxxxxxx clz. */ - return 1433; + return 1480; } } } @@ -15601,7 +15975,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx000101101xxxxxxxxxxxxx uxtw. */ - return 3747; + return 3804; } else { @@ -15609,7 +15983,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx010101101xxxxxxxxxxxxx uxtw. */ - return 2119; + return 2166; } } else @@ -15620,7 +15994,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001101101xxxxxxxxxxxxx fneg. */ - return 3698; + return 3755; } else { @@ -15628,7 +16002,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx011101101xxxxxxxxxxxxx fneg. */ - return 1571; + return 1618; } } } @@ -15645,7 +16019,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx000011101xxxxxxxxxxxxx uxth. */ - return 3746; + return 3803; } else { @@ -15653,7 +16027,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx010011101xxxxxxxxxxxxx uxth. */ - return 2118; + return 2165; } } else @@ -15664,7 +16038,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx001011101xxxxxxxxxxxxx cnot. */ - return 3665; + return 3722; } else { @@ -15672,7 +16046,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx011011101xxxxxxxxxxxxx cnot. */ - return 1460; + return 1507; } } } @@ -15684,7 +16058,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx00x111101xxxxxxxxxxxxx neg. */ - return 3717; + return 3774; } else { @@ -15692,7 +16066,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx01x111101xxxxxxxxxxxxx neg. */ - return 1850; + return 1897; } } } @@ -15710,7 +16084,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0001xxxxx1010xxxxxxxxxxxx adr. */ - return 1396; + return 1443; } else { @@ -15718,7 +16092,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0011xxxxx1010xxxxxxxxxxxx adr. */ - return 1397; + return 1444; } } else @@ -15727,7 +16101,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01x1xxxxx1010xxxxxxxxxxxx adr. */ - return 1398; + return 1445; } } else @@ -15740,7 +16114,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx101100xxxxxxxxxx ftssel. */ - return 1597; + return 1644; } else { @@ -15748,7 +16122,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx101110xxxxxxxxxx fexpa. */ - return 1541; + return 1588; } } else @@ -15757,7 +16131,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx1011x1xxxxxxxxxx movprfx. */ - return 1843; + return 1890; } } } @@ -15774,7 +16148,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x0000xxxxx101xxxxxxxxxxxxx ldnt1b. */ - return 2192; + return 2239; } else { @@ -15782,7 +16156,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x0100xxxxx101xxxxxxxxxxxxx ldnt1h. */ - return 2195; + return 2242; } } else @@ -15793,7 +16167,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x0001xxxxx101xxxxxxxxxxxxx ldff1sb. */ - return 1773; + return 1820; } else { @@ -15801,7 +16175,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x0101xxxxx101xxxxxxxxxxxxx ldff1sh. */ - return 1783; + return 1830; } } } @@ -15813,7 +16187,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x001xxxxxx101xxxxxxxxxxxxx ld1rb. */ - return 1652; + return 1699; } else { @@ -15821,7 +16195,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x011xxxxxx101xxxxxxxxxxxxx ld1rh. */ - return 1656; + return 1703; } } } @@ -15844,7 +16218,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0x0000101xxxxxxxxxxxxx urecpe. */ - return 2403; + return 2450; } else { @@ -15852,7 +16226,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0x1000101xxxxxxxxxxxxx sqabs. */ - return 2265; + return 2312; } } else @@ -15863,7 +16237,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx00x100101xxxxxxxxxxxxx sadalp. */ - return 2229; + return 2276; } else { @@ -15871,7 +16245,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx01x100101xxxxxxxxxxxxx smaxp. */ - return 2243; + return 2290; } } } @@ -15885,7 +16259,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0x0010101xxxxxxxxxxxxx urecpe. */ - return 3743; + return 3800; } else { @@ -15893,7 +16267,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0x1010101xxxxxxxxxxxxx sqabs. */ - return 3731; + return 3788; } } else @@ -15902,7 +16276,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xx110101xxxxxxxxxxxxx sminp. */ - return 2244; + return 2291; } } } @@ -15920,7 +16294,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx000001101xxxxxxxxxxxxx ursqrte. */ - return 2408; + return 2455; } else { @@ -15928,7 +16302,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx010001101xxxxxxxxxxxxx addp. */ - return 2154; + return 2201; } } else @@ -15937,7 +16311,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0x1001101xxxxxxxxxxxxx sqneg. */ - return 2292; + return 2339; } } else @@ -15948,7 +16322,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx00x101101xxxxxxxxxxxxx uadalp. */ - return 2360; + return 2407; } else { @@ -15956,7 +16330,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx01x101101xxxxxxxxxxxxx umaxp. */ - return 2368; + return 2415; } } } @@ -15970,7 +16344,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0x0011101xxxxxxxxxxxxx ursqrte. */ - return 3744; + return 3801; } else { @@ -15978,7 +16352,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0x1011101xxxxxxxxxxxxx sqneg. */ - return 3732; + return 3789; } } else @@ -15987,7 +16361,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xx111101xxxxxxxxxxxxx uminp. */ - return 2369; + return 2416; } } } @@ -16000,7 +16374,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x0x00xxxxx101xxxxxxxxxxxxx ld1q. */ - return 3514; + return 3571; } else { @@ -16010,7 +16384,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x0010xxxxx101xxxxxxxxxxxxx ldff1sb. */ - return 1772; + return 1819; } else { @@ -16018,7 +16392,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x0110xxxxx101xxxxxxxxxxxxx ldff1sh. */ - return 1781; + return 1828; } } } @@ -16033,7 +16407,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x0001xxxxx101xxxxxxxxxxxxx ldff1sb. */ - return 1774; + return 1821; } else { @@ -16047,7 +16421,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx1010x0xxxxxxxxxx smlslb. */ - return 2251; + return 2298; } else { @@ -16055,7 +16429,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx1011x0xxxxxxxxxx umlslb. */ - return 2376; + return 2423; } } else @@ -16066,7 +16440,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx1010x1xxxxxxxxxx smlslt. */ - return 2254; + return 2301; } else { @@ -16074,7 +16448,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx1011x1xxxxxxxxxx umlslt. */ - return 2379; + return 2426; } } } @@ -16084,7 +16458,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x0101xxxxx101xxxxxxxxxxxxx ldff1sh. */ - return 1784; + return 1831; } } } @@ -16096,7 +16470,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x0011xxxxx101xxxxxxxxxxxxx prfh. */ - return 1883; + return 1930; } else { @@ -16110,7 +16484,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx1010x0xxxxxxxxxx smlslb. */ - return 2252; + return 2299; } else { @@ -16118,7 +16492,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx1011x0xxxxxxxxxx umlslb. */ - return 2377; + return 2424; } } else @@ -16129,7 +16503,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx1010x1xxxxxxxxxx smlslt. */ - return 2255; + return 2302; } else { @@ -16137,7 +16511,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx1011x1xxxxxxxxxx umlslt. */ - return 2380; + return 2427; } } } @@ -16147,7 +16521,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x0111xxxxx101xxxxxxxxxxxxx ldff1sh. */ - return 1782; + return 1829; } } } @@ -16169,7 +16543,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0xxxxx011xxxxxxxxxxxxx mls. */ - return 1842; + return 1889; } else { @@ -16179,7 +16553,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x00x0xxxxx011xxxxxxxxxxxxx ldff1b. */ - return 1741; + return 1788; } else { @@ -16187,7 +16561,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x01x0xxxxx011xxxxxxxxxxxxx ldff1h. */ - return 1756; + return 1803; } } } @@ -16205,7 +16579,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx011000xxxxxxxxxx sqdmlalb. */ - return 2270; + return 2317; } else { @@ -16213,7 +16587,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx011100xxxxxxxxxx sqrdmlah. */ - return 2299; + return 2346; } } else @@ -16224,7 +16598,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx011010xxxxxxxxxx sqdmlslb. */ - return 2277; + return 2324; } else { @@ -16232,7 +16606,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx011110xxxxxxxxxx usdot. */ - return 3135; + return 3192; } } } @@ -16246,7 +16620,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx011001xxxxxxxxxx sqdmlalt. */ - return 2274; + return 2321; } else { @@ -16254,7 +16628,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx011101xxxxxxxxxx sqrdmlsh. */ - return 2303; + return 2350; } } else @@ -16263,7 +16637,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx011x11xxxxxxxxxx sqdmlslt. */ - return 2281; + return 2328; } } } @@ -16275,7 +16649,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x00x0xxxxx011xxxxxxxxxxxxx ldff1b. */ - return 1746; + return 1793; } else { @@ -16283,7 +16657,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x01x0xxxxx011xxxxxxxxxxxxx ldff1h. */ - return 1761; + return 1808; } } } @@ -16304,7 +16678,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx011000xxxxxxxxxx mul. */ - return 2212; + return 2259; } else { @@ -16312,7 +16686,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx011100xxxxxxxxxx sqdmulh. */ - return 2285; + return 2332; } } else @@ -16321,7 +16695,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx011x10xxxxxxxxxx smulh. */ - return 2257; + return 2304; } } else @@ -16334,7 +16708,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx011001xxxxxxxxxx pmul. */ - return 2215; + return 2262; } else { @@ -16342,7 +16716,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx011101xxxxxxxxxx sqrdmulh. */ - return 2307; + return 2354; } } else @@ -16351,7 +16725,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx1xxxxx011x11xxxxxxxxxx umulh. */ - return 2382; + return 2429; } } } @@ -16363,7 +16737,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x00x1xxxxx011xxxxxxxxxxxxx prfd. */ - return 1873; + return 1920; } else { @@ -16371,7 +16745,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x01x1xxxxx011xxxxxxxxxxxxx ldff1h. */ - return 1757; + return 1804; } } } @@ -16383,7 +16757,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x00x1xxxxx011xxxxxxxxxxxxx prfd. */ - return 1875; + return 1922; } else { @@ -16397,7 +16771,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx0110xxxxxxxxxxxx cmla. */ - return 2164; + return 2211; } else { @@ -16405,7 +16779,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx0110xxxxxxxxxxxx cmla. */ - return 2165; + return 2212; } } else @@ -16416,7 +16790,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx0111xxxxxxxxxxxx sqrdcmlah. */ - return 2293; + return 2340; } else { @@ -16424,7 +16798,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx0111xxxxxxxxxxxx sqrdcmlah. */ - return 2294; + return 2341; } } } @@ -16434,7 +16808,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x01x1xxxxx011xxxxxxxxxxxxx ldff1h. */ - return 1762; + return 1809; } } } @@ -16452,7 +16826,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0xx0xxxxx111xxxxxxxxxxxxx msb. */ - return 1845; + return 1892; } else { @@ -16472,7 +16846,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00010xxxx111000xxxxxxxxxx cntb. */ - return 1462; + return 1509; } else { @@ -16480,7 +16854,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01010xxxx111000xxxxxxxxxx cntw. */ - return 1466; + return 1513; } } else @@ -16491,7 +16865,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00110xxxx111000xxxxxxxxxx cnth. */ - return 1464; + return 1511; } else { @@ -16499,7 +16873,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01110xxxx111000xxxxxxxxxx cntd. */ - return 1463; + return 1510; } } } @@ -16513,7 +16887,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00011xxxx111000xxxxxxxxxx incb. */ - return 1598; + return 1645; } else { @@ -16521,7 +16895,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01011xxxx111000xxxxxxxxxx incw. */ - return 1606; + return 1653; } } else @@ -16532,7 +16906,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00111xxxx111000xxxxxxxxxx inch. */ - return 1602; + return 1649; } else { @@ -16540,7 +16914,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01111xxxx111000xxxxxxxxxx incd. */ - return 1600; + return 1647; } } } @@ -16557,7 +16931,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00010xxxx111100xxxxxxxxxx sqincb. */ - return 1951; + return 1998; } else { @@ -16565,7 +16939,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01010xxxx111100xxxxxxxxxx sqincw. */ - return 1963; + return 2010; } } else @@ -16576,7 +16950,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00110xxxx111100xxxxxxxxxx sqinch. */ - return 1957; + return 2004; } else { @@ -16584,7 +16958,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01110xxxx111100xxxxxxxxxx sqincd. */ - return 1954; + return 2001; } } } @@ -16598,7 +16972,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00011xxxx111100xxxxxxxxxx sqincb. */ - return 1950; + return 1997; } else { @@ -16606,7 +16980,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01011xxxx111100xxxxxxxxxx sqincw. */ - return 1962; + return 2009; } } else @@ -16617,7 +16991,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00111xxxx111100xxxxxxxxxx sqinch. */ - return 1956; + return 2003; } else { @@ -16625,7 +16999,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01111xxxx111100xxxxxxxxxx sqincd. */ - return 1953; + return 2000; } } } @@ -16643,7 +17017,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00010xxxx111x10xxxxxxxxxx sqdecb. */ - return 1937; + return 1984; } else { @@ -16651,7 +17025,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01010xxxx111x10xxxxxxxxxx sqdecw. */ - return 1949; + return 1996; } } else @@ -16662,7 +17036,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00110xxxx111x10xxxxxxxxxx sqdech. */ - return 1943; + return 1990; } else { @@ -16670,7 +17044,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01110xxxx111x10xxxxxxxxxx sqdecd. */ - return 1940; + return 1987; } } } @@ -16684,7 +17058,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00011xxxx111x10xxxxxxxxxx sqdecb. */ - return 1936; + return 1983; } else { @@ -16692,7 +17066,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01011xxxx111x10xxxxxxxxxx sqdecw. */ - return 1948; + return 1995; } } else @@ -16703,7 +17077,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00111xxxx111x10xxxxxxxxxx sqdech. */ - return 1942; + return 1989; } else { @@ -16711,7 +17085,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01111xxxx111x10xxxxxxxxxx sqdecd. */ - return 1939; + return 1986; } } } @@ -16731,7 +17105,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0001xxxxx111001xxxxxxxxxx decb. */ - return 1473; + return 1520; } else { @@ -16739,7 +17113,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0101xxxxx111001xxxxxxxxxx decw. */ - return 1481; + return 1528; } } else @@ -16750,7 +17124,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0011xxxxx111001xxxxxxxxxx dech. */ - return 1477; + return 1524; } else { @@ -16758,7 +17132,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x0111xxxxx111001xxxxxxxxxx decd. */ - return 1475; + return 1522; } } } @@ -16774,7 +17148,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00010xxxx111101xxxxxxxxxx uqincb. */ - return 2099; + return 2146; } else { @@ -16782,7 +17156,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01010xxxx111101xxxxxxxxxx uqincw. */ - return 2111; + return 2158; } } else @@ -16793,7 +17167,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00110xxxx111101xxxxxxxxxx uqinch. */ - return 2105; + return 2152; } else { @@ -16801,7 +17175,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01110xxxx111101xxxxxxxxxx uqincd. */ - return 2102; + return 2149; } } } @@ -16815,7 +17189,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00011xxxx111101xxxxxxxxxx uqincb. */ - return 2100; + return 2147; } else { @@ -16823,7 +17197,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01011xxxx111101xxxxxxxxxx uqincw. */ - return 2112; + return 2159; } } else @@ -16834,7 +17208,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00111xxxx111101xxxxxxxxxx uqinch. */ - return 2106; + return 2153; } else { @@ -16842,7 +17216,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01111xxxx111101xxxxxxxxxx uqincd. */ - return 2103; + return 2150; } } } @@ -16860,7 +17234,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00010xxxx111x11xxxxxxxxxx uqdecb. */ - return 2085; + return 2132; } else { @@ -16868,7 +17242,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01010xxxx111x11xxxxxxxxxx uqdecw. */ - return 2097; + return 2144; } } else @@ -16879,7 +17253,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00110xxxx111x11xxxxxxxxxx uqdech. */ - return 2091; + return 2138; } else { @@ -16887,7 +17261,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01110xxxx111x11xxxxxxxxxx uqdecd. */ - return 2088; + return 2135; } } } @@ -16901,7 +17275,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00011xxxx111x11xxxxxxxxxx uqdecb. */ - return 2086; + return 2133; } else { @@ -16909,7 +17283,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01011xxxx111x11xxxxxxxxxx uqdecw. */ - return 2098; + return 2145; } } else @@ -16920,7 +17294,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x00111xxxx111x11xxxxxxxxxx uqdech. */ - return 2092; + return 2139; } else { @@ -16928,7 +17302,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x01111xxxx111x11xxxxxxxxxx uqdecd. */ - return 2089; + return 2136; } } } @@ -16948,7 +17322,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x0000xxxxx111xxxxxxxxxxxxx prfb. */ - return 1870; + return 1917; } else { @@ -16956,7 +17330,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x0100xxxxx111xxxxxxxxxxxxx prfh. */ - return 1884; + return 1931; } } else @@ -16967,7 +17341,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x0001xxxxx111xxxxxxxxxxxxx ldff1b. */ - return 1748; + return 1795; } else { @@ -16975,7 +17349,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x0101xxxxx111xxxxxxxxxxxxx ldff1h. */ - return 1765; + return 1812; } } } @@ -16987,7 +17361,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x001xxxxxx111xxxxxxxxxxxxx ld1rb. */ - return 1654; + return 1701; } else { @@ -16995,7 +17369,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x011xxxxxx111xxxxxxxxxxxxx ld1rh. */ - return 1658; + return 1705; } } } @@ -17014,7 +17388,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx111x00xxxxxxxxxx zipq1. */ - return 3496; + return 3553; } else { @@ -17024,7 +17398,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx111010xxxxxxxxxx uzpq1. */ - return 3494; + return 3551; } else { @@ -17032,7 +17406,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx111110xxxxxxxxxx tblq. */ - return 3491; + return 3548; } } } @@ -17044,7 +17418,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx111x01xxxxxxxxxx zipq2. */ - return 3497; + return 3554; } else { @@ -17052,7 +17426,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0xx0xxxxx111x11xxxxxxxxxx uzpq2. */ - return 3495; + return 3552; } } } @@ -17066,7 +17440,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x0000xxxxx111xxxxxxxxxxxxx prfb. */ - return 1872; + return 1919; } else { @@ -17074,7 +17448,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x0100xxxxx111xxxxxxxxxxxxx prfh. */ - return 1886; + return 1933; } } else @@ -17085,7 +17459,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x0010xxxxx111xxxxxxxxxxxxx ldff1b. */ - return 1747; + return 1794; } else { @@ -17093,7 +17467,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x0110xxxxx111xxxxxxxxxxxxx ldff1h. */ - return 1763; + return 1810; } } } @@ -17112,7 +17486,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x00x1xxxxx111x00xxxxxxxxxx sqdmulh. */ - return 2282; + return 2329; } else { @@ -17120,7 +17494,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x00x1xxxxx111x10xxxxxxxxxx mul. */ - return 2209; + return 2256; } } else @@ -17129,7 +17503,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x00x1xxxxx111xx1xxxxxxxxxx sqrdmulh. */ - return 2304; + return 2351; } } else @@ -17140,7 +17514,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x0001xxxxx111xxxxxxxxxxxxx ldff1b. */ - return 1749; + return 1796; } else { @@ -17148,7 +17522,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x0011xxxxx111xxxxxxxxxxxxx prfd. */ - return 1876; + return 1923; } } } @@ -17166,7 +17540,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx1110x0xxxxxxxxxx sqdmullb. */ - return 2286; + return 2333; } else { @@ -17176,7 +17550,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx111100xxxxxxxxxx sqdmulh. */ - return 2283; + return 2330; } else { @@ -17184,7 +17558,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx111110xxxxxxxxxx mul. */ - return 2210; + return 2257; } } } @@ -17196,7 +17570,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx1110x1xxxxxxxxxx sqdmullt. */ - return 2289; + return 2336; } else { @@ -17204,7 +17578,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0101xxxxx1111x1xxxxxxxxxx sqrdmulh. */ - return 2305; + return 2352; } } } @@ -17214,7 +17588,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x0101xxxxx111xxxxxxxxxxxxx ldff1h. */ - return 1766; + return 1813; } } else @@ -17229,7 +17603,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx1110x0xxxxxxxxxx sqdmullb. */ - return 2287; + return 2334; } else { @@ -17239,7 +17613,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx111100xxxxxxxxxx sqdmulh. */ - return 2284; + return 2331; } else { @@ -17247,7 +17621,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx111110xxxxxxxxxx mul. */ - return 2211; + return 2258; } } } @@ -17259,7 +17633,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx1110x1xxxxxxxxxx sqdmullt. */ - return 2290; + return 2337; } else { @@ -17267,7 +17641,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x0111xxxxx1111x1xxxxxxxxxx sqrdmulh. */ - return 2306; + return 2353; } } } @@ -17277,7 +17651,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x0111xxxxx111xxxxxxxxxxxxx ldff1h. */ - return 1764; + return 1811; } } } @@ -17307,7 +17681,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx000xxxxxxxx0xxxx cmphs. */ - return 1446; + return 1493; } else { @@ -17315,7 +17689,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx000xxxxxxxx1xxxx cmphi. */ - return 1443; + return 1490; } } else @@ -17326,7 +17700,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x00x0xxxxx000xxxxxxxxxxxxx ld1rqb. */ - return 1660; + return 1707; } else { @@ -17334,7 +17708,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x01x0xxxxx000xxxxxxxxxxxxx ld1rqh. */ - return 1664; + return 1711; } } } @@ -17348,7 +17722,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx010xxxxxxxx0xxxx cmpge. */ - return 1437; + return 1484; } else { @@ -17356,7 +17730,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx010xxxxxxxx1xxxx cmpgt. */ - return 1440; + return 1487; } } else @@ -17369,7 +17743,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0000xxxxx010xxxxxxxxxxxxx ld1b. */ - return 1618; + return 1665; } else { @@ -17377,7 +17751,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0100xxxxx010xxxxxxxxxxxxx ld1sw. */ - return 1698; + return 1745; } } else @@ -17388,7 +17762,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0010xxxxx010xxxxxxxxxxxxx ld1b. */ - return 1620; + return 1667; } else { @@ -17396,7 +17770,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0110xxxxx010xxxxxxxxxxxxx ld1h. */ - return 1640; + return 1687; } } } @@ -17414,7 +17788,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx001xxxxxxxx0xxxx cmpeq. */ - return 1434; + return 1481; } else { @@ -17422,7 +17796,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx001xxxxxxxx1xxxx cmpne. */ - return 1457; + return 1504; } } else @@ -17433,7 +17807,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x00x0xxxxx001xxxxxxxxxxxxx ld1rqb. */ - return 1659; + return 1706; } else { @@ -17441,7 +17815,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x01x0xxxxx001xxxxxxxxxxxxx ld1rqh. */ - return 1663; + return 1710; } } } @@ -17455,7 +17829,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx011xxxxxxxx0xxxx cmplt. */ - return 1455; + return 1502; } else { @@ -17463,7 +17837,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx011xxxxxxxx1xxxx cmple. */ - return 1449; + return 1496; } } else @@ -17476,7 +17850,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0000xxxxx011xxxxxxxxxxxxx ldff1b. */ - return 1742; + return 1789; } else { @@ -17484,7 +17858,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0100xxxxx011xxxxxxxxxxxxx ldff1sw. */ - return 1785; + return 1832; } } else @@ -17495,7 +17869,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0010xxxxx011xxxxxxxxxxxxx ldff1b. */ - return 1744; + return 1791; } else { @@ -17503,7 +17877,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0110xxxxx011xxxxxxxxxxxxx ldff1h. */ - return 1759; + return 1806; } } } @@ -17518,7 +17892,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx0xxxxx0xxxxxxxxxxxxxxx fcmla. */ - return 1503; + return 1550; } else { @@ -17532,7 +17906,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0x00xxxxx000xxxxxxxxxxxxx st3q. */ - return 3523; + return 3580; } else { @@ -17542,7 +17916,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0010xxxxx000xxxxxxxxxxxxx st2q. */ - return 3522; + return 3579; } else { @@ -17550,7 +17924,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0110xxxxx000xxxxxxxxxxxxx st4q. */ - return 3524; + return 3581; } } } @@ -17562,7 +17936,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0x00xxxxx010xxxxxxxxxxxxx st1b. */ - return 1966; + return 2013; } else { @@ -17572,7 +17946,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0010xxxxx010xxxxxxxxxxxxx st1b. */ - return 1970; + return 2017; } else { @@ -17580,7 +17954,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0110xxxxx010xxxxxxxxxxxxx st1h. */ - return 1991; + return 2038; } } } @@ -17597,7 +17971,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0000xxxxx001xxxxxxxxxxxxx stnt1b. */ - return 2344; + return 2391; } else { @@ -17605,7 +17979,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0100xxxxx001xxxxxxxxxxxxx stnt1h. */ - return 2347; + return 2394; } } else @@ -17616,7 +17990,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0010xxxxx001xxxxxxxxxxxxx stnt1b. */ - return 2343; + return 2390; } else { @@ -17624,7 +17998,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0110xxxxx001xxxxxxxxxxxxx stnt1h. */ - return 2346; + return 2393; } } } @@ -17638,7 +18012,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0000xxxxx011xxxxxxxxxxxxx stnt1b. */ - return 2036; + return 2083; } else { @@ -17646,7 +18020,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0100xxxxx011xxxxxxxxxxxxx stnt1h. */ - return 2040; + return 2087; } } else @@ -17657,7 +18031,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0010xxxxx011xxxxxxxxxxxxx st3b. */ - return 2020; + return 2067; } else { @@ -17665,7 +18039,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0110xxxxx011xxxxxxxxxxxxx st3h. */ - return 2024; + return 2071; } } } @@ -17687,7 +18061,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x0xx0xxxxx100xxxxxxxx0xxxx cmpge. */ - return 1438; + return 1485; } else { @@ -17695,7 +18069,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x0xx0xxxxx100xxxxxxxx1xxxx cmpgt. */ - return 1441; + return 1488; } } else @@ -17708,7 +18082,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx110xxxxxxxx0xxxx cmphs. */ - return 1447; + return 1494; } else { @@ -17716,7 +18090,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx110xxxxxxxx1xxxx cmphi. */ - return 1444; + return 1491; } } else @@ -17729,7 +18103,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0000xxxxx110xxxxxxxxxxxxx ldnt1b. */ - return 1817; + return 1864; } else { @@ -17737,7 +18111,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0100xxxxx110xxxxxxxxxxxxx ldnt1h. */ - return 1821; + return 1868; } } else @@ -17748,7 +18122,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0010xxxxx110xxxxxxxxxxxxx ld3b. */ - return 1725; + return 1772; } else { @@ -17756,7 +18130,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0110xxxxx110xxxxxxxxxxxxx ld3h. */ - return 1729; + return 1776; } } } @@ -17774,7 +18148,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx101xxxxxxxx0xxxx cmpeq. */ - return 1435; + return 1482; } else { @@ -17782,7 +18156,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx101xxxxxxxx1xxxx cmpne. */ - return 1458; + return 1505; } } else @@ -17797,7 +18171,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x00000xxxx101xxxxxxxxxxxxx ld1b. */ - return 1625; + return 1672; } else { @@ -17805,7 +18179,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x01000xxxx101xxxxxxxxxxxxx ld1sw. */ - return 1703; + return 1750; } } else @@ -17816,7 +18190,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x00100xxxx101xxxxxxxxxxxxx ld1b. */ - return 1627; + return 1674; } else { @@ -17824,7 +18198,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x01100xxxx101xxxxxxxxxxxxx ld1h. */ - return 1648; + return 1695; } } } @@ -17838,7 +18212,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x00001xxxx101xxxxxxxxxxxxx ldnf1b. */ - return 1801; + return 1848; } else { @@ -17846,7 +18220,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x01001xxxx101xxxxxxxxxxxxx ldnf1sw. */ - return 1814; + return 1861; } } else @@ -17857,7 +18231,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x00101xxxx101xxxxxxxxxxxxx ldnf1b. */ - return 1803; + return 1850; } else { @@ -17865,7 +18239,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x01101xxxx101xxxxxxxxxxxxx ldnf1h. */ - return 1807; + return 1854; } } } @@ -17881,7 +18255,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx111xxxxxxxx0xxxx cmplo. */ - return 1451; + return 1498; } else { @@ -17889,7 +18263,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx0xxxxx111xxxxxxxx1xxxx cmpls. */ - return 1453; + return 1500; } } else @@ -17904,7 +18278,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x00000xxxx111xxxxxxxxxxxxx ldnt1b. */ - return 1818; + return 1865; } else { @@ -17912,7 +18286,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x01000xxxx111xxxxxxxxxxxxx ldnt1h. */ - return 1822; + return 1869; } } else @@ -17923,7 +18297,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x00100xxxx111xxxxxxxxxxxxx ld3b. */ - return 1726; + return 1773; } else { @@ -17931,7 +18305,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x01100xxxx111xxxxxxxxxxxxx ld3h. */ - return 1730; + return 1777; } } } @@ -17941,7 +18315,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0xx01xxxx111xxxxxxxxxxxxx ld2q. */ - return 3515; + return 3572; } } } @@ -17967,7 +18341,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx00000x100xxxxxxxxxxxxx fcadd. */ - return 1502; + return 1549; } else { @@ -17975,7 +18349,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx01000x100xxxxxxxxxxxxx faddp. */ - return 2170; + return 2217; } } else @@ -17986,7 +18360,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx0x1000100xxxxxxxxxxxxx frintn. */ - return 3711; + return 3768; } else { @@ -17994,7 +18368,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx0x1001100xxxxxxxxxxxxx frinta. */ - return 3710; + return 3767; } } } @@ -18006,7 +18380,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx0xx000110xxxxxxxxxxxxx frintm. */ - return 3713; + return 3770; } else { @@ -18014,7 +18388,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx0xx001110xxxxxxxxxxxxx frintx. */ - return 3708; + return 3765; } } } @@ -18028,7 +18402,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx0x01001x0xxxxxxxxxxxxx fmaxnmp. */ - return 2178; + return 2225; } else { @@ -18038,7 +18412,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0x00x11001x0xxxxxxxxxxxxx frint32z. */ - return 3703; + return 3760; } else { @@ -18048,7 +18422,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0x10x1100100xxxxxxxxxxxxx scvtf. */ - return 3727; + return 3784; } else { @@ -18056,7 +18430,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0x10x1100110xxxxxxxxxxxxx scvtf. */ - return 3724; + return 3781; } } } @@ -18069,7 +18443,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx0x01011x0xxxxxxxxxxxxx fminnmp. */ - return 2180; + return 2227; } else { @@ -18081,7 +18455,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0000x11011x0xxxxxxxxxxxxx frint64z. */ - return 3707; + return 3764; } else { @@ -18089,7 +18463,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0100x11011x0xxxxxxxxxxxxx scvtf. */ - return 3726; + return 3783; } } else @@ -18102,7 +18476,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0010x1101100xxxxxxxxxxxxx scvtf. */ - return 3725; + return 3782; } else { @@ -18110,7 +18484,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0110x1101100xxxxxxxxxxxxx scvtf. */ - return 3729; + return 3786; } } else @@ -18121,7 +18495,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0010x1101110xxxxxxxxxxxxx scvtf. */ - return 3728; + return 3785; } else { @@ -18129,7 +18503,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0110x1101110xxxxxxxxxxxxx scvtf. */ - return 3730; + return 3787; } } } @@ -18153,7 +18527,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx000000101xxxxxxxxxxxxx fcvtnt. */ - return 3678; + return 3735; } else { @@ -18161,7 +18535,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx010000101xxxxxxxxxxxxx faddqv. */ - return 3484; + return 3541; } } else @@ -18172,7 +18546,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx001000101xxxxxxxxxxxxx fcvtnt. */ - return 2173; + return 2220; } else { @@ -18180,7 +18554,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx011000101xxxxxxxxxxxxx frintp. */ - return 3714; + return 3771; } } } @@ -18190,7 +18564,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx0xx000111xxxxxxxxxxxxx frintz. */ - return 3712; + return 3769; } } else @@ -18201,7 +18575,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx0x01001x1xxxxxxxxxxxxx fmaxnmqv. */ - return 3485; + return 3542; } else { @@ -18211,7 +18585,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0x00x11001x1xxxxxxxxxxxxx frint32x. */ - return 3701; + return 3758; } else { @@ -18221,7 +18595,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0x10x1100101xxxxxxxxxxxxx ucvtf. */ - return 3739; + return 3796; } else { @@ -18229,7 +18603,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0x10x1100111xxxxxxxxxxxxx ucvtf. */ - return 3736; + return 3793; } } } @@ -18247,7 +18621,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx0x0001101xxxxxxxxxxxxx fcvtlt. */ - return 3676; + return 3733; } else { @@ -18255,7 +18629,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx0x1001101xxxxxxxxxxxxx fcvtlt. */ - return 2171; + return 2218; } } else @@ -18264,7 +18638,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx0xx001111xxxxxxxxxxxxx frinti. */ - return 3709; + return 3766; } } else @@ -18275,7 +18649,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx0x01011x1xxxxxxxxxxxxx fminnmqv. */ - return 3487; + return 3544; } else { @@ -18287,7 +18661,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0000x11011x1xxxxxxxxxxxxx frint64x. */ - return 3705; + return 3762; } else { @@ -18295,7 +18669,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0100x11011x1xxxxxxxxxxxxx ucvtf. */ - return 3738; + return 3795; } } else @@ -18308,7 +18682,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0010x1101101xxxxxxxxxxxxx ucvtf. */ - return 3737; + return 3794; } else { @@ -18316,7 +18690,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0110x1101101xxxxxxxxxxxxx ucvtf. */ - return 3741; + return 3798; } } else @@ -18327,7 +18701,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0010x1101111xxxxxxxxxxxxx ucvtf. */ - return 3740; + return 3797; } else { @@ -18335,7 +18709,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0110x1101111xxxxxxxxxxxxx ucvtf. */ - return 3742; + return 3799; } } } @@ -18360,7 +18734,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0x00xx010100xxxxxxxxxxxxx fcvt. */ - return 3672; + return 3729; } else { @@ -18368,7 +18742,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0x10xx010100xxxxxxxxxxxxx fcvt. */ - return 3674; + return 3731; } } else @@ -18381,7 +18755,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0000xx010110xxxxxxxxxxxxx fcvtx. */ - return 3680; + return 3737; } else { @@ -18389,7 +18763,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0100xx010110xxxxxxxxxxxxx bfcvt. */ - return 3661; + return 3718; } } else @@ -18398,7 +18772,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0x10xx010110xxxxxxxxxxxxx fcvt. */ - return 3675; + return 3732; } } } @@ -18416,7 +18790,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0000x0010101xxxxxxxxxxxxx fcvtxnt. */ - return 3681; + return 3738; } else { @@ -18424,7 +18798,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0100x0010101xxxxxxxxxxxxx bfcvtnt. */ - return 3662; + return 3719; } } else @@ -18433,7 +18807,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0x10x0010101xxxxxxxxxxxxx fcvtnt. */ - return 3679; + return 3736; } } else @@ -18448,7 +18822,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x000001010101xxxxxxxxxxxxx fcvtxnt. */ - return 2176; + return 2223; } else { @@ -18456,7 +18830,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x010001010101xxxxxxxxxxxxx bfcvtnt. */ - return 3164; + return 3221; } } else @@ -18465,7 +18839,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0x1001010101xxxxxxxxxxxxx fcvtnt. */ - return 2174; + return 2221; } } else @@ -18476,7 +18850,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0x0011010101xxxxxxxxxxxxx fcvt. */ - return 3670; + return 3727; } else { @@ -18484,7 +18858,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0x1011010101xxxxxxxxxxxxx fcvt. */ - return 3671; + return 3728; } } } @@ -18495,7 +18869,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx0xx010111xxxxxxxxxxxxx fcvt. */ - return 3673; + return 3730; } } } @@ -18509,7 +18883,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx0x01101x0xxxxxxxxxxxxx fmaxp. */ - return 2179; + return 2226; } else { @@ -18517,7 +18891,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx0x01101x1xxxxxxxxxxxxx fmaxqv. */ - return 3486; + return 3543; } } else @@ -18528,7 +18902,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0x00x11101xxxxxxxxxxxxxxx flogb. */ - return 3697; + return 3754; } else { @@ -18540,7 +18914,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0x10x1110100xxxxxxxxxxxxx fcvtzs. */ - return 3687; + return 3744; } else { @@ -18548,7 +18922,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0x10x1110110xxxxxxxxxxxxx fcvtzs. */ - return 3682; + return 3739; } } else @@ -18559,7 +18933,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0x10x1110101xxxxxxxxxxxxx fcvtzu. */ - return 3694; + return 3751; } else { @@ -18567,7 +18941,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0x10x1110111xxxxxxxxxxxxx fcvtzu. */ - return 3689; + return 3746; } } } @@ -18586,7 +18960,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx0xx011100xxxxxxxxxxxxx frecpx. */ - return 3699; + return 3756; } else { @@ -18596,7 +18970,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx0x0111100xxxxxxxxxxxxx fminp. */ - return 2181; + return 2228; } else { @@ -18606,7 +18980,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0x00x1111100xxxxxxxxxxxxx fcvtzs. */ - return 3685; + return 3742; } else { @@ -18616,7 +18990,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0010x1111100xxxxxxxxxxxxx fcvtzs. */ - return 3683; + return 3740; } else { @@ -18624,7 +18998,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0110x1111100xxxxxxxxxxxxx fcvtzs. */ - return 3686; + return 3743; } } } @@ -18638,7 +19012,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x00x0xxx11110xxxxxxxxxxxxx fcvtzs. */ - return 3684; + return 3741; } else { @@ -18646,7 +19020,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x01x0xxx11110xxxxxxxxxxxxx fcvtzs. */ - return 3688; + return 3745; } } } @@ -18662,7 +19036,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx0x0011101xxxxxxxxxxxxx fcvtlt. */ - return 3677; + return 3734; } else { @@ -18672,7 +19046,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx001011101xxxxxxxxxxxxx fcvtlt. */ - return 2172; + return 2219; } else { @@ -18680,7 +19054,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx011011101xxxxxxxxxxxxx fsqrt. */ - return 3715; + return 3772; } } } @@ -18692,7 +19066,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx0x0111101xxxxxxxxxxxxx fminqv. */ - return 3488; + return 3545; } else { @@ -18702,7 +19076,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0x00x1111101xxxxxxxxxxxxx fcvtzu. */ - return 3692; + return 3749; } else { @@ -18712,7 +19086,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0010x1111101xxxxxxxxxxxxx fcvtzu. */ - return 3690; + return 3747; } else { @@ -18720,7 +19094,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0110x1111101xxxxxxxxxxxxx fcvtzu. */ - return 3693; + return 3750; } } } @@ -18734,7 +19108,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x00x0xxx11111xxxxxxxxxxxxx fcvtzu. */ - return 3691; + return 3748; } else { @@ -18742,7 +19116,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x01x0xxx11111xxxxxxxxxxxxx fcvtzu. */ - return 3695; + return 3752; } } } @@ -18761,7 +19135,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0000xxxxx1x0xxxxxxxxxxxxx st1b. */ - return 1967; + return 2014; } else { @@ -18769,7 +19143,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0100xxxxx1x0xxxxxxxxxxxxx st1h. */ - return 1986; + return 2033; } } else @@ -18780,7 +19154,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0010xxxxx1x0xxxxxxxxxxxxx st1b. */ - return 1971; + return 2018; } else { @@ -18788,7 +19162,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0110xxxxx1x0xxxxxxxxxxxxx st1h. */ - return 1992; + return 2039; } } } @@ -18804,7 +19178,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0000xxxxx101xxxxxxxxxxxxx st1b. */ - return 1968; + return 2015; } else { @@ -18812,7 +19186,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0100xxxxx101xxxxxxxxxxxxx st1h. */ - return 1987; + return 2034; } } else @@ -18823,7 +19197,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0010xxxxx101xxxxxxxxxxxxx st1b. */ - return 1975; + return 2022; } else { @@ -18831,7 +19205,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0110xxxxx101xxxxxxxxxxxxx st1h. */ - return 1996; + return 2043; } } } @@ -18845,7 +19219,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0x000xxxx111xxxxxxxxxxxxx st1b. */ - return 1973; + return 2020; } else { @@ -18855,7 +19229,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x00100xxxx111xxxxxxxxxxxxx st1b. */ - return 1976; + return 2023; } else { @@ -18863,7 +19237,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x01100xxxx111xxxxxxxxxxxxx st1h. */ - return 1997; + return 2044; } } } @@ -18877,7 +19251,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x00001xxxx111xxxxxxxxxxxxx stnt1b. */ - return 2037; + return 2084; } else { @@ -18885,7 +19259,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x01001xxxx111xxxxxxxxxxxxx stnt1h. */ - return 2041; + return 2088; } } else @@ -18896,7 +19270,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x00101xxxx111xxxxxxxxxxxxx st3b. */ - return 2021; + return 2068; } else { @@ -18904,7 +19278,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x01101xxxx111xxxxxxxxxxxxx st3h. */ - return 2025; + return 2072; } } } @@ -18928,7 +19302,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx1xxxxxxx0xxxxxxxx0xxxx cmphs. */ - return 1448; + return 1495; } else { @@ -18936,7 +19310,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx1xxxxxxx0xxxxxxxx1xxxx cmphi. */ - return 1445; + return 1492; } } else @@ -18951,7 +19325,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x00x1xxxxx000xxxxxxxxxxxxx ld1rob. */ - return 3140; + return 3197; } else { @@ -18959,7 +19333,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x01x1xxxxx000xxxxxxxxxxxxx ld1roh. */ - return 3141; + return 3198; } } else @@ -18968,7 +19342,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0xx1xxxxx100xxxxxxxxxxxxx ld2q. */ - return 3518; + return 3575; } } else @@ -18983,7 +19357,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0001xxxxx010xxxxxxxxxxxxx ld1b. */ - return 1619; + return 1666; } else { @@ -18991,7 +19365,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0101xxxxx010xxxxxxxxxxxxx ld1h. */ - return 1639; + return 1686; } } else @@ -19002,7 +19376,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0011xxxxx010xxxxxxxxxxxxx ld1b. */ - return 1621; + return 1668; } else { @@ -19010,7 +19384,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0111xxxxx010xxxxxxxxxxxxx ld1h. */ - return 1641; + return 1688; } } } @@ -19024,7 +19398,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0001xxxxx110xxxxxxxxxxxxx ld2b. */ - return 1717; + return 1764; } else { @@ -19032,7 +19406,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0101xxxxx110xxxxxxxxxxxxx ld2h. */ - return 1721; + return 1768; } } else @@ -19043,7 +19417,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0011xxxxx110xxxxxxxxxxxxx ld4b. */ - return 1733; + return 1780; } else { @@ -19051,7 +19425,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0111xxxxx110xxxxxxxxxxxxx ld4h. */ - return 1737; + return 1784; } } } @@ -19076,7 +19450,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x00x1xxxxx000x00xxxxxxxxxx fmla. */ - return 1556; + return 1603; } else { @@ -19084,7 +19458,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x00x1xxxxx000x10xxxxxxxxxx bfmla. */ - return 3392; + return 3449; } } else @@ -19095,7 +19469,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x00x1xxxxx000x01xxxxxxxxxx fmls. */ - return 1560; + return 1607; } else { @@ -19103,7 +19477,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x00x1xxxxx000x11xxxxxxxxxx bfmls. */ - return 3393; + return 3450; } } } @@ -19113,7 +19487,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x00x1xxxxx000xxxxxxxxxxxxx st2q. */ - return 3525; + return 3582; } } else @@ -19130,7 +19504,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0101xxxxx0000x0xxxxxxxxxx fmla. */ - return 1557; + return 1604; } else { @@ -19138,7 +19512,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0101xxxxx0000x1xxxxxxxxxx fmls. */ - return 1561; + return 1608; } } else @@ -19147,7 +19521,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0101xxxxx0001xxxxxxxxxxxx fcmla. */ - return 1504; + return 1551; } } else @@ -19156,7 +19530,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0101xxxxx000xxxxxxxxxxxxx st3q. */ - return 3526; + return 3583; } } else @@ -19171,7 +19545,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0111xxxxx0000x0xxxxxxxxxx fmla. */ - return 1558; + return 1605; } else { @@ -19179,7 +19553,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0111xxxxx0000x1xxxxxxxxxx fmls. */ - return 1562; + return 1609; } } else @@ -19188,7 +19562,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0111xxxxx0001xxxxxxxxxxxx fcmla. */ - return 1505; + return 1552; } } else @@ -19197,7 +19571,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0111xxxxx000xxxxxxxxxxxxx st4q. */ - return 3527; + return 3584; } } } @@ -19218,7 +19592,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0001xxxxx0100x0xxxxxxxxxx fdot. */ - return 2499; + return 2556; } else { @@ -19226,7 +19600,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0001xxxxx0100x1xxxxxxxxxx fdot. */ - return 3614; + return 3671; } } else @@ -19235,7 +19609,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0001xxxxx0101xxxxxxxxxxxx fmlalb. */ - return 3616; + return 3673; } } else @@ -19244,7 +19618,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0001xxxxx010xxxxxxxxxxxxx st1b. */ - return 1969; + return 2016; } } else @@ -19259,7 +19633,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0101xxxxx0100x0xxxxxxxxxx fmlalb. */ - return 2182; + return 2229; } else { @@ -19267,7 +19641,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0101xxxxx0100x1xxxxxxxxxx fmlalt. */ - return 2184; + return 2231; } } else @@ -19276,7 +19650,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0101xxxxx0101xxxxxxxxxxxx fmlalt. */ - return 3626; + return 3683; } } else @@ -19285,7 +19659,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0101xxxxx010xxxxxxxxxxxxx st1h. */ - return 1988; + return 2035; } } } @@ -19301,7 +19675,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0011xxxxx010xx0xxxxxxxxxx bfdot. */ - return 3161; + return 3218; } else { @@ -19309,7 +19683,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0011xxxxx010xx1xxxxxxxxxx fdot. */ - return 3612; + return 3669; } } else @@ -19318,7 +19692,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0011xxxxx010xxxxxxxxxxxxx st1b. */ - return 1972; + return 2019; } } else @@ -19331,7 +19705,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0111xxxxx010xx0xxxxxxxxxx bfmlalb. */ - return 3168; + return 3225; } else { @@ -19339,7 +19713,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0111xxxxx010xx1xxxxxxxxxx bfmlalt. */ - return 3167; + return 3224; } } else @@ -19348,7 +19722,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0111xxxxx010xxxxxxxxxxxxx st1h. */ - return 1993; + return 2040; } } } @@ -19372,7 +19746,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0001xxxxx100000xxxxxxxxxx fdot. */ - return 2500; + return 2557; } else { @@ -19380,7 +19754,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0001xxxxx100010xxxxxxxxxx fmlallbb. */ - return 3617; + return 3674; } } else @@ -19389,7 +19763,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0001xxxxx1000x1xxxxxxxxxx fdot. */ - return 3613; + return 3670; } } else @@ -19398,7 +19772,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0001xxxxx1100xxxxxxxxxxxx fmlallbb. */ - return 3618; + return 3675; } } else @@ -19407,7 +19781,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0001xxxxx1x01xxxxxxxxxxxx fmlallbt. */ - return 3619; + return 3676; } } else @@ -19426,7 +19800,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0101xxxxx100000xxxxxxxxxx fmlalb. */ - return 2183; + return 2230; } else { @@ -19434,7 +19808,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0101xxxxx100010xxxxxxxxxx fmlalb. */ - return 3615; + return 3672; } } else @@ -19443,7 +19817,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0101xxxxx1000x1xxxxxxxxxx fmlalt. */ - return 2185; + return 2232; } } else @@ -19452,7 +19826,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0101xxxxx1100xxxxxxxxxxxx fmlalltb. */ - return 3622; + return 3679; } } else @@ -19461,7 +19835,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0101xxxxx1x01xxxxxxxxxxxx fmlalt. */ - return 3625; + return 3682; } } else @@ -19470,7 +19844,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0101xxxxx1x0xxxxxxxxxxxxx st1h. */ - return 1989; + return 2036; } } } @@ -19486,7 +19860,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0011xxxxx100xx0xxxxxxxxxx bfdot. */ - return 3160; + return 3217; } else { @@ -19494,7 +19868,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0011xxxxx100xx1xxxxxxxxxx fdot. */ - return 3611; + return 3668; } } else @@ -19503,7 +19877,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0011xxxxx110xxxxxxxxxxxxx fmlallbt. */ - return 3620; + return 3677; } } else @@ -19518,7 +19892,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0111xxxxx100xx0xxxxxxxxxx bfmlalb. */ - return 3166; + return 3223; } else { @@ -19526,7 +19900,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0111xxxxx100xx1xxxxxxxxxx bfmlalt. */ - return 3165; + return 3222; } } else @@ -19535,7 +19909,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0111xxxxx110xxxxxxxxxxxxx fmlalltt. */ - return 3624; + return 3681; } } else @@ -19544,7 +19918,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0111xxxxx1x0xxxxxxxxxxxxx st1h. */ - return 1994; + return 2041; } } } @@ -19563,7 +19937,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx1xxxxxxx1xxxxxxxx0xxxx cmplo. */ - return 1452; + return 1499; } else { @@ -19571,7 +19945,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x0xx1xxxxxxx1xxxxxxxx1xxxx cmpls. */ - return 1454; + return 1501; } } else @@ -19586,7 +19960,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x00x1xxxxx001xxxxxxxxxxxxx ld1rob. */ - return 3144; + return 3201; } else { @@ -19594,7 +19968,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x01x1xxxxx001xxxxxxxxxxxxx ld1roh. */ - return 3145; + return 3202; } } else @@ -19609,7 +19983,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x00010xxxx101xxxxxxxxxxxxx ld1b. */ - return 1626; + return 1673; } else { @@ -19617,7 +19991,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x01010xxxx101xxxxxxxxxxxxx ld1h. */ - return 1647; + return 1694; } } else @@ -19628,7 +20002,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x00110xxxx101xxxxxxxxxxxxx ld1b. */ - return 1628; + return 1675; } else { @@ -19636,7 +20010,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x01110xxxx101xxxxxxxxxxxxx ld1h. */ - return 1649; + return 1696; } } } @@ -19650,7 +20024,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x00011xxxx101xxxxxxxxxxxxx ldnf1b. */ - return 1802; + return 1849; } else { @@ -19658,7 +20032,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x01011xxxx101xxxxxxxxxxxxx ldnf1h. */ - return 1806; + return 1853; } } else @@ -19669,7 +20043,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x00111xxxx101xxxxxxxxxxxxx ldnf1b. */ - return 1804; + return 1851; } else { @@ -19677,7 +20051,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x01111xxxx101xxxxxxxxxxxxx ldnf1h. */ - return 1808; + return 1855; } } } @@ -19695,7 +20069,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0001xxxxx011xxxxxxxxxxxxx ldff1b. */ - return 1743; + return 1790; } else { @@ -19703,7 +20077,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0101xxxxx011xxxxxxxxxxxxx ldff1h. */ - return 1758; + return 1805; } } else @@ -19714,7 +20088,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0011xxxxx011xxxxxxxxxxxxx ldff1b. */ - return 1745; + return 1792; } else { @@ -19722,7 +20096,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0111xxxxx011xxxxxxxxxxxxx ldff1h. */ - return 1760; + return 1807; } } } @@ -19736,7 +20110,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0001xxxxx111xxxxxxxxxxxxx ld2b. */ - return 1718; + return 1765; } else { @@ -19744,7 +20118,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0101xxxxx111xxxxxxxxxxxxx ld2h. */ - return 1722; + return 1769; } } else @@ -19755,7 +20129,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0011xxxxx111xxxxxxxxxxxxx ld4b. */ - return 1734; + return 1781; } else { @@ -19763,7 +20137,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x0111xxxxx111xxxxxxxxxxxxx ld4h. */ - return 1738; + return 1785; } } } @@ -19788,7 +20162,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x00x1xxxxx001x00xxxxxxxxxx fmul. */ - return 1567; + return 1614; } else { @@ -19798,7 +20172,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0101xxxxx001x00xxxxxxxxxx fmul. */ - return 1568; + return 1615; } else { @@ -19806,7 +20180,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0111xxxxx001x00xxxxxxxxxx fmul. */ - return 1569; + return 1616; } } } @@ -19816,7 +20190,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx1xxxxx001x10xxxxxxxxxx bfmul. */ - return 3397; + return 3454; } } else @@ -19825,7 +20199,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0xx1xxxxx001xx1xxxxxxxxxx fclamp. */ - return 2501; + return 2558; } } else @@ -19834,7 +20208,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0xx1xxxxx001xxxxxxxxxxxxx st1q. */ - return 3521; + return 3578; } } else @@ -19849,7 +20223,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0001xxxxx1010xxxxxxxxxxxx fmlalltb. */ - return 3621; + return 3678; } else { @@ -19857,7 +20231,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0001xxxxx1011xxxxxxxxxxxx fmlalltt. */ - return 3623; + return 3680; } } else @@ -19870,7 +20244,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0101xxxxx101xx0xxxxxxxxxx fmlslb. */ - return 2187; + return 2234; } else { @@ -19878,7 +20252,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0101xxxxx101xx1xxxxxxxxxx fmlslt. */ - return 2189; + return 2236; } } else @@ -19887,7 +20261,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0101xxxxx101xxxxxxxxxxxxx st1h. */ - return 1990; + return 2037; } } } @@ -19899,7 +20273,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0011xxxxx101xxxxxxxxxxxxx st1b. */ - return 1977; + return 2024; } else { @@ -19911,7 +20285,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0111xxxxx101xx0xxxxxxxxxx bfmlslb. */ - return 2496; + return 2553; } else { @@ -19919,7 +20293,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0111xxxxx101xx1xxxxxxxxxx bfmlslt. */ - return 2498; + return 2555; } } else @@ -19928,7 +20302,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0111xxxxx101xxxxxxxxxxxxx st1h. */ - return 1998; + return 2045; } } } @@ -19946,7 +20320,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0001xxxxx011xxxxxxxxxxxxx st2b. */ - return 2012; + return 2059; } else { @@ -19958,7 +20332,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0101xxxxx011xx0xxxxxxxxxx fmlslb. */ - return 2186; + return 2233; } else { @@ -19966,7 +20340,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0101xxxxx011xx1xxxxxxxxxx fmlslt. */ - return 2188; + return 2235; } } else @@ -19975,7 +20349,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0101xxxxx011xxxxxxxxxxxxx st2h. */ - return 2016; + return 2063; } } } @@ -19987,7 +20361,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x0011xxxxx011xxxxxxxxxxxxx st4b. */ - return 2028; + return 2075; } else { @@ -19999,7 +20373,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0111xxxxx011xx0xxxxxxxxxx bfmlslb. */ - return 2495; + return 2552; } else { @@ -20007,7 +20381,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0111xxxxx011xx1xxxxxxxxxx bfmlslt. */ - return 2497; + return 2554; } } else @@ -20016,7 +20390,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x0111xxxxx011xxxxxxxxxxxxx st4h. */ - return 2032; + return 2079; } } } @@ -20035,7 +20409,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0001xxxxx111xx0xxxxxxxxxx fmmla. */ - return 3181; + return 3238; } else { @@ -20043,7 +20417,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0001xxxxx111xx1xxxxxxxxxx fmmla. */ - return 3179; + return 3236; } } else @@ -20054,7 +20428,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x00010xxxx111xxxxxxxxxxxxx st1b. */ - return 1974; + return 2021; } else { @@ -20062,7 +20436,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x00011xxxx111xxxxxxxxxxxxx st2b. */ - return 2013; + return 2060; } } } @@ -20074,7 +20448,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0101xxxxx111xxxxxxxxxxxxx fmmla. */ - return 3138; + return 3195; } else { @@ -20084,7 +20458,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x01010xxxx111xxxxxxxxxxxxx st1h. */ - return 1995; + return 2042; } else { @@ -20092,7 +20466,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x01011xxxx111xxxxxxxxxxxxx st2h. */ - return 2017; + return 2064; } } } @@ -20109,7 +20483,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0011xxxxx111xx0xxxxxxxxxx fmmla. */ - return 3183; + return 3240; } else { @@ -20117,7 +20491,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0011xxxxx111xx1xxxxxxxxxx bfmmla. */ - return 3162; + return 3219; } } else @@ -20128,7 +20502,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x00110xxxx111xxxxxxxxxxxxx st1b. */ - return 1978; + return 2025; } else { @@ -20136,7 +20510,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x00111xxxx111xxxxxxxxxxxxx st4b. */ - return 2029; + return 2076; } } } @@ -20148,7 +20522,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x0111xxxxx111xxxxxxxxxxxxx fmmla. */ - return 3139; + return 3196; } else { @@ -20158,7 +20532,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x01110xxxx111xxxxxxxxxxxxx st1h. */ - return 1999; + return 2046; } else { @@ -20166,7 +20540,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x01111xxxx111xxxxxxxxxxxxx st4h. */ - return 2033; + return 2080; } } } @@ -20198,7 +20572,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x10000xxxxxxxxxxxxxxxxxxxx orr. */ - return 1857; + return 1904; } else { @@ -20206,7 +20580,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x11000xxxxxxxxxxxxxxxxxxxx and. */ - return 1400; + return 1447; } } else @@ -20217,7 +20591,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x10100xxxxxxxxxxxxxxxxxxxx eor. */ - return 1487; + return 1534; } else { @@ -20225,7 +20599,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x11100xxxxxxxxxxxxxxxxxxxx dupm. */ - return 1485; + return 1532; } } } @@ -20237,7 +20611,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx01xxxx0xxxxxxxxxxxxxxx cpy. */ - return 1470; + return 1517; } else { @@ -20245,7 +20619,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx01xxxx1xxxxxxxxxxxxxxx fcpy. */ - return 1517; + return 1564; } } } @@ -20265,7 +20639,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1001xxxxx000xxxxxxxxxxxxx ext. */ - return 1492; + return 1539; } else { @@ -20277,7 +20651,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1101xxxxx000x00xxxxxxxxxx zip1. */ - return 3148; + return 3205; } else { @@ -20287,7 +20661,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1101xxxxx000010xxxxxxxxxx uzp1. */ - return 3150; + return 3207; } else { @@ -20295,7 +20669,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1101xxxxx000110xxxxxxxxxx trn1. */ - return 3152; + return 3209; } } } @@ -20307,7 +20681,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1101xxxxx000x01xxxxxxxxxx zip2. */ - return 3149; + return 3206; } else { @@ -20317,7 +20691,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1101xxxxx000011xxxxxxxxxx uzp2. */ - return 3151; + return 3208; } else { @@ -20325,7 +20699,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1101xxxxx000111xxxxxxxxxx trn2. */ - return 3153; + return 3210; } } } @@ -20337,7 +20711,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1x11xxxxx000xxxxxxxxxxxxx ext. */ - return 2169; + return 2216; } } else @@ -20354,7 +20728,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x0000100xxxxxxxxxxxxx cpy. */ - return 1468; + return 1515; } else { @@ -20362,7 +20736,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x1000100xxxxxxxxxxxxx clasta. */ - return 1426; + return 1473; } } else @@ -20373,7 +20747,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x0100100xxxxxxxxxxxxx revb. */ - return 1906; + return 1953; } else { @@ -20381,7 +20755,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x1100100xxxxxxxxxxxxx splice. */ - return 1933; + return 1980; } } } @@ -20395,7 +20769,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x0010100xxxxxxxxxxxxx lasta. */ - return 1614; + return 1661; } else { @@ -20403,7 +20777,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x1010100xxxxxxxxxxxxx clasta. */ - return 1427; + return 1474; } } else @@ -20414,7 +20788,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x0110100xxxxxxxxxxxxx revw. */ - return 1908; + return 1955; } else { @@ -20422,7 +20796,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x1110100xxxxxxxxxxxxx revd. */ - return 2489; + return 2546; } } } @@ -20443,7 +20817,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x10x100001100xxxxxxxxxxxxx compact. */ - return 3667; + return 3724; } else { @@ -20451,7 +20825,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x11x100001100xxxxxxxxxxxxx compact. */ - return 1467; + return 1514; } } else @@ -20460,7 +20834,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx110001100xxxxxxxxxxxxx expand. */ - return 3668; + return 3725; } } else @@ -20469,7 +20843,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x1001100xxxxxxxxxxxxx clastb. */ - return 1429; + return 1476; } } else @@ -20480,7 +20854,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x0101100xxxxxxxxxxxxx revh. */ - return 1907; + return 1954; } else { @@ -20488,7 +20862,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x1101100xxxxxxxxxxxxx splice. */ - return 2264; + return 2311; } } } @@ -20502,7 +20876,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x0011100xxxxxxxxxxxxx lastb. */ - return 1616; + return 1663; } else { @@ -20510,7 +20884,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x1011100xxxxxxxxxxxxx clastb. */ - return 1430; + return 1477; } } else @@ -20519,7 +20893,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xx111100xxxxxxxxxxxxx rbit. */ - return 1899; + return 1946; } } } @@ -20539,7 +20913,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx001000xxxxxxxxxx dup. */ - return 1483; + return 1530; } else { @@ -20547,7 +20921,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx001100xxxxxxxxxx tbl. */ - return 2057; + return 2104; } } else @@ -20558,7 +20932,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx001010xxxxxxxxxx tbl. */ - return 2353; + return 2400; } else { @@ -20576,7 +20950,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx100000001110xxxxxxxxxx dup. */ - return 1482; + return 1529; } else { @@ -20584,7 +20958,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx110000001110xxxxxxxxxx sunpklo. */ - return 2053; + return 2100; } } else @@ -20595,7 +20969,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx100100001110xxxxxxxxxx insr. */ - return 1611; + return 1658; } else { @@ -20603,7 +20977,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx110100001110xxxxxxxxxx insr. */ - return 1612; + return 1659; } } } @@ -20613,7 +20987,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x0x10001110xxxxxxxxxx uunpklo. */ - return 2116; + return 2163; } } else @@ -20630,7 +21004,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1001010x0001110xxxxxxxxxx pmov. */ - return 3498; + return 3555; } else { @@ -20638,7 +21012,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1001011x0001110xxxxxxxxxx pmov. */ - return 3499; + return 3556; } } else @@ -20647,7 +21021,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x101101xx0001110xxxxxxxxxx pmov. */ - return 3500; + return 3557; } } else @@ -20656,7 +21030,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x11x101xx0001110xxxxxxxxxx pmov. */ - return 3501; + return 3558; } } else @@ -20665,7 +21039,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx111xx0001110xxxxxxxxxx rev. */ - return 1905; + return 1952; } } } @@ -20679,7 +21053,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x0x01001110xxxxxxxxxx sunpkhi. */ - return 2052; + return 2099; } else { @@ -20687,7 +21061,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x0x11001110xxxxxxxxxx uunpkhi. */ - return 2115; + return 2162; } } else @@ -20702,7 +21076,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1001x10x1001110xxxxxxxxxx pmov. */ - return 3502; + return 3559; } else { @@ -20710,7 +21084,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1001x11x1001110xxxxxxxxxx pmov. */ - return 3503; + return 3560; } } else @@ -20719,7 +21093,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1011x1xx1001110xxxxxxxxxx pmov. */ - return 3504; + return 3561; } } else @@ -20728,7 +21102,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x11x1x1xx1001110xxxxxxxxxx pmov. */ - return 3505; + return 3562; } } } @@ -20747,7 +21121,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1x01xxxxx001001xxxxxxxxxx dupq. */ - return 3489; + return 3546; } else { @@ -20755,7 +21129,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1x11xxxxx001001xxxxxxxxxx extq. */ - return 3493; + return 3550; } } else @@ -20764,7 +21138,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx001101xxxxxxxxxx tbxq. */ - return 3492; + return 3549; } } else @@ -20773,7 +21147,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx001x11xxxxxxxxxx tbx. */ - return 2354; + return 2401; } } } @@ -20793,7 +21167,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx100000101xxxxxxxxxxxxx lasta. */ - return 1613; + return 1660; } else { @@ -20801,7 +21175,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx110000101xxxxxxxxxxxxx clasta. */ - return 1428; + return 1475; } } else @@ -20810,7 +21184,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x1000101xxxxxxxxxxxxx cpy. */ - return 1469; + return 1516; } } else @@ -20819,7 +21193,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xx100101xxxxxxxxxxxxx revb. */ - return 3720; + return 3777; } } else @@ -20830,7 +21204,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x0x10101xxxxxxxxxxxxx revw. */ - return 3722; + return 3779; } else { @@ -20838,7 +21212,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1x1x10101xxxxxxxxxxxxx revd. */ - return 3723; + return 3780; } } } @@ -20854,7 +21228,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx10x001101xxxxxxxxxxxxx lastb. */ - return 1615; + return 1662; } else { @@ -20862,7 +21236,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx11x001101xxxxxxxxxxxxx clastb. */ - return 1431; + return 1478; } } else @@ -20871,7 +21245,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xx101101xxxxxxxxxxxxx revh. */ - return 3721; + return 3778; } } else @@ -20880,7 +21254,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxx11101xxxxxxxxxxxxx rbit. */ - return 3719; + return 3776; } } } @@ -20904,7 +21278,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx10xxxx010000xxxxxxxxxx zip1. */ - return 2133; + return 2180; } else { @@ -20916,7 +21290,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx11x0x0010000xxxxxxxxxx punpklo. */ - return 1898; + return 1945; } else { @@ -20924,7 +21298,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx11x1x0010000xxxxxxxxxx rev. */ - return 1904; + return 1951; } } else @@ -20933,7 +21307,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx11xxx1010000xxxxxxxxxx punpkhi. */ - return 1897; + return 1944; } } } @@ -20943,7 +21317,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx011000xxxxxxxxxx zip1. */ - return 2134; + return 2181; } } else @@ -20954,7 +21328,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx010100xxxxxxxxxx trn1. */ - return 2058; + return 2105; } else { @@ -20962,7 +21336,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx011100xxxxxxxxxx trn1. */ - return 2059; + return 2106; } } } @@ -20974,7 +21348,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx010x10xxxxxxxxxx uzp1. */ - return 2120; + return 2167; } else { @@ -20982,7 +21356,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx011x10xxxxxxxxxx uzp1. */ - return 2121; + return 2168; } } } @@ -20998,7 +21372,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx010001xxxxxxxxxx zip2. */ - return 2135; + return 2182; } else { @@ -21006,7 +21380,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx011001xxxxxxxxxx zip2. */ - return 2136; + return 2183; } } else @@ -21017,7 +21391,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx010101xxxxxxxxxx trn2. */ - return 2060; + return 2107; } else { @@ -21025,7 +21399,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx011101xxxxxxxxxx trn2. */ - return 2061; + return 2108; } } } @@ -21037,7 +21411,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx010x11xxxxxxxxxx uzp2. */ - return 2122; + return 2169; } else { @@ -21045,7 +21419,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx011x11xxxxxxxxxx uzp2. */ - return 2123; + return 2170; } } } @@ -21056,7 +21430,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000001x1xx1xxxxx11xxxxxxxxxxxxxx sel. */ - return 1923; + return 1970; } } } @@ -21075,7 +21449,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x1x0xxxxxx000xxxxxxxxxxxxx ldr. */ - return 1825; + return 1872; } else { @@ -21083,7 +21457,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x1x1xxxxxx000xxxxxxxxxxxxx prfb. */ - return 1871; + return 1918; } } else @@ -21094,7 +21468,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x10xxxxxxx100xxxxxxxxxxxxx ld1rsh. */ - return 1670; + return 1717; } else { @@ -21102,7 +21476,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x11xxxxxxx100xxxxxxxxxxxxx ld1rsb. */ - return 1667; + return 1714; } } } @@ -21118,7 +21492,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x10x0xxxxx010xxxxxxxxxxxxx ld1w. */ - return 1705; + return 1752; } else { @@ -21126,7 +21500,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x10x1xxxxx010xxxxxxxxxxxxx ld1w. */ - return 1706; + return 1753; } } else @@ -21137,7 +21511,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x110xxxxxx010xxxxxxxxxxxxx ldr. */ - return 1827; + return 1874; } else { @@ -21145,7 +21519,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x111xxxxxx010xxxxxxxxxxxxx prfw. */ - return 1892; + return 1939; } } } @@ -21161,7 +21535,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x1000xxxxx110xxxxxxxxxxxxx prfw. */ - return 1888; + return 1935; } else { @@ -21169,7 +21543,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x1100xxxxx110xxxxxxxxxxxxx prfd. */ - return 1874; + return 1921; } } else @@ -21178,7 +21552,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x1x01xxxxx110xxxxxxxxxxxxx ld1w. */ - return 1713; + return 1760; } } else @@ -21189,7 +21563,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x101xxxxxx110xxxxxxxxxxxxx ld1rw. */ - return 1673; + return 1720; } else { @@ -21197,7 +21571,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x111xxxxxx110xxxxxxxxxxxxx ld1rsb. */ - return 1669; + return 1716; } } } @@ -21213,7 +21587,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x1xxxxxxxx001xxxxxxxxxxxxx prfh. */ - return 1885; + return 1932; } else { @@ -21223,7 +21597,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x1x0xxxxxx101xxxxxxxxxxxxx ldnt1w. */ - return 2200; + return 2247; } else { @@ -21233,7 +21607,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x101xxxxxx101xxxxxxxxxxxxx ld1rsh. */ - return 1671; + return 1718; } else { @@ -21241,7 +21615,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x111xxxxxx101xxxxxxxxxxxxx ld1rsb. */ - return 1668; + return 1715; } } } @@ -21258,7 +21632,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x10x0xxxxx011xxxxxxxxxxxxx ldff1w. */ - return 1791; + return 1838; } else { @@ -21266,7 +21640,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x10x1xxxxx011xxxxxxxxxxxxx ldff1w. */ - return 1792; + return 1839; } } else @@ -21275,7 +21649,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x11xxxxxxx011xxxxxxxxxxxxx prfd. */ - return 1878; + return 1925; } } else @@ -21290,7 +21664,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x1000xxxxx111xxxxxxxxxxxxx prfw. */ - return 1891; + return 1938; } else { @@ -21298,7 +21672,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x1100xxxxx111xxxxxxxxxxxxx prfd. */ - return 1877; + return 1924; } } else @@ -21307,7 +21681,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x1x01xxxxx111xxxxxxxxxxxxx ldff1w. */ - return 1799; + return 1846; } } else @@ -21318,7 +21692,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x101xxxxxx111xxxxxxxxxxxxx ld1rw. */ - return 1674; + return 1721; } else { @@ -21326,7 +21700,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 100001x111xxxxxx111xxxxxxxxxxxxx ld1rd. */ - return 1655; + return 1702; } } } @@ -21356,7 +21730,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx000000xxxxxxxxxx saddlb. */ - return 2230; + return 2277; } else { @@ -21364,7 +21738,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx000100xxxxxxxxxx ssublb. */ - return 2337; + return 2384; } } else @@ -21375,7 +21749,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx000010xxxxxxxxxx uaddlb. */ - return 2361; + return 2408; } else { @@ -21383,7 +21757,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx000110xxxxxxxxxx usublb. */ - return 2414; + return 2461; } } } @@ -21397,7 +21771,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx000001xxxxxxxxxx saddlt. */ - return 2232; + return 2279; } else { @@ -21405,7 +21779,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx000101xxxxxxxxxx ssublt. */ - return 2339; + return 2386; } } else @@ -21416,7 +21790,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx000011xxxxxxxxxx uaddlt. */ - return 2362; + return 2409; } else { @@ -21424,7 +21798,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx000111xxxxxxxxxx usublt. */ - return 2415; + return 2462; } } } @@ -21435,7 +21809,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x1xx0xxxxx000xxxxxxxxxxxxx ld1sw. */ - return 1699; + return 1746; } } else @@ -21454,7 +21828,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxxx000000xxxxxxxxxx sqshrunb. */ - return 2320; + return 2367; } else { @@ -21462,7 +21836,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxxx000100xxxxxxxxxx shrnb. */ - return 2238; + return 2285; } } else @@ -21473,7 +21847,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxxx000010xxxxxxxxxx sqrshrunb. */ - return 2312; + return 2359; } else { @@ -21481,7 +21855,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxxx000110xxxxxxxxxx rshrnb. */ - return 2220; + return 2267; } } } @@ -21495,7 +21869,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxxx000001xxxxxxxxxx sqshrunt. */ - return 2321; + return 2368; } else { @@ -21503,7 +21877,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxxx000101xxxxxxxxxx shrnt. */ - return 2239; + return 2286; } } else @@ -21514,7 +21888,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxxx000011xxxxxxxxxx sqrshrunt. */ - return 2313; + return 2360; } else { @@ -21522,7 +21896,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxxx000111xxxxxxxxxx rshrnt. */ - return 2221; + return 2268; } } } @@ -21533,7 +21907,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x10x1xxxxx000xxxxxxxxxxxxx ld1sw. */ - return 1700; + return 1747; } } else @@ -21542,7 +21916,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x11x1xxxxx000xxxxxxxxxxxxx sqrshrun. */ - return 2507; + return 2564; } } } @@ -21562,7 +21936,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx100000xxxxxxxxxx saddlbt. */ - return 2231; + return 2278; } else { @@ -21570,7 +21944,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx100100xxxxxxxxxx eorbt. */ - return 2167; + return 2214; } } else @@ -21581,7 +21955,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx100010xxxxxxxxxx ssublbt. */ - return 2338; + return 2385; } else { @@ -21593,7 +21967,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1000xxxxx100110xxxxxxxxxx smmla. */ - return 3132; + return 3189; } else { @@ -21601,7 +21975,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1100xxxxx100110xxxxxxxxxx usmmla. */ - return 3134; + return 3191; } } else @@ -21610,7 +21984,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1x10xxxxx100110xxxxxxxxxx ummla. */ - return 3133; + return 3190; } } } @@ -21623,7 +21997,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx100x01xxxxxxxxxx eortb. */ - return 2168; + return 2215; } else { @@ -21631,7 +22005,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx100x11xxxxxxxxxx ssubltb. */ - return 2340; + return 2387; } } } @@ -21643,7 +22017,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x1x00xxxxx100xxxxxxxxxxxxx ldnt1sw. */ - return 2199; + return 2246; } else { @@ -21651,7 +22025,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x1x10xxxxx100xxxxxxxxxxxxx ld1sw. */ - return 1701; + return 1748; } } } @@ -21665,7 +22039,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx100xxxxxxxx0xxxx match. */ - return 2202; + return 2249; } else { @@ -21673,7 +22047,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx100xxxxxxxx1xxxx nmatch. */ - return 2214; + return 2261; } } else @@ -21684,7 +22058,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x1x01xxxxx100xxxxxxxxxxxxx ld1sw. */ - return 1704; + return 1751; } else { @@ -21692,7 +22066,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x1x11xxxxx100xxxxxxxxxxxxx ld1sw. */ - return 1702; + return 1749; } } } @@ -21716,7 +22090,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx010000xxxxxxxxxx saddwb. */ - return 2233; + return 2280; } else { @@ -21724,7 +22098,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx010100xxxxxxxxxx ssubwb. */ - return 2341; + return 2388; } } else @@ -21735,7 +22109,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx010010xxxxxxxxxx uaddwb. */ - return 2363; + return 2410; } else { @@ -21743,7 +22117,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx010110xxxxxxxxxx usubwb. */ - return 2416; + return 2463; } } } @@ -21757,7 +22131,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx010001xxxxxxxxxx saddwt. */ - return 2234; + return 2281; } else { @@ -21765,7 +22139,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx010101xxxxxxxxxx ssubwt. */ - return 2342; + return 2389; } } else @@ -21776,7 +22150,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx010011xxxxxxxxxx uaddwt. */ - return 2364; + return 2411; } else { @@ -21784,7 +22158,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx010111xxxxxxxxxx usubwt. */ - return 2417; + return 2464; } } } @@ -21797,7 +22171,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x10x0xxxxx010xxxxxxxxxxxxx ld1w. */ - return 1709; + return 1756; } else { @@ -21805,7 +22179,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x11x0xxxxx010xxxxxxxxxxxxx ld1d. */ - return 1631; + return 1678; } } } @@ -21827,7 +22201,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxx0010000xxxxxxxxxx sqxtnb. */ - return 2324; + return 2371; } else { @@ -21835,7 +22209,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxx1010000xxxxxxxxxx sqcvtn. */ - return 2504; + return 2561; } } else @@ -21846,7 +22220,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxx0010100xxxxxxxxxx sqxtunb. */ - return 2326; + return 2373; } else { @@ -21854,7 +22228,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxx1010100xxxxxxxxxx sqcvtun. */ - return 2505; + return 2562; } } } @@ -21866,7 +22240,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxx0010x10xxxxxxxxxx uqxtnb. */ - return 2401; + return 2448; } else { @@ -21874,7 +22248,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxx1010x10xxxxxxxxxx uqcvtn. */ - return 2510; + return 2567; } } } @@ -21888,7 +22262,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxxx010001xxxxxxxxxx sqxtnt. */ - return 2325; + return 2372; } else { @@ -21896,7 +22270,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxxx010101xxxxxxxxxx sqxtunt. */ - return 2327; + return 2374; } } else @@ -21905,7 +22279,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxxx010x11xxxxxxxxxx uqxtnt. */ - return 2402; + return 2449; } } } @@ -21915,7 +22289,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x10x1xxxxx010xxxxxxxxxxxxx ld1w. */ - return 1710; + return 1757; } } else @@ -21924,7 +22298,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x11x1xxxxx010xxxxxxxxxxxxx ld1d. */ - return 1632; + return 1679; } } } @@ -21944,7 +22318,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx110000xxxxxxxxxx sabalb. */ - return 2225; + return 2272; } else { @@ -21954,7 +22328,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x0xxxxx110100xxxxxxxxxx adclb. */ - return 2150; + return 2197; } else { @@ -21962,7 +22336,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x11x0xxxxx110100xxxxxxxxxx sbclb. */ - return 2235; + return 2282; } } } @@ -21974,7 +22348,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx110001xxxxxxxxxx sabalt. */ - return 2226; + return 2273; } else { @@ -21984,7 +22358,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x0xxxxx110101xxxxxxxxxx adclt. */ - return 2151; + return 2198; } else { @@ -21992,7 +22366,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x11x0xxxxx110101xxxxxxxxxx sbclt. */ - return 2236; + return 2283; } } } @@ -22007,7 +22381,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx110010xxxxxxxxxx uabalb. */ - return 2356; + return 2403; } else { @@ -22015,7 +22389,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx110011xxxxxxxxxx uabalt. */ - return 2357; + return 2404; } } else @@ -22026,7 +22400,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxx011011xxxxxxxxxxx cadd. */ - return 2159; + return 2206; } else { @@ -22034,7 +22408,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxx111011xxxxxxxxxxx sqcadd. */ - return 2267; + return 2314; } } } @@ -22049,7 +22423,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x1000xxxxx110xxxxxxxxxxxxx ldnt1w. */ - return 2201; + return 2248; } else { @@ -22057,7 +22431,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x1100xxxxx110xxxxxxxxxxxxx ldnt1d. */ - return 2194; + return 2241; } } else @@ -22068,7 +22442,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x1010xxxxx110xxxxxxxxxxxxx ld1w. */ - return 1711; + return 1758; } else { @@ -22076,7 +22450,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x1110xxxxx110xxxxxxxxxxxxx ld1d. */ - return 1633; + return 1680; } } } @@ -22091,7 +22465,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x1001xxxxx110xxxxxxxxxxxxx ld1w. */ - return 1716; + return 1763; } else { @@ -22099,7 +22473,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x1011xxxxx110xxxxxxxxxxxxx ld1w. */ - return 1712; + return 1759; } } else @@ -22110,7 +22484,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x11x1xxxxx110xxxxxxxxxxxxx histcnt. */ - return 2190; + return 2237; } else { @@ -22120,7 +22494,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x1101xxxxx110xxxxxxxxxxxxx ld1d. */ - return 1636; + return 1683; } else { @@ -22128,7 +22502,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x1111xxxxx110xxxxxxxxxxxxx ld1d. */ - return 1634; + return 1681; } } } @@ -22154,7 +22528,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx001x00xxxxxxxxxx sabdlb. */ - return 2227; + return 2274; } else { @@ -22162,7 +22536,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx001x10xxxxxxxxxx uabdlb. */ - return 2358; + return 2405; } } else @@ -22173,7 +22547,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx001x01xxxxxxxxxx sabdlt. */ - return 2228; + return 2275; } else { @@ -22181,7 +22555,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx001x11xxxxxxxxxx uabdlt. */ - return 2359; + return 2406; } } } @@ -22191,7 +22565,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x1xx0xxxxx001xxxxxxxxxxxxx ldff1sw. */ - return 1786; + return 1833; } } else @@ -22210,7 +22584,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxxx001000xxxxxxxxxx sqshrnb. */ - return 2318; + return 2365; } else { @@ -22218,7 +22592,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxxx001100xxxxxxxxxx uqshrnb. */ - return 2397; + return 2444; } } else @@ -22229,7 +22603,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxxx001010xxxxxxxxxx sqrshrnb. */ - return 2310; + return 2357; } else { @@ -22237,7 +22611,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxxx001110xxxxxxxxxx uqrshrnb. */ - return 2392; + return 2439; } } } @@ -22251,7 +22625,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxxx001001xxxxxxxxxx sqshrnt. */ - return 2319; + return 2366; } else { @@ -22259,7 +22633,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxxx001101xxxxxxxxxx uqshrnt. */ - return 2398; + return 2445; } } else @@ -22270,7 +22644,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxxx001011xxxxxxxxxx sqrshrnt. */ - return 2311; + return 2358; } else { @@ -22278,7 +22652,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x10x1xxxxx001111xxxxxxxxxx uqrshrnt. */ - return 2393; + return 2440; } } } @@ -22289,7 +22663,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x10x1xxxxx001xxxxxxxxxxxxx ldff1sw. */ - return 1787; + return 1834; } } else @@ -22300,7 +22674,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x11x1xxxxx0010xxxxxxxxxxxx sqrshrn. */ - return 2506; + return 2563; } else { @@ -22308,7 +22682,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x11x1xxxxx0011xxxxxxxxxxxx uqrshrn. */ - return 2511; + return 2568; } } } @@ -22329,7 +22703,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx101000xxxxxxxxxx sshllb. */ - return 2334; + return 2381; } else { @@ -22337,7 +22711,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx101100xxxxxxxxxx bext. */ - return 2439; + return 2486; } } else @@ -22348,7 +22722,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx101010xxxxxxxxxx ushllb. */ - return 2410; + return 2457; } else { @@ -22356,7 +22730,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx101110xxxxxxxxxx bgrp. */ - return 2440; + return 2487; } } } @@ -22370,7 +22744,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx101001xxxxxxxxxx sshllt. */ - return 2335; + return 2382; } else { @@ -22378,7 +22752,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx101101xxxxxxxxxx bdep. */ - return 2438; + return 2485; } } else @@ -22387,7 +22761,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx101x11xxxxxxxxxx ushllt. */ - return 2411; + return 2458; } } } @@ -22397,7 +22771,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x1xx0xxxxx101xxxxxxxxxxxxx ldff1sw. */ - return 1788; + return 1835; } } else @@ -22414,7 +22788,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx101000xxxxxxxxxx histseg. */ - return 2191; + return 2238; } else { @@ -22422,7 +22796,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx101100xxxxxxxxxx luti2. */ - return 3583; + return 3640; } } else @@ -22431,7 +22805,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx101x10xxxxxxxxxx luti2. */ - return 3584; + return 3641; } } else @@ -22444,7 +22818,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx101001xxxxxxxxxx luti4. */ - return 3585; + return 3642; } else { @@ -22452,7 +22826,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx101101xxxxxxxxxx luti4. */ - return 3586; + return 3643; } } else @@ -22461,7 +22835,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx101x11xxxxxxxxxx luti4. */ - return 3587; + return 3644; } } } @@ -22473,7 +22847,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x1x01xxxxx101xxxxxxxxxxxxx ldff1sw. */ - return 1790; + return 1837; } else { @@ -22481,7 +22855,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x1x11xxxxx101xxxxxxxxxxxxx ldff1sw. */ - return 1789; + return 1836; } } } @@ -22505,7 +22879,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx011000xxxxxxxxxx sqdmullb. */ - return 2288; + return 2335; } else { @@ -22513,7 +22887,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx011100xxxxxxxxxx smullb. */ - return 2260; + return 2307; } } else @@ -22526,7 +22900,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1x00xxxxx011010xxxxxxxxxx pmullb. */ - return 2435; + return 2482; } else { @@ -22534,7 +22908,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1x10xxxxx011010xxxxxxxxxx pmullb. */ - return 2216; + return 2263; } } else @@ -22543,7 +22917,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx011110xxxxxxxxxx umullb. */ - return 2385; + return 2432; } } } @@ -22557,7 +22931,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx011001xxxxxxxxxx sqdmullt. */ - return 2291; + return 2338; } else { @@ -22565,7 +22939,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx011101xxxxxxxxxx smullt. */ - return 2263; + return 2310; } } else @@ -22578,7 +22952,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1x00xxxxx011011xxxxxxxxxx pmullt. */ - return 2436; + return 2483; } else { @@ -22586,7 +22960,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1x10xxxxx011011xxxxxxxxxx pmullt. */ - return 2217; + return 2264; } } else @@ -22595,7 +22969,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx011111xxxxxxxxxx umullt. */ - return 2388; + return 2435; } } } @@ -22608,7 +22982,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x10x0xxxxx011xxxxxxxxxxxxx ldff1w. */ - return 1795; + return 1842; } else { @@ -22616,7 +22990,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x11x0xxxxx011xxxxxxxxxxxxx ldff1d. */ - return 1751; + return 1798; } } } @@ -22634,7 +23008,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx011000xxxxxxxxxx addhnb. */ - return 2152; + return 2199; } else { @@ -22642,7 +23016,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx011100xxxxxxxxxx subhnb. */ - return 2350; + return 2397; } } else @@ -22653,7 +23027,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx011010xxxxxxxxxx raddhnb. */ - return 2218; + return 2265; } else { @@ -22661,7 +23035,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx011110xxxxxxxxxx rsubhnb. */ - return 2222; + return 2269; } } } @@ -22675,7 +23049,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx011001xxxxxxxxxx addhnt. */ - return 2153; + return 2200; } else { @@ -22683,7 +23057,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx011101xxxxxxxxxx subhnt. */ - return 2351; + return 2398; } } else @@ -22694,7 +23068,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx011011xxxxxxxxxx raddhnt. */ - return 2219; + return 2266; } else { @@ -22702,7 +23076,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx1xxxxx011111xxxxxxxxxx rsubhnt. */ - return 2223; + return 2270; } } } @@ -22715,7 +23089,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x10x1xxxxx011xxxxxxxxxxxxx ldff1w. */ - return 1796; + return 1843; } else { @@ -22723,7 +23097,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x11x1xxxxx011xxxxxxxxxxxxx ldff1d. */ - return 1752; + return 1799; } } } @@ -22744,7 +23118,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx111000xxxxxxxxxx ssra. */ - return 2336; + return 2383; } else { @@ -22752,7 +23126,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx111100xxxxxxxxxx sri. */ - return 2329; + return 2376; } } else @@ -22763,7 +23137,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx111010xxxxxxxxxx srsra. */ - return 2333; + return 2380; } else { @@ -22771,7 +23145,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx111110xxxxxxxxxx saba. */ - return 2224; + return 2271; } } } @@ -22785,7 +23159,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx111001xxxxxxxxxx usra. */ - return 2413; + return 2460; } else { @@ -22793,7 +23167,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx111101xxxxxxxxxx sli. */ - return 2242; + return 2289; } } else @@ -22804,7 +23178,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx111011xxxxxxxxxx ursra. */ - return 2409; + return 2456; } else { @@ -22812,7 +23186,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010001x1xx0xxxxx111111xxxxxxxxxx uaba. */ - return 2355; + return 2402; } } } @@ -22827,7 +23201,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x1000xxxxx111xxxxxxxxxxxxx prfw. */ - return 1893; + return 1940; } else { @@ -22835,7 +23209,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x1100xxxxx111xxxxxxxxxxxxx prfd. */ - return 1879; + return 1926; } } else @@ -22846,7 +23220,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x1010xxxxx111xxxxxxxxxxxxx ldff1w. */ - return 1797; + return 1844; } else { @@ -22854,7 +23228,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x1110xxxxx111xxxxxxxxxxxxx ldff1d. */ - return 1753; + return 1800; } } } @@ -22869,73 +23243,183 @@ aarch64_opcode_lookup_1 (uint32_t word) { if (((word >> 10) & 0x1) == 0) { - if (((word >> 12) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - if (((word >> 16) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - if (((word >> 17) & 0x1) == 0) + if (((word >> 16) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 010001x1001xxx001110x0xxxxxxxxxx - aesmc. */ - return 2434; + if (((word >> 17) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xxx00111000xxxxxxxxxx + aesmc. */ + return 2481; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xxx10111000xxxxxxxxxx + aese. */ + return 2479; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 010001x1001xxx101110x0xxxxxxxxxx - aese. */ - return 2432; + 010001x1001xxxx1111000xxxxxxxxxx + sm4e. */ + return 2476; } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 010001x1001xxxx11110x0xxxxxxxxxx - sm4e. */ - return 2429; + 010001x1001xxxxx111100xxxxxxxxxx + sm4ekey. */ + return 2477; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 010001x1001xxxxx1111x0xxxxxxxxxx - sm4ekey. */ - return 2430; + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 16) & 0x1) == 0) + { + if (((word >> 18) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xx0x0111010xxxxxxxxxx + aese. */ + return 2494; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xx1x0111010xxxxxxxxxx + aese. */ + return 2495; + } + } + else + { + if (((word >> 18) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xx0x1111010xxxxxxxxxx + aesemc. */ + return 2492; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xx1x1111010xxxxxxxxxx + aesemc. */ + return 2493; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xxxxx111110xxxxxxxxxx + pmull. */ + return 2497; + } } } else { - if (((word >> 12) & 0x1) == 0) + if (((word >> 11) & 0x1) == 0) { - if (((word >> 17) & 0x1) == 0) + if (((word >> 12) & 0x1) == 0) { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 010001x1001xxx0x1110x1xxxxxxxxxx - aesimc. */ - return 2433; + if (((word >> 17) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xxx0x111001xxxxxxxxxx + aesimc. */ + return 2480; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xxx1x111001xxxxxxxxxx + aesd. */ + return 2478; + } } else { /* 33222222222211111111110000000000 10987654321098765432109876543210 - 010001x1001xxx1x1110x1xxxxxxxxxx - aesd. */ - return 2431; + 010001x1001xxxxx111101xxxxxxxxxx + rax1. */ + return 2484; } } else { - /* 33222222222211111111110000000000 - 10987654321098765432109876543210 - 010001x1001xxxxx1111x1xxxxxxxxxx - rax1. */ - return 2437; + if (((word >> 12) & 0x1) == 0) + { + if (((word >> 16) & 0x1) == 0) + { + if (((word >> 18) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xx0x0111011xxxxxxxxxx + aesd. */ + return 2490; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xx1x0111011xxxxxxxxxx + aesd. */ + return 2491; + } + } + else + { + if (((word >> 18) & 0x1) == 0) + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xx0x1111011xxxxxxxxxx + aesdimc. */ + return 2488; + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xx1x1111011xxxxxxxxxx + aesdimc. */ + return 2489; + } + } + } + else + { + /* 33222222222211111111110000000000 + 10987654321098765432109876543210 + 010001x1001xxxxx111111xxxxxxxxxx + pmlal. */ + return 2496; + } } } } @@ -22945,7 +23429,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 110001x1001xxxxx111xxxxxxxxxxxxx ldff1w. */ - return 1800; + return 1847; } } else @@ -22954,7 +23438,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x1101xxxxx111xxxxxxxxxxxxx ldff1d. */ - return 1755; + return 1802; } } else @@ -22965,7 +23449,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x1011xxxxx111xxxxxxxxxxxxx ldff1w. */ - return 1798; + return 1845; } else { @@ -22973,7 +23457,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10001x1111xxxxx111xxxxxxxxxxxxx ldff1d. */ - return 1754; + return 1801; } } } @@ -23002,7 +23486,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx0xxxxx000xxxxxxxx0xxxx cmpge. */ - return 1439; + return 1486; } else { @@ -23010,7 +23494,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx0xxxxx000xxxxxxxx1xxxx cmpgt. */ - return 1442; + return 1489; } } else @@ -23021,7 +23505,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10x0xxxxx000xxxxxxxxxxxxx ld1rqw. */ - return 1666; + return 1713; } else { @@ -23029,7 +23513,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11x0xxxxx000xxxxxxxxxxxxx ld1rqd. */ - return 1662; + return 1709; } } } @@ -23049,7 +23533,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx000000xxxxx0xxxx whilege. */ - return 2418; + return 2465; } else { @@ -23057,7 +23541,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx000100xxxxx0xxxx whilege. */ - return 2419; + return 2466; } } else @@ -23068,7 +23552,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx000010xxxxx0xxxx whilehs. */ - return 2424; + return 2471; } else { @@ -23076,7 +23560,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx000110xxxxx0xxxx whilehs. */ - return 2425; + return 2472; } } } @@ -23090,7 +23574,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx000001xxxxx0xxxx whilelt. */ - return 2130; + return 2177; } else { @@ -23098,7 +23582,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx000101xxxxx0xxxx whilelt. */ - return 2131; + return 2178; } } else @@ -23109,7 +23593,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx000011xxxxx0xxxx whilelo. */ - return 2126; + return 2173; } else { @@ -23117,7 +23601,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx000111xxxxx0xxxx whilelo. */ - return 2127; + return 2174; } } } @@ -23134,7 +23618,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx000000xxxxx1xxxx whilegt. */ - return 2420; + return 2467; } else { @@ -23142,7 +23626,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx000100xxxxx1xxxx whilegt. */ - return 2421; + return 2468; } } else @@ -23153,7 +23637,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx000010xxxxx1xxxx whilehi. */ - return 2422; + return 2469; } else { @@ -23161,7 +23645,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx000110xxxxx1xxxx whilehi. */ - return 2423; + return 2470; } } } @@ -23175,7 +23659,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx000001xxxxx1xxxx whilele. */ - return 2124; + return 2171; } else { @@ -23183,7 +23667,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx000101xxxxx1xxxx whilele. */ - return 2125; + return 2172; } } else @@ -23194,7 +23678,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx000011xxxxx1xxxx whilels. */ - return 2128; + return 2175; } else { @@ -23202,7 +23686,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx000111xxxxx1xxxx whilels. */ - return 2129; + return 2176; } } } @@ -23216,7 +23700,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10x1xxxxx000xxxxxxxxxxxxx ld1row. */ - return 3142; + return 3199; } else { @@ -23224,7 +23708,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11x1xxxxx000xxxxxxxxxxxxx ld1rod. */ - return 3143; + return 3200; } } } @@ -23243,7 +23727,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx000x00xxxxxxxxxx fadd. */ - return 1497; + return 1544; } else { @@ -23253,7 +23737,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx000010xxxxxxxxxx fmul. */ - return 1564; + return 1611; } else { @@ -23261,7 +23745,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx000110xxxxxxxxxx frecps. */ - return 1577; + return 1624; } } } @@ -23273,7 +23757,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx000x01xxxxxxxxxx fsub. */ - return 1590; + return 1637; } else { @@ -23283,7 +23767,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx000011xxxxxxxxxx ftsmul. */ - return 1596; + return 1643; } else { @@ -23291,7 +23775,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx000111xxxxxxxxxx frsqrts. */ - return 1587; + return 1634; } } } @@ -23302,7 +23786,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx1xxxxx000xxxxxxxxxxxxx fmla. */ - return 1555; + return 1602; } } else @@ -23311,7 +23795,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1xxxxxxxx000xxxxxxxxxxxxx str. */ - return 2044; + return 2091; } } } @@ -23329,7 +23813,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx0xxxxx001xxxxxxxx0xxxx cmplt. */ - return 1456; + return 1503; } else { @@ -23337,7 +23821,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx0xxxxx001xxxxxxxx1xxxx cmple. */ - return 1450; + return 1497; } } else @@ -23350,7 +23834,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10x00xxxx001xxxxxxxxxxxxx ld1rqw. */ - return 1665; + return 1712; } else { @@ -23358,7 +23842,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11x00xxxx001xxxxxxxxxxxxx ld1rqd. */ - return 1661; + return 1708; } } else @@ -23369,7 +23853,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10x01xxxx001xxxxxxxxxxxxx ld1w. */ - return 3508; + return 3565; } else { @@ -23377,7 +23861,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11x01xxxx001xxxxxxxxxxxxx ld1d. */ - return 3506; + return 3563; } } } @@ -23400,7 +23884,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000000001xxxxxxxxxxxxx faddv. */ - return 1501; + return 1548; } else { @@ -23410,7 +23894,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx010000001xxxxxxxx0xxxx fcmge. */ - return 1508; + return 1555; } else { @@ -23418,7 +23902,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx010000001xxxxxxxx1xxxx fcmgt. */ - return 1510; + return 1557; } } } @@ -23434,7 +23918,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001000001x00xxxxxxxxxx f1cvt. */ - return 3545; + return 3602; } else { @@ -23442,7 +23926,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001000001x10xxxxxxxxxx bf1cvt. */ - return 3541; + return 3598; } } else @@ -23453,7 +23937,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001000001x01xxxxxxxxxx f2cvt. */ - return 3546; + return 3603; } else { @@ -23461,7 +23945,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001000001x11xxxxxxxxxx bf2cvt. */ - return 3542; + return 3599; } } } @@ -23471,7 +23955,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx011000001xxxxxxxxxxxxx fadda. */ - return 1500; + return 1547; } } } @@ -23481,7 +23965,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xx100001xxxxxxxxxxxxx fmaxnmv. */ - return 1547; + return 1594; } } else @@ -23494,7 +23978,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x0010001xxxxxxxxxxxxx fcmeq. */ - return 1506; + return 1553; } else { @@ -23506,7 +23990,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x1010001x00xxxxxxxxxx fcvtn. */ - return 3550; + return 3607; } else { @@ -23514,7 +23998,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x1010001x10xxxxxxxxxx bfcvtn. */ - return 3549; + return 3606; } } else @@ -23525,7 +24009,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x1010001x01xxxxxxxxxx fcvtnb. */ - return 3551; + return 3608; } else { @@ -23533,7 +24017,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x1010001x11xxxxxxxxxx fcvtnt. */ - return 3552; + return 3609; } } } @@ -23546,7 +24030,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x0110001xxxxxxxxxxxxx fmaxv. */ - return 1548; + return 1595; } else { @@ -23554,7 +24038,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x1110001xxxxxxxxxxxxx frecpe. */ - return 1576; + return 1623; } } } @@ -23573,7 +24057,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x0001001xxxxxxxx0xxxx fcmlt. */ - return 1513; + return 1560; } else { @@ -23581,7 +24065,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x0001001xxxxxxxx1xxxx fcmle. */ - return 1512; + return 1559; } } else @@ -23594,7 +24078,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x1001001x00xxxxxxxxxx f1cvtlt. */ - return 3547; + return 3604; } else { @@ -23602,7 +24086,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x1001001x10xxxxxxxxxx bf1cvtlt. */ - return 3543; + return 3600; } } else @@ -23613,7 +24097,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x1001001x01xxxxxxxxxx f2cvtlt. */ - return 3548; + return 3605; } else { @@ -23621,7 +24105,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x1001001x11xxxxxxxxxx bf2cvtlt. */ - return 3544; + return 3601; } } } @@ -23632,7 +24116,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xx101001xxxxxxxxxxxxx fminnmv. */ - return 1553; + return 1600; } } else @@ -23643,7 +24127,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xx011001xxxxxxxxxxxxx fcmne. */ - return 1514; + return 1561; } else { @@ -23653,7 +24137,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x0111001xxxxxxxxxxxxx fminv. */ - return 1554; + return 1601; } else { @@ -23661,7 +24145,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x1111001xxxxxxxxxxxxx frsqrte. */ - return 1586; + return 1633; } } } @@ -23677,7 +24161,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1000xxxxx001xxxxxxxxxxxxx stnt1w. */ - return 2349; + return 2396; } else { @@ -23685,7 +24169,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1100xxxxx001xxxxxxxxxxxxx stnt1d. */ - return 2345; + return 2392; } } else @@ -23694,7 +24178,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1x10xxxxx001xxxxxxxxxxxxx stnt1w. */ - return 2348; + return 2395; } } } @@ -23713,7 +24197,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx0010xxxxxxx0xxxx ctermeq. */ - return 1471; + return 1518; } else { @@ -23721,7 +24205,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx0011xxxxxxx0xxxx whilewr. */ - return 2427; + return 2474; } } else @@ -23732,7 +24216,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx0010xxxxxxx1xxxx ctermne. */ - return 1472; + return 1519; } else { @@ -23740,7 +24224,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx0011xxxxxxx1xxxx whilerw. */ - return 2426; + return 2473; } } } @@ -23752,7 +24236,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10x1xxxxx001xxxxxxxxxxxxx ld1row. */ - return 3146; + return 3203; } else { @@ -23760,7 +24244,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11x1xxxxx001xxxxxxxxxxxxx ld1rod. */ - return 3147; + return 3204; } } } @@ -23770,7 +24254,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11001x1xx1xxxxx001xxxxxxxxxxxxx fmls. */ - return 1559; + return 1606; } } } @@ -23797,7 +24281,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x10000xxxx01xxxx0xxxx0xxxx and. */ - return 1402; + return 1449; } else { @@ -23805,7 +24289,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x10000xxxx01xxxx0xxxx1xxxx bic. */ - return 1414; + return 1461; } } else @@ -23816,7 +24300,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x100010xxx01xxxx0xxxxxxxxx brka. */ - return 1416; + return 1463; } else { @@ -23824,7 +24308,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x100011xxx01xxxx0xxxxxxxxx brkn. */ - return 1420; + return 1467; } } } @@ -23836,7 +24320,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1000xxxxx01xxxx1xxxx0xxxx eor. */ - return 1489; + return 1536; } else { @@ -23844,7 +24328,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1000xxxxx01xxxx1xxxx1xxxx sel. */ - return 1924; + return 1971; } } } @@ -23856,7 +24340,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1000xxxxx010xxxxxxxxxxxxx ld1sh. */ - return 1688; + return 1735; } else { @@ -23864,7 +24348,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1000xxxxx011xxxxxxxxxxxxx ldff1sh. */ - return 1777; + return 1824; } } } @@ -23882,7 +24366,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x11000xxxx01xxxx0xxxx0xxxx orr. */ - return 1859; + return 1906; } else { @@ -23890,7 +24374,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x11000xxxx01xxxx0xxxx1xxxx orn. */ - return 1854; + return 1901; } } else @@ -23899,7 +24383,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x11001xxxx01xxxx0xxxxxxxxx brkb. */ - return 1418; + return 1465; } } else @@ -23910,7 +24394,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1100xxxxx01xxxx1xxxx0xxxx nor. */ - return 1851; + return 1898; } else { @@ -23918,7 +24402,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1100xxxxx01xxxx1xxxx1xxxx nand. */ - return 1848; + return 1895; } } } @@ -23930,7 +24414,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1100xxxxx010xxxxxxxxxxxxx ld1sb. */ - return 1676; + return 1723; } else { @@ -23938,7 +24422,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1100xxxxx011xxxxxxxxxxxxx ldff1sb. */ - return 1768; + return 1815; } } } @@ -23959,7 +24443,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x10100xxxx01xxxx0xxxx0xxxx ands. */ - return 1403; + return 1450; } else { @@ -23969,7 +24453,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x101010xxx01xxxx0xxxx0xxxx brkas. */ - return 1417; + return 1464; } else { @@ -23977,7 +24461,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x101011xxx01xxxx0xxxx0xxxx brkns. */ - return 1421; + return 1468; } } } @@ -23987,7 +24471,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1010xxxxx01xxxx1xxxx0xxxx eors. */ - return 1490; + return 1537; } } else @@ -23996,7 +24480,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1010xxxxx01xxxxxxxxx1xxxx bics. */ - return 1415; + return 1462; } } else @@ -24007,7 +24491,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1010xxxxx010xxxxxxxxxxxxx ld1w. */ - return 1707; + return 1754; } else { @@ -24015,7 +24499,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1010xxxxx011xxxxxxxxxxxxx ldff1w. */ - return 1793; + return 1840; } } } @@ -24033,7 +24517,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x11100xxxx01xxxx0xxxx0xxxx orrs. */ - return 1860; + return 1907; } else { @@ -24041,7 +24525,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x11101xxxx01xxxx0xxxx0xxxx brkbs. */ - return 1419; + return 1466; } } else @@ -24050,7 +24534,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1110xxxxx01xxxx1xxxx0xxxx nors. */ - return 1852; + return 1899; } } else @@ -24061,7 +24545,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1110xxxxx01xxxx0xxxx1xxxx orns. */ - return 1855; + return 1902; } else { @@ -24069,7 +24553,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1110xxxxx01xxxx1xxxx1xxxx nands. */ - return 1849; + return 1896; } } } @@ -24081,7 +24565,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1110xxxxx010xxxxxxxxxxxxx ld1sb. */ - return 1678; + return 1725; } else { @@ -24089,7 +24573,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1110xxxxx011xxxxxxxxxxxxx ldff1sb. */ - return 1770; + return 1817; } } } @@ -24105,7 +24589,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx01xxxxxxxxx0xxxx psel. */ - return 2492; + return 2549; } else { @@ -24121,7 +24605,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx01x000xxxxx10xxx whilege. */ - return 2975; + return 3032; } else { @@ -24129,7 +24613,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx01x000xxxxx11xxx whilegt. */ - return 2976; + return 3033; } } else @@ -24142,7 +24626,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx010100xxxxx1xxx0 whilege. */ - return 2512; + return 2569; } else { @@ -24150,7 +24634,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx010100xxxxx1xxx1 whilegt. */ - return 2513; + return 2570; } } else @@ -24159,7 +24643,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx011100xxxxx1xxxx pext. */ - return 2716; + return 2773; } } } @@ -24173,7 +24657,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx01x010xxxxx10xxx whilehs. */ - return 2978; + return 3035; } else { @@ -24181,7 +24665,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx01x010xxxxx11xxx whilehi. */ - return 2977; + return 3034; } } else @@ -24194,7 +24678,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx010110xxxxx1xxx0 whilehs. */ - return 2515; + return 2572; } else { @@ -24202,7 +24686,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx010110xxxxx1xxx1 whilehi. */ - return 2514; + return 2571; } } else @@ -24211,7 +24695,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx011110xxxxx1xxxx ptrue. */ - return 2718; + return 2775; } } } @@ -24228,7 +24712,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx01x001xxxxx10xxx whilelt. */ - return 2982; + return 3039; } else { @@ -24236,7 +24720,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx01x001xxxxx11xxx whilele. */ - return 2979; + return 3036; } } else @@ -24249,7 +24733,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx010101xxxxx1xxx0 whilelt. */ - return 2519; + return 2576; } else { @@ -24257,7 +24741,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx010101xxxxx1xxx1 whilele. */ - return 2516; + return 2573; } } else @@ -24266,7 +24750,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx011101xxxxx1xxxx pext. */ - return 2717; + return 2774; } } } @@ -24280,7 +24764,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx01x011xxxxx10xxx whilelo. */ - return 2980; + return 3037; } else { @@ -24288,7 +24772,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx01x011xxxxx11xxx whilels. */ - return 2981; + return 3038; } } else @@ -24299,7 +24783,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx01x111xxxxx1xxx0 whilelo. */ - return 2517; + return 2574; } else { @@ -24307,7 +24791,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx01x111xxxxx1xxx1 whilels. */ - return 2518; + return 2575; } } } @@ -24326,7 +24810,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1001xxxxx010xxxxxxxxxxxxx ld1sh. */ - return 1689; + return 1736; } else { @@ -24334,7 +24818,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1101xxxxx010xxxxxxxxxxxxx ld1sb. */ - return 1677; + return 1724; } } else @@ -24345,7 +24829,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1011xxxxx010xxxxxxxxxxxxx ld1w. */ - return 1708; + return 1755; } else { @@ -24353,7 +24837,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1111xxxxx010xxxxxxxxxxxxx ld1d. */ - return 1630; + return 1677; } } } @@ -24367,7 +24851,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1001xxxxx011xxxxxxxxxxxxx ldff1sh. */ - return 1778; + return 1825; } else { @@ -24375,7 +24859,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1101xxxxx011xxxxxxxxxxxxx ldff1sb. */ - return 1769; + return 1816; } } else @@ -24386,7 +24870,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1011xxxxx011xxxxxxxxxxxxx ldff1w. */ - return 1794; + return 1841; } else { @@ -24394,7 +24878,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1111xxxxx011xxxxxxxxxxxxx ldff1d. */ - return 1750; + return 1797; } } } @@ -24415,7 +24899,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx010xxxxxxxx0xxxx fcmge. */ - return 1509; + return 1556; } else { @@ -24423,7 +24907,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx010xxxxxxxx1xxxx fcmgt. */ - return 1511; + return 1558; } } else @@ -24432,7 +24916,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx1xxxxx010xxxxxxxxxxxxx fnmla. */ - return 1573; + return 1620; } } else @@ -24445,7 +24929,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x100xxxxxx010xxxxxxxxxxxxx st1w. */ - return 3513; + return 3570; } else { @@ -24453,7 +24937,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x110xxxxxx010xxxxxxxxxxxxx str. */ - return 2046; + return 2093; } } else @@ -24466,7 +24950,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1010xxxxx010xxxxxxxxxxxxx st1w. */ - return 2004; + return 2051; } else { @@ -24474,7 +24958,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1110xxxxx010xxxxxxxxxxxxx st1d. */ - return 3511; + return 3568; } } else @@ -24485,7 +24969,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1011xxxxx010xxxxxxxxxxxxx st1w. */ - return 2006; + return 2053; } else { @@ -24493,7 +24977,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1111xxxxx010xxxxxxxxxxxxx st1d. */ - return 1983; + return 2030; } } } @@ -24511,7 +24995,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx011xxxxxxxx0xxxx fcmeq. */ - return 1507; + return 1554; } else { @@ -24519,7 +25003,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx011xxxxxxxx1xxxx fcmne. */ - return 1515; + return 1562; } } else @@ -24532,7 +25016,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1000xxxxx011xxxxxxxxxxxxx stnt1w. */ - return 2042; + return 2089; } else { @@ -24540,7 +25024,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1100xxxxx011xxxxxxxxxxxxx stnt1d. */ - return 2038; + return 2085; } } else @@ -24551,7 +25035,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1010xxxxx011xxxxxxxxxxxxx st3w. */ - return 2026; + return 2073; } else { @@ -24559,7 +25043,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1110xxxxx011xxxxxxxxxxxxx st3d. */ - return 2022; + return 2069; } } } @@ -24572,7 +25056,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx1xxxxx011xxxxxxxxxxxxx fnmls. */ - return 1574; + return 1621; } else { @@ -24584,7 +25068,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1001xxxxx011xxxxxxxxxxxxx st2w. */ - return 2018; + return 2065; } else { @@ -24592,7 +25076,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1101xxxxx011xxxxxxxxxxxxx st2d. */ - return 2014; + return 2061; } } else @@ -24603,7 +25087,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1011xxxxx011xxxxxxxxxxxxx st4w. */ - return 2034; + return 2081; } else { @@ -24611,7 +25095,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1111xxxxx011xxxxxxxxxxxxx st4d. */ - return 2030; + return 2077; } } } @@ -24638,7 +25122,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx0xxxxx100xxxxxxxx0xxxx cmpeq. */ - return 1436; + return 1483; } else { @@ -24646,7 +25130,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx0xxxxx100xxxxxxxx1xxxx cmpne. */ - return 1459; + return 1506; } } else @@ -24657,7 +25141,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10x0xxxxx100xxxxxxxxxxxxx ld1w. */ - return 3509; + return 3566; } else { @@ -24665,7 +25149,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11x0xxxxx100xxxxxxxxxxxxx ld1d. */ - return 3507; + return 3564; } } } @@ -24681,7 +25165,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x10000xxxx101xxxxxxxxxxxxx ld1sh. */ - return 1695; + return 1742; } else { @@ -24689,7 +25173,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x11000xxxx101xxxxxxxxxxxxx ld1sb. */ - return 1682; + return 1729; } } else @@ -24700,7 +25184,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x10100xxxx101xxxxxxxxxxxxx ld1w. */ - return 1714; + return 1761; } else { @@ -24708,7 +25192,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x11100xxxx101xxxxxxxxxxxxx ld1sb. */ - return 1684; + return 1731; } } } @@ -24722,7 +25206,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x10001xxxx101xxxxxxxxxxxxx ldnf1sh. */ - return 1812; + return 1859; } else { @@ -24730,7 +25214,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x11001xxxx101xxxxxxxxxxxxx ldnf1sb. */ - return 1809; + return 1856; } } else @@ -24741,7 +25225,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x10101xxxx101xxxxxxxxxxxxx ldnf1w. */ - return 1815; + return 1862; } else { @@ -24749,7 +25233,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01001x11101xxxx101xxxxxxxxxxxxx ldnf1sb. */ - return 1811; + return 1858; } } } @@ -24769,7 +25253,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1x000xxxx11xxxxxxxxx0xxxx brkpa. */ - return 1422; + return 1469; } else { @@ -24777,7 +25261,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1x100xxxx11xxxxxxxxx0xxxx brkpas. */ - return 1423; + return 1470; } } else @@ -24790,7 +25274,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx010xx011xxxxxxxxx0xxxx ptest. */ - return 1894; + return 1941; } else { @@ -24804,7 +25288,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx011xx01100x0xxxxx0xxxx pfirst. */ - return 1864; + return 1911; } else { @@ -24812,7 +25296,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx011xx01110x0xxxxx0xxxx ptrue. */ - return 1895; + return 1942; } } else @@ -24823,7 +25307,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1x0011xx011x1x0xxxxx0xxxx rdffr. */ - return 1901; + return 1948; } else { @@ -24831,7 +25315,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1x1011xx011x1x0xxxxx0xxxx rdffrs. */ - return 1902; + return 1949; } } } @@ -24841,7 +25325,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx011xx011xxx1xxxxx0xxxx pfalse. */ - return 1862; + return 1909; } } } @@ -24855,7 +25339,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx01xxx111x0x0xxxxx0xxxx ptrues. */ - return 1896; + return 1943; } else { @@ -24863,7 +25347,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx01xxx111x1x0xxxxx0xxxx rdffr. */ - return 1900; + return 1947; } } else @@ -24872,7 +25356,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx01xxx111xxx1xxxxx0xxxx pnext. */ - return 1865; + return 1912; } } } @@ -24885,7 +25369,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1x00xxxxx11xxxxxxxxx1xxxx brkpb. */ - return 1424; + return 1471; } else { @@ -24893,7 +25377,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1x10xxxxx11xxxxxxxxx1xxxx brkpbs. */ - return 1425; + return 1472; } } } @@ -24909,7 +25393,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1000xxxxx110xxxxxxxxxxxxx ldnt1w. */ - return 1823; + return 1870; } else { @@ -24917,7 +25401,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1100xxxxx110xxxxxxxxxxxxx ldnt1d. */ - return 1819; + return 1866; } } else @@ -24928,7 +25412,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1010xxxxx110xxxxxxxxxxxxx ld3w. */ - return 1731; + return 1778; } else { @@ -24936,7 +25420,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1110xxxxx110xxxxxxxxxxxxx ld3d. */ - return 1727; + return 1774; } } } @@ -24952,7 +25436,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10000xxxx111xxxxxxxxxxxxx ldnt1w. */ - return 1824; + return 1871; } else { @@ -24960,7 +25444,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11000xxxx111xxxxxxxxxxxxx ldnt1d. */ - return 1820; + return 1867; } } else @@ -24971,7 +25455,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10100xxxx111xxxxxxxxxxxxx ld3w. */ - return 1732; + return 1779; } else { @@ -24979,7 +25463,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11100xxxx111xxxxxxxxxxxxx ld3d. */ - return 1728; + return 1775; } } } @@ -24991,7 +25475,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10x01xxxx111xxxxxxxxxxxxx ld3q. */ - return 3516; + return 3573; } else { @@ -24999,7 +25483,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11x01xxxx111xxxxxxxxxxxxx ld4q. */ - return 3517; + return 3574; } } } @@ -25028,7 +25512,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000000100xxxxxxxxxxxxx fadd. */ - return 1498; + return 1545; } else { @@ -25036,7 +25520,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000100100xxxxxxxxxxxxx fmaxnm. */ - return 1545; + return 1592; } } else @@ -25047,7 +25531,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000010100xxxxxxxxxxxxx fmul. */ - return 1565; + return 1612; } else { @@ -25055,7 +25539,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000110100xxxxxxxxxxxxx fmax. */ - return 1543; + return 1590; } } } @@ -25069,7 +25553,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000001100xxxxxxxxxxxxx fsub. */ - return 1591; + return 1638; } else { @@ -25077,7 +25561,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000101100xxxxxxxxxxxxx fminnm. */ - return 1551; + return 1598; } } else @@ -25088,7 +25572,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000011100xxxxxxxxxxxxx fsubr. */ - return 1593; + return 1640; } else { @@ -25096,7 +25580,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000111100xxxxxxxxxxxxx fmin. */ - return 1549; + return 1596; } } } @@ -25107,7 +25591,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx010xxx100xxxxxxxxxxxxx ftmad. */ - return 1595; + return 1642; } } else @@ -25124,7 +25608,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001000100xxxxxxxxxxxxx fabd. */ - return 1493; + return 1540; } else { @@ -25132,7 +25616,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx011000100xxxxxxxxxxxxx fadd. */ - return 1499; + return 1546; } } else @@ -25143,7 +25627,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001100100xxxxxxxxxxxxx fdivr. */ - return 1539; + return 1586; } else { @@ -25151,7 +25635,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx011100100xxxxxxxxxxxxx fmaxnm. */ - return 1546; + return 1593; } } } @@ -25165,7 +25649,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001010100xxxxxxxxxxxxx fmulx. */ - return 1570; + return 1617; } else { @@ -25173,7 +25657,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx011010100xxxxxxxxxxxxx fmul. */ - return 1566; + return 1613; } } else @@ -25184,7 +25668,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001110100xxxxxxxxxxxxx famax. */ - return 1262; + return 1308; } else { @@ -25192,7 +25676,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx011110100xxxxxxxxxxxxx fmax. */ - return 1544; + return 1591; } } } @@ -25209,7 +25693,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001001100xxxxxxxxxxxxx fscale. */ - return 1588; + return 1635; } else { @@ -25217,7 +25701,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx011001100xxxxxxxxxxxxx fsub. */ - return 1592; + return 1639; } } else @@ -25228,7 +25712,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001101100xxxxxxxxxxxxx fdiv. */ - return 1538; + return 1585; } else { @@ -25236,7 +25720,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx011101100xxxxxxxxxxxxx fminnm. */ - return 1552; + return 1599; } } } @@ -25248,7 +25732,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0x1011100xxxxxxxxxxxxx fsubr. */ - return 1594; + return 1641; } else { @@ -25258,7 +25742,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001111100xxxxxxxxxxxxx famin. */ - return 1263; + return 1309; } else { @@ -25266,7 +25750,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx011111100xxxxxxxxxxxxx fmin. */ - return 1550; + return 1597; } } } @@ -25281,7 +25765,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx110xxxxxxxx0xxxx fcmuo. */ - return 1516; + return 1563; } else { @@ -25289,7 +25773,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx110xxxxxxxx1xxxx facge. */ - return 1495; + return 1542; } } } @@ -25303,7 +25787,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1000xxxxx1x0xxxxxxxxxxxxx st1w. */ - return 2000; + return 2047; } else { @@ -25311,7 +25795,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1100xxxxx1x0xxxxxxxxxxxxx st1d. */ - return 1979; + return 2026; } } else @@ -25320,7 +25804,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1x10xxxxx1x0xxxxxxxxxxxxx st1w. */ - return 2005; + return 2052; } } } @@ -25344,7 +25828,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000000101xxxxxxxxxxxxx frintn. */ - return 1582; + return 1629; } else { @@ -25352,7 +25836,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000010101xxxxxxxxxxxxx frintm. */ - return 1581; + return 1628; } } else @@ -25363,7 +25847,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1x00100x0101xxxxxxxxxxxxx frint32z. */ - return 3702; + return 3759; } else { @@ -25373,7 +25857,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1x1010000101xxxxxxxxxxxxx scvtf. */ - return 1914; + return 1961; } else { @@ -25381,7 +25865,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1x1010010101xxxxxxxxxxxxx scvtf. */ - return 1911; + return 1958; } } } @@ -25396,7 +25880,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000100101xxxxxxxxxxxxx frinta. */ - return 1579; + return 1626; } else { @@ -25404,7 +25888,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000110101xxxxxxxxxxxxx frintx. */ - return 1584; + return 1631; } } else @@ -25417,7 +25901,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1000101x0101xxxxxxxxxxxxx frint64z. */ - return 3706; + return 3763; } else { @@ -25425,7 +25909,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1100101x0101xxxxxxxxxxxxx scvtf. */ - return 1913; + return 1960; } } else @@ -25438,7 +25922,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x101010100101xxxxxxxxxxxxx scvtf. */ - return 1912; + return 1959; } else { @@ -25446,7 +25930,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x111010100101xxxxxxxxxxxxx scvtf. */ - return 1916; + return 1963; } } else @@ -25457,7 +25941,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x101010110101xxxxxxxxxxxxx scvtf. */ - return 1915; + return 1962; } else { @@ -25465,7 +25949,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x111010110101xxxxxxxxxxxxx scvtf. */ - return 1917; + return 1964; } } } @@ -25486,7 +25970,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1x0001000101xxxxxxxxxxxxx fcvt. */ - return 1518; + return 1565; } else { @@ -25494,7 +25978,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1x1001000101xxxxxxxxxxxxx fcvt. */ - return 1520; + return 1567; } } else @@ -25503,7 +25987,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001100101xxxxxxxxxxxxx frecpx. */ - return 1578; + return 1625; } } else @@ -25516,7 +26000,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x100001x10101xxxxxxxxxxxxx fcvtx. */ - return 2175; + return 2222; } else { @@ -25524,7 +26008,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x110001x10101xxxxxxxxxxxxx bfcvt. */ - return 3163; + return 3220; } } else @@ -25533,7 +26017,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1x1001x10101xxxxxxxxxxxxx fcvt. */ - return 1522; + return 1569; } } } @@ -25547,7 +26031,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x100011xx0101xxxxxxxxxxxxx flogb. */ - return 2177; + return 2224; } else { @@ -25555,7 +26039,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x110011xx0101xxxxxxxxxxxxx fcvtzs. */ - return 1527; + return 1574; } } else @@ -25568,7 +26052,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1x1011000101xxxxxxxxxxxxx fcvtzs. */ - return 1528; + return 1575; } else { @@ -25578,7 +26062,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x101011100101xxxxxxxxxxxxx fcvtzs. */ - return 1525; + return 1572; } else { @@ -25586,7 +26070,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x111011100101xxxxxxxxxxxxx fcvtzs. */ - return 1529; + return 1576; } } } @@ -25598,7 +26082,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1x1011010101xxxxxxxxxxxxx fcvtzs. */ - return 1524; + return 1571; } else { @@ -25608,7 +26092,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x101011110101xxxxxxxxxxxxx fcvtzs. */ - return 1526; + return 1573; } else { @@ -25616,7 +26100,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x111011110101xxxxxxxxxxxxx fcvtzs. */ - return 1530; + return 1577; } } } @@ -25638,7 +26122,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000001101xxxxxxxxxxxxx frintp. */ - return 1583; + return 1630; } else { @@ -25646,7 +26130,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx000011101xxxxxxxxxxxxx frintz. */ - return 1585; + return 1632; } } else @@ -25657,7 +26141,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1x00100x1101xxxxxxxxxxxxx frint32x. */ - return 3700; + return 3757; } else { @@ -25667,7 +26151,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1x1010001101xxxxxxxxxxxxx ucvtf. */ - return 2067; + return 2114; } else { @@ -25675,7 +26159,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1x1010011101xxxxxxxxxxxxx ucvtf. */ - return 2064; + return 2111; } } } @@ -25692,7 +26176,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1x0001001101xxxxxxxxxxxxx fcvt. */ - return 1519; + return 1566; } else { @@ -25700,7 +26184,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1x1001001101xxxxxxxxxxxxx fcvt. */ - return 1521; + return 1568; } } else @@ -25709,7 +26193,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx011001101xxxxxxxxxxxxx fcvtzu. */ - return 1535; + return 1582; } } else @@ -25720,7 +26204,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001011101xxxxxxxxxxxxx fcvt. */ - return 1523; + return 1570; } else { @@ -25728,7 +26212,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx011011101xxxxxxxxxxxxx fcvtzu. */ - return 1531; + return 1578; } } } @@ -25743,7 +26227,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0001x1101xxxxxxxxxxxxx frinti. */ - return 1580; + return 1627; } else { @@ -25755,7 +26239,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1000101x1101xxxxxxxxxxxxx frint64x. */ - return 3704; + return 3761; } else { @@ -25763,7 +26247,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1100101x1101xxxxxxxxxxxxx ucvtf. */ - return 2066; + return 2113; } } else @@ -25776,7 +26260,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x101010101101xxxxxxxxxxxxx ucvtf. */ - return 2065; + return 2112; } else { @@ -25784,7 +26268,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x111010101101xxxxxxxxxxxxx ucvtf. */ - return 2069; + return 2116; } } else @@ -25795,7 +26279,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x101010111101xxxxxxxxxxxxx ucvtf. */ - return 2068; + return 2115; } else { @@ -25803,7 +26287,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x111010111101xxxxxxxxxxxxx ucvtf. */ - return 2070; + return 2117; } } } @@ -25819,7 +26303,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx001101101xxxxxxxxxxxxx fsqrt. */ - return 1589; + return 1636; } else { @@ -25829,7 +26313,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1x0011101101xxxxxxxxxxxxx fcvtzu. */ - return 1534; + return 1581; } else { @@ -25839,7 +26323,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x101011101101xxxxxxxxxxxxx fcvtzu. */ - return 1532; + return 1579; } else { @@ -25847,7 +26331,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x111011101101xxxxxxxxxxxxx fcvtzu. */ - return 1536; + return 1583; } } } @@ -25860,7 +26344,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x10x0x1111101xxxxxxxxxxxxx fcvtzu. */ - return 1533; + return 1580; } else { @@ -25868,7 +26352,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x11x0x1111101xxxxxxxxxxxxx fcvtzu. */ - return 1537; + return 1584; } } } @@ -25885,7 +26369,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1000xxxxx101xxxxxxxxxxxxx st1w. */ - return 2001; + return 2048; } else { @@ -25893,7 +26377,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1100xxxxx101xxxxxxxxxxxxx st1d. */ - return 1980; + return 2027; } } else @@ -25904,7 +26388,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1010xxxxx101xxxxxxxxxxxxx st1w. */ - return 2008; + return 2055; } else { @@ -25912,7 +26396,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1110xxxxx101xxxxxxxxxxxxx st1d. */ - return 1984; + return 2031; } } } @@ -25925,7 +26409,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx0xxxxx111xxxxxxxxxxxxx facgt. */ - return 1496; + return 1543; } else { @@ -25937,7 +26421,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1x000xxxx111xxxxxxxxxxxxx st1w. */ - return 3512; + return 3569; } else { @@ -25947,7 +26431,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x10100xxxx111xxxxxxxxxxxxx st1w. */ - return 2009; + return 2056; } else { @@ -25955,7 +26439,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x11100xxxx111xxxxxxxxxxxxx st1d. */ - return 3510; + return 3567; } } } @@ -25969,7 +26453,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x10001xxxx111xxxxxxxxxxxxx stnt1w. */ - return 2043; + return 2090; } else { @@ -25977,7 +26461,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x11001xxxx111xxxxxxxxxxxxx stnt1d. */ - return 2039; + return 2086; } } else @@ -25988,7 +26472,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x10101xxxx111xxxxxxxxxxxxx st3w. */ - return 2027; + return 2074; } else { @@ -25996,7 +26480,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x11101xxxx111xxxxxxxxxxxxx st3d. */ - return 2023; + return 2070; } } } @@ -26027,7 +26511,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1x000010xxxx0xxxxxxxxx cntp. */ - return 1465; + return 1512; } else { @@ -26041,7 +26525,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1x100010x0000xxxxxxxxx sqincp. */ - return 1958; + return 2005; } else { @@ -26049,7 +26533,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1x100010x1000xxxxxxxxx wrffr. */ - return 2132; + return 2179; } } else @@ -26058,7 +26542,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1x100010xx100xxxxxxxxx sqincp. */ - return 1960; + return 2007; } } else @@ -26067,7 +26551,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1x100010xxx10xxxxxxxxx sqincp. */ - return 1959; + return 2006; } } } @@ -26081,7 +26565,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xx10010x00x0xxxxxxxxx incp. */ - return 1603; + return 1650; } else { @@ -26089,7 +26573,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xx10010x10x0xxxxxxxxx setffr. */ - return 1925; + return 1972; } } else @@ -26098,7 +26582,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xx10010xx1x0xxxxxxxxx incp. */ - return 1604; + return 1651; } } } @@ -26110,7 +26594,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1x0x1010xxxx0xxxxxxxxx lastp. */ - return 3716; + return 3773; } else { @@ -26122,7 +26606,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1x1x1010xx000xxxxxxxxx sqdecp. */ - return 1944; + return 1991; } else { @@ -26130,7 +26614,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1x1x1010xx100xxxxxxxxx sqdecp. */ - return 1946; + return 1993; } } else @@ -26139,7 +26623,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1x1x1010xxx10xxxxxxxxx sqdecp. */ - return 1945; + return 1992; } } } @@ -26156,7 +26640,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1x000110xxxx0xxxxxxxxx firstp. */ - return 3696; + return 3753; } else { @@ -26168,7 +26652,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1x100110xx000xxxxxxxxx uqincp. */ - return 2107; + return 2154; } else { @@ -26176,7 +26660,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1x100110xx100xxxxxxxxx uqincp. */ - return 2108; + return 2155; } } else @@ -26185,7 +26669,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1x100110xxx10xxxxxxxxx uqincp. */ - return 2109; + return 2156; } } } @@ -26197,7 +26681,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xx10110xx0x0xxxxxxxxx decp. */ - return 1478; + return 1525; } else { @@ -26205,7 +26689,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xx10110xx1x0xxxxxxxxx decp. */ - return 1479; + return 1526; } } } @@ -26219,7 +26703,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxx1110xx000xxxxxxxxx uqdecp. */ - return 2093; + return 2140; } else { @@ -26227,7 +26711,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxx1110xx100xxxxxxxxx uqdecp. */ - return 2094; + return 2141; } } else @@ -26236,7 +26720,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxx1110xxx10xxxxxxxxx uqdecp. */ - return 2095; + return 2142; } } } @@ -26247,7 +26731,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xxxxx10xxxx1xxxxxxxxx cntp. */ - return 2555; + return 2612; } } else @@ -26260,7 +26744,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10x1xxxxx100xxxxxxxxxxxxx ld3q. */ - return 3519; + return 3576; } else { @@ -26268,7 +26752,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11x1xxxxx100xxxxxxxxxxxxx ld4q. */ - return 3520; + return 3577; } } else @@ -26283,7 +26767,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10010xxxx101xxxxxxxxxxxxx ld1sh. */ - return 1696; + return 1743; } else { @@ -26291,7 +26775,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11010xxxx101xxxxxxxxxxxxx ld1sb. */ - return 1683; + return 1730; } } else @@ -26302,7 +26786,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10110xxxx101xxxxxxxxxxxxx ld1w. */ - return 1715; + return 1762; } else { @@ -26310,7 +26794,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11110xxxx101xxxxxxxxxxxxx ld1d. */ - return 1635; + return 1682; } } } @@ -26324,7 +26808,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10011xxxx101xxxxxxxxxxxxx ldnf1sh. */ - return 1813; + return 1860; } else { @@ -26332,7 +26816,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11011xxxx101xxxxxxxxxxxxx ldnf1sb. */ - return 1810; + return 1857; } } else @@ -26343,7 +26827,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x10111xxxx101xxxxxxxxxxxxx ldnf1w. */ - return 1816; + return 1863; } else { @@ -26351,7 +26835,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x11111xxxx101xxxxxxxxxxxxx ldnf1d. */ - return 1805; + return 1852; } } } @@ -26376,7 +26860,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10000011xxxxxxxxxxxxxx add. */ - return 1392; + return 1439; } else { @@ -26384,7 +26868,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx11000011xxxxxxxxxxxxxx mul. */ - return 1846; + return 1893; } } else @@ -26395,7 +26879,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10100011xxxxxxxxxxxxxx smax. */ - return 1926; + return 1973; } else { @@ -26403,7 +26887,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx11100011xxxxxxxxxxxxxx dup. */ - return 1484; + return 1531; } } } @@ -26413,7 +26897,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xx10011xxxxxxxxxxxxxx sqadd. */ - return 1935; + return 1982; } } else @@ -26424,7 +26908,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xx01011xxxxxxxxxxxxxx smin. */ - return 1929; + return 1976; } else { @@ -26432,7 +26916,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xx11011xxxxxxxxxxxxxx sqsub. */ - return 1965; + return 2012; } } } @@ -26448,7 +26932,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1x000111xxxxxxxxxxxxxx sub. */ - return 2048; + return 2095; } else { @@ -26458,7 +26942,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx10100111xxxxxxxxxxxxxx umax. */ - return 2076; + return 2123; } else { @@ -26466,7 +26950,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx11100111xxxxxxxxxxxxxx fdup. */ - return 1540; + return 1587; } } } @@ -26476,7 +26960,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xx10111xxxxxxxxxxxxxx uqadd. */ - return 2084; + return 2131; } } else @@ -26489,7 +26973,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1x001111xxxxxxxxxxxxxx subr. */ - return 2050; + return 2097; } else { @@ -26497,7 +26981,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1x101111xxxxxxxxxxxxxx umin. */ - return 2079; + return 2126; } } else @@ -26506,7 +26990,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 001001x1xx1xx11111xxxxxxxxxxxxxx uqsub. */ - return 2114; + return 2161; } } } @@ -26523,7 +27007,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1001xxxxx110xxxxxxxxxxxxx ld2w. */ - return 1723; + return 1770; } else { @@ -26531,7 +27015,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1101xxxxx110xxxxxxxxxxxxx ld2d. */ - return 1719; + return 1766; } } else @@ -26542,7 +27026,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1011xxxxx110xxxxxxxxxxxxx ld4w. */ - return 1739; + return 1786; } else { @@ -26550,7 +27034,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1111xxxxx110xxxxxxxxxxxxx ld4d. */ - return 1735; + return 1782; } } } @@ -26564,7 +27048,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1001xxxxx111xxxxxxxxxxxxx ld2w. */ - return 1724; + return 1771; } else { @@ -26572,7 +27056,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1101xxxxx111xxxxxxxxxxxxx ld2d. */ - return 1720; + return 1767; } } else @@ -26583,7 +27067,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1011xxxxx111xxxxxxxxxxxxx ld4w. */ - return 1740; + return 1787; } else { @@ -26591,7 +27075,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 101001x1111xxxxx111xxxxxxxxxxxxx ld4d. */ - return 1736; + return 1783; } } } @@ -26610,7 +27094,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx1xxxxx100xxxxxxxxxxxxx fmad. */ - return 1542; + return 1589; } else { @@ -26618,7 +27102,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx1xxxxx110xxxxxxxxxxxxx fnmad. */ - return 1572; + return 1619; } } else @@ -26631,7 +27115,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1001xxxxx1x0xxxxxxxxxxxxx st1w. */ - return 2002; + return 2049; } else { @@ -26639,7 +27123,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1101xxxxx1x0xxxxxxxxxxxxx st1d. */ - return 1981; + return 2028; } } else @@ -26648,7 +27132,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1x11xxxxx1x0xxxxxxxxxxxxx st1w. */ - return 2007; + return 2054; } } } @@ -26662,7 +27146,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx1xxxxx101xxxxxxxxxxxxx fmsb. */ - return 1563; + return 1610; } else { @@ -26674,7 +27158,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1001xxxxx101xxxxxxxxxxxxx st1w. */ - return 2003; + return 2050; } else { @@ -26682,7 +27166,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1101xxxxx101xxxxxxxxxxxxx st1d. */ - return 1982; + return 2029; } } else @@ -26691,7 +27175,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x1x11xxxxx101xxxxxxxxxxxxx st1w. */ - return 2010; + return 2057; } } } @@ -26703,7 +27187,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 011001x1xx1xxxxx111xxxxxxxxxxxxx fnmsb. */ - return 1575; + return 1622; } else { @@ -26715,7 +27199,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x10x10xxxx111xxxxxxxxxxxxx st1w. */ - return 2011; + return 2058; } else { @@ -26723,7 +27207,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x11x10xxxx111xxxxxxxxxxxxx st1d. */ - return 1985; + return 2032; } } else @@ -26736,7 +27220,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x10011xxxx111xxxxxxxxxxxxx st2w. */ - return 2019; + return 2066; } else { @@ -26744,7 +27228,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x11011xxxx111xxxxxxxxxxxxx st2d. */ - return 2015; + return 2062; } } else @@ -26755,7 +27239,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x10111xxxx111xxxxxxxxxxxxx st4w. */ - return 2035; + return 2082; } else { @@ -26763,7 +27247,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 111001x11111xxxx111xxxxxxxxxxxxx st4d. */ - return 2031; + return 2078; } } } @@ -26845,7 +27329,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11010100x11xxxxxxxxxxxxxxxx0xx00 tcancel. */ - return 1278; + return 1324; } } } @@ -26973,7 +27457,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1010100xxxxxxxxxxxxxxxxxxx1xxxx bc.c. */ - return 3304; + return 3361; } else { @@ -27104,7 +27588,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10101x1x100xxxxxxxxxxxxxxxxxxxx sysp. */ - return 1325; + return 1372; } else { @@ -27112,7 +27596,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10101x1x101xxxxxxxxxxxxxxxxxxxx msrr. */ - return 1343; + return 1390; } } } @@ -27126,7 +27610,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1010101x01xxxxxxxxxxxxxxxxxxxxx tstart. */ - return 1275; + return 1321; } else { @@ -27154,7 +27638,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10101x1x11xxxxxxxxxxxxxxxxxxxxx mrrs. */ - return 1342; + return 1389; } } } @@ -27376,7 +27860,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx110110xxxxxxxxxxxxxxxxxxxxxxxx tbz. */ - return 1352; + return 1399; } } else @@ -27461,7 +27945,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx110111xxxxxxxxxxxxxxxxxxxxxxxx tbnz. */ - return 1353; + return 1400; } } } @@ -27527,7 +28011,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx00110100xxxxx1xx0xxxxxxxxxxxxx stl1. */ - return 1254; + return 1300; } } else @@ -27678,7 +28162,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx00110101xxxxx1xx0xxxxxxxxxxxxx ldap1. */ - return 1255; + return 1301; } } else @@ -27831,7 +28315,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100001xxxxx000000xxxxxxxxxx ldfadd. */ - return 3072; + return 3129; } else { @@ -27839,7 +28323,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100101xxxxx000000xxxxxxxxxx ldfadda. */ - return 3073; + return 3130; } } else @@ -27850,7 +28334,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100011xxxxx000000xxxxxxxxxx ldfaddl. */ - return 3075; + return 3132; } else { @@ -27858,7 +28342,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100111xxxxx000000xxxxxxxxxx ldfaddal. */ - return 3074; + return 3131; } } } @@ -27870,7 +28354,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100x01xxxxx100000xxxxxxxxxx stfadd. */ - return 3112; + return 3169; } else { @@ -27878,7 +28362,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100x11xxxxx100000xxxxxxxxxx stfaddl. */ - return 3113; + return 3170; } } } @@ -27894,7 +28378,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100001xxxxx010000xxxxxxxxxx ldfmax. */ - return 3076; + return 3133; } else { @@ -27902,7 +28386,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100101xxxxx010000xxxxxxxxxx ldfmaxa. */ - return 3077; + return 3134; } } else @@ -27913,7 +28397,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100011xxxxx010000xxxxxxxxxx ldfmaxl. */ - return 3079; + return 3136; } else { @@ -27921,7 +28405,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100111xxxxx010000xxxxxxxxxx ldfmaxal. */ - return 3078; + return 3135; } } } @@ -27933,7 +28417,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100x01xxxxx110000xxxxxxxxxx stfmax. */ - return 3114; + return 3171; } else { @@ -27941,7 +28425,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100x11xxxxx110000xxxxxxxxxx stfmaxl. */ - return 3115; + return 3172; } } } @@ -27958,7 +28442,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100001xxxxx0x1000xxxxxxxxxx ldfmaxnm. */ - return 3080; + return 3137; } else { @@ -27966,7 +28450,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100101xxxxx0x1000xxxxxxxxxx ldfmaxnma. */ - return 3081; + return 3138; } } else @@ -27977,7 +28461,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100011xxxxx0x1000xxxxxxxxxx ldfmaxnml. */ - return 3083; + return 3140; } else { @@ -27985,7 +28469,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100111xxxxx0x1000xxxxxxxxxx ldfmaxnmal. */ - return 3082; + return 3139; } } } @@ -27997,7 +28481,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100x01xxxxx1x1000xxxxxxxxxx stfmaxnm. */ - return 3116; + return 3173; } else { @@ -28005,7 +28489,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100x11xxxxx1x1000xxxxxxxxxx stfmaxnml. */ - return 3117; + return 3174; } } } @@ -28024,7 +28508,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100001xxxxx0x0100xxxxxxxxxx ldfmin. */ - return 3084; + return 3141; } else { @@ -28032,7 +28516,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100101xxxxx0x0100xxxxxxxxxx ldfmina. */ - return 3085; + return 3142; } } else @@ -28043,7 +28527,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100011xxxxx0x0100xxxxxxxxxx ldfminl. */ - return 3087; + return 3144; } else { @@ -28051,7 +28535,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100111xxxxx0x0100xxxxxxxxxx ldfminal. */ - return 3086; + return 3143; } } } @@ -28063,7 +28547,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100x01xxxxx1x0100xxxxxxxxxx stfmin. */ - return 3118; + return 3175; } else { @@ -28071,7 +28555,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100x11xxxxx1x0100xxxxxxxxxx stfminl. */ - return 3119; + return 3176; } } } @@ -28087,7 +28571,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100001xxxxx0x1100xxxxxxxxxx ldfminnm. */ - return 3088; + return 3145; } else { @@ -28095,7 +28579,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100101xxxxx0x1100xxxxxxxxxx ldfminnma. */ - return 3089; + return 3146; } } else @@ -28106,7 +28590,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100011xxxxx0x1100xxxxxxxxxx ldfminnml. */ - return 3091; + return 3148; } else { @@ -28114,7 +28598,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100111xxxxx0x1100xxxxxxxxxx ldfminnmal. */ - return 3090; + return 3147; } } } @@ -28126,7 +28610,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100x01xxxxx1x1100xxxxxxxxxx stfminnm. */ - return 3120; + return 3177; } else { @@ -28134,7 +28618,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx111100x11xxxxx1x1100xxxxxxxxxx stfminnml. */ - return 3121; + return 3178; } } } @@ -28194,7 +28678,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011101x0xxxxxxxxxxx0xxxxxxxxxx stlur. */ - return 1257; + return 1303; } else { @@ -28212,7 +28696,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx0000x1xxxxxxxxxx cpyp. */ - return 3232; + return 3289; } else { @@ -28220,7 +28704,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx0000x1xxxxxxxxxx cpye. */ - return 3234; + return 3291; } } else @@ -28231,7 +28715,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx1000x1xxxxxxxxxx cpyprn. */ - return 3238; + return 3295; } else { @@ -28239,7 +28723,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx1000x1xxxxxxxxxx cpyern. */ - return 3240; + return 3297; } } } @@ -28253,7 +28737,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx0100x1xxxxxxxxxx cpypwn. */ - return 3235; + return 3292; } else { @@ -28261,7 +28745,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx0100x1xxxxxxxxxx cpyewn. */ - return 3237; + return 3294; } } else @@ -28272,7 +28756,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx1100x1xxxxxxxxxx cpypn. */ - return 3241; + return 3298; } else { @@ -28280,7 +28764,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx1100x1xxxxxxxxxx cpyen. */ - return 3243; + return 3300; } } } @@ -28297,7 +28781,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx0010x1xxxxxxxxxx cpyprt. */ - return 3256; + return 3313; } else { @@ -28305,7 +28789,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx0010x1xxxxxxxxxx cpyert. */ - return 3258; + return 3315; } } else @@ -28316,7 +28800,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx1010x1xxxxxxxxxx cpyprtrn. */ - return 3262; + return 3319; } else { @@ -28324,7 +28808,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx1010x1xxxxxxxxxx cpyertrn. */ - return 3264; + return 3321; } } } @@ -28338,7 +28822,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx0110x1xxxxxxxxxx cpyprtwn. */ - return 3259; + return 3316; } else { @@ -28346,7 +28830,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx0110x1xxxxxxxxxx cpyertwn. */ - return 3261; + return 3318; } } else @@ -28357,7 +28841,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx1110x1xxxxxxxxxx cpyprtn. */ - return 3265; + return 3322; } else { @@ -28365,7 +28849,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx1110x1xxxxxxxxxx cpyertn. */ - return 3267; + return 3324; } } } @@ -28385,7 +28869,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx0001x1xxxxxxxxxx cpypwt. */ - return 3244; + return 3301; } else { @@ -28393,7 +28877,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx0001x1xxxxxxxxxx cpyewt. */ - return 3246; + return 3303; } } else @@ -28404,7 +28888,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx1001x1xxxxxxxxxx cpypwtrn. */ - return 3250; + return 3307; } else { @@ -28412,7 +28896,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx1001x1xxxxxxxxxx cpyewtrn. */ - return 3252; + return 3309; } } } @@ -28426,7 +28910,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx0101x1xxxxxxxxxx cpypwtwn. */ - return 3247; + return 3304; } else { @@ -28434,7 +28918,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx0101x1xxxxxxxxxx cpyewtwn. */ - return 3249; + return 3306; } } else @@ -28445,7 +28929,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx1101x1xxxxxxxxxx cpypwtn. */ - return 3253; + return 3310; } else { @@ -28453,7 +28937,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx1101x1xxxxxxxxxx cpyewtn. */ - return 3255; + return 3312; } } } @@ -28470,7 +28954,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx0011x1xxxxxxxxxx cpypt. */ - return 3268; + return 3325; } else { @@ -28478,7 +28962,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx0011x1xxxxxxxxxx cpyet. */ - return 3270; + return 3327; } } else @@ -28489,7 +28973,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx1011x1xxxxxxxxxx cpyptrn. */ - return 3274; + return 3331; } else { @@ -28497,7 +28981,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx1011x1xxxxxxxxxx cpyetrn. */ - return 3276; + return 3333; } } } @@ -28511,7 +28995,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx0111x1xxxxxxxxxx cpyptwn. */ - return 3271; + return 3328; } else { @@ -28519,7 +29003,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx0111x1xxxxxxxxxx cpyetwn. */ - return 3273; + return 3330; } } else @@ -28530,7 +29014,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110100xxxxxx1111x1xxxxxxxxxx cpyptn. */ - return 3277; + return 3334; } else { @@ -28538,7 +29022,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110110xxxxxx1111x1xxxxxxxxxx cpyetn. */ - return 3279; + return 3336; } } } @@ -28565,7 +29049,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011101x1xxxxxxxxxxx0xxxxxxxxxx ldapur. */ - return 1256; + return 1302; } else { @@ -28583,7 +29067,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx0000x1xxxxxxxxxx cpym. */ - return 3233; + return 3290; } else { @@ -28591,7 +29075,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx0000x1xxxxxxxxxx setgp. */ - return 3292; + return 3349; } } else @@ -28602,7 +29086,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx1000x1xxxxxxxxxx cpymrn. */ - return 3239; + return 3296; } else { @@ -28610,7 +29094,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx1000x1xxxxxxxxxx setge. */ - return 3294; + return 3351; } } } @@ -28624,7 +29108,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx0100x1xxxxxxxxxx cpymwn. */ - return 3236; + return 3293; } else { @@ -28632,7 +29116,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx0100x1xxxxxxxxxx setgm. */ - return 3293; + return 3350; } } else @@ -28641,7 +29125,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011101x1xxxxxx1100x1xxxxxxxxxx cpymn. */ - return 3242; + return 3299; } } } @@ -28657,7 +29141,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx0010x1xxxxxxxxxx cpymrt. */ - return 3257; + return 3314; } else { @@ -28665,7 +29149,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx0010x1xxxxxxxxxx setgpn. */ - return 3298; + return 3355; } } else @@ -28676,7 +29160,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx1010x1xxxxxxxxxx cpymrtrn. */ - return 3263; + return 3320; } else { @@ -28684,7 +29168,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx1010x1xxxxxxxxxx setgen. */ - return 3300; + return 3357; } } } @@ -28698,7 +29182,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx0110x1xxxxxxxxxx cpymrtwn. */ - return 3260; + return 3317; } else { @@ -28706,7 +29190,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx0110x1xxxxxxxxxx setgmn. */ - return 3299; + return 3356; } } else @@ -28715,7 +29199,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011101x1xxxxxx1110x1xxxxxxxxxx cpymrtn. */ - return 3266; + return 3323; } } } @@ -28734,7 +29218,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx0001x1xxxxxxxxxx cpymwt. */ - return 3245; + return 3302; } else { @@ -28742,7 +29226,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx0001x1xxxxxxxxxx setgpt. */ - return 3295; + return 3352; } } else @@ -28753,7 +29237,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx1001x1xxxxxxxxxx cpymwtrn. */ - return 3251; + return 3308; } else { @@ -28761,7 +29245,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx1001x1xxxxxxxxxx setget. */ - return 3297; + return 3354; } } } @@ -28775,7 +29259,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx0101x1xxxxxxxxxx cpymwtwn. */ - return 3248; + return 3305; } else { @@ -28783,7 +29267,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx0101x1xxxxxxxxxx setgmt. */ - return 3296; + return 3353; } } else @@ -28792,7 +29276,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011101x1xxxxxx1101x1xxxxxxxxxx cpymwtn. */ - return 3254; + return 3311; } } } @@ -28808,7 +29292,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx0011x1xxxxxxxxxx cpymt. */ - return 3269; + return 3326; } else { @@ -28816,7 +29300,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx0011x1xxxxxxxxxx setgptn. */ - return 3301; + return 3358; } } else @@ -28827,7 +29311,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx1011x1xxxxxxxxxx cpymtrn. */ - return 3275; + return 3332; } else { @@ -28835,7 +29319,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx1011x1xxxxxxxxxx setgetn. */ - return 3303; + return 3360; } } } @@ -28849,7 +29333,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110101xxxxxx0111x1xxxxxxxxxx cpymtwn. */ - return 3272; + return 3329; } else { @@ -28857,7 +29341,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx01110111xxxxxx0111x1xxxxxxxxxx setgmtn. */ - return 3302; + return 3359; } } else @@ -28866,7 +29350,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx011101x1xxxxxx1111x1xxxxxxxxxx cpymtn. */ - return 3278; + return 3335; } } } @@ -28927,7 +29411,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110100xxxxxxxx100xxxxxxxxxx luti2. */ - return 3579; + return 3636; } } } @@ -28941,7 +29425,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110010xxxxxxxx000xxxxxxxxxx luti4. */ - return 3581; + return 3638; } else { @@ -28949,7 +29433,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110010xxxxxxxx100xxxxxxxxxx luti4. */ - return 3582; + return 3639; } } else @@ -28958,7 +29442,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110110xxxxxxxxx00xxxxxxxxxx luti2. */ - return 3580; + return 3637; } } } @@ -29074,7 +29558,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00001110x00xxxxxx10001xxxxxxxxxx fmlallbb. */ - return 3603; + return 3660; } else { @@ -29082,7 +29566,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01001110x00xxxxxx10001xxxxxxxxxx fmlalltb. */ - return 3605; + return 3662; } } else @@ -29093,7 +29577,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00001110x10xxxxxx10001xxxxxxxxxx fmlallbt. */ - return 3604; + return 3661; } else { @@ -29101,7 +29585,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01001110x10xxxxxx10001xxxxxxxxxx fmlalltt. */ - return 3606; + return 3663; } } } @@ -29122,7 +29606,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110xx0xxxxx1x1001xxxxxxxxxx smmla. */ - return 3154; + return 3211; } } } @@ -29155,7 +29639,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110xx0xxxxx1x0101xxxxxxxxxx sdot. */ - return 3020; + return 3077; } } else @@ -29189,7 +29673,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00001110x00xxxxxx11101xxxxxxxxxx fcvtn. */ - return 3536; + return 3593; } else { @@ -29197,7 +29681,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01001110x00xxxxxx11101xxxxxxxxxx fcvtn2. */ - return 3537; + return 3594; } } else @@ -29206,7 +29690,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110x10xxxxxx11101xxxxxxxxxx fcvtn. */ - return 3538; + return 3595; } } } @@ -29262,7 +29746,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110xx0xxxxx1x1011xxxxxxxxxx usmmla. */ - return 3156; + return 3213; } } } @@ -29296,7 +29780,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110110xxxxx0x0111xxxxxxxxxx famax. */ - return 1258; + return 1304; } } } @@ -29306,7 +29790,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110xx0xxxxx1x0111xxxxxxxxxx usdot. */ - return 3157; + return 3214; } } else @@ -29349,7 +29833,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110x00xxxxxx11111xxxxxxxxxx fdot. */ - return 3595; + return 3652; } else { @@ -29359,7 +29843,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 0x001110010xxxxxx11111xxxxxxxxxx fdot. */ - return 3597; + return 3654; } else { @@ -29369,7 +29853,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 00001110110xxxxxx11111xxxxxxxxxx fmlalb. */ - return 3599; + return 3656; } else { @@ -29377,7 +29861,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 01001110110xxxxxx11111xxxxxxxxxx fmlalt. */ - return 3600; + return 3657; } } } @@ -29397,7 +29881,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110000xxxxxxxxxxxxxxxxxxxxx eor3. */ - return 3027; + return 3084; } else { @@ -29405,7 +29889,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110100xxxxxxxxxxxxxxxxxxxxx xar. */ - return 3029; + return 3086; } } else @@ -29416,7 +29900,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110x10xxxxx0xxxxxxxxxxxxxxx sm3ss1. */ - return 3031; + return 3088; } else { @@ -29430,7 +29914,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110010xxxxx1xxx00xxxxxxxxxx sm3tt1a. */ - return 3032; + return 3089; } else { @@ -29438,7 +29922,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110110xxxxx1xxx00xxxxxxxxxx sha512su0. */ - return 3025; + return 3082; } } else @@ -29447,7 +29931,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110x10xxxxx1xxx10xxxxxxxxxx sm3tt2a. */ - return 3034; + return 3091; } } else @@ -29460,7 +29944,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110010xxxxx1xxx01xxxxxxxxxx sm3tt1b. */ - return 3033; + return 3090; } else { @@ -29468,7 +29952,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110110xxxxx1xxx01xxxxxxxxxx sm4e. */ - return 3038; + return 3095; } } else @@ -29477,7 +29961,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110x10xxxxx1xxx11xxxxxxxxxx sm3tt2b. */ - return 3035; + return 3092; } } } @@ -29632,7 +30116,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx101110110xxxxx0x0111xxxxxxxxxx famin. */ - return 1260; + return 1306; } } else @@ -29651,7 +30135,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx101110110xxxxx0x1111xxxxxxxxxx fscale. */ - return 3539; + return 3596; } } } @@ -29680,7 +30164,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx101110xx0xxxxx100101xxxxxxxxxx udot. */ - return 3019; + return 3076; } } else @@ -29711,7 +30195,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx101110xx0xxxxx101x01xxxxxxxxxx ummla. */ - return 3155; + return 3212; } else { @@ -29734,7 +30218,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx101110000xxxxx1x1011xxxxxxxxxx fmmla. */ - return 3182; + return 3239; } else { @@ -29742,7 +30226,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx101110100xxxxx1x1011xxxxxxxxxx fmmla. */ - return 3180; + return 3237; } } else @@ -29751,7 +30235,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx101110x10xxxxx1x1011xxxxxxxxxx bfmmla. */ - return 3171; + return 3228; } } else @@ -29762,7 +30246,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx1011100x0xxxxx1x1111xxxxxxxxxx bfdot. */ - return 3169; + return 3226; } else { @@ -29772,7 +30256,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01011101x0xxxxx1x1111xxxxxxxxxx bfmlalb. */ - return 3176; + return 3233; } else { @@ -29780,7 +30264,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11011101x0xxxxx1x1111xxxxxxxxxx bfmlalt. */ - return 3175; + return 3232; } } } @@ -30364,7 +30848,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 000011101x1xxxx1011010xxxxxxxxxx bfcvtn. */ - return 3172; + return 3229; } else { @@ -30372,7 +30856,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 010011101x1xxxx1011010xxxxxxxxxx bfcvtn2. */ - return 3173; + return 3230; } } } @@ -30690,7 +31174,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110xx1xxxxx0xxxxxxxxxxxxxxx bcax. */ - return 3030; + return 3087; } } else @@ -31065,7 +31549,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0101110001xxxx1011110xxxxxxxxxx f1cvtl. */ - return 3532; + return 3589; } else { @@ -31073,7 +31557,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1101110001xxxx1011110xxxxxxxxxx f1cvtl2. */ - return 3533; + return 3590; } } else @@ -31084,7 +31568,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0101110101xxxx1011110xxxxxxxxxx bf1cvtl. */ - return 3528; + return 3585; } else { @@ -31092,7 +31576,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1101110101xxxx1011110xxxxxxxxxx bf1cvtl2. */ - return 3529; + return 3586; } } } @@ -31106,7 +31590,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0101110011xxxx1011110xxxxxxxxxx f2cvtl. */ - return 3534; + return 3591; } else { @@ -31114,7 +31598,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1101110011xxxx1011110xxxxxxxxxx f2cvtl2. */ - return 3535; + return 3592; } } else @@ -31125,7 +31609,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0101110111xxxx1011110xxxxxxxxxx bf2cvtl. */ - return 3530; + return 3587; } else { @@ -31133,7 +31617,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1101110111xxxx1011110xxxxxxxxxx bf2cvtl2. */ - return 3531; + return 3588; } } } @@ -31389,7 +31873,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11001110xx1xxxxx100000xxxxxxxxxx sha512h. */ - return 3023; + return 3080; } } } @@ -31441,7 +31925,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 11001110xx1xxxxx110000xxxxxxxxxx sm3partw1. */ - return 3036; + return 3093; } } } @@ -31684,7 +32168,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110xx1xxxxx100010xxxxxxxxxx sha512su1. */ - return 3026; + return 3083; } } else @@ -31760,7 +32244,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x0011100x1xxxxx110010xxxxxxxxxx sm4ekey. */ - return 3039; + return 3096; } } else @@ -32586,7 +33070,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110xx1xxxxx100001xxxxxxxxxx sha512h2. */ - return 3024; + return 3081; } } else @@ -32618,7 +33102,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x0011100x1xxxxx110001xxxxxxxxxx sm3partw2. */ - return 3037; + return 3094; } } else @@ -32858,7 +33342,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 1x001110xx1xxxxx100011xxxxxxxxxx rax1. */ - return 3028; + return 3085; } } else @@ -32890,7 +33374,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01011100x1xxxxx110011xxxxxxxxxx fmlal2. */ - return 3042; + return 3099; } else { @@ -32898,7 +33382,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11011100x1xxxxx110011xxxxxxxxxx fmlal2. */ - return 3046; + return 3103; } } } @@ -32920,7 +33404,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x01011101x1xxxxx110011xxxxxxxxxx fmlsl2. */ - return 3043; + return 3100; } else { @@ -32928,7 +33412,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x11011101x1xxxxx110011xxxxxxxxxx fmlsl2. */ - return 3047; + return 3104; } } } @@ -32967,7 +33451,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x00011100x1xxxxx111011xxxxxxxxxx fmlal. */ - return 3040; + return 3097; } else { @@ -32975,7 +33459,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10011100x1xxxxx111011xxxxxxxxxx fmlal. */ - return 3044; + return 3101; } } else @@ -32997,7 +33481,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x00011101x1xxxxx111011xxxxxxxxxx fmlsl. */ - return 3041; + return 3098; } else { @@ -33005,7 +33489,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x10011101x1xxxxx111011xxxxxxxxxx fmlsl. */ - return 3045; + return 3102; } } else @@ -33072,7 +33556,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx0011101x1xxxxx110111xxxxxxxxxx famax. */ - return 1259; + return 1305; } else { @@ -33080,7 +33564,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx1011101x1xxxxx110111xxxxxxxxxx famin. */ - return 1261; + return 1307; } } } @@ -33132,7 +33616,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx1011101x1xxxxx111111xxxxxxxxxx fscale. */ - return 3540; + return 3597; } } } @@ -34980,7 +35464,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx00111100xxxxxx0000x0xxxxxxxxxx fdot. */ - return 3596; + return 3653; } else { @@ -34990,7 +35474,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x000111110xxxxxx0000x0xxxxxxxxxx fmlal. */ - return 3048; + return 3105; } else { @@ -34998,7 +35482,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x100111110xxxxxx0000x0xxxxxxxxxx fmlal. */ - return 3052; + return 3109; } } } @@ -35010,7 +35494,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx00111101xxxxxx0000x0xxxxxxxxxx fdot. */ - return 3598; + return 3655; } else { @@ -35020,7 +35504,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x000111111xxxxxx0000x0xxxxxxxxxx fmlalb. */ - return 3601; + return 3658; } else { @@ -35028,7 +35512,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x100111111xxxxxx0000x0xxxxxxxxxx fmlalt. */ - return 3602; + return 3659; } } } @@ -35052,7 +35536,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0001111xxxxxxxx0100x0xxxxxxxxxx fmlsl. */ - return 3049; + return 3106; } else { @@ -35060,7 +35544,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1001111xxxxxxxx0100x0xxxxxxxxxx fmlsl. */ - return 3053; + return 3110; } } else @@ -35570,7 +36054,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x010111100xxxxxx1000x0xxxxxxxxxx fmlallbb. */ - return 3607; + return 3664; } else { @@ -35578,7 +36062,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x110111100xxxxxx1000x0xxxxxxxxxx fmlalltb. */ - return 3609; + return 3666; } } else @@ -35589,7 +36073,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x010111110xxxxxx1000x0xxxxxxxxxx fmlal2. */ - return 3050; + return 3107; } else { @@ -35597,7 +36081,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x110111110xxxxxx1000x0xxxxxxxxxx fmlal2. */ - return 3054; + return 3111; } } } @@ -35609,7 +36093,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0101111x1xxxxxx1000x0xxxxxxxxxx fmlallbt. */ - return 3608; + return 3665; } else { @@ -35617,7 +36101,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1101111x1xxxxxx1000x0xxxxxxxxxx fmlalltt. */ - return 3610; + return 3667; } } } @@ -35640,7 +36124,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x0101111xxxxxxxx1100x0xxxxxxxxxx fmlsl2. */ - return 3051; + return 3108; } else { @@ -35648,7 +36132,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x1101111xxxxxxxx1100x0xxxxxxxxxx fmlsl2. */ - return 3055; + return 3112; } } } @@ -35704,7 +36188,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx001111xxxxxxxx1110x0xxxxxxxxxx sdot. */ - return 3022; + return 3079; } else { @@ -35712,7 +36196,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx101111xxxxxxxx1110x0xxxxxxxxxx udot. */ - return 3021; + return 3078; } } } @@ -35815,7 +36299,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx00111100xxxxxx1111x0xxxxxxxxxx sudot. */ - return 3159; + return 3216; } else { @@ -35823,7 +36307,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx00111110xxxxxx1111x0xxxxxxxxxx usdot. */ - return 3158; + return 3215; } } else @@ -35834,7 +36318,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 xx00111101xxxxxx1111x0xxxxxxxxxx bfdot. */ - return 3170; + return 3227; } else { @@ -35844,7 +36328,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x000111111xxxxxx1111x0xxxxxxxxxx bfmlalb. */ - return 3178; + return 3235; } else { @@ -35852,7 +36336,7 @@ aarch64_opcode_lookup_1 (uint32_t word) 10987654321098765432109876543210 x100111111xxxxxx1111x0xxxxxxxxxx bfmlalt. */ - return 3177; + return 3234; } } } @@ -36339,64 +36823,64 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode) int value; switch (key) { - case 2558: value = 3414; break; /* fclamp --> bfclamp. */ - case 3414: return NULL; /* bfclamp --> NULL. */ - case 2559: value = 3415; break; /* fclamp --> bfclamp. */ - case 3415: return NULL; /* bfclamp --> NULL. */ - case 2572: value = 3398; break; /* fmax --> bfmax. */ - case 3398: return NULL; /* bfmax --> NULL. */ - case 3011: value = 3565; break; /* bfscale --> fscale. */ - case 3565: return NULL; /* fscale --> NULL. */ - case 2576: value = 3402; break; /* fmaxnm --> bfmaxnm. */ - case 3402: return NULL; /* bfmaxnm --> NULL. */ - case 2580: value = 3406; break; /* fmin --> bfmin. */ - case 3406: return NULL; /* bfmin --> NULL. */ - case 2584: value = 3410; break; /* fminnm --> bfminnm. */ - case 3410: return NULL; /* bfminnm --> NULL. */ - case 2574: value = 3400; break; /* fmax --> bfmax. */ - case 3400: return NULL; /* bfmax --> NULL. */ - case 3013: value = 3567; break; /* bfscale --> fscale. */ - case 3567: return NULL; /* fscale --> NULL. */ - case 2578: value = 3404; break; /* fmaxnm --> bfmaxnm. */ - case 3404: return NULL; /* bfmaxnm --> NULL. */ - case 2582: value = 3408; break; /* fmin --> bfmin. */ - case 3408: return NULL; /* bfmin --> NULL. */ - case 2586: value = 3412; break; /* fminnm --> bfminnm. */ - case 3412: return NULL; /* bfminnm --> NULL. */ - case 2573: value = 3399; break; /* fmax --> bfmax. */ - case 3399: return NULL; /* bfmax --> NULL. */ - case 3012: value = 3566; break; /* bfscale --> fscale. */ - case 3566: return NULL; /* fscale --> NULL. */ - case 3015: value = 3748; break; /* bfmul --> fmul. */ - case 3748: return NULL; /* fmul --> NULL. */ - case 3016: value = 3749; break; /* bfmul --> fmul. */ - case 3749: return NULL; /* fmul --> NULL. */ - case 2575: value = 3401; break; /* fmax --> bfmax. */ - case 3401: return NULL; /* bfmax --> NULL. */ - case 3014: value = 3568; break; /* bfscale --> fscale. */ - case 3568: return NULL; /* fscale --> NULL. */ - case 2577: value = 3403; break; /* fmaxnm --> bfmaxnm. */ - case 3403: return NULL; /* bfmaxnm --> NULL. */ - case 2579: value = 3405; break; /* fmaxnm --> bfmaxnm. */ - case 3405: return NULL; /* bfmaxnm --> NULL. */ - case 2581: value = 3407; break; /* fmin --> bfmin. */ - case 3407: return NULL; /* bfmin --> NULL. */ - case 2583: value = 3409; break; /* fmin --> bfmin. */ - case 3409: return NULL; /* bfmin --> NULL. */ - case 2585: value = 3411; break; /* fminnm --> bfminnm. */ - case 3411: return NULL; /* bfminnm --> NULL. */ - case 2587: value = 3413; break; /* fminnm --> bfminnm. */ - case 3413: return NULL; /* bfminnm --> NULL. */ - case 3017: value = 3750; break; /* bfmul --> fmul. */ - case 3750: return NULL; /* fmul --> NULL. */ - case 3018: value = 3751; break; /* bfmul --> fmul. */ - case 3751: return NULL; /* fmul --> NULL. */ + case 2615: value = 3471; break; /* fclamp --> bfclamp. */ + case 3471: return NULL; /* bfclamp --> NULL. */ + case 2616: value = 3472; break; /* fclamp --> bfclamp. */ + case 3472: return NULL; /* bfclamp --> NULL. */ + case 2629: value = 3455; break; /* fmax --> bfmax. */ + case 3455: return NULL; /* bfmax --> NULL. */ + case 3068: value = 3622; break; /* bfscale --> fscale. */ + case 3622: return NULL; /* fscale --> NULL. */ + case 2633: value = 3459; break; /* fmaxnm --> bfmaxnm. */ + case 3459: return NULL; /* bfmaxnm --> NULL. */ + case 2637: value = 3463; break; /* fmin --> bfmin. */ + case 3463: return NULL; /* bfmin --> NULL. */ + case 2641: value = 3467; break; /* fminnm --> bfminnm. */ + case 3467: return NULL; /* bfminnm --> NULL. */ + case 2631: value = 3457; break; /* fmax --> bfmax. */ + case 3457: return NULL; /* bfmax --> NULL. */ + case 3070: value = 3624; break; /* bfscale --> fscale. */ + case 3624: return NULL; /* fscale --> NULL. */ + case 2635: value = 3461; break; /* fmaxnm --> bfmaxnm. */ + case 3461: return NULL; /* bfmaxnm --> NULL. */ + case 2639: value = 3465; break; /* fmin --> bfmin. */ + case 3465: return NULL; /* bfmin --> NULL. */ + case 2643: value = 3469; break; /* fminnm --> bfminnm. */ + case 3469: return NULL; /* bfminnm --> NULL. */ + case 2630: value = 3456; break; /* fmax --> bfmax. */ + case 3456: return NULL; /* bfmax --> NULL. */ + case 3069: value = 3623; break; /* bfscale --> fscale. */ + case 3623: return NULL; /* fscale --> NULL. */ + case 3072: value = 3805; break; /* bfmul --> fmul. */ + case 3805: return NULL; /* fmul --> NULL. */ + case 3073: value = 3806; break; /* bfmul --> fmul. */ + case 3806: return NULL; /* fmul --> NULL. */ + case 2632: value = 3458; break; /* fmax --> bfmax. */ + case 3458: return NULL; /* bfmax --> NULL. */ + case 3071: value = 3625; break; /* bfscale --> fscale. */ + case 3625: return NULL; /* fscale --> NULL. */ + case 2634: value = 3460; break; /* fmaxnm --> bfmaxnm. */ + case 3460: return NULL; /* bfmaxnm --> NULL. */ + case 2636: value = 3462; break; /* fmaxnm --> bfmaxnm. */ + case 3462: return NULL; /* bfmaxnm --> NULL. */ + case 2638: value = 3464; break; /* fmin --> bfmin. */ + case 3464: return NULL; /* bfmin --> NULL. */ + case 2640: value = 3466; break; /* fmin --> bfmin. */ + case 3466: return NULL; /* bfmin --> NULL. */ + case 2642: value = 3468; break; /* fminnm --> bfminnm. */ + case 3468: return NULL; /* bfminnm --> NULL. */ + case 2644: value = 3470; break; /* fminnm --> bfminnm. */ + case 3470: return NULL; /* bfminnm --> NULL. */ + case 3074: value = 3807; break; /* bfmul --> fmul. */ + case 3807: return NULL; /* fmul --> NULL. */ + case 3075: value = 3808; break; /* bfmul --> fmul. */ + case 3808: return NULL; /* fmul --> NULL. */ case 12: value = 19; break; /* add --> addg. */ - case 19: value = 3305; break; /* addg --> smax. */ - case 3305: value = 3306; break; /* smax --> umax. */ - case 3306: value = 3307; break; /* umax --> smin. */ - case 3307: value = 3308; break; /* smin --> umin. */ - case 3308: return NULL; /* umin --> NULL. */ + case 19: value = 3362; break; /* addg --> smax. */ + case 3362: value = 3363; break; /* smax --> umax. */ + case 3363: value = 3364; break; /* umax --> smin. */ + case 3364: value = 3365; break; /* smin --> umin. */ + case 3365: return NULL; /* umin --> NULL. */ case 16: value = 20; break; /* sub --> subg. */ case 20: return NULL; /* subg --> NULL. */ case 1023: value = 1027; break; /* stnp --> stp. */ @@ -36405,81 +36889,89 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode) case 1022: return NULL; /* stllrh --> NULL. */ case 1024: value = 1028; break; /* ldnp --> ldp. */ case 1028: return NULL; /* ldp --> NULL. */ - case 964: value = 2494; break; /* prfm --> rprfm. */ - case 2494: return NULL; /* rprfm --> NULL. */ - case 2501: value = 3391; break; /* fclamp --> bfclamp. */ - case 3391: return NULL; /* bfclamp --> NULL. */ - case 1497: value = 3394; break; /* fadd --> bfadd. */ - case 3394: return NULL; /* bfadd --> NULL. */ - case 1564: value = 3395; break; /* fmul --> bfmul. */ - case 3395: return NULL; /* bfmul --> NULL. */ - case 1590: value = 3396; break; /* fsub --> bfsub. */ - case 3396: return NULL; /* bfsub --> NULL. */ - case 1555: value = 3387; break; /* fmla --> bfmla. */ - case 3387: return NULL; /* bfmla --> NULL. */ - case 1559: value = 3388; break; /* fmls --> bfmls. */ - case 3388: return NULL; /* bfmls --> NULL. */ - case 1498: value = 3382; break; /* fadd --> bfadd. */ - case 3382: return NULL; /* bfadd --> NULL. */ - case 1545: value = 3384; break; /* fmaxnm --> bfmaxnm. */ - case 3384: return NULL; /* bfmaxnm --> NULL. */ - case 1565: value = 3389; break; /* fmul --> bfmul. */ - case 3389: return NULL; /* bfmul --> NULL. */ - case 1543: value = 3383; break; /* fmax --> bfmax. */ - case 3383: return NULL; /* bfmax --> NULL. */ - case 1591: value = 3390; break; /* fsub --> bfsub. */ - case 3390: return NULL; /* bfsub --> NULL. */ - case 1551: value = 3386; break; /* fminnm --> bfminnm. */ - case 3386: return NULL; /* bfminnm --> NULL. */ - case 1549: value = 3385; break; /* fmin --> bfmin. */ - case 3385: return NULL; /* bfmin --> NULL. */ - case 1588: value = 3010; break; /* fscale --> bfscale. */ - case 3010: return NULL; /* bfscale --> NULL. */ + case 964: value = 2551; break; /* prfm --> rprfm. */ + case 2551: return NULL; /* rprfm --> NULL. */ + case 2558: value = 3448; break; /* fclamp --> bfclamp. */ + case 3448: return NULL; /* bfclamp --> NULL. */ + case 1544: value = 3451; break; /* fadd --> bfadd. */ + case 3451: return NULL; /* bfadd --> NULL. */ + case 1611: value = 3452; break; /* fmul --> bfmul. */ + case 3452: return NULL; /* bfmul --> NULL. */ + case 1637: value = 3453; break; /* fsub --> bfsub. */ + case 3453: return NULL; /* bfsub --> NULL. */ + case 1602: value = 3444; break; /* fmla --> bfmla. */ + case 3444: return NULL; /* bfmla --> NULL. */ + case 1606: value = 3445; break; /* fmls --> bfmls. */ + case 3445: return NULL; /* bfmls --> NULL. */ + case 1545: value = 3439; break; /* fadd --> bfadd. */ + case 3439: return NULL; /* bfadd --> NULL. */ + case 1592: value = 3441; break; /* fmaxnm --> bfmaxnm. */ + case 3441: return NULL; /* bfmaxnm --> NULL. */ + case 1612: value = 3446; break; /* fmul --> bfmul. */ + case 3446: return NULL; /* bfmul --> NULL. */ + case 1590: value = 3440; break; /* fmax --> bfmax. */ + case 3440: return NULL; /* bfmax --> NULL. */ + case 1638: value = 3447; break; /* fsub --> bfsub. */ + case 3447: return NULL; /* bfsub --> NULL. */ + case 1598: value = 3443; break; /* fminnm --> bfminnm. */ + case 3443: return NULL; /* bfminnm --> NULL. */ + case 1596: value = 3442; break; /* fmin --> bfmin. */ + case 3442: return NULL; /* bfmin --> NULL. */ + case 1635: value = 3067; break; /* fscale --> bfscale. */ + case 3067: return NULL; /* bfscale --> NULL. */ case 863: value = 864; break; /* xaflag --> axflag. */ - case 864: value = 1276; break; /* axflag --> tcommit. */ - case 1276: value = 1279; break; /* tcommit --> smstart. */ - case 1279: value = 1280; break; /* smstart --> smstop. */ - case 1280: value = 1281; break; /* smstop --> smstart. */ - case 1281: value = 1282; break; /* smstart --> smstop. */ - case 1282: value = 1283; break; /* smstop --> chkfeat. */ - case 1283: value = 1284; break; /* chkfeat --> msr. */ - case 1284: value = 1285; break; /* msr --> hint. */ - case 1285: value = 1304; break; /* hint --> clrex. */ - case 1304: value = 1305; break; /* clrex --> dsb. */ - case 1305: value = 1306; break; /* dsb --> dsb. */ - case 1306: value = 1310; break; /* dsb --> dmb. */ - case 1310: value = 1311; break; /* dmb --> isb. */ - case 1311: value = 1312; break; /* isb --> sb. */ - case 1312: value = 1313; break; /* sb --> gcspushx. */ - case 1313: value = 1314; break; /* gcspushx --> gcspopx. */ - case 1314: value = 1315; break; /* gcspopx --> gcspopcx. */ - case 1315: value = 1316; break; /* gcspopcx --> gcsss1. */ - case 1316: value = 1317; break; /* gcsss1 --> gcspushm. */ - case 1317: value = 1324; break; /* gcspushm --> sys. */ - case 1324: value = 1331; break; /* sys --> wfet. */ - case 1331: value = 1332; break; /* wfet --> wfit. */ - case 1332: value = 1338; break; /* wfit --> cfinv. */ - case 1338: value = 1339; break; /* cfinv --> msr. */ - case 1339: return NULL; /* msr --> NULL. */ - case 1275: value = 1277; break; /* tstart --> ttest. */ - case 1277: value = 1318; break; /* ttest --> gcsss2. */ - case 1318: value = 1319; break; /* gcsss2 --> gcspopm. */ - case 1319: value = 1320; break; /* gcspopm --> gcspopm. */ - case 1320: value = 1340; break; /* gcspopm --> sysl. */ - case 1340: value = 1341; break; /* sysl --> mrs. */ - case 1341: return NULL; /* mrs --> NULL. */ + case 864: value = 1322; break; /* axflag --> tcommit. */ + case 1322: value = 1325; break; /* tcommit --> smstart. */ + case 1325: value = 1326; break; /* smstart --> smstop. */ + case 1326: value = 1327; break; /* smstop --> smstart. */ + case 1327: value = 1328; break; /* smstart --> smstop. */ + case 1328: value = 1329; break; /* smstop --> chkfeat. */ + case 1329: value = 1331; break; /* chkfeat --> msr. */ + case 1331: value = 1332; break; /* msr --> hint. */ + case 1332: value = 1351; break; /* hint --> clrex. */ + case 1351: value = 1352; break; /* clrex --> dsb. */ + case 1352: value = 1353; break; /* dsb --> dsb. */ + case 1353: value = 1357; break; /* dsb --> dmb. */ + case 1357: value = 1358; break; /* dmb --> isb. */ + case 1358: value = 1359; break; /* isb --> sb. */ + case 1359: value = 1360; break; /* sb --> gcspushx. */ + case 1360: value = 1361; break; /* gcspushx --> gcspopx. */ + case 1361: value = 1362; break; /* gcspopx --> gcspopcx. */ + case 1362: value = 1363; break; /* gcspopcx --> gcsss1. */ + case 1363: value = 1364; break; /* gcsss1 --> gcspushm. */ + case 1364: value = 1371; break; /* gcspushm --> sys. */ + case 1371: value = 1378; break; /* sys --> wfet. */ + case 1378: value = 1379; break; /* wfet --> wfit. */ + case 1379: value = 1385; break; /* wfit --> cfinv. */ + case 1385: value = 1386; break; /* cfinv --> msr. */ + case 1386: return NULL; /* msr --> NULL. */ + case 1321: value = 1323; break; /* tstart --> ttest. */ + case 1323: value = 1365; break; /* ttest --> gcsss2. */ + case 1365: value = 1366; break; /* gcsss2 --> gcspopm. */ + case 1366: value = 1367; break; /* gcspopm --> gcspopm. */ + case 1367: value = 1387; break; /* gcspopm --> sysl. */ + case 1387: value = 1388; break; /* sysl --> mrs. */ + case 1388: return NULL; /* mrs --> NULL. */ case 440: value = 441; break; /* st4 --> st1. */ case 441: value = 442; break; /* st1 --> st2. */ case 442: value = 443; break; /* st2 --> st3. */ case 443: return NULL; /* st3 --> NULL. */ + case 1025: value = 1287; break; /* stnp --> sttnp. */ + case 1287: return NULL; /* sttnp --> NULL. */ + case 1029: value = 1291; break; /* stp --> sttp. */ + case 1291: return NULL; /* sttp --> NULL. */ case 448: value = 449; break; /* st4 --> st1. */ case 449: value = 450; break; /* st1 --> st2. */ case 450: value = 451; break; /* st2 --> st3. */ case 451: return NULL; /* st3 --> NULL. */ + case 1035: value = 1295; break; /* stp --> sttp. */ + case 1295: return NULL; /* sttp --> NULL. */ case 444: value = 445; break; /* ld4 --> ld1. */ case 445: value = 446; break; /* ld1 --> ld2. */ case 446: value = 447; break; /* ld2 --> ld3. */ case 447: return NULL; /* ld3 --> NULL. */ + case 1026: value = 1285; break; /* ldnp --> ldtnp. */ + case 1285: return NULL; /* ldtnp --> NULL. */ case 460: value = 462; break; /* ld1 --> ld1r. */ case 462: return NULL; /* ld1r --> NULL. */ case 464: value = 466; break; /* ld2 --> ld2r. */ @@ -36488,6 +36980,8 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode) case 463: return NULL; /* ld3r --> NULL. */ case 465: value = 467; break; /* ld4 --> ld4r. */ case 467: return NULL; /* ld4r --> NULL. */ + case 1030: value = 1289; break; /* ldp --> ldtp. */ + case 1289: return NULL; /* ldtp --> NULL. */ case 452: value = 453; break; /* ld4 --> ld1. */ case 453: value = 454; break; /* ld1 --> ld2. */ case 454: value = 455; break; /* ld2 --> ld3. */ @@ -36500,66 +36994,68 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode) case 478: return NULL; /* ld2r --> NULL. */ case 477: value = 479; break; /* ld4 --> ld4r. */ case 479: return NULL; /* ld4r --> NULL. */ - case 3072: value = 3092; break; /* ldfadd --> ldbfadd. */ - case 3092: return NULL; /* ldbfadd --> NULL. */ - case 3073: value = 3093; break; /* ldfadda --> ldbfadda. */ - case 3093: return NULL; /* ldbfadda --> NULL. */ - case 3075: value = 3095; break; /* ldfaddl --> ldbfaddl. */ - case 3095: return NULL; /* ldbfaddl --> NULL. */ - case 3074: value = 3094; break; /* ldfaddal --> ldbfaddal. */ - case 3094: return NULL; /* ldbfaddal --> NULL. */ - case 3112: value = 3122; break; /* stfadd --> stbfadd. */ - case 3122: return NULL; /* stbfadd --> NULL. */ - case 3113: value = 3123; break; /* stfaddl --> stbfaddl. */ - case 3123: return NULL; /* stbfaddl --> NULL. */ - case 3076: value = 3096; break; /* ldfmax --> ldbfmax. */ - case 3096: return NULL; /* ldbfmax --> NULL. */ - case 3077: value = 3097; break; /* ldfmaxa --> ldbfmaxa. */ - case 3097: return NULL; /* ldbfmaxa --> NULL. */ - case 3079: value = 3099; break; /* ldfmaxl --> ldbfmaxl. */ - case 3099: return NULL; /* ldbfmaxl --> NULL. */ - case 3078: value = 3098; break; /* ldfmaxal --> ldbfmaxal. */ - case 3098: return NULL; /* ldbfmaxal --> NULL. */ - case 3114: value = 3124; break; /* stfmax --> stbfmax. */ - case 3124: return NULL; /* stbfmax --> NULL. */ - case 3115: value = 3125; break; /* stfmaxl --> stbfmaxl. */ - case 3125: return NULL; /* stbfmaxl --> NULL. */ - case 3080: value = 3100; break; /* ldfmaxnm --> ldbfmaxnm. */ - case 3100: return NULL; /* ldbfmaxnm --> NULL. */ - case 3081: value = 3101; break; /* ldfmaxnma --> ldbfmaxnma. */ - case 3101: return NULL; /* ldbfmaxnma --> NULL. */ - case 3083: value = 3103; break; /* ldfmaxnml --> ldbfmaxnml. */ - case 3103: return NULL; /* ldbfmaxnml --> NULL. */ - case 3082: value = 3102; break; /* ldfmaxnmal --> ldbfmaxnmal. */ - case 3102: return NULL; /* ldbfmaxnmal --> NULL. */ - case 3116: value = 3126; break; /* stfmaxnm --> stbfmaxnm. */ - case 3126: return NULL; /* stbfmaxnm --> NULL. */ - case 3117: value = 3127; break; /* stfmaxnml --> stbfmaxnml. */ - case 3127: return NULL; /* stbfmaxnml --> NULL. */ - case 3084: value = 3104; break; /* ldfmin --> ldbfmin. */ - case 3104: return NULL; /* ldbfmin --> NULL. */ - case 3085: value = 3105; break; /* ldfmina --> ldbfmina. */ - case 3105: return NULL; /* ldbfmina --> NULL. */ - case 3087: value = 3107; break; /* ldfminl --> ldbfminl. */ - case 3107: return NULL; /* ldbfminl --> NULL. */ - case 3086: value = 3106; break; /* ldfminal --> ldbfminal. */ - case 3106: return NULL; /* ldbfminal --> NULL. */ - case 3118: value = 3128; break; /* stfmin --> stbfmin. */ - case 3128: return NULL; /* stbfmin --> NULL. */ - case 3119: value = 3129; break; /* stfminl --> stbfminl. */ - case 3129: return NULL; /* stbfminl --> NULL. */ - case 3088: value = 3108; break; /* ldfminnm --> ldbfminnm. */ - case 3108: return NULL; /* ldbfminnm --> NULL. */ - case 3089: value = 3109; break; /* ldfminnma --> ldbfminnma. */ - case 3109: return NULL; /* ldbfminnma --> NULL. */ - case 3091: value = 3111; break; /* ldfminnml --> ldbfminnml. */ - case 3111: return NULL; /* ldbfminnml --> NULL. */ - case 3090: value = 3110; break; /* ldfminnmal --> ldbfminnmal. */ - case 3110: return NULL; /* ldbfminnmal --> NULL. */ - case 3120: value = 3130; break; /* stfminnm --> stbfminnm. */ - case 3130: return NULL; /* stbfminnm --> NULL. */ - case 3121: value = 3131; break; /* stfminnml --> stbfminnml. */ - case 3131: return NULL; /* stbfminnml --> NULL. */ + case 1036: value = 1293; break; /* ldp --> ldtp. */ + case 1293: return NULL; /* ldtp --> NULL. */ + case 3129: value = 3149; break; /* ldfadd --> ldbfadd. */ + case 3149: return NULL; /* ldbfadd --> NULL. */ + case 3130: value = 3150; break; /* ldfadda --> ldbfadda. */ + case 3150: return NULL; /* ldbfadda --> NULL. */ + case 3132: value = 3152; break; /* ldfaddl --> ldbfaddl. */ + case 3152: return NULL; /* ldbfaddl --> NULL. */ + case 3131: value = 3151; break; /* ldfaddal --> ldbfaddal. */ + case 3151: return NULL; /* ldbfaddal --> NULL. */ + case 3169: value = 3179; break; /* stfadd --> stbfadd. */ + case 3179: return NULL; /* stbfadd --> NULL. */ + case 3170: value = 3180; break; /* stfaddl --> stbfaddl. */ + case 3180: return NULL; /* stbfaddl --> NULL. */ + case 3133: value = 3153; break; /* ldfmax --> ldbfmax. */ + case 3153: return NULL; /* ldbfmax --> NULL. */ + case 3134: value = 3154; break; /* ldfmaxa --> ldbfmaxa. */ + case 3154: return NULL; /* ldbfmaxa --> NULL. */ + case 3136: value = 3156; break; /* ldfmaxl --> ldbfmaxl. */ + case 3156: return NULL; /* ldbfmaxl --> NULL. */ + case 3135: value = 3155; break; /* ldfmaxal --> ldbfmaxal. */ + case 3155: return NULL; /* ldbfmaxal --> NULL. */ + case 3171: value = 3181; break; /* stfmax --> stbfmax. */ + case 3181: return NULL; /* stbfmax --> NULL. */ + case 3172: value = 3182; break; /* stfmaxl --> stbfmaxl. */ + case 3182: return NULL; /* stbfmaxl --> NULL. */ + case 3137: value = 3157; break; /* ldfmaxnm --> ldbfmaxnm. */ + case 3157: return NULL; /* ldbfmaxnm --> NULL. */ + case 3138: value = 3158; break; /* ldfmaxnma --> ldbfmaxnma. */ + case 3158: return NULL; /* ldbfmaxnma --> NULL. */ + case 3140: value = 3160; break; /* ldfmaxnml --> ldbfmaxnml. */ + case 3160: return NULL; /* ldbfmaxnml --> NULL. */ + case 3139: value = 3159; break; /* ldfmaxnmal --> ldbfmaxnmal. */ + case 3159: return NULL; /* ldbfmaxnmal --> NULL. */ + case 3173: value = 3183; break; /* stfmaxnm --> stbfmaxnm. */ + case 3183: return NULL; /* stbfmaxnm --> NULL. */ + case 3174: value = 3184; break; /* stfmaxnml --> stbfmaxnml. */ + case 3184: return NULL; /* stbfmaxnml --> NULL. */ + case 3141: value = 3161; break; /* ldfmin --> ldbfmin. */ + case 3161: return NULL; /* ldbfmin --> NULL. */ + case 3142: value = 3162; break; /* ldfmina --> ldbfmina. */ + case 3162: return NULL; /* ldbfmina --> NULL. */ + case 3144: value = 3164; break; /* ldfminl --> ldbfminl. */ + case 3164: return NULL; /* ldbfminl --> NULL. */ + case 3143: value = 3163; break; /* ldfminal --> ldbfminal. */ + case 3163: return NULL; /* ldbfminal --> NULL. */ + case 3175: value = 3185; break; /* stfmin --> stbfmin. */ + case 3185: return NULL; /* stbfmin --> NULL. */ + case 3176: value = 3186; break; /* stfminl --> stbfminl. */ + case 3186: return NULL; /* stbfminl --> NULL. */ + case 3145: value = 3165; break; /* ldfminnm --> ldbfminnm. */ + case 3165: return NULL; /* ldbfminnm --> NULL. */ + case 3146: value = 3166; break; /* ldfminnma --> ldbfminnma. */ + case 3166: return NULL; /* ldbfminnma --> NULL. */ + case 3148: value = 3168; break; /* ldfminnml --> ldbfminnml. */ + case 3168: return NULL; /* ldbfminnml --> NULL. */ + case 3147: value = 3167; break; /* ldfminnmal --> ldbfminnmal. */ + case 3167: return NULL; /* ldbfminnmal --> NULL. */ + case 3177: value = 3187; break; /* stfminnm --> stbfminnm. */ + case 3187: return NULL; /* stbfminnm --> NULL. */ + case 3178: value = 3188; break; /* stfminnml --> stbfminnml. */ + case 3188: return NULL; /* stbfminnml --> NULL. */ case 804: value = 805; break; /* fcvtzs --> fcvtzs. */ case 805: return NULL; /* fcvtzs --> NULL. */ case 800: value = 801; break; /* scvtf --> scvtf. */ @@ -36612,8 +37108,8 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode) case 876: return NULL; /* fsqrt --> NULL. */ case 884: value = 885; break; /* frintz --> frintz. */ case 885: return NULL; /* frintz --> NULL. */ - case 877: value = 3174; break; /* fcvt --> bfcvt. */ - case 3174: return NULL; /* bfcvt --> NULL. */ + case 877: value = 3231; break; /* fcvt --> bfcvt. */ + case 3231: return NULL; /* bfcvt --> NULL. */ case 886: value = 887; break; /* frinta --> frinta. */ case 887: return NULL; /* frinta --> NULL. */ case 888: value = 889; break; /* frintx --> frintx. */ @@ -36839,58 +37335,64 @@ aarch64_find_alias_opcode (const aarch64_opcode *opcode) case 1182: value = 1235; break; /* lduminlb --> stuminlb. */ case 1185: value = 1236; break; /* lduminlh --> stuminlh. */ case 1188: value = 1237; break; /* lduminl --> stuminl. */ - case 1268: value = 1269; break; /* movn --> mov. */ - case 1270: value = 1271; break; /* movz --> mov. */ - case 1285: value = 3316; break; /* hint --> clrbhb. */ - case 1305: value = 1309; break; /* dsb --> pssbb. */ - case 1306: value = 1306; break; /* dsb --> dsb. */ - case 1324: value = 3317; break; /* sys --> trcit. */ - case 1325: value = 1330; break; /* sysp --> tlbip. */ - case 1331: value = 1331; break; /* wfet --> wfet. */ - case 1332: value = 1332; break; /* wfit --> wfit. */ - case 1400: value = 2137; break; /* and --> bic. */ - case 1402: value = 1383; break; /* and --> mov. */ - case 1403: value = 1387; break; /* ands --> movs. */ - case 1438: value = 2138; break; /* cmpge --> cmple. */ - case 1441: value = 2141; break; /* cmpgt --> cmplt. */ - case 1443: value = 2139; break; /* cmphi --> cmplo. */ - case 1446: value = 2140; break; /* cmphs --> cmpls. */ - case 1468: value = 1380; break; /* cpy --> mov. */ - case 1469: value = 1382; break; /* cpy --> mov. */ - case 1470: value = 2148; break; /* cpy --> fmov. */ - case 1482: value = 1374; break; /* dup --> mov. */ - case 1483: value = 1377; break; /* dup --> mov. */ - case 1484: value = 2147; break; /* dup --> fmov. */ - case 1485: value = 1378; break; /* dupm --> mov. */ - case 1487: value = 2142; break; /* eor --> eon. */ - case 1489: value = 1388; break; /* eor --> not. */ - case 1490: value = 1389; break; /* eors --> nots. */ - case 1495: value = 2143; break; /* facge --> facle. */ - case 1496: value = 2144; break; /* facgt --> faclt. */ - case 1509: value = 2145; break; /* fcmge --> fcmle. */ - case 1511: value = 2146; break; /* fcmgt --> fcmlt. */ - case 1517: value = 1371; break; /* fcpy --> fmov. */ - case 1540: value = 1370; break; /* fdup --> fmov. */ - case 1825: value = 1826; break; /* ldr --> ldr. */ - case 1856: value = 1372; break; /* orr --> mov. */ - case 1857: value = 2149; break; /* orr --> orn. */ - case 1859: value = 1376; break; /* orr --> mov. */ - case 1860: value = 1386; break; /* orrs --> movs. */ - case 1862: value = 1863; break; /* pfalse --> pfalse. */ - case 1923: value = 1381; break; /* sel --> mov. */ - case 1924: value = 1384; break; /* sel --> mov. */ - case 2044: value = 2045; break; /* str --> str. */ - case 2474: value = 2472; break; /* mova --> mov. */ - case 2475: value = 2473; break; /* mova --> mov. */ - case 2492: value = 2493; break; /* psel --> psel. */ - case 2706: value = 2698; break; /* mova --> mov. */ - case 2707: value = 2699; break; /* mova --> mov. */ - case 2708: value = 2700; break; /* mova --> mov. */ - case 2709: value = 2701; break; /* mova --> mov. */ - case 2710: value = 2702; break; /* mova --> mov. */ - case 2711: value = 2703; break; /* mova --> mov. */ - case 2712: value = 2704; break; /* mova --> mov. */ - case 2713: value = 2705; break; /* mova --> mov. */ + case 1266: value = 1267; break; /* ldtadd --> sttadd. */ + case 1270: value = 1271; break; /* ldtaddl --> sttaddl. */ + case 1272: value = 1273; break; /* ldtclr --> sttclr. */ + case 1276: value = 1277; break; /* ldtclrl --> sttclrl. */ + case 1278: value = 1279; break; /* ldtset --> sttset. */ + case 1282: value = 1283; break; /* ldtsetl --> sttsetl. */ + case 1314: value = 1315; break; /* movn --> mov. */ + case 1316: value = 1317; break; /* movz --> mov. */ + case 1332: value = 3373; break; /* hint --> clrbhb. */ + case 1352: value = 1356; break; /* dsb --> pssbb. */ + case 1353: value = 1353; break; /* dsb --> dsb. */ + case 1371: value = 3374; break; /* sys --> trcit. */ + case 1372: value = 1377; break; /* sysp --> tlbip. */ + case 1378: value = 1378; break; /* wfet --> wfet. */ + case 1379: value = 1379; break; /* wfit --> wfit. */ + case 1447: value = 2184; break; /* and --> bic. */ + case 1449: value = 1430; break; /* and --> mov. */ + case 1450: value = 1434; break; /* ands --> movs. */ + case 1485: value = 2185; break; /* cmpge --> cmple. */ + case 1488: value = 2188; break; /* cmpgt --> cmplt. */ + case 1490: value = 2186; break; /* cmphi --> cmplo. */ + case 1493: value = 2187; break; /* cmphs --> cmpls. */ + case 1515: value = 1427; break; /* cpy --> mov. */ + case 1516: value = 1429; break; /* cpy --> mov. */ + case 1517: value = 2195; break; /* cpy --> fmov. */ + case 1529: value = 1421; break; /* dup --> mov. */ + case 1530: value = 1424; break; /* dup --> mov. */ + case 1531: value = 2194; break; /* dup --> fmov. */ + case 1532: value = 1425; break; /* dupm --> mov. */ + case 1534: value = 2189; break; /* eor --> eon. */ + case 1536: value = 1435; break; /* eor --> not. */ + case 1537: value = 1436; break; /* eors --> nots. */ + case 1542: value = 2190; break; /* facge --> facle. */ + case 1543: value = 2191; break; /* facgt --> faclt. */ + case 1556: value = 2192; break; /* fcmge --> fcmle. */ + case 1558: value = 2193; break; /* fcmgt --> fcmlt. */ + case 1564: value = 1418; break; /* fcpy --> fmov. */ + case 1587: value = 1417; break; /* fdup --> fmov. */ + case 1872: value = 1873; break; /* ldr --> ldr. */ + case 1903: value = 1419; break; /* orr --> mov. */ + case 1904: value = 2196; break; /* orr --> orn. */ + case 1906: value = 1423; break; /* orr --> mov. */ + case 1907: value = 1433; break; /* orrs --> movs. */ + case 1909: value = 1910; break; /* pfalse --> pfalse. */ + case 1970: value = 1428; break; /* sel --> mov. */ + case 1971: value = 1431; break; /* sel --> mov. */ + case 2091: value = 2092; break; /* str --> str. */ + case 2531: value = 2529; break; /* mova --> mov. */ + case 2532: value = 2530; break; /* mova --> mov. */ + case 2549: value = 2550; break; /* psel --> psel. */ + case 2763: value = 2755; break; /* mova --> mov. */ + case 2764: value = 2756; break; /* mova --> mov. */ + case 2765: value = 2757; break; /* mova --> mov. */ + case 2766: value = 2758; break; /* mova --> mov. */ + case 2767: value = 2759; break; /* mova --> mov. */ + case 2768: value = 2760; break; /* mova --> mov. */ + case 2769: value = 2761; break; /* mova --> mov. */ + case 2770: value = 2762; break; /* mova --> mov. */ default: return NULL; } @@ -37030,97 +37532,104 @@ aarch64_find_next_alias_opcode (const aarch64_opcode *opcode) case 1235: value = 1182; break; /* stuminlb --> lduminlb. */ case 1236: value = 1185; break; /* stuminlh --> lduminlh. */ case 1237: value = 1188; break; /* stuminl --> lduminl. */ - case 1269: value = 1268; break; /* mov --> movn. */ - case 1271: value = 1270; break; /* mov --> movz. */ - case 3316: value = 1351; break; /* clrbhb --> autibsp. */ - case 1351: value = 1350; break; /* autibsp --> autibz. */ - case 1350: value = 1349; break; /* autibz --> autiasp. */ - case 1349: value = 1348; break; /* autiasp --> autiaz. */ - case 1348: value = 1347; break; /* autiaz --> pacibsp. */ - case 1347: value = 1346; break; /* pacibsp --> pacibz. */ - case 1346: value = 1345; break; /* pacibz --> paciasp. */ - case 1345: value = 1344; break; /* paciasp --> paciaz. */ - case 1344: value = 1323; break; /* paciaz --> gcsb. */ - case 1323: value = 1303; break; /* gcsb --> clearbhb. */ - case 1303: value = 1302; break; /* clearbhb --> tsb. */ - case 1302: value = 1301; break; /* tsb --> psb. */ - case 1301: value = 1300; break; /* psb --> esb. */ - case 1300: value = 1299; break; /* esb --> autib1716. */ - case 1299: value = 1298; break; /* autib1716 --> autia1716. */ - case 1298: value = 1297; break; /* autia1716 --> pacib1716. */ - case 1297: value = 1296; break; /* pacib1716 --> pacia1716. */ - case 1296: value = 1295; break; /* pacia1716 --> xpaclri. */ - case 1295: value = 1294; break; /* xpaclri --> dgh. */ - case 1294: value = 1293; break; /* dgh --> sevl. */ - case 1293: value = 1292; break; /* sevl --> sev. */ - case 1292: value = 1291; break; /* sev --> wfi. */ - case 1291: value = 1290; break; /* wfi --> wfe. */ - case 1290: value = 1289; break; /* wfe --> yield. */ - case 1289: value = 1288; break; /* yield --> bti. */ - case 1288: value = 1287; break; /* bti --> csdb. */ - case 1287: value = 1286; break; /* csdb --> nop. */ - case 1286: value = 1285; break; /* nop --> hint. */ - case 1309: value = 1308; break; /* pssbb --> ssbb. */ - case 1308: value = 1307; break; /* ssbb --> dfb. */ - case 1307: value = 1305; break; /* dfb --> dsb. */ - case 3317: value = 1337; break; /* trcit --> brb. */ - case 1337: value = 1336; break; /* brb --> cosp. */ - case 1336: value = 1335; break; /* cosp --> cpp. */ - case 1335: value = 1334; break; /* cpp --> dvp. */ - case 1334: value = 1333; break; /* dvp --> cfp. */ - case 1333: value = 1329; break; /* cfp --> tlbi. */ - case 1329: value = 1328; break; /* tlbi --> ic. */ - case 1328: value = 1327; break; /* ic --> dc. */ - case 1327: value = 1326; break; /* dc --> at. */ - case 1326: value = 1324; break; /* at --> sys. */ - case 1330: value = 1325; break; /* tlbip --> sysp. */ - case 2137: value = 1400; break; /* bic --> and. */ - case 1383: value = 1402; break; /* mov --> and. */ - case 1387: value = 1403; break; /* movs --> ands. */ - case 2138: value = 1438; break; /* cmple --> cmpge. */ - case 2141: value = 1441; break; /* cmplt --> cmpgt. */ - case 2139: value = 1443; break; /* cmplo --> cmphi. */ - case 2140: value = 1446; break; /* cmpls --> cmphs. */ - case 1380: value = 1468; break; /* mov --> cpy. */ - case 1382: value = 1469; break; /* mov --> cpy. */ - case 2148: value = 1385; break; /* fmov --> mov. */ - case 1385: value = 1470; break; /* mov --> cpy. */ - case 1374: value = 1482; break; /* mov --> dup. */ - case 1377: value = 1373; break; /* mov --> mov. */ - case 1373: value = 1483; break; /* mov --> dup. */ - case 2147: value = 1379; break; /* fmov --> mov. */ - case 1379: value = 1484; break; /* mov --> dup. */ - case 1378: value = 1485; break; /* mov --> dupm. */ - case 2142: value = 1487; break; /* eon --> eor. */ - case 1388: value = 1489; break; /* not --> eor. */ - case 1389: value = 1490; break; /* nots --> eors. */ - case 2143: value = 1495; break; /* facle --> facge. */ - case 2144: value = 1496; break; /* faclt --> facgt. */ - case 2145: value = 1509; break; /* fcmle --> fcmge. */ - case 2146: value = 1511; break; /* fcmlt --> fcmgt. */ - case 1371: value = 1517; break; /* fmov --> fcpy. */ - case 1370: value = 1540; break; /* fmov --> fdup. */ - case 1826: value = 1825; break; /* ldr --> ldr. */ - case 1372: value = 1856; break; /* mov --> orr. */ - case 2149: value = 1857; break; /* orn --> orr. */ - case 1376: value = 1375; break; /* mov --> mov. */ - case 1375: value = 1859; break; /* mov --> orr. */ - case 1386: value = 1860; break; /* movs --> orrs. */ - case 1863: value = 1862; break; /* pfalse --> pfalse. */ - case 1381: value = 1923; break; /* mov --> sel. */ - case 1384: value = 1924; break; /* mov --> sel. */ - case 2045: value = 2044; break; /* str --> str. */ - case 2472: value = 2474; break; /* mov --> mova. */ - case 2473: value = 2475; break; /* mov --> mova. */ - case 2493: value = 2492; break; /* psel --> psel. */ - case 2698: value = 2706; break; /* mov --> mova. */ - case 2699: value = 2707; break; /* mov --> mova. */ - case 2700: value = 2708; break; /* mov --> mova. */ - case 2701: value = 2709; break; /* mov --> mova. */ - case 2702: value = 2710; break; /* mov --> mova. */ - case 2703: value = 2711; break; /* mov --> mova. */ - case 2704: value = 2712; break; /* mov --> mova. */ - case 2705: value = 2713; break; /* mov --> mova. */ + case 1267: value = 1266; break; /* sttadd --> ldtadd. */ + case 1271: value = 1270; break; /* sttaddl --> ldtaddl. */ + case 1273: value = 1272; break; /* sttclr --> ldtclr. */ + case 1277: value = 1276; break; /* sttclrl --> ldtclrl. */ + case 1279: value = 1278; break; /* sttset --> ldtset. */ + case 1283: value = 1282; break; /* sttsetl --> ldtsetl. */ + case 1315: value = 1314; break; /* mov --> movn. */ + case 1317: value = 1316; break; /* mov --> movz. */ + case 3373: value = 1398; break; /* clrbhb --> autibsp. */ + case 1398: value = 1397; break; /* autibsp --> autibz. */ + case 1397: value = 1396; break; /* autibz --> autiasp. */ + case 1396: value = 1395; break; /* autiasp --> autiaz. */ + case 1395: value = 1394; break; /* autiaz --> pacibsp. */ + case 1394: value = 1393; break; /* pacibsp --> pacibz. */ + case 1393: value = 1392; break; /* pacibz --> paciasp. */ + case 1392: value = 1391; break; /* paciasp --> paciaz. */ + case 1391: value = 1370; break; /* paciaz --> gcsb. */ + case 1370: value = 1350; break; /* gcsb --> clearbhb. */ + case 1350: value = 1349; break; /* clearbhb --> tsb. */ + case 1349: value = 1348; break; /* tsb --> psb. */ + case 1348: value = 1347; break; /* psb --> esb. */ + case 1347: value = 1346; break; /* esb --> autib1716. */ + case 1346: value = 1345; break; /* autib1716 --> autia1716. */ + case 1345: value = 1344; break; /* autia1716 --> pacib1716. */ + case 1344: value = 1343; break; /* pacib1716 --> pacia1716. */ + case 1343: value = 1342; break; /* pacia1716 --> xpaclri. */ + case 1342: value = 1341; break; /* xpaclri --> dgh. */ + case 1341: value = 1340; break; /* dgh --> sevl. */ + case 1340: value = 1339; break; /* sevl --> sev. */ + case 1339: value = 1338; break; /* sev --> wfi. */ + case 1338: value = 1337; break; /* wfi --> wfe. */ + case 1337: value = 1336; break; /* wfe --> yield. */ + case 1336: value = 1335; break; /* yield --> bti. */ + case 1335: value = 1334; break; /* bti --> csdb. */ + case 1334: value = 1333; break; /* csdb --> nop. */ + case 1333: value = 1330; break; /* nop --> stshh. */ + case 1330: value = 1332; break; /* stshh --> hint. */ + case 1356: value = 1355; break; /* pssbb --> ssbb. */ + case 1355: value = 1354; break; /* ssbb --> dfb. */ + case 1354: value = 1352; break; /* dfb --> dsb. */ + case 3374: value = 1384; break; /* trcit --> brb. */ + case 1384: value = 1383; break; /* brb --> cosp. */ + case 1383: value = 1382; break; /* cosp --> cpp. */ + case 1382: value = 1381; break; /* cpp --> dvp. */ + case 1381: value = 1380; break; /* dvp --> cfp. */ + case 1380: value = 1376; break; /* cfp --> tlbi. */ + case 1376: value = 1375; break; /* tlbi --> ic. */ + case 1375: value = 1374; break; /* ic --> dc. */ + case 1374: value = 1373; break; /* dc --> at. */ + case 1373: value = 1371; break; /* at --> sys. */ + case 1377: value = 1372; break; /* tlbip --> sysp. */ + case 2184: value = 1447; break; /* bic --> and. */ + case 1430: value = 1449; break; /* mov --> and. */ + case 1434: value = 1450; break; /* movs --> ands. */ + case 2185: value = 1485; break; /* cmple --> cmpge. */ + case 2188: value = 1488; break; /* cmplt --> cmpgt. */ + case 2186: value = 1490; break; /* cmplo --> cmphi. */ + case 2187: value = 1493; break; /* cmpls --> cmphs. */ + case 1427: value = 1515; break; /* mov --> cpy. */ + case 1429: value = 1516; break; /* mov --> cpy. */ + case 2195: value = 1432; break; /* fmov --> mov. */ + case 1432: value = 1517; break; /* mov --> cpy. */ + case 1421: value = 1529; break; /* mov --> dup. */ + case 1424: value = 1420; break; /* mov --> mov. */ + case 1420: value = 1530; break; /* mov --> dup. */ + case 2194: value = 1426; break; /* fmov --> mov. */ + case 1426: value = 1531; break; /* mov --> dup. */ + case 1425: value = 1532; break; /* mov --> dupm. */ + case 2189: value = 1534; break; /* eon --> eor. */ + case 1435: value = 1536; break; /* not --> eor. */ + case 1436: value = 1537; break; /* nots --> eors. */ + case 2190: value = 1542; break; /* facle --> facge. */ + case 2191: value = 1543; break; /* faclt --> facgt. */ + case 2192: value = 1556; break; /* fcmle --> fcmge. */ + case 2193: value = 1558; break; /* fcmlt --> fcmgt. */ + case 1418: value = 1564; break; /* fmov --> fcpy. */ + case 1417: value = 1587; break; /* fmov --> fdup. */ + case 1873: value = 1872; break; /* ldr --> ldr. */ + case 1419: value = 1903; break; /* mov --> orr. */ + case 2196: value = 1904; break; /* orn --> orr. */ + case 1423: value = 1422; break; /* mov --> mov. */ + case 1422: value = 1906; break; /* mov --> orr. */ + case 1433: value = 1907; break; /* movs --> orrs. */ + case 1910: value = 1909; break; /* pfalse --> pfalse. */ + case 1428: value = 1970; break; /* mov --> sel. */ + case 1431: value = 1971; break; /* mov --> sel. */ + case 2092: value = 2091; break; /* str --> str. */ + case 2529: value = 2531; break; /* mov --> mova. */ + case 2530: value = 2532; break; /* mov --> mova. */ + case 2550: value = 2549; break; /* psel --> psel. */ + case 2755: value = 2763; break; /* mov --> mova. */ + case 2756: value = 2764; break; /* mov --> mova. */ + case 2757: value = 2765; break; /* mov --> mova. */ + case 2758: value = 2766; break; /* mov --> mova. */ + case 2759: value = 2767; break; /* mov --> mova. */ + case 2760: value = 2768; break; /* mov --> mova. */ + case 2761: value = 2769; break; /* mov --> mova. */ + case 2762: value = 2770; break; /* mov --> mova. */ default: return NULL; } @@ -37163,10 +37672,9 @@ aarch64_extract_operand (const aarch64_operand *self, case 32: case 33: case 34: - case 126: case 127: case 128: - case 191: + case 129: case 192: case 193: case 194: @@ -37180,34 +37688,35 @@ aarch64_extract_operand (const aarch64_operand *self, case 202: case 203: case 204: - case 220: + case 205: case 221: case 222: case 223: - case 233: + case 224: case 234: case 235: case 236: case 237: - case 248: - case 252: - case 256: + case 238: + case 249: + case 253: case 257: - case 265: + case 258: case 266: case 267: - case 274: + case 268: case 275: case 276: case 277: - case 311: - case 315: + case 278: + case 313: + case 317: return aarch64_ext_regno (self, info, code, inst, errors); case 6: case 122: case 123: - case 321: - case 324: + case 323: + case 326: return aarch64_ext_none (self, info, code, inst, errors); case 11: return aarch64_ext_regrt_sysins (self, info, code, inst, errors); @@ -37227,17 +37736,16 @@ aarch64_extract_operand (const aarch64_operand *self, case 37: case 38: case 39: - case 326: + case 328: return aarch64_ext_reglane (self, info, code, inst, errors); case 40: case 41: case 42: - case 238: case 239: - case 242: - case 278: + case 240: + case 243: case 279: - case 294: + case 280: case 295: case 296: case 297: @@ -37254,12 +37762,14 @@ aarch64_extract_operand (const aarch64_operand *self, case 308: case 309: case 310: + case 311: case 312: - case 313: case 314: + case 315: case 316: - case 317: case 318: + case 319: + case 320: return aarch64_ext_simple_index (self, info, code, inst, errors); case 43: return aarch64_ext_reglist (self, info, code, inst, errors); @@ -37301,10 +37811,9 @@ aarch64_extract_operand (const aarch64_operand *self, case 94: case 95: case 121: - case 125: - case 188: - case 190: - case 211: + case 126: + case 189: + case 191: case 212: case 213: case 214: @@ -37313,14 +37822,15 @@ aarch64_extract_operand (const aarch64_operand *self, case 217: case 218: case 219: - case 280: - case 319: - case 320: + case 220: + case 281: + case 321: case 322: - case 323: + case 324: case 325: - case 330: - case 331: + case 327: + case 332: + case 333: return aarch64_ext_imm (self, info, code, inst, errors); case 52: case 53: @@ -37332,10 +37842,10 @@ aarch64_extract_operand (const aarch64_operand *self, case 57: return aarch64_ext_shll_imm (self, info, code, inst, errors); case 60: - case 178: + case 179: return aarch64_ext_fpimm (self, info, code, inst, errors); case 80: - case 186: + case 187: return aarch64_ext_limm (self, info, code, inst, errors); case 81: return aarch64_ext_aimm (self, info, code, inst, errors); @@ -37345,11 +37855,11 @@ aarch64_extract_operand (const aarch64_operand *self, return aarch64_ext_fbits (self, info, code, inst, errors); case 85: case 86: - case 183: + case 184: return aarch64_ext_imm_rotate2 (self, info, code, inst, errors); case 87: - case 182: - case 184: + case 183: + case 185: return aarch64_ext_imm_rotate1 (self, info, code, inst, errors); case 88: case 89: @@ -37393,25 +37903,25 @@ aarch64_extract_operand (const aarch64_operand *self, case 120: return aarch64_ext_prfop (self, info, code, inst, errors); case 124: + case 125: return aarch64_ext_hint (self, info, code, inst, errors); - case 129: case 130: - return aarch64_ext_sve_addr_ri_s4 (self, info, code, inst, errors); case 131: + return aarch64_ext_sve_addr_ri_s4 (self, info, code, inst, errors); case 132: case 133: case 134: - return aarch64_ext_sve_addr_ri_s4xvl (self, info, code, inst, errors); case 135: - return aarch64_ext_sve_addr_ri_s6xvl (self, info, code, inst, errors); + return aarch64_ext_sve_addr_ri_s4xvl (self, info, code, inst, errors); case 136: - return aarch64_ext_sve_addr_ri_s9xvl (self, info, code, inst, errors); + return aarch64_ext_sve_addr_ri_s6xvl (self, info, code, inst, errors); case 137: + return aarch64_ext_sve_addr_ri_s9xvl (self, info, code, inst, errors); case 138: case 139: case 140: - return aarch64_ext_sve_addr_ri_u6 (self, info, code, inst, errors); case 141: + return aarch64_ext_sve_addr_ri_u6 (self, info, code, inst, errors); case 142: case 143: case 144: @@ -37431,8 +37941,8 @@ aarch64_extract_operand (const aarch64_operand *self, case 158: case 159: case 160: - return aarch64_ext_sve_addr_rr_lsl (self, info, code, inst, errors); case 161: + return aarch64_ext_sve_addr_rr_lsl (self, info, code, inst, errors); case 162: case 163: case 164: @@ -37440,115 +37950,116 @@ aarch64_extract_operand (const aarch64_operand *self, case 166: case 167: case 168: - return aarch64_ext_sve_addr_rz_xtw (self, info, code, inst, errors); case 169: + return aarch64_ext_sve_addr_rz_xtw (self, info, code, inst, errors); case 170: case 171: case 172: - return aarch64_ext_sve_addr_zi_u5 (self, info, code, inst, errors); case 173: - return aarch64_ext_sve_addr_zz_lsl (self, info, code, inst, errors); + return aarch64_ext_sve_addr_zi_u5 (self, info, code, inst, errors); case 174: - return aarch64_ext_sve_addr_zz_sxtw (self, info, code, inst, errors); + return aarch64_ext_sve_addr_zz_lsl (self, info, code, inst, errors); case 175: - return aarch64_ext_sve_addr_zz_uxtw (self, info, code, inst, errors); + return aarch64_ext_sve_addr_zz_sxtw (self, info, code, inst, errors); case 176: - return aarch64_ext_sve_aimm (self, info, code, inst, errors); + return aarch64_ext_sve_addr_zz_uxtw (self, info, code, inst, errors); case 177: + return aarch64_ext_sve_aimm (self, info, code, inst, errors); + case 178: return aarch64_ext_sve_asimm (self, info, code, inst, errors); - case 179: - return aarch64_ext_sve_float_half_one (self, info, code, inst, errors); case 180: - return aarch64_ext_sve_float_half_two (self, info, code, inst, errors); + return aarch64_ext_sve_float_half_one (self, info, code, inst, errors); case 181: + return aarch64_ext_sve_float_half_two (self, info, code, inst, errors); + case 182: return aarch64_ext_sve_float_zero_one (self, info, code, inst, errors); - case 185: + case 186: return aarch64_ext_inv_limm (self, info, code, inst, errors); - case 187: + case 188: return aarch64_ext_sve_limm_mov (self, info, code, inst, errors); - case 189: + case 190: return aarch64_ext_sve_scale (self, info, code, inst, errors); - case 205: case 206: case 207: - return aarch64_ext_sve_shlimm (self, info, code, inst, errors); case 208: + return aarch64_ext_sve_shlimm (self, info, code, inst, errors); case 209: case 210: - case 293: + case 211: + case 294: return aarch64_ext_sve_shrimm (self, info, code, inst, errors); - case 224: case 225: case 226: case 227: - return aarch64_ext_sme_za_vrs1 (self, info, code, inst, errors); case 228: + return aarch64_ext_sme_za_vrs1 (self, info, code, inst, errors); case 229: case 230: case 231: - return aarch64_ext_sme_za_vrs2 (self, info, code, inst, errors); case 232: + return aarch64_ext_sme_za_vrs2 (self, info, code, inst, errors); + case 233: return aarch64_ext_sme_za_tile_to_vec (self, info, code, inst, errors); - case 240: case 241: - case 243: + case 242: case 244: case 245: case 246: case 247: + case 248: return aarch64_ext_sve_quad_index (self, info, code, inst, errors); - case 249: case 250: - return aarch64_ext_sve_index (self, info, code, inst, errors); case 251: - case 253: - case 273: - return aarch64_ext_sve_reglist (self, info, code, inst, errors); + return aarch64_ext_sve_index (self, info, code, inst, errors); + case 252: case 254: + case 274: + return aarch64_ext_sve_reglist (self, info, code, inst, errors); case 255: - case 258: + case 256: case 259: case 260: case 261: case 262: - case 272: - return aarch64_ext_sve_aligned_reglist (self, info, code, inst, errors); case 263: + case 273: + return aarch64_ext_sve_aligned_reglist (self, info, code, inst, errors); case 264: + case 265: return aarch64_ext_sve_strided_reglist (self, info, code, inst, errors); - case 268: - case 270: - case 281: - return aarch64_ext_sme_za_hv_tiles (self, info, code, inst, errors); case 269: case 271: - return aarch64_ext_sme_za_hv_tiles_range (self, info, code, inst, errors); case 282: + return aarch64_ext_sme_za_hv_tiles (self, info, code, inst, errors); + case 270: + case 272: + return aarch64_ext_sme_za_hv_tiles_range (self, info, code, inst, errors); case 283: case 284: case 285: case 286: case 287: case 288: - return aarch64_ext_sme_za_array (self, info, code, inst, errors); case 289: - return aarch64_ext_sme_addr_ri_u4xvl (self, info, code, inst, errors); + return aarch64_ext_sme_za_array (self, info, code, inst, errors); case 290: - return aarch64_ext_sme_sm_za (self, info, code, inst, errors); + return aarch64_ext_sme_addr_ri_u4xvl (self, info, code, inst, errors); case 291: - return aarch64_ext_sme_pred_reg_with_index (self, info, code, inst, errors); + return aarch64_ext_sme_sm_za (self, info, code, inst, errors); case 292: + return aarch64_ext_sme_pred_reg_with_index (self, info, code, inst, errors); + case 293: return aarch64_ext_plain_shrimm (self, info, code, inst, errors); - case 327: - case 328: case 329: + case 330: + case 331: return aarch64_ext_x0_to_x30 (self, info, code, inst, errors); - case 332: - case 333: case 334: case 335: - return aarch64_ext_rcpc3_addr_opt_offset (self, info, code, inst, errors); case 336: + case 337: + return aarch64_ext_rcpc3_addr_opt_offset (self, info, code, inst, errors); + case 338: return aarch64_ext_rcpc3_addr_offset (self, info, code, inst, errors); default: assert (0); abort (); } diff --git a/opcodes/aarch64-opc-2.c b/opcodes/aarch64-opc-2.c index 4adb43f..f36222c 100644 --- a/opcodes/aarch64-opc-2.c +++ b/opcodes/aarch64-opc-2.c @@ -149,6 +149,7 @@ const struct aarch64_operand aarch64_operands[] = {AARCH64_OPND_CLASS_SYSTEM, "BARRIER_PSB", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {}, "the PSB/TSB option name CSYNC"}, {AARCH64_OPND_CLASS_SYSTEM, "BARRIER_GCSB", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {}, "the GCSB option name DSYNC"}, {AARCH64_OPND_CLASS_SYSTEM, "BTI_TARGET", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {}, "BTI targets j/c/jc"}, + {AARCH64_OPND_CLASS_SYSTEM, "STSHH_POLICY", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {}, "an STSHH policy (keep/strm)"}, {AARCH64_OPND_CLASS_SYSTEM, "BRBOP", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_brbop}, "Branch Record Buffer operation operand"}, {AARCH64_OPND_CLASS_INT_REG, "Rt_IN_SYS_ALIASES", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rt}, "Rt register with defaults for SYS aliases"}, {AARCH64_OPND_CLASS_INT_REG, "LSE128_Rt", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_LSE128_Rt}, "an integer register"}, @@ -332,6 +333,7 @@ const struct aarch64_operand aarch64_operands[] = {AARCH64_OPND_CLASS_SVE_REG, "SME_Zn_INDEX1_16", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SVE_Zn, FLD_imm1_16}, "an indexed SVE vector register"}, {AARCH64_OPND_CLASS_SVE_REG, "SME_Zn_INDEX2_15", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SVE_Zn, FLD_imm2_15}, "an indexed SVE vector register"}, {AARCH64_OPND_CLASS_SVE_REG, "SME_Zn_INDEX2_16", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SVE_Zn, FLD_imm2_16}, "an indexed SVE vector register"}, + {AARCH64_OPND_CLASS_SVE_REG, "SME_Zn_INDEX2_19", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SVE_Zn, FLD_imm2_19}, "an indexed SVE vector register"}, {AARCH64_OPND_CLASS_SVE_REG, "SME_Zn_INDEX3_14", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SVE_Zn, FLD_imm3_14}, "an indexed SVE vector register"}, {AARCH64_OPND_CLASS_SVE_REG, "SME_Zn_INDEX3_15", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SVE_Zn, FLD_imm3_15}, "an indexed SVE vector register"}, {AARCH64_OPND_CLASS_SVE_REG, "SME_Zn_INDEX4_14", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SVE_Zn, FLD_imm4_14}, "an indexed SVE vector register"}, @@ -401,12 +403,12 @@ static const unsigned op_enum_table [] = 12, 636, 637, - 1268, - 1270, - 1272, + 1314, + 1316, + 1318, 1050, - 1271, - 1269, + 1317, + 1315, 318, 624, 635, @@ -438,18 +440,18 @@ static const unsigned op_enum_table [] = 391, 413, 415, - 1375, - 1376, - 1381, - 1373, - 1372, - 1377, - 1384, - 1386, - 1387, - 1383, - 1389, - 1388, + 1422, + 1423, + 1428, + 1420, + 1419, + 1424, + 1431, + 1433, + 1434, + 1430, + 1436, + 1435, 131, }; diff --git a/opcodes/aarch64-opc.c b/opcodes/aarch64-opc.c index ba08050..4de7965 100644 --- a/opcodes/aarch64-opc.c +++ b/opcodes/aarch64-opc.c @@ -599,6 +599,8 @@ const struct aarch64_name_value_pair aarch64_hint_options[] = { "c", HINT_OPD_C }, /* BTI C. */ { "j", HINT_OPD_J }, /* BTI J. */ { "jc", HINT_OPD_JC }, /* BTI JC. */ + { "keep", HINT_OPD_KEEP }, /* STSHH KEEP */ + { "strm", HINT_OPD_STRM }, /* STSHH STRM */ { NULL, HINT_OPD_NULL }, }; @@ -632,7 +634,7 @@ const struct aarch64_name_value_pair aarch64_prfops[32] = { "pstl3strm", B(2, 3, 1) }, { "pstslckeep", B(2, 4, 0) }, { "pstslcstrm", B(2, 4, 1) }, - { NULL, 0x18 }, + { "ir", B(3, 1, 0) }, { NULL, 0x19 }, { NULL, 0x1a }, { NULL, 0x1b }, @@ -1896,6 +1898,7 @@ operand_general_constraint_met_p (const aarch64_opnd_info *opnds, int idx, return 0; break; + case AARCH64_OPND_SME_Zn_INDEX2_19: case AARCH64_OPND_SVE_Zm2_22_INDEX: size = get_operand_fields_width (get_operand_from_code (type)); if (!check_reglane (opnd, mismatch_detail, idx, "z", 0, 31, 0, 3)) @@ -4385,6 +4388,7 @@ aarch64_print_operand (char *buf, size_t size, bfd_vma pc, case AARCH64_OPND_SME_Zn_INDEX1_16: case AARCH64_OPND_SME_Zn_INDEX2_15: case AARCH64_OPND_SME_Zn_INDEX2_16: + case AARCH64_OPND_SME_Zn_INDEX2_19: case AARCH64_OPND_SME_Zn_INDEX3_14: case AARCH64_OPND_SME_Zn_INDEX3_15: case AARCH64_OPND_SME_Zn_INDEX4_14: @@ -5032,11 +5036,12 @@ aarch64_print_operand (char *buf, size_t size, bfd_vma pc, break; case AARCH64_OPND_PRFOP: - if (opnd->prfop->name != NULL) - snprintf (buf, size, "%s", style_sub_mnem (styler, opnd->prfop->name)); + if ((opnd->prfop->name == NULL) + || (opcode->iclass != ldst_pos && opnd->prfop->value == 0x18)) + snprintf (buf, size, "%s", + style_imm (styler, "#0x%02x", opnd->prfop->value)); else - snprintf (buf, size, "%s", style_imm (styler, "#0x%02x", - opnd->prfop->value)); + snprintf (buf, size, "%s", style_sub_mnem (styler, opnd->prfop->name)); break; case AARCH64_OPND_RPRFMOP: @@ -5086,6 +5091,10 @@ aarch64_print_operand (char *buf, size_t size, bfd_vma pc, style_sub_mnem (styler, opnd->hint_option->name)); break; + case AARCH64_OPND_STSHH_POLICY: + snprintf (buf, size, "%s", style_sub_mnem (styler, opnd->hint_option->name)); + break; + case AARCH64_OPND_MOPS_ADDR_Rd: case AARCH64_OPND_MOPS_ADDR_Rs: snprintf (buf, size, "[%s]!", diff --git a/opcodes/aarch64-tbl.h b/opcodes/aarch64-tbl.h index bf91efe..71563b0 100644 --- a/opcodes/aarch64-tbl.h +++ b/opcodes/aarch64-tbl.h @@ -1356,6 +1356,12 @@ QLF3(X, X, S_D), \ } +/* e.g. LDTP <Xt1>, <Xt2>, [<Xn|SP>, #<imm>]!. */ +#define QL_LDST_PAIR_X \ +{ \ + QLF3(X, X, S_D), \ +} + /* e.g. STNP <Qt1>, <Qt2>, [<Xn|SP>{, #<imm>}]. */ #define QL_LDST_PAIR_FP \ { \ @@ -1364,6 +1370,12 @@ QLF3(S_Q, S_Q, S_Q), \ } +/* e.g. LDTP <Qt1>, <Qt2>, [<Xn|SP>{, #<imm>}]. */ +#define QL_LDST_PAIR_S_Q \ +{ \ + QLF3(S_Q, S_Q, S_Q), \ +} + /* e.g. LD3 {<Vt>.<T>, <Vt2>.<T>, <Vt3>.<T>}, [<Xn|SP>]. */ #define QL_SIMD_LDST \ { \ @@ -2300,6 +2312,10 @@ QLF3(S_S,S_S,S_S), \ QLF3(S_D,S_D,S_D), \ } +#define OP_SVE_BBQ \ +{ \ + QLF3(S_B, S_B, S_Q) \ +} #define OP_SVE_VVV_D \ { \ QLF3(S_D,S_D,S_D), \ @@ -2794,6 +2810,10 @@ static const aarch64_feature_set aarch64_feature_lsfe = AARCH64_FEATURE (LSFE); static const aarch64_feature_set aarch64_feature_lse128 = AARCH64_FEATURES (2, LSE, LSE128); +static const aarch64_feature_set aarch64_feature_lsui = + AARCH64_FEATURE (LSUI); +static const aarch64_feature_set aarch64_feature_lsui_fp = + AARCH64_FEATURES (2, LSUI, FP); static const aarch64_feature_set aarch64_feature_lor = AARCH64_FEATURE (LOR); static const aarch64_feature_set aarch64_feature_rdma = @@ -2851,7 +2871,7 @@ static const aarch64_feature_set aarch64_feature_tme = static const aarch64_feature_set aarch64_feature_sve2 = AARCH64_FEATURE (SVE2); static const aarch64_feature_set aarch64_feature_sve2aes = - AARCH64_FEATURES (2, SVE2, SVE2_AES); + AARCH64_FEATURES (2, SVE_AES, SVE2_SSVE_AES); static const aarch64_feature_set aarch64_feature_sve2sha3 = AARCH64_FEATURES (2, SVE2, SVE2_SHA3); static const aarch64_feature_set aarch64_feature_sve2sm4 = @@ -2928,6 +2948,8 @@ static const aarch64_feature_set aarch64_feature_f8f16mm = AARCH64_FEATURE (F8F16MM); static const aarch64_feature_set aarch64_feature_f8f16mm_sve2 = AARCH64_FEATURES (2, SVE2, F8F16MM); +static const aarch64_feature_set aarch64_feature_sve_aes2 = + AARCH64_FEATURES (2, SVE_AES2, SVE2_SSVE_AES); static const aarch64_feature_set aarch64_feature_rcpc3 = AARCH64_FEATURE (RCPC3); static const aarch64_feature_set aarch64_feature_cpa = @@ -3000,6 +3022,8 @@ static const aarch64_feature_set aarch64_feature_sve2p2_sme2p2 = #define LSE &aarch64_feature_lse #define LSFE &aarch64_feature_lsfe #define LSE128 &aarch64_feature_lse128 +#define LSUI &aarch64_feature_lsui +#define LSUI_FP &aarch64_feature_lsui_fp #define LOR &aarch64_feature_lor #define RDMA &aarch64_feature_rdma #define FP_F16 &aarch64_feature_fp_f16 @@ -3067,6 +3091,7 @@ static const aarch64_feature_set aarch64_feature_sve2p2_sme2p2 = #define F8F32MM_SVE2 &aarch64_feature_f8f32mm_sve2 #define F8F16MM &aarch64_feature_f8f16mm #define F8F16MM_SVE2 &aarch64_feature_f8f16mm_sve2 +#define SVE_AES2 &aarch64_feature_sve_aes2 #define RCPC3 &aarch64_feature_rcpc3 #define CPA &aarch64_feature_cpa #define CPA_SVE &aarch64_feature_cpa_sve @@ -3116,6 +3141,10 @@ static const aarch64_feature_set aarch64_feature_sve2p2_sme2p2 = { NAME, OPCODE, MASK, CLASS, 0, LSFE, OPS, QUALS, FLAGS, 0, 0, NULL } #define _LSE128_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \ { NAME, OPCODE, MASK, CLASS, 0, LSE128, OPS, QUALS, FLAGS, 0, 0, NULL } +#define _LSUI_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \ + { NAME, OPCODE, MASK, CLASS, 0, LSUI, OPS, QUALS, FLAGS, 0, 0, NULL } +#define _LSUI_FP_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \ + { NAME, OPCODE, MASK, CLASS, 0, LSUI_FP, OPS, QUALS, FLAGS, 0, 0, NULL } #define _LOR_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \ { NAME, OPCODE, MASK, CLASS, 0, LOR, OPS, QUALS, FLAGS, 0, 0, NULL } #define RDMA_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \ @@ -3211,6 +3240,9 @@ static const aarch64_feature_set aarch64_feature_sve2p2_sme2p2 = #define SVE2AES_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \ { NAME, OPCODE, MASK, CLASS, OP, SVE2_AES, OPS, QUALS, \ FLAGS | F_STRICT, 0, TIED, NULL } +#define SVE_AES2_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \ + { NAME, OPCODE, MASK, CLASS, OP, SVE_AES2, OPS, QUALS, \ + FLAGS | F_STRICT, 0, TIED, NULL } #define SVE2SHA3_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \ { NAME, OPCODE, MASK, CLASS, OP, SVE2_SHA3, OPS, QUALS, \ FLAGS | F_STRICT, 0, TIED, NULL } @@ -4766,6 +4798,55 @@ const struct aarch64_opcode aarch64_opcode_table[] = _LSE128_INSN ("swppa", 0x19a08000, 0xffe0fc00, lse128_atomic, OP3 (LSE128_Rt, LSE128_Rt2, ADDR_SIMPLE), QL_X2NIL, 0), _LSE128_INSN ("swppal", 0x19e08000, 0xffe0fc00, lse128_atomic, OP3 (LSE128_Rt, LSE128_Rt2, ADDR_SIMPLE), QL_X2NIL, 0), _LSE128_INSN ("swppl", 0x19608000, 0xffe0fc00, lse128_atomic, OP3 (LSE128_Rt, LSE128_Rt2, ADDR_SIMPLE), QL_X2NIL, 0), + + /* LSUI extension */ + _LSUI_INSN ("ldtxr", 0x895f7c00, 0xbffffc00, ldstexcl, OP2 (Rt, ADDR_SIMPLE), QL_R1NIL, F_GPRSIZE_IN_Q), + _LSUI_INSN ("ldatxr", 0x895ffc00, 0xbffffc00, ldstexcl, OP2 (Rt, ADDR_SIMPLE), QL_R1NIL, F_GPRSIZE_IN_Q), + _LSUI_INSN ("sttxr", 0x89007c00, 0xbfe0fc00, ldstexcl, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2_LDST_EXC, F_GPRSIZE_IN_Q), + _LSUI_INSN ("stltxr", 0x8900fc00, 0xbfe0fc00, ldstexcl, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2_LDST_EXC, F_GPRSIZE_IN_Q), + _LSUI_INSN ("cast", 0xc9807c00, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_X2NIL, 0), + _LSUI_INSN ("casat", 0xc9c07c00, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_X2NIL, 0), + _LSUI_INSN ("casalt", 0xc9c0fc00, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_X2NIL, 0), + _LSUI_INSN ("caslt", 0xc980fc00, 0xffe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_X2NIL, 0), + _LSUI_INSN ("caspt", 0x49807c00, 0xffe0fc00, lse_atomic, OP5 (Rs, PAIRREG, Rt, PAIRREG, ADDR_SIMPLE), QL_X4NIL, 0), + _LSUI_INSN ("caspat", 0x49c07c00, 0xffe0fc00, lse_atomic, OP5 (Rs, PAIRREG, Rt, PAIRREG, ADDR_SIMPLE), QL_X4NIL, 0), + _LSUI_INSN ("caspalt", 0x49c0fc00, 0xffe0fc00, lse_atomic, OP5 (Rs, PAIRREG, Rt, PAIRREG, ADDR_SIMPLE), QL_X4NIL, 0), + _LSUI_INSN ("casplt", 0x4980fc00, 0xffe0fc00, lse_atomic, OP5 (Rs, PAIRREG, Rt, PAIRREG, ADDR_SIMPLE), QL_X4NIL, 0), + _LSUI_INSN ("swpt", 0x19208400, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ), + _LSUI_INSN ("swpta", 0x19a08400, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ), + _LSUI_INSN ("swptal", 0x19e08400, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ), + _LSUI_INSN ("swptl", 0x19608400, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ), + _LSUI_INSN ("ldtadd", 0x19200400, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS), + _LSUI_INSN ("sttadd", 0x1920041f, 0xbfe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS), + _LSUI_INSN ("ldtadda", 0x19a00400, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ), + _LSUI_INSN ("ldtaddal", 0x19e00400, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ), + _LSUI_INSN ("ldtaddl", 0x19600400, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS), + _LSUI_INSN ("sttaddl", 0x1960041f, 0xbfe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS), + _LSUI_INSN ("ldtclr", 0x19201400, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS), + _LSUI_INSN ("sttclr", 0x1920141f, 0xbfe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS), + _LSUI_INSN ("ldtclra", 0x19a01400, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ), + _LSUI_INSN ("ldtclral", 0x19e01400, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ), + _LSUI_INSN ("ldtclrl", 0x19601400, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS), + _LSUI_INSN ("sttclrl", 0x1960141f, 0xbfe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS), + _LSUI_INSN ("ldtset", 0x19203400, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS), + _LSUI_INSN ("sttset", 0x1920341f, 0xbfe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS), + _LSUI_INSN ("ldtseta", 0x19a03400, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ), + _LSUI_INSN ("ldtsetal", 0x19e03400, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ), + _LSUI_INSN ("ldtsetl", 0x19603400, 0xbfe0fc00, lse_atomic, OP3 (Rs, Rt, ADDR_SIMPLE), QL_R2NIL, F_LSE_SZ | F_HAS_ALIAS), + _LSUI_INSN ("sttsetl", 0x1960341f, 0xbfe0fc1f, lse_atomic, OP2 (Rs, ADDR_SIMPLE), QL_R1NIL, F_LSE_SZ | F_ALIAS), + _LSUI_INSN ("ldtnp", 0xe8400000, 0xffc00000, ldstnapair_offs, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_X, F_LDST_LOAD), + _LSUI_FP_INSN ("ldtnp", 0xec400000, 0xffc00000, ldstnapair_offs, OP3 (Fd, Fa, ADDR_SIMM7), QL_LDST_PAIR_S_Q, F_LDST_LOAD), + _LSUI_INSN ("sttnp", 0xe8000000, 0xffc00000, ldstnapair_offs, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_X, F_LDST_STORE), + _LSUI_FP_INSN ("sttnp", 0xec000000, 0xffc00000, ldstnapair_offs, OP3 (Fd, Fa, ADDR_SIMM7), QL_LDST_PAIR_S_Q, F_LDST_STORE), + _LSUI_INSN ("ldtp", 0xe9400000, 0xffc00000, ldstpair_off, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_X, F_LDST_LOAD), + _LSUI_FP_INSN ("ldtp", 0xed400000, 0xffc00000, ldstpair_off, OP3 (Fd, Fa, ADDR_SIMM7), QL_LDST_PAIR_S_Q, F_LDST_LOAD), + _LSUI_INSN ("sttp", 0xe9000000, 0xffc00000, ldstpair_off, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_X, F_LDST_STORE), + _LSUI_FP_INSN ("sttp", 0xed000000, 0xffc00000, ldstpair_off, OP3 (Fd, Fa, ADDR_SIMM7), QL_LDST_PAIR_S_Q, F_LDST_STORE), + _LSUI_INSN ("ldtp", 0xe8c00000, 0xfec00000, ldstpair_indexed, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_X, F_LDST_LOAD), + _LSUI_FP_INSN ("ldtp", 0xecc00000, 0xfec00000, ldstpair_indexed, OP3 (Fd, Fa, ADDR_SIMM7), QL_LDST_PAIR_S_Q, F_LDST_LOAD), + _LSUI_INSN ("sttp", 0xe8800000, 0xfec00000, ldstpair_indexed, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_X, F_LDST_STORE), + _LSUI_FP_INSN ("sttp", 0xec800000, 0xfec00000, ldstpair_indexed, OP3 (Fd, Fa, ADDR_SIMM7), QL_LDST_PAIR_S_Q, F_LDST_STORE), + /* RCPC3 extension. */ RCPC3_INSN ("ldiapp", 0x19400800, 0x3fe0ec00, rcpc3, OP3 (Rt, Rs, RCPC3_ADDR_OPT_POSTIND), QL_R2NIL, F_RCPC3_SIZE), RCPC3_INSN ("stilp", 0x19000800, 0x3fe0ec00, rcpc3, OP3 (Rt, Rs, RCPC3_ADDR_OPT_PREIND_WB), QL_R2NIL, F_RCPC3_SIZE), @@ -4809,6 +4890,7 @@ const struct aarch64_opcode aarch64_opcode_table[] = SME_INSN ("smstop", 0xd503407f, 0xfffff1ff, sme_stop, 0, OP1 (SME_SM_ZA), {}, F_SYS_WRITE, 0), /* System. */ CHK_INSN ("chkfeat", 0xd503251f, 0xffffffff, OP1 (X16), QL_I1X, 0), + CORE_INSN ("stshh", 0xd503261f, 0xffffffdf, ic_system, 0, OP1 (STSHH_POLICY), {}, F_ALIAS), CORE_INSN ("msr", 0xd500401f, 0xfff8f01f, ic_system, 0, OP2 (PSTATEFIELD, UIMM4), {}, F_SYS_WRITE), CORE_INSN ("hint",0xd503201f, 0xfffff01f, ic_system, 0, OP1 (UIMM7), {}, F_HAS_ALIAS), CORE_INSN ("nop", 0xd503201f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS), @@ -5990,6 +6072,17 @@ const struct aarch64_opcode aarch64_opcode_table[] = SVE2BITPERM_INSN ("bdep", 0x4500b400, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, 0), SVE2BITPERM_INSN ("bext", 0x4500b000, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, 0), SVE2BITPERM_INSN ("bgrp", 0x4500b800, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, 0), + /* SVE_AES2 instructions */ + SVE_AES2_INSN ("aesdimc", 0x4523ec00, 0xffe7fc01, sve_misc, 0, OP3 (SME_Zdnx2, SME_Zdnx2, SME_Zn_INDEX2_19), OP_SVE_BBQ, 0, 1), + SVE_AES2_INSN ("aesdimc", 0x4527ec00, 0xffe7fc03, sve_misc, 0, OP3 (SME_Zdnx4, SME_Zdnx4, SME_Zn_INDEX2_19), OP_SVE_BBQ, 0, 1), + SVE_AES2_INSN ("aesd", 0x4522ec00, 0xffe7fc01, sve_misc, 0, OP3 (SME_Zdnx2, SME_Zdnx2, SME_Zn_INDEX2_19), OP_SVE_BBQ, 0, 1), + SVE_AES2_INSN ("aesd", 0x4526ec00, 0xffe7fc03, sve_misc, 0, OP3 (SME_Zdnx4, SME_Zdnx4, SME_Zn_INDEX2_19), OP_SVE_BBQ, 0, 1), + SVE_AES2_INSN ("aesemc", 0x4523e800, 0xffe7fc01, sve_misc, 0, OP3 (SME_Zdnx2, SME_Zdnx2, SME_Zn_INDEX2_19), OP_SVE_BBQ, 0, 1), + SVE_AES2_INSN ("aesemc", 0x4527e800, 0xffe7fc03, sve_misc, 0, OP3 (SME_Zdnx4, SME_Zdnx4, SME_Zn_INDEX2_19), OP_SVE_BBQ, 0, 1), + SVE_AES2_INSN ("aese", 0x4522e800, 0xffe7fc01, sve_misc, 0, OP3 (SME_Zdnx2, SME_Zdnx2, SME_Zn_INDEX2_19), OP_SVE_BBQ, 0, 1), + SVE_AES2_INSN ("aese", 0x4526e800, 0xffe7fc03, sve_misc, 0, OP3 (SME_Zdnx4, SME_Zdnx4, SME_Zn_INDEX2_19), OP_SVE_BBQ, 0, 1), + SVE_AES2_INSN ("pmlal", 0x4520fc00, 0xffe0fc01, sve_misc, 0, OP3 (SME_Zdnx2, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_Q_D, 0, 0), + SVE_AES2_INSN ("pmull", 0x4520f800, 0xffe0fc01, sve_misc, 0, OP3 (SME_Zdnx2, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_Q_D, 0, 0), /* SME instructions. */ SME_INSN ("addha", 0xc0900000, 0xffff001c, sme_misc, 0, OP4 (SME_ZAda_2b, SVE_Pg3, SME_Pm, SVE_Zn), OP_SVE_SMMS, 0, 0), SME_I16I64_INSN ("addha", 0xc0d00000, 0xffff0018, sme_misc, 0, OP4 (SME_ZAda_3b, SVE_Pg3, SME_Pm, SVE_Zn), OP_SVE_DMMD, 0, 0), @@ -7629,6 +7722,8 @@ const struct aarch64_opcode aarch64_opcode_table[] = "the GCSB option name DSYNC") \ Y(SYSTEM, hint, "BTI_TARGET", 0, F (), \ "BTI targets j/c/jc") \ + Y(SYSTEM, hint, "STSHH_POLICY", 0, F(), \ + "an STSHH policy (keep/strm)") \ Y(SYSTEM, imm, "BRBOP", 0, F(FLD_brbop), \ "Branch Record Buffer operation operand") \ Y(INT_REG, regno, "Rt_IN_SYS_ALIASES", 0, F(FLD_Rt), \ @@ -8061,6 +8156,8 @@ const struct aarch64_opcode aarch64_opcode_table[] = F(FLD_SVE_Zn, FLD_imm2_15), "an indexed SVE vector register") \ Y(SVE_REG, simple_index, "SME_Zn_INDEX2_16", 0, \ F(FLD_SVE_Zn, FLD_imm2_16), "an indexed SVE vector register") \ + Y(SVE_REG, simple_index, "SME_Zn_INDEX2_19", 0, \ + F(FLD_SVE_Zn, FLD_imm2_19), "an indexed SVE vector register") \ Y(SVE_REG, simple_index, "SME_Zn_INDEX3_14", 0, \ F(FLD_SVE_Zn, FLD_imm3_14), "an indexed SVE vector register") \ Y(SVE_REG, simple_index, "SME_Zn_INDEX3_15", 0, \ |