From aabcdd41b6289ebc668c8751c32734d1c1c60e9e Mon Sep 17 00:00:00 2001 From: Brendan Punsky Date: Wed, 17 Jun 2026 23:34:10 -0400 Subject: [PATCH] rexcode/arm64: CCMP/CCMN-imm, HINT, MSR-imm, USDOT encode forms Conditional compare immediate (CCMP_IMM/CCMN_IMM: imm5 at 20:16 via a new IMM5_HI encoding, bit 11 set), HINT #imm7, MSR ,#imm (new MSR_PSTATE encoding placing op1 at 18:16 / op2 at 7:5, CRm via the shared BARRIER_FIELD), and USDOT (I8MM unsigned-by-signed dot product, .2S/.4S). Hand-written into the core (outside the specgen region). All forms byte-exact vs llvm-mc and decode-clean; 461 tests green. --- core/rexcode/arm64/decoder.odin | 5 + core/rexcode/arm64/encoder.odin | 7 + core/rexcode/arm64/encoding_types.odin | 7 + core/rexcode/arm64/mnemonic_builders.odin | 20 + .../arm64/tablegen/encoding_table.odin | 18 + .../tablegen/generated/decode_tables.odin | 1186 ++++----- .../tablegen/generated/encode_tables.odin | 2153 +++++++++-------- .../arm64/tables/arm64.encode_forms.bin | Bin 44380 -> 44540 bytes .../arm64/tables/arm64.encode_runs.bin | Bin 8960 -> 8960 bytes core/rexcode/arm64/tables/arm64.entries.bin | Bin 44420 -> 44580 bytes core/rexcode/arm64/tables/arm64.idx_op0.bin | Bin 64 -> 64 bytes 11 files changed, 1737 insertions(+), 1659 deletions(-) diff --git a/core/rexcode/arm64/decoder.odin b/core/rexcode/arm64/decoder.odin index 7911a367c..b0ff0d192 100644 --- a/core/rexcode/arm64/decoder.odin +++ b/core/rexcode/arm64/decoder.odin @@ -234,6 +234,11 @@ extract_operand_inline :: #force_inline proc "contextless" ( return Operand{immediate = i64(((word >> 11) & 0xF) >> mb), kind = .IMMEDIATE, size = 1} case .NEON_EXT_IDX: return Operand{immediate = i64((word >> 11) & 0xF), kind = .IMMEDIATE, size = 1} + case .IMM5_HI: + return Operand{immediate = i64((word >> 16) & 0x1F), kind = .IMMEDIATE, size = 1} + case .MSR_PSTATE: + v := ((word >> 16) & 0x7) << 3 | ((word >> 5) & 0x7) + return Operand{immediate = i64(v), kind = .IMMEDIATE, size = 1} // ---- Memory operand variants ------------------------------------------ case .OFFSET_BASE_U12: diff --git a/core/rexcode/arm64/encoder.odin b/core/rexcode/arm64/encoder.odin index f76cd1d5c..83539d9fa 100644 --- a/core/rexcode/arm64/encoder.odin +++ b/core/rexcode/arm64/encoder.odin @@ -478,6 +478,13 @@ pack_operand_inline :: #force_inline proc( case .NEON_EXT_IDX: return (u32(op.immediate) & 0xF) << 11 + // CCMP/CCMN immediate (imm5 at 20:16) and MSR-immediate PSTATE selector. + case .IMM5_HI: + return (u32(op.immediate) & 0x1F) << 16 + case .MSR_PSTATE: + v := u32(op.immediate) + return ((v >> 3) & 0x7) << 16 | (v & 0x7) << 5 + // NEON MOVI/FMOV immediate split: abc at bits 18-16, defgh at bits 9-5. case .NEON_IMM8_FMOV: v := u32(op.immediate) & 0xFF diff --git a/core/rexcode/arm64/encoding_types.odin b/core/rexcode/arm64/encoding_types.odin index 48b8f175f..c234b4e03 100644 --- a/core/rexcode/arm64/encoding_types.odin +++ b/core/rexcode/arm64/encoding_types.odin @@ -246,6 +246,13 @@ Operand_Encoding :: enum u8 { NEON_IDX4, // INS source lane index in imm4 (14:11); index << markerbit NEON_EXT_IDX, // EXT byte index in imm4 (14:11) + // ---- MSR (immediate to PSTATE): pstate field selector op1:op2 ---- + // User passes the combined 6-bit selector (op1<<3 | op2); op1 lands at + // bits 18:16, op2 at bits 7:5. The #imm goes to CRm (bits 11:8) via + // BARRIER_FIELD, which it shares with the DMB/DSB barrier encoding. + IMM5_HI, // generic 5-bit immediate at bits 20:16 (CCMP/CCMN immediate) + MSR_PSTATE, // PSTATE field selector: op1 at 18:16, op2 at 7:5 + // ---- LSE atomics ------------------------------------------------------ ATOMIC_RS, // Rs (source / compare) at bits 16-20 ATOMIC_RT, // Rt (target) at bits 0-4 diff --git a/core/rexcode/arm64/mnemonic_builders.odin b/core/rexcode/arm64/mnemonic_builders.odin index 537cb85f0..6ddce05ac 100644 --- a/core/rexcode/arm64/mnemonic_builders.odin +++ b/core/rexcode/arm64/mnemonic_builders.odin @@ -121,8 +121,12 @@ inst_csneg_r_r_r_c :: #force_inline proc "contextless" (dst: Regist emit_csneg_r_r_r_c :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, cond: Cond) { append(instructions, inst_csneg_r_r_r_c(dst, src, src2, cond)) } inst_ccmp_reg_r_r_i_c :: #force_inline proc "contextless" (dst: Register, src: Register, imm: i64, cond: Cond) -> Instruction { return Instruction{mnemonic = .CCMP_REG, operand_count = 4, length = 4, ops = {op_reg(dst), op_reg(src), op_imm(imm, 1), op_cond(cond)}} } emit_ccmp_reg_r_r_i_c :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64, cond: Cond) { append(instructions, inst_ccmp_reg_r_r_i_c(dst, src, imm, cond)) } +inst_ccmp_imm_r_i_i_c :: #force_inline proc "contextless" (dst: Register, imm: i64, imm2: i64, cond: Cond) -> Instruction { return Instruction{mnemonic = .CCMP_IMM, operand_count = 4, length = 4, ops = {op_reg(dst), op_imm(imm, 1), op_imm(imm2, 1), op_cond(cond)}} } +emit_ccmp_imm_r_i_i_c :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64, imm2: i64, cond: Cond) { append(instructions, inst_ccmp_imm_r_i_i_c(dst, imm, imm2, cond)) } inst_ccmn_reg_r_r_i_c :: #force_inline proc "contextless" (dst: Register, src: Register, imm: i64, cond: Cond) -> Instruction { return Instruction{mnemonic = .CCMN_REG, operand_count = 4, length = 4, ops = {op_reg(dst), op_reg(src), op_imm(imm, 1), op_cond(cond)}} } emit_ccmn_reg_r_r_i_c :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64, cond: Cond) { append(instructions, inst_ccmn_reg_r_r_i_c(dst, src, imm, cond)) } +inst_ccmn_imm_r_i_i_c :: #force_inline proc "contextless" (dst: Register, imm: i64, imm2: i64, cond: Cond) -> Instruction { return Instruction{mnemonic = .CCMN_IMM, operand_count = 4, length = 4, ops = {op_reg(dst), op_imm(imm, 1), op_imm(imm2, 1), op_cond(cond)}} } +emit_ccmn_imm_r_i_i_c :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64, imm2: i64, cond: Cond) { append(instructions, inst_ccmn_imm_r_i_i_c(dst, imm, imm2, cond)) } inst_extr_r_r_r_i :: #force_inline proc "contextless" (dst: Register, src: Register, src2: Register, imm: i64) -> Instruction { return Instruction{mnemonic = .EXTR, operand_count = 4, length = 4, ops = {op_reg(dst), op_reg(src), op_reg(src2), op_imm(imm, 1)}} } emit_extr_r_r_r_i :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register, imm: i64) { append(instructions, inst_extr_r_r_r_i(dst, src, src2, imm)) } inst_b_l :: #force_inline proc "contextless" (label: u32) -> Instruction { return inst_branch(.B, label) } @@ -205,8 +209,12 @@ inst_sev_none :: #force_inline proc "contextless" () -> Instru emit_sev_none :: #force_inline proc(instructions: ^[dynamic]Instruction) { append(instructions, inst_sev_none()) } inst_sevl_none :: #force_inline proc "contextless" () -> Instruction { return inst_none(.SEVL) } emit_sevl_none :: #force_inline proc(instructions: ^[dynamic]Instruction) { append(instructions, inst_sevl_none()) } +inst_hint_i :: #force_inline proc "contextless" (imm: i64) -> Instruction { return Instruction{mnemonic = .HINT, operand_count = 1, length = 4, ops = {op_imm(imm, 1), {}, {}, {}}} } +emit_hint_i :: #force_inline proc(instructions: ^[dynamic]Instruction, imm: i64) { append(instructions, inst_hint_i(imm)) } inst_mrs_r_i :: #force_inline proc "contextless" (dst: Register, imm: i64) -> Instruction { return inst_r_i(.MRS, dst, imm) } emit_mrs_r_i :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) { append(instructions, inst_mrs_r_i(dst, imm)) } +inst_msr_imm_i_i :: #force_inline proc "contextless" (imm: i64, imm2: i64) -> Instruction { return Instruction{mnemonic = .MSR_IMM, operand_count = 2, length = 4, ops = {op_imm(imm, 4), op_imm(imm2, 1), {}, {}}} } +emit_msr_imm_i_i :: #force_inline proc(instructions: ^[dynamic]Instruction, imm: i64, imm2: i64) { append(instructions, inst_msr_imm_i_i(imm, imm2)) } inst_msr_reg_i_r :: #force_inline proc "contextless" (imm: i64, src: Register) -> Instruction { return Instruction{mnemonic = .MSR_REG, operand_count = 2, length = 4, ops = {op_imm(imm, 4), op_reg(src), {}, {}}} } emit_msr_reg_i_r :: #force_inline proc(instructions: ^[dynamic]Instruction, imm: i64, src: Register) { append(instructions, inst_msr_reg_i_r(imm, src)) } inst_isb_i :: #force_inline proc "contextless" (imm: i64) -> Instruction { return Instruction{mnemonic = .ISB, operand_count = 1, length = 4, ops = {op_imm(imm, 1), {}, {}, {}}} } @@ -953,6 +961,8 @@ inst_sdot_r_r_r :: #force_inline proc "contextless" (dst: Regist emit_sdot_r_r_r :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) { append(instructions, inst_sdot_r_r_r(dst, src, src2)) } inst_udot_r_r_r :: #force_inline proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction { return Instruction{mnemonic = .UDOT, operand_count = 3, length = 4, ops = {op_v_2s(u8(reg_hw(dst))), op_v_8b(u8(reg_hw(src))), op_v_8b(u8(reg_hw(src2))), {}}} } emit_udot_r_r_r :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) { append(instructions, inst_udot_r_r_r(dst, src, src2)) } +inst_usdot_r_r_r :: #force_inline proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction { return Instruction{mnemonic = .USDOT, operand_count = 3, length = 4, ops = {op_v_2s(u8(reg_hw(dst))), op_v_8b(u8(reg_hw(src))), op_v_8b(u8(reg_hw(src2))), {}}} } +emit_usdot_r_r_r :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) { append(instructions, inst_usdot_r_r_r(dst, src, src2)) } inst_fadd_v_r_r_r :: #force_inline proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction { return Instruction{mnemonic = .FADD_V, operand_count = 3, length = 4, ops = {op_v_2s(u8(reg_hw(dst))), op_v_2s(u8(reg_hw(src))), op_v_2s(u8(reg_hw(src2))), {}}} } emit_fadd_v_r_r_r :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) { append(instructions, inst_fadd_v_r_r_r(dst, src, src2)) } inst_fsub_v_r_r_r :: #force_inline proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction { return Instruction{mnemonic = .FSUB_V, operand_count = 3, length = 4, ops = {op_v_2s(u8(reg_hw(dst))), op_v_2s(u8(reg_hw(src))), op_v_2s(u8(reg_hw(src2))), {}}} } @@ -2142,8 +2152,12 @@ inst_csneg :: inst_csneg_r_r_r_c emit_csneg :: emit_csneg_r_r_r_c inst_ccmp_reg :: inst_ccmp_reg_r_r_i_c emit_ccmp_reg :: emit_ccmp_reg_r_r_i_c +inst_ccmp_imm :: inst_ccmp_imm_r_i_i_c +emit_ccmp_imm :: emit_ccmp_imm_r_i_i_c inst_ccmn_reg :: inst_ccmn_reg_r_r_i_c emit_ccmn_reg :: emit_ccmn_reg_r_r_i_c +inst_ccmn_imm :: inst_ccmn_imm_r_i_i_c +emit_ccmn_imm :: emit_ccmn_imm_r_i_i_c inst_extr :: inst_extr_r_r_r_i emit_extr :: emit_extr_r_r_r_i inst_b :: inst_b_l @@ -2224,8 +2238,12 @@ inst_sev :: inst_sev_none emit_sev :: emit_sev_none inst_sevl :: inst_sevl_none emit_sevl :: emit_sevl_none +inst_hint :: inst_hint_i +emit_hint :: emit_hint_i inst_mrs :: inst_mrs_r_i emit_mrs :: emit_mrs_r_i +inst_msr_imm :: inst_msr_imm_i_i +emit_msr_imm :: emit_msr_imm_i_i inst_msr_reg :: inst_msr_reg_i_r emit_msr_reg :: emit_msr_reg_i_r inst_isb :: inst_isb_i @@ -2972,6 +2990,8 @@ inst_sdot :: inst_sdot_r_r_r emit_sdot :: emit_sdot_r_r_r inst_udot :: inst_udot_r_r_r emit_udot :: emit_udot_r_r_r +inst_usdot :: inst_usdot_r_r_r +emit_usdot :: emit_usdot_r_r_r inst_fadd_v :: inst_fadd_v_r_r_r emit_fadd_v :: emit_fadd_v_r_r_r inst_fsub_v :: inst_fsub_v_r_r_r diff --git a/core/rexcode/arm64/tablegen/encoding_table.odin b/core/rexcode/arm64/tablegen/encoding_table.odin index 54763cf04..72b48c1d5 100644 --- a/core/rexcode/arm64/tablegen/encoding_table.odin +++ b/core/rexcode/arm64/tablegen/encoding_table.odin @@ -300,6 +300,24 @@ ENCODING_TABLE := #partial [Mnemonic][]Encoding{ {.CCMN_REG, {.W_REG, .W_REG, .NZCV_IMM, .COND}, {.RN, .RM, .NZCV_FIELD, .COND_HI}, 0x3A400000, 0xFFE00C10, .BASE, {sets_flags=true}}, {.CCMN_REG, {.X_REG, .X_REG, .NZCV_IMM, .COND}, {.RN, .RM, .NZCV_FIELD, .COND_HI}, 0xBA400000, 0xFFE00C10, .BASE, {sets_flags=true, is_64=true}}, }, + // Conditional compare (immediate): imm5 at 20:16 replaces Rm; bit 11 = 1. + .CCMP_IMM = { + {.CCMP_IMM, {.W_REG, .IMM_5, .NZCV_IMM, .COND}, {.RN, .IMM5_HI, .NZCV_FIELD, .COND_HI}, 0x7A400800, 0xFFE00C10, .BASE, {sets_flags=true}}, + {.CCMP_IMM, {.X_REG, .IMM_5, .NZCV_IMM, .COND}, {.RN, .IMM5_HI, .NZCV_FIELD, .COND_HI}, 0xFA400800, 0xFFE00C10, .BASE, {sets_flags=true, is_64=true}}, + }, + .CCMN_IMM = { + {.CCMN_IMM, {.W_REG, .IMM_5, .NZCV_IMM, .COND}, {.RN, .IMM5_HI, .NZCV_FIELD, .COND_HI}, 0x3A400800, 0xFFE00C10, .BASE, {sets_flags=true}}, + {.CCMN_IMM, {.X_REG, .IMM_5, .NZCV_IMM, .COND}, {.RN, .IMM5_HI, .NZCV_FIELD, .COND_HI}, 0xBA400800, 0xFFE00C10, .BASE, {sets_flags=true, is_64=true}}, + }, + // HINT #imm7 (imm at 11:5); NOP/YIELD/etc. are specific values of this. + .HINT = { {.HINT, {.IMM_8, .NONE, .NONE, .NONE}, {.HINT_FIELD, .NONE, .NONE, .NONE}, 0xD503201F, 0xFFFFF01F, .BASE, {}} }, + // MSR , #imm: op1:op2 selector (combined) + CRm immediate. + .MSR_IMM = { {.MSR_IMM, {.SYS_REG, .IMM_4, .NONE, .NONE}, {.MSR_PSTATE, .BARRIER_FIELD, .NONE, .NONE}, 0xD500401F, 0xFFF8F01F, .BASE, {}} }, + // USDOT (unsigned-by-signed dot product, I8MM): Vd.<2S|4S>, Vn.<8B|16B>, Vm.<8B|16B>. + .USDOT = { + {.USDOT, {.V_2S, .V_8B, .V_8B, .NONE}, {.VD, .VN, .VM, .NONE}, 0x0E809C00, 0xFFE0FC00, .DOT, {}}, + {.USDOT, {.V_4S, .V_16B, .V_16B, .NONE}, {.VD, .VN, .VM, .NONE}, 0x4E809C00, 0xFFE0FC00, .DOT, {}}, + }, // ========================================================================= // ยง8 Branches diff --git a/core/rexcode/arm64/tablegen/generated/decode_tables.odin b/core/rexcode/arm64/tablegen/generated/decode_tables.odin index 0a42ef40d..7937d7802 100644 --- a/core/rexcode/arm64/tablegen/generated/decode_tables.odin +++ b/core/rexcode/arm64/tablegen/generated/decode_tables.odin @@ -8,7 +8,7 @@ package rexcode_arm64_generated import lib "../.." @(rodata) -DECODE_ENTRIES := [2221]lib.Decode_Entry{ +DECODE_ENTRIES := [2229]lib.Decode_Entry{ { .AMX_SET, {.NONE,.NONE,.NONE,.NONE}, {.NONE,.NONE,.NONE,.NONE}, 0x00201220, 0xFFFFFFFF, .AMX, {} }, { .AMX_CLR, {.NONE,.NONE,.NONE,.NONE}, {.NONE,.NONE,.NONE,.NONE}, 0x00201240, 0xFFFFFFFF, .AMX, {} }, { .AMX_LDX, {.X_REG,.NONE,.NONE,.NONE}, {.RT,.NONE,.NONE,.NONE}, 0x00201000, 0xFFFFFFE0, .AMX, {is_64=true} }, @@ -60,14 +60,14 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .SME_FMOPS, {.ZA_TILE_S,.P_REG_MERGE,.P_REG_MERGE,.Z_REG_S}, {.ZA_TILE_NUM_S,.PG,.PM3,.VN}, 0x80800010, 0xFFE08010, .SME, {} }, { .SME_BFMOPA, {.ZA_TILE_S,.P_REG_MERGE,.P_REG_MERGE,.Z_REG_H}, {.ZA_TILE_NUM_S,.PG,.PM3,.VN}, 0x81800000, 0xFFE08010, .SME, {} }, { .SME_BFMOPS, {.ZA_TILE_S,.P_REG_MERGE,.P_REG_MERGE,.Z_REG_H}, {.ZA_TILE_NUM_S,.PG,.PM3,.VN}, 0x81800010, 0xFFE08010, .SME, {} }, - { .SME_SMOPA, {.ZA_TILE_D,.P_REG_MERGE,.P_REG_MERGE,.Z_REG_H}, {.ZA_TILE_NUM_D,.PG,.PM3,.VN}, 0xA0C00000, 0xFFE08010, .SME, {is_64=true} }, { .SME_SMOPA, {.ZA_TILE_S,.P_REG_MERGE,.P_REG_MERGE,.Z_REG_B}, {.ZA_TILE_NUM_S,.PG,.PM3,.VN}, 0xA0800000, 0xFFE08010, .SME, {} }, - { .SME_SMOPS, {.ZA_TILE_S,.P_REG_MERGE,.P_REG_MERGE,.Z_REG_B}, {.ZA_TILE_NUM_S,.PG,.PM3,.VN}, 0xA0800010, 0xFFE08010, .SME, {} }, + { .SME_SMOPA, {.ZA_TILE_D,.P_REG_MERGE,.P_REG_MERGE,.Z_REG_H}, {.ZA_TILE_NUM_D,.PG,.PM3,.VN}, 0xA0C00000, 0xFFE08010, .SME, {is_64=true} }, { .SME_SMOPS, {.ZA_TILE_D,.P_REG_MERGE,.P_REG_MERGE,.Z_REG_H}, {.ZA_TILE_NUM_D,.PG,.PM3,.VN}, 0xA0C00010, 0xFFE08010, .SME, {is_64=true} }, - { .SME_UMOPA, {.ZA_TILE_D,.P_REG_MERGE,.P_REG_MERGE,.Z_REG_H}, {.ZA_TILE_NUM_D,.PG,.PM3,.VN}, 0xA1E00000, 0xFFE08010, .SME, {is_64=true} }, + { .SME_SMOPS, {.ZA_TILE_S,.P_REG_MERGE,.P_REG_MERGE,.Z_REG_B}, {.ZA_TILE_NUM_S,.PG,.PM3,.VN}, 0xA0800010, 0xFFE08010, .SME, {} }, { .SME_UMOPA, {.ZA_TILE_S,.P_REG_MERGE,.P_REG_MERGE,.Z_REG_B}, {.ZA_TILE_NUM_S,.PG,.PM3,.VN}, 0xA1A00000, 0xFFE08010, .SME, {} }, - { .SME_UMOPS, {.ZA_TILE_S,.P_REG_MERGE,.P_REG_MERGE,.Z_REG_B}, {.ZA_TILE_NUM_S,.PG,.PM3,.VN}, 0xA1A00010, 0xFFE08010, .SME, {} }, + { .SME_UMOPA, {.ZA_TILE_D,.P_REG_MERGE,.P_REG_MERGE,.Z_REG_H}, {.ZA_TILE_NUM_D,.PG,.PM3,.VN}, 0xA1E00000, 0xFFE08010, .SME, {is_64=true} }, { .SME_UMOPS, {.ZA_TILE_D,.P_REG_MERGE,.P_REG_MERGE,.Z_REG_H}, {.ZA_TILE_NUM_D,.PG,.PM3,.VN}, 0xA1E00010, 0xFFE08010, .SME, {is_64=true} }, + { .SME_UMOPS, {.ZA_TILE_S,.P_REG_MERGE,.P_REG_MERGE,.Z_REG_B}, {.ZA_TILE_NUM_S,.PG,.PM3,.VN}, 0xA1A00010, 0xFFE08010, .SME, {} }, { .SME_USMOPA, {.ZA_TILE_S,.P_REG_MERGE,.P_REG_MERGE,.Z_REG_B}, {.ZA_TILE_NUM_S,.PG,.PM3,.VN}, 0xA1800000, 0xFFE08010, .SME, {} }, { .SME_SUMOPA, {.ZA_TILE_S,.P_REG_MERGE,.P_REG_MERGE,.Z_REG_B}, {.ZA_TILE_NUM_S,.PG,.PM3,.VN}, 0xA0A00000, 0xFFE08010, .SME, {} }, { .SME_MOVA_Z_FROM_TILE, {.Z_REG_B,.P_REG_MERGE,.SME_SLICE_B,.NONE}, {.VD,.PG,.SME_SLICE_B,.NONE}, 0xC0020000, 0xFFE08010, .SME, {} }, @@ -92,14 +92,14 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .SVE_REV_P, {.P_REG,.P_REG,.NONE,.NONE}, {.PD,.PN,.NONE,.NONE}, 0x05344000, 0xFFFFFE10, .SVE, {} }, { .SVE_PTRUE, {.P_REG,.SVE_PATTERN,.NONE,.NONE}, {.PD,.SVE_PATTERN,.NONE,.NONE}, 0x2518E000, 0xFFFFFC10, .SVE, {} }, { .SVE_PTRUES, {.P_REG,.SVE_PATTERN,.NONE,.NONE}, {.PD,.SVE_PATTERN,.NONE,.NONE}, 0x2519E000, 0xFFFFFC10, .SVE, {sets_flags=true} }, - { .SVE_DUP_Z, {.Z_REG_H,.W_REG,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x05603800, 0xFFFFFC00, .SVE, {} }, { .SVE_DUP_Z, {.Z_REG_B,.W_REG,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x05203800, 0xFFFFFC00, .SVE, {} }, - { .SVE_DUP_Z, {.Z_REG_S,.W_REG,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x05A03800, 0xFFFFFC00, .SVE, {} }, { .SVE_DUP_Z, {.Z_REG_D,.X_REG,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x05E03800, 0xFFFFFC00, .SVE, {is_64=true} }, - { .SVE_REV_Z, {.Z_REG_B,.Z_REG_B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x05383800, 0xFFFFFC00, .SVE, {} }, - { .SVE_REV_Z, {.Z_REG_H,.Z_REG_H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x05783800, 0xFFFFFC00, .SVE, {} }, + { .SVE_DUP_Z, {.Z_REG_S,.W_REG,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x05A03800, 0xFFFFFC00, .SVE, {} }, + { .SVE_DUP_Z, {.Z_REG_H,.W_REG,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x05603800, 0xFFFFFC00, .SVE, {} }, { .SVE_REV_Z, {.Z_REG_D,.Z_REG_D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x05F83800, 0xFFFFFC00, .SVE, {is_64=true} }, { .SVE_REV_Z, {.Z_REG_S,.Z_REG_S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x05B83800, 0xFFFFFC00, .SVE, {} }, + { .SVE_REV_Z, {.Z_REG_B,.Z_REG_B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x05383800, 0xFFFFFC00, .SVE, {} }, + { .SVE_REV_Z, {.Z_REG_H,.Z_REG_H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x05783800, 0xFFFFFC00, .SVE, {} }, { .SVE_AESE, {.Z_REG_B,.Z_REG_B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4522E000, 0xFFFFFC00, .SVE2, {} }, { .SVE_AESD, {.Z_REG_B,.Z_REG_B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4522E400, 0xFFFFFC00, .SVE2, {} }, { .SME_RDSVL, {.X_REG,.IMM_6,.NONE,.NONE}, {.RD,.IMM6,.NONE,.NONE}, 0x04BF5800, 0xFFFFFC00, .SME, {is_64=true} }, @@ -116,84 +116,84 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .SVE_SPLICE, {.Z_REG_B,.P_REG_GOV,.Z_REG_B,.Z_REG_B}, {.VD,.PG,.VD,.VN}, 0x052C8000, 0xFFFFE000, .SVE, {} }, { .SVE_BFCVT, {.Z_REG_H,.P_REG_MERGE,.Z_REG_S,.NONE}, {.VD,.PG,.VN,.NONE}, 0x658AA000, 0xFFFFE000, .SVE, {} }, { .SVE_BFCVTNT, {.Z_REG_H,.P_REG_MERGE,.Z_REG_S,.NONE}, {.VD,.PG,.VN,.NONE}, 0x648AA000, 0xFFFFE000, .SVE, {} }, - { .SVE_ADD_Z, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04E00000, 0xFFE0FC00, .SVE, {is_64=true} }, - { .SVE_ADD_Z, {.Z_REG_B,.Z_REG_B,.Z_REG_B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04200000, 0xFFE0FC00, .SVE, {} }, - { .SVE_ADD_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04A00000, 0xFFE0FC00, .SVE, {} }, { .SVE_ADD_Z, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04600000, 0xFFE0FC00, .SVE, {} }, - { .SVE_SUB_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04A00400, 0xFFE0FC00, .SVE, {} }, + { .SVE_ADD_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04A00000, 0xFFE0FC00, .SVE, {} }, + { .SVE_ADD_Z, {.Z_REG_B,.Z_REG_B,.Z_REG_B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04200000, 0xFFE0FC00, .SVE, {} }, + { .SVE_ADD_Z, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04E00000, 0xFFE0FC00, .SVE, {is_64=true} }, { .SVE_SUB_Z, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04E00400, 0xFFE0FC00, .SVE, {is_64=true} }, { .SVE_SUB_Z, {.Z_REG_B,.Z_REG_B,.Z_REG_B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04200400, 0xFFE0FC00, .SVE, {} }, { .SVE_SUB_Z, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04600400, 0xFFE0FC00, .SVE, {} }, + { .SVE_SUB_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04A00400, 0xFFE0FC00, .SVE, {} }, { .SVE_SQADD_Z, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04601000, 0xFFE0FC00, .SVE, {} }, { .SVE_SQADD_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04A01000, 0xFFE0FC00, .SVE, {} }, - { .SVE_SQADD_Z, {.Z_REG_B,.Z_REG_B,.Z_REG_B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04201000, 0xFFE0FC00, .SVE, {} }, { .SVE_SQADD_Z, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04E01000, 0xFFE0FC00, .SVE, {is_64=true} }, - { .SVE_UQADD_Z, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04601400, 0xFFE0FC00, .SVE, {} }, - { .SVE_UQADD_Z, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04E01400, 0xFFE0FC00, .SVE, {is_64=true} }, - { .SVE_UQADD_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04A01400, 0xFFE0FC00, .SVE, {} }, + { .SVE_SQADD_Z, {.Z_REG_B,.Z_REG_B,.Z_REG_B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04201000, 0xFFE0FC00, .SVE, {} }, { .SVE_UQADD_Z, {.Z_REG_B,.Z_REG_B,.Z_REG_B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04201400, 0xFFE0FC00, .SVE, {} }, - { .SVE_SQSUB_Z, {.Z_REG_B,.Z_REG_B,.Z_REG_B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04201800, 0xFFE0FC00, .SVE, {} }, + { .SVE_UQADD_Z, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04601400, 0xFFE0FC00, .SVE, {} }, + { .SVE_UQADD_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04A01400, 0xFFE0FC00, .SVE, {} }, + { .SVE_UQADD_Z, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04E01400, 0xFFE0FC00, .SVE, {is_64=true} }, { .SVE_SQSUB_Z, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04E01800, 0xFFE0FC00, .SVE, {is_64=true} }, - { .SVE_SQSUB_Z, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04601800, 0xFFE0FC00, .SVE, {} }, { .SVE_SQSUB_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04A01800, 0xFFE0FC00, .SVE, {} }, + { .SVE_SQSUB_Z, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04601800, 0xFFE0FC00, .SVE, {} }, + { .SVE_SQSUB_Z, {.Z_REG_B,.Z_REG_B,.Z_REG_B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04201800, 0xFFE0FC00, .SVE, {} }, + { .SVE_UQSUB_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04A01C00, 0xFFE0FC00, .SVE, {} }, { .SVE_UQSUB_Z, {.Z_REG_B,.Z_REG_B,.Z_REG_B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04201C00, 0xFFE0FC00, .SVE, {} }, { .SVE_UQSUB_Z, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04601C00, 0xFFE0FC00, .SVE, {} }, - { .SVE_UQSUB_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04A01C00, 0xFFE0FC00, .SVE, {} }, { .SVE_UQSUB_Z, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04E01C00, 0xFFE0FC00, .SVE, {is_64=true} }, - { .SVE_FADD_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65800000, 0xFFE0FC00, .SVE, {} }, { .SVE_FADD_Z, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65C00000, 0xFFE0FC00, .SVE, {is_64=true} }, + { .SVE_FADD_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65800000, 0xFFE0FC00, .SVE, {} }, { .SVE_FADD_Z, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65400000, 0xFFE0FC00, .SVE, {} }, - { .SVE_FSUB_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65800400, 0xFFE0FC00, .SVE, {} }, { .SVE_FSUB_Z, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65400400, 0xFFE0FC00, .SVE, {} }, + { .SVE_FSUB_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65800400, 0xFFE0FC00, .SVE, {} }, { .SVE_FSUB_Z, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65C00400, 0xFFE0FC00, .SVE, {is_64=true} }, - { .SVE_FMUL_Z, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65C00800, 0xFFE0FC00, .SVE, {is_64=true} }, { .SVE_FMUL_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65800800, 0xFFE0FC00, .SVE, {} }, + { .SVE_FMUL_Z, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65C00800, 0xFFE0FC00, .SVE, {is_64=true} }, { .SVE_FMUL_Z, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65400800, 0xFFE0FC00, .SVE, {} }, - { .SVE_FRECPS, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65801800, 0xFFE0FC00, .SVE, {} }, { .SVE_FRECPS, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65401800, 0xFFE0FC00, .SVE, {} }, + { .SVE_FRECPS, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65801800, 0xFFE0FC00, .SVE, {} }, { .SVE_FRECPS, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65C01800, 0xFFE0FC00, .SVE, {is_64=true} }, { .SVE_FRSQRTS, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65801C00, 0xFFE0FC00, .SVE, {} }, - { .SVE_FRSQRTS, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65C01C00, 0xFFE0FC00, .SVE, {is_64=true} }, { .SVE_FRSQRTS, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65401C00, 0xFFE0FC00, .SVE, {} }, - { .SVE_FTSMUL, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65800C00, 0xFFE0FC00, .SVE, {} }, + { .SVE_FRSQRTS, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65C01C00, 0xFFE0FC00, .SVE, {is_64=true} }, { .SVE_FTSMUL, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65400C00, 0xFFE0FC00, .SVE, {} }, + { .SVE_FTSMUL, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65800C00, 0xFFE0FC00, .SVE, {} }, { .SVE_FTSMUL, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65C00C00, 0xFFE0FC00, .SVE, {is_64=true} }, - { .SVE_TBL, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05E03000, 0xFFE0FC00, .SVE, {is_64=true} }, - { .SVE_TBL, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05A03000, 0xFFE0FC00, .SVE, {} }, { .SVE_TBL, {.Z_REG_B,.Z_REG_B,.Z_REG_B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05203000, 0xFFE0FC00, .SVE, {} }, + { .SVE_TBL, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05E03000, 0xFFE0FC00, .SVE, {is_64=true} }, { .SVE_TBL, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05603000, 0xFFE0FC00, .SVE, {} }, - { .SVE_ZIP1_Z, {.Z_REG_B,.Z_REG_B,.Z_REG_B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05206000, 0xFFE0FC00, .SVE, {} }, - { .SVE_ZIP1_Z, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05606000, 0xFFE0FC00, .SVE, {} }, + { .SVE_TBL, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05A03000, 0xFFE0FC00, .SVE, {} }, { .SVE_ZIP1_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05A06000, 0xFFE0FC00, .SVE, {} }, + { .SVE_ZIP1_Z, {.Z_REG_B,.Z_REG_B,.Z_REG_B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05206000, 0xFFE0FC00, .SVE, {} }, { .SVE_ZIP1_Z, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05E06000, 0xFFE0FC00, .SVE, {is_64=true} }, - { .SVE_ZIP2_Z, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05E06400, 0xFFE0FC00, .SVE, {is_64=true} }, + { .SVE_ZIP1_Z, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05606000, 0xFFE0FC00, .SVE, {} }, { .SVE_ZIP2_Z, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05606400, 0xFFE0FC00, .SVE, {} }, - { .SVE_ZIP2_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05A06400, 0xFFE0FC00, .SVE, {} }, + { .SVE_ZIP2_Z, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05E06400, 0xFFE0FC00, .SVE, {is_64=true} }, { .SVE_ZIP2_Z, {.Z_REG_B,.Z_REG_B,.Z_REG_B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05206400, 0xFFE0FC00, .SVE, {} }, - { .SVE_UZP1_Z, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05606800, 0xFFE0FC00, .SVE, {} }, + { .SVE_ZIP2_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05A06400, 0xFFE0FC00, .SVE, {} }, { .SVE_UZP1_Z, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05E06800, 0xFFE0FC00, .SVE, {is_64=true} }, + { .SVE_UZP1_Z, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05606800, 0xFFE0FC00, .SVE, {} }, { .SVE_UZP1_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05A06800, 0xFFE0FC00, .SVE, {} }, { .SVE_UZP1_Z, {.Z_REG_B,.Z_REG_B,.Z_REG_B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05206800, 0xFFE0FC00, .SVE, {} }, { .SVE_UZP2_Z, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05E06C00, 0xFFE0FC00, .SVE, {is_64=true} }, { .SVE_UZP2_Z, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05606C00, 0xFFE0FC00, .SVE, {} }, - { .SVE_UZP2_Z, {.Z_REG_B,.Z_REG_B,.Z_REG_B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05206C00, 0xFFE0FC00, .SVE, {} }, { .SVE_UZP2_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05A06C00, 0xFFE0FC00, .SVE, {} }, + { .SVE_UZP2_Z, {.Z_REG_B,.Z_REG_B,.Z_REG_B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05206C00, 0xFFE0FC00, .SVE, {} }, { .SVE_TRN1_Z, {.Z_REG_B,.Z_REG_B,.Z_REG_B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05207000, 0xFFE0FC00, .SVE, {} }, { .SVE_TRN1_Z, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05607000, 0xFFE0FC00, .SVE, {} }, - { .SVE_TRN1_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05A07000, 0xFFE0FC00, .SVE, {} }, { .SVE_TRN1_Z, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05E07000, 0xFFE0FC00, .SVE, {is_64=true} }, - { .SVE_TRN2_Z, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05E07400, 0xFFE0FC00, .SVE, {is_64=true} }, - { .SVE_TRN2_Z, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05607400, 0xFFE0FC00, .SVE, {} }, + { .SVE_TRN1_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05A07000, 0xFFE0FC00, .SVE, {} }, { .SVE_TRN2_Z, {.Z_REG_B,.Z_REG_B,.Z_REG_B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05207400, 0xFFE0FC00, .SVE, {} }, + { .SVE_TRN2_Z, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05E07400, 0xFFE0FC00, .SVE, {is_64=true} }, { .SVE_TRN2_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05A07400, 0xFFE0FC00, .SVE, {} }, - { .SVE_SQRDMLAH, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x44407000, 0xFFE0FC00, .SVE2, {} }, - { .SVE_SQRDMLAH, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x44807000, 0xFFE0FC00, .SVE2, {} }, + { .SVE_TRN2_Z, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05607400, 0xFFE0FC00, .SVE, {} }, { .SVE_SQRDMLAH, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x44C07000, 0xFFE0FC00, .SVE2, {is_64=true} }, + { .SVE_SQRDMLAH, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x44807000, 0xFFE0FC00, .SVE2, {} }, { .SVE_SQRDMLAH, {.Z_REG_B,.Z_REG_B,.Z_REG_B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x44007000, 0xFFE0FC00, .SVE2, {} }, - { .SVE_SQRDMLSH, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x44C07400, 0xFFE0FC00, .SVE2, {is_64=true} }, + { .SVE_SQRDMLAH, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x44407000, 0xFFE0FC00, .SVE2, {} }, { .SVE_SQRDMLSH, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x44407400, 0xFFE0FC00, .SVE2, {} }, - { .SVE_SQRDMLSH, {.Z_REG_B,.Z_REG_B,.Z_REG_B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x44007400, 0xFFE0FC00, .SVE2, {} }, { .SVE_SQRDMLSH, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x44807400, 0xFFE0FC00, .SVE2, {} }, + { .SVE_SQRDMLSH, {.Z_REG_B,.Z_REG_B,.Z_REG_B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x44007400, 0xFFE0FC00, .SVE2, {} }, + { .SVE_SQRDMLSH, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x44C07400, 0xFFE0FC00, .SVE2, {is_64=true} }, { .SVE_ADCLB, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4540D000, 0xFFE0FC00, .SVE2, {is_64=true} }, { .SVE_ADCLB, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4500D000, 0xFFE0FC00, .SVE2, {} }, { .SVE_ADCLT, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4500D400, 0xFFE0FC00, .SVE2, {} }, @@ -246,165 +246,165 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .SVE_BICS_P, {.P_REG,.P_REG_ZERO,.P_REG,.P_REG}, {.PD,.PG4,.PN,.PM}, 0x25404010, 0xFFE0C210, .SVE, {sets_flags=true} }, { .SVE_ORRS_P, {.P_REG,.P_REG_ZERO,.P_REG,.P_REG}, {.PD,.PG4,.PN,.PM}, 0x25C04000, 0xFFE0C210, .SVE, {sets_flags=true} }, { .SVE_EORS_P, {.P_REG,.P_REG_ZERO,.P_REG,.P_REG}, {.PD,.PG4,.PN,.PM}, 0x25404200, 0xFFE0C210, .SVE, {sets_flags=true} }, - { .SVE_CMPNE, {.P_REG,.P_REG_ZERO,.Z_REG_D,.Z_REG_D}, {.PD,.PG,.VN,.VM}, 0x24C0A010, 0xFFE0E010, .SVE, {sets_flags=true, is_64=true} }, - { .SVE_CMPNE, {.P_REG,.P_REG_ZERO,.Z_REG_S,.Z_REG_S}, {.PD,.PG,.VN,.VM}, 0x2480A010, 0xFFE0E010, .SVE, {sets_flags=true} }, { .SVE_CMPNE, {.P_REG,.P_REG_ZERO,.Z_REG_H,.Z_REG_H}, {.PD,.PG,.VN,.VM}, 0x2440A010, 0xFFE0E010, .SVE, {sets_flags=true} }, + { .SVE_CMPNE, {.P_REG,.P_REG_ZERO,.Z_REG_S,.Z_REG_S}, {.PD,.PG,.VN,.VM}, 0x2480A010, 0xFFE0E010, .SVE, {sets_flags=true} }, + { .SVE_CMPNE, {.P_REG,.P_REG_ZERO,.Z_REG_D,.Z_REG_D}, {.PD,.PG,.VN,.VM}, 0x24C0A010, 0xFFE0E010, .SVE, {sets_flags=true, is_64=true} }, { .SVE_CMPNE, {.P_REG,.P_REG_ZERO,.Z_REG_B,.Z_REG_B}, {.PD,.PG,.VN,.VM}, 0x2400A010, 0xFFE0E010, .SVE, {sets_flags=true} }, - { .SVE_CMPGE, {.P_REG,.P_REG_ZERO,.Z_REG_H,.Z_REG_H}, {.PD,.PG,.VN,.VM}, 0x24408000, 0xFFE0E010, .SVE, {sets_flags=true} }, - { .SVE_CMPGE, {.P_REG,.P_REG_ZERO,.Z_REG_S,.Z_REG_S}, {.PD,.PG,.VN,.VM}, 0x24808000, 0xFFE0E010, .SVE, {sets_flags=true} }, { .SVE_CMPGE, {.P_REG,.P_REG_ZERO,.Z_REG_D,.Z_REG_D}, {.PD,.PG,.VN,.VM}, 0x24C08000, 0xFFE0E010, .SVE, {sets_flags=true, is_64=true} }, + { .SVE_CMPGE, {.P_REG,.P_REG_ZERO,.Z_REG_S,.Z_REG_S}, {.PD,.PG,.VN,.VM}, 0x24808000, 0xFFE0E010, .SVE, {sets_flags=true} }, + { .SVE_CMPGE, {.P_REG,.P_REG_ZERO,.Z_REG_H,.Z_REG_H}, {.PD,.PG,.VN,.VM}, 0x24408000, 0xFFE0E010, .SVE, {sets_flags=true} }, { .SVE_CMPGE, {.P_REG,.P_REG_ZERO,.Z_REG_B,.Z_REG_B}, {.PD,.PG,.VN,.VM}, 0x24008000, 0xFFE0E010, .SVE, {sets_flags=true} }, { .SVE_CMPGT, {.P_REG,.P_REG_ZERO,.Z_REG_H,.Z_REG_H}, {.PD,.PG,.VN,.VM}, 0x24408010, 0xFFE0E010, .SVE, {sets_flags=true} }, { .SVE_CMPGT, {.P_REG,.P_REG_ZERO,.Z_REG_B,.Z_REG_B}, {.PD,.PG,.VN,.VM}, 0x24008010, 0xFFE0E010, .SVE, {sets_flags=true} }, { .SVE_CMPGT, {.P_REG,.P_REG_ZERO,.Z_REG_D,.Z_REG_D}, {.PD,.PG,.VN,.VM}, 0x24C08010, 0xFFE0E010, .SVE, {sets_flags=true, is_64=true} }, { .SVE_CMPGT, {.P_REG,.P_REG_ZERO,.Z_REG_S,.Z_REG_S}, {.PD,.PG,.VN,.VM}, 0x24808010, 0xFFE0E010, .SVE, {sets_flags=true} }, - { .SVE_CMPHI, {.P_REG,.P_REG_ZERO,.Z_REG_B,.Z_REG_B}, {.PD,.PG,.VN,.VM}, 0x24000010, 0xFFE0E010, .SVE, {sets_flags=true} }, { .SVE_CMPHI, {.P_REG,.P_REG_ZERO,.Z_REG_S,.Z_REG_S}, {.PD,.PG,.VN,.VM}, 0x24800010, 0xFFE0E010, .SVE, {sets_flags=true} }, - { .SVE_CMPHI, {.P_REG,.P_REG_ZERO,.Z_REG_H,.Z_REG_H}, {.PD,.PG,.VN,.VM}, 0x24400010, 0xFFE0E010, .SVE, {sets_flags=true} }, { .SVE_CMPHI, {.P_REG,.P_REG_ZERO,.Z_REG_D,.Z_REG_D}, {.PD,.PG,.VN,.VM}, 0x24C00010, 0xFFE0E010, .SVE, {sets_flags=true, is_64=true} }, - { .SVE_CMPHS, {.P_REG,.P_REG_ZERO,.Z_REG_H,.Z_REG_H}, {.PD,.PG,.VN,.VM}, 0x24400000, 0xFFE0E010, .SVE, {sets_flags=true} }, + { .SVE_CMPHI, {.P_REG,.P_REG_ZERO,.Z_REG_B,.Z_REG_B}, {.PD,.PG,.VN,.VM}, 0x24000010, 0xFFE0E010, .SVE, {sets_flags=true} }, + { .SVE_CMPHI, {.P_REG,.P_REG_ZERO,.Z_REG_H,.Z_REG_H}, {.PD,.PG,.VN,.VM}, 0x24400010, 0xFFE0E010, .SVE, {sets_flags=true} }, { .SVE_CMPHS, {.P_REG,.P_REG_ZERO,.Z_REG_D,.Z_REG_D}, {.PD,.PG,.VN,.VM}, 0x24C00000, 0xFFE0E010, .SVE, {sets_flags=true, is_64=true} }, { .SVE_CMPHS, {.P_REG,.P_REG_ZERO,.Z_REG_B,.Z_REG_B}, {.PD,.PG,.VN,.VM}, 0x24000000, 0xFFE0E010, .SVE, {sets_flags=true} }, { .SVE_CMPHS, {.P_REG,.P_REG_ZERO,.Z_REG_S,.Z_REG_S}, {.PD,.PG,.VN,.VM}, 0x24800000, 0xFFE0E010, .SVE, {sets_flags=true} }, + { .SVE_CMPHS, {.P_REG,.P_REG_ZERO,.Z_REG_H,.Z_REG_H}, {.PD,.PG,.VN,.VM}, 0x24400000, 0xFFE0E010, .SVE, {sets_flags=true} }, { .SVE_LDR_P, {.P_REG,.MEM,.NONE,.NONE}, {.PD,.SVE_OFFSET_BASE_SI,.NONE,.NONE}, 0x85800000, 0xFFE0E010, .SVE, {} }, { .SVE_STR_P, {.P_REG,.MEM,.NONE,.NONE}, {.PD,.SVE_OFFSET_BASE_SI,.NONE,.NONE}, 0xE5800000, 0xFFE0E010, .SVE, {} }, - { .SVE_MATCH, {.P_REG,.P_REG_ZERO,.Z_REG_B,.Z_REG_B}, {.PD,.PG,.VN,.VM}, 0x45208000, 0xFFE0E010, .SVE2, {sets_flags=true} }, { .SVE_MATCH, {.P_REG,.P_REG_ZERO,.Z_REG_H,.Z_REG_H}, {.PD,.PG,.VN,.VM}, 0x45608000, 0xFFE0E010, .SVE2, {sets_flags=true} }, - { .SVE_NMATCH, {.P_REG,.P_REG_ZERO,.Z_REG_B,.Z_REG_B}, {.PD,.PG,.VN,.VM}, 0x45208010, 0xFFE0E010, .SVE2, {sets_flags=true} }, + { .SVE_MATCH, {.P_REG,.P_REG_ZERO,.Z_REG_B,.Z_REG_B}, {.PD,.PG,.VN,.VM}, 0x45208000, 0xFFE0E010, .SVE2, {sets_flags=true} }, { .SVE_NMATCH, {.P_REG,.P_REG_ZERO,.Z_REG_H,.Z_REG_H}, {.PD,.PG,.VN,.VM}, 0x45608010, 0xFFE0E010, .SVE2, {sets_flags=true} }, - { .SVE_ADD_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x04400000, 0xFFE0E000, .SVE, {} }, - { .SVE_ADD_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.Z_REG_B}, {.VD,.PG,.VD,.VM}, 0x04000000, 0xFFE0E000, .SVE, {} }, + { .SVE_NMATCH, {.P_REG,.P_REG_ZERO,.Z_REG_B,.Z_REG_B}, {.PD,.PG,.VN,.VM}, 0x45208010, 0xFFE0E010, .SVE2, {sets_flags=true} }, { .SVE_ADD_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x04C00000, 0xFFE0E000, .SVE, {is_64=true} }, { .SVE_ADD_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x04800000, 0xFFE0E000, .SVE, {} }, - { .SVE_SUB_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x04810000, 0xFFE0E000, .SVE, {} }, + { .SVE_ADD_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x04400000, 0xFFE0E000, .SVE, {} }, + { .SVE_ADD_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.Z_REG_B}, {.VD,.PG,.VD,.VM}, 0x04000000, 0xFFE0E000, .SVE, {} }, { .SVE_SUB_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.Z_REG_B}, {.VD,.PG,.VD,.VM}, 0x04010000, 0xFFE0E000, .SVE, {} }, - { .SVE_SUB_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x04410000, 0xFFE0E000, .SVE, {} }, { .SVE_SUB_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x04C10000, 0xFFE0E000, .SVE, {is_64=true} }, - { .SVE_SUBR_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.Z_REG_B}, {.VD,.PG,.VD,.VM}, 0x04030000, 0xFFE0E000, .SVE, {} }, + { .SVE_SUB_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x04810000, 0xFFE0E000, .SVE, {} }, + { .SVE_SUB_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x04410000, 0xFFE0E000, .SVE, {} }, { .SVE_SUBR_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x04C30000, 0xFFE0E000, .SVE, {is_64=true} }, { .SVE_SUBR_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x04830000, 0xFFE0E000, .SVE, {} }, + { .SVE_SUBR_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.Z_REG_B}, {.VD,.PG,.VD,.VM}, 0x04030000, 0xFFE0E000, .SVE, {} }, { .SVE_SUBR_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x04430000, 0xFFE0E000, .SVE, {} }, { .SVE_MUL_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x04500000, 0xFFE0E000, .SVE, {} }, + { .SVE_MUL_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x04900000, 0xFFE0E000, .SVE, {} }, { .SVE_MUL_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.Z_REG_B}, {.VD,.PG,.VD,.VM}, 0x04100000, 0xFFE0E000, .SVE, {} }, { .SVE_MUL_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x04D00000, 0xFFE0E000, .SVE, {is_64=true} }, - { .SVE_MUL_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x04900000, 0xFFE0E000, .SVE, {} }, - { .SVE_SMULH_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x04D20000, 0xFFE0E000, .SVE, {is_64=true} }, - { .SVE_SMULH_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x04920000, 0xFFE0E000, .SVE, {} }, { .SVE_SMULH_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.Z_REG_B}, {.VD,.PG,.VD,.VM}, 0x04120000, 0xFFE0E000, .SVE, {} }, + { .SVE_SMULH_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x04920000, 0xFFE0E000, .SVE, {} }, { .SVE_SMULH_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x04520000, 0xFFE0E000, .SVE, {} }, + { .SVE_SMULH_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x04D20000, 0xFFE0E000, .SVE, {is_64=true} }, { .SVE_UMULH_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x04930000, 0xFFE0E000, .SVE, {} }, { .SVE_UMULH_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x04530000, 0xFFE0E000, .SVE, {} }, - { .SVE_UMULH_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x04D30000, 0xFFE0E000, .SVE, {is_64=true} }, { .SVE_UMULH_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.Z_REG_B}, {.VD,.PG,.VD,.VM}, 0x04130000, 0xFFE0E000, .SVE, {} }, + { .SVE_UMULH_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x04D30000, 0xFFE0E000, .SVE, {is_64=true} }, { .SVE_SDIV_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x04D40000, 0xFFE0E000, .SVE, {is_64=true} }, { .SVE_SDIV_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x04940000, 0xFFE0E000, .SVE, {} }, - { .SVE_UDIV_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x04950000, 0xFFE0E000, .SVE, {} }, { .SVE_UDIV_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x04D50000, 0xFFE0E000, .SVE, {is_64=true} }, + { .SVE_UDIV_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x04950000, 0xFFE0E000, .SVE, {} }, { .SVE_SMAX_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.Z_REG_B}, {.VD,.PG,.VD,.VM}, 0x04080000, 0xFFE0E000, .SVE, {} }, - { .SVE_SMAX_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x04480000, 0xFFE0E000, .SVE, {} }, - { .SVE_SMAX_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x04880000, 0xFFE0E000, .SVE, {} }, { .SVE_SMAX_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x04C80000, 0xFFE0E000, .SVE, {is_64=true} }, - { .SVE_UMAX_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.Z_REG_B}, {.VD,.PG,.VD,.VM}, 0x04090000, 0xFFE0E000, .SVE, {} }, - { .SVE_UMAX_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x04490000, 0xFFE0E000, .SVE, {} }, + { .SVE_SMAX_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x04880000, 0xFFE0E000, .SVE, {} }, + { .SVE_SMAX_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x04480000, 0xFFE0E000, .SVE, {} }, { .SVE_UMAX_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x04C90000, 0xFFE0E000, .SVE, {is_64=true} }, + { .SVE_UMAX_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x04490000, 0xFFE0E000, .SVE, {} }, { .SVE_UMAX_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x04890000, 0xFFE0E000, .SVE, {} }, - { .SVE_SMIN_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x04CA0000, 0xFFE0E000, .SVE, {is_64=true} }, + { .SVE_UMAX_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.Z_REG_B}, {.VD,.PG,.VD,.VM}, 0x04090000, 0xFFE0E000, .SVE, {} }, { .SVE_SMIN_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x048A0000, 0xFFE0E000, .SVE, {} }, { .SVE_SMIN_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.Z_REG_B}, {.VD,.PG,.VD,.VM}, 0x040A0000, 0xFFE0E000, .SVE, {} }, + { .SVE_SMIN_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x04CA0000, 0xFFE0E000, .SVE, {is_64=true} }, { .SVE_SMIN_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x044A0000, 0xFFE0E000, .SVE, {} }, - { .SVE_UMIN_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x048B0000, 0xFFE0E000, .SVE, {} }, { .SVE_UMIN_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x04CB0000, 0xFFE0E000, .SVE, {is_64=true} }, - { .SVE_UMIN_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x044B0000, 0xFFE0E000, .SVE, {} }, { .SVE_UMIN_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.Z_REG_B}, {.VD,.PG,.VD,.VM}, 0x040B0000, 0xFFE0E000, .SVE, {} }, + { .SVE_UMIN_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x044B0000, 0xFFE0E000, .SVE, {} }, + { .SVE_UMIN_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x048B0000, 0xFFE0E000, .SVE, {} }, { .SVE_SABD_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x04CC0000, 0xFFE0E000, .SVE, {is_64=true} }, - { .SVE_SABD_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x044C0000, 0xFFE0E000, .SVE, {} }, { .SVE_SABD_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.Z_REG_B}, {.VD,.PG,.VD,.VM}, 0x040C0000, 0xFFE0E000, .SVE, {} }, { .SVE_SABD_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x048C0000, 0xFFE0E000, .SVE, {} }, + { .SVE_SABD_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x044C0000, 0xFFE0E000, .SVE, {} }, { .SVE_UABD_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x04CD0000, 0xFFE0E000, .SVE, {is_64=true} }, { .SVE_UABD_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x044D0000, 0xFFE0E000, .SVE, {} }, - { .SVE_UABD_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x048D0000, 0xFFE0E000, .SVE, {} }, { .SVE_UABD_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.Z_REG_B}, {.VD,.PG,.VD,.VM}, 0x040D0000, 0xFFE0E000, .SVE, {} }, - { .SVE_ASR_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x04D08000, 0xFFE0E000, .SVE, {is_64=true} }, + { .SVE_UABD_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x048D0000, 0xFFE0E000, .SVE, {} }, { .SVE_ASR_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x04508000, 0xFFE0E000, .SVE, {} }, { .SVE_ASR_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.Z_REG_B}, {.VD,.PG,.VD,.VM}, 0x04108000, 0xFFE0E000, .SVE, {} }, + { .SVE_ASR_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x04D08000, 0xFFE0E000, .SVE, {is_64=true} }, { .SVE_ASR_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x04908000, 0xFFE0E000, .SVE, {} }, { .SVE_LSL_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x04D38000, 0xFFE0E000, .SVE, {is_64=true} }, - { .SVE_LSL_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x04538000, 0xFFE0E000, .SVE, {} }, - { .SVE_LSL_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x04938000, 0xFFE0E000, .SVE, {} }, { .SVE_LSL_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.Z_REG_B}, {.VD,.PG,.VD,.VM}, 0x04138000, 0xFFE0E000, .SVE, {} }, - { .SVE_LSR_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x04518000, 0xFFE0E000, .SVE, {} }, + { .SVE_LSL_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x04938000, 0xFFE0E000, .SVE, {} }, + { .SVE_LSL_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x04538000, 0xFFE0E000, .SVE, {} }, { .SVE_LSR_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x04D18000, 0xFFE0E000, .SVE, {is_64=true} }, - { .SVE_LSR_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x04918000, 0xFFE0E000, .SVE, {} }, { .SVE_LSR_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.Z_REG_B}, {.VD,.PG,.VD,.VM}, 0x04118000, 0xFFE0E000, .SVE, {} }, - { .SVE_ABS_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.NONE}, {.VD,.PG,.VN,.NONE}, 0x0416A000, 0xFFE0E000, .SVE, {} }, - { .SVE_ABS_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.NONE}, {.VD,.PG,.VN,.NONE}, 0x04D6A000, 0xFFE0E000, .SVE, {is_64=true} }, - { .SVE_ABS_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.NONE}, {.VD,.PG,.VN,.NONE}, 0x0456A000, 0xFFE0E000, .SVE, {} }, + { .SVE_LSR_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x04518000, 0xFFE0E000, .SVE, {} }, + { .SVE_LSR_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x04918000, 0xFFE0E000, .SVE, {} }, { .SVE_ABS_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.NONE}, {.VD,.PG,.VN,.NONE}, 0x0496A000, 0xFFE0E000, .SVE, {} }, - { .SVE_NEG_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.NONE}, {.VD,.PG,.VN,.NONE}, 0x0417A000, 0xFFE0E000, .SVE, {} }, + { .SVE_ABS_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.NONE}, {.VD,.PG,.VN,.NONE}, 0x0456A000, 0xFFE0E000, .SVE, {} }, + { .SVE_ABS_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.NONE}, {.VD,.PG,.VN,.NONE}, 0x04D6A000, 0xFFE0E000, .SVE, {is_64=true} }, + { .SVE_ABS_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.NONE}, {.VD,.PG,.VN,.NONE}, 0x0416A000, 0xFFE0E000, .SVE, {} }, { .SVE_NEG_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.NONE}, {.VD,.PG,.VN,.NONE}, 0x04D7A000, 0xFFE0E000, .SVE, {is_64=true} }, { .SVE_NEG_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.NONE}, {.VD,.PG,.VN,.NONE}, 0x0497A000, 0xFFE0E000, .SVE, {} }, { .SVE_NEG_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.NONE}, {.VD,.PG,.VN,.NONE}, 0x0457A000, 0xFFE0E000, .SVE, {} }, + { .SVE_NEG_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.NONE}, {.VD,.PG,.VN,.NONE}, 0x0417A000, 0xFFE0E000, .SVE, {} }, + { .SVE_CLS_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.NONE}, {.VD,.PG,.VN,.NONE}, 0x0418A000, 0xFFE0E000, .SVE, {} }, { .SVE_CLS_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.NONE}, {.VD,.PG,.VN,.NONE}, 0x0498A000, 0xFFE0E000, .SVE, {} }, { .SVE_CLS_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.NONE}, {.VD,.PG,.VN,.NONE}, 0x04D8A000, 0xFFE0E000, .SVE, {is_64=true} }, - { .SVE_CLS_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.NONE}, {.VD,.PG,.VN,.NONE}, 0x0418A000, 0xFFE0E000, .SVE, {} }, { .SVE_CLS_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.NONE}, {.VD,.PG,.VN,.NONE}, 0x0458A000, 0xFFE0E000, .SVE, {} }, { .SVE_CLZ_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.NONE}, {.VD,.PG,.VN,.NONE}, 0x0459A000, 0xFFE0E000, .SVE, {} }, - { .SVE_CLZ_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.NONE}, {.VD,.PG,.VN,.NONE}, 0x0499A000, 0xFFE0E000, .SVE, {} }, { .SVE_CLZ_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.NONE}, {.VD,.PG,.VN,.NONE}, 0x0419A000, 0xFFE0E000, .SVE, {} }, + { .SVE_CLZ_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.NONE}, {.VD,.PG,.VN,.NONE}, 0x0499A000, 0xFFE0E000, .SVE, {} }, { .SVE_CLZ_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.NONE}, {.VD,.PG,.VN,.NONE}, 0x04D9A000, 0xFFE0E000, .SVE, {is_64=true} }, - { .SVE_CNT_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.NONE}, {.VD,.PG,.VN,.NONE}, 0x041AA000, 0xFFE0E000, .SVE, {} }, { .SVE_CNT_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.NONE}, {.VD,.PG,.VN,.NONE}, 0x045AA000, 0xFFE0E000, .SVE, {} }, - { .SVE_CNT_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.NONE}, {.VD,.PG,.VN,.NONE}, 0x049AA000, 0xFFE0E000, .SVE, {} }, { .SVE_CNT_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.NONE}, {.VD,.PG,.VN,.NONE}, 0x04DAA000, 0xFFE0E000, .SVE, {is_64=true} }, + { .SVE_CNT_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.NONE}, {.VD,.PG,.VN,.NONE}, 0x041AA000, 0xFFE0E000, .SVE, {} }, + { .SVE_CNT_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.NONE}, {.VD,.PG,.VN,.NONE}, 0x049AA000, 0xFFE0E000, .SVE, {} }, { .SVE_FADD_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x65808000, 0xFFE0E000, .SVE, {} }, - { .SVE_FADD_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x65408000, 0xFFE0E000, .SVE, {} }, { .SVE_FADD_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x65C08000, 0xFFE0E000, .SVE, {is_64=true} }, - { .SVE_FSUB_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x65C18000, 0xFFE0E000, .SVE, {is_64=true} }, - { .SVE_FSUB_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x65418000, 0xFFE0E000, .SVE, {} }, + { .SVE_FADD_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x65408000, 0xFFE0E000, .SVE, {} }, { .SVE_FSUB_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x65818000, 0xFFE0E000, .SVE, {} }, + { .SVE_FSUB_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x65418000, 0xFFE0E000, .SVE, {} }, + { .SVE_FSUB_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x65C18000, 0xFFE0E000, .SVE, {is_64=true} }, { .SVE_FMUL_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x65828000, 0xFFE0E000, .SVE, {} }, { .SVE_FMUL_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x65C28000, 0xFFE0E000, .SVE, {is_64=true} }, { .SVE_FMUL_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x65428000, 0xFFE0E000, .SVE, {} }, - { .SVE_FDIV_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x658D8000, 0xFFE0E000, .SVE, {} }, { .SVE_FDIV_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x654D8000, 0xFFE0E000, .SVE, {} }, { .SVE_FDIV_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x65CD8000, 0xFFE0E000, .SVE, {is_64=true} }, + { .SVE_FDIV_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x658D8000, 0xFFE0E000, .SVE, {} }, { .SVE_FMAX_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x65468000, 0xFFE0E000, .SVE, {} }, - { .SVE_FMAX_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x65C68000, 0xFFE0E000, .SVE, {is_64=true} }, { .SVE_FMAX_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x65868000, 0xFFE0E000, .SVE, {} }, - { .SVE_FMIN_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x65478000, 0xFFE0E000, .SVE, {} }, + { .SVE_FMAX_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x65C68000, 0xFFE0E000, .SVE, {is_64=true} }, { .SVE_FMIN_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x65C78000, 0xFFE0E000, .SVE, {is_64=true} }, + { .SVE_FMIN_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x65478000, 0xFFE0E000, .SVE, {} }, { .SVE_FMIN_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x65878000, 0xFFE0E000, .SVE, {} }, + { .SVE_FMAXNM_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x65C48000, 0xFFE0E000, .SVE, {is_64=true} }, { .SVE_FMAXNM_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x65848000, 0xFFE0E000, .SVE, {} }, { .SVE_FMAXNM_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x65448000, 0xFFE0E000, .SVE, {} }, - { .SVE_FMAXNM_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x65C48000, 0xFFE0E000, .SVE, {is_64=true} }, - { .SVE_FMINNM_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x65458000, 0xFFE0E000, .SVE, {} }, - { .SVE_FMINNM_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x65858000, 0xFFE0E000, .SVE, {} }, { .SVE_FMINNM_PRED, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x65C58000, 0xFFE0E000, .SVE, {is_64=true} }, - { .SVE_FABS_Z, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.NONE}, {.VD,.PG,.VN,.NONE}, 0x04DCA000, 0xFFE0E000, .SVE, {is_64=true} }, + { .SVE_FMINNM_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x65858000, 0xFFE0E000, .SVE, {} }, + { .SVE_FMINNM_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x65458000, 0xFFE0E000, .SVE, {} }, { .SVE_FABS_Z, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.NONE}, {.VD,.PG,.VN,.NONE}, 0x045CA000, 0xFFE0E000, .SVE, {} }, { .SVE_FABS_Z, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.NONE}, {.VD,.PG,.VN,.NONE}, 0x049CA000, 0xFFE0E000, .SVE, {} }, - { .SVE_FNEG_Z, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.NONE}, {.VD,.PG,.VN,.NONE}, 0x045DA000, 0xFFE0E000, .SVE, {} }, + { .SVE_FABS_Z, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.NONE}, {.VD,.PG,.VN,.NONE}, 0x04DCA000, 0xFFE0E000, .SVE, {is_64=true} }, { .SVE_FNEG_Z, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.NONE}, {.VD,.PG,.VN,.NONE}, 0x049DA000, 0xFFE0E000, .SVE, {} }, { .SVE_FNEG_Z, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.NONE}, {.VD,.PG,.VN,.NONE}, 0x04DDA000, 0xFFE0E000, .SVE, {is_64=true} }, - { .SVE_FSQRT_Z, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.NONE}, {.VD,.PG,.VN,.NONE}, 0x65CDA000, 0xFFE0E000, .SVE, {is_64=true} }, + { .SVE_FNEG_Z, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.NONE}, {.VD,.PG,.VN,.NONE}, 0x045DA000, 0xFFE0E000, .SVE, {} }, { .SVE_FSQRT_Z, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.NONE}, {.VD,.PG,.VN,.NONE}, 0x654DA000, 0xFFE0E000, .SVE, {} }, + { .SVE_FSQRT_Z, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.NONE}, {.VD,.PG,.VN,.NONE}, 0x65CDA000, 0xFFE0E000, .SVE, {is_64=true} }, { .SVE_FSQRT_Z, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.NONE}, {.VD,.PG,.VN,.NONE}, 0x658DA000, 0xFFE0E000, .SVE, {} }, + { .SVE_FMLA, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VN,.VM}, 0x65E00000, 0xFFE0E000, .SVE, {is_64=true} }, { .SVE_FMLA, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VN,.VM}, 0x65A00000, 0xFFE0E000, .SVE, {} }, { .SVE_FMLA, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VN,.VM}, 0x65600000, 0xFFE0E000, .SVE, {} }, - { .SVE_FMLA, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VN,.VM}, 0x65E00000, 0xFFE0E000, .SVE, {is_64=true} }, - { .SVE_FMLS, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VN,.VM}, 0x65A02000, 0xFFE0E000, .SVE, {} }, { .SVE_FMLS, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VN,.VM}, 0x65E02000, 0xFFE0E000, .SVE, {is_64=true} }, { .SVE_FMLS, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VN,.VM}, 0x65602000, 0xFFE0E000, .SVE, {} }, + { .SVE_FMLS, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VN,.VM}, 0x65A02000, 0xFFE0E000, .SVE, {} }, + { .SVE_FNMLA, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VN,.VM}, 0x65E04000, 0xFFE0E000, .SVE, {is_64=true} }, { .SVE_FNMLA, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VN,.VM}, 0x65604000, 0xFFE0E000, .SVE, {} }, { .SVE_FNMLA, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VN,.VM}, 0x65A04000, 0xFFE0E000, .SVE, {} }, - { .SVE_FNMLA, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VN,.VM}, 0x65E04000, 0xFFE0E000, .SVE, {is_64=true} }, - { .SVE_FNMLS, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VN,.VM}, 0x65A06000, 0xFFE0E000, .SVE, {} }, { .SVE_FNMLS, {.Z_REG_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VN,.VM}, 0x65E06000, 0xFFE0E000, .SVE, {is_64=true} }, { .SVE_FNMLS, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VN,.VM}, 0x65606000, 0xFFE0E000, .SVE, {} }, - { .SVE_CMPEQ, {.P_REG,.P_REG_ZERO,.Z_REG_B,.Z_REG_B}, {.PD,.PG,.VN,.VM}, 0x2400A000, 0xFFE0E000, .SVE, {sets_flags=true} }, - { .SVE_CMPEQ, {.P_REG,.P_REG_ZERO,.Z_REG_H,.Z_REG_H}, {.PD,.PG,.VN,.VM}, 0x2440A000, 0xFFE0E000, .SVE, {sets_flags=true} }, - { .SVE_CMPEQ, {.P_REG,.P_REG_ZERO,.Z_REG_D,.Z_REG_D}, {.PD,.PG,.VN,.VM}, 0x24C0A000, 0xFFE0E000, .SVE, {sets_flags=true, is_64=true} }, + { .SVE_FNMLS, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VN,.VM}, 0x65A06000, 0xFFE0E000, .SVE, {} }, { .SVE_CMPEQ, {.P_REG,.P_REG_ZERO,.Z_REG_S,.Z_REG_S}, {.PD,.PG,.VN,.VM}, 0x2480A000, 0xFFE0E000, .SVE, {sets_flags=true} }, + { .SVE_CMPEQ, {.P_REG,.P_REG_ZERO,.Z_REG_H,.Z_REG_H}, {.PD,.PG,.VN,.VM}, 0x2440A000, 0xFFE0E000, .SVE, {sets_flags=true} }, + { .SVE_CMPEQ, {.P_REG,.P_REG_ZERO,.Z_REG_B,.Z_REG_B}, {.PD,.PG,.VN,.VM}, 0x2400A000, 0xFFE0E000, .SVE, {sets_flags=true} }, + { .SVE_CMPEQ, {.P_REG,.P_REG_ZERO,.Z_REG_D,.Z_REG_D}, {.PD,.PG,.VN,.VM}, 0x24C0A000, 0xFFE0E000, .SVE, {sets_flags=true, is_64=true} }, { .SVE_LD1B, {.Z_REG_B,.P_REG_ZERO,.MEM,.NONE}, {.VD,.PG,.SVE_OFFSET_BASE_SS,.NONE}, 0xA4004000, 0xFFE0E000, .SVE, {} }, { .SVE_LD1H, {.Z_REG_H,.P_REG_ZERO,.MEM,.NONE}, {.VD,.PG,.SVE_OFFSET_BASE_SS,.NONE}, 0xA4A04000, 0xFFE0E000, .SVE, {} }, { .SVE_LD1W, {.Z_REG_S,.P_REG_ZERO,.MEM,.NONE}, {.VD,.PG,.SVE_OFFSET_BASE_SS,.NONE}, 0xA5404000, 0xFFE0E000, .SVE, {} }, @@ -422,8 +422,8 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .SVE_LDFF1H, {.Z_REG_H,.P_REG_ZERO,.MEM,.NONE}, {.VD,.PG,.SVE_OFFSET_BASE_SS,.NONE}, 0xA4A06000, 0xFFE0E000, .SVE, {} }, { .SVE_LDFF1W, {.Z_REG_S,.P_REG_ZERO,.MEM,.NONE}, {.VD,.PG,.SVE_OFFSET_BASE_SS,.NONE}, 0xA5406000, 0xFFE0E000, .SVE, {} }, { .SVE_LDFF1D, {.Z_REG_D,.P_REG_ZERO,.MEM,.NONE}, {.VD,.PG,.SVE_OFFSET_BASE_SS,.NONE}, 0xA5E06000, 0xFFE0E000, .SVE, {is_64=true} }, - { .SVE_HISTCNT, {.Z_REG_D,.P_REG_ZERO,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VN,.VM}, 0x45E0C000, 0xFFE0E000, .SVE2, {is_64=true} }, { .SVE_HISTCNT, {.Z_REG_S,.P_REG_ZERO,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VN,.VM}, 0x45A0C000, 0xFFE0E000, .SVE2, {} }, + { .SVE_HISTCNT, {.Z_REG_D,.P_REG_ZERO,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VN,.VM}, 0x45E0C000, 0xFFE0E000, .SVE2, {is_64=true} }, { .SVE_PRFB, {.IMM_4,.P_REG_GOV,.MEM,.NONE}, {.ENC_SVE_PRFOP,.PG,.SVE_OFFSET_BASE_SS,.NONE}, 0x8400C000, 0xFFE0E000, .SVE, {} }, { .SVE_PRFH, {.IMM_4,.P_REG_GOV,.MEM,.NONE}, {.ENC_SVE_PRFOP,.PG,.SVE_OFFSET_BASE_SS,.NONE}, 0x8480C000, 0xFFE0E000, .SVE, {} }, { .SVE_PRFW, {.IMM_4,.P_REG_GOV,.MEM,.NONE}, {.ENC_SVE_PRFOP,.PG,.SVE_OFFSET_BASE_SS,.NONE}, 0x8500C000, 0xFFE0E000, .SVE, {} }, @@ -463,8 +463,8 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .SVE_ST1W_SCATTER_S, {.Z_REG_S,.P_REG,.MEM,.NONE}, {.VD,.PG,.SVE_OFFSET_BASE_VEC,.NONE}, 0xE5008000, 0xFFA0E000, .SVE, {} }, { .SVE_ST1W_SCATTER_D, {.Z_REG_D,.P_REG,.MEM,.NONE}, {.VD,.PG,.SVE_OFFSET_BASE_VEC,.NONE}, 0xE5008000, 0xFFA0E000, .SVE, {is_64=true} }, { .SVE_ST1D_SCATTER_D, {.Z_REG_D,.P_REG,.MEM,.NONE}, {.VD,.PG,.SVE_OFFSET_BASE_VEC,.NONE}, 0xE5808000, 0xFFA0E000, .SVE, {is_64=true} }, - { .LDAR, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_A,.NONE,.NONE}, 0x88DFFC00, 0xFFFFFC00, .BASE, {} }, { .LDAR, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_A,.NONE,.NONE}, 0xC8DFFC00, 0xFFFFFC00, .BASE, {is_64=true} }, + { .LDAR, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_A,.NONE,.NONE}, 0x88DFFC00, 0xFFFFFC00, .BASE, {} }, { .STLR, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_A,.NONE,.NONE}, 0xC89FFC00, 0xFFFFFC00, .BASE, {is_64=true} }, { .STLR, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_A,.NONE,.NONE}, 0x889FFC00, 0xFFFFFC00, .BASE, {} }, { .LDARB, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_A,.NONE,.NONE}, 0x08DFFC00, 0xFFFFFC00, .BASE, {} }, @@ -475,12 +475,12 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .LDXR, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_A,.NONE,.NONE}, 0x885F7C00, 0xFFE0FC00, .BASE, {} }, { .STXR, {.W_REG,.W_REG,.MEM,.NONE}, {.RD,.RT,.OFFSET_BASE_A,.NONE}, 0x88007C00, 0xFFE0FC00, .BASE, {} }, { .STXR, {.W_REG,.X_REG,.MEM,.NONE}, {.RD,.RT,.OFFSET_BASE_A,.NONE}, 0xC8007C00, 0xFFE0FC00, .BASE, {is_64=true} }, - { .LDAXR, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_A,.NONE,.NONE}, 0xC85FFC00, 0xFFE0FC00, .BASE, {is_64=true} }, { .LDAXR, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_A,.NONE,.NONE}, 0x885FFC00, 0xFFE0FC00, .BASE, {} }, + { .LDAXR, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_A,.NONE,.NONE}, 0xC85FFC00, 0xFFE0FC00, .BASE, {is_64=true} }, { .STLXR, {.W_REG,.W_REG,.MEM,.NONE}, {.RD,.RT,.OFFSET_BASE_A,.NONE}, 0x8800FC00, 0xFFE0FC00, .BASE, {} }, { .STLXR, {.W_REG,.X_REG,.MEM,.NONE}, {.RD,.RT,.OFFSET_BASE_A,.NONE}, 0xC800FC00, 0xFFE0FC00, .BASE, {is_64=true} }, - { .LDXP, {.X_REG,.X_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_A,.NONE}, 0xC87F0000, 0xFFFF8000, .BASE, {is_64=true} }, { .LDXP, {.W_REG,.W_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_A,.NONE}, 0x887F0000, 0xFFFF8000, .BASE, {} }, + { .LDXP, {.X_REG,.X_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_A,.NONE}, 0xC87F0000, 0xFFFF8000, .BASE, {is_64=true} }, { .LDAXP, {.X_REG,.X_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_A,.NONE}, 0xC87F8000, 0xFFFF8000, .BASE, {is_64=true} }, { .LDAXP, {.W_REG,.W_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_A,.NONE}, 0x887F8000, 0xFFFF8000, .BASE, {} }, { .LDXRB, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_A,.NONE,.NONE}, 0x085F7C00, 0xFFE0FC00, .BASE, {} }, @@ -491,14 +491,14 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .STXRH, {.W_REG,.W_REG,.MEM,.NONE}, {.RD,.RT,.OFFSET_BASE_A,.NONE}, 0x48007C00, 0xFFE0FC00, .BASE, {} }, { .LDAXRH, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_A,.NONE,.NONE}, 0x485FFC00, 0xFFE0FC00, .BASE, {} }, { .STLXRH, {.W_REG,.W_REG,.MEM,.NONE}, {.RD,.RT,.OFFSET_BASE_A,.NONE}, 0x4800FC00, 0xFFE0FC00, .BASE, {} }, - { .CAS, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0x88A07C00, 0xFFE0FC00, .LSE, {} }, { .CAS, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xC8A07C00, 0xFFE0FC00, .LSE, {is_64=true} }, - { .CASA, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xC8E07C00, 0xFFE0FC00, .LSE, {is_64=true} }, + { .CAS, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0x88A07C00, 0xFFE0FC00, .LSE, {} }, { .CASA, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0x88E07C00, 0xFFE0FC00, .LSE, {} }, + { .CASA, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xC8E07C00, 0xFFE0FC00, .LSE, {is_64=true} }, { .CASL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xC8A0FC00, 0xFFE0FC00, .LSE, {is_64=true} }, { .CASL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0x88A0FC00, 0xFFE0FC00, .LSE, {} }, - { .CASAL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xC8E0FC00, 0xFFE0FC00, .LSE, {is_64=true} }, { .CASAL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0x88E0FC00, 0xFFE0FC00, .LSE, {} }, + { .CASAL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xC8E0FC00, 0xFFE0FC00, .LSE, {is_64=true} }, { .CASB, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0x08A07C00, 0xFFE0FC00, .LSE, {} }, { .CASAB, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0x08E07C00, 0xFFE0FC00, .LSE, {} }, { .CASLB, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0x08A0FC00, 0xFFE0FC00, .LSE, {} }, @@ -513,21 +513,21 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .CASPA, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0x48607C00, 0xFFE0FC00, .LSE, {is_64=true} }, { .CASPL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0x0820FC00, 0xFFE0FC00, .LSE, {} }, { .CASPL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0x4820FC00, 0xFFE0FC00, .LSE, {is_64=true} }, - { .CASPAL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0x4860FC00, 0xFFE0FC00, .LSE, {is_64=true} }, { .CASPAL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0x0860FC00, 0xFFE0FC00, .LSE, {} }, - { .STXP, {.W_REG,.X_REG,.X_REG,.MEM}, {.RD,.RT,.RT2,.OFFSET_BASE_A}, 0xC8200000, 0xFFE08000, .BASE, {is_64=true} }, + { .CASPAL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0x4860FC00, 0xFFE0FC00, .LSE, {is_64=true} }, { .STXP, {.W_REG,.W_REG,.W_REG,.MEM}, {.RD,.RT,.RT2,.OFFSET_BASE_A}, 0x88200000, 0xFFE08000, .BASE, {} }, + { .STXP, {.W_REG,.X_REG,.X_REG,.MEM}, {.RD,.RT,.RT2,.OFFSET_BASE_A}, 0xC8200000, 0xFFE08000, .BASE, {is_64=true} }, { .STLXP, {.W_REG,.W_REG,.W_REG,.MEM}, {.RD,.RT,.RT2,.OFFSET_BASE_A}, 0x88208000, 0xFFE08000, .BASE, {} }, { .STLXP, {.W_REG,.X_REG,.X_REG,.MEM}, {.RD,.RT,.RT2,.OFFSET_BASE_A}, 0xC8208000, 0xFFE08000, .BASE, {is_64=true} }, - { .LDP, {.X_REG,.X_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0xA9400000, 0xFFC00000, .BASE, {is_64=true} }, { .LDP, {.W_REG,.W_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0x29400000, 0xFFC00000, .BASE, {} }, - { .STP, {.W_REG,.W_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0x29000000, 0xFFC00000, .BASE, {} }, + { .LDP, {.X_REG,.X_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0xA9400000, 0xFFC00000, .BASE, {is_64=true} }, { .STP, {.X_REG,.X_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0xA9000000, 0xFFC00000, .BASE, {is_64=true} }, + { .STP, {.W_REG,.W_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0x29000000, 0xFFC00000, .BASE, {} }, { .LDPSW, {.X_REG,.X_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0x69400000, 0xFFC00000, .BASE, {is_64=true} }, - { .LDP_PRE, {.W_REG,.W_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_PRE,.NONE}, 0x29C00000, 0xFFC00000, .BASE, {} }, { .LDP_PRE, {.X_REG,.X_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_PRE,.NONE}, 0xA9C00000, 0xFFC00000, .BASE, {is_64=true} }, - { .STP_PRE, {.W_REG,.W_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_PRE,.NONE}, 0x29800000, 0xFFC00000, .BASE, {} }, + { .LDP_PRE, {.W_REG,.W_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_PRE,.NONE}, 0x29C00000, 0xFFC00000, .BASE, {} }, { .STP_PRE, {.X_REG,.X_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_PRE,.NONE}, 0xA9800000, 0xFFC00000, .BASE, {is_64=true} }, + { .STP_PRE, {.W_REG,.W_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_PRE,.NONE}, 0x29800000, 0xFFC00000, .BASE, {} }, { .LDP_POST, {.X_REG,.X_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_POST,.NONE}, 0xA8C00000, 0xFFC00000, .BASE, {is_64=true} }, { .LDP_POST, {.W_REG,.W_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_POST,.NONE}, 0x28C00000, 0xFFC00000, .BASE, {} }, { .STP_POST, {.W_REG,.W_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_POST,.NONE}, 0x28800000, 0xFFC00000, .BASE, {} }, @@ -536,27 +536,27 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .LDPSW_POST, {.X_REG,.X_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_POST,.NONE}, 0x68C00000, 0xFFC00000, .BASE, {is_64=true} }, { .LDNP, {.X_REG,.X_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0xA8400000, 0xFFC00000, .BASE, {is_64=true} }, { .LDNP, {.W_REG,.W_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0x28400000, 0xFFC00000, .BASE, {} }, - { .STNP, {.W_REG,.W_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0x28000000, 0xFFC00000, .BASE, {} }, { .STNP, {.X_REG,.X_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0xA8000000, 0xFFC00000, .BASE, {is_64=true} }, + { .STNP, {.W_REG,.W_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0x28000000, 0xFFC00000, .BASE, {} }, { .STGP, {.X_REG,.X_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0x69000000, 0xFFC00000, .MTE, {is_64=true} }, - { .MOV_REG, {.X_REG,.X_REG,.NONE,.NONE}, {.RD,.RM,.NONE,.NONE}, 0xAA0003E0, 0xFFE0FFE0, .BASE, {is_64=true} }, { .MOV_REG, {.W_REG,.W_REG,.NONE,.NONE}, {.RD,.RM,.NONE,.NONE}, 0x2A0003E0, 0xFFE0FFE0, .BASE, {} }, - { .MVN, {.X_REG,.X_REG,.NONE,.NONE}, {.RD,.RM,.NONE,.NONE}, 0xAA2003E0, 0xFFE0FFE0, .BASE, {is_64=true} }, + { .MOV_REG, {.X_REG,.X_REG,.NONE,.NONE}, {.RD,.RM,.NONE,.NONE}, 0xAA0003E0, 0xFFE0FFE0, .BASE, {is_64=true} }, { .MVN, {.W_REG,.W_REG,.NONE,.NONE}, {.RD,.RM,.NONE,.NONE}, 0x2A2003E0, 0xFFE0FFE0, .BASE, {} }, - { .CMP_ER, {.XSP_REG,.X_EXTENDED,.NONE,.NONE}, {.RN,.RM,.NONE,.NONE}, 0xEB20001F, 0xFFE0001F, .BASE, {sets_flags=true, is_64=true} }, + { .MVN, {.X_REG,.X_REG,.NONE,.NONE}, {.RD,.RM,.NONE,.NONE}, 0xAA2003E0, 0xFFE0FFE0, .BASE, {is_64=true} }, { .CMP_ER, {.WSP_REG,.W_EXTENDED,.NONE,.NONE}, {.RN,.RM,.NONE,.NONE}, 0x6B20001F, 0xFFE0001F, .BASE, {sets_flags=true} }, + { .CMP_ER, {.XSP_REG,.X_EXTENDED,.NONE,.NONE}, {.RN,.RM,.NONE,.NONE}, 0xEB20001F, 0xFFE0001F, .BASE, {sets_flags=true, is_64=true} }, { .CMN_ER, {.XSP_REG,.X_EXTENDED,.NONE,.NONE}, {.RN,.RM,.NONE,.NONE}, 0xAB20001F, 0xFFE0001F, .BASE, {sets_flags=true, is_64=true} }, { .CMN_ER, {.WSP_REG,.W_EXTENDED,.NONE,.NONE}, {.RN,.RM,.NONE,.NONE}, 0x2B20001F, 0xFFE0001F, .BASE, {sets_flags=true} }, - { .NEG_SR, {.W_REG,.W_SHIFTED,.NONE,.NONE}, {.RD,.RM,.NONE,.NONE}, 0x4B0003E0, 0xFF2003E0, .BASE, {} }, { .NEG_SR, {.X_REG,.X_SHIFTED,.NONE,.NONE}, {.RD,.RM,.NONE,.NONE}, 0xCB0003E0, 0xFF2003E0, .BASE, {is_64=true} }, - { .NEGS, {.W_REG,.W_SHIFTED,.NONE,.NONE}, {.RD,.RM,.NONE,.NONE}, 0x6B0003E0, 0xFF2003E0, .BASE, {sets_flags=true} }, + { .NEG_SR, {.W_REG,.W_SHIFTED,.NONE,.NONE}, {.RD,.RM,.NONE,.NONE}, 0x4B0003E0, 0xFF2003E0, .BASE, {} }, { .NEGS, {.X_REG,.X_SHIFTED,.NONE,.NONE}, {.RD,.RM,.NONE,.NONE}, 0xEB0003E0, 0xFF2003E0, .BASE, {sets_flags=true, is_64=true} }, - { .CMP_SR, {.X_REG,.X_SHIFTED,.NONE,.NONE}, {.RN,.RM,.NONE,.NONE}, 0xEB00001F, 0xFF20001F, .BASE, {sets_flags=true, is_64=true} }, + { .NEGS, {.W_REG,.W_SHIFTED,.NONE,.NONE}, {.RD,.RM,.NONE,.NONE}, 0x6B0003E0, 0xFF2003E0, .BASE, {sets_flags=true} }, { .CMP_SR, {.W_REG,.W_SHIFTED,.NONE,.NONE}, {.RN,.RM,.NONE,.NONE}, 0x6B00001F, 0xFF20001F, .BASE, {sets_flags=true} }, + { .CMP_SR, {.X_REG,.X_SHIFTED,.NONE,.NONE}, {.RN,.RM,.NONE,.NONE}, 0xEB00001F, 0xFF20001F, .BASE, {sets_flags=true, is_64=true} }, { .CMN_SR, {.X_REG,.X_SHIFTED,.NONE,.NONE}, {.RN,.RM,.NONE,.NONE}, 0xAB00001F, 0xFF20001F, .BASE, {sets_flags=true, is_64=true} }, { .CMN_SR, {.W_REG,.W_SHIFTED,.NONE,.NONE}, {.RN,.RM,.NONE,.NONE}, 0x2B00001F, 0xFF20001F, .BASE, {sets_flags=true} }, - { .TST_SR, {.X_REG,.X_SHIFTED,.NONE,.NONE}, {.RN,.RM,.NONE,.NONE}, 0xEA00001F, 0xFF20001F, .BASE, {sets_flags=true, is_64=true} }, { .TST_SR, {.W_REG,.W_SHIFTED,.NONE,.NONE}, {.RN,.RM,.NONE,.NONE}, 0x6A00001F, 0xFF20001F, .BASE, {sets_flags=true} }, + { .TST_SR, {.X_REG,.X_SHIFTED,.NONE,.NONE}, {.RN,.RM,.NONE,.NONE}, 0xEA00001F, 0xFF20001F, .BASE, {sets_flags=true, is_64=true} }, { .ADD_ER, {.XSP_REG,.XSP_REG,.X_EXTENDED,.NONE}, {.RD,.RN,.RM,.NONE}, 0x8B200000, 0xFFE00000, .BASE, {is_64=true} }, { .ADD_ER, {.WSP_REG,.WSP_REG,.W_EXTENDED,.NONE}, {.RD,.RN,.RM,.NONE}, 0x0B200000, 0xFFE00000, .BASE, {} }, { .ADDS_ER, {.W_REG,.WSP_REG,.W_EXTENDED,.NONE}, {.RD,.RN,.RM,.NONE}, 0x2B200000, 0xFFE00000, .BASE, {sets_flags=true} }, @@ -593,8 +593,8 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .ST1, {.V_2D,.MEM,.NONE,.NONE}, {.VD,.OFFSET_BASE_A,.NONE,.NONE}, 0x4C007C00, 0xFFFFFC00, .NEON, {} }, { .LD1, {.V_8H,.MEM,.NONE,.NONE}, {.VD,.OFFSET_BASE_A,.NONE,.NONE}, 0x4C407400, 0xFFFFF400, .NEON, {} }, { .LD1, {.V_4S,.MEM,.NONE,.NONE}, {.VD,.OFFSET_BASE_A,.NONE,.NONE}, 0x4C407800, 0xFFFFF800, .NEON, {} }, - { .ST1, {.V_8H,.MEM,.NONE,.NONE}, {.VD,.OFFSET_BASE_A,.NONE,.NONE}, 0x4C007400, 0xFFFFF400, .NEON, {} }, { .ST1, {.V_4S,.MEM,.NONE,.NONE}, {.VD,.OFFSET_BASE_A,.NONE,.NONE}, 0x4C007800, 0xFFFFF800, .NEON, {} }, + { .ST1, {.V_8H,.MEM,.NONE,.NONE}, {.VD,.OFFSET_BASE_A,.NONE,.NONE}, 0x4C007400, 0xFFFFF400, .NEON, {} }, { .LD1, {.V_16B,.MEM,.NONE,.NONE}, {.VD,.OFFSET_BASE_A,.NONE,.NONE}, 0x4C407000, 0xFFFFF000, .NEON, {} }, { .ST1, {.V_16B,.MEM,.NONE,.NONE}, {.VD,.OFFSET_BASE_A,.NONE,.NONE}, 0x4C007000, 0xFFFFF000, .NEON, {} }, { .AESE, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E284800, 0xFFFFFC00, .CRYPTO, {} }, @@ -605,237 +605,237 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .SM4E, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0xCEC08400, 0xFFFFFC00, .CRYPTO, {} }, { .BFCVTN, {.V_8H,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA16800, 0xFFFFFC00, .BF16, {} }, { .BFCVTN2, {.V_8H,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA16800, 0xFFFFFC00, .BF16, {} }, - { .NEG_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EA0B800, 0xFFFFFC00, .NEON, {} }, - { .NEG_V, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E20B800, 0xFFFFFC00, .NEON, {} }, { .NEG_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EE0B800, 0xFFFFFC00, .NEON, {} }, { .NEG_V, {.V_4H,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E60B800, 0xFFFFFC00, .NEON, {} }, { .NEG_V, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E20B800, 0xFFFFFC00, .NEON, {} }, - { .NEG_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EA0B800, 0xFFFFFC00, .NEON, {} }, { .NEG_V, {.V_8H,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E60B800, 0xFFFFFC00, .NEON, {} }, - { .ABS_V, {.V_8H,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E60B800, 0xFFFFFC00, .NEON, {} }, - { .ABS_V, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E20B800, 0xFFFFFC00, .NEON, {} }, - { .ABS_V, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E20B800, 0xFFFFFC00, .NEON, {} }, - { .ABS_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA0B800, 0xFFFFFC00, .NEON, {} }, - { .ABS_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA0B800, 0xFFFFFC00, .NEON, {} }, - { .ABS_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EE0B800, 0xFFFFFC00, .NEON, {} }, + { .NEG_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EA0B800, 0xFFFFFC00, .NEON, {} }, + { .NEG_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EA0B800, 0xFFFFFC00, .NEON, {} }, + { .NEG_V, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E20B800, 0xFFFFFC00, .NEON, {} }, { .ABS_V, {.V_4H,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E60B800, 0xFFFFFC00, .NEON, {} }, - { .ADDV, {.B_REG,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E31B800, 0xFFFFFC00, .NEON, {} }, - { .ADDV, {.H_REG,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E71B800, 0xFFFFFC00, .NEON, {} }, + { .ABS_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA0B800, 0xFFFFFC00, .NEON, {} }, + { .ABS_V, {.V_8H,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E60B800, 0xFFFFFC00, .NEON, {} }, + { .ABS_V, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E20B800, 0xFFFFFC00, .NEON, {} }, + { .ABS_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EE0B800, 0xFFFFFC00, .NEON, {} }, + { .ABS_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA0B800, 0xFFFFFC00, .NEON, {} }, + { .ABS_V, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E20B800, 0xFFFFFC00, .NEON, {} }, { .ADDV, {.B_REG,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E31B800, 0xFFFFFC00, .NEON, {} }, - { .ADDV, {.H_REG,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E71B800, 0xFFFFFC00, .NEON, {} }, + { .ADDV, {.H_REG,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E71B800, 0xFFFFFC00, .NEON, {} }, + { .ADDV, {.B_REG,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E31B800, 0xFFFFFC00, .NEON, {} }, { .ADDV, {.S_REG,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EB1B800, 0xFFFFFC00, .NEON, {} }, - { .SADDLP, {.V_2D,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA02800, 0xFFFFFC00, .NEON, {} }, - { .SADDLP, {.V_4H,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E202800, 0xFFFFFC00, .NEON, {} }, - { .SADDLP, {.V_8H,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E202800, 0xFFFFFC00, .NEON, {} }, + { .ADDV, {.H_REG,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E71B800, 0xFFFFFC00, .NEON, {} }, { .SADDLP, {.V_4S,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E602800, 0xFFFFFC00, .NEON, {} }, + { .SADDLP, {.V_8H,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E202800, 0xFFFFFC00, .NEON, {} }, + { .SADDLP, {.V_4H,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E202800, 0xFFFFFC00, .NEON, {} }, { .SADDLP, {.V_1D,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA02800, 0xFFFFFC00, .NEON, {} }, { .SADDLP, {.V_2S,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E602800, 0xFFFFFC00, .NEON, {} }, + { .SADDLP, {.V_2D,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA02800, 0xFFFFFC00, .NEON, {} }, + { .UADDLP, {.V_2S,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E602800, 0xFFFFFC00, .NEON, {} }, + { .UADDLP, {.V_1D,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EA02800, 0xFFFFFC00, .NEON, {} }, { .UADDLP, {.V_4S,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E602800, 0xFFFFFC00, .NEON, {} }, { .UADDLP, {.V_2D,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EA02800, 0xFFFFFC00, .NEON, {} }, { .UADDLP, {.V_4H,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E202800, 0xFFFFFC00, .NEON, {} }, { .UADDLP, {.V_8H,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E202800, 0xFFFFFC00, .NEON, {} }, - { .UADDLP, {.V_2S,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E602800, 0xFFFFFC00, .NEON, {} }, - { .UADDLP, {.V_1D,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EA02800, 0xFFFFFC00, .NEON, {} }, + { .SADALP, {.V_8H,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E206800, 0xFFFFFC00, .NEON, {} }, { .SADALP, {.V_2D,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA06800, 0xFFFFFC00, .NEON, {} }, { .SADALP, {.V_1D,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA06800, 0xFFFFFC00, .NEON, {} }, - { .SADALP, {.V_4S,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E606800, 0xFFFFFC00, .NEON, {} }, - { .SADALP, {.V_8H,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E206800, 0xFFFFFC00, .NEON, {} }, - { .SADALP, {.V_2S,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E606800, 0xFFFFFC00, .NEON, {} }, { .SADALP, {.V_4H,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E206800, 0xFFFFFC00, .NEON, {} }, - { .UADALP, {.V_8H,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E206800, 0xFFFFFC00, .NEON, {} }, - { .UADALP, {.V_4H,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E206800, 0xFFFFFC00, .NEON, {} }, - { .UADALP, {.V_2D,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EA06800, 0xFFFFFC00, .NEON, {} }, + { .SADALP, {.V_4S,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E606800, 0xFFFFFC00, .NEON, {} }, + { .SADALP, {.V_2S,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E606800, 0xFFFFFC00, .NEON, {} }, { .UADALP, {.V_1D,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EA06800, 0xFFFFFC00, .NEON, {} }, - { .UADALP, {.V_2S,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E606800, 0xFFFFFC00, .NEON, {} }, + { .UADALP, {.V_2D,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EA06800, 0xFFFFFC00, .NEON, {} }, { .UADALP, {.V_4S,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E606800, 0xFFFFFC00, .NEON, {} }, - { .SADDLV, {.H_REG,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E303800, 0xFFFFFC00, .NEON, {} }, + { .UADALP, {.V_4H,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E206800, 0xFFFFFC00, .NEON, {} }, + { .UADALP, {.V_2S,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E606800, 0xFFFFFC00, .NEON, {} }, + { .UADALP, {.V_8H,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E206800, 0xFFFFFC00, .NEON, {} }, { .SADDLV, {.S_REG,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E703800, 0xFFFFFC00, .NEON, {} }, - { .SADDLV, {.H_REG,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E303800, 0xFFFFFC00, .NEON, {} }, { .SADDLV, {.S_REG,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E703800, 0xFFFFFC00, .NEON, {} }, + { .SADDLV, {.H_REG,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E303800, 0xFFFFFC00, .NEON, {} }, + { .SADDLV, {.H_REG,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E303800, 0xFFFFFC00, .NEON, {} }, { .SADDLV, {.D_REG,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EB03800, 0xFFFFFC00, .NEON, {} }, - { .UADDLV, {.H_REG,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E303800, 0xFFFFFC00, .NEON, {} }, { .UADDLV, {.H_REG,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E303800, 0xFFFFFC00, .NEON, {} }, { .UADDLV, {.D_REG,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EB03800, 0xFFFFFC00, .NEON, {} }, { .UADDLV, {.S_REG,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E703800, 0xFFFFFC00, .NEON, {} }, + { .UADDLV, {.H_REG,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E303800, 0xFFFFFC00, .NEON, {} }, { .UADDLV, {.S_REG,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E703800, 0xFFFFFC00, .NEON, {} }, - { .SMAXV, {.H_REG,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E70A800, 0xFFFFFC00, .NEON, {} }, { .SMAXV, {.B_REG,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E30A800, 0xFFFFFC00, .NEON, {} }, - { .SMAXV, {.H_REG,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E70A800, 0xFFFFFC00, .NEON, {} }, - { .SMAXV, {.B_REG,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E30A800, 0xFFFFFC00, .NEON, {} }, { .SMAXV, {.S_REG,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EB0A800, 0xFFFFFC00, .NEON, {} }, - { .UMAXV, {.B_REG,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E30A800, 0xFFFFFC00, .NEON, {} }, - { .UMAXV, {.H_REG,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E70A800, 0xFFFFFC00, .NEON, {} }, + { .SMAXV, {.B_REG,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E30A800, 0xFFFFFC00, .NEON, {} }, + { .SMAXV, {.H_REG,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E70A800, 0xFFFFFC00, .NEON, {} }, + { .SMAXV, {.H_REG,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E70A800, 0xFFFFFC00, .NEON, {} }, { .UMAXV, {.H_REG,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E70A800, 0xFFFFFC00, .NEON, {} }, { .UMAXV, {.B_REG,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E30A800, 0xFFFFFC00, .NEON, {} }, + { .UMAXV, {.B_REG,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E30A800, 0xFFFFFC00, .NEON, {} }, + { .UMAXV, {.H_REG,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E70A800, 0xFFFFFC00, .NEON, {} }, { .UMAXV, {.S_REG,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EB0A800, 0xFFFFFC00, .NEON, {} }, - { .SMINV, {.B_REG,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E31A800, 0xFFFFFC00, .NEON, {} }, - { .SMINV, {.H_REG,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E71A800, 0xFFFFFC00, .NEON, {} }, { .SMINV, {.H_REG,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E71A800, 0xFFFFFC00, .NEON, {} }, + { .SMINV, {.H_REG,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E71A800, 0xFFFFFC00, .NEON, {} }, { .SMINV, {.B_REG,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E31A800, 0xFFFFFC00, .NEON, {} }, { .SMINV, {.S_REG,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EB1A800, 0xFFFFFC00, .NEON, {} }, - { .UMINV, {.B_REG,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E31A800, 0xFFFFFC00, .NEON, {} }, + { .SMINV, {.B_REG,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E31A800, 0xFFFFFC00, .NEON, {} }, { .UMINV, {.B_REG,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E31A800, 0xFFFFFC00, .NEON, {} }, - { .UMINV, {.H_REG,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E71A800, 0xFFFFFC00, .NEON, {} }, - { .UMINV, {.S_REG,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EB1A800, 0xFFFFFC00, .NEON, {} }, + { .UMINV, {.B_REG,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E31A800, 0xFFFFFC00, .NEON, {} }, { .UMINV, {.H_REG,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E71A800, 0xFFFFFC00, .NEON, {} }, + { .UMINV, {.S_REG,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EB1A800, 0xFFFFFC00, .NEON, {} }, + { .UMINV, {.H_REG,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E71A800, 0xFFFFFC00, .NEON, {} }, + { .XTN, {.V_2S,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA12800, 0xFFFFFC00, .NEON, {} }, { .XTN, {.V_8B,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E212800, 0xFFFFFC00, .NEON, {} }, { .XTN, {.V_4H,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E612800, 0xFFFFFC00, .NEON, {} }, - { .XTN, {.V_2S,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA12800, 0xFFFFFC00, .NEON, {} }, - { .XTN2, {.V_8H,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E612800, 0xFFFFFC00, .NEON, {} }, - { .XTN2, {.V_16B,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E212800, 0xFFFFFC00, .NEON, {} }, { .XTN2, {.V_4S,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA12800, 0xFFFFFC00, .NEON, {} }, + { .XTN2, {.V_16B,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E212800, 0xFFFFFC00, .NEON, {} }, + { .XTN2, {.V_8H,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E612800, 0xFFFFFC00, .NEON, {} }, + { .SQXTN, {.V_8B,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E214800, 0xFFFFFC00, .NEON, {} }, { .SQXTN, {.V_2S,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA14800, 0xFFFFFC00, .NEON, {} }, { .SQXTN, {.V_4H,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E614800, 0xFFFFFC00, .NEON, {} }, - { .SQXTN, {.V_8B,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E214800, 0xFFFFFC00, .NEON, {} }, { .SQXTN2, {.V_4S,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA14800, 0xFFFFFC00, .NEON, {} }, { .SQXTN2, {.V_8H,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E614800, 0xFFFFFC00, .NEON, {} }, { .SQXTN2, {.V_16B,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E214800, 0xFFFFFC00, .NEON, {} }, { .UQXTN, {.V_8B,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E214800, 0xFFFFFC00, .NEON, {} }, { .UQXTN, {.V_4H,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E614800, 0xFFFFFC00, .NEON, {} }, { .UQXTN, {.V_2S,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EA14800, 0xFFFFFC00, .NEON, {} }, - { .UQXTN2, {.V_4S,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EA14800, 0xFFFFFC00, .NEON, {} }, { .UQXTN2, {.V_16B,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E214800, 0xFFFFFC00, .NEON, {} }, + { .UQXTN2, {.V_4S,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EA14800, 0xFFFFFC00, .NEON, {} }, { .UQXTN2, {.V_8H,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E614800, 0xFFFFFC00, .NEON, {} }, + { .SQXTUN, {.V_8B,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E212800, 0xFFFFFC00, .NEON, {} }, { .SQXTUN, {.V_4H,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E612800, 0xFFFFFC00, .NEON, {} }, { .SQXTUN, {.V_2S,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EA12800, 0xFFFFFC00, .NEON, {} }, - { .SQXTUN, {.V_8B,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E212800, 0xFFFFFC00, .NEON, {} }, + { .SQXTUN2, {.V_4S,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EA12800, 0xFFFFFC00, .NEON, {} }, { .SQXTUN2, {.V_16B,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E212800, 0xFFFFFC00, .NEON, {} }, { .SQXTUN2, {.V_8H,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E612800, 0xFFFFFC00, .NEON, {} }, - { .SQXTUN2, {.V_4S,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EA12800, 0xFFFFFC00, .NEON, {} }, { .FNEG_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EF8F800, 0xFFFFFC00, .FP16, {} }, - { .FNEG_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EA0F800, 0xFFFFFC00, .NEON, {} }, { .FNEG_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EA0F800, 0xFFFFFC00, .NEON, {} }, + { .FNEG_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EA0F800, 0xFFFFFC00, .NEON, {} }, { .FNEG_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EF8F800, 0xFFFFFC00, .FP16, {} }, { .FNEG_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EE0F800, 0xFFFFFC00, .NEON, {} }, - { .FABS_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA0F800, 0xFFFFFC00, .NEON, {} }, - { .FABS_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EF8F800, 0xFFFFFC00, .FP16, {} }, - { .FABS_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EE0F800, 0xFFFFFC00, .NEON, {} }, { .FABS_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA0F800, 0xFFFFFC00, .NEON, {} }, + { .FABS_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EE0F800, 0xFFFFFC00, .NEON, {} }, + { .FABS_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EF8F800, 0xFFFFFC00, .FP16, {} }, { .FABS_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EF8F800, 0xFFFFFC00, .FP16, {} }, + { .FABS_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA0F800, 0xFFFFFC00, .NEON, {} }, + { .FSQRT_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EE1F800, 0xFFFFFC00, .NEON, {} }, { .FSQRT_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EA1F800, 0xFFFFFC00, .NEON, {} }, { .FSQRT_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EA1F800, 0xFFFFFC00, .NEON, {} }, - { .FSQRT_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EE1F800, 0xFFFFFC00, .NEON, {} }, - { .FSQRT_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EF9F800, 0xFFFFFC00, .FP16, {} }, { .FSQRT_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EF9F800, 0xFFFFFC00, .FP16, {} }, - { .FMAXV_V, {.H_REG,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E30F800, 0xFFFFFC00, .FP16, {} }, - { .FMAXV_V, {.S_REG,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E30F800, 0xFFFFFC00, .NEON, {} }, + { .FSQRT_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EF9F800, 0xFFFFFC00, .FP16, {} }, { .FMAXV_V, {.H_REG,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E30F800, 0xFFFFFC00, .FP16, {} }, + { .FMAXV_V, {.S_REG,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E30F800, 0xFFFFFC00, .NEON, {} }, + { .FMAXV_V, {.H_REG,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E30F800, 0xFFFFFC00, .FP16, {} }, + { .FMINV_V, {.H_REG,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EB0F800, 0xFFFFFC00, .FP16, {} }, { .FMINV_V, {.H_REG,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EB0F800, 0xFFFFFC00, .FP16, {} }, { .FMINV_V, {.S_REG,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EB0F800, 0xFFFFFC00, .NEON, {} }, - { .FMINV_V, {.H_REG,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EB0F800, 0xFFFFFC00, .FP16, {} }, + { .FMAXNMV, {.H_REG,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E30C800, 0xFFFFFC00, .FP16, {} }, { .FMAXNMV, {.S_REG,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E30C800, 0xFFFFFC00, .NEON, {} }, { .FMAXNMV, {.H_REG,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E30C800, 0xFFFFFC00, .FP16, {} }, - { .FMAXNMV, {.H_REG,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E30C800, 0xFFFFFC00, .FP16, {} }, { .FMINNMV, {.H_REG,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EB0C800, 0xFFFFFC00, .FP16, {} }, { .FMINNMV, {.H_REG,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EB0C800, 0xFFFFFC00, .FP16, {} }, { .FMINNMV, {.S_REG,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EB0C800, 0xFFFFFC00, .NEON, {} }, - { .FRECPE, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA1D800, 0xFFFFFC00, .NEON, {} }, - { .FRECPE, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA1D800, 0xFFFFFC00, .NEON, {} }, + { .FRECPE, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EE1D800, 0xFFFFFC00, .NEON, {} }, { .FRECPE, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EF9D800, 0xFFFFFC00, .FP16, {} }, { .FRECPE, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EF9D800, 0xFFFFFC00, .FP16, {} }, - { .FRECPE, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EE1D800, 0xFFFFFC00, .NEON, {} }, - { .FRSQRTE, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EF9D800, 0xFFFFFC00, .FP16, {} }, + { .FRECPE, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA1D800, 0xFFFFFC00, .NEON, {} }, + { .FRECPE, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA1D800, 0xFFFFFC00, .NEON, {} }, { .FRSQRTE, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EE1D800, 0xFFFFFC00, .NEON, {} }, + { .FRSQRTE, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EF9D800, 0xFFFFFC00, .FP16, {} }, { .FRSQRTE, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EA1D800, 0xFFFFFC00, .NEON, {} }, { .FRSQRTE, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EA1D800, 0xFFFFFC00, .NEON, {} }, { .FRSQRTE, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EF9D800, 0xFFFFFC00, .FP16, {} }, - { .FRINTA_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E798800, 0xFFFFFC00, .FP16, {} }, - { .FRINTA_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E218800, 0xFFFFFC00, .NEON, {} }, - { .FRINTA_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E798800, 0xFFFFFC00, .FP16, {} }, { .FRINTA_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E218800, 0xFFFFFC00, .NEON, {} }, { .FRINTA_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E618800, 0xFFFFFC00, .NEON, {} }, + { .FRINTA_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E798800, 0xFFFFFC00, .FP16, {} }, + { .FRINTA_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E218800, 0xFFFFFC00, .NEON, {} }, + { .FRINTA_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E798800, 0xFFFFFC00, .FP16, {} }, { .FRINTI_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EF99800, 0xFFFFFC00, .FP16, {} }, - { .FRINTI_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EF99800, 0xFFFFFC00, .FP16, {} }, { .FRINTI_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EE19800, 0xFFFFFC00, .NEON, {} }, - { .FRINTI_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EA19800, 0xFFFFFC00, .NEON, {} }, { .FRINTI_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EA19800, 0xFFFFFC00, .NEON, {} }, + { .FRINTI_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EF99800, 0xFFFFFC00, .FP16, {} }, + { .FRINTI_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EA19800, 0xFFFFFC00, .NEON, {} }, { .FRINTM_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E219800, 0xFFFFFC00, .NEON, {} }, - { .FRINTM_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E799800, 0xFFFFFC00, .FP16, {} }, - { .FRINTM_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E799800, 0xFFFFFC00, .FP16, {} }, { .FRINTM_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E619800, 0xFFFFFC00, .NEON, {} }, + { .FRINTM_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E799800, 0xFFFFFC00, .FP16, {} }, { .FRINTM_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E219800, 0xFFFFFC00, .NEON, {} }, + { .FRINTM_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E799800, 0xFFFFFC00, .FP16, {} }, { .FRINTN_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E798800, 0xFFFFFC00, .FP16, {} }, { .FRINTN_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E218800, 0xFFFFFC00, .NEON, {} }, - { .FRINTN_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E218800, 0xFFFFFC00, .NEON, {} }, { .FRINTN_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E618800, 0xFFFFFC00, .NEON, {} }, { .FRINTN_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E798800, 0xFFFFFC00, .FP16, {} }, + { .FRINTN_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E218800, 0xFFFFFC00, .NEON, {} }, { .FRINTP_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EF98800, 0xFFFFFC00, .FP16, {} }, + { .FRINTP_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA18800, 0xFFFFFC00, .NEON, {} }, { .FRINTP_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EF98800, 0xFFFFFC00, .FP16, {} }, { .FRINTP_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EE18800, 0xFFFFFC00, .NEON, {} }, { .FRINTP_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA18800, 0xFFFFFC00, .NEON, {} }, - { .FRINTP_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA18800, 0xFFFFFC00, .NEON, {} }, - { .FRINTX_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E799800, 0xFFFFFC00, .FP16, {} }, { .FRINTX_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E619800, 0xFFFFFC00, .NEON, {} }, - { .FRINTX_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E219800, 0xFFFFFC00, .NEON, {} }, { .FRINTX_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E799800, 0xFFFFFC00, .FP16, {} }, + { .FRINTX_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E799800, 0xFFFFFC00, .FP16, {} }, { .FRINTX_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E219800, 0xFFFFFC00, .NEON, {} }, - { .FRINTZ_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EF99800, 0xFFFFFC00, .FP16, {} }, + { .FRINTX_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E219800, 0xFFFFFC00, .NEON, {} }, { .FRINTZ_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EF99800, 0xFFFFFC00, .FP16, {} }, - { .FRINTZ_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA19800, 0xFFFFFC00, .NEON, {} }, - { .FRINTZ_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EE19800, 0xFFFFFC00, .NEON, {} }, { .FRINTZ_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA19800, 0xFFFFFC00, .NEON, {} }, + { .FRINTZ_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA19800, 0xFFFFFC00, .NEON, {} }, + { .FRINTZ_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EF99800, 0xFFFFFC00, .FP16, {} }, + { .FRINTZ_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EE19800, 0xFFFFFC00, .NEON, {} }, + { .SCVTF_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E21D800, 0xFFFFFC00, .NEON, {} }, + { .SCVTF_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E61D800, 0xFFFFFC00, .NEON, {} }, { .SCVTF_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E79D800, 0xFFFFFC00, .FP16, {} }, { .SCVTF_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E79D800, 0xFFFFFC00, .FP16, {} }, - { .SCVTF_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E61D800, 0xFFFFFC00, .NEON, {} }, - { .SCVTF_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E21D800, 0xFFFFFC00, .NEON, {} }, { .SCVTF_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E21D800, 0xFFFFFC00, .NEON, {} }, + { .UCVTF_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E61D800, 0xFFFFFC00, .NEON, {} }, + { .UCVTF_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E79D800, 0xFFFFFC00, .FP16, {} }, { .UCVTF_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E79D800, 0xFFFFFC00, .FP16, {} }, { .UCVTF_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E21D800, 0xFFFFFC00, .NEON, {} }, - { .UCVTF_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E79D800, 0xFFFFFC00, .FP16, {} }, - { .UCVTF_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E61D800, 0xFFFFFC00, .NEON, {} }, { .UCVTF_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E21D800, 0xFFFFFC00, .NEON, {} }, - { .FCVTAS_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E61C800, 0xFFFFFC00, .NEON, {} }, { .FCVTAS_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E79C800, 0xFFFFFC00, .FP16, {} }, + { .FCVTAS_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E79C800, 0xFFFFFC00, .FP16, {} }, { .FCVTAS_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E21C800, 0xFFFFFC00, .NEON, {} }, { .FCVTAS_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E21C800, 0xFFFFFC00, .NEON, {} }, - { .FCVTAS_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E79C800, 0xFFFFFC00, .FP16, {} }, - { .FCVTAU_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E21C800, 0xFFFFFC00, .NEON, {} }, + { .FCVTAS_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E61C800, 0xFFFFFC00, .NEON, {} }, + { .FCVTAU_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E79C800, 0xFFFFFC00, .FP16, {} }, + { .FCVTAU_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E21C800, 0xFFFFFC00, .NEON, {} }, { .FCVTAU_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E61C800, 0xFFFFFC00, .NEON, {} }, { .FCVTAU_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E79C800, 0xFFFFFC00, .FP16, {} }, - { .FCVTAU_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E21C800, 0xFFFFFC00, .NEON, {} }, - { .FCVTAU_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E79C800, 0xFFFFFC00, .FP16, {} }, + { .FCVTAU_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E21C800, 0xFFFFFC00, .NEON, {} }, { .FCVTMS_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E21B800, 0xFFFFFC00, .NEON, {} }, - { .FCVTMS_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E61B800, 0xFFFFFC00, .NEON, {} }, { .FCVTMS_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E79B800, 0xFFFFFC00, .FP16, {} }, - { .FCVTMS_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E79B800, 0xFFFFFC00, .FP16, {} }, + { .FCVTMS_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E61B800, 0xFFFFFC00, .NEON, {} }, { .FCVTMS_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E21B800, 0xFFFFFC00, .NEON, {} }, - { .FCVTMU_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E61B800, 0xFFFFFC00, .NEON, {} }, + { .FCVTMS_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E79B800, 0xFFFFFC00, .FP16, {} }, { .FCVTMU_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E21B800, 0xFFFFFC00, .NEON, {} }, - { .FCVTMU_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E79B800, 0xFFFFFC00, .FP16, {} }, + { .FCVTMU_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E61B800, 0xFFFFFC00, .NEON, {} }, { .FCVTMU_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E21B800, 0xFFFFFC00, .NEON, {} }, { .FCVTMU_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E79B800, 0xFFFFFC00, .FP16, {} }, - { .FCVTNS_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E79A800, 0xFFFFFC00, .FP16, {} }, + { .FCVTMU_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E79B800, 0xFFFFFC00, .FP16, {} }, { .FCVTNS_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E21A800, 0xFFFFFC00, .NEON, {} }, { .FCVTNS_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E61A800, 0xFFFFFC00, .NEON, {} }, - { .FCVTNS_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E79A800, 0xFFFFFC00, .FP16, {} }, { .FCVTNS_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E21A800, 0xFFFFFC00, .NEON, {} }, - { .FCVTNU_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E21A800, 0xFFFFFC00, .NEON, {} }, + { .FCVTNS_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E79A800, 0xFFFFFC00, .FP16, {} }, + { .FCVTNS_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E79A800, 0xFFFFFC00, .FP16, {} }, + { .FCVTNU_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E79A800, 0xFFFFFC00, .FP16, {} }, + { .FCVTNU_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E61A800, 0xFFFFFC00, .NEON, {} }, { .FCVTNU_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E79A800, 0xFFFFFC00, .FP16, {} }, { .FCVTNU_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E21A800, 0xFFFFFC00, .NEON, {} }, - { .FCVTNU_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E61A800, 0xFFFFFC00, .NEON, {} }, - { .FCVTNU_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E79A800, 0xFFFFFC00, .FP16, {} }, + { .FCVTNU_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E21A800, 0xFFFFFC00, .NEON, {} }, + { .FCVTPS_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EF9A800, 0xFFFFFC00, .FP16, {} }, { .FCVTPS_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA1A800, 0xFFFFFC00, .NEON, {} }, { .FCVTPS_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EE1A800, 0xFFFFFC00, .NEON, {} }, { .FCVTPS_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EF9A800, 0xFFFFFC00, .FP16, {} }, - { .FCVTPS_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EF9A800, 0xFFFFFC00, .FP16, {} }, { .FCVTPS_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA1A800, 0xFFFFFC00, .NEON, {} }, - { .FCVTPU_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EE1A800, 0xFFFFFC00, .NEON, {} }, + { .FCVTPU_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EF9A800, 0xFFFFFC00, .FP16, {} }, { .FCVTPU_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EA1A800, 0xFFFFFC00, .NEON, {} }, { .FCVTPU_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EA1A800, 0xFFFFFC00, .NEON, {} }, { .FCVTPU_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EF9A800, 0xFFFFFC00, .FP16, {} }, - { .FCVTPU_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EF9A800, 0xFFFFFC00, .FP16, {} }, + { .FCVTPU_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EE1A800, 0xFFFFFC00, .NEON, {} }, { .FCVTZS_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA1B800, 0xFFFFFC00, .NEON, {} }, + { .FCVTZS_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EE1B800, 0xFFFFFC00, .NEON, {} }, + { .FCVTZS_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EF9B800, 0xFFFFFC00, .FP16, {} }, { .FCVTZS_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA1B800, 0xFFFFFC00, .NEON, {} }, { .FCVTZS_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EF9B800, 0xFFFFFC00, .FP16, {} }, - { .FCVTZS_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EF9B800, 0xFFFFFC00, .FP16, {} }, - { .FCVTZS_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EE1B800, 0xFFFFFC00, .NEON, {} }, - { .FCVTZU_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EA1B800, 0xFFFFFC00, .NEON, {} }, + { .FCVTZU_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EE1B800, 0xFFFFFC00, .NEON, {} }, { .FCVTZU_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EF9B800, 0xFFFFFC00, .FP16, {} }, { .FCVTZU_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EF9B800, 0xFFFFFC00, .FP16, {} }, - { .FCVTZU_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EE1B800, 0xFFFFFC00, .NEON, {} }, { .FCVTZU_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EA1B800, 0xFFFFFC00, .NEON, {} }, - { .FCVTL, {.V_4S,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E217800, 0xFFFFFC00, .FP16, {} }, + { .FCVTZU_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EA1B800, 0xFFFFFC00, .NEON, {} }, { .FCVTL, {.V_2D,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E617800, 0xFFFFFC00, .NEON, {} }, + { .FCVTL, {.V_4S,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E217800, 0xFFFFFC00, .FP16, {} }, { .FCVTL2, {.V_4S,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E217800, 0xFFFFFC00, .FP16, {} }, { .FCVTL2, {.V_2D,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E617800, 0xFFFFFC00, .NEON, {} }, { .FCVTN, {.V_2S,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E616800, 0xFFFFFC00, .NEON, {} }, @@ -844,78 +844,78 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .FCVTN2, {.V_4S,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E616800, 0xFFFFFC00, .NEON, {} }, { .FCVTXN, {.V_2S,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E616800, 0xFFFFFC00, .NEON, {} }, { .FCVTXN2, {.V_4S,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E616800, 0xFFFFFC00, .NEON, {} }, - { .FCMLE, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EA0D800, 0xFFFFFC00, .NEON, {} }, + { .FCMLE, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EA0D800, 0xFFFFFC00, .NEON, {} }, { .FCMLE, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EF8D800, 0xFFFFFC00, .FP16, {} }, + { .FCMLE, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EA0D800, 0xFFFFFC00, .NEON, {} }, { .FCMLE, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EF8D800, 0xFFFFFC00, .FP16, {} }, { .FCMLE, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EE0D800, 0xFFFFFC00, .NEON, {} }, - { .FCMLE, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EA0D800, 0xFFFFFC00, .NEON, {} }, { .FCMLT, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EF8E800, 0xFFFFFC00, .FP16, {} }, - { .FCMLT, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EF8E800, 0xFFFFFC00, .FP16, {} }, + { .FCMLT, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA0E800, 0xFFFFFC00, .NEON, {} }, { .FCMLT, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EE0E800, 0xFFFFFC00, .NEON, {} }, { .FCMLT, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA0E800, 0xFFFFFC00, .NEON, {} }, - { .FCMLT, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA0E800, 0xFFFFFC00, .NEON, {} }, - { .CMLE, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EE09800, 0xFFFFFC00, .NEON, {} }, - { .CMLE, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E209800, 0xFFFFFC00, .NEON, {} }, + { .FCMLT, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EF8E800, 0xFFFFFC00, .FP16, {} }, { .CMLE, {.V_4H,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E609800, 0xFFFFFC00, .NEON, {} }, - { .CMLE, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E209800, 0xFFFFFC00, .NEON, {} }, { .CMLE, {.V_8H,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E609800, 0xFFFFFC00, .NEON, {} }, + { .CMLE, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EE09800, 0xFFFFFC00, .NEON, {} }, { .CMLE, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EA09800, 0xFFFFFC00, .NEON, {} }, + { .CMLE, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E209800, 0xFFFFFC00, .NEON, {} }, { .CMLE, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EA09800, 0xFFFFFC00, .NEON, {} }, + { .CMLE, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E209800, 0xFFFFFC00, .NEON, {} }, + { .CMLT, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E20A800, 0xFFFFFC00, .NEON, {} }, { .CMLT, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E20A800, 0xFFFFFC00, .NEON, {} }, - { .CMLT, {.V_8H,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E60A800, 0xFFFFFC00, .NEON, {} }, { .CMLT, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA0A800, 0xFFFFFC00, .NEON, {} }, { .CMLT, {.V_4H,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E60A800, 0xFFFFFC00, .NEON, {} }, - { .CMLT, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EE0A800, 0xFFFFFC00, .NEON, {} }, - { .CMLT, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E20A800, 0xFFFFFC00, .NEON, {} }, { .CMLT, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA0A800, 0xFFFFFC00, .NEON, {} }, + { .CMLT, {.V_8H,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E60A800, 0xFFFFFC00, .NEON, {} }, + { .CMLT, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EE0A800, 0xFFFFFC00, .NEON, {} }, { .MVN_V, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E205800, 0xFFFFFC00, .NEON, {} }, { .MVN_V, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E205800, 0xFFFFFC00, .NEON, {} }, - { .SXTL, {.V_2D,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0F20A400, 0xFFFFFC00, .NEON, {} }, { .SXTL, {.V_8H,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0F08A400, 0xFFFFFC00, .NEON, {} }, + { .SXTL, {.V_2D,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0F20A400, 0xFFFFFC00, .NEON, {} }, { .SXTL, {.V_4S,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0F10A400, 0xFFFFFC00, .NEON, {} }, { .SXTL2, {.V_2D,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4F20A400, 0xFFFFFC00, .NEON, {} }, - { .SXTL2, {.V_8H,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4F08A400, 0xFFFFFC00, .NEON, {} }, { .SXTL2, {.V_4S,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4F10A400, 0xFFFFFC00, .NEON, {} }, - { .UXTL, {.V_4S,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2F10A400, 0xFFFFFC00, .NEON, {} }, + { .SXTL2, {.V_8H,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4F08A400, 0xFFFFFC00, .NEON, {} }, { .UXTL, {.V_8H,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2F08A400, 0xFFFFFC00, .NEON, {} }, + { .UXTL, {.V_4S,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2F10A400, 0xFFFFFC00, .NEON, {} }, { .UXTL, {.V_2D,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2F20A400, 0xFFFFFC00, .NEON, {} }, { .UXTL2, {.V_4S,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6F10A400, 0xFFFFFC00, .NEON, {} }, { .UXTL2, {.V_2D,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6F20A400, 0xFFFFFC00, .NEON, {} }, { .UXTL2, {.V_8H,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6F08A400, 0xFFFFFC00, .NEON, {} }, - { .DUP_V, {.V_8H,.W_REG,.NONE,.NONE}, {.VD,.RN,.NONE,.NONE}, 0x4E020C00, 0xFFFFFC00, .NEON, {} }, { .DUP_V, {.V_2S,.W_REG,.NONE,.NONE}, {.VD,.RN,.NONE,.NONE}, 0x0E040C00, 0xFFFFFC00, .NEON, {} }, - { .DUP_V, {.V_4H,.W_REG,.NONE,.NONE}, {.VD,.RN,.NONE,.NONE}, 0x0E020C00, 0xFFFFFC00, .NEON, {} }, { .DUP_V, {.V_2D,.X_REG,.NONE,.NONE}, {.VD,.RN,.NONE,.NONE}, 0x4E080C00, 0xFFFFFC00, .NEON, {} }, - { .DUP_V, {.V_16B,.W_REG,.NONE,.NONE}, {.VD,.RN,.NONE,.NONE}, 0x4E010C00, 0xFFFFFC00, .NEON, {} }, + { .DUP_V, {.V_4H,.W_REG,.NONE,.NONE}, {.VD,.RN,.NONE,.NONE}, 0x0E020C00, 0xFFFFFC00, .NEON, {} }, + { .DUP_V, {.V_8H,.W_REG,.NONE,.NONE}, {.VD,.RN,.NONE,.NONE}, 0x4E020C00, 0xFFFFFC00, .NEON, {} }, { .DUP_V, {.V_4S,.W_REG,.NONE,.NONE}, {.VD,.RN,.NONE,.NONE}, 0x4E040C00, 0xFFFFFC00, .NEON, {} }, + { .DUP_V, {.V_16B,.W_REG,.NONE,.NONE}, {.VD,.RN,.NONE,.NONE}, 0x4E010C00, 0xFFFFFC00, .NEON, {} }, { .DUP_V, {.V_8B,.W_REG,.NONE,.NONE}, {.VD,.RN,.NONE,.NONE}, 0x0E010C00, 0xFFFFFC00, .NEON, {} }, { .NOT_V, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E205800, 0xFFFFFC00, .NEON, {} }, { .NOT_V, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E205800, 0xFFFFFC00, .NEON, {} }, - { .RBIT_V, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E605800, 0xFFFFFC00, .NEON, {} }, { .RBIT_V, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E605800, 0xFFFFFC00, .NEON, {} }, + { .RBIT_V, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E605800, 0xFFFFFC00, .NEON, {} }, { .REV16_V, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E201800, 0xFFFFFC00, .NEON, {} }, { .REV16_V, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E201800, 0xFFFFFC00, .NEON, {} }, { .REV32_V, {.V_4H,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E600800, 0xFFFFFC00, .NEON, {} }, { .REV32_V, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E200800, 0xFFFFFC00, .NEON, {} }, { .REV32_V, {.V_8H,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E600800, 0xFFFFFC00, .NEON, {} }, { .REV32_V, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E200800, 0xFFFFFC00, .NEON, {} }, - { .REV64, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA00800, 0xFFFFFC00, .NEON, {} }, + { .REV64, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E200800, 0xFFFFFC00, .NEON, {} }, { .REV64, {.V_4H,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E600800, 0xFFFFFC00, .NEON, {} }, { .REV64, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA00800, 0xFFFFFC00, .NEON, {} }, - { .REV64, {.V_8H,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E600800, 0xFFFFFC00, .NEON, {} }, + { .REV64, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA00800, 0xFFFFFC00, .NEON, {} }, { .REV64, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E200800, 0xFFFFFC00, .NEON, {} }, - { .REV64, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E200800, 0xFFFFFC00, .NEON, {} }, - { .CLS_V, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E204800, 0xFFFFFC00, .NEON, {} }, - { .CLS_V, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E204800, 0xFFFFFC00, .NEON, {} }, - { .CLS_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA04800, 0xFFFFFC00, .NEON, {} }, + { .REV64, {.V_8H,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E600800, 0xFFFFFC00, .NEON, {} }, { .CLS_V, {.V_8H,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E604800, 0xFFFFFC00, .NEON, {} }, - { .CLS_V, {.V_4H,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E604800, 0xFFFFFC00, .NEON, {} }, + { .CLS_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA04800, 0xFFFFFC00, .NEON, {} }, + { .CLS_V, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E204800, 0xFFFFFC00, .NEON, {} }, { .CLS_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA04800, 0xFFFFFC00, .NEON, {} }, - { .CLZ_V, {.V_8H,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E604800, 0xFFFFFC00, .NEON, {} }, - { .CLZ_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EA04800, 0xFFFFFC00, .NEON, {} }, - { .CLZ_V, {.V_4H,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E604800, 0xFFFFFC00, .NEON, {} }, - { .CLZ_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EA04800, 0xFFFFFC00, .NEON, {} }, + { .CLS_V, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E204800, 0xFFFFFC00, .NEON, {} }, + { .CLS_V, {.V_4H,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E604800, 0xFFFFFC00, .NEON, {} }, { .CLZ_V, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E204800, 0xFFFFFC00, .NEON, {} }, + { .CLZ_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EA04800, 0xFFFFFC00, .NEON, {} }, + { .CLZ_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EA04800, 0xFFFFFC00, .NEON, {} }, + { .CLZ_V, {.V_8H,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E604800, 0xFFFFFC00, .NEON, {} }, + { .CLZ_V, {.V_4H,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E604800, 0xFFFFFC00, .NEON, {} }, { .CLZ_V, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E204800, 0xFFFFFC00, .NEON, {} }, { .CNT, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E205800, 0xFFFFFC00, .NEON, {} }, { .CNT, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E205800, 0xFFFFFC00, .NEON, {} }, @@ -923,40 +923,40 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .URECPE_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA1C800, 0xFFFFFC00, .NEON, {} }, { .URSQRTE_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EA1C800, 0xFFFFFC00, .NEON, {} }, { .URSQRTE_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EA1C800, 0xFFFFFC00, .NEON, {} }, - { .NOT_V_ALIAS, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E205800, 0xFFFFFC00, .NEON, {} }, { .NOT_V_ALIAS, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E205800, 0xFFFFFC00, .NEON, {} }, + { .NOT_V_ALIAS, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E205800, 0xFFFFFC00, .NEON, {} }, { .DUP_V, {.V_2D,.V_ELEM_D,.VEC_INDEX,.NONE}, {.VD,.VN,.NEON_IDX5,.NONE}, 0x4E080400, 0xFFEFFC00, .NEON, {} }, { .INS, {.V_ELEM_D,.VEC_INDEX,.X_REG,.NONE}, {.VD,.NEON_IDX5,.RN,.NONE}, 0x4E081C00, 0xFFEFFC00, .NEON, {} }, { .DUP_V, {.V_4S,.V_ELEM_S,.VEC_INDEX,.NONE}, {.VD,.VN,.NEON_IDX5,.NONE}, 0x4E040400, 0xFFE7FC00, .NEON, {} }, { .DUP_V, {.V_2S,.V_ELEM_S,.VEC_INDEX,.NONE}, {.VD,.VN,.NEON_IDX5,.NONE}, 0x0E040400, 0xFFE7FC00, .NEON, {} }, - { .INS, {.V_ELEM_D,.VEC_INDEX,.V_ELEM_D,.VEC_INDEX}, {.VD,.NEON_IDX5,.VN,.NEON_IDX4}, 0x6E080400, 0xFFEFBC00, .NEON, {} }, { .INS, {.V_ELEM_S,.VEC_INDEX,.W_REG,.NONE}, {.VD,.NEON_IDX5,.RN,.NONE}, 0x4E041C00, 0xFFE7FC00, .NEON, {} }, + { .INS, {.V_ELEM_D,.VEC_INDEX,.V_ELEM_D,.VEC_INDEX}, {.VD,.NEON_IDX5,.VN,.NEON_IDX4}, 0x6E080400, 0xFFEFBC00, .NEON, {} }, { .SHL_V, {.V_8B,.V_8B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x0F085400, 0xFFF8FC00, .NEON, {} }, { .SHL_V, {.V_16B,.V_16B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x4F085400, 0xFFF8FC00, .NEON, {} }, - { .SQSHL_V, {.V_8B,.V_8B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x0F087400, 0xFFF8FC00, .NEON, {} }, { .SQSHL_V, {.V_16B,.V_16B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x4F087400, 0xFFF8FC00, .NEON, {} }, + { .SQSHL_V, {.V_8B,.V_8B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x0F087400, 0xFFF8FC00, .NEON, {} }, { .SQSHLU, {.V_16B,.V_16B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x6F086400, 0xFFF8FC00, .NEON, {} }, { .SQSHLU, {.V_8B,.V_8B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x2F086400, 0xFFF8FC00, .NEON, {} }, - { .SSHR, {.V_8B,.V_8B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x0F080400, 0xFFF8FC00, .NEON, {} }, { .SSHR, {.V_16B,.V_16B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x4F080400, 0xFFF8FC00, .NEON, {} }, + { .SSHR, {.V_8B,.V_8B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x0F080400, 0xFFF8FC00, .NEON, {} }, { .USHR, {.V_16B,.V_16B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x6F080400, 0xFFF8FC00, .NEON, {} }, { .USHR, {.V_8B,.V_8B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x2F080400, 0xFFF8FC00, .NEON, {} }, - { .SSRA, {.V_16B,.V_16B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x4F081400, 0xFFF8FC00, .NEON, {} }, { .SSRA, {.V_8B,.V_8B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x0F081400, 0xFFF8FC00, .NEON, {} }, - { .USRA, {.V_16B,.V_16B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x6F081400, 0xFFF8FC00, .NEON, {} }, + { .SSRA, {.V_16B,.V_16B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x4F081400, 0xFFF8FC00, .NEON, {} }, { .USRA, {.V_8B,.V_8B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x2F081400, 0xFFF8FC00, .NEON, {} }, - { .SRSHR, {.V_8B,.V_8B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x0F082400, 0xFFF8FC00, .NEON, {} }, + { .USRA, {.V_16B,.V_16B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x6F081400, 0xFFF8FC00, .NEON, {} }, { .SRSHR, {.V_16B,.V_16B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x4F082400, 0xFFF8FC00, .NEON, {} }, - { .URSHR, {.V_16B,.V_16B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x6F082400, 0xFFF8FC00, .NEON, {} }, + { .SRSHR, {.V_8B,.V_8B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x0F082400, 0xFFF8FC00, .NEON, {} }, { .URSHR, {.V_8B,.V_8B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x2F082400, 0xFFF8FC00, .NEON, {} }, + { .URSHR, {.V_16B,.V_16B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x6F082400, 0xFFF8FC00, .NEON, {} }, { .SRSRA, {.V_16B,.V_16B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x4F083400, 0xFFF8FC00, .NEON, {} }, { .SRSRA, {.V_8B,.V_8B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x0F083400, 0xFFF8FC00, .NEON, {} }, { .URSRA, {.V_8B,.V_8B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x2F083400, 0xFFF8FC00, .NEON, {} }, { .URSRA, {.V_16B,.V_16B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x6F083400, 0xFFF8FC00, .NEON, {} }, { .SLI, {.V_16B,.V_16B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x6F085400, 0xFFF8FC00, .NEON, {} }, { .SLI, {.V_8B,.V_8B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x2F085400, 0xFFF8FC00, .NEON, {} }, - { .SRI, {.V_8B,.V_8B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x2F084400, 0xFFF8FC00, .NEON, {} }, { .SRI, {.V_16B,.V_16B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x6F084400, 0xFFF8FC00, .NEON, {} }, + { .SRI, {.V_8B,.V_8B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x2F084400, 0xFFF8FC00, .NEON, {} }, { .SSHLL, {.V_8H,.V_8B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x0F08A400, 0xFFF8FC00, .NEON, {} }, { .SSHLL2, {.V_8H,.V_16B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x4F08A400, 0xFFF8FC00, .NEON, {} }, { .USHLL, {.V_8H,.V_8B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x2F08A400, 0xFFF8FC00, .NEON, {} }, @@ -982,30 +982,30 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .INS, {.V_ELEM_H,.VEC_INDEX,.W_REG,.NONE}, {.VD,.NEON_IDX5,.RN,.NONE}, 0x4E021C00, 0xFFE3FC00, .NEON, {} }, { .SHL_V, {.V_8H,.V_8H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x4F105400, 0xFFF0FC00, .NEON, {} }, { .SHL_V, {.V_4H,.V_4H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x0F105400, 0xFFF0FC00, .NEON, {} }, - { .SQSHL_V, {.V_8H,.V_8H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x4F107400, 0xFFF0FC00, .NEON, {} }, { .SQSHL_V, {.V_4H,.V_4H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x0F107400, 0xFFF0FC00, .NEON, {} }, - { .SQSHLU, {.V_4H,.V_4H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x2F106400, 0xFFF0FC00, .NEON, {} }, + { .SQSHL_V, {.V_8H,.V_8H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x4F107400, 0xFFF0FC00, .NEON, {} }, { .SQSHLU, {.V_8H,.V_8H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x6F106400, 0xFFF0FC00, .NEON, {} }, + { .SQSHLU, {.V_4H,.V_4H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x2F106400, 0xFFF0FC00, .NEON, {} }, { .SSHR, {.V_8H,.V_8H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x4F100400, 0xFFF0FC00, .NEON, {} }, { .SSHR, {.V_4H,.V_4H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x0F100400, 0xFFF0FC00, .NEON, {} }, - { .USHR, {.V_8H,.V_8H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x6F100400, 0xFFF0FC00, .NEON, {} }, { .USHR, {.V_4H,.V_4H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x2F100400, 0xFFF0FC00, .NEON, {} }, + { .USHR, {.V_8H,.V_8H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x6F100400, 0xFFF0FC00, .NEON, {} }, { .SSRA, {.V_8H,.V_8H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x4F101400, 0xFFF0FC00, .NEON, {} }, { .SSRA, {.V_4H,.V_4H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x0F101400, 0xFFF0FC00, .NEON, {} }, { .USRA, {.V_8H,.V_8H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x6F101400, 0xFFF0FC00, .NEON, {} }, { .USRA, {.V_4H,.V_4H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x2F101400, 0xFFF0FC00, .NEON, {} }, - { .SRSHR, {.V_4H,.V_4H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x0F102400, 0xFFF0FC00, .NEON, {} }, { .SRSHR, {.V_8H,.V_8H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x4F102400, 0xFFF0FC00, .NEON, {} }, - { .URSHR, {.V_8H,.V_8H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x6F102400, 0xFFF0FC00, .NEON, {} }, + { .SRSHR, {.V_4H,.V_4H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x0F102400, 0xFFF0FC00, .NEON, {} }, { .URSHR, {.V_4H,.V_4H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x2F102400, 0xFFF0FC00, .NEON, {} }, + { .URSHR, {.V_8H,.V_8H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x6F102400, 0xFFF0FC00, .NEON, {} }, { .SRSRA, {.V_4H,.V_4H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x0F103400, 0xFFF0FC00, .NEON, {} }, { .SRSRA, {.V_8H,.V_8H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x4F103400, 0xFFF0FC00, .NEON, {} }, { .URSRA, {.V_8H,.V_8H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x6F103400, 0xFFF0FC00, .NEON, {} }, { .URSRA, {.V_4H,.V_4H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x2F103400, 0xFFF0FC00, .NEON, {} }, - { .SLI, {.V_8H,.V_8H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x6F105400, 0xFFF0FC00, .NEON, {} }, { .SLI, {.V_4H,.V_4H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x2F105400, 0xFFF0FC00, .NEON, {} }, - { .SRI, {.V_4H,.V_4H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x2F104400, 0xFFF0FC00, .NEON, {} }, + { .SLI, {.V_8H,.V_8H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x6F105400, 0xFFF0FC00, .NEON, {} }, { .SRI, {.V_8H,.V_8H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x6F104400, 0xFFF0FC00, .NEON, {} }, + { .SRI, {.V_4H,.V_4H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x2F104400, 0xFFF0FC00, .NEON, {} }, { .SSHLL, {.V_4S,.V_4H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x0F10A400, 0xFFF0FC00, .NEON, {} }, { .SSHLL2, {.V_4S,.V_8H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x4F10A400, 0xFFF0FC00, .NEON, {} }, { .USHLL, {.V_4S,.V_4H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x2F10A400, 0xFFF0FC00, .NEON, {} }, @@ -1028,8 +1028,8 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .SQRSHRUN2, {.V_8H,.V_4S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x6F108C00, 0xFFF0FC00, .NEON, {} }, { .DUP_V, {.V_16B,.V_ELEM_B,.VEC_INDEX,.NONE}, {.VD,.VN,.NEON_IDX5,.NONE}, 0x4E010400, 0xFFE1FC00, .NEON, {} }, { .DUP_V, {.V_8B,.V_ELEM_B,.VEC_INDEX,.NONE}, {.VD,.VN,.NEON_IDX5,.NONE}, 0x0E010400, 0xFFE1FC00, .NEON, {} }, - { .INS, {.V_ELEM_S,.VEC_INDEX,.V_ELEM_S,.VEC_INDEX}, {.VD,.NEON_IDX5,.VN,.NEON_IDX4}, 0x6E040400, 0xFFE79C00, .NEON, {} }, { .INS, {.V_ELEM_B,.VEC_INDEX,.W_REG,.NONE}, {.VD,.NEON_IDX5,.RN,.NONE}, 0x4E011C00, 0xFFE1FC00, .NEON, {} }, + { .INS, {.V_ELEM_S,.VEC_INDEX,.V_ELEM_S,.VEC_INDEX}, {.VD,.NEON_IDX5,.VN,.NEON_IDX4}, 0x6E040400, 0xFFE79C00, .NEON, {} }, { .SHA512H, {.Q_REG,.Q_REG,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0xCE608000, 0xFFE0FC00, .CRYPTO, {} }, { .SHA512H2, {.Q_REG,.Q_REG,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0xCE608400, 0xFFE0FC00, .CRYPTO, {} }, { .SHA512SU1, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0xCE608800, 0xFFE0FC00, .CRYPTO, {} }, @@ -1046,88 +1046,88 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .BFMLALB, {.V_4S,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EC0FC00, 0xFFE0FC00, .BF16, {} }, { .BFMLALT, {.V_4S,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EC0FC00, 0xFFE0FC00, .BF16, {} }, { .ADD_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA08400, 0xFFE0FC00, .NEON, {} }, - { .ADD_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA08400, 0xFFE0FC00, .NEON, {} }, - { .ADD_V, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E608400, 0xFFE0FC00, .NEON, {} }, - { .ADD_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EE08400, 0xFFE0FC00, .NEON, {} }, - { .ADD_V, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E208400, 0xFFE0FC00, .NEON, {} }, - { .ADD_V, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E208400, 0xFFE0FC00, .NEON, {} }, { .ADD_V, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E608400, 0xFFE0FC00, .NEON, {} }, + { .ADD_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EE08400, 0xFFE0FC00, .NEON, {} }, + { .ADD_V, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E608400, 0xFFE0FC00, .NEON, {} }, + { .ADD_V, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E208400, 0xFFE0FC00, .NEON, {} }, + { .ADD_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA08400, 0xFFE0FC00, .NEON, {} }, + { .ADD_V, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E208400, 0xFFE0FC00, .NEON, {} }, + { .SUB_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EE08400, 0xFFE0FC00, .NEON, {} }, { .SUB_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA08400, 0xFFE0FC00, .NEON, {} }, { .SUB_V, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E208400, 0xFFE0FC00, .NEON, {} }, { .SUB_V, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E608400, 0xFFE0FC00, .NEON, {} }, - { .SUB_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EE08400, 0xFFE0FC00, .NEON, {} }, { .MUL_V, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E609C00, 0xFFE0FC00, .NEON, {} }, { .MUL_V, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E209C00, 0xFFE0FC00, .NEON, {} }, { .MUL_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA09C00, 0xFFE0FC00, .NEON, {} }, - { .MLA_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA09400, 0xFFE0FC00, .NEON, {} }, - { .MLA_V, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E609400, 0xFFE0FC00, .NEON, {} }, - { .MLA_V, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E209400, 0xFFE0FC00, .NEON, {} }, - { .MLA_V, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E609400, 0xFFE0FC00, .NEON, {} }, { .MLA_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA09400, 0xFFE0FC00, .NEON, {} }, + { .MLA_V, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E609400, 0xFFE0FC00, .NEON, {} }, + { .MLA_V, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E609400, 0xFFE0FC00, .NEON, {} }, + { .MLA_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA09400, 0xFFE0FC00, .NEON, {} }, { .MLA_V, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E209400, 0xFFE0FC00, .NEON, {} }, + { .MLA_V, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E209400, 0xFFE0FC00, .NEON, {} }, { .MLS_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA09400, 0xFFE0FC00, .NEON, {} }, - { .MLS_V, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E609400, 0xFFE0FC00, .NEON, {} }, { .MLS_V, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E609400, 0xFFE0FC00, .NEON, {} }, - { .MLS_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA09400, 0xFFE0FC00, .NEON, {} }, - { .MLS_V, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E209400, 0xFFE0FC00, .NEON, {} }, { .MLS_V, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E209400, 0xFFE0FC00, .NEON, {} }, - { .SHADD, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E600400, 0xFFE0FC00, .NEON, {} }, - { .SHADD, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E600400, 0xFFE0FC00, .NEON, {} }, + { .MLS_V, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E609400, 0xFFE0FC00, .NEON, {} }, + { .MLS_V, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E209400, 0xFFE0FC00, .NEON, {} }, + { .MLS_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA09400, 0xFFE0FC00, .NEON, {} }, { .SHADD, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA00400, 0xFFE0FC00, .NEON, {} }, + { .SHADD, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E600400, 0xFFE0FC00, .NEON, {} }, + { .SHADD, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA00400, 0xFFE0FC00, .NEON, {} }, { .SHADD, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E200400, 0xFFE0FC00, .NEON, {} }, { .SHADD, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E200400, 0xFFE0FC00, .NEON, {} }, - { .SHADD, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA00400, 0xFFE0FC00, .NEON, {} }, - { .UHADD, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA00400, 0xFFE0FC00, .NEON, {} }, + { .SHADD, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E600400, 0xFFE0FC00, .NEON, {} }, { .UHADD, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E600400, 0xFFE0FC00, .NEON, {} }, - { .UHADD, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA00400, 0xFFE0FC00, .NEON, {} }, + { .UHADD, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E600400, 0xFFE0FC00, .NEON, {} }, + { .UHADD, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA00400, 0xFFE0FC00, .NEON, {} }, { .UHADD, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E200400, 0xFFE0FC00, .NEON, {} }, { .UHADD, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E200400, 0xFFE0FC00, .NEON, {} }, - { .UHADD, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E600400, 0xFFE0FC00, .NEON, {} }, + { .UHADD, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA00400, 0xFFE0FC00, .NEON, {} }, { .SHSUB, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E602400, 0xFFE0FC00, .NEON, {} }, + { .SHSUB, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E202400, 0xFFE0FC00, .NEON, {} }, + { .SHSUB, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E202400, 0xFFE0FC00, .NEON, {} }, { .SHSUB, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E602400, 0xFFE0FC00, .NEON, {} }, { .SHSUB, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA02400, 0xFFE0FC00, .NEON, {} }, - { .SHSUB, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E202400, 0xFFE0FC00, .NEON, {} }, - { .SHSUB, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E202400, 0xFFE0FC00, .NEON, {} }, { .SHSUB, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA02400, 0xFFE0FC00, .NEON, {} }, + { .UHSUB, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA02400, 0xFFE0FC00, .NEON, {} }, { .UHSUB, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E602400, 0xFFE0FC00, .NEON, {} }, { .UHSUB, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E202400, 0xFFE0FC00, .NEON, {} }, { .UHSUB, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E202400, 0xFFE0FC00, .NEON, {} }, { .UHSUB, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E602400, 0xFFE0FC00, .NEON, {} }, { .UHSUB, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA02400, 0xFFE0FC00, .NEON, {} }, - { .UHSUB, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA02400, 0xFFE0FC00, .NEON, {} }, { .SRHADD, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA01400, 0xFFE0FC00, .NEON, {} }, - { .SRHADD, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E601400, 0xFFE0FC00, .NEON, {} }, - { .SRHADD, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E201400, 0xFFE0FC00, .NEON, {} }, - { .SRHADD, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E201400, 0xFFE0FC00, .NEON, {} }, - { .SRHADD, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E601400, 0xFFE0FC00, .NEON, {} }, { .SRHADD, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA01400, 0xFFE0FC00, .NEON, {} }, - { .URHADD, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA01400, 0xFFE0FC00, .NEON, {} }, + { .SRHADD, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E201400, 0xFFE0FC00, .NEON, {} }, + { .SRHADD, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E201400, 0xFFE0FC00, .NEON, {} }, + { .SRHADD, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E601400, 0xFFE0FC00, .NEON, {} }, + { .SRHADD, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E601400, 0xFFE0FC00, .NEON, {} }, { .URHADD, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA01400, 0xFFE0FC00, .NEON, {} }, - { .URHADD, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E201400, 0xFFE0FC00, .NEON, {} }, - { .URHADD, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E201400, 0xFFE0FC00, .NEON, {} }, - { .URHADD, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E601400, 0xFFE0FC00, .NEON, {} }, { .URHADD, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E601400, 0xFFE0FC00, .NEON, {} }, + { .URHADD, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA01400, 0xFFE0FC00, .NEON, {} }, + { .URHADD, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E201400, 0xFFE0FC00, .NEON, {} }, + { .URHADD, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E201400, 0xFFE0FC00, .NEON, {} }, + { .URHADD, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E601400, 0xFFE0FC00, .NEON, {} }, { .SQADD, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA00C00, 0xFFE0FC00, .NEON, {} }, + { .SQADD, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E600C00, 0xFFE0FC00, .NEON, {} }, + { .SQADD, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E200C00, 0xFFE0FC00, .NEON, {} }, { .SQADD, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E600C00, 0xFFE0FC00, .NEON, {} }, { .SQADD, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA00C00, 0xFFE0FC00, .NEON, {} }, - { .SQADD, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E200C00, 0xFFE0FC00, .NEON, {} }, { .SQADD, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E200C00, 0xFFE0FC00, .NEON, {} }, - { .SQADD, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E600C00, 0xFFE0FC00, .NEON, {} }, { .SQADD, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EE00C00, 0xFFE0FC00, .NEON, {} }, - { .UQADD, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E600C00, 0xFFE0FC00, .NEON, {} }, - { .UQADD, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E200C00, 0xFFE0FC00, .NEON, {} }, - { .UQADD, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E200C00, 0xFFE0FC00, .NEON, {} }, - { .UQADD, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E600C00, 0xFFE0FC00, .NEON, {} }, - { .UQADD, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA00C00, 0xFFE0FC00, .NEON, {} }, - { .UQADD, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA00C00, 0xFFE0FC00, .NEON, {} }, { .UQADD, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EE00C00, 0xFFE0FC00, .NEON, {} }, + { .UQADD, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA00C00, 0xFFE0FC00, .NEON, {} }, + { .UQADD, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E600C00, 0xFFE0FC00, .NEON, {} }, + { .UQADD, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E200C00, 0xFFE0FC00, .NEON, {} }, + { .UQADD, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E600C00, 0xFFE0FC00, .NEON, {} }, + { .UQADD, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA00C00, 0xFFE0FC00, .NEON, {} }, + { .UQADD, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E200C00, 0xFFE0FC00, .NEON, {} }, { .SQSUB, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EE02C00, 0xFFE0FC00, .NEON, {} }, - { .SQSUB, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA02C00, 0xFFE0FC00, .NEON, {} }, - { .SQSUB, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E602C00, 0xFFE0FC00, .NEON, {} }, - { .SQSUB, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E202C00, 0xFFE0FC00, .NEON, {} }, - { .SQSUB, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E202C00, 0xFFE0FC00, .NEON, {} }, - { .SQSUB, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E602C00, 0xFFE0FC00, .NEON, {} }, { .SQSUB, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA02C00, 0xFFE0FC00, .NEON, {} }, + { .SQSUB, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E602C00, 0xFFE0FC00, .NEON, {} }, + { .SQSUB, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA02C00, 0xFFE0FC00, .NEON, {} }, + { .SQSUB, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E202C00, 0xFFE0FC00, .NEON, {} }, + { .SQSUB, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E202C00, 0xFFE0FC00, .NEON, {} }, + { .SQSUB, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E602C00, 0xFFE0FC00, .NEON, {} }, { .UQSUB, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA02C00, 0xFFE0FC00, .NEON, {} }, { .UQSUB, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E602C00, 0xFFE0FC00, .NEON, {} }, { .UQSUB, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E602C00, 0xFFE0FC00, .NEON, {} }, @@ -1135,154 +1135,154 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .UQSUB, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EE02C00, 0xFFE0FC00, .NEON, {} }, { .UQSUB, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E202C00, 0xFFE0FC00, .NEON, {} }, { .UQSUB, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E202C00, 0xFFE0FC00, .NEON, {} }, - { .SMAX, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA06400, 0xFFE0FC00, .NEON, {} }, - { .SMAX, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E606400, 0xFFE0FC00, .NEON, {} }, { .SMAX, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E206400, 0xFFE0FC00, .NEON, {} }, - { .SMAX, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E606400, 0xFFE0FC00, .NEON, {} }, - { .SMAX, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA06400, 0xFFE0FC00, .NEON, {} }, { .SMAX, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E206400, 0xFFE0FC00, .NEON, {} }, + { .SMAX, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E606400, 0xFFE0FC00, .NEON, {} }, + { .SMAX, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E606400, 0xFFE0FC00, .NEON, {} }, + { .SMAX, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA06400, 0xFFE0FC00, .NEON, {} }, + { .SMAX, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA06400, 0xFFE0FC00, .NEON, {} }, + { .UMAX, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA06400, 0xFFE0FC00, .NEON, {} }, + { .UMAX, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E606400, 0xFFE0FC00, .NEON, {} }, { .UMAX, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E206400, 0xFFE0FC00, .NEON, {} }, { .UMAX, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E206400, 0xFFE0FC00, .NEON, {} }, { .UMAX, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E606400, 0xFFE0FC00, .NEON, {} }, - { .UMAX, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E606400, 0xFFE0FC00, .NEON, {} }, { .UMAX, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA06400, 0xFFE0FC00, .NEON, {} }, - { .UMAX, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA06400, 0xFFE0FC00, .NEON, {} }, - { .SMIN, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA06C00, 0xFFE0FC00, .NEON, {} }, - { .SMIN, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E606C00, 0xFFE0FC00, .NEON, {} }, - { .SMIN, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E206C00, 0xFFE0FC00, .NEON, {} }, - { .SMIN, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E206C00, 0xFFE0FC00, .NEON, {} }, - { .SMIN, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E606C00, 0xFFE0FC00, .NEON, {} }, { .SMIN, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA06C00, 0xFFE0FC00, .NEON, {} }, + { .SMIN, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E606C00, 0xFFE0FC00, .NEON, {} }, + { .SMIN, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA06C00, 0xFFE0FC00, .NEON, {} }, + { .SMIN, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E206C00, 0xFFE0FC00, .NEON, {} }, + { .SMIN, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E206C00, 0xFFE0FC00, .NEON, {} }, + { .SMIN, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E606C00, 0xFFE0FC00, .NEON, {} }, { .UMIN, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA06C00, 0xFFE0FC00, .NEON, {} }, { .UMIN, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E606C00, 0xFFE0FC00, .NEON, {} }, { .UMIN, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA06C00, 0xFFE0FC00, .NEON, {} }, { .UMIN, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E206C00, 0xFFE0FC00, .NEON, {} }, { .UMIN, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E206C00, 0xFFE0FC00, .NEON, {} }, { .UMIN, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E606C00, 0xFFE0FC00, .NEON, {} }, - { .SABD, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA07400, 0xFFE0FC00, .NEON, {} }, { .SABD, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E607400, 0xFFE0FC00, .NEON, {} }, - { .SABD, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA07400, 0xFFE0FC00, .NEON, {} }, + { .SABD, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E607400, 0xFFE0FC00, .NEON, {} }, + { .SABD, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA07400, 0xFFE0FC00, .NEON, {} }, { .SABD, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E207400, 0xFFE0FC00, .NEON, {} }, { .SABD, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E207400, 0xFFE0FC00, .NEON, {} }, - { .SABD, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E607400, 0xFFE0FC00, .NEON, {} }, - { .UABD, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E607400, 0xFFE0FC00, .NEON, {} }, - { .UABD, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E607400, 0xFFE0FC00, .NEON, {} }, + { .SABD, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA07400, 0xFFE0FC00, .NEON, {} }, { .UABD, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA07400, 0xFFE0FC00, .NEON, {} }, - { .UABD, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E207400, 0xFFE0FC00, .NEON, {} }, + { .UABD, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E607400, 0xFFE0FC00, .NEON, {} }, { .UABD, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E207400, 0xFFE0FC00, .NEON, {} }, + { .UABD, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E607400, 0xFFE0FC00, .NEON, {} }, { .UABD, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA07400, 0xFFE0FC00, .NEON, {} }, - { .SABA, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA07C00, 0xFFE0FC00, .NEON, {} }, - { .SABA, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E607C00, 0xFFE0FC00, .NEON, {} }, - { .SABA, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E207C00, 0xFFE0FC00, .NEON, {} }, - { .SABA, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E607C00, 0xFFE0FC00, .NEON, {} }, + { .UABD, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E207400, 0xFFE0FC00, .NEON, {} }, { .SABA, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA07C00, 0xFFE0FC00, .NEON, {} }, + { .SABA, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA07C00, 0xFFE0FC00, .NEON, {} }, + { .SABA, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E207C00, 0xFFE0FC00, .NEON, {} }, { .SABA, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E207C00, 0xFFE0FC00, .NEON, {} }, - { .UABA, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA07C00, 0xFFE0FC00, .NEON, {} }, - { .UABA, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA07C00, 0xFFE0FC00, .NEON, {} }, + { .SABA, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E607C00, 0xFFE0FC00, .NEON, {} }, + { .SABA, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E607C00, 0xFFE0FC00, .NEON, {} }, { .UABA, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E207C00, 0xFFE0FC00, .NEON, {} }, { .UABA, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E207C00, 0xFFE0FC00, .NEON, {} }, { .UABA, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E607C00, 0xFFE0FC00, .NEON, {} }, { .UABA, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E607C00, 0xFFE0FC00, .NEON, {} }, - { .ADDP_V, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E20BC00, 0xFFE0FC00, .NEON, {} }, + { .UABA, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA07C00, 0xFFE0FC00, .NEON, {} }, + { .UABA, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA07C00, 0xFFE0FC00, .NEON, {} }, { .ADDP_V, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E20BC00, 0xFFE0FC00, .NEON, {} }, - { .ADDP_V, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E60BC00, 0xFFE0FC00, .NEON, {} }, - { .ADDP_V, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E60BC00, 0xFFE0FC00, .NEON, {} }, - { .ADDP_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA0BC00, 0xFFE0FC00, .NEON, {} }, + { .ADDP_V, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E20BC00, 0xFFE0FC00, .NEON, {} }, { .ADDP_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA0BC00, 0xFFE0FC00, .NEON, {} }, + { .ADDP_V, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E60BC00, 0xFFE0FC00, .NEON, {} }, + { .ADDP_V, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E60BC00, 0xFFE0FC00, .NEON, {} }, + { .ADDP_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA0BC00, 0xFFE0FC00, .NEON, {} }, { .ADDP_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EE0BC00, 0xFFE0FC00, .NEON, {} }, { .SMAXP, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA0A400, 0xFFE0FC00, .NEON, {} }, { .SMAXP, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E60A400, 0xFFE0FC00, .NEON, {} }, { .SMAXP, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA0A400, 0xFFE0FC00, .NEON, {} }, - { .SMAXP, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E20A400, 0xFFE0FC00, .NEON, {} }, { .SMAXP, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E20A400, 0xFFE0FC00, .NEON, {} }, + { .SMAXP, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E20A400, 0xFFE0FC00, .NEON, {} }, { .SMAXP, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E60A400, 0xFFE0FC00, .NEON, {} }, - { .UMAXP, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA0A400, 0xFFE0FC00, .NEON, {} }, { .UMAXP, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E60A400, 0xFFE0FC00, .NEON, {} }, - { .UMAXP, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA0A400, 0xFFE0FC00, .NEON, {} }, + { .UMAXP, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E60A400, 0xFFE0FC00, .NEON, {} }, + { .UMAXP, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA0A400, 0xFFE0FC00, .NEON, {} }, { .UMAXP, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E20A400, 0xFFE0FC00, .NEON, {} }, { .UMAXP, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E20A400, 0xFFE0FC00, .NEON, {} }, - { .UMAXP, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E60A400, 0xFFE0FC00, .NEON, {} }, + { .UMAXP, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA0A400, 0xFFE0FC00, .NEON, {} }, { .SMINP, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E60AC00, 0xFFE0FC00, .NEON, {} }, + { .SMINP, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E20AC00, 0xFFE0FC00, .NEON, {} }, + { .SMINP, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E20AC00, 0xFFE0FC00, .NEON, {} }, { .SMINP, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E60AC00, 0xFFE0FC00, .NEON, {} }, { .SMINP, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA0AC00, 0xFFE0FC00, .NEON, {} }, - { .SMINP, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E20AC00, 0xFFE0FC00, .NEON, {} }, - { .SMINP, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E20AC00, 0xFFE0FC00, .NEON, {} }, { .SMINP, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA0AC00, 0xFFE0FC00, .NEON, {} }, + { .UMINP, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA0AC00, 0xFFE0FC00, .NEON, {} }, { .UMINP, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E60AC00, 0xFFE0FC00, .NEON, {} }, { .UMINP, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E20AC00, 0xFFE0FC00, .NEON, {} }, { .UMINP, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E20AC00, 0xFFE0FC00, .NEON, {} }, { .UMINP, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E60AC00, 0xFFE0FC00, .NEON, {} }, { .UMINP, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA0AC00, 0xFFE0FC00, .NEON, {} }, - { .UMINP, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA0AC00, 0xFFE0FC00, .NEON, {} }, - { .SADDL, {.V_4S,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E600000, 0xFFE0FC00, .NEON, {} }, { .SADDL, {.V_8H,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E200000, 0xFFE0FC00, .NEON, {} }, + { .SADDL, {.V_4S,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E600000, 0xFFE0FC00, .NEON, {} }, { .SADDL, {.V_2D,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA00000, 0xFFE0FC00, .NEON, {} }, { .SADDL2, {.V_2D,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA00000, 0xFFE0FC00, .NEON, {} }, - { .SADDL2, {.V_8H,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E200000, 0xFFE0FC00, .NEON, {} }, { .SADDL2, {.V_4S,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E600000, 0xFFE0FC00, .NEON, {} }, - { .UADDL, {.V_8H,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E200000, 0xFFE0FC00, .NEON, {} }, + { .SADDL2, {.V_8H,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E200000, 0xFFE0FC00, .NEON, {} }, { .UADDL, {.V_4S,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E600000, 0xFFE0FC00, .NEON, {} }, + { .UADDL, {.V_8H,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E200000, 0xFFE0FC00, .NEON, {} }, { .UADDL, {.V_2D,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA00000, 0xFFE0FC00, .NEON, {} }, - { .UADDL2, {.V_2D,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA00000, 0xFFE0FC00, .NEON, {} }, { .UADDL2, {.V_4S,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E600000, 0xFFE0FC00, .NEON, {} }, { .UADDL2, {.V_8H,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E200000, 0xFFE0FC00, .NEON, {} }, + { .UADDL2, {.V_2D,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA00000, 0xFFE0FC00, .NEON, {} }, + { .SSUBL, {.V_2D,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA02000, 0xFFE0FC00, .NEON, {} }, { .SSUBL, {.V_4S,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E602000, 0xFFE0FC00, .NEON, {} }, { .SSUBL, {.V_8H,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E202000, 0xFFE0FC00, .NEON, {} }, - { .SSUBL, {.V_2D,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA02000, 0xFFE0FC00, .NEON, {} }, { .SSUBL2, {.V_4S,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E602000, 0xFFE0FC00, .NEON, {} }, { .SSUBL2, {.V_8H,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E202000, 0xFFE0FC00, .NEON, {} }, { .SSUBL2, {.V_2D,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA02000, 0xFFE0FC00, .NEON, {} }, - { .USUBL, {.V_2D,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA02000, 0xFFE0FC00, .NEON, {} }, - { .USUBL, {.V_4S,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E602000, 0xFFE0FC00, .NEON, {} }, { .USUBL, {.V_8H,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E202000, 0xFFE0FC00, .NEON, {} }, + { .USUBL, {.V_4S,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E602000, 0xFFE0FC00, .NEON, {} }, + { .USUBL, {.V_2D,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA02000, 0xFFE0FC00, .NEON, {} }, { .USUBL2, {.V_4S,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E602000, 0xFFE0FC00, .NEON, {} }, { .USUBL2, {.V_8H,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E202000, 0xFFE0FC00, .NEON, {} }, { .USUBL2, {.V_2D,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA02000, 0xFFE0FC00, .NEON, {} }, + { .SADDW, {.V_2D,.V_2D,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA01000, 0xFFE0FC00, .NEON, {} }, { .SADDW, {.V_8H,.V_8H,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E201000, 0xFFE0FC00, .NEON, {} }, { .SADDW, {.V_4S,.V_4S,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E601000, 0xFFE0FC00, .NEON, {} }, - { .SADDW, {.V_2D,.V_2D,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA01000, 0xFFE0FC00, .NEON, {} }, - { .SADDW2, {.V_4S,.V_4S,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E601000, 0xFFE0FC00, .NEON, {} }, { .SADDW2, {.V_8H,.V_8H,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E201000, 0xFFE0FC00, .NEON, {} }, + { .SADDW2, {.V_4S,.V_4S,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E601000, 0xFFE0FC00, .NEON, {} }, { .SADDW2, {.V_2D,.V_2D,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA01000, 0xFFE0FC00, .NEON, {} }, - { .UADDW, {.V_2D,.V_2D,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA01000, 0xFFE0FC00, .NEON, {} }, - { .UADDW, {.V_8H,.V_8H,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E201000, 0xFFE0FC00, .NEON, {} }, { .UADDW, {.V_4S,.V_4S,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E601000, 0xFFE0FC00, .NEON, {} }, + { .UADDW, {.V_8H,.V_8H,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E201000, 0xFFE0FC00, .NEON, {} }, + { .UADDW, {.V_2D,.V_2D,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA01000, 0xFFE0FC00, .NEON, {} }, { .UADDW2, {.V_8H,.V_8H,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E201000, 0xFFE0FC00, .NEON, {} }, { .UADDW2, {.V_4S,.V_4S,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E601000, 0xFFE0FC00, .NEON, {} }, { .UADDW2, {.V_2D,.V_2D,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA01000, 0xFFE0FC00, .NEON, {} }, { .SSUBW, {.V_4S,.V_4S,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E603000, 0xFFE0FC00, .NEON, {} }, { .SSUBW, {.V_8H,.V_8H,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E203000, 0xFFE0FC00, .NEON, {} }, { .SSUBW, {.V_2D,.V_2D,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA03000, 0xFFE0FC00, .NEON, {} }, + { .SSUBW2, {.V_2D,.V_2D,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA03000, 0xFFE0FC00, .NEON, {} }, { .SSUBW2, {.V_8H,.V_8H,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E203000, 0xFFE0FC00, .NEON, {} }, { .SSUBW2, {.V_4S,.V_4S,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E603000, 0xFFE0FC00, .NEON, {} }, - { .SSUBW2, {.V_2D,.V_2D,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA03000, 0xFFE0FC00, .NEON, {} }, - { .USUBW, {.V_4S,.V_4S,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E603000, 0xFFE0FC00, .NEON, {} }, { .USUBW, {.V_8H,.V_8H,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E203000, 0xFFE0FC00, .NEON, {} }, + { .USUBW, {.V_4S,.V_4S,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E603000, 0xFFE0FC00, .NEON, {} }, { .USUBW, {.V_2D,.V_2D,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA03000, 0xFFE0FC00, .NEON, {} }, { .USUBW2, {.V_2D,.V_2D,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA03000, 0xFFE0FC00, .NEON, {} }, - { .USUBW2, {.V_8H,.V_8H,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E203000, 0xFFE0FC00, .NEON, {} }, { .USUBW2, {.V_4S,.V_4S,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E603000, 0xFFE0FC00, .NEON, {} }, - { .RADDHN, {.V_8B,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E204000, 0xFFE0FC00, .NEON, {} }, + { .USUBW2, {.V_8H,.V_8H,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E203000, 0xFFE0FC00, .NEON, {} }, { .RADDHN, {.V_4H,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E604000, 0xFFE0FC00, .NEON, {} }, + { .RADDHN, {.V_8B,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E204000, 0xFFE0FC00, .NEON, {} }, { .RADDHN, {.V_2S,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA04000, 0xFFE0FC00, .NEON, {} }, - { .RADDHN2, {.V_4S,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA04000, 0xFFE0FC00, .NEON, {} }, { .RADDHN2, {.V_8H,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E604000, 0xFFE0FC00, .NEON, {} }, { .RADDHN2, {.V_16B,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E204000, 0xFFE0FC00, .NEON, {} }, + { .RADDHN2, {.V_4S,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA04000, 0xFFE0FC00, .NEON, {} }, + { .RSUBHN, {.V_2S,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA06000, 0xFFE0FC00, .NEON, {} }, { .RSUBHN, {.V_4H,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E606000, 0xFFE0FC00, .NEON, {} }, { .RSUBHN, {.V_8B,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E206000, 0xFFE0FC00, .NEON, {} }, - { .RSUBHN, {.V_2S,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA06000, 0xFFE0FC00, .NEON, {} }, { .RSUBHN2, {.V_8H,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E606000, 0xFFE0FC00, .NEON, {} }, { .RSUBHN2, {.V_16B,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E206000, 0xFFE0FC00, .NEON, {} }, { .RSUBHN2, {.V_4S,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA06000, 0xFFE0FC00, .NEON, {} }, { .ADDHN, {.V_2S,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA04000, 0xFFE0FC00, .NEON, {} }, - { .ADDHN, {.V_4H,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E604000, 0xFFE0FC00, .NEON, {} }, { .ADDHN, {.V_8B,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E204000, 0xFFE0FC00, .NEON, {} }, - { .ADDHN2, {.V_8H,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E604000, 0xFFE0FC00, .NEON, {} }, - { .ADDHN2, {.V_16B,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E204000, 0xFFE0FC00, .NEON, {} }, + { .ADDHN, {.V_4H,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E604000, 0xFFE0FC00, .NEON, {} }, { .ADDHN2, {.V_4S,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA04000, 0xFFE0FC00, .NEON, {} }, + { .ADDHN2, {.V_16B,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E204000, 0xFFE0FC00, .NEON, {} }, + { .ADDHN2, {.V_8H,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E604000, 0xFFE0FC00, .NEON, {} }, { .SUBHN, {.V_2S,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA06000, 0xFFE0FC00, .NEON, {} }, - { .SUBHN, {.V_8B,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E206000, 0xFFE0FC00, .NEON, {} }, { .SUBHN, {.V_4H,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E606000, 0xFFE0FC00, .NEON, {} }, + { .SUBHN, {.V_8B,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E206000, 0xFFE0FC00, .NEON, {} }, { .SUBHN2, {.V_4S,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA06000, 0xFFE0FC00, .NEON, {} }, { .SUBHN2, {.V_16B,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E206000, 0xFFE0FC00, .NEON, {} }, { .SUBHN2, {.V_8H,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E606000, 0xFFE0FC00, .NEON, {} }, @@ -1290,8 +1290,8 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .SMULL_V, {.V_8H,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E20C000, 0xFFE0FC00, .NEON, {} }, { .SMULL_V, {.V_4S,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E60C000, 0xFFE0FC00, .NEON, {} }, { .SMULL2_V, {.V_2D,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA0C000, 0xFFE0FC00, .NEON, {} }, - { .SMULL2_V, {.V_4S,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E60C000, 0xFFE0FC00, .NEON, {} }, { .SMULL2_V, {.V_8H,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E20C000, 0xFFE0FC00, .NEON, {} }, + { .SMULL2_V, {.V_4S,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E60C000, 0xFFE0FC00, .NEON, {} }, { .UMULL_V, {.V_2D,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA0C000, 0xFFE0FC00, .NEON, {} }, { .UMULL_V, {.V_8H,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E20C000, 0xFFE0FC00, .NEON, {} }, { .UMULL_V, {.V_4S,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E60C000, 0xFFE0FC00, .NEON, {} }, @@ -1299,39 +1299,39 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .UMULL2_V, {.V_8H,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E20C000, 0xFFE0FC00, .NEON, {} }, { .UMULL2_V, {.V_4S,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E60C000, 0xFFE0FC00, .NEON, {} }, { .SMLAL, {.V_2D,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA08000, 0xFFE0FC00, .NEON, {} }, - { .SMLAL, {.V_8H,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E208000, 0xFFE0FC00, .NEON, {} }, { .SMLAL, {.V_4S,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E608000, 0xFFE0FC00, .NEON, {} }, - { .SMLAL2, {.V_2D,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA08000, 0xFFE0FC00, .NEON, {} }, + { .SMLAL, {.V_8H,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E208000, 0xFFE0FC00, .NEON, {} }, { .SMLAL2, {.V_8H,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E208000, 0xFFE0FC00, .NEON, {} }, { .SMLAL2, {.V_4S,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E608000, 0xFFE0FC00, .NEON, {} }, - { .UMLAL, {.V_2D,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA08000, 0xFFE0FC00, .NEON, {} }, + { .SMLAL2, {.V_2D,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA08000, 0xFFE0FC00, .NEON, {} }, { .UMLAL, {.V_4S,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E608000, 0xFFE0FC00, .NEON, {} }, { .UMLAL, {.V_8H,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E208000, 0xFFE0FC00, .NEON, {} }, + { .UMLAL, {.V_2D,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA08000, 0xFFE0FC00, .NEON, {} }, + { .UMLAL2, {.V_2D,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA08000, 0xFFE0FC00, .NEON, {} }, { .UMLAL2, {.V_8H,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E208000, 0xFFE0FC00, .NEON, {} }, { .UMLAL2, {.V_4S,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E608000, 0xFFE0FC00, .NEON, {} }, - { .UMLAL2, {.V_2D,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA08000, 0xFFE0FC00, .NEON, {} }, - { .SMLSL, {.V_4S,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E60A000, 0xFFE0FC00, .NEON, {} }, { .SMLSL, {.V_8H,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E20A000, 0xFFE0FC00, .NEON, {} }, + { .SMLSL, {.V_4S,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E60A000, 0xFFE0FC00, .NEON, {} }, { .SMLSL, {.V_2D,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA0A000, 0xFFE0FC00, .NEON, {} }, - { .SMLSL2, {.V_2D,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA0A000, 0xFFE0FC00, .NEON, {} }, - { .SMLSL2, {.V_8H,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E20A000, 0xFFE0FC00, .NEON, {} }, { .SMLSL2, {.V_4S,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E60A000, 0xFFE0FC00, .NEON, {} }, + { .SMLSL2, {.V_8H,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E20A000, 0xFFE0FC00, .NEON, {} }, + { .SMLSL2, {.V_2D,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA0A000, 0xFFE0FC00, .NEON, {} }, { .UMLSL, {.V_8H,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E20A000, 0xFFE0FC00, .NEON, {} }, { .UMLSL, {.V_4S,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E60A000, 0xFFE0FC00, .NEON, {} }, { .UMLSL, {.V_2D,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA0A000, 0xFFE0FC00, .NEON, {} }, + { .UMLSL2, {.V_2D,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA0A000, 0xFFE0FC00, .NEON, {} }, { .UMLSL2, {.V_4S,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E60A000, 0xFFE0FC00, .NEON, {} }, { .UMLSL2, {.V_8H,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E20A000, 0xFFE0FC00, .NEON, {} }, - { .UMLSL2, {.V_2D,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA0A000, 0xFFE0FC00, .NEON, {} }, - { .SQDMULL, {.V_4S,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E60D000, 0xFFE0FC00, .NEON, {} }, { .SQDMULL, {.V_2D,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA0D000, 0xFFE0FC00, .NEON, {} }, - { .SQDMULL2, {.V_4S,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E60D000, 0xFFE0FC00, .NEON, {} }, + { .SQDMULL, {.V_4S,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E60D000, 0xFFE0FC00, .NEON, {} }, { .SQDMULL2, {.V_2D,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA0D000, 0xFFE0FC00, .NEON, {} }, - { .SQDMLAL, {.V_2D,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA09000, 0xFFE0FC00, .NEON, {} }, + { .SQDMULL2, {.V_4S,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E60D000, 0xFFE0FC00, .NEON, {} }, { .SQDMLAL, {.V_4S,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E609000, 0xFFE0FC00, .NEON, {} }, + { .SQDMLAL, {.V_2D,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA09000, 0xFFE0FC00, .NEON, {} }, { .SQDMLAL2, {.V_2D,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA09000, 0xFFE0FC00, .NEON, {} }, { .SQDMLAL2, {.V_4S,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E609000, 0xFFE0FC00, .NEON, {} }, - { .SQDMLSL, {.V_2D,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA0B000, 0xFFE0FC00, .NEON, {} }, { .SQDMLSL, {.V_4S,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E60B000, 0xFFE0FC00, .NEON, {} }, + { .SQDMLSL, {.V_2D,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA0B000, 0xFFE0FC00, .NEON, {} }, { .SQDMLSL2, {.V_4S,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E60B000, 0xFFE0FC00, .NEON, {} }, { .SQDMLSL2, {.V_2D,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA0B000, 0xFFE0FC00, .NEON, {} }, { .SQDMULH, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA0B400, 0xFFE0FC00, .NEON, {} }, @@ -1339,143 +1339,145 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .SQDMULH, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA0B400, 0xFFE0FC00, .NEON, {} }, { .SQDMULH, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E60B400, 0xFFE0FC00, .NEON, {} }, { .SQRDMULH, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA0B400, 0xFFE0FC00, .NEON, {} }, + { .SQRDMULH, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA0B400, 0xFFE0FC00, .NEON, {} }, { .SQRDMULH, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E60B400, 0xFFE0FC00, .NEON, {} }, { .SQRDMULH, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E60B400, 0xFFE0FC00, .NEON, {} }, - { .SQRDMULH, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA0B400, 0xFFE0FC00, .NEON, {} }, { .SDOT, {.V_2S,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E809400, 0xFFE0FC00, .DOT, {} }, { .SDOT, {.V_4S,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E809400, 0xFFE0FC00, .DOT, {} }, { .UDOT, {.V_2S,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E809400, 0xFFE0FC00, .DOT, {} }, { .UDOT, {.V_4S,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E809400, 0xFFE0FC00, .DOT, {} }, + { .USDOT, {.V_4S,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E809C00, 0xFFE0FC00, .DOT, {} }, + { .USDOT, {.V_2S,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E809C00, 0xFFE0FC00, .DOT, {} }, { .FADD_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E20D400, 0xFFE0FC00, .NEON, {} }, { .FADD_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E20D400, 0xFFE0FC00, .NEON, {} }, { .FADD_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E60D400, 0xFFE0FC00, .NEON, {} }, - { .FSUB_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA0D400, 0xFFE0FC00, .NEON, {} }, { .FSUB_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA0D400, 0xFFE0FC00, .NEON, {} }, + { .FSUB_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA0D400, 0xFFE0FC00, .NEON, {} }, { .FSUB_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EE0D400, 0xFFE0FC00, .NEON, {} }, + { .FMUL_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E60DC00, 0xFFE0FC00, .NEON, {} }, { .FMUL_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E20DC00, 0xFFE0FC00, .NEON, {} }, { .FMUL_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E20DC00, 0xFFE0FC00, .NEON, {} }, - { .FMUL_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E60DC00, 0xFFE0FC00, .NEON, {} }, - { .FDIV_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E60FC00, 0xFFE0FC00, .NEON, {} }, - { .FDIV_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E20FC00, 0xFFE0FC00, .NEON, {} }, { .FDIV_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E20FC00, 0xFFE0FC00, .NEON, {} }, - { .FMLA_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E20CC00, 0xFFE0FC00, .NEON, {} }, + { .FDIV_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E20FC00, 0xFFE0FC00, .NEON, {} }, + { .FDIV_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E60FC00, 0xFFE0FC00, .NEON, {} }, { .FMLA_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E60CC00, 0xFFE0FC00, .NEON, {} }, + { .FMLA_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E20CC00, 0xFFE0FC00, .NEON, {} }, { .FMLS_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA0CC00, 0xFFE0FC00, .NEON, {} }, { .FMLS_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EE0CC00, 0xFFE0FC00, .NEON, {} }, - { .FMULX, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E401C00, 0xFFE0FC00, .FP16, {} }, - { .FMULX, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E20DC00, 0xFFE0FC00, .NEON, {} }, - { .FMULX, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E20DC00, 0xFFE0FC00, .NEON, {} }, - { .FMULX, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E60DC00, 0xFFE0FC00, .NEON, {} }, { .FMULX, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E401C00, 0xFFE0FC00, .FP16, {} }, - { .FMAX_V, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E403400, 0xFFE0FC00, .FP16, {} }, - { .FMAX_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E20F400, 0xFFE0FC00, .NEON, {} }, + { .FMULX, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E60DC00, 0xFFE0FC00, .NEON, {} }, + { .FMULX, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E20DC00, 0xFFE0FC00, .NEON, {} }, + { .FMULX, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E401C00, 0xFFE0FC00, .FP16, {} }, + { .FMULX, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E20DC00, 0xFFE0FC00, .NEON, {} }, { .FMAX_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E20F400, 0xFFE0FC00, .NEON, {} }, + { .FMAX_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E20F400, 0xFFE0FC00, .NEON, {} }, { .FMAX_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E60F400, 0xFFE0FC00, .NEON, {} }, { .FMAX_V, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E403400, 0xFFE0FC00, .FP16, {} }, - { .FMIN_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EE0F400, 0xFFE0FC00, .NEON, {} }, - { .FMIN_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA0F400, 0xFFE0FC00, .NEON, {} }, - { .FMIN_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA0F400, 0xFFE0FC00, .NEON, {} }, + { .FMAX_V, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E403400, 0xFFE0FC00, .FP16, {} }, { .FMIN_V, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EC03400, 0xFFE0FC00, .FP16, {} }, + { .FMIN_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA0F400, 0xFFE0FC00, .NEON, {} }, + { .FMIN_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA0F400, 0xFFE0FC00, .NEON, {} }, + { .FMIN_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EE0F400, 0xFFE0FC00, .NEON, {} }, { .FMIN_V, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EC03400, 0xFFE0FC00, .FP16, {} }, { .FMAXNM_V, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E400400, 0xFFE0FC00, .FP16, {} }, - { .FMAXNM_V, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E400400, 0xFFE0FC00, .FP16, {} }, - { .FMAXNM_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E20C400, 0xFFE0FC00, .NEON, {} }, { .FMAXNM_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E20C400, 0xFFE0FC00, .NEON, {} }, + { .FMAXNM_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E20C400, 0xFFE0FC00, .NEON, {} }, { .FMAXNM_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E60C400, 0xFFE0FC00, .NEON, {} }, - { .FMINNM_V, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EC00400, 0xFFE0FC00, .FP16, {} }, - { .FMINNM_V, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EC00400, 0xFFE0FC00, .FP16, {} }, - { .FMINNM_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA0C400, 0xFFE0FC00, .NEON, {} }, - { .FMINNM_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA0C400, 0xFFE0FC00, .NEON, {} }, + { .FMAXNM_V, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E400400, 0xFFE0FC00, .FP16, {} }, { .FMINNM_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EE0C400, 0xFFE0FC00, .NEON, {} }, + { .FMINNM_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA0C400, 0xFFE0FC00, .NEON, {} }, + { .FMINNM_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA0C400, 0xFFE0FC00, .NEON, {} }, + { .FMINNM_V, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EC00400, 0xFFE0FC00, .FP16, {} }, + { .FMINNM_V, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EC00400, 0xFFE0FC00, .FP16, {} }, { .FMAXP_V, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E403400, 0xFFE0FC00, .FP16, {} }, + { .FMAXP_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E20F400, 0xFFE0FC00, .NEON, {} }, + { .FMAXP_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E20F400, 0xFFE0FC00, .NEON, {} }, { .FMAXP_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E60F400, 0xFFE0FC00, .NEON, {} }, { .FMAXP_V, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E403400, 0xFFE0FC00, .FP16, {} }, - { .FMAXP_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E20F400, 0xFFE0FC00, .NEON, {} }, - { .FMAXP_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E20F400, 0xFFE0FC00, .NEON, {} }, - { .FMINP_V, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EC03400, 0xFFE0FC00, .FP16, {} }, - { .FMINP_V, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EC03400, 0xFFE0FC00, .FP16, {} }, - { .FMINP_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA0F400, 0xFFE0FC00, .NEON, {} }, { .FMINP_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA0F400, 0xFFE0FC00, .NEON, {} }, + { .FMINP_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA0F400, 0xFFE0FC00, .NEON, {} }, { .FMINP_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EE0F400, 0xFFE0FC00, .NEON, {} }, - { .FMAXNMP, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E400400, 0xFFE0FC00, .FP16, {} }, + { .FMINP_V, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EC03400, 0xFFE0FC00, .FP16, {} }, + { .FMINP_V, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EC03400, 0xFFE0FC00, .FP16, {} }, { .FMAXNMP, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E400400, 0xFFE0FC00, .FP16, {} }, { .FMAXNMP, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E20C400, 0xFFE0FC00, .NEON, {} }, { .FMAXNMP, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E20C400, 0xFFE0FC00, .NEON, {} }, { .FMAXNMP, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E60C400, 0xFFE0FC00, .NEON, {} }, + { .FMAXNMP, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E400400, 0xFFE0FC00, .FP16, {} }, { .FMINNMP, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EC00400, 0xFFE0FC00, .FP16, {} }, - { .FMINNMP, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EC00400, 0xFFE0FC00, .FP16, {} }, - { .FMINNMP, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA0C400, 0xFFE0FC00, .NEON, {} }, { .FMINNMP, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA0C400, 0xFFE0FC00, .NEON, {} }, + { .FMINNMP, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA0C400, 0xFFE0FC00, .NEON, {} }, { .FMINNMP, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EE0C400, 0xFFE0FC00, .NEON, {} }, + { .FMINNMP, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EC00400, 0xFFE0FC00, .FP16, {} }, { .FRECPS, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E403C00, 0xFFE0FC00, .FP16, {} }, { .FRECPS, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E60FC00, 0xFFE0FC00, .NEON, {} }, + { .FRECPS, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E20FC00, 0xFFE0FC00, .NEON, {} }, { .FRECPS, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E20FC00, 0xFFE0FC00, .NEON, {} }, { .FRECPS, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E403C00, 0xFFE0FC00, .FP16, {} }, - { .FRECPS, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E20FC00, 0xFFE0FC00, .NEON, {} }, - { .FRSQRTS, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EC03C00, 0xFFE0FC00, .FP16, {} }, - { .FRSQRTS, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EE0FC00, 0xFFE0FC00, .NEON, {} }, - { .FRSQRTS, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EC03C00, 0xFFE0FC00, .FP16, {} }, { .FRSQRTS, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA0FC00, 0xFFE0FC00, .NEON, {} }, { .FRSQRTS, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA0FC00, 0xFFE0FC00, .NEON, {} }, + { .FRSQRTS, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EE0FC00, 0xFFE0FC00, .NEON, {} }, + { .FRSQRTS, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EC03C00, 0xFFE0FC00, .FP16, {} }, + { .FRSQRTS, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EC03C00, 0xFFE0FC00, .FP16, {} }, + { .FADDP_V, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E401400, 0xFFE0FC00, .FP16, {} }, + { .FADDP_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E60D400, 0xFFE0FC00, .NEON, {} }, + { .FADDP_V, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E401400, 0xFFE0FC00, .FP16, {} }, { .FADDP_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E20D400, 0xFFE0FC00, .NEON, {} }, { .FADDP_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E20D400, 0xFFE0FC00, .NEON, {} }, - { .FADDP_V, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E401400, 0xFFE0FC00, .FP16, {} }, - { .FADDP_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E60D400, 0xFFE0FC00, .NEON, {} }, - { .FADDP_V, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E401400, 0xFFE0FC00, .FP16, {} }, + { .FCMEQ, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E402400, 0xFFE0FC00, .FP16, {} }, + { .FCMEQ, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E60E400, 0xFFE0FC00, .NEON, {} }, { .FCMEQ, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E20E400, 0xFFE0FC00, .NEON, {} }, { .FCMEQ, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E20E400, 0xFFE0FC00, .NEON, {} }, - { .FCMEQ, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E60E400, 0xFFE0FC00, .NEON, {} }, { .FCMEQ, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E402400, 0xFFE0FC00, .FP16, {} }, - { .FCMEQ, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E402400, 0xFFE0FC00, .FP16, {} }, + { .FCMGE, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E402400, 0xFFE0FC00, .FP16, {} }, + { .FCMGE, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E402400, 0xFFE0FC00, .FP16, {} }, { .FCMGE, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E20E400, 0xFFE0FC00, .NEON, {} }, { .FCMGE, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E20E400, 0xFFE0FC00, .NEON, {} }, - { .FCMGE, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E402400, 0xFFE0FC00, .FP16, {} }, { .FCMGE, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E60E400, 0xFFE0FC00, .NEON, {} }, - { .FCMGE, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E402400, 0xFFE0FC00, .FP16, {} }, - { .FCMGT, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EC02400, 0xFFE0FC00, .FP16, {} }, - { .FCMGT, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EE0E400, 0xFFE0FC00, .NEON, {} }, { .FCMGT, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EC02400, 0xFFE0FC00, .FP16, {} }, - { .FCMGT, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA0E400, 0xFFE0FC00, .NEON, {} }, { .FCMGT, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA0E400, 0xFFE0FC00, .NEON, {} }, - { .FACGE, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E402C00, 0xFFE0FC00, .FP16, {} }, - { .FACGE, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E60EC00, 0xFFE0FC00, .NEON, {} }, + { .FCMGT, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA0E400, 0xFFE0FC00, .NEON, {} }, + { .FCMGT, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EE0E400, 0xFFE0FC00, .NEON, {} }, + { .FCMGT, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EC02400, 0xFFE0FC00, .FP16, {} }, { .FACGE, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E402C00, 0xFFE0FC00, .FP16, {} }, + { .FACGE, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E60EC00, 0xFFE0FC00, .NEON, {} }, { .FACGE, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E20EC00, 0xFFE0FC00, .NEON, {} }, { .FACGE, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E20EC00, 0xFFE0FC00, .NEON, {} }, - { .FACGT, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EC02C00, 0xFFE0FC00, .FP16, {} }, - { .FACGT, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EE0EC00, 0xFFE0FC00, .NEON, {} }, + { .FACGE, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E402C00, 0xFFE0FC00, .FP16, {} }, { .FACGT, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EC02C00, 0xFFE0FC00, .FP16, {} }, + { .FACGT, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EC02C00, 0xFFE0FC00, .FP16, {} }, { .FACGT, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA0EC00, 0xFFE0FC00, .NEON, {} }, { .FACGT, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA0EC00, 0xFFE0FC00, .NEON, {} }, - { .CMEQ, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EE08C00, 0xFFE0FC00, .NEON, {} }, - { .CMEQ, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA08C00, 0xFFE0FC00, .NEON, {} }, - { .CMEQ, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E208C00, 0xFFE0FC00, .NEON, {} }, + { .FACGT, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EE0EC00, 0xFFE0FC00, .NEON, {} }, { .CMEQ, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E608C00, 0xFFE0FC00, .NEON, {} }, - { .CMGE, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA03C00, 0xFFE0FC00, .NEON, {} }, - { .CMGE, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E603C00, 0xFFE0FC00, .NEON, {} }, - { .CMGE, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E603C00, 0xFFE0FC00, .NEON, {} }, - { .CMGE, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA03C00, 0xFFE0FC00, .NEON, {} }, + { .CMEQ, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E208C00, 0xFFE0FC00, .NEON, {} }, + { .CMEQ, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA08C00, 0xFFE0FC00, .NEON, {} }, + { .CMEQ, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EE08C00, 0xFFE0FC00, .NEON, {} }, { .CMGE, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EE03C00, 0xFFE0FC00, .NEON, {} }, - { .CMGE, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E203C00, 0xFFE0FC00, .NEON, {} }, + { .CMGE, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA03C00, 0xFFE0FC00, .NEON, {} }, + { .CMGE, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E603C00, 0xFFE0FC00, .NEON, {} }, { .CMGE, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E203C00, 0xFFE0FC00, .NEON, {} }, + { .CMGE, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E603C00, 0xFFE0FC00, .NEON, {} }, + { .CMGE, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA03C00, 0xFFE0FC00, .NEON, {} }, + { .CMGE, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E203C00, 0xFFE0FC00, .NEON, {} }, { .CMGT, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E203400, 0xFFE0FC00, .NEON, {} }, { .CMGT, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EE03400, 0xFFE0FC00, .NEON, {} }, { .CMHI, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EE03400, 0xFFE0FC00, .NEON, {} }, { .CMHI, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E203400, 0xFFE0FC00, .NEON, {} }, - { .CMHS, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA03C00, 0xFFE0FC00, .NEON, {} }, - { .CMHS, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E603C00, 0xFFE0FC00, .NEON, {} }, - { .CMHS, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA03C00, 0xFFE0FC00, .NEON, {} }, - { .CMHS, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E203C00, 0xFFE0FC00, .NEON, {} }, - { .CMHS, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E203C00, 0xFFE0FC00, .NEON, {} }, - { .CMHS, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E603C00, 0xFFE0FC00, .NEON, {} }, { .CMHS, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EE03C00, 0xFFE0FC00, .NEON, {} }, - { .CMTST, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EE08C00, 0xFFE0FC00, .NEON, {} }, - { .CMTST, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA08C00, 0xFFE0FC00, .NEON, {} }, - { .CMTST, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E608C00, 0xFFE0FC00, .NEON, {} }, + { .CMHS, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA03C00, 0xFFE0FC00, .NEON, {} }, + { .CMHS, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E603C00, 0xFFE0FC00, .NEON, {} }, + { .CMHS, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E203C00, 0xFFE0FC00, .NEON, {} }, + { .CMHS, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E203C00, 0xFFE0FC00, .NEON, {} }, + { .CMHS, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E603C00, 0xFFE0FC00, .NEON, {} }, + { .CMHS, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA03C00, 0xFFE0FC00, .NEON, {} }, { .CMTST, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA08C00, 0xFFE0FC00, .NEON, {} }, - { .CMTST, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E208C00, 0xFFE0FC00, .NEON, {} }, + { .CMTST, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA08C00, 0xFFE0FC00, .NEON, {} }, + { .CMTST, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EE08C00, 0xFFE0FC00, .NEON, {} }, { .CMTST, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E208C00, 0xFFE0FC00, .NEON, {} }, + { .CMTST, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E208C00, 0xFFE0FC00, .NEON, {} }, { .CMTST, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E608C00, 0xFFE0FC00, .NEON, {} }, + { .CMTST, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E608C00, 0xFFE0FC00, .NEON, {} }, { .AND_V, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E201C00, 0xFFE0FC00, .NEON, {} }, { .ORR_V, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA01C00, 0xFFE0FC00, .NEON, {} }, { .EOR_V, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E201C00, 0xFFE0FC00, .NEON, {} }, @@ -1490,54 +1492,54 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .SQSHL_V, {.V_2S,.V_2S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x0F207400, 0xFFE0FC00, .NEON, {} }, { .SQSHLU, {.V_2S,.V_2S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x2F206400, 0xFFE0FC00, .NEON, {} }, { .SQSHLU, {.V_4S,.V_4S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x6F206400, 0xFFE0FC00, .NEON, {} }, + { .SRSHL, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA05400, 0xFFE0FC00, .NEON, {} }, + { .SRSHL, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA05400, 0xFFE0FC00, .NEON, {} }, + { .SRSHL, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EE05400, 0xFFE0FC00, .NEON, {} }, { .SRSHL, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E605400, 0xFFE0FC00, .NEON, {} }, { .SRSHL, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E205400, 0xFFE0FC00, .NEON, {} }, { .SRSHL, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E205400, 0xFFE0FC00, .NEON, {} }, { .SRSHL, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E605400, 0xFFE0FC00, .NEON, {} }, - { .SRSHL, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA05400, 0xFFE0FC00, .NEON, {} }, - { .SRSHL, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA05400, 0xFFE0FC00, .NEON, {} }, - { .SRSHL, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EE05400, 0xFFE0FC00, .NEON, {} }, - { .URSHL, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EE05400, 0xFFE0FC00, .NEON, {} }, - { .URSHL, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA05400, 0xFFE0FC00, .NEON, {} }, - { .URSHL, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E605400, 0xFFE0FC00, .NEON, {} }, - { .URSHL, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E205400, 0xFFE0FC00, .NEON, {} }, - { .URSHL, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E205400, 0xFFE0FC00, .NEON, {} }, - { .URSHL, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E605400, 0xFFE0FC00, .NEON, {} }, { .URSHL, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA05400, 0xFFE0FC00, .NEON, {} }, + { .URSHL, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E605400, 0xFFE0FC00, .NEON, {} }, + { .URSHL, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E205400, 0xFFE0FC00, .NEON, {} }, + { .URSHL, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E605400, 0xFFE0FC00, .NEON, {} }, + { .URSHL, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA05400, 0xFFE0FC00, .NEON, {} }, + { .URSHL, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E205400, 0xFFE0FC00, .NEON, {} }, + { .URSHL, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EE05400, 0xFFE0FC00, .NEON, {} }, { .SSHR, {.V_4S,.V_4S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x4F200400, 0xFFE0FC00, .NEON, {} }, { .SSHR, {.V_2S,.V_2S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x0F200400, 0xFFE0FC00, .NEON, {} }, { .USHR, {.V_2S,.V_2S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x2F200400, 0xFFE0FC00, .NEON, {} }, { .USHR, {.V_4S,.V_4S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x6F200400, 0xFFE0FC00, .NEON, {} }, { .SSRA, {.V_4S,.V_4S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x4F201400, 0xFFE0FC00, .NEON, {} }, { .SSRA, {.V_2S,.V_2S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x0F201400, 0xFFE0FC00, .NEON, {} }, - { .USRA, {.V_2S,.V_2S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x2F201400, 0xFFE0FC00, .NEON, {} }, { .USRA, {.V_4S,.V_4S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x6F201400, 0xFFE0FC00, .NEON, {} }, + { .USRA, {.V_2S,.V_2S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x2F201400, 0xFFE0FC00, .NEON, {} }, { .SRSHR, {.V_2S,.V_2S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x0F202400, 0xFFE0FC00, .NEON, {} }, { .SRSHR, {.V_4S,.V_4S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x4F202400, 0xFFE0FC00, .NEON, {} }, - { .URSHR, {.V_4S,.V_4S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x6F202400, 0xFFE0FC00, .NEON, {} }, { .URSHR, {.V_2S,.V_2S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x2F202400, 0xFFE0FC00, .NEON, {} }, - { .SRSRA, {.V_2S,.V_2S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x0F203400, 0xFFE0FC00, .NEON, {} }, + { .URSHR, {.V_4S,.V_4S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x6F202400, 0xFFE0FC00, .NEON, {} }, { .SRSRA, {.V_4S,.V_4S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x4F203400, 0xFFE0FC00, .NEON, {} }, + { .SRSRA, {.V_2S,.V_2S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x0F203400, 0xFFE0FC00, .NEON, {} }, { .URSRA, {.V_4S,.V_4S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x6F203400, 0xFFE0FC00, .NEON, {} }, { .URSRA, {.V_2S,.V_2S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x2F203400, 0xFFE0FC00, .NEON, {} }, { .SSHL, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EE04400, 0xFFE0FC00, .NEON, {} }, - { .SSHL, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA04400, 0xFFE0FC00, .NEON, {} }, + { .SSHL, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E604400, 0xFFE0FC00, .NEON, {} }, + { .SSHL, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E604400, 0xFFE0FC00, .NEON, {} }, + { .SSHL, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA04400, 0xFFE0FC00, .NEON, {} }, { .SSHL, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E204400, 0xFFE0FC00, .NEON, {} }, { .SSHL, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E204400, 0xFFE0FC00, .NEON, {} }, - { .SSHL, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E604400, 0xFFE0FC00, .NEON, {} }, - { .SSHL, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E604400, 0xFFE0FC00, .NEON, {} }, - { .SSHL, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA04400, 0xFFE0FC00, .NEON, {} }, - { .USHL, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA04400, 0xFFE0FC00, .NEON, {} }, - { .USHL, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E604400, 0xFFE0FC00, .NEON, {} }, - { .USHL, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA04400, 0xFFE0FC00, .NEON, {} }, - { .USHL, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E204400, 0xFFE0FC00, .NEON, {} }, - { .USHL, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E204400, 0xFFE0FC00, .NEON, {} }, - { .USHL, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E604400, 0xFFE0FC00, .NEON, {} }, + { .SSHL, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA04400, 0xFFE0FC00, .NEON, {} }, { .USHL, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EE04400, 0xFFE0FC00, .NEON, {} }, + { .USHL, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA04400, 0xFFE0FC00, .NEON, {} }, + { .USHL, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E604400, 0xFFE0FC00, .NEON, {} }, + { .USHL, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E204400, 0xFFE0FC00, .NEON, {} }, + { .USHL, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E204400, 0xFFE0FC00, .NEON, {} }, + { .USHL, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E604400, 0xFFE0FC00, .NEON, {} }, + { .USHL, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA04400, 0xFFE0FC00, .NEON, {} }, { .SLI, {.V_2S,.V_2S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x2F205400, 0xFFE0FC00, .NEON, {} }, { .SLI, {.V_4S,.V_4S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x6F205400, 0xFFE0FC00, .NEON, {} }, - { .SRI, {.V_4S,.V_4S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x6F204400, 0xFFE0FC00, .NEON, {} }, { .SRI, {.V_2S,.V_2S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x2F204400, 0xFFE0FC00, .NEON, {} }, + { .SRI, {.V_4S,.V_4S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x6F204400, 0xFFE0FC00, .NEON, {} }, { .SSHLL, {.V_2D,.V_2S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x0F20A400, 0xFFE0FC00, .NEON, {} }, { .SSHLL2, {.V_2D,.V_4S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x4F20A400, 0xFFE0FC00, .NEON, {} }, { .USHLL, {.V_2D,.V_2S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x2F20A400, 0xFFE0FC00, .NEON, {} }, @@ -1558,50 +1560,50 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .SQSHRUN2, {.V_4S,.V_2D,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x6F208400, 0xFFE0FC00, .NEON, {} }, { .SQRSHRUN, {.V_2S,.V_2D,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x2F208C00, 0xFFE0FC00, .NEON, {} }, { .SQRSHRUN2, {.V_4S,.V_2D,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x6F208C00, 0xFFE0FC00, .NEON, {} }, - { .MOV_V, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN_VM_DUP,.NONE,.NONE}, 0x0EA01C00, 0xFFE0FC00, .NEON, {} }, { .MOV_V, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN_VM_DUP,.NONE,.NONE}, 0x4EA01C00, 0xFFE0FC00, .NEON, {} }, - { .ZIP1, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E803800, 0xFFE0FC00, .NEON, {} }, - { .ZIP1, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E803800, 0xFFE0FC00, .NEON, {} }, + { .MOV_V, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN_VM_DUP,.NONE,.NONE}, 0x0EA01C00, 0xFFE0FC00, .NEON, {} }, { .ZIP1, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EC03800, 0xFFE0FC00, .NEON, {} }, - { .ZIP1, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E003800, 0xFFE0FC00, .NEON, {} }, - { .ZIP1, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E003800, 0xFFE0FC00, .NEON, {} }, { .ZIP1, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E403800, 0xFFE0FC00, .NEON, {} }, + { .ZIP1, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E003800, 0xFFE0FC00, .NEON, {} }, { .ZIP1, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E403800, 0xFFE0FC00, .NEON, {} }, - { .ZIP2, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E407800, 0xFFE0FC00, .NEON, {} }, - { .ZIP2, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E407800, 0xFFE0FC00, .NEON, {} }, + { .ZIP1, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E003800, 0xFFE0FC00, .NEON, {} }, + { .ZIP1, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E803800, 0xFFE0FC00, .NEON, {} }, + { .ZIP1, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E803800, 0xFFE0FC00, .NEON, {} }, + { .ZIP2, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E807800, 0xFFE0FC00, .NEON, {} }, { .ZIP2, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E807800, 0xFFE0FC00, .NEON, {} }, + { .ZIP2, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EC07800, 0xFFE0FC00, .NEON, {} }, + { .ZIP2, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E407800, 0xFFE0FC00, .NEON, {} }, { .ZIP2, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E007800, 0xFFE0FC00, .NEON, {} }, { .ZIP2, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E007800, 0xFFE0FC00, .NEON, {} }, - { .ZIP2, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E807800, 0xFFE0FC00, .NEON, {} }, - { .ZIP2, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EC07800, 0xFFE0FC00, .NEON, {} }, - { .UZP1, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EC01800, 0xFFE0FC00, .NEON, {} }, - { .UZP1, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E801800, 0xFFE0FC00, .NEON, {} }, - { .UZP1, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E401800, 0xFFE0FC00, .NEON, {} }, - { .UZP1, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E001800, 0xFFE0FC00, .NEON, {} }, - { .UZP1, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E001800, 0xFFE0FC00, .NEON, {} }, - { .UZP1, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E401800, 0xFFE0FC00, .NEON, {} }, + { .ZIP2, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E407800, 0xFFE0FC00, .NEON, {} }, { .UZP1, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E801800, 0xFFE0FC00, .NEON, {} }, - { .UZP2, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E805800, 0xFFE0FC00, .NEON, {} }, - { .UZP2, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E405800, 0xFFE0FC00, .NEON, {} }, - { .UZP2, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E405800, 0xFFE0FC00, .NEON, {} }, - { .UZP2, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E805800, 0xFFE0FC00, .NEON, {} }, + { .UZP1, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E401800, 0xFFE0FC00, .NEON, {} }, + { .UZP1, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E001800, 0xFFE0FC00, .NEON, {} }, + { .UZP1, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E401800, 0xFFE0FC00, .NEON, {} }, + { .UZP1, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E801800, 0xFFE0FC00, .NEON, {} }, + { .UZP1, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E001800, 0xFFE0FC00, .NEON, {} }, + { .UZP1, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EC01800, 0xFFE0FC00, .NEON, {} }, { .UZP2, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EC05800, 0xFFE0FC00, .NEON, {} }, - { .UZP2, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E005800, 0xFFE0FC00, .NEON, {} }, + { .UZP2, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E805800, 0xFFE0FC00, .NEON, {} }, + { .UZP2, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E405800, 0xFFE0FC00, .NEON, {} }, { .UZP2, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E005800, 0xFFE0FC00, .NEON, {} }, - { .TRN1, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E802800, 0xFFE0FC00, .NEON, {} }, - { .TRN1, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E402800, 0xFFE0FC00, .NEON, {} }, - { .TRN1, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E402800, 0xFFE0FC00, .NEON, {} }, - { .TRN1, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E802800, 0xFFE0FC00, .NEON, {} }, + { .UZP2, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E405800, 0xFFE0FC00, .NEON, {} }, + { .UZP2, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E805800, 0xFFE0FC00, .NEON, {} }, + { .UZP2, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E005800, 0xFFE0FC00, .NEON, {} }, { .TRN1, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EC02800, 0xFFE0FC00, .NEON, {} }, + { .TRN1, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E802800, 0xFFE0FC00, .NEON, {} }, + { .TRN1, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E402800, 0xFFE0FC00, .NEON, {} }, + { .TRN1, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E802800, 0xFFE0FC00, .NEON, {} }, { .TRN1, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E002800, 0xFFE0FC00, .NEON, {} }, { .TRN1, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E002800, 0xFFE0FC00, .NEON, {} }, + { .TRN1, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E402800, 0xFFE0FC00, .NEON, {} }, { .TRN2, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E806800, 0xFFE0FC00, .NEON, {} }, + { .TRN2, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E406800, 0xFFE0FC00, .NEON, {} }, + { .TRN2, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E406800, 0xFFE0FC00, .NEON, {} }, { .TRN2, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E806800, 0xFFE0FC00, .NEON, {} }, { .TRN2, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EC06800, 0xFFE0FC00, .NEON, {} }, - { .TRN2, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E006800, 0xFFE0FC00, .NEON, {} }, { .TRN2, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E006800, 0xFFE0FC00, .NEON, {} }, - { .TRN2, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E406800, 0xFFE0FC00, .NEON, {} }, - { .TRN2, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E406800, 0xFFE0FC00, .NEON, {} }, + { .TRN2, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E006800, 0xFFE0FC00, .NEON, {} }, { .MOV_V_ALIAS, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA01C00, 0xFFE0FC00, .NEON, {} }, { .MOV_V_ALIAS, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA01C00, 0xFFE0FC00, .NEON, {} }, { .SHL_V, {.V_2D,.V_2D,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x4F405400, 0xFFC0FC00, .NEON, {} }, @@ -1639,8 +1641,8 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .XAR, {.V_2D,.V_2D,.V_2D,.IMM_6}, {.VD,.VN,.VM,.IMM6}, 0xCE800000, 0xFFE00000, .CRYPTO, {} }, { .CMP_IMM, {.WSP_REG,.IMM_12,.NONE,.NONE}, {.RN,.IMM12,.NONE,.NONE}, 0x7100001F, 0xFF80001F, .BASE, {sets_flags=true} }, { .CMP_IMM, {.XSP_REG,.IMM_12,.NONE,.NONE}, {.RN,.IMM12,.NONE,.NONE}, 0xF100001F, 0xFF80001F, .BASE, {sets_flags=true, is_64=true} }, - { .CMN_IMM, {.WSP_REG,.IMM_12,.NONE,.NONE}, {.RN,.IMM12,.NONE,.NONE}, 0x3100001F, 0xFF80001F, .BASE, {sets_flags=true} }, { .CMN_IMM, {.XSP_REG,.IMM_12,.NONE,.NONE}, {.RN,.IMM12,.NONE,.NONE}, 0xB100001F, 0xFF80001F, .BASE, {sets_flags=true, is_64=true} }, + { .CMN_IMM, {.WSP_REG,.IMM_12,.NONE,.NONE}, {.RN,.IMM12,.NONE,.NONE}, 0x3100001F, 0xFF80001F, .BASE, {sets_flags=true} }, { .ADDG, {.XSP_REG,.XSP_REG,.IMM_6,.IMM_4}, {.RD,.RN,.IMM6,.IMM_HW}, 0x91800000, 0xFFC0C000, .MTE, {is_64=true} }, { .SUBG, {.XSP_REG,.XSP_REG,.IMM_6,.IMM_4}, {.RD,.RN,.IMM6,.IMM_HW}, 0xD1800000, 0xFFC0C000, .MTE, {is_64=true} }, { .ADD_IMM, {.XSP_REG,.XSP_REG,.IMM_12,.NONE}, {.RD,.RN,.IMM12,.NONE}, 0x91000000, 0xFF800000, .BASE, {is_64=true} }, @@ -1659,18 +1661,18 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .SXTB, {.W_REG,.W_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x13001C00, 0xFFFFFC00, .BASE, {} }, { .SXTH, {.W_REG,.W_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x13003C00, 0xFFFFFC00, .BASE, {} }, { .SXTW, {.X_REG,.W_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x93407C00, 0xFFFFFC00, .BASE, {is_64=true} }, - { .LSR_IMM, {.X_REG,.X_REG,.IMM_6,.NONE}, {.RD,.RN,.IMM12,.NONE}, 0xD340FC00, 0xFFC0FC00, .BASE, {is_64=true} }, { .LSR_IMM, {.W_REG,.W_REG,.IMM_5,.NONE}, {.RD,.RN,.IMM12,.NONE}, 0x53007C00, 0xFFC0FC00, .BASE, {} }, + { .LSR_IMM, {.X_REG,.X_REG,.IMM_6,.NONE}, {.RD,.RN,.IMM12,.NONE}, 0xD340FC00, 0xFFC0FC00, .BASE, {is_64=true} }, { .ASR_IMM, {.X_REG,.X_REG,.IMM_6,.NONE}, {.RD,.RN,.IMM12,.NONE}, 0x9340FC00, 0xFFC0FC00, .BASE, {is_64=true} }, { .ASR_IMM, {.W_REG,.W_REG,.IMM_5,.NONE}, {.RD,.RN,.IMM12,.NONE}, 0x13007C00, 0xFFC0FC00, .BASE, {} }, { .TST_IMM, {.W_REG,.BITMASK_IMM,.NONE,.NONE}, {.RN,.BITMASK_FIELD,.NONE,.NONE}, 0x7200001F, 0xFFC0001F, .BASE, {sets_flags=true} }, { .MOV_BITMASK, {.W_REG,.BITMASK_IMM,.NONE,.NONE}, {.RD,.BITMASK_FIELD,.NONE,.NONE}, 0x320003E0, 0xFFC003E0, .BASE, {} }, { .TST_IMM, {.X_REG,.BITMASK_IMM,.NONE,.NONE}, {.RN,.BITMASK_FIELD,.NONE,.NONE}, 0xF200001F, 0xFF80001F, .BASE, {sets_flags=true, is_64=true} }, { .MOV_BITMASK, {.X_REG,.BITMASK_IMM,.NONE,.NONE}, {.RD,.BITMASK_FIELD,.NONE,.NONE}, 0xB20003E0, 0xFF8003E0, .BASE, {is_64=true} }, - { .EXTR, {.W_REG,.W_REG,.W_REG,.IMM_6}, {.RD,.RN,.RM,.IMM6}, 0x13800000, 0xFFE08000, .BASE, {} }, { .EXTR, {.X_REG,.X_REG,.X_REG,.IMM_6}, {.RD,.RN,.RM,.IMM6}, 0x93C00000, 0xFFE08000, .BASE, {is_64=true} }, - { .ROR_IMM, {.X_REG,.X_REG,.IMM_6,.NONE}, {.RD,.ENC_DUAL_RN_RM,.ENC_ROR_SHIFT,.NONE}, 0x93C00000, 0xFFE00000, .BASE, {is_64=true} }, + { .EXTR, {.W_REG,.W_REG,.W_REG,.IMM_6}, {.RD,.RN,.RM,.IMM6}, 0x13800000, 0xFFE08000, .BASE, {} }, { .ROR_IMM, {.W_REG,.W_REG,.IMM_5,.NONE}, {.RD,.ENC_DUAL_RN_RM,.ENC_ROR_SHIFT,.NONE}, 0x13800000, 0xFFE00000, .BASE, {} }, + { .ROR_IMM, {.X_REG,.X_REG,.IMM_6,.NONE}, {.RD,.ENC_DUAL_RN_RM,.ENC_ROR_SHIFT,.NONE}, 0x93C00000, 0xFFE00000, .BASE, {is_64=true} }, { .AND_IMM, {.WSP_REG,.W_REG,.BITMASK_IMM,.NONE}, {.RD,.RN,.BITMASK_FIELD,.NONE}, 0x12000000, 0xFFC00000, .BASE, {} }, { .ANDS_IMM, {.W_REG,.W_REG,.BITMASK_IMM,.NONE}, {.RD,.RN,.BITMASK_FIELD,.NONE}, 0x72000000, 0xFFC00000, .BASE, {sets_flags=true} }, { .ORR_IMM, {.WSP_REG,.W_REG,.BITMASK_IMM,.NONE}, {.RD,.RN,.BITMASK_FIELD,.NONE}, 0x32000000, 0xFFC00000, .BASE, {} }, @@ -1769,6 +1771,8 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .TLBI_VALE1IS, {.X_REG,.NONE,.NONE,.NONE}, {.RT,.NONE,.NONE,.NONE}, 0xD50883A0, 0xFFFFFFE0, .BASE, {is_64=true} }, { .TLBI_VAALE1, {.X_REG,.NONE,.NONE,.NONE}, {.RT,.NONE,.NONE,.NONE}, 0xD50887E0, 0xFFFFFFE0, .BASE, {is_64=true} }, { .TLBI_VAALE1IS, {.X_REG,.NONE,.NONE,.NONE}, {.RT,.NONE,.NONE,.NONE}, 0xD50883E0, 0xFFFFFFE0, .BASE, {is_64=true} }, + { .HINT, {.IMM_8,.NONE,.NONE,.NONE}, {.HINT_FIELD,.NONE,.NONE,.NONE}, 0xD503201F, 0xFFFFF01F, .BASE, {} }, + { .MSR_IMM, {.SYS_REG,.IMM_4,.NONE,.NONE}, {.MSR_PSTATE,.BARRIER_FIELD,.NONE,.NONE}, 0xD500401F, 0xFFF8F01F, .BASE, {} }, { .SVC, {.IMM_16,.NONE,.NONE,.NONE}, {.IMM16,.NONE,.NONE,.NONE}, 0xD4000001, 0xFFE0001F, .BASE, {branch=true} }, { .HVC, {.IMM_16,.NONE,.NONE,.NONE}, {.IMM16,.NONE,.NONE,.NONE}, 0xD4000002, 0xFFE0001F, .BASE, {branch=true} }, { .SMC, {.IMM_16,.NONE,.NONE,.NONE}, {.IMM16,.NONE,.NONE,.NONE}, 0xD4000003, 0xFFE0001F, .BASE, {branch=true} }, @@ -1779,8 +1783,8 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .MSR_REG, {.SYS_REG,.X_REG,.NONE,.NONE}, {.SYS_FIELD,.RT,.NONE,.NONE}, 0xD5100000, 0xFFF00000, .BASE, {} }, { .B_COND, {.COND,.REL_19,.NONE,.NONE}, {.COND_LO,.BRANCH_19,.NONE,.NONE}, 0x54000000, 0xFF000010, .BASE, {cond_branch=true} }, { .BC_COND, {.COND,.REL_19,.NONE,.NONE}, {.COND_LO,.BRANCH_19,.NONE,.NONE}, 0x54000010, 0xFF000010, .BASE, {cond_branch=true} }, - { .CBZ, {.W_REG,.REL_19,.NONE,.NONE}, {.RT,.BRANCH_19,.NONE,.NONE}, 0x34000000, 0xFF000000, .BASE, {cond_branch=true} }, { .CBZ, {.X_REG,.REL_19,.NONE,.NONE}, {.RT,.BRANCH_19,.NONE,.NONE}, 0xB4000000, 0xFF000000, .BASE, {cond_branch=true, is_64=true} }, + { .CBZ, {.W_REG,.REL_19,.NONE,.NONE}, {.RT,.BRANCH_19,.NONE,.NONE}, 0x34000000, 0xFF000000, .BASE, {cond_branch=true} }, { .CBNZ, {.W_REG,.REL_19,.NONE,.NONE}, {.RT,.BRANCH_19,.NONE,.NONE}, 0x35000000, 0xFF000000, .BASE, {cond_branch=true} }, { .CBNZ, {.X_REG,.REL_19,.NONE,.NONE}, {.RT,.BRANCH_19,.NONE,.NONE}, 0xB5000000, 0xFF000000, .BASE, {cond_branch=true, is_64=true} }, { .B, {.REL_26,.NONE,.NONE,.NONE}, {.BRANCH_26,.NONE,.NONE,.NONE}, 0x14000000, 0xFC000000, .BASE, {branch=true} }, @@ -1814,30 +1818,30 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .LDADD, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8200000, 0xFFE0FC00, .LSE, {} }, { .LDADDA, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8A00000, 0xFFE0FC00, .LSE, {is_64=true} }, { .LDADDA, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8A00000, 0xFFE0FC00, .LSE, {} }, - { .LDADDL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8600000, 0xFFE0FC00, .LSE, {} }, { .LDADDL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8600000, 0xFFE0FC00, .LSE, {is_64=true} }, - { .LDADDAL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8E00000, 0xFFE0FC00, .LSE, {is_64=true} }, + { .LDADDL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8600000, 0xFFE0FC00, .LSE, {} }, { .LDADDAL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8E00000, 0xFFE0FC00, .LSE, {} }, - { .LDCLR, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8201000, 0xFFE0FC00, .LSE, {is_64=true} }, + { .LDADDAL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8E00000, 0xFFE0FC00, .LSE, {is_64=true} }, { .LDCLR, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8201000, 0xFFE0FC00, .LSE, {} }, + { .LDCLR, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8201000, 0xFFE0FC00, .LSE, {is_64=true} }, { .LDCLRA, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8A01000, 0xFFE0FC00, .LSE, {is_64=true} }, { .LDCLRA, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8A01000, 0xFFE0FC00, .LSE, {} }, - { .LDCLRL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8601000, 0xFFE0FC00, .LSE, {} }, { .LDCLRL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8601000, 0xFFE0FC00, .LSE, {is_64=true} }, - { .LDCLRAL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8E01000, 0xFFE0FC00, .LSE, {} }, + { .LDCLRL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8601000, 0xFFE0FC00, .LSE, {} }, { .LDCLRAL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8E01000, 0xFFE0FC00, .LSE, {is_64=true} }, - { .LDEOR, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8202000, 0xFFE0FC00, .LSE, {is_64=true} }, + { .LDCLRAL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8E01000, 0xFFE0FC00, .LSE, {} }, { .LDEOR, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8202000, 0xFFE0FC00, .LSE, {} }, + { .LDEOR, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8202000, 0xFFE0FC00, .LSE, {is_64=true} }, { .LDEORA, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8A02000, 0xFFE0FC00, .LSE, {is_64=true} }, { .LDEORA, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8A02000, 0xFFE0FC00, .LSE, {} }, - { .LDEORL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8602000, 0xFFE0FC00, .LSE, {is_64=true} }, { .LDEORL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8602000, 0xFFE0FC00, .LSE, {} }, + { .LDEORL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8602000, 0xFFE0FC00, .LSE, {is_64=true} }, { .LDEORAL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8E02000, 0xFFE0FC00, .LSE, {} }, { .LDEORAL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8E02000, 0xFFE0FC00, .LSE, {is_64=true} }, - { .LDSET, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8203000, 0xFFE0FC00, .LSE, {is_64=true} }, { .LDSET, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8203000, 0xFFE0FC00, .LSE, {} }, - { .LDSETA, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8A03000, 0xFFE0FC00, .LSE, {} }, + { .LDSET, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8203000, 0xFFE0FC00, .LSE, {is_64=true} }, { .LDSETA, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8A03000, 0xFFE0FC00, .LSE, {is_64=true} }, + { .LDSETA, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8A03000, 0xFFE0FC00, .LSE, {} }, { .LDSETL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8603000, 0xFFE0FC00, .LSE, {} }, { .LDSETL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8603000, 0xFFE0FC00, .LSE, {is_64=true} }, { .LDSETAL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8E03000, 0xFFE0FC00, .LSE, {} }, @@ -1846,8 +1850,8 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .LDSMAX, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8204000, 0xFFE0FC00, .LSE, {} }, { .LDSMAXA, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8A04000, 0xFFE0FC00, .LSE, {} }, { .LDSMAXA, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8A04000, 0xFFE0FC00, .LSE, {is_64=true} }, - { .LDSMAXL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8604000, 0xFFE0FC00, .LSE, {} }, { .LDSMAXL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8604000, 0xFFE0FC00, .LSE, {is_64=true} }, + { .LDSMAXL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8604000, 0xFFE0FC00, .LSE, {} }, { .LDSMAXAL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8E04000, 0xFFE0FC00, .LSE, {is_64=true} }, { .LDSMAXAL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8E04000, 0xFFE0FC00, .LSE, {} }, { .LDSMIN, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8205000, 0xFFE0FC00, .LSE, {} }, @@ -1856,46 +1860,46 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .LDSMINA, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8A05000, 0xFFE0FC00, .LSE, {} }, { .LDSMINL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8605000, 0xFFE0FC00, .LSE, {is_64=true} }, { .LDSMINL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8605000, 0xFFE0FC00, .LSE, {} }, - { .LDSMINAL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8E05000, 0xFFE0FC00, .LSE, {} }, { .LDSMINAL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8E05000, 0xFFE0FC00, .LSE, {is_64=true} }, - { .LDUMAX, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8206000, 0xFFE0FC00, .LSE, {is_64=true} }, + { .LDSMINAL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8E05000, 0xFFE0FC00, .LSE, {} }, { .LDUMAX, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8206000, 0xFFE0FC00, .LSE, {} }, - { .LDUMAXA, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8A06000, 0xFFE0FC00, .LSE, {is_64=true} }, + { .LDUMAX, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8206000, 0xFFE0FC00, .LSE, {is_64=true} }, { .LDUMAXA, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8A06000, 0xFFE0FC00, .LSE, {} }, + { .LDUMAXA, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8A06000, 0xFFE0FC00, .LSE, {is_64=true} }, { .LDUMAXL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8606000, 0xFFE0FC00, .LSE, {is_64=true} }, { .LDUMAXL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8606000, 0xFFE0FC00, .LSE, {} }, - { .LDUMAXAL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8E06000, 0xFFE0FC00, .LSE, {} }, { .LDUMAXAL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8E06000, 0xFFE0FC00, .LSE, {is_64=true} }, - { .LDUMIN, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8207000, 0xFFE0FC00, .LSE, {} }, + { .LDUMAXAL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8E06000, 0xFFE0FC00, .LSE, {} }, { .LDUMIN, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8207000, 0xFFE0FC00, .LSE, {is_64=true} }, - { .LDUMINA, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8A07000, 0xFFE0FC00, .LSE, {is_64=true} }, + { .LDUMIN, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8207000, 0xFFE0FC00, .LSE, {} }, { .LDUMINA, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8A07000, 0xFFE0FC00, .LSE, {} }, + { .LDUMINA, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8A07000, 0xFFE0FC00, .LSE, {is_64=true} }, { .LDUMINL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8607000, 0xFFE0FC00, .LSE, {is_64=true} }, { .LDUMINL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8607000, 0xFFE0FC00, .LSE, {} }, - { .LDUMINAL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8E07000, 0xFFE0FC00, .LSE, {is_64=true} }, { .LDUMINAL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8E07000, 0xFFE0FC00, .LSE, {} }, + { .LDUMINAL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8E07000, 0xFFE0FC00, .LSE, {is_64=true} }, { .SWP, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8208000, 0xFFE0FC00, .LSE, {} }, { .SWP, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8208000, 0xFFE0FC00, .LSE, {is_64=true} }, - { .SWPA, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8A08000, 0xFFE0FC00, .LSE, {is_64=true} }, { .SWPA, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8A08000, 0xFFE0FC00, .LSE, {} }, - { .SWPL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8608000, 0xFFE0FC00, .LSE, {} }, + { .SWPA, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8A08000, 0xFFE0FC00, .LSE, {is_64=true} }, { .SWPL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8608000, 0xFFE0FC00, .LSE, {is_64=true} }, - { .SWPAL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8E08000, 0xFFE0FC00, .LSE, {} }, + { .SWPL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8608000, 0xFFE0FC00, .LSE, {} }, { .SWPAL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8E08000, 0xFFE0FC00, .LSE, {is_64=true} }, + { .SWPAL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8E08000, 0xFFE0FC00, .LSE, {} }, { .CPYFP, {.XSP_REG,.XSP_REG,.X_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x19000400, 0xFFE03C00, .BASE, {is_64=true} }, { .CPYFM, {.XSP_REG,.XSP_REG,.X_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x19400400, 0xFFE03C00, .BASE, {is_64=true} }, { .CPYFE, {.XSP_REG,.XSP_REG,.X_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x19800400, 0xFFE03C00, .BASE, {is_64=true} }, { .SETP, {.XSP_REG,.X_REG,.X_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x19C00400, 0xFFE03C00, .BASE, {is_64=true} }, { .SETM, {.XSP_REG,.X_REG,.X_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x19C04400, 0xFFE03C00, .BASE, {is_64=true} }, { .SETE, {.XSP_REG,.X_REG,.X_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x19C08400, 0xFFE03C00, .BASE, {is_64=true} }, - { .LDUR, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0xF8400000, 0xFFE00C00, .BASE, {is_64=true} }, { .LDUR, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0xB8400000, 0xFFE00C00, .BASE, {} }, + { .LDUR, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0xF8400000, 0xFFE00C00, .BASE, {is_64=true} }, { .STUR, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0xF8000000, 0xFFE00C00, .BASE, {is_64=true} }, { .STUR, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0xB8000000, 0xFFE00C00, .BASE, {} }, { .LDURB, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0x38400000, 0xFFE00C00, .BASE, {} }, { .STURB, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0x38000000, 0xFFE00C00, .BASE, {} }, - { .LDURSB, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0x38800000, 0xFFE00C00, .BASE, {is_64=true} }, { .LDURSB, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0x38C00000, 0xFFE00C00, .BASE, {} }, + { .LDURSB, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0x38800000, 0xFFE00C00, .BASE, {is_64=true} }, { .LDURH, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0x78400000, 0xFFE00C00, .BASE, {} }, { .STURH, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0x78000000, 0xFFE00C00, .BASE, {} }, { .LDURSH, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0x78C00000, 0xFFE00C00, .BASE, {} }, @@ -1907,8 +1911,8 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .STR_PRE, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_PRE,.NONE,.NONE}, 0xF8000C00, 0xFFE00C00, .BASE, {is_64=true} }, { .LDR_POST, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_POST,.NONE,.NONE}, 0xF8400400, 0xFFE00C00, .BASE, {is_64=true} }, { .LDR_POST, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_POST,.NONE,.NONE}, 0xB8400400, 0xFFE00C00, .BASE, {} }, - { .STR_POST, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_POST,.NONE,.NONE}, 0xF8000400, 0xFFE00C00, .BASE, {is_64=true} }, { .STR_POST, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_POST,.NONE,.NONE}, 0xB8000400, 0xFFE00C00, .BASE, {} }, + { .STR_POST, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_POST,.NONE,.NONE}, 0xF8000400, 0xFFE00C00, .BASE, {is_64=true} }, { .LDR_REG, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_REG,.NONE,.NONE}, 0xB8600800, 0xFFE00C00, .BASE, {} }, { .LDR_REG, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_REG,.NONE,.NONE}, 0xF8600800, 0xFFE00C00, .BASE, {is_64=true} }, { .STR_REG, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_REG,.NONE,.NONE}, 0xF8200800, 0xFFE00C00, .BASE, {is_64=true} }, @@ -1923,38 +1927,38 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .STZGM, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_A,.NONE,.NONE}, 0xD9200000, 0xFFE00C00, .MTE, {is_64=true} }, { .LDAPUR, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0x99400000, 0xFFE00C00, .BASE, {} }, { .LDAPUR, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0xD9400000, 0xFFE00C00, .BASE, {is_64=true} }, - { .STLUR, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0x99000000, 0xFFE00C00, .BASE, {} }, { .STLUR, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0xD9000000, 0xFFE00C00, .BASE, {is_64=true} }, + { .STLUR, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0x99000000, 0xFFE00C00, .BASE, {} }, { .LDAPURB, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0x19400000, 0xFFE00C00, .BASE, {} }, { .STLURB, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0x19000000, 0xFFE00C00, .BASE, {} }, { .LDAPURH, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0x59400000, 0xFFE00C00, .BASE, {} }, { .STLURH, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0x59000000, 0xFFE00C00, .BASE, {} }, - { .LDAPURSB, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0x19800000, 0xFFE00C00, .BASE, {is_64=true} }, { .LDAPURSB, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0x19C00000, 0xFFE00C00, .BASE, {} }, - { .LDAPURSH, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0x59800000, 0xFFE00C00, .BASE, {is_64=true} }, + { .LDAPURSB, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0x19800000, 0xFFE00C00, .BASE, {is_64=true} }, { .LDAPURSH, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0x59C00000, 0xFFE00C00, .BASE, {} }, + { .LDAPURSH, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0x59800000, 0xFFE00C00, .BASE, {is_64=true} }, { .LDAPURSW, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0x99800000, 0xFFE00C00, .BASE, {is_64=true} }, { .PRFUM, {.IMM_5,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0xF8800000, 0xFFE00C00, .BASE, {is_64=true} }, { .LDRAA, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0xF8200400, 0xFFA00C00, .PAC, {is_64=true} }, { .LDRAB, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0xF8A00400, 0xFFA00C00, .PAC, {is_64=true} }, { .LDRAA_PRE, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_PRE,.NONE,.NONE}, 0xF8200C00, 0xFFA00C00, .PAC, {is_64=true} }, { .LDRAB_PRE, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_PRE,.NONE,.NONE}, 0xF8A00C00, 0xFFA00C00, .PAC, {is_64=true} }, - { .LDR, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0xB9400000, 0xFFC00000, .BASE, {} }, { .LDR, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0xF9400000, 0xFFC00000, .BASE, {is_64=true} }, + { .LDR, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0xB9400000, 0xFFC00000, .BASE, {} }, { .STR, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0xB9000000, 0xFFC00000, .BASE, {} }, { .STR, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0xF9000000, 0xFFC00000, .BASE, {is_64=true} }, { .LDRB, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0x39400000, 0xFFC00000, .BASE, {} }, { .STRB, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0x39000000, 0xFFC00000, .BASE, {} }, - { .LDRSB, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0x39800000, 0xFFC00000, .BASE, {is_64=true} }, { .LDRSB, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0x39C00000, 0xFFC00000, .BASE, {} }, + { .LDRSB, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0x39800000, 0xFFC00000, .BASE, {is_64=true} }, { .LDRH, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0x79400000, 0xFFC00000, .BASE, {} }, { .STRH, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0x79000000, 0xFFC00000, .BASE, {} }, { .LDRSH, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0x79C00000, 0xFFC00000, .BASE, {} }, { .LDRSH, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0x79800000, 0xFFC00000, .BASE, {is_64=true} }, { .LDRSW, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0xB9800000, 0xFFC00000, .BASE, {is_64=true} }, { .PRFM, {.IMM_5,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0xF9800000, 0xFFC00000, .BASE, {is_64=true} }, - { .LDR_LIT, {.X_REG,.REL_19,.NONE,.NONE}, {.RT,.BRANCH_19,.NONE,.NONE}, 0x58000000, 0xFF000000, .BASE, {is_64=true} }, { .LDR_LIT, {.W_REG,.REL_19,.NONE,.NONE}, {.RT,.BRANCH_19,.NONE,.NONE}, 0x18000000, 0xFF000000, .BASE, {} }, + { .LDR_LIT, {.X_REG,.REL_19,.NONE,.NONE}, {.RT,.BRANCH_19,.NONE,.NONE}, 0x58000000, 0xFF000000, .BASE, {is_64=true} }, { .PRFM_LIT, {.IMM_5,.REL_19,.NONE,.NONE}, {.RT,.BRANCH_19,.NONE,.NONE}, 0xD8000000, 0xFF000000, .BASE, {is_64=true} }, { .PACIZA, {.X_REG,.NONE,.NONE,.NONE}, {.RD,.NONE,.NONE,.NONE}, 0xDAC123E0, 0xFFFFFFE0, .PAC, {is_64=true} }, { .PACIZB, {.X_REG,.NONE,.NONE,.NONE}, {.RD,.NONE,.NONE,.NONE}, 0xDAC127E0, 0xFFFFFFE0, .PAC, {is_64=true} }, @@ -2018,16 +2022,20 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .CRC32CX, {.W_REG,.W_REG,.X_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x9AC05C00, 0xFFE0FC00, .CRC32, {is_64=true} }, { .ADC, {.X_REG,.X_REG,.X_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x9A000000, 0xFFE0FC00, .BASE, {is_64=true} }, { .ADC, {.W_REG,.W_REG,.W_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1A000000, 0xFFE0FC00, .BASE, {} }, - { .ADCS, {.X_REG,.X_REG,.X_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0xBA000000, 0xFFE0FC00, .BASE, {sets_flags=true, is_64=true} }, { .ADCS, {.W_REG,.W_REG,.W_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x3A000000, 0xFFE0FC00, .BASE, {sets_flags=true} }, - { .SBC, {.W_REG,.W_REG,.W_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x5A000000, 0xFFE0FC00, .BASE, {} }, + { .ADCS, {.X_REG,.X_REG,.X_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0xBA000000, 0xFFE0FC00, .BASE, {sets_flags=true, is_64=true} }, { .SBC, {.X_REG,.X_REG,.X_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0xDA000000, 0xFFE0FC00, .BASE, {is_64=true} }, - { .SBCS, {.X_REG,.X_REG,.X_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0xFA000000, 0xFFE0FC00, .BASE, {sets_flags=true, is_64=true} }, + { .SBC, {.W_REG,.W_REG,.W_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x5A000000, 0xFFE0FC00, .BASE, {} }, { .SBCS, {.W_REG,.W_REG,.W_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x7A000000, 0xFFE0FC00, .BASE, {sets_flags=true} }, + { .SBCS, {.X_REG,.X_REG,.X_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0xFA000000, 0xFFE0FC00, .BASE, {sets_flags=true, is_64=true} }, { .CCMP_REG, {.X_REG,.X_REG,.NZCV_IMM,.COND}, {.RN,.RM,.NZCV_FIELD,.COND_HI}, 0xFA400000, 0xFFE00C10, .BASE, {sets_flags=true, is_64=true} }, { .CCMP_REG, {.W_REG,.W_REG,.NZCV_IMM,.COND}, {.RN,.RM,.NZCV_FIELD,.COND_HI}, 0x7A400000, 0xFFE00C10, .BASE, {sets_flags=true} }, - { .CCMN_REG, {.X_REG,.X_REG,.NZCV_IMM,.COND}, {.RN,.RM,.NZCV_FIELD,.COND_HI}, 0xBA400000, 0xFFE00C10, .BASE, {sets_flags=true, is_64=true} }, + { .CCMP_IMM, {.X_REG,.IMM_5,.NZCV_IMM,.COND}, {.RN,.IMM5_HI,.NZCV_FIELD,.COND_HI}, 0xFA400800, 0xFFE00C10, .BASE, {sets_flags=true, is_64=true} }, + { .CCMP_IMM, {.W_REG,.IMM_5,.NZCV_IMM,.COND}, {.RN,.IMM5_HI,.NZCV_FIELD,.COND_HI}, 0x7A400800, 0xFFE00C10, .BASE, {sets_flags=true} }, { .CCMN_REG, {.W_REG,.W_REG,.NZCV_IMM,.COND}, {.RN,.RM,.NZCV_FIELD,.COND_HI}, 0x3A400000, 0xFFE00C10, .BASE, {sets_flags=true} }, + { .CCMN_REG, {.X_REG,.X_REG,.NZCV_IMM,.COND}, {.RN,.RM,.NZCV_FIELD,.COND_HI}, 0xBA400000, 0xFFE00C10, .BASE, {sets_flags=true, is_64=true} }, + { .CCMN_IMM, {.W_REG,.IMM_5,.NZCV_IMM,.COND}, {.RN,.IMM5_HI,.NZCV_FIELD,.COND_HI}, 0x3A400800, 0xFFE00C10, .BASE, {sets_flags=true} }, + { .CCMN_IMM, {.X_REG,.IMM_5,.NZCV_IMM,.COND}, {.RN,.IMM5_HI,.NZCV_FIELD,.COND_HI}, 0xBA400800, 0xFFE00C10, .BASE, {sets_flags=true, is_64=true} }, { .CSEL, {.X_REG,.X_REG,.X_REG,.COND}, {.RD,.RN,.RM,.COND_HI}, 0x9A800000, 0xFFE00C00, .BASE, {is_64=true} }, { .CSEL, {.W_REG,.W_REG,.W_REG,.COND}, {.RD,.RN,.RM,.COND_HI}, 0x1A800000, 0xFFE00C00, .BASE, {} }, { .CSINC, {.W_REG,.W_REG,.W_REG,.COND}, {.RD,.RN,.RM,.COND_HI}, 0x1A800400, 0xFFE00C00, .BASE, {} }, @@ -2047,119 +2055,119 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .CPYP, {.XSP_REG,.XSP_REG,.X_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1D000400, 0xFFE03C00, .BASE, {is_64=true} }, { .CPYM, {.XSP_REG,.XSP_REG,.X_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1D400400, 0xFFE03C00, .BASE, {is_64=true} }, { .CPYE, {.XSP_REG,.XSP_REG,.X_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1D800400, 0xFFE03C00, .BASE, {is_64=true} }, - { .LDR_V, {.D_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0xFD400000, 0xFFC00000, .FP, {} }, - { .LDR_V, {.S_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0xBD400000, 0xFFC00000, .FP, {} }, - { .LDR_V, {.Q_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0x3DC00000, 0xFFC00000, .FP, {} }, - { .LDR_V, {.B_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0x3D400000, 0xFFC00000, .FP, {} }, { .LDR_V, {.H_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0x7D400000, 0xFFC00000, .FP, {} }, + { .LDR_V, {.B_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0x3D400000, 0xFFC00000, .FP, {} }, + { .LDR_V, {.S_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0xBD400000, 0xFFC00000, .FP, {} }, + { .LDR_V, {.D_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0xFD400000, 0xFFC00000, .FP, {} }, + { .LDR_V, {.Q_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0x3DC00000, 0xFFC00000, .FP, {} }, { .STR_V, {.Q_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0x3D800000, 0xFFC00000, .FP, {} }, { .STR_V, {.S_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0xBD000000, 0xFFC00000, .FP, {} }, { .STR_V, {.H_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0x7D000000, 0xFFC00000, .FP, {} }, { .STR_V, {.D_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0xFD000000, 0xFFC00000, .FP, {} }, { .STR_V, {.B_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0x3D000000, 0xFFC00000, .FP, {} }, - { .FMOV_REG, {.S_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E204000, 0xFFFFFC00, .FP, {} }, { .FMOV_REG, {.D_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E604000, 0xFFFFFC00, .FP, {} }, - { .FMOV_GEN, {.D_REG,.X_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E670000, 0xFFFFFC00, .FP, {is_64=true} }, - { .FMOV_GEN, {.S_REG,.W_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E270000, 0xFFFFFC00, .FP, {} }, + { .FMOV_REG, {.S_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E204000, 0xFFFFFC00, .FP, {} }, { .FMOV_GEN, {.W_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E260000, 0xFFFFFC00, .FP, {} }, + { .FMOV_GEN, {.S_REG,.W_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E270000, 0xFFFFFC00, .FP, {} }, { .FMOV_GEN, {.X_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E660000, 0xFFFFFC00, .FP, {is_64=true} }, - { .FABS, {.D_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E60C000, 0xFFFFFC00, .FP, {} }, + { .FMOV_GEN, {.D_REG,.X_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E670000, 0xFFFFFC00, .FP, {is_64=true} }, { .FABS, {.S_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E20C000, 0xFFFFFC00, .FP, {} }, - { .FNEG, {.S_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E214000, 0xFFFFFC00, .FP, {} }, + { .FABS, {.D_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E60C000, 0xFFFFFC00, .FP, {} }, { .FNEG, {.D_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E614000, 0xFFFFFC00, .FP, {} }, - { .FSQRT, {.S_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E21C000, 0xFFFFFC00, .FP, {} }, + { .FNEG, {.S_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E214000, 0xFFFFFC00, .FP, {} }, { .FSQRT, {.D_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E61C000, 0xFFFFFC00, .FP, {} }, - { .FCMP, {.S_REG,.S_REG,.NONE,.NONE}, {.RN,.RM,.NONE,.NONE}, 0x1E202000, 0xFFE0FC1F, .FP, {sets_flags=true} }, + { .FSQRT, {.S_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E21C000, 0xFFFFFC00, .FP, {} }, { .FCMP, {.D_REG,.D_REG,.NONE,.NONE}, {.RN,.RM,.NONE,.NONE}, 0x1E602000, 0xFFE0FC1F, .FP, {sets_flags=true} }, - { .FCMPE, {.S_REG,.S_REG,.NONE,.NONE}, {.RN,.RM,.NONE,.NONE}, 0x1E202010, 0xFFE0FC1F, .FP, {sets_flags=true} }, + { .FCMP, {.S_REG,.S_REG,.NONE,.NONE}, {.RN,.RM,.NONE,.NONE}, 0x1E202000, 0xFFE0FC1F, .FP, {sets_flags=true} }, { .FCMPE, {.D_REG,.D_REG,.NONE,.NONE}, {.RN,.RM,.NONE,.NONE}, 0x1E602010, 0xFFE0FC1F, .FP, {sets_flags=true} }, + { .FCMPE, {.S_REG,.S_REG,.NONE,.NONE}, {.RN,.RM,.NONE,.NONE}, 0x1E202010, 0xFFE0FC1F, .FP, {sets_flags=true} }, { .FCVT, {.S_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E624000, 0xFFFFFC00, .FP, {} }, { .FCVT, {.D_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E22C000, 0xFFFFFC00, .FP, {} }, { .SCVTF, {.D_REG,.X_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E620000, 0xFFFFFC00, .FP, {is_64=true} }, - { .SCVTF, {.S_REG,.X_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E220000, 0xFFFFFC00, .FP, {is_64=true} }, { .SCVTF, {.S_REG,.W_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E220000, 0xFFFFFC00, .FP, {} }, { .SCVTF, {.D_REG,.W_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E620000, 0xFFFFFC00, .FP, {} }, - { .UCVTF, {.D_REG,.W_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E630000, 0xFFFFFC00, .FP, {} }, - { .UCVTF, {.S_REG,.W_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E230000, 0xFFFFFC00, .FP, {} }, + { .SCVTF, {.S_REG,.X_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E220000, 0xFFFFFC00, .FP, {is_64=true} }, { .UCVTF, {.S_REG,.X_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E230000, 0xFFFFFC00, .FP, {is_64=true} }, + { .UCVTF, {.S_REG,.W_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E230000, 0xFFFFFC00, .FP, {} }, + { .UCVTF, {.D_REG,.W_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E630000, 0xFFFFFC00, .FP, {} }, { .UCVTF, {.D_REG,.X_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E630000, 0xFFFFFC00, .FP, {is_64=true} }, - { .FCVTZS, {.X_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E380000, 0xFFFFFC00, .FP, {is_64=true} }, { .FCVTZS, {.W_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E780000, 0xFFFFFC00, .FP, {} }, - { .FCVTZS, {.X_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E780000, 0xFFFFFC00, .FP, {is_64=true} }, { .FCVTZS, {.W_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E380000, 0xFFFFFC00, .FP, {} }, + { .FCVTZS, {.X_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E380000, 0xFFFFFC00, .FP, {is_64=true} }, + { .FCVTZS, {.X_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E780000, 0xFFFFFC00, .FP, {is_64=true} }, { .FCVTZU, {.X_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E790000, 0xFFFFFC00, .FP, {is_64=true} }, - { .FCVTZU, {.X_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E390000, 0xFFFFFC00, .FP, {is_64=true} }, - { .FCVTZU, {.W_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E390000, 0xFFFFFC00, .FP, {} }, { .FCVTZU, {.W_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E790000, 0xFFFFFC00, .FP, {} }, + { .FCVTZU, {.W_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E390000, 0xFFFFFC00, .FP, {} }, + { .FCVTZU, {.X_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E390000, 0xFFFFFC00, .FP, {is_64=true} }, { .FCVTAS, {.X_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9EE40000, 0xFFFFFC00, .FP16, {} }, { .FCVTAS, {.X_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E240000, 0xFFFFFC00, .FP, {} }, { .FCVTAS, {.W_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1EE40000, 0xFFFFFC00, .FP16, {} }, { .FCVTAS, {.X_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E640000, 0xFFFFFC00, .FP, {} }, { .FCVTAS, {.W_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E240000, 0xFFFFFC00, .FP, {} }, { .FCVTAS, {.W_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E640000, 0xFFFFFC00, .FP, {} }, - { .FCVTAU, {.X_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9EE50000, 0xFFFFFC00, .FP16, {} }, - { .FCVTAU, {.X_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E250000, 0xFFFFFC00, .FP, {} }, { .FCVTAU, {.W_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1EE50000, 0xFFFFFC00, .FP16, {} }, - { .FCVTAU, {.X_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E650000, 0xFFFFFC00, .FP, {} }, - { .FCVTAU, {.W_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E250000, 0xFFFFFC00, .FP, {} }, { .FCVTAU, {.W_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E650000, 0xFFFFFC00, .FP, {} }, + { .FCVTAU, {.X_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E250000, 0xFFFFFC00, .FP, {} }, + { .FCVTAU, {.W_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E250000, 0xFFFFFC00, .FP, {} }, + { .FCVTAU, {.X_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E650000, 0xFFFFFC00, .FP, {} }, + { .FCVTAU, {.X_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9EE50000, 0xFFFFFC00, .FP16, {} }, + { .FCVTNS, {.X_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E600000, 0xFFFFFC00, .FP, {} }, { .FCVTNS, {.W_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1EE00000, 0xFFFFFC00, .FP16, {} }, { .FCVTNS, {.W_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E600000, 0xFFFFFC00, .FP, {} }, { .FCVTNS, {.X_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E200000, 0xFFFFFC00, .FP, {} }, - { .FCVTNS, {.W_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E200000, 0xFFFFFC00, .FP, {} }, - { .FCVTNS, {.X_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E600000, 0xFFFFFC00, .FP, {} }, { .FCVTNS, {.X_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9EE00000, 0xFFFFFC00, .FP16, {} }, - { .FCVTNU, {.X_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E610000, 0xFFFFFC00, .FP, {} }, - { .FCVTNU, {.W_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1EE10000, 0xFFFFFC00, .FP16, {} }, - { .FCVTNU, {.W_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E610000, 0xFFFFFC00, .FP, {} }, - { .FCVTNU, {.X_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E210000, 0xFFFFFC00, .FP, {} }, + { .FCVTNS, {.W_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E200000, 0xFFFFFC00, .FP, {} }, { .FCVTNU, {.X_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9EE10000, 0xFFFFFC00, .FP16, {} }, + { .FCVTNU, {.X_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E610000, 0xFFFFFC00, .FP, {} }, + { .FCVTNU, {.W_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E610000, 0xFFFFFC00, .FP, {} }, { .FCVTNU, {.W_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E210000, 0xFFFFFC00, .FP, {} }, + { .FCVTNU, {.W_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1EE10000, 0xFFFFFC00, .FP16, {} }, + { .FCVTNU, {.X_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E210000, 0xFFFFFC00, .FP, {} }, { .FCVTPS, {.X_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9EE80000, 0xFFFFFC00, .FP16, {} }, { .FCVTPS, {.X_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E680000, 0xFFFFFC00, .FP, {} }, { .FCVTPS, {.W_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E680000, 0xFFFFFC00, .FP, {} }, { .FCVTPS, {.W_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E280000, 0xFFFFFC00, .FP, {} }, { .FCVTPS, {.W_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1EE80000, 0xFFFFFC00, .FP16, {} }, { .FCVTPS, {.X_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E280000, 0xFFFFFC00, .FP, {} }, - { .FCVTPU, {.X_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9EE90000, 0xFFFFFC00, .FP16, {} }, { .FCVTPU, {.X_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E690000, 0xFFFFFC00, .FP, {} }, + { .FCVTPU, {.X_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E290000, 0xFFFFFC00, .FP, {} }, + { .FCVTPU, {.X_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9EE90000, 0xFFFFFC00, .FP16, {} }, { .FCVTPU, {.W_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E690000, 0xFFFFFC00, .FP, {} }, { .FCVTPU, {.W_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E290000, 0xFFFFFC00, .FP, {} }, { .FCVTPU, {.W_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1EE90000, 0xFFFFFC00, .FP16, {} }, - { .FCVTPU, {.X_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E290000, 0xFFFFFC00, .FP, {} }, - { .FCVTMS, {.X_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E700000, 0xFFFFFC00, .FP, {} }, - { .FCVTMS, {.X_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E300000, 0xFFFFFC00, .FP, {} }, { .FCVTMS, {.X_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9EF00000, 0xFFFFFC00, .FP16, {} }, - { .FCVTMS, {.W_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E700000, 0xFFFFFC00, .FP, {} }, - { .FCVTMS, {.W_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E300000, 0xFFFFFC00, .FP, {} }, + { .FCVTMS, {.X_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E300000, 0xFFFFFC00, .FP, {} }, { .FCVTMS, {.W_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1EF00000, 0xFFFFFC00, .FP16, {} }, + { .FCVTMS, {.X_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E700000, 0xFFFFFC00, .FP, {} }, + { .FCVTMS, {.W_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E300000, 0xFFFFFC00, .FP, {} }, + { .FCVTMS, {.W_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E700000, 0xFFFFFC00, .FP, {} }, { .FCVTMU, {.X_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9EF10000, 0xFFFFFC00, .FP16, {} }, - { .FCVTMU, {.X_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E310000, 0xFFFFFC00, .FP, {} }, { .FCVTMU, {.W_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1EF10000, 0xFFFFFC00, .FP16, {} }, - { .FCVTMU, {.X_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E710000, 0xFFFFFC00, .FP, {} }, - { .FCVTMU, {.W_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E310000, 0xFFFFFC00, .FP, {} }, { .FCVTMU, {.W_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E710000, 0xFFFFFC00, .FP, {} }, + { .FCVTMU, {.X_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E310000, 0xFFFFFC00, .FP, {} }, + { .FCVTMU, {.W_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E310000, 0xFFFFFC00, .FP, {} }, + { .FCVTMU, {.X_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x9E710000, 0xFFFFFC00, .FP, {} }, { .FRINTA, {.H_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1EE64000, 0xFFFFFC00, .FP16, {} }, - { .FRINTA, {.D_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E664000, 0xFFFFFC00, .FP, {} }, { .FRINTA, {.S_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E264000, 0xFFFFFC00, .FP, {} }, - { .FRINTI, {.H_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1EE7C000, 0xFFFFFC00, .FP16, {} }, + { .FRINTA, {.D_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E664000, 0xFFFFFC00, .FP, {} }, { .FRINTI, {.S_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E27C000, 0xFFFFFC00, .FP, {} }, { .FRINTI, {.D_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E67C000, 0xFFFFFC00, .FP, {} }, + { .FRINTI, {.H_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1EE7C000, 0xFFFFFC00, .FP16, {} }, { .FRINTM, {.H_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1EE54000, 0xFFFFFC00, .FP16, {} }, { .FRINTM, {.S_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E254000, 0xFFFFFC00, .FP, {} }, { .FRINTM, {.D_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E654000, 0xFFFFFC00, .FP, {} }, + { .FRINTN, {.H_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1EE44000, 0xFFFFFC00, .FP16, {} }, { .FRINTN, {.S_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E244000, 0xFFFFFC00, .FP, {} }, { .FRINTN, {.D_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E644000, 0xFFFFFC00, .FP, {} }, - { .FRINTN, {.H_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1EE44000, 0xFFFFFC00, .FP16, {} }, { .FRINTP, {.H_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1EE4C000, 0xFFFFFC00, .FP16, {} }, - { .FRINTP, {.S_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E24C000, 0xFFFFFC00, .FP, {} }, { .FRINTP, {.D_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E64C000, 0xFFFFFC00, .FP, {} }, + { .FRINTP, {.S_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E24C000, 0xFFFFFC00, .FP, {} }, { .FRINTX, {.H_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1EE74000, 0xFFFFFC00, .FP16, {} }, { .FRINTX, {.S_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E274000, 0xFFFFFC00, .FP, {} }, { .FRINTX, {.D_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E674000, 0xFFFFFC00, .FP, {} }, { .FRINTZ, {.H_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1EE5C000, 0xFFFFFC00, .FP16, {} }, - { .FRINTZ, {.D_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E65C000, 0xFFFFFC00, .FP, {} }, { .FRINTZ, {.S_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E25C000, 0xFFFFFC00, .FP, {} }, + { .FRINTZ, {.D_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E65C000, 0xFFFFFC00, .FP, {} }, { .SHA1H, {.S_REG,.S_REG,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x5E280800, 0xFFFFFC00, .CRYPTO, {} }, { .SHA1SU1, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x5E281800, 0xFFFFFC00, .CRYPTO, {} }, { .SHA256SU0, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x5E282800, 0xFFFFFC00, .CRYPTO, {} }, @@ -2178,17 +2186,17 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .FCVTZS_H, {.W_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1EF80000, 0xFFFFFC00, .FP16, {} }, { .FCVTZU_H, {.W_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1EF90000, 0xFFFFFC00, .FP16, {} }, { .BFCVT, {.H_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E634000, 0xFFFFFC00, .BF16, {} }, - { .FRECPX, {.H_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x5EF9F800, 0xFFFFFC00, .FP16, {} }, - { .FRECPX, {.S_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x5EA1F800, 0xFFFFFC00, .FP, {} }, { .FRECPX, {.D_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x5EE1F800, 0xFFFFFC00, .FP, {} }, - { .FADD, {.S_REG,.S_REG,.S_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1E202800, 0xFFE0FC00, .FP, {} }, + { .FRECPX, {.S_REG,.S_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x5EA1F800, 0xFFFFFC00, .FP, {} }, + { .FRECPX, {.H_REG,.H_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x5EF9F800, 0xFFFFFC00, .FP16, {} }, { .FADD, {.D_REG,.D_REG,.D_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1E602800, 0xFFE0FC00, .FP, {} }, - { .FSUB, {.D_REG,.D_REG,.D_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1E603800, 0xFFE0FC00, .FP, {} }, + { .FADD, {.S_REG,.S_REG,.S_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1E202800, 0xFFE0FC00, .FP, {} }, { .FSUB, {.S_REG,.S_REG,.S_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1E203800, 0xFFE0FC00, .FP, {} }, + { .FSUB, {.D_REG,.D_REG,.D_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1E603800, 0xFFE0FC00, .FP, {} }, { .FMUL, {.D_REG,.D_REG,.D_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1E600800, 0xFFE0FC00, .FP, {} }, { .FMUL, {.S_REG,.S_REG,.S_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1E200800, 0xFFE0FC00, .FP, {} }, - { .FDIV, {.D_REG,.D_REG,.D_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1E601800, 0xFFE0FC00, .FP, {} }, { .FDIV, {.S_REG,.S_REG,.S_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1E201800, 0xFFE0FC00, .FP, {} }, + { .FDIV, {.D_REG,.D_REG,.D_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1E601800, 0xFFE0FC00, .FP, {} }, { .FNMUL, {.S_REG,.S_REG,.S_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1E208800, 0xFFE0FC00, .FP, {} }, { .FNMUL, {.D_REG,.D_REG,.D_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1E608800, 0xFFE0FC00, .FP, {} }, { .FMAX, {.S_REG,.S_REG,.S_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1E204800, 0xFFE0FC00, .FP, {} }, @@ -2197,8 +2205,8 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .FMIN, {.S_REG,.S_REG,.S_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1E205800, 0xFFE0FC00, .FP, {} }, { .FMAXNM, {.S_REG,.S_REG,.S_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1E206800, 0xFFE0FC00, .FP, {} }, { .FMAXNM, {.D_REG,.D_REG,.D_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1E606800, 0xFFE0FC00, .FP, {} }, - { .FMINNM, {.S_REG,.S_REG,.S_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1E207800, 0xFFE0FC00, .FP, {} }, { .FMINNM, {.D_REG,.D_REG,.D_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1E607800, 0xFFE0FC00, .FP, {} }, + { .FMINNM, {.S_REG,.S_REG,.S_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1E207800, 0xFFE0FC00, .FP, {} }, { .SHA1C, {.Q_REG,.S_REG,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x5E000000, 0xFFE0FC00, .CRYPTO, {} }, { .SHA1P, {.Q_REG,.S_REG,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x5E001000, 0xFFE0FC00, .CRYPTO, {} }, { .SHA1M, {.Q_REG,.S_REG,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x5E002000, 0xFFE0FC00, .CRYPTO, {} }, @@ -2215,8 +2223,8 @@ DECODE_ENTRIES := [2221]lib.Decode_Entry{ { .FMIN_H, {.H_REG,.H_REG,.H_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1EE05800, 0xFFE0FC00, .FP16, {} }, { .FMAXNM_H, {.H_REG,.H_REG,.H_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1EE06800, 0xFFE0FC00, .FP16, {} }, { .FMINNM_H, {.H_REG,.H_REG,.H_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1EE07800, 0xFFE0FC00, .FP16, {} }, - { .FCSEL, {.D_REG,.D_REG,.D_REG,.COND}, {.RD,.RN,.RM,.COND_HI}, 0x1E600C00, 0xFFE00C00, .FP, {} }, { .FCSEL, {.S_REG,.S_REG,.S_REG,.COND}, {.RD,.RN,.RM,.COND_HI}, 0x1E200C00, 0xFFE00C00, .FP, {} }, + { .FCSEL, {.D_REG,.D_REG,.D_REG,.COND}, {.RD,.RN,.RM,.COND_HI}, 0x1E600C00, 0xFFE00C00, .FP, {} }, { .FCSEL_H, {.H_REG,.H_REG,.H_REG,.COND}, {.RD,.RN,.RM,.COND_HI}, 0x1EE00C00, 0xFFE00C00, .FP16, {} }, { .FMADD, {.D_REG,.D_REG,.D_REG,.D_REG}, {.RD,.RN,.RM,.RA}, 0x1F400000, 0xFFE08000, .FP, {} }, { .FMADD, {.S_REG,.S_REG,.S_REG,.S_REG}, {.RD,.RN,.RM,.RA}, 0x1F000000, 0xFFE08000, .FP, {} }, @@ -2239,14 +2247,14 @@ DECODE_INDEX_OP0 := [16]lib.Decode_Index{ 0x04 = { 454, 76}, 0x05 = { 530, 50}, 0x06 = { 580, 8}, - 0x07 = { 588, 1040}, - 0x08 = {1628, 16}, - 0x09 = {1644, 34}, - 0x0A = {1678, 98}, - 0x0B = {1776, 21}, - 0x0C = {1797, 150}, - 0x0D = {1947, 88}, - 0x0E = {2035, 13}, - 0x0F = {2048, 173}, + 0x07 = { 588, 1042}, + 0x08 = {1630, 16}, + 0x09 = {1646, 34}, + 0x0A = {1680, 100}, + 0x0B = {1780, 21}, + 0x0C = {1801, 150}, + 0x0D = {1951, 92}, + 0x0E = {2043, 13}, + 0x0F = {2056, 173}, } diff --git a/core/rexcode/arm64/tablegen/generated/encode_tables.odin b/core/rexcode/arm64/tablegen/generated/encode_tables.odin index ca1512086..a5a6e81e1 100644 --- a/core/rexcode/arm64/tablegen/generated/encode_tables.odin +++ b/core/rexcode/arm64/tablegen/generated/encode_tables.odin @@ -8,7 +8,7 @@ package rexcode_arm64_generated import lib "../.." @(rodata) -ENCODE_FORMS := [2219]lib.Encoding{ +ENCODE_FORMS := [2227]lib.Encoding{ // .ADD_IMM { .ADD_IMM, {.WSP_REG,.WSP_REG,.IMM_12,.NONE}, {.RD,.RN,.IMM12,.NONE}, 0x11000000, 0xFF800000, .BASE, {} }, { .ADD_IMM, {.XSP_REG,.XSP_REG,.IMM_12,.NONE}, {.RD,.RN,.IMM12,.NONE}, 0x91000000, 0xFF800000, .BASE, {is_64=true} }, @@ -150,9 +150,15 @@ ENCODE_FORMS := [2219]lib.Encoding{ // .CCMP_REG { .CCMP_REG, {.W_REG,.W_REG,.NZCV_IMM,.COND}, {.RN,.RM,.NZCV_FIELD,.COND_HI}, 0x7A400000, 0xFFE00C10, .BASE, {sets_flags=true} }, { .CCMP_REG, {.X_REG,.X_REG,.NZCV_IMM,.COND}, {.RN,.RM,.NZCV_FIELD,.COND_HI}, 0xFA400000, 0xFFE00C10, .BASE, {sets_flags=true, is_64=true} }, + // .CCMP_IMM + { .CCMP_IMM, {.W_REG,.IMM_5,.NZCV_IMM,.COND}, {.RN,.IMM5_HI,.NZCV_FIELD,.COND_HI}, 0x7A400800, 0xFFE00C10, .BASE, {sets_flags=true} }, + { .CCMP_IMM, {.X_REG,.IMM_5,.NZCV_IMM,.COND}, {.RN,.IMM5_HI,.NZCV_FIELD,.COND_HI}, 0xFA400800, 0xFFE00C10, .BASE, {sets_flags=true, is_64=true} }, // .CCMN_REG { .CCMN_REG, {.W_REG,.W_REG,.NZCV_IMM,.COND}, {.RN,.RM,.NZCV_FIELD,.COND_HI}, 0x3A400000, 0xFFE00C10, .BASE, {sets_flags=true} }, { .CCMN_REG, {.X_REG,.X_REG,.NZCV_IMM,.COND}, {.RN,.RM,.NZCV_FIELD,.COND_HI}, 0xBA400000, 0xFFE00C10, .BASE, {sets_flags=true, is_64=true} }, + // .CCMN_IMM + { .CCMN_IMM, {.W_REG,.IMM_5,.NZCV_IMM,.COND}, {.RN,.IMM5_HI,.NZCV_FIELD,.COND_HI}, 0x3A400800, 0xFFE00C10, .BASE, {sets_flags=true} }, + { .CCMN_IMM, {.X_REG,.IMM_5,.NZCV_IMM,.COND}, {.RN,.IMM5_HI,.NZCV_FIELD,.COND_HI}, 0xBA400800, 0xFFE00C10, .BASE, {sets_flags=true, is_64=true} }, // .EXTR { .EXTR, {.W_REG,.W_REG,.W_REG,.IMM_6}, {.RD,.RN,.RM,.IMM6}, 0x13800000, 0xFFE08000, .BASE, {} }, { .EXTR, {.X_REG,.X_REG,.X_REG,.IMM_6}, {.RD,.RN,.RM,.IMM6}, 0x93C00000, 0xFFE08000, .BASE, {is_64=true} }, @@ -250,8 +256,12 @@ ENCODE_FORMS := [2219]lib.Encoding{ { .SEV, {.NONE,.NONE,.NONE,.NONE}, {.NONE,.NONE,.NONE,.NONE}, 0xD503209F, 0xFFFFFFFF, .BASE, {} }, // .SEVL { .SEVL, {.NONE,.NONE,.NONE,.NONE}, {.NONE,.NONE,.NONE,.NONE}, 0xD50320BF, 0xFFFFFFFF, .BASE, {} }, + // .HINT + { .HINT, {.IMM_8,.NONE,.NONE,.NONE}, {.HINT_FIELD,.NONE,.NONE,.NONE}, 0xD503201F, 0xFFFFF01F, .BASE, {} }, // .MRS { .MRS, {.X_REG,.SYS_REG,.NONE,.NONE}, {.RT,.SYS_FIELD,.NONE,.NONE}, 0xD5300000, 0xFFF00000, .BASE, {} }, + // .MSR_IMM + { .MSR_IMM, {.SYS_REG,.IMM_4,.NONE,.NONE}, {.MSR_PSTATE,.BARRIER_FIELD,.NONE,.NONE}, 0xD500401F, 0xFFF8F01F, .BASE, {} }, // .MSR_REG { .MSR_REG, {.SYS_REG,.X_REG,.NONE,.NONE}, {.SYS_FIELD,.RT,.NONE,.NONE}, 0xD5100000, 0xFFF00000, .BASE, {} }, // .ISB @@ -1463,6 +1473,9 @@ ENCODE_FORMS := [2219]lib.Encoding{ // .UDOT { .UDOT, {.V_2S,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E809400, 0xFFE0FC00, .DOT, {} }, { .UDOT, {.V_4S,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E809400, 0xFFE0FC00, .DOT, {} }, + // .USDOT + { .USDOT, {.V_2S,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E809C00, 0xFFE0FC00, .DOT, {} }, + { .USDOT, {.V_4S,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E809C00, 0xFFE0FC00, .DOT, {} }, // .FADD_V { .FADD_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E20D400, 0xFFE0FC00, .NEON, {} }, { .FADD_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E20D400, 0xFFE0FC00, .NEON, {} }, @@ -3288,1073 +3301,1073 @@ ENCODE_RUNS := [lib.Mnemonic]lib.Encode_Run{ .CSINV = { 85, 2}, .CSNEG = { 87, 2}, .CCMP_REG = { 89, 2}, - .CCMP_IMM = { 91, 0}, - .CCMN_REG = { 91, 2}, - .CCMN_IMM = { 93, 0}, - .EXTR = { 93, 2}, - .B = { 95, 1}, - .BL = { 96, 1}, - .BR = { 97, 1}, - .BLR = { 98, 1}, - .RET = { 99, 2}, - .B_COND = { 101, 1}, - .CBZ = { 102, 2}, - .CBNZ = { 104, 2}, - .TBZ = { 106, 1}, - .TBNZ = { 107, 1}, - .LDR = { 108, 2}, - .STR = { 110, 2}, - .LDRB = { 112, 1}, - .STRB = { 113, 1}, - .LDRSB = { 114, 2}, - .LDRH = { 116, 1}, - .STRH = { 117, 1}, - .LDRSH = { 118, 2}, - .LDRSW = { 120, 1}, - .LDP = { 121, 2}, - .STP = { 123, 2}, - .LDPSW = { 125, 1}, - .LDR_LIT = { 126, 2}, - .LDAR = { 128, 2}, - .STLR = { 130, 2}, - .LDARB = { 132, 1}, - .STLRB = { 133, 1}, - .LDARH = { 134, 1}, - .STLRH = { 135, 1}, - .LDXR = { 136, 2}, - .STXR = { 138, 2}, - .LDAXR = { 140, 2}, - .STLXR = { 142, 2}, - .NOP = { 144, 1}, - .YIELD = { 145, 1}, - .WFE = { 146, 1}, - .WFI = { 147, 1}, - .SEV = { 148, 1}, - .SEVL = { 149, 1}, - .HINT = { 150, 0}, - .MRS = { 150, 1}, - .MSR_IMM = { 151, 0}, - .MSR_REG = { 151, 1}, - .ISB = { 152, 1}, - .DSB = { 153, 1}, - .DMB = { 154, 1}, - .SVC = { 155, 1}, - .HVC = { 156, 1}, - .SMC = { 157, 1}, - .BRK = { 158, 1}, - .HLT = { 159, 1}, - .ERET = { 160, 1}, - .FMOV_REG = { 161, 2}, - .FMOV_IMM = { 163, 0}, - .FMOV_GEN = { 163, 4}, - .FABS = { 167, 2}, - .FNEG = { 169, 2}, - .FSQRT = { 171, 2}, - .FADD = { 173, 2}, - .FSUB = { 175, 2}, - .FMUL = { 177, 2}, - .FDIV = { 179, 2}, - .FNMUL = { 181, 2}, - .FMADD = { 183, 2}, - .FMSUB = { 185, 2}, - .FNMADD = { 187, 2}, - .FNMSUB = { 189, 2}, - .FCMP = { 191, 2}, - .FCMPE = { 193, 2}, - .FCSEL = { 195, 2}, - .FMAX = { 197, 2}, - .FMIN = { 199, 2}, - .FMAXNM = { 201, 2}, - .FMINNM = { 203, 2}, - .FCVT = { 205, 2}, - .SCVTF = { 207, 4}, - .UCVTF = { 211, 4}, - .FCVTZS = { 215, 4}, - .FCVTZU = { 219, 4}, - .FCVTAS = { 223, 6}, - .FCVTAU = { 229, 6}, - .FCVTNS = { 235, 6}, - .FCVTNU = { 241, 6}, - .FCVTPS = { 247, 6}, - .FCVTPU = { 253, 6}, - .FCVTMS = { 259, 6}, - .FCVTMU = { 265, 6}, - .FRINTA = { 271, 3}, - .FRINTI = { 274, 3}, - .FRINTM = { 277, 3}, - .FRINTN = { 280, 3}, - .FRINTP = { 283, 3}, - .FRINTX = { 286, 3}, - .FRINTZ = { 289, 3}, - .AND_IMM = { 292, 2}, - .ANDS_IMM = { 294, 2}, - .ORR_IMM = { 296, 2}, - .EOR_IMM = { 298, 2}, - .TST_IMM = { 300, 2}, - .LDUR = { 302, 2}, - .STUR = { 304, 2}, - .LDURB = { 306, 1}, - .STURB = { 307, 1}, - .LDURSB = { 308, 2}, - .LDURH = { 310, 1}, - .STURH = { 311, 1}, - .LDURSH = { 312, 2}, - .LDURSW = { 314, 1}, - .LDR_PRE = { 315, 2}, - .STR_PRE = { 317, 2}, - .LDR_POST = { 319, 2}, - .STR_POST = { 321, 2}, - .LDRB_PRE = { 323, 0}, - .STRB_PRE = { 323, 0}, - .LDRB_POST = { 323, 0}, - .STRB_POST = { 323, 0}, - .LDRH_PRE = { 323, 0}, - .STRH_PRE = { 323, 0}, - .LDRH_POST = { 323, 0}, - .STRH_POST = { 323, 0}, - .LDR_REG = { 323, 2}, - .STR_REG = { 325, 2}, - .LDRB_REG = { 327, 0}, - .STRB_REG = { 327, 0}, - .LDRH_REG = { 327, 0}, - .STRH_REG = { 327, 0}, - .LDRSB_REG = { 327, 0}, - .LDRSH_REG = { 327, 0}, - .LDRSW_REG = { 327, 0}, - .LDP_PRE = { 327, 2}, - .STP_PRE = { 329, 2}, - .LDP_POST = { 331, 2}, - .STP_POST = { 333, 2}, - .LDPSW_PRE = { 335, 1}, - .LDPSW_POST = { 336, 1}, - .LDNP = { 337, 2}, - .STNP = { 339, 2}, - .LDXP = { 341, 2}, - .STXP = { 343, 2}, - .LDAXP = { 345, 2}, - .STLXP = { 347, 2}, - .LDXRB = { 349, 1}, - .STXRB = { 350, 1}, - .LDAXRB = { 351, 1}, - .STLXRB = { 352, 1}, - .LDXRH = { 353, 1}, - .STXRH = { 354, 1}, - .LDAXRH = { 355, 1}, - .STLXRH = { 356, 1}, - .LDARB_X = { 357, 0}, - .STLRB_X = { 357, 0}, - .LDARH_X = { 357, 0}, - .STLRH_X = { 357, 0}, - .LDAPR = { 357, 2}, - .LDAPRB = { 359, 1}, - .LDAPRH = { 360, 1}, - .LDADD = { 361, 2}, - .LDADDA = { 363, 2}, - .LDADDL = { 365, 2}, - .LDADDAL = { 367, 2}, - .LDCLR = { 369, 2}, - .LDCLRA = { 371, 2}, - .LDCLRL = { 373, 2}, - .LDCLRAL = { 375, 2}, - .LDEOR = { 377, 2}, - .LDEORA = { 379, 2}, - .LDEORL = { 381, 2}, - .LDEORAL = { 383, 2}, - .LDSET = { 385, 2}, - .LDSETA = { 387, 2}, - .LDSETL = { 389, 2}, - .LDSETAL = { 391, 2}, - .LDSMAX = { 393, 2}, - .LDSMAXA = { 395, 2}, - .LDSMAXL = { 397, 2}, - .LDSMAXAL = { 399, 2}, - .LDSMIN = { 401, 2}, - .LDSMINA = { 403, 2}, - .LDSMINL = { 405, 2}, - .LDSMINAL = { 407, 2}, - .LDUMAX = { 409, 2}, - .LDUMAXA = { 411, 2}, - .LDUMAXL = { 413, 2}, - .LDUMAXAL = { 415, 2}, - .LDUMIN = { 417, 2}, - .LDUMINA = { 419, 2}, - .LDUMINL = { 421, 2}, - .LDUMINAL = { 423, 2}, - .SWP = { 425, 2}, - .SWPA = { 427, 2}, - .SWPL = { 429, 2}, - .SWPAL = { 431, 2}, - .CAS = { 433, 2}, - .CASA = { 435, 2}, - .CASL = { 437, 2}, - .CASAL = { 439, 2}, - .CASB = { 441, 1}, - .CASAB = { 442, 1}, - .CASLB = { 443, 1}, - .CASALB = { 444, 1}, - .CASH = { 445, 1}, - .CASAH = { 446, 1}, - .CASLH = { 447, 1}, - .CASALH = { 448, 1}, - .CASP = { 449, 2}, - .CASPA = { 451, 2}, - .CASPL = { 453, 2}, - .CASPAL = { 455, 2}, - .PACIA = { 457, 1}, - .PACIB = { 458, 1}, - .PACDA = { 459, 1}, - .PACDB = { 460, 1}, - .PACIZA = { 461, 1}, - .PACIZB = { 462, 1}, - .PACDZA = { 463, 1}, - .PACDZB = { 464, 1}, - .AUTIA = { 465, 1}, - .AUTIB = { 466, 1}, - .AUTDA = { 467, 1}, - .AUTDB = { 468, 1}, - .AUTIZA = { 469, 1}, - .AUTIZB = { 470, 1}, - .AUTDZA = { 471, 1}, - .AUTDZB = { 472, 1}, - .PACIASP = { 473, 1}, - .PACIBSP = { 474, 1}, - .AUTIASP = { 475, 1}, - .AUTIBSP = { 476, 1}, - .PACIA1716 = { 477, 1}, - .PACIB1716 = { 478, 1}, - .AUTIA1716 = { 479, 1}, - .AUTIB1716 = { 480, 1}, - .PACGA = { 481, 1}, - .XPACI = { 482, 1}, - .XPACD = { 483, 1}, - .XPACLRI = { 484, 1}, - .RETAA = { 485, 1}, - .RETAB = { 486, 1}, - .BRAA = { 487, 1}, - .BRAB = { 488, 1}, - .BRAAZ = { 489, 1}, - .BRABZ = { 490, 1}, - .BLRAA = { 491, 1}, - .BLRAB = { 492, 1}, - .BLRAAZ = { 493, 1}, - .BLRABZ = { 494, 1}, - .ERETAA = { 495, 1}, - .ERETAB = { 496, 1}, - .BTI = { 497, 1}, - .IRG = { 498, 1}, - .ADDG = { 499, 1}, - .SUBG = { 500, 1}, - .GMI = { 501, 1}, - .SUBP = { 502, 1}, - .SUBPS = { 503, 1}, - .LDG = { 504, 1}, - .STG = { 505, 1}, - .ST2G = { 506, 1}, - .STZG = { 507, 1}, - .STZ2G = { 508, 1}, - .STGP = { 509, 1}, - .LDGM = { 510, 1}, - .STGM = { 511, 1}, - .STZGM = { 512, 1}, - .CRC32B = { 513, 1}, - .CRC32H = { 514, 1}, - .CRC32W = { 515, 1}, - .CRC32X = { 516, 1}, - .CRC32CB = { 517, 1}, - .CRC32CH = { 518, 1}, - .CRC32CW = { 519, 1}, - .CRC32CX = { 520, 1}, - .AESE = { 521, 1}, - .AESD = { 522, 1}, - .AESMC = { 523, 1}, - .AESIMC = { 524, 1}, - .SHA1H = { 525, 1}, - .SHA1C = { 526, 1}, - .SHA1P = { 527, 1}, - .SHA1M = { 528, 1}, - .SHA1SU0 = { 529, 1}, - .SHA1SU1 = { 530, 1}, - .SHA256H = { 531, 1}, - .SHA256H2 = { 532, 1}, - .SHA256SU0 = { 533, 1}, - .SHA256SU1 = { 534, 1}, - .SHA512H = { 535, 1}, - .SHA512H2 = { 536, 1}, - .SHA512SU0 = { 537, 1}, - .SHA512SU1 = { 538, 1}, - .EOR3 = { 539, 1}, - .BCAX = { 540, 1}, - .RAX1 = { 541, 1}, - .XAR = { 542, 1}, - .SM3PARTW1 = { 543, 1}, - .SM3PARTW2 = { 544, 1}, - .SM3SS1 = { 545, 1}, - .SM3TT1A = { 546, 1}, - .SM3TT1B = { 547, 1}, - .SM3TT2A = { 548, 1}, - .SM3TT2B = { 549, 1}, - .SM4E = { 550, 1}, - .SM4EKEY = { 551, 1}, - .PMULL = { 552, 2}, - .PMULL2 = { 554, 2}, - .FABS_H = { 556, 1}, - .FNEG_H = { 557, 1}, - .FSQRT_H = { 558, 1}, - .FADD_H = { 559, 1}, - .FSUB_H = { 560, 1}, - .FMUL_H = { 561, 1}, - .FDIV_H = { 562, 1}, - .FNMUL_H = { 563, 1}, - .FMADD_H = { 564, 1}, - .FMSUB_H = { 565, 1}, - .FNMADD_H = { 566, 1}, - .FNMSUB_H = { 567, 1}, - .FCMP_H = { 568, 1}, - .FCMPE_H = { 569, 1}, - .FCSEL_H = { 570, 1}, - .FMAX_H = { 571, 1}, - .FMIN_H = { 572, 1}, - .FMAXNM_H = { 573, 1}, - .FMINNM_H = { 574, 1}, - .FCVT_H_S = { 575, 1}, - .FCVT_H_D = { 576, 1}, - .FCVT_S_H = { 577, 1}, - .FCVT_D_H = { 578, 1}, - .FMOV_H = { 579, 1}, - .SCVTF_H = { 580, 1}, - .UCVTF_H = { 581, 1}, - .FCVTZS_H = { 582, 1}, - .FCVTZU_H = { 583, 1}, - .BFCVT = { 584, 1}, - .BFDOT = { 585, 1}, - .BFMMLA = { 586, 1}, - .BFMLALB = { 587, 1}, - .BFMLALT = { 588, 1}, - .BFCVTN = { 589, 1}, - .BFCVTN2 = { 590, 1}, - .ADD_V = { 591, 7}, - .SUB_V = { 598, 4}, - .MUL_V = { 602, 3}, - .MLA_V = { 605, 6}, - .MLS_V = { 611, 6}, - .NEG_V = { 617, 7}, - .ABS_V = { 624, 7}, - .SHADD = { 631, 6}, - .UHADD = { 637, 6}, - .SHSUB = { 643, 6}, - .UHSUB = { 649, 6}, - .SRHADD = { 655, 6}, - .URHADD = { 661, 6}, - .SQADD = { 667, 7}, - .UQADD = { 674, 7}, - .SQSUB = { 681, 7}, - .UQSUB = { 688, 7}, - .SMAX = { 695, 6}, - .UMAX = { 701, 6}, - .SMIN = { 707, 6}, - .UMIN = { 713, 6}, - .SABD = { 719, 6}, - .UABD = { 725, 6}, - .SABA = { 731, 6}, - .UABA = { 737, 6}, - .ADDP_V = { 743, 7}, - .ADDV = { 750, 5}, - .SADDLP = { 755, 6}, - .UADDLP = { 761, 6}, - .SADALP = { 767, 6}, - .UADALP = { 773, 6}, - .SADDLV = { 779, 5}, - .UADDLV = { 784, 5}, - .SMAXV = { 789, 5}, - .UMAXV = { 794, 5}, - .SMINV = { 799, 5}, - .UMINV = { 804, 5}, - .SMAXP = { 809, 6}, - .UMAXP = { 815, 6}, - .SMINP = { 821, 6}, - .UMINP = { 827, 6}, - .SADDL = { 833, 3}, - .SADDL2 = { 836, 3}, - .UADDL = { 839, 3}, - .UADDL2 = { 842, 3}, - .SSUBL = { 845, 3}, - .SSUBL2 = { 848, 3}, - .USUBL = { 851, 3}, - .USUBL2 = { 854, 3}, - .SADDW = { 857, 3}, - .SADDW2 = { 860, 3}, - .UADDW = { 863, 3}, - .UADDW2 = { 866, 3}, - .SSUBW = { 869, 3}, - .SSUBW2 = { 872, 3}, - .USUBW = { 875, 3}, - .USUBW2 = { 878, 3}, - .RADDHN = { 881, 3}, - .RADDHN2 = { 884, 3}, - .RSUBHN = { 887, 3}, - .RSUBHN2 = { 890, 3}, - .ADDHN = { 893, 3}, - .ADDHN2 = { 896, 3}, - .SUBHN = { 899, 3}, - .SUBHN2 = { 902, 3}, - .XTN = { 905, 3}, - .XTN2 = { 908, 3}, - .SQXTN = { 911, 3}, - .SQXTN2 = { 914, 3}, - .UQXTN = { 917, 3}, - .UQXTN2 = { 920, 3}, - .SQXTUN = { 923, 3}, - .SQXTUN2 = { 926, 3}, - .SMULL_V = { 929, 3}, - .SMULL2_V = { 932, 3}, - .UMULL_V = { 935, 3}, - .UMULL2_V = { 938, 3}, - .SMLAL = { 941, 3}, - .SMLAL2 = { 944, 3}, - .UMLAL = { 947, 3}, - .UMLAL2 = { 950, 3}, - .SMLSL = { 953, 3}, - .SMLSL2 = { 956, 3}, - .UMLSL = { 959, 3}, - .UMLSL2 = { 962, 3}, - .SQDMULL = { 965, 2}, - .SQDMULL2 = { 967, 2}, - .SQDMLAL = { 969, 2}, - .SQDMLAL2 = { 971, 2}, - .SQDMLSL = { 973, 2}, - .SQDMLSL2 = { 975, 2}, - .SQDMULH = { 977, 4}, - .SQRDMULH = { 981, 4}, - .SDOT = { 985, 2}, - .UDOT = { 987, 2}, - .USDOT = { 989, 0}, - .FADD_V = { 989, 3}, - .FSUB_V = { 992, 3}, - .FMUL_V = { 995, 3}, - .FDIV_V = { 998, 3}, - .FNEG_V = { 1001, 5}, - .FABS_V = { 1006, 5}, - .FSQRT_V = { 1011, 5}, - .FMLA_V = { 1016, 2}, - .FMLS_V = { 1018, 2}, - .FMULX = { 1020, 5}, - .FMAX_V = { 1025, 5}, - .FMIN_V = { 1030, 5}, - .FMAXNM_V = { 1035, 5}, - .FMINNM_V = { 1040, 5}, - .FMAXP_V = { 1045, 5}, - .FMINP_V = { 1050, 5}, - .FMAXNMP = { 1055, 5}, - .FMINNMP = { 1060, 5}, - .FMAXV_V = { 1065, 3}, - .FMINV_V = { 1068, 3}, - .FMAXNMV = { 1071, 3}, - .FMINNMV = { 1074, 3}, - .FRECPE = { 1077, 5}, - .FRSQRTE = { 1082, 5}, - .FRECPS = { 1087, 5}, - .FRSQRTS = { 1092, 5}, - .FRECPX = { 1097, 3}, - .FADDP_V = { 1100, 5}, - .FRINTA_V = { 1105, 5}, - .FRINTI_V = { 1110, 5}, - .FRINTM_V = { 1115, 5}, - .FRINTN_V = { 1120, 5}, - .FRINTP_V = { 1125, 5}, - .FRINTX_V = { 1130, 5}, - .FRINTZ_V = { 1135, 5}, - .SCVTF_V = { 1140, 5}, - .UCVTF_V = { 1145, 5}, - .FCVTAS_V = { 1150, 5}, - .FCVTAU_V = { 1155, 5}, - .FCVTMS_V = { 1160, 5}, - .FCVTMU_V = { 1165, 5}, - .FCVTNS_V = { 1170, 5}, - .FCVTNU_V = { 1175, 5}, - .FCVTPS_V = { 1180, 5}, - .FCVTPU_V = { 1185, 5}, - .FCVTZS_V = { 1190, 5}, - .FCVTZU_V = { 1195, 5}, - .FCVTL = { 1200, 2}, - .FCVTL2 = { 1202, 2}, - .FCVTN = { 1204, 2}, - .FCVTN2 = { 1206, 2}, - .FCVTXN = { 1208, 1}, - .FCVTXN2 = { 1209, 1}, - .FCMEQ = { 1210, 5}, - .FCMGE = { 1215, 5}, - .FCMGT = { 1220, 5}, - .FCMLE = { 1225, 5}, - .FCMLT = { 1230, 5}, - .FACGE = { 1235, 5}, - .FACGT = { 1240, 5}, - .CMEQ = { 1245, 4}, - .CMGE = { 1249, 7}, - .CMGT = { 1256, 2}, - .CMHI = { 1258, 2}, - .CMHS = { 1260, 7}, - .CMLE = { 1267, 7}, - .CMLT = { 1274, 7}, - .CMTST = { 1281, 7}, - .AND_V = { 1288, 1}, - .ORR_V = { 1289, 1}, - .EOR_V = { 1290, 1}, - .BIC_V = { 1291, 1}, - .ORN_V = { 1292, 1}, - .MVN_V = { 1293, 2}, - .BIT = { 1295, 1}, - .BIF = { 1296, 1}, - .BSL = { 1297, 1}, - .SHL_V = { 1298, 7}, - .SQSHL_V = { 1305, 7}, - .SQSHLU = { 1312, 7}, - .SRSHL = { 1319, 7}, - .URSHL = { 1326, 7}, - .SSHR = { 1333, 7}, - .USHR = { 1340, 7}, - .SSRA = { 1347, 7}, - .USRA = { 1354, 7}, - .SRSHR = { 1361, 7}, - .URSHR = { 1368, 7}, - .SRSRA = { 1375, 7}, - .URSRA = { 1382, 7}, - .SSHL = { 1389, 7}, - .USHL = { 1396, 7}, - .SLI = { 1403, 7}, - .SRI = { 1410, 7}, - .SSHLL = { 1417, 3}, - .SSHLL2 = { 1420, 3}, - .USHLL = { 1423, 3}, - .USHLL2 = { 1426, 3}, - .SXTL = { 1429, 3}, - .SXTL2 = { 1432, 3}, - .UXTL = { 1435, 3}, - .UXTL2 = { 1438, 3}, - .SHRN = { 1441, 3}, - .SHRN2 = { 1444, 3}, - .RSHRN = { 1447, 3}, - .RSHRN2 = { 1450, 3}, - .SQSHRN = { 1453, 3}, - .SQSHRN2 = { 1456, 3}, - .UQSHRN = { 1459, 3}, - .UQSHRN2 = { 1462, 3}, - .SQRSHRN = { 1465, 3}, - .SQRSHRN2 = { 1468, 3}, - .UQRSHRN = { 1471, 3}, - .UQRSHRN2 = { 1474, 3}, - .SQSHRUN = { 1477, 3}, - .SQSHRUN2 = { 1480, 3}, - .SQRSHRUN = { 1483, 3}, - .SQRSHRUN2 = { 1486, 3}, - .DUP_V = { 1489, 14}, - .INS = { 1503, 8}, - .MOV_V = { 1511, 2}, - .EXT_V = { 1513, 2}, - .TBL = { 1515, 0}, - .TBX = { 1515, 0}, - .ZIP1 = { 1515, 7}, - .ZIP2 = { 1522, 7}, - .UZP1 = { 1529, 7}, - .UZP2 = { 1536, 7}, - .TRN1 = { 1543, 7}, - .TRN2 = { 1550, 7}, - .NOT_V = { 1557, 2}, - .RBIT_V = { 1559, 2}, - .REV16_V = { 1561, 2}, - .REV32_V = { 1563, 4}, - .REV64 = { 1567, 6}, - .CLS_V = { 1573, 6}, - .CLZ_V = { 1579, 6}, - .CNT = { 1585, 2}, - .URECPE_V = { 1587, 2}, - .URSQRTE_V = { 1589, 2}, - .MOVI = { 1591, 0}, - .MVNI = { 1591, 0}, - .FMOV_V_IMM = { 1591, 0}, - .LD1 = { 1591, 4}, - .LD2 = { 1595, 0}, - .LD3 = { 1595, 0}, - .LD4 = { 1595, 0}, - .ST1 = { 1595, 4}, - .ST2 = { 1599, 0}, - .ST3 = { 1599, 0}, - .ST4 = { 1599, 0}, - .LD1R = { 1599, 0}, - .LD2R = { 1599, 0}, - .LD3R = { 1599, 0}, - .LD4R = { 1599, 0}, - .LD1_LANE = { 1599, 0}, - .LD2_LANE = { 1599, 0}, - .LD3_LANE = { 1599, 0}, - .LD4_LANE = { 1599, 0}, - .ST1_LANE = { 1599, 0}, - .ST2_LANE = { 1599, 0}, - .ST3_LANE = { 1599, 0}, - .ST4_LANE = { 1599, 0}, - .LDR_V = { 1599, 5}, - .STR_V = { 1604, 5}, - .LDP_V = { 1609, 0}, - .STP_V = { 1609, 0}, - .LDUR_V = { 1609, 0}, - .STUR_V = { 1609, 0}, - .SVE_ADD_Z = { 1609, 4}, - .SVE_SUB_Z = { 1613, 4}, - .SVE_SQADD_Z = { 1617, 4}, - .SVE_UQADD_Z = { 1621, 4}, - .SVE_SQSUB_Z = { 1625, 4}, - .SVE_UQSUB_Z = { 1629, 4}, - .SVE_ADD_PRED = { 1633, 4}, - .SVE_SUB_PRED = { 1637, 4}, - .SVE_SUBR_PRED = { 1641, 4}, - .SVE_MUL_PRED = { 1645, 4}, - .SVE_SMULH_PRED = { 1649, 4}, - .SVE_UMULH_PRED = { 1653, 4}, - .SVE_SDIV_PRED = { 1657, 2}, - .SVE_UDIV_PRED = { 1659, 2}, - .SVE_SMAX_PRED = { 1661, 4}, - .SVE_UMAX_PRED = { 1665, 4}, - .SVE_SMIN_PRED = { 1669, 4}, - .SVE_UMIN_PRED = { 1673, 4}, - .SVE_SABD_PRED = { 1677, 4}, - .SVE_UABD_PRED = { 1681, 4}, - .SVE_AND_PRED = { 1685, 1}, - .SVE_ORR_PRED = { 1686, 1}, - .SVE_EOR_PRED = { 1687, 1}, - .SVE_BIC_PRED = { 1688, 1}, - .SVE_ASR_PRED = { 1689, 4}, - .SVE_LSL_PRED = { 1693, 4}, - .SVE_LSR_PRED = { 1697, 4}, - .SVE_ASRR_PRED = { 1701, 0}, - .SVE_LSLR_PRED = { 1701, 0}, - .SVE_LSRR_PRED = { 1701, 0}, - .SVE_ABS_PRED = { 1701, 4}, - .SVE_NEG_PRED = { 1705, 4}, - .SVE_CLS_PRED = { 1709, 4}, - .SVE_CLZ_PRED = { 1713, 4}, - .SVE_CNT_PRED = { 1717, 4}, - .SVE_MOV_PRED = { 1721, 0}, - .SVE_FADD_Z = { 1721, 3}, - .SVE_FSUB_Z = { 1724, 3}, - .SVE_FMUL_Z = { 1727, 3}, - .SVE_FRECPS = { 1730, 3}, - .SVE_FRSQRTS = { 1733, 3}, - .SVE_FTSMUL = { 1736, 3}, - .SVE_FADD_PRED = { 1739, 3}, - .SVE_FSUB_PRED = { 1742, 3}, - .SVE_FSUBR_PRED = { 1745, 0}, - .SVE_FMUL_PRED = { 1745, 3}, - .SVE_FDIV_PRED = { 1748, 3}, - .SVE_FDIVR_PRED = { 1751, 0}, - .SVE_FMAX_PRED = { 1751, 3}, - .SVE_FMIN_PRED = { 1754, 3}, - .SVE_FMAXNM_PRED = { 1757, 3}, - .SVE_FMINNM_PRED = { 1760, 3}, - .SVE_FABS_Z = { 1763, 3}, - .SVE_FNEG_Z = { 1766, 3}, - .SVE_FSQRT_Z = { 1769, 3}, - .SVE_FRECPX_Z = { 1772, 0}, - .SVE_FRINTN = { 1772, 0}, - .SVE_FRINTP = { 1772, 0}, - .SVE_FRINTM = { 1772, 0}, - .SVE_FRINTZ = { 1772, 0}, - .SVE_FRINTA = { 1772, 0}, - .SVE_FRINTX = { 1772, 0}, - .SVE_FRINTI = { 1772, 0}, - .SVE_FMLA = { 1772, 3}, - .SVE_FMLS = { 1775, 3}, - .SVE_FNMLA = { 1778, 3}, - .SVE_FNMLS = { 1781, 3}, - .SVE_AND_P = { 1784, 1}, - .SVE_BIC_P = { 1785, 1}, - .SVE_ORR_P = { 1786, 1}, - .SVE_EOR_P = { 1787, 1}, - .SVE_NAND_P = { 1788, 1}, - .SVE_NOR_P = { 1789, 1}, - .SVE_ORN_P = { 1790, 1}, - .SVE_SEL_P = { 1791, 1}, - .SVE_ANDS_P = { 1792, 1}, - .SVE_BICS_P = { 1793, 1}, - .SVE_ORRS_P = { 1794, 1}, - .SVE_EORS_P = { 1795, 1}, - .SVE_NANDS_P = { 1796, 0}, - .SVE_NORS_P = { 1796, 0}, - .SVE_ORNS_P = { 1796, 0}, - .SVE_NOT_P = { 1796, 0}, - .SVE_MOV_P = { 1796, 0}, - .SVE_MOVS_P = { 1796, 0}, - .SVE_PTRUE = { 1796, 1}, - .SVE_PTRUES = { 1797, 1}, - .SVE_PFALSE = { 1798, 1}, - .SVE_PFIRST = { 1799, 1}, - .SVE_PNEXT = { 1800, 1}, - .SVE_BRKA = { 1801, 0}, - .SVE_BRKB = { 1801, 0}, - .SVE_BRKAS = { 1801, 0}, - .SVE_BRKBS = { 1801, 0}, - .SVE_BRKPA = { 1801, 0}, - .SVE_BRKPB = { 1801, 0}, - .SVE_BRKN = { 1801, 0}, - .SVE_RDFFR = { 1801, 0}, - .SVE_WRFFR = { 1801, 0}, - .SVE_SETFFR = { 1801, 0}, - .SVE_CMPEQ = { 1801, 4}, - .SVE_CMPNE = { 1805, 4}, - .SVE_CMPGE = { 1809, 4}, - .SVE_CMPGT = { 1813, 4}, - .SVE_CMPLE = { 1817, 0}, - .SVE_CMPLT = { 1817, 0}, - .SVE_CMPHI = { 1817, 4}, - .SVE_CMPHS = { 1821, 4}, - .SVE_CMPLO = { 1825, 0}, - .SVE_CMPLS = { 1825, 0}, - .SVE_FCMEQ = { 1825, 0}, - .SVE_FCMNE = { 1825, 0}, - .SVE_FCMGE = { 1825, 0}, - .SVE_FCMGT = { 1825, 0}, - .SVE_FCMLE = { 1825, 0}, - .SVE_FCMLT = { 1825, 0}, - .SVE_FCMUO = { 1825, 0}, - .SVE_DUP_Z = { 1825, 4}, - .SVE_INSR = { 1829, 0}, - .SVE_REV_Z = { 1829, 4}, - .SVE_REV_P = { 1833, 1}, - .SVE_TBL = { 1834, 4}, - .SVE_ZIP1_Z = { 1838, 4}, - .SVE_ZIP2_Z = { 1842, 4}, - .SVE_UZP1_Z = { 1846, 4}, - .SVE_UZP2_Z = { 1850, 4}, - .SVE_TRN1_Z = { 1854, 4}, - .SVE_TRN2_Z = { 1858, 4}, - .SVE_ZIP1_P = { 1862, 1}, - .SVE_ZIP2_P = { 1863, 1}, - .SVE_UZP1_P = { 1864, 1}, - .SVE_UZP2_P = { 1865, 1}, - .SVE_TRN1_P = { 1866, 1}, - .SVE_TRN2_P = { 1867, 1}, - .SVE_CPY_Z = { 1868, 0}, - .SVE_COMPACT = { 1868, 0}, - .SVE_EXT_Z = { 1868, 0}, - .SVE_LD1B = { 1868, 1}, - .SVE_LD1H = { 1869, 1}, - .SVE_LD1W = { 1870, 1}, - .SVE_LD1D = { 1871, 1}, - .SVE_LD1SB = { 1872, 1}, - .SVE_LD1SH = { 1873, 1}, - .SVE_LD1SW = { 1874, 1}, - .SVE_ST1B = { 1875, 1}, - .SVE_ST1H = { 1876, 1}, - .SVE_ST1W = { 1877, 1}, - .SVE_ST1D = { 1878, 1}, - .SVE_LDR_Z = { 1879, 1}, - .SVE_STR_Z = { 1880, 1}, - .SVE_LDR_P = { 1881, 1}, - .SVE_STR_P = { 1882, 1}, - .SVE_LDFF1B = { 1883, 1}, - .SVE_LDFF1H = { 1884, 1}, - .SVE_LDFF1W = { 1885, 1}, - .SVE_LDFF1D = { 1886, 1}, - .SVE_WHILEGE = { 1887, 1}, - .SVE_WHILEGT = { 1888, 1}, - .SVE_WHILELE = { 1889, 1}, - .SVE_WHILELT = { 1890, 1}, - .SVE_WHILEHI = { 1891, 1}, - .SVE_WHILEHS = { 1892, 1}, - .SVE_WHILELO = { 1893, 1}, - .SVE_WHILELS = { 1894, 1}, - .SVE_SQRDMLAH = { 1895, 4}, - .SVE_SQRDMLSH = { 1899, 4}, - .SVE_ADCLB = { 1903, 2}, - .SVE_ADCLT = { 1905, 2}, - .SVE_SBCLB = { 1907, 2}, - .SVE_SBCLT = { 1909, 2}, - .SVE_TBL2 = { 1911, 1}, - .SVE_TBX = { 1912, 1}, - .SVE_AESE = { 1913, 1}, - .SVE_AESD = { 1914, 1}, - .SVE_AESMC = { 1915, 1}, - .SVE_AESIMC = { 1916, 1}, - .SVE_BCAX_Z = { 1917, 0}, - .SVE_XAR_Z = { 1917, 0}, - .SVE_EOR3_Z = { 1917, 0}, - .SVE_MATCH = { 1917, 2}, - .SVE_NMATCH = { 1919, 2}, - .SVE_HISTCNT = { 1921, 2}, - .SVE_HISTSEG = { 1923, 1}, - .SME_SMSTART = { 1924, 1}, - .SME_SMSTOP = { 1925, 1}, - .SME_RDSVL = { 1926, 1}, - .SME_ADDHA = { 1927, 0}, - .SME_ADDVA = { 1927, 0}, - .SME_ZERO = { 1927, 1}, - .SME_FMOPA = { 1928, 1}, - .SME_FMOPS = { 1929, 1}, - .SME_BFMOPA = { 1930, 1}, - .SME_BFMOPS = { 1931, 1}, - .SME_SMOPA = { 1932, 2}, - .SME_SMOPS = { 1934, 2}, - .SME_UMOPA = { 1936, 2}, - .SME_UMOPS = { 1938, 2}, - .SME_USMOPA = { 1940, 1}, - .SME_SUMOPA = { 1941, 1}, - .SME_MOVA_TO_Z = { 1942, 0}, - .SME_MOVA_TO_ZA = { 1942, 0}, - .SME_LD1B_ZA = { 1942, 0}, - .SME_LD1H_ZA = { 1942, 0}, - .SME_LD1W_ZA = { 1942, 0}, - .SME_LD1D_ZA = { 1942, 0}, - .SME_LD1Q_ZA = { 1942, 0}, - .SME_ST1B_ZA = { 1942, 0}, - .SME_ST1H_ZA = { 1942, 0}, - .SME_ST1W_ZA = { 1942, 0}, - .SME_ST1D_ZA = { 1942, 0}, - .SME_ST1Q_ZA = { 1942, 0}, - .SME_LDR_ZA = { 1942, 1}, - .SME_STR_ZA = { 1943, 1}, - .SVE_FMLA_IDX_H = { 1944, 1}, - .SVE_FMLA_IDX_S = { 1945, 1}, - .SVE_FMLA_IDX_D = { 1946, 1}, - .SVE_FMLS_IDX_H = { 1947, 1}, - .SVE_FMLS_IDX_S = { 1948, 1}, - .SVE_FMLS_IDX_D = { 1949, 1}, - .SVE_LD1B_GATHER_S = { 1950, 1}, - .SVE_LD1B_GATHER_D = { 1951, 1}, - .SVE_LD1H_GATHER_S = { 1952, 1}, - .SVE_LD1H_GATHER_D = { 1953, 1}, - .SVE_LD1W_GATHER_S = { 1954, 1}, - .SVE_LD1W_GATHER_D = { 1955, 1}, - .SVE_LD1D_GATHER_D = { 1956, 1}, - .SVE_LD1SB_GATHER_S = { 1957, 1}, - .SVE_LD1SB_GATHER_D = { 1958, 1}, - .SVE_LD1SH_GATHER_S = { 1959, 1}, - .SVE_LD1SH_GATHER_D = { 1960, 1}, - .SVE_LD1SW_GATHER_D = { 1961, 1}, - .SVE_ST1B_SCATTER_S = { 1962, 1}, - .SVE_ST1B_SCATTER_D = { 1963, 1}, - .SVE_ST1H_SCATTER_S = { 1964, 1}, - .SVE_ST1H_SCATTER_D = { 1965, 1}, - .SVE_ST1W_SCATTER_S = { 1966, 1}, - .SVE_ST1W_SCATTER_D = { 1967, 1}, - .SVE_ST1D_SCATTER_D = { 1968, 1}, - .SME_LD1B_TILE = { 1969, 1}, - .SME_LD1H_TILE = { 1970, 1}, - .SME_LD1W_TILE = { 1971, 1}, - .SME_LD1D_TILE = { 1972, 1}, - .SME_LD1Q_TILE = { 1973, 1}, - .SME_ST1B_TILE = { 1974, 1}, - .SME_ST1H_TILE = { 1975, 1}, - .SME_ST1W_TILE = { 1976, 1}, - .SME_ST1D_TILE = { 1977, 1}, - .SME_ST1Q_TILE = { 1978, 1}, - .SME_MOVA_Z_FROM_TILE = { 1979, 1}, - .SME_MOVA_TILE_FROM_Z = { 1980, 1}, - .FCMLA_4H = { 1981, 1}, - .FCMLA_8H = { 1982, 1}, - .FCMLA_4S = { 1983, 1}, - .FCMLA_2D = { 1984, 1}, - .FCADD_4H = { 1985, 1}, - .FCADD_8H = { 1986, 1}, - .FCADD_4S = { 1987, 1}, - .FCADD_2D = { 1988, 1}, - .SVE_PRFB = { 1989, 1}, - .SVE_PRFH = { 1990, 1}, - .SVE_PRFW = { 1991, 1}, - .SVE_PRFD = { 1992, 1}, - .SVE_LDNT1B = { 1993, 1}, - .SVE_LDNT1H = { 1994, 1}, - .SVE_LDNT1W = { 1995, 1}, - .SVE_LDNT1D = { 1996, 1}, - .SVE_STNT1B = { 1997, 1}, - .SVE_STNT1H = { 1998, 1}, - .SVE_STNT1W = { 1999, 1}, - .SVE_STNT1D = { 2000, 1}, - .SVE_EXT = { 2001, 1}, - .SVE_SPLICE = { 2002, 1}, - .SVE_INDEX_II = { 2003, 1}, - .SVE_INDEX_IR = { 2004, 1}, - .SVE_INDEX_RI = { 2005, 1}, - .SVE_INDEX_RR = { 2006, 1}, - .SVE_BSL = { 2007, 1}, - .SVE_BSL1N = { 2008, 1}, - .SVE_BSL2N = { 2009, 1}, - .SVE_NBSL = { 2010, 1}, - .SVE_PMUL_VEC = { 2011, 1}, - .SVE_PMULLB = { 2012, 1}, - .SVE_PMULLT = { 2013, 1}, - .SVE_BFCVT = { 2014, 1}, - .SVE_BFCVTNT = { 2015, 1}, - .LDRAA = { 2016, 1}, - .LDRAB = { 2017, 1}, - .LDRAA_PRE = { 2018, 1}, - .LDRAB_PRE = { 2019, 1}, - .TSTART = { 2020, 1}, - .TCOMMIT = { 2021, 1}, - .TCANCEL = { 2022, 1}, - .TTEST = { 2023, 1}, - .WFET = { 2024, 1}, - .WFIT = { 2025, 1}, - .BC_COND = { 2026, 1}, - .UXTB = { 2027, 1}, - .UXTH = { 2028, 1}, - .UXTW = { 2029, 1}, - .SXTB = { 2030, 1}, - .SXTH = { 2031, 1}, - .SXTW = { 2032, 1}, - .ADC = { 2033, 2}, - .ADCS = { 2035, 2}, - .SBC = { 2037, 2}, - .SBCS = { 2039, 2}, - .NGC = { 2041, 2}, - .NGCS = { 2043, 2}, - .LDAPUR = { 2045, 2}, - .STLUR = { 2047, 2}, - .LDAPURB = { 2049, 1}, - .STLURB = { 2050, 1}, - .LDAPURH = { 2051, 1}, - .STLURH = { 2052, 1}, - .LDAPURSB = { 2053, 2}, - .LDAPURSH = { 2055, 2}, - .LDAPURSW = { 2057, 1}, - .SVE_BFADD = { 2058, 1}, - .SVE_BFSUB = { 2059, 1}, - .SVE_BFMUL = { 2060, 1}, - .SVE_BFMLA = { 2061, 1}, - .SVE_BFMLS = { 2062, 1}, - .SB = { 2063, 1}, - .CSDB = { 2064, 1}, - .DGH = { 2065, 1}, - .PSB_CSYNC = { 2066, 1}, - .TSB_CSYNC = { 2067, 1}, - .BTI_J = { 2068, 1}, - .BTI_C = { 2069, 1}, - .BTI_JC = { 2070, 1}, - .MOV_V_ALIAS = { 2071, 2}, - .NOT_V_ALIAS = { 2073, 2}, - .LSL_IMM = { 2075, 2}, - .LSR_IMM = { 2077, 2}, - .ASR_IMM = { 2079, 2}, - .ROR_IMM = { 2081, 2}, - .SVE_BFADD_UNPRED = { 2083, 1}, - .SVE_BFSUB_UNPRED = { 2084, 1}, - .SVE_BFMUL_UNPRED = { 2085, 1}, - .SVE_BFCLAMP = { 2086, 1}, - .SVE_BFMAXNM = { 2087, 1}, - .SVE_BFMINNM = { 2088, 1}, - .SME2_LUTI2_B = { 2089, 1}, - .SME2_LUTI4_B = { 2090, 1}, - .SME2_LD1B_X2 = { 2091, 1}, - .SME2_LD1H_X2 = { 2092, 1}, - .SME2_LD1W_X2 = { 2093, 1}, - .SME2_LD1D_X2 = { 2094, 1}, - .SME2_LD1B_X4 = { 2095, 1}, - .SME2_LD1H_X4 = { 2096, 1}, - .SME2_LD1W_X4 = { 2097, 1}, - .SME2_LD1D_X4 = { 2098, 1}, - .SME2_ST1B_X2 = { 2099, 1}, - .SME2_ST1H_X2 = { 2100, 1}, - .SME2_ST1W_X2 = { 2101, 1}, - .SME2_ST1D_X2 = { 2102, 1}, - .SME2_ST1B_X4 = { 2103, 1}, - .SME2_ST1H_X4 = { 2104, 1}, - .SME2_ST1W_X4 = { 2105, 1}, - .SME2_ST1D_X4 = { 2106, 1}, - .SME2_ZIP_3 = { 2107, 1}, - .SME2_ZIP_4 = { 2108, 1}, - .SME2_UZP_3 = { 2109, 1}, - .SME2_UZP_4 = { 2110, 1}, - .TLBI_RPALOS = { 2111, 1}, - .TLBI_RPAOS = { 2112, 1}, - .AT_S1E1A = { 2113, 1}, - .DC_CIPAPA = { 2114, 1}, - .DC_CIGDPAPA = { 2115, 1}, - .TLBI_PAALL = { 2116, 1}, - .TLBI_PAALLOS = { 2117, 1}, - .AMX_LDX = { 2118, 1}, - .AMX_LDY = { 2119, 1}, - .AMX_STX = { 2120, 1}, - .AMX_STY = { 2121, 1}, - .AMX_LDZ = { 2122, 1}, - .AMX_STZ = { 2123, 1}, - .AMX_LDZI = { 2124, 1}, - .AMX_STZI = { 2125, 1}, - .AMX_EXTRX = { 2126, 1}, - .AMX_EXTRY = { 2127, 1}, - .AMX_FMA64 = { 2128, 1}, - .AMX_FMS64 = { 2129, 1}, - .AMX_FMA32 = { 2130, 1}, - .AMX_FMS32 = { 2131, 1}, - .AMX_MAC16 = { 2132, 1}, - .AMX_FMA16 = { 2133, 1}, - .AMX_FMS16 = { 2134, 1}, - .AMX_SET = { 2135, 1}, - .AMX_CLR = { 2136, 1}, - .AMX_VECINT = { 2137, 1}, - .AMX_VECFP = { 2138, 1}, - .AMX_MATINT = { 2139, 1}, - .AMX_MATFP = { 2140, 1}, - .AMX_GENLUT = { 2141, 1}, - .CPYP = { 2142, 1}, - .CPYM = { 2143, 1}, - .CPYE = { 2144, 1}, - .CPYFP = { 2145, 1}, - .CPYFM = { 2146, 1}, - .CPYFE = { 2147, 1}, - .SETP = { 2148, 1}, - .SETM = { 2149, 1}, - .SETE = { 2150, 1}, - .DC_IVAC = { 2151, 1}, - .DC_ISW = { 2152, 1}, - .DC_CSW = { 2153, 1}, - .DC_CISW = { 2154, 1}, - .DC_ZVA = { 2155, 1}, - .DC_CVAC = { 2156, 1}, - .DC_CVAU = { 2157, 1}, - .DC_CIVAC = { 2158, 1}, - .IC_IALLUIS = { 2159, 1}, - .IC_IALLU = { 2160, 1}, - .IC_IVAU = { 2161, 1}, - .AT_S1E1R = { 2162, 1}, - .AT_S1E1W = { 2163, 1}, - .AT_S1E0R = { 2164, 1}, - .AT_S1E0W = { 2165, 1}, - .AT_S1E2R = { 2166, 1}, - .AT_S1E2W = { 2167, 1}, - .AT_S1E3R = { 2168, 1}, - .AT_S1E3W = { 2169, 1}, - .AT_S12E1R = { 2170, 1}, - .AT_S12E1W = { 2171, 1}, - .AT_S12E0R = { 2172, 1}, - .AT_S12E0W = { 2173, 1}, - .TLBI_VMALLE1 = { 2174, 1}, - .TLBI_VMALLE1IS = { 2175, 1}, - .TLBI_VAE1 = { 2176, 1}, - .TLBI_VAE1IS = { 2177, 1}, - .TLBI_ASIDE1 = { 2178, 1}, - .TLBI_ASIDE1IS = { 2179, 1}, - .TLBI_VAAE1 = { 2180, 1}, - .TLBI_VAAE1IS = { 2181, 1}, - .TLBI_VALE1 = { 2182, 1}, - .TLBI_VALE1IS = { 2183, 1}, - .TLBI_VAALE1 = { 2184, 1}, - .TLBI_VAALE1IS = { 2185, 1}, - .TLBI_ALLE1 = { 2186, 1}, - .TLBI_ALLE1IS = { 2187, 1}, - .TLBI_ALLE2 = { 2188, 1}, - .TLBI_ALLE2IS = { 2189, 1}, - .TLBI_ALLE3 = { 2190, 1}, - .TLBI_ALLE3IS = { 2191, 1}, - .PRFM = { 2192, 1}, - .PRFUM = { 2193, 1}, - .PRFM_LIT = { 2194, 1}, - .MOV_REG = { 2195, 2}, - .MOV_BITMASK = { 2197, 2}, - .MVN = { 2199, 2}, - .NEG_SR = { 2201, 2}, - .NEGS = { 2203, 2}, - .CMP_SR = { 2205, 2}, - .CMP_ER = { 2207, 2}, - .CMP_IMM = { 2209, 2}, - .CMN_SR = { 2211, 2}, - .CMN_ER = { 2213, 2}, - .CMN_IMM = { 2215, 2}, - .TST_SR = { 2217, 2}, + .CCMP_IMM = { 91, 2}, + .CCMN_REG = { 93, 2}, + .CCMN_IMM = { 95, 2}, + .EXTR = { 97, 2}, + .B = { 99, 1}, + .BL = { 100, 1}, + .BR = { 101, 1}, + .BLR = { 102, 1}, + .RET = { 103, 2}, + .B_COND = { 105, 1}, + .CBZ = { 106, 2}, + .CBNZ = { 108, 2}, + .TBZ = { 110, 1}, + .TBNZ = { 111, 1}, + .LDR = { 112, 2}, + .STR = { 114, 2}, + .LDRB = { 116, 1}, + .STRB = { 117, 1}, + .LDRSB = { 118, 2}, + .LDRH = { 120, 1}, + .STRH = { 121, 1}, + .LDRSH = { 122, 2}, + .LDRSW = { 124, 1}, + .LDP = { 125, 2}, + .STP = { 127, 2}, + .LDPSW = { 129, 1}, + .LDR_LIT = { 130, 2}, + .LDAR = { 132, 2}, + .STLR = { 134, 2}, + .LDARB = { 136, 1}, + .STLRB = { 137, 1}, + .LDARH = { 138, 1}, + .STLRH = { 139, 1}, + .LDXR = { 140, 2}, + .STXR = { 142, 2}, + .LDAXR = { 144, 2}, + .STLXR = { 146, 2}, + .NOP = { 148, 1}, + .YIELD = { 149, 1}, + .WFE = { 150, 1}, + .WFI = { 151, 1}, + .SEV = { 152, 1}, + .SEVL = { 153, 1}, + .HINT = { 154, 1}, + .MRS = { 155, 1}, + .MSR_IMM = { 156, 1}, + .MSR_REG = { 157, 1}, + .ISB = { 158, 1}, + .DSB = { 159, 1}, + .DMB = { 160, 1}, + .SVC = { 161, 1}, + .HVC = { 162, 1}, + .SMC = { 163, 1}, + .BRK = { 164, 1}, + .HLT = { 165, 1}, + .ERET = { 166, 1}, + .FMOV_REG = { 167, 2}, + .FMOV_IMM = { 169, 0}, + .FMOV_GEN = { 169, 4}, + .FABS = { 173, 2}, + .FNEG = { 175, 2}, + .FSQRT = { 177, 2}, + .FADD = { 179, 2}, + .FSUB = { 181, 2}, + .FMUL = { 183, 2}, + .FDIV = { 185, 2}, + .FNMUL = { 187, 2}, + .FMADD = { 189, 2}, + .FMSUB = { 191, 2}, + .FNMADD = { 193, 2}, + .FNMSUB = { 195, 2}, + .FCMP = { 197, 2}, + .FCMPE = { 199, 2}, + .FCSEL = { 201, 2}, + .FMAX = { 203, 2}, + .FMIN = { 205, 2}, + .FMAXNM = { 207, 2}, + .FMINNM = { 209, 2}, + .FCVT = { 211, 2}, + .SCVTF = { 213, 4}, + .UCVTF = { 217, 4}, + .FCVTZS = { 221, 4}, + .FCVTZU = { 225, 4}, + .FCVTAS = { 229, 6}, + .FCVTAU = { 235, 6}, + .FCVTNS = { 241, 6}, + .FCVTNU = { 247, 6}, + .FCVTPS = { 253, 6}, + .FCVTPU = { 259, 6}, + .FCVTMS = { 265, 6}, + .FCVTMU = { 271, 6}, + .FRINTA = { 277, 3}, + .FRINTI = { 280, 3}, + .FRINTM = { 283, 3}, + .FRINTN = { 286, 3}, + .FRINTP = { 289, 3}, + .FRINTX = { 292, 3}, + .FRINTZ = { 295, 3}, + .AND_IMM = { 298, 2}, + .ANDS_IMM = { 300, 2}, + .ORR_IMM = { 302, 2}, + .EOR_IMM = { 304, 2}, + .TST_IMM = { 306, 2}, + .LDUR = { 308, 2}, + .STUR = { 310, 2}, + .LDURB = { 312, 1}, + .STURB = { 313, 1}, + .LDURSB = { 314, 2}, + .LDURH = { 316, 1}, + .STURH = { 317, 1}, + .LDURSH = { 318, 2}, + .LDURSW = { 320, 1}, + .LDR_PRE = { 321, 2}, + .STR_PRE = { 323, 2}, + .LDR_POST = { 325, 2}, + .STR_POST = { 327, 2}, + .LDRB_PRE = { 329, 0}, + .STRB_PRE = { 329, 0}, + .LDRB_POST = { 329, 0}, + .STRB_POST = { 329, 0}, + .LDRH_PRE = { 329, 0}, + .STRH_PRE = { 329, 0}, + .LDRH_POST = { 329, 0}, + .STRH_POST = { 329, 0}, + .LDR_REG = { 329, 2}, + .STR_REG = { 331, 2}, + .LDRB_REG = { 333, 0}, + .STRB_REG = { 333, 0}, + .LDRH_REG = { 333, 0}, + .STRH_REG = { 333, 0}, + .LDRSB_REG = { 333, 0}, + .LDRSH_REG = { 333, 0}, + .LDRSW_REG = { 333, 0}, + .LDP_PRE = { 333, 2}, + .STP_PRE = { 335, 2}, + .LDP_POST = { 337, 2}, + .STP_POST = { 339, 2}, + .LDPSW_PRE = { 341, 1}, + .LDPSW_POST = { 342, 1}, + .LDNP = { 343, 2}, + .STNP = { 345, 2}, + .LDXP = { 347, 2}, + .STXP = { 349, 2}, + .LDAXP = { 351, 2}, + .STLXP = { 353, 2}, + .LDXRB = { 355, 1}, + .STXRB = { 356, 1}, + .LDAXRB = { 357, 1}, + .STLXRB = { 358, 1}, + .LDXRH = { 359, 1}, + .STXRH = { 360, 1}, + .LDAXRH = { 361, 1}, + .STLXRH = { 362, 1}, + .LDARB_X = { 363, 0}, + .STLRB_X = { 363, 0}, + .LDARH_X = { 363, 0}, + .STLRH_X = { 363, 0}, + .LDAPR = { 363, 2}, + .LDAPRB = { 365, 1}, + .LDAPRH = { 366, 1}, + .LDADD = { 367, 2}, + .LDADDA = { 369, 2}, + .LDADDL = { 371, 2}, + .LDADDAL = { 373, 2}, + .LDCLR = { 375, 2}, + .LDCLRA = { 377, 2}, + .LDCLRL = { 379, 2}, + .LDCLRAL = { 381, 2}, + .LDEOR = { 383, 2}, + .LDEORA = { 385, 2}, + .LDEORL = { 387, 2}, + .LDEORAL = { 389, 2}, + .LDSET = { 391, 2}, + .LDSETA = { 393, 2}, + .LDSETL = { 395, 2}, + .LDSETAL = { 397, 2}, + .LDSMAX = { 399, 2}, + .LDSMAXA = { 401, 2}, + .LDSMAXL = { 403, 2}, + .LDSMAXAL = { 405, 2}, + .LDSMIN = { 407, 2}, + .LDSMINA = { 409, 2}, + .LDSMINL = { 411, 2}, + .LDSMINAL = { 413, 2}, + .LDUMAX = { 415, 2}, + .LDUMAXA = { 417, 2}, + .LDUMAXL = { 419, 2}, + .LDUMAXAL = { 421, 2}, + .LDUMIN = { 423, 2}, + .LDUMINA = { 425, 2}, + .LDUMINL = { 427, 2}, + .LDUMINAL = { 429, 2}, + .SWP = { 431, 2}, + .SWPA = { 433, 2}, + .SWPL = { 435, 2}, + .SWPAL = { 437, 2}, + .CAS = { 439, 2}, + .CASA = { 441, 2}, + .CASL = { 443, 2}, + .CASAL = { 445, 2}, + .CASB = { 447, 1}, + .CASAB = { 448, 1}, + .CASLB = { 449, 1}, + .CASALB = { 450, 1}, + .CASH = { 451, 1}, + .CASAH = { 452, 1}, + .CASLH = { 453, 1}, + .CASALH = { 454, 1}, + .CASP = { 455, 2}, + .CASPA = { 457, 2}, + .CASPL = { 459, 2}, + .CASPAL = { 461, 2}, + .PACIA = { 463, 1}, + .PACIB = { 464, 1}, + .PACDA = { 465, 1}, + .PACDB = { 466, 1}, + .PACIZA = { 467, 1}, + .PACIZB = { 468, 1}, + .PACDZA = { 469, 1}, + .PACDZB = { 470, 1}, + .AUTIA = { 471, 1}, + .AUTIB = { 472, 1}, + .AUTDA = { 473, 1}, + .AUTDB = { 474, 1}, + .AUTIZA = { 475, 1}, + .AUTIZB = { 476, 1}, + .AUTDZA = { 477, 1}, + .AUTDZB = { 478, 1}, + .PACIASP = { 479, 1}, + .PACIBSP = { 480, 1}, + .AUTIASP = { 481, 1}, + .AUTIBSP = { 482, 1}, + .PACIA1716 = { 483, 1}, + .PACIB1716 = { 484, 1}, + .AUTIA1716 = { 485, 1}, + .AUTIB1716 = { 486, 1}, + .PACGA = { 487, 1}, + .XPACI = { 488, 1}, + .XPACD = { 489, 1}, + .XPACLRI = { 490, 1}, + .RETAA = { 491, 1}, + .RETAB = { 492, 1}, + .BRAA = { 493, 1}, + .BRAB = { 494, 1}, + .BRAAZ = { 495, 1}, + .BRABZ = { 496, 1}, + .BLRAA = { 497, 1}, + .BLRAB = { 498, 1}, + .BLRAAZ = { 499, 1}, + .BLRABZ = { 500, 1}, + .ERETAA = { 501, 1}, + .ERETAB = { 502, 1}, + .BTI = { 503, 1}, + .IRG = { 504, 1}, + .ADDG = { 505, 1}, + .SUBG = { 506, 1}, + .GMI = { 507, 1}, + .SUBP = { 508, 1}, + .SUBPS = { 509, 1}, + .LDG = { 510, 1}, + .STG = { 511, 1}, + .ST2G = { 512, 1}, + .STZG = { 513, 1}, + .STZ2G = { 514, 1}, + .STGP = { 515, 1}, + .LDGM = { 516, 1}, + .STGM = { 517, 1}, + .STZGM = { 518, 1}, + .CRC32B = { 519, 1}, + .CRC32H = { 520, 1}, + .CRC32W = { 521, 1}, + .CRC32X = { 522, 1}, + .CRC32CB = { 523, 1}, + .CRC32CH = { 524, 1}, + .CRC32CW = { 525, 1}, + .CRC32CX = { 526, 1}, + .AESE = { 527, 1}, + .AESD = { 528, 1}, + .AESMC = { 529, 1}, + .AESIMC = { 530, 1}, + .SHA1H = { 531, 1}, + .SHA1C = { 532, 1}, + .SHA1P = { 533, 1}, + .SHA1M = { 534, 1}, + .SHA1SU0 = { 535, 1}, + .SHA1SU1 = { 536, 1}, + .SHA256H = { 537, 1}, + .SHA256H2 = { 538, 1}, + .SHA256SU0 = { 539, 1}, + .SHA256SU1 = { 540, 1}, + .SHA512H = { 541, 1}, + .SHA512H2 = { 542, 1}, + .SHA512SU0 = { 543, 1}, + .SHA512SU1 = { 544, 1}, + .EOR3 = { 545, 1}, + .BCAX = { 546, 1}, + .RAX1 = { 547, 1}, + .XAR = { 548, 1}, + .SM3PARTW1 = { 549, 1}, + .SM3PARTW2 = { 550, 1}, + .SM3SS1 = { 551, 1}, + .SM3TT1A = { 552, 1}, + .SM3TT1B = { 553, 1}, + .SM3TT2A = { 554, 1}, + .SM3TT2B = { 555, 1}, + .SM4E = { 556, 1}, + .SM4EKEY = { 557, 1}, + .PMULL = { 558, 2}, + .PMULL2 = { 560, 2}, + .FABS_H = { 562, 1}, + .FNEG_H = { 563, 1}, + .FSQRT_H = { 564, 1}, + .FADD_H = { 565, 1}, + .FSUB_H = { 566, 1}, + .FMUL_H = { 567, 1}, + .FDIV_H = { 568, 1}, + .FNMUL_H = { 569, 1}, + .FMADD_H = { 570, 1}, + .FMSUB_H = { 571, 1}, + .FNMADD_H = { 572, 1}, + .FNMSUB_H = { 573, 1}, + .FCMP_H = { 574, 1}, + .FCMPE_H = { 575, 1}, + .FCSEL_H = { 576, 1}, + .FMAX_H = { 577, 1}, + .FMIN_H = { 578, 1}, + .FMAXNM_H = { 579, 1}, + .FMINNM_H = { 580, 1}, + .FCVT_H_S = { 581, 1}, + .FCVT_H_D = { 582, 1}, + .FCVT_S_H = { 583, 1}, + .FCVT_D_H = { 584, 1}, + .FMOV_H = { 585, 1}, + .SCVTF_H = { 586, 1}, + .UCVTF_H = { 587, 1}, + .FCVTZS_H = { 588, 1}, + .FCVTZU_H = { 589, 1}, + .BFCVT = { 590, 1}, + .BFDOT = { 591, 1}, + .BFMMLA = { 592, 1}, + .BFMLALB = { 593, 1}, + .BFMLALT = { 594, 1}, + .BFCVTN = { 595, 1}, + .BFCVTN2 = { 596, 1}, + .ADD_V = { 597, 7}, + .SUB_V = { 604, 4}, + .MUL_V = { 608, 3}, + .MLA_V = { 611, 6}, + .MLS_V = { 617, 6}, + .NEG_V = { 623, 7}, + .ABS_V = { 630, 7}, + .SHADD = { 637, 6}, + .UHADD = { 643, 6}, + .SHSUB = { 649, 6}, + .UHSUB = { 655, 6}, + .SRHADD = { 661, 6}, + .URHADD = { 667, 6}, + .SQADD = { 673, 7}, + .UQADD = { 680, 7}, + .SQSUB = { 687, 7}, + .UQSUB = { 694, 7}, + .SMAX = { 701, 6}, + .UMAX = { 707, 6}, + .SMIN = { 713, 6}, + .UMIN = { 719, 6}, + .SABD = { 725, 6}, + .UABD = { 731, 6}, + .SABA = { 737, 6}, + .UABA = { 743, 6}, + .ADDP_V = { 749, 7}, + .ADDV = { 756, 5}, + .SADDLP = { 761, 6}, + .UADDLP = { 767, 6}, + .SADALP = { 773, 6}, + .UADALP = { 779, 6}, + .SADDLV = { 785, 5}, + .UADDLV = { 790, 5}, + .SMAXV = { 795, 5}, + .UMAXV = { 800, 5}, + .SMINV = { 805, 5}, + .UMINV = { 810, 5}, + .SMAXP = { 815, 6}, + .UMAXP = { 821, 6}, + .SMINP = { 827, 6}, + .UMINP = { 833, 6}, + .SADDL = { 839, 3}, + .SADDL2 = { 842, 3}, + .UADDL = { 845, 3}, + .UADDL2 = { 848, 3}, + .SSUBL = { 851, 3}, + .SSUBL2 = { 854, 3}, + .USUBL = { 857, 3}, + .USUBL2 = { 860, 3}, + .SADDW = { 863, 3}, + .SADDW2 = { 866, 3}, + .UADDW = { 869, 3}, + .UADDW2 = { 872, 3}, + .SSUBW = { 875, 3}, + .SSUBW2 = { 878, 3}, + .USUBW = { 881, 3}, + .USUBW2 = { 884, 3}, + .RADDHN = { 887, 3}, + .RADDHN2 = { 890, 3}, + .RSUBHN = { 893, 3}, + .RSUBHN2 = { 896, 3}, + .ADDHN = { 899, 3}, + .ADDHN2 = { 902, 3}, + .SUBHN = { 905, 3}, + .SUBHN2 = { 908, 3}, + .XTN = { 911, 3}, + .XTN2 = { 914, 3}, + .SQXTN = { 917, 3}, + .SQXTN2 = { 920, 3}, + .UQXTN = { 923, 3}, + .UQXTN2 = { 926, 3}, + .SQXTUN = { 929, 3}, + .SQXTUN2 = { 932, 3}, + .SMULL_V = { 935, 3}, + .SMULL2_V = { 938, 3}, + .UMULL_V = { 941, 3}, + .UMULL2_V = { 944, 3}, + .SMLAL = { 947, 3}, + .SMLAL2 = { 950, 3}, + .UMLAL = { 953, 3}, + .UMLAL2 = { 956, 3}, + .SMLSL = { 959, 3}, + .SMLSL2 = { 962, 3}, + .UMLSL = { 965, 3}, + .UMLSL2 = { 968, 3}, + .SQDMULL = { 971, 2}, + .SQDMULL2 = { 973, 2}, + .SQDMLAL = { 975, 2}, + .SQDMLAL2 = { 977, 2}, + .SQDMLSL = { 979, 2}, + .SQDMLSL2 = { 981, 2}, + .SQDMULH = { 983, 4}, + .SQRDMULH = { 987, 4}, + .SDOT = { 991, 2}, + .UDOT = { 993, 2}, + .USDOT = { 995, 2}, + .FADD_V = { 997, 3}, + .FSUB_V = { 1000, 3}, + .FMUL_V = { 1003, 3}, + .FDIV_V = { 1006, 3}, + .FNEG_V = { 1009, 5}, + .FABS_V = { 1014, 5}, + .FSQRT_V = { 1019, 5}, + .FMLA_V = { 1024, 2}, + .FMLS_V = { 1026, 2}, + .FMULX = { 1028, 5}, + .FMAX_V = { 1033, 5}, + .FMIN_V = { 1038, 5}, + .FMAXNM_V = { 1043, 5}, + .FMINNM_V = { 1048, 5}, + .FMAXP_V = { 1053, 5}, + .FMINP_V = { 1058, 5}, + .FMAXNMP = { 1063, 5}, + .FMINNMP = { 1068, 5}, + .FMAXV_V = { 1073, 3}, + .FMINV_V = { 1076, 3}, + .FMAXNMV = { 1079, 3}, + .FMINNMV = { 1082, 3}, + .FRECPE = { 1085, 5}, + .FRSQRTE = { 1090, 5}, + .FRECPS = { 1095, 5}, + .FRSQRTS = { 1100, 5}, + .FRECPX = { 1105, 3}, + .FADDP_V = { 1108, 5}, + .FRINTA_V = { 1113, 5}, + .FRINTI_V = { 1118, 5}, + .FRINTM_V = { 1123, 5}, + .FRINTN_V = { 1128, 5}, + .FRINTP_V = { 1133, 5}, + .FRINTX_V = { 1138, 5}, + .FRINTZ_V = { 1143, 5}, + .SCVTF_V = { 1148, 5}, + .UCVTF_V = { 1153, 5}, + .FCVTAS_V = { 1158, 5}, + .FCVTAU_V = { 1163, 5}, + .FCVTMS_V = { 1168, 5}, + .FCVTMU_V = { 1173, 5}, + .FCVTNS_V = { 1178, 5}, + .FCVTNU_V = { 1183, 5}, + .FCVTPS_V = { 1188, 5}, + .FCVTPU_V = { 1193, 5}, + .FCVTZS_V = { 1198, 5}, + .FCVTZU_V = { 1203, 5}, + .FCVTL = { 1208, 2}, + .FCVTL2 = { 1210, 2}, + .FCVTN = { 1212, 2}, + .FCVTN2 = { 1214, 2}, + .FCVTXN = { 1216, 1}, + .FCVTXN2 = { 1217, 1}, + .FCMEQ = { 1218, 5}, + .FCMGE = { 1223, 5}, + .FCMGT = { 1228, 5}, + .FCMLE = { 1233, 5}, + .FCMLT = { 1238, 5}, + .FACGE = { 1243, 5}, + .FACGT = { 1248, 5}, + .CMEQ = { 1253, 4}, + .CMGE = { 1257, 7}, + .CMGT = { 1264, 2}, + .CMHI = { 1266, 2}, + .CMHS = { 1268, 7}, + .CMLE = { 1275, 7}, + .CMLT = { 1282, 7}, + .CMTST = { 1289, 7}, + .AND_V = { 1296, 1}, + .ORR_V = { 1297, 1}, + .EOR_V = { 1298, 1}, + .BIC_V = { 1299, 1}, + .ORN_V = { 1300, 1}, + .MVN_V = { 1301, 2}, + .BIT = { 1303, 1}, + .BIF = { 1304, 1}, + .BSL = { 1305, 1}, + .SHL_V = { 1306, 7}, + .SQSHL_V = { 1313, 7}, + .SQSHLU = { 1320, 7}, + .SRSHL = { 1327, 7}, + .URSHL = { 1334, 7}, + .SSHR = { 1341, 7}, + .USHR = { 1348, 7}, + .SSRA = { 1355, 7}, + .USRA = { 1362, 7}, + .SRSHR = { 1369, 7}, + .URSHR = { 1376, 7}, + .SRSRA = { 1383, 7}, + .URSRA = { 1390, 7}, + .SSHL = { 1397, 7}, + .USHL = { 1404, 7}, + .SLI = { 1411, 7}, + .SRI = { 1418, 7}, + .SSHLL = { 1425, 3}, + .SSHLL2 = { 1428, 3}, + .USHLL = { 1431, 3}, + .USHLL2 = { 1434, 3}, + .SXTL = { 1437, 3}, + .SXTL2 = { 1440, 3}, + .UXTL = { 1443, 3}, + .UXTL2 = { 1446, 3}, + .SHRN = { 1449, 3}, + .SHRN2 = { 1452, 3}, + .RSHRN = { 1455, 3}, + .RSHRN2 = { 1458, 3}, + .SQSHRN = { 1461, 3}, + .SQSHRN2 = { 1464, 3}, + .UQSHRN = { 1467, 3}, + .UQSHRN2 = { 1470, 3}, + .SQRSHRN = { 1473, 3}, + .SQRSHRN2 = { 1476, 3}, + .UQRSHRN = { 1479, 3}, + .UQRSHRN2 = { 1482, 3}, + .SQSHRUN = { 1485, 3}, + .SQSHRUN2 = { 1488, 3}, + .SQRSHRUN = { 1491, 3}, + .SQRSHRUN2 = { 1494, 3}, + .DUP_V = { 1497, 14}, + .INS = { 1511, 8}, + .MOV_V = { 1519, 2}, + .EXT_V = { 1521, 2}, + .TBL = { 1523, 0}, + .TBX = { 1523, 0}, + .ZIP1 = { 1523, 7}, + .ZIP2 = { 1530, 7}, + .UZP1 = { 1537, 7}, + .UZP2 = { 1544, 7}, + .TRN1 = { 1551, 7}, + .TRN2 = { 1558, 7}, + .NOT_V = { 1565, 2}, + .RBIT_V = { 1567, 2}, + .REV16_V = { 1569, 2}, + .REV32_V = { 1571, 4}, + .REV64 = { 1575, 6}, + .CLS_V = { 1581, 6}, + .CLZ_V = { 1587, 6}, + .CNT = { 1593, 2}, + .URECPE_V = { 1595, 2}, + .URSQRTE_V = { 1597, 2}, + .MOVI = { 1599, 0}, + .MVNI = { 1599, 0}, + .FMOV_V_IMM = { 1599, 0}, + .LD1 = { 1599, 4}, + .LD2 = { 1603, 0}, + .LD3 = { 1603, 0}, + .LD4 = { 1603, 0}, + .ST1 = { 1603, 4}, + .ST2 = { 1607, 0}, + .ST3 = { 1607, 0}, + .ST4 = { 1607, 0}, + .LD1R = { 1607, 0}, + .LD2R = { 1607, 0}, + .LD3R = { 1607, 0}, + .LD4R = { 1607, 0}, + .LD1_LANE = { 1607, 0}, + .LD2_LANE = { 1607, 0}, + .LD3_LANE = { 1607, 0}, + .LD4_LANE = { 1607, 0}, + .ST1_LANE = { 1607, 0}, + .ST2_LANE = { 1607, 0}, + .ST3_LANE = { 1607, 0}, + .ST4_LANE = { 1607, 0}, + .LDR_V = { 1607, 5}, + .STR_V = { 1612, 5}, + .LDP_V = { 1617, 0}, + .STP_V = { 1617, 0}, + .LDUR_V = { 1617, 0}, + .STUR_V = { 1617, 0}, + .SVE_ADD_Z = { 1617, 4}, + .SVE_SUB_Z = { 1621, 4}, + .SVE_SQADD_Z = { 1625, 4}, + .SVE_UQADD_Z = { 1629, 4}, + .SVE_SQSUB_Z = { 1633, 4}, + .SVE_UQSUB_Z = { 1637, 4}, + .SVE_ADD_PRED = { 1641, 4}, + .SVE_SUB_PRED = { 1645, 4}, + .SVE_SUBR_PRED = { 1649, 4}, + .SVE_MUL_PRED = { 1653, 4}, + .SVE_SMULH_PRED = { 1657, 4}, + .SVE_UMULH_PRED = { 1661, 4}, + .SVE_SDIV_PRED = { 1665, 2}, + .SVE_UDIV_PRED = { 1667, 2}, + .SVE_SMAX_PRED = { 1669, 4}, + .SVE_UMAX_PRED = { 1673, 4}, + .SVE_SMIN_PRED = { 1677, 4}, + .SVE_UMIN_PRED = { 1681, 4}, + .SVE_SABD_PRED = { 1685, 4}, + .SVE_UABD_PRED = { 1689, 4}, + .SVE_AND_PRED = { 1693, 1}, + .SVE_ORR_PRED = { 1694, 1}, + .SVE_EOR_PRED = { 1695, 1}, + .SVE_BIC_PRED = { 1696, 1}, + .SVE_ASR_PRED = { 1697, 4}, + .SVE_LSL_PRED = { 1701, 4}, + .SVE_LSR_PRED = { 1705, 4}, + .SVE_ASRR_PRED = { 1709, 0}, + .SVE_LSLR_PRED = { 1709, 0}, + .SVE_LSRR_PRED = { 1709, 0}, + .SVE_ABS_PRED = { 1709, 4}, + .SVE_NEG_PRED = { 1713, 4}, + .SVE_CLS_PRED = { 1717, 4}, + .SVE_CLZ_PRED = { 1721, 4}, + .SVE_CNT_PRED = { 1725, 4}, + .SVE_MOV_PRED = { 1729, 0}, + .SVE_FADD_Z = { 1729, 3}, + .SVE_FSUB_Z = { 1732, 3}, + .SVE_FMUL_Z = { 1735, 3}, + .SVE_FRECPS = { 1738, 3}, + .SVE_FRSQRTS = { 1741, 3}, + .SVE_FTSMUL = { 1744, 3}, + .SVE_FADD_PRED = { 1747, 3}, + .SVE_FSUB_PRED = { 1750, 3}, + .SVE_FSUBR_PRED = { 1753, 0}, + .SVE_FMUL_PRED = { 1753, 3}, + .SVE_FDIV_PRED = { 1756, 3}, + .SVE_FDIVR_PRED = { 1759, 0}, + .SVE_FMAX_PRED = { 1759, 3}, + .SVE_FMIN_PRED = { 1762, 3}, + .SVE_FMAXNM_PRED = { 1765, 3}, + .SVE_FMINNM_PRED = { 1768, 3}, + .SVE_FABS_Z = { 1771, 3}, + .SVE_FNEG_Z = { 1774, 3}, + .SVE_FSQRT_Z = { 1777, 3}, + .SVE_FRECPX_Z = { 1780, 0}, + .SVE_FRINTN = { 1780, 0}, + .SVE_FRINTP = { 1780, 0}, + .SVE_FRINTM = { 1780, 0}, + .SVE_FRINTZ = { 1780, 0}, + .SVE_FRINTA = { 1780, 0}, + .SVE_FRINTX = { 1780, 0}, + .SVE_FRINTI = { 1780, 0}, + .SVE_FMLA = { 1780, 3}, + .SVE_FMLS = { 1783, 3}, + .SVE_FNMLA = { 1786, 3}, + .SVE_FNMLS = { 1789, 3}, + .SVE_AND_P = { 1792, 1}, + .SVE_BIC_P = { 1793, 1}, + .SVE_ORR_P = { 1794, 1}, + .SVE_EOR_P = { 1795, 1}, + .SVE_NAND_P = { 1796, 1}, + .SVE_NOR_P = { 1797, 1}, + .SVE_ORN_P = { 1798, 1}, + .SVE_SEL_P = { 1799, 1}, + .SVE_ANDS_P = { 1800, 1}, + .SVE_BICS_P = { 1801, 1}, + .SVE_ORRS_P = { 1802, 1}, + .SVE_EORS_P = { 1803, 1}, + .SVE_NANDS_P = { 1804, 0}, + .SVE_NORS_P = { 1804, 0}, + .SVE_ORNS_P = { 1804, 0}, + .SVE_NOT_P = { 1804, 0}, + .SVE_MOV_P = { 1804, 0}, + .SVE_MOVS_P = { 1804, 0}, + .SVE_PTRUE = { 1804, 1}, + .SVE_PTRUES = { 1805, 1}, + .SVE_PFALSE = { 1806, 1}, + .SVE_PFIRST = { 1807, 1}, + .SVE_PNEXT = { 1808, 1}, + .SVE_BRKA = { 1809, 0}, + .SVE_BRKB = { 1809, 0}, + .SVE_BRKAS = { 1809, 0}, + .SVE_BRKBS = { 1809, 0}, + .SVE_BRKPA = { 1809, 0}, + .SVE_BRKPB = { 1809, 0}, + .SVE_BRKN = { 1809, 0}, + .SVE_RDFFR = { 1809, 0}, + .SVE_WRFFR = { 1809, 0}, + .SVE_SETFFR = { 1809, 0}, + .SVE_CMPEQ = { 1809, 4}, + .SVE_CMPNE = { 1813, 4}, + .SVE_CMPGE = { 1817, 4}, + .SVE_CMPGT = { 1821, 4}, + .SVE_CMPLE = { 1825, 0}, + .SVE_CMPLT = { 1825, 0}, + .SVE_CMPHI = { 1825, 4}, + .SVE_CMPHS = { 1829, 4}, + .SVE_CMPLO = { 1833, 0}, + .SVE_CMPLS = { 1833, 0}, + .SVE_FCMEQ = { 1833, 0}, + .SVE_FCMNE = { 1833, 0}, + .SVE_FCMGE = { 1833, 0}, + .SVE_FCMGT = { 1833, 0}, + .SVE_FCMLE = { 1833, 0}, + .SVE_FCMLT = { 1833, 0}, + .SVE_FCMUO = { 1833, 0}, + .SVE_DUP_Z = { 1833, 4}, + .SVE_INSR = { 1837, 0}, + .SVE_REV_Z = { 1837, 4}, + .SVE_REV_P = { 1841, 1}, + .SVE_TBL = { 1842, 4}, + .SVE_ZIP1_Z = { 1846, 4}, + .SVE_ZIP2_Z = { 1850, 4}, + .SVE_UZP1_Z = { 1854, 4}, + .SVE_UZP2_Z = { 1858, 4}, + .SVE_TRN1_Z = { 1862, 4}, + .SVE_TRN2_Z = { 1866, 4}, + .SVE_ZIP1_P = { 1870, 1}, + .SVE_ZIP2_P = { 1871, 1}, + .SVE_UZP1_P = { 1872, 1}, + .SVE_UZP2_P = { 1873, 1}, + .SVE_TRN1_P = { 1874, 1}, + .SVE_TRN2_P = { 1875, 1}, + .SVE_CPY_Z = { 1876, 0}, + .SVE_COMPACT = { 1876, 0}, + .SVE_EXT_Z = { 1876, 0}, + .SVE_LD1B = { 1876, 1}, + .SVE_LD1H = { 1877, 1}, + .SVE_LD1W = { 1878, 1}, + .SVE_LD1D = { 1879, 1}, + .SVE_LD1SB = { 1880, 1}, + .SVE_LD1SH = { 1881, 1}, + .SVE_LD1SW = { 1882, 1}, + .SVE_ST1B = { 1883, 1}, + .SVE_ST1H = { 1884, 1}, + .SVE_ST1W = { 1885, 1}, + .SVE_ST1D = { 1886, 1}, + .SVE_LDR_Z = { 1887, 1}, + .SVE_STR_Z = { 1888, 1}, + .SVE_LDR_P = { 1889, 1}, + .SVE_STR_P = { 1890, 1}, + .SVE_LDFF1B = { 1891, 1}, + .SVE_LDFF1H = { 1892, 1}, + .SVE_LDFF1W = { 1893, 1}, + .SVE_LDFF1D = { 1894, 1}, + .SVE_WHILEGE = { 1895, 1}, + .SVE_WHILEGT = { 1896, 1}, + .SVE_WHILELE = { 1897, 1}, + .SVE_WHILELT = { 1898, 1}, + .SVE_WHILEHI = { 1899, 1}, + .SVE_WHILEHS = { 1900, 1}, + .SVE_WHILELO = { 1901, 1}, + .SVE_WHILELS = { 1902, 1}, + .SVE_SQRDMLAH = { 1903, 4}, + .SVE_SQRDMLSH = { 1907, 4}, + .SVE_ADCLB = { 1911, 2}, + .SVE_ADCLT = { 1913, 2}, + .SVE_SBCLB = { 1915, 2}, + .SVE_SBCLT = { 1917, 2}, + .SVE_TBL2 = { 1919, 1}, + .SVE_TBX = { 1920, 1}, + .SVE_AESE = { 1921, 1}, + .SVE_AESD = { 1922, 1}, + .SVE_AESMC = { 1923, 1}, + .SVE_AESIMC = { 1924, 1}, + .SVE_BCAX_Z = { 1925, 0}, + .SVE_XAR_Z = { 1925, 0}, + .SVE_EOR3_Z = { 1925, 0}, + .SVE_MATCH = { 1925, 2}, + .SVE_NMATCH = { 1927, 2}, + .SVE_HISTCNT = { 1929, 2}, + .SVE_HISTSEG = { 1931, 1}, + .SME_SMSTART = { 1932, 1}, + .SME_SMSTOP = { 1933, 1}, + .SME_RDSVL = { 1934, 1}, + .SME_ADDHA = { 1935, 0}, + .SME_ADDVA = { 1935, 0}, + .SME_ZERO = { 1935, 1}, + .SME_FMOPA = { 1936, 1}, + .SME_FMOPS = { 1937, 1}, + .SME_BFMOPA = { 1938, 1}, + .SME_BFMOPS = { 1939, 1}, + .SME_SMOPA = { 1940, 2}, + .SME_SMOPS = { 1942, 2}, + .SME_UMOPA = { 1944, 2}, + .SME_UMOPS = { 1946, 2}, + .SME_USMOPA = { 1948, 1}, + .SME_SUMOPA = { 1949, 1}, + .SME_MOVA_TO_Z = { 1950, 0}, + .SME_MOVA_TO_ZA = { 1950, 0}, + .SME_LD1B_ZA = { 1950, 0}, + .SME_LD1H_ZA = { 1950, 0}, + .SME_LD1W_ZA = { 1950, 0}, + .SME_LD1D_ZA = { 1950, 0}, + .SME_LD1Q_ZA = { 1950, 0}, + .SME_ST1B_ZA = { 1950, 0}, + .SME_ST1H_ZA = { 1950, 0}, + .SME_ST1W_ZA = { 1950, 0}, + .SME_ST1D_ZA = { 1950, 0}, + .SME_ST1Q_ZA = { 1950, 0}, + .SME_LDR_ZA = { 1950, 1}, + .SME_STR_ZA = { 1951, 1}, + .SVE_FMLA_IDX_H = { 1952, 1}, + .SVE_FMLA_IDX_S = { 1953, 1}, + .SVE_FMLA_IDX_D = { 1954, 1}, + .SVE_FMLS_IDX_H = { 1955, 1}, + .SVE_FMLS_IDX_S = { 1956, 1}, + .SVE_FMLS_IDX_D = { 1957, 1}, + .SVE_LD1B_GATHER_S = { 1958, 1}, + .SVE_LD1B_GATHER_D = { 1959, 1}, + .SVE_LD1H_GATHER_S = { 1960, 1}, + .SVE_LD1H_GATHER_D = { 1961, 1}, + .SVE_LD1W_GATHER_S = { 1962, 1}, + .SVE_LD1W_GATHER_D = { 1963, 1}, + .SVE_LD1D_GATHER_D = { 1964, 1}, + .SVE_LD1SB_GATHER_S = { 1965, 1}, + .SVE_LD1SB_GATHER_D = { 1966, 1}, + .SVE_LD1SH_GATHER_S = { 1967, 1}, + .SVE_LD1SH_GATHER_D = { 1968, 1}, + .SVE_LD1SW_GATHER_D = { 1969, 1}, + .SVE_ST1B_SCATTER_S = { 1970, 1}, + .SVE_ST1B_SCATTER_D = { 1971, 1}, + .SVE_ST1H_SCATTER_S = { 1972, 1}, + .SVE_ST1H_SCATTER_D = { 1973, 1}, + .SVE_ST1W_SCATTER_S = { 1974, 1}, + .SVE_ST1W_SCATTER_D = { 1975, 1}, + .SVE_ST1D_SCATTER_D = { 1976, 1}, + .SME_LD1B_TILE = { 1977, 1}, + .SME_LD1H_TILE = { 1978, 1}, + .SME_LD1W_TILE = { 1979, 1}, + .SME_LD1D_TILE = { 1980, 1}, + .SME_LD1Q_TILE = { 1981, 1}, + .SME_ST1B_TILE = { 1982, 1}, + .SME_ST1H_TILE = { 1983, 1}, + .SME_ST1W_TILE = { 1984, 1}, + .SME_ST1D_TILE = { 1985, 1}, + .SME_ST1Q_TILE = { 1986, 1}, + .SME_MOVA_Z_FROM_TILE = { 1987, 1}, + .SME_MOVA_TILE_FROM_Z = { 1988, 1}, + .FCMLA_4H = { 1989, 1}, + .FCMLA_8H = { 1990, 1}, + .FCMLA_4S = { 1991, 1}, + .FCMLA_2D = { 1992, 1}, + .FCADD_4H = { 1993, 1}, + .FCADD_8H = { 1994, 1}, + .FCADD_4S = { 1995, 1}, + .FCADD_2D = { 1996, 1}, + .SVE_PRFB = { 1997, 1}, + .SVE_PRFH = { 1998, 1}, + .SVE_PRFW = { 1999, 1}, + .SVE_PRFD = { 2000, 1}, + .SVE_LDNT1B = { 2001, 1}, + .SVE_LDNT1H = { 2002, 1}, + .SVE_LDNT1W = { 2003, 1}, + .SVE_LDNT1D = { 2004, 1}, + .SVE_STNT1B = { 2005, 1}, + .SVE_STNT1H = { 2006, 1}, + .SVE_STNT1W = { 2007, 1}, + .SVE_STNT1D = { 2008, 1}, + .SVE_EXT = { 2009, 1}, + .SVE_SPLICE = { 2010, 1}, + .SVE_INDEX_II = { 2011, 1}, + .SVE_INDEX_IR = { 2012, 1}, + .SVE_INDEX_RI = { 2013, 1}, + .SVE_INDEX_RR = { 2014, 1}, + .SVE_BSL = { 2015, 1}, + .SVE_BSL1N = { 2016, 1}, + .SVE_BSL2N = { 2017, 1}, + .SVE_NBSL = { 2018, 1}, + .SVE_PMUL_VEC = { 2019, 1}, + .SVE_PMULLB = { 2020, 1}, + .SVE_PMULLT = { 2021, 1}, + .SVE_BFCVT = { 2022, 1}, + .SVE_BFCVTNT = { 2023, 1}, + .LDRAA = { 2024, 1}, + .LDRAB = { 2025, 1}, + .LDRAA_PRE = { 2026, 1}, + .LDRAB_PRE = { 2027, 1}, + .TSTART = { 2028, 1}, + .TCOMMIT = { 2029, 1}, + .TCANCEL = { 2030, 1}, + .TTEST = { 2031, 1}, + .WFET = { 2032, 1}, + .WFIT = { 2033, 1}, + .BC_COND = { 2034, 1}, + .UXTB = { 2035, 1}, + .UXTH = { 2036, 1}, + .UXTW = { 2037, 1}, + .SXTB = { 2038, 1}, + .SXTH = { 2039, 1}, + .SXTW = { 2040, 1}, + .ADC = { 2041, 2}, + .ADCS = { 2043, 2}, + .SBC = { 2045, 2}, + .SBCS = { 2047, 2}, + .NGC = { 2049, 2}, + .NGCS = { 2051, 2}, + .LDAPUR = { 2053, 2}, + .STLUR = { 2055, 2}, + .LDAPURB = { 2057, 1}, + .STLURB = { 2058, 1}, + .LDAPURH = { 2059, 1}, + .STLURH = { 2060, 1}, + .LDAPURSB = { 2061, 2}, + .LDAPURSH = { 2063, 2}, + .LDAPURSW = { 2065, 1}, + .SVE_BFADD = { 2066, 1}, + .SVE_BFSUB = { 2067, 1}, + .SVE_BFMUL = { 2068, 1}, + .SVE_BFMLA = { 2069, 1}, + .SVE_BFMLS = { 2070, 1}, + .SB = { 2071, 1}, + .CSDB = { 2072, 1}, + .DGH = { 2073, 1}, + .PSB_CSYNC = { 2074, 1}, + .TSB_CSYNC = { 2075, 1}, + .BTI_J = { 2076, 1}, + .BTI_C = { 2077, 1}, + .BTI_JC = { 2078, 1}, + .MOV_V_ALIAS = { 2079, 2}, + .NOT_V_ALIAS = { 2081, 2}, + .LSL_IMM = { 2083, 2}, + .LSR_IMM = { 2085, 2}, + .ASR_IMM = { 2087, 2}, + .ROR_IMM = { 2089, 2}, + .SVE_BFADD_UNPRED = { 2091, 1}, + .SVE_BFSUB_UNPRED = { 2092, 1}, + .SVE_BFMUL_UNPRED = { 2093, 1}, + .SVE_BFCLAMP = { 2094, 1}, + .SVE_BFMAXNM = { 2095, 1}, + .SVE_BFMINNM = { 2096, 1}, + .SME2_LUTI2_B = { 2097, 1}, + .SME2_LUTI4_B = { 2098, 1}, + .SME2_LD1B_X2 = { 2099, 1}, + .SME2_LD1H_X2 = { 2100, 1}, + .SME2_LD1W_X2 = { 2101, 1}, + .SME2_LD1D_X2 = { 2102, 1}, + .SME2_LD1B_X4 = { 2103, 1}, + .SME2_LD1H_X4 = { 2104, 1}, + .SME2_LD1W_X4 = { 2105, 1}, + .SME2_LD1D_X4 = { 2106, 1}, + .SME2_ST1B_X2 = { 2107, 1}, + .SME2_ST1H_X2 = { 2108, 1}, + .SME2_ST1W_X2 = { 2109, 1}, + .SME2_ST1D_X2 = { 2110, 1}, + .SME2_ST1B_X4 = { 2111, 1}, + .SME2_ST1H_X4 = { 2112, 1}, + .SME2_ST1W_X4 = { 2113, 1}, + .SME2_ST1D_X4 = { 2114, 1}, + .SME2_ZIP_3 = { 2115, 1}, + .SME2_ZIP_4 = { 2116, 1}, + .SME2_UZP_3 = { 2117, 1}, + .SME2_UZP_4 = { 2118, 1}, + .TLBI_RPALOS = { 2119, 1}, + .TLBI_RPAOS = { 2120, 1}, + .AT_S1E1A = { 2121, 1}, + .DC_CIPAPA = { 2122, 1}, + .DC_CIGDPAPA = { 2123, 1}, + .TLBI_PAALL = { 2124, 1}, + .TLBI_PAALLOS = { 2125, 1}, + .AMX_LDX = { 2126, 1}, + .AMX_LDY = { 2127, 1}, + .AMX_STX = { 2128, 1}, + .AMX_STY = { 2129, 1}, + .AMX_LDZ = { 2130, 1}, + .AMX_STZ = { 2131, 1}, + .AMX_LDZI = { 2132, 1}, + .AMX_STZI = { 2133, 1}, + .AMX_EXTRX = { 2134, 1}, + .AMX_EXTRY = { 2135, 1}, + .AMX_FMA64 = { 2136, 1}, + .AMX_FMS64 = { 2137, 1}, + .AMX_FMA32 = { 2138, 1}, + .AMX_FMS32 = { 2139, 1}, + .AMX_MAC16 = { 2140, 1}, + .AMX_FMA16 = { 2141, 1}, + .AMX_FMS16 = { 2142, 1}, + .AMX_SET = { 2143, 1}, + .AMX_CLR = { 2144, 1}, + .AMX_VECINT = { 2145, 1}, + .AMX_VECFP = { 2146, 1}, + .AMX_MATINT = { 2147, 1}, + .AMX_MATFP = { 2148, 1}, + .AMX_GENLUT = { 2149, 1}, + .CPYP = { 2150, 1}, + .CPYM = { 2151, 1}, + .CPYE = { 2152, 1}, + .CPYFP = { 2153, 1}, + .CPYFM = { 2154, 1}, + .CPYFE = { 2155, 1}, + .SETP = { 2156, 1}, + .SETM = { 2157, 1}, + .SETE = { 2158, 1}, + .DC_IVAC = { 2159, 1}, + .DC_ISW = { 2160, 1}, + .DC_CSW = { 2161, 1}, + .DC_CISW = { 2162, 1}, + .DC_ZVA = { 2163, 1}, + .DC_CVAC = { 2164, 1}, + .DC_CVAU = { 2165, 1}, + .DC_CIVAC = { 2166, 1}, + .IC_IALLUIS = { 2167, 1}, + .IC_IALLU = { 2168, 1}, + .IC_IVAU = { 2169, 1}, + .AT_S1E1R = { 2170, 1}, + .AT_S1E1W = { 2171, 1}, + .AT_S1E0R = { 2172, 1}, + .AT_S1E0W = { 2173, 1}, + .AT_S1E2R = { 2174, 1}, + .AT_S1E2W = { 2175, 1}, + .AT_S1E3R = { 2176, 1}, + .AT_S1E3W = { 2177, 1}, + .AT_S12E1R = { 2178, 1}, + .AT_S12E1W = { 2179, 1}, + .AT_S12E0R = { 2180, 1}, + .AT_S12E0W = { 2181, 1}, + .TLBI_VMALLE1 = { 2182, 1}, + .TLBI_VMALLE1IS = { 2183, 1}, + .TLBI_VAE1 = { 2184, 1}, + .TLBI_VAE1IS = { 2185, 1}, + .TLBI_ASIDE1 = { 2186, 1}, + .TLBI_ASIDE1IS = { 2187, 1}, + .TLBI_VAAE1 = { 2188, 1}, + .TLBI_VAAE1IS = { 2189, 1}, + .TLBI_VALE1 = { 2190, 1}, + .TLBI_VALE1IS = { 2191, 1}, + .TLBI_VAALE1 = { 2192, 1}, + .TLBI_VAALE1IS = { 2193, 1}, + .TLBI_ALLE1 = { 2194, 1}, + .TLBI_ALLE1IS = { 2195, 1}, + .TLBI_ALLE2 = { 2196, 1}, + .TLBI_ALLE2IS = { 2197, 1}, + .TLBI_ALLE3 = { 2198, 1}, + .TLBI_ALLE3IS = { 2199, 1}, + .PRFM = { 2200, 1}, + .PRFUM = { 2201, 1}, + .PRFM_LIT = { 2202, 1}, + .MOV_REG = { 2203, 2}, + .MOV_BITMASK = { 2205, 2}, + .MVN = { 2207, 2}, + .NEG_SR = { 2209, 2}, + .NEGS = { 2211, 2}, + .CMP_SR = { 2213, 2}, + .CMP_ER = { 2215, 2}, + .CMP_IMM = { 2217, 2}, + .CMN_SR = { 2219, 2}, + .CMN_ER = { 2221, 2}, + .CMN_IMM = { 2223, 2}, + .TST_SR = { 2225, 2}, } diff --git a/core/rexcode/arm64/tables/arm64.encode_forms.bin b/core/rexcode/arm64/tables/arm64.encode_forms.bin index 47fc61c7d33cb2ca5a0e77f6a6942cc7809613f0..822acdd22d4ae286ffd49c715be3da7c6c4cdf2f 100644 GIT binary patch delta 8726 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 literal 8960 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 WP2e=p) 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 delta 39 ucmZ>8m>{Plz!JkIz>veH#L&l<#PESll!29f8pCY%2!_w>ybKH+YZ(BVA_v3(