diff --git a/core/rexcode/arm64/mnemonic_builders.odin b/core/rexcode/arm64/mnemonic_builders.odin index 6ddce05ac..645a1bcf6 100644 --- a/core/rexcode/arm64/mnemonic_builders.odin +++ b/core/rexcode/arm64/mnemonic_builders.odin @@ -353,10 +353,40 @@ inst_ldr_post_r_m :: #force_inline proc "contextless" (dst: Regist emit_ldr_post_r_m :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) { append(instructions, inst_ldr_post_r_m(dst, mem)) } inst_str_post_r_m :: #force_inline proc "contextless" (dst: Register, mem: Memory) -> Instruction { return inst_ldst(.STR_POST, dst, mem) } emit_str_post_r_m :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) { append(instructions, inst_str_post_r_m(dst, mem)) } +inst_ldrb_pre_r_m :: #force_inline proc "contextless" (dst: Register, mem: Memory) -> Instruction { return inst_ldst(.LDRB_PRE, dst, mem) } +emit_ldrb_pre_r_m :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) { append(instructions, inst_ldrb_pre_r_m(dst, mem)) } +inst_strb_pre_r_m :: #force_inline proc "contextless" (dst: Register, mem: Memory) -> Instruction { return inst_ldst(.STRB_PRE, dst, mem) } +emit_strb_pre_r_m :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) { append(instructions, inst_strb_pre_r_m(dst, mem)) } +inst_ldrb_post_r_m :: #force_inline proc "contextless" (dst: Register, mem: Memory) -> Instruction { return inst_ldst(.LDRB_POST, dst, mem) } +emit_ldrb_post_r_m :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) { append(instructions, inst_ldrb_post_r_m(dst, mem)) } +inst_strb_post_r_m :: #force_inline proc "contextless" (dst: Register, mem: Memory) -> Instruction { return inst_ldst(.STRB_POST, dst, mem) } +emit_strb_post_r_m :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) { append(instructions, inst_strb_post_r_m(dst, mem)) } +inst_ldrh_pre_r_m :: #force_inline proc "contextless" (dst: Register, mem: Memory) -> Instruction { return inst_ldst(.LDRH_PRE, dst, mem) } +emit_ldrh_pre_r_m :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) { append(instructions, inst_ldrh_pre_r_m(dst, mem)) } +inst_strh_pre_r_m :: #force_inline proc "contextless" (dst: Register, mem: Memory) -> Instruction { return inst_ldst(.STRH_PRE, dst, mem) } +emit_strh_pre_r_m :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) { append(instructions, inst_strh_pre_r_m(dst, mem)) } +inst_ldrh_post_r_m :: #force_inline proc "contextless" (dst: Register, mem: Memory) -> Instruction { return inst_ldst(.LDRH_POST, dst, mem) } +emit_ldrh_post_r_m :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) { append(instructions, inst_ldrh_post_r_m(dst, mem)) } +inst_strh_post_r_m :: #force_inline proc "contextless" (dst: Register, mem: Memory) -> Instruction { return inst_ldst(.STRH_POST, dst, mem) } +emit_strh_post_r_m :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) { append(instructions, inst_strh_post_r_m(dst, mem)) } inst_ldr_reg_r_m :: #force_inline proc "contextless" (dst: Register, mem: Memory) -> Instruction { return inst_ldst(.LDR_REG, dst, mem) } emit_ldr_reg_r_m :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) { append(instructions, inst_ldr_reg_r_m(dst, mem)) } inst_str_reg_r_m :: #force_inline proc "contextless" (dst: Register, mem: Memory) -> Instruction { return inst_ldst(.STR_REG, dst, mem) } emit_str_reg_r_m :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) { append(instructions, inst_str_reg_r_m(dst, mem)) } +inst_ldrb_reg_r_m :: #force_inline proc "contextless" (dst: Register, mem: Memory) -> Instruction { return inst_ldst(.LDRB_REG, dst, mem) } +emit_ldrb_reg_r_m :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) { append(instructions, inst_ldrb_reg_r_m(dst, mem)) } +inst_strb_reg_r_m :: #force_inline proc "contextless" (dst: Register, mem: Memory) -> Instruction { return inst_ldst(.STRB_REG, dst, mem) } +emit_strb_reg_r_m :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) { append(instructions, inst_strb_reg_r_m(dst, mem)) } +inst_ldrh_reg_r_m :: #force_inline proc "contextless" (dst: Register, mem: Memory) -> Instruction { return inst_ldst(.LDRH_REG, dst, mem) } +emit_ldrh_reg_r_m :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) { append(instructions, inst_ldrh_reg_r_m(dst, mem)) } +inst_strh_reg_r_m :: #force_inline proc "contextless" (dst: Register, mem: Memory) -> Instruction { return inst_ldst(.STRH_REG, dst, mem) } +emit_strh_reg_r_m :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) { append(instructions, inst_strh_reg_r_m(dst, mem)) } +inst_ldrsb_reg_r_m :: #force_inline proc "contextless" (dst: Register, mem: Memory) -> Instruction { return inst_ldst(.LDRSB_REG, dst, mem) } +emit_ldrsb_reg_r_m :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) { append(instructions, inst_ldrsb_reg_r_m(dst, mem)) } +inst_ldrsh_reg_r_m :: #force_inline proc "contextless" (dst: Register, mem: Memory) -> Instruction { return inst_ldst(.LDRSH_REG, dst, mem) } +emit_ldrsh_reg_r_m :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) { append(instructions, inst_ldrsh_reg_r_m(dst, mem)) } +inst_ldrsw_reg_r_m :: #force_inline proc "contextless" (dst: Register, mem: Memory) -> Instruction { return inst_ldst(.LDRSW_REG, dst, mem) } +emit_ldrsw_reg_r_m :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) { append(instructions, inst_ldrsw_reg_r_m(dst, mem)) } inst_ldp_pre_r_r_m :: #force_inline proc "contextless" (dst: Register, src: Register, mem: Memory) -> Instruction { return inst_ldp_stp(.LDP_PRE, dst, src, mem) } emit_ldp_pre_r_r_m :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, mem: Memory) { append(instructions, inst_ldp_pre_r_r_m(dst, src, mem)) } inst_stp_pre_r_r_m :: #force_inline proc "contextless" (dst: Register, src: Register, mem: Memory) -> Instruction { return inst_ldp_stp(.STP_PRE, dst, src, mem) } @@ -1251,6 +1281,14 @@ inst_ldr_v_r_m :: #force_inline proc "contextless" (dst: Regist emit_ldr_v_r_m :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) { append(instructions, inst_ldr_v_r_m(dst, mem)) } inst_str_v_r_m :: #force_inline proc "contextless" (dst: Register, mem: Memory) -> Instruction { return inst_ldst(.STR_V, dst, mem) } emit_str_v_r_m :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) { append(instructions, inst_str_v_r_m(dst, mem)) } +inst_ldp_v_r_r_m :: #force_inline proc "contextless" (dst: Register, src: Register, mem: Memory) -> Instruction { return inst_ldp_stp(.LDP_V, dst, src, mem) } +emit_ldp_v_r_r_m :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, mem: Memory) { append(instructions, inst_ldp_v_r_r_m(dst, src, mem)) } +inst_stp_v_r_r_m :: #force_inline proc "contextless" (dst: Register, src: Register, mem: Memory) -> Instruction { return inst_ldp_stp(.STP_V, dst, src, mem) } +emit_stp_v_r_r_m :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, mem: Memory) { append(instructions, inst_stp_v_r_r_m(dst, src, mem)) } +inst_ldur_v_r_m :: #force_inline proc "contextless" (dst: Register, mem: Memory) -> Instruction { return inst_ldst(.LDUR_V, dst, mem) } +emit_ldur_v_r_m :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) { append(instructions, inst_ldur_v_r_m(dst, mem)) } +inst_stur_v_r_m :: #force_inline proc "contextless" (dst: Register, mem: Memory) -> Instruction { return inst_ldst(.STUR_V, dst, mem) } +emit_stur_v_r_m :: #force_inline proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) { append(instructions, inst_stur_v_r_m(dst, mem)) } inst_sve_add_z_z_z_z :: #force_inline proc "contextless" (rz: u8, rz2: u8, rz3: u8) -> Instruction { return Instruction{mnemonic = .SVE_ADD_Z, operand_count = 3, length = 4, ops = {op_z_b(rz), op_z_b(rz2), op_z_b(rz3), {}}} } emit_sve_add_z_z_z_z :: #force_inline proc(instructions: ^[dynamic]Instruction, rz: u8, rz2: u8, rz3: u8) { append(instructions, inst_sve_add_z_z_z_z(rz, rz2, rz3)) } inst_sve_sub_z_z_z_z :: #force_inline proc "contextless" (rz: u8, rz2: u8, rz3: u8) -> Instruction { return Instruction{mnemonic = .SVE_SUB_Z, operand_count = 3, length = 4, ops = {op_z_b(rz), op_z_b(rz2), op_z_b(rz3), {}}} } @@ -2382,10 +2420,40 @@ inst_ldr_post :: inst_ldr_post_r_m emit_ldr_post :: emit_ldr_post_r_m inst_str_post :: inst_str_post_r_m emit_str_post :: emit_str_post_r_m +inst_ldrb_pre :: inst_ldrb_pre_r_m +emit_ldrb_pre :: emit_ldrb_pre_r_m +inst_strb_pre :: inst_strb_pre_r_m +emit_strb_pre :: emit_strb_pre_r_m +inst_ldrb_post :: inst_ldrb_post_r_m +emit_ldrb_post :: emit_ldrb_post_r_m +inst_strb_post :: inst_strb_post_r_m +emit_strb_post :: emit_strb_post_r_m +inst_ldrh_pre :: inst_ldrh_pre_r_m +emit_ldrh_pre :: emit_ldrh_pre_r_m +inst_strh_pre :: inst_strh_pre_r_m +emit_strh_pre :: emit_strh_pre_r_m +inst_ldrh_post :: inst_ldrh_post_r_m +emit_ldrh_post :: emit_ldrh_post_r_m +inst_strh_post :: inst_strh_post_r_m +emit_strh_post :: emit_strh_post_r_m inst_ldr_reg :: inst_ldr_reg_r_m emit_ldr_reg :: emit_ldr_reg_r_m inst_str_reg :: inst_str_reg_r_m emit_str_reg :: emit_str_reg_r_m +inst_ldrb_reg :: inst_ldrb_reg_r_m +emit_ldrb_reg :: emit_ldrb_reg_r_m +inst_strb_reg :: inst_strb_reg_r_m +emit_strb_reg :: emit_strb_reg_r_m +inst_ldrh_reg :: inst_ldrh_reg_r_m +emit_ldrh_reg :: emit_ldrh_reg_r_m +inst_strh_reg :: inst_strh_reg_r_m +emit_strh_reg :: emit_strh_reg_r_m +inst_ldrsb_reg :: inst_ldrsb_reg_r_m +emit_ldrsb_reg :: emit_ldrsb_reg_r_m +inst_ldrsh_reg :: inst_ldrsh_reg_r_m +emit_ldrsh_reg :: emit_ldrsh_reg_r_m +inst_ldrsw_reg :: inst_ldrsw_reg_r_m +emit_ldrsw_reg :: emit_ldrsw_reg_r_m inst_ldp_pre :: inst_ldp_pre_r_r_m emit_ldp_pre :: emit_ldp_pre_r_r_m inst_stp_pre :: inst_stp_pre_r_r_m @@ -3276,6 +3344,14 @@ inst_ldr_v :: inst_ldr_v_r_m emit_ldr_v :: emit_ldr_v_r_m inst_str_v :: inst_str_v_r_m emit_str_v :: emit_str_v_r_m +inst_ldp_v :: inst_ldp_v_r_r_m +emit_ldp_v :: emit_ldp_v_r_r_m +inst_stp_v :: inst_stp_v_r_r_m +emit_stp_v :: emit_stp_v_r_r_m +inst_ldur_v :: inst_ldur_v_r_m +emit_ldur_v :: emit_ldur_v_r_m +inst_stur_v :: inst_stur_v_r_m +emit_stur_v :: emit_stur_v_r_m inst_sve_add_z :: inst_sve_add_z_z_z_z emit_sve_add_z :: emit_sve_add_z_z_z_z inst_sve_sub_z :: inst_sve_sub_z_z_z_z diff --git a/core/rexcode/arm64/tablegen/encoding_table.odin b/core/rexcode/arm64/tablegen/encoding_table.odin index 72b48c1d5..cd73f0164 100644 --- a/core/rexcode/arm64/tablegen/encoding_table.odin +++ b/core/rexcode/arm64/tablegen/encoding_table.odin @@ -319,6 +319,54 @@ ENCODING_TABLE := #partial [Mnemonic][]Encoding{ {.USDOT, {.V_4S, .V_16B, .V_16B, .NONE}, {.VD, .VN, .VM, .NONE}, 0x4E809C00, 0xFFE0FC00, .DOT, {}}, }, + // ========================================================================= + // Byte / half / signed scalar loads & stores (pre / post / register offset) + // and vector LDP/STP/LDUR/STUR -- reusing the standard addressing encodings. + // ========================================================================= + .LDRB_POST = { {.LDRB_POST, {.W_REG, .MEM, .NONE, .NONE}, {.RT, .OFFSET_BASE_POST, .NONE, .NONE}, 0x38400400, 0xFFE00C00, .BASE, {}} }, + .LDRB_PRE = { {.LDRB_PRE, {.W_REG, .MEM, .NONE, .NONE}, {.RT, .OFFSET_BASE_PRE, .NONE, .NONE}, 0x38400C00, 0xFFE00C00, .BASE, {}} }, + .LDRB_REG = { {.LDRB_REG, {.W_REG, .MEM, .NONE, .NONE}, {.RT, .OFFSET_REG, .NONE, .NONE}, 0x38600800, 0xFFE00C00, .BASE, {}} }, + .LDRH_POST = { {.LDRH_POST, {.W_REG, .MEM, .NONE, .NONE}, {.RT, .OFFSET_BASE_POST, .NONE, .NONE}, 0x78400400, 0xFFE00C00, .BASE, {}} }, + .LDRH_PRE = { {.LDRH_PRE, {.W_REG, .MEM, .NONE, .NONE}, {.RT, .OFFSET_BASE_PRE, .NONE, .NONE}, 0x78400C00, 0xFFE00C00, .BASE, {}} }, + .LDRH_REG = { {.LDRH_REG, {.W_REG, .MEM, .NONE, .NONE}, {.RT, .OFFSET_REG, .NONE, .NONE}, 0x78600800, 0xFFE00C00, .BASE, {}} }, + .STRB_POST = { {.STRB_POST, {.W_REG, .MEM, .NONE, .NONE}, {.RT, .OFFSET_BASE_POST, .NONE, .NONE}, 0x38000400, 0xFFE00C00, .BASE, {}} }, + .STRB_PRE = { {.STRB_PRE, {.W_REG, .MEM, .NONE, .NONE}, {.RT, .OFFSET_BASE_PRE, .NONE, .NONE}, 0x38000C00, 0xFFE00C00, .BASE, {}} }, + .STRB_REG = { {.STRB_REG, {.W_REG, .MEM, .NONE, .NONE}, {.RT, .OFFSET_REG, .NONE, .NONE}, 0x38200800, 0xFFE00C00, .BASE, {}} }, + .STRH_POST = { {.STRH_POST, {.W_REG, .MEM, .NONE, .NONE}, {.RT, .OFFSET_BASE_POST, .NONE, .NONE}, 0x78000400, 0xFFE00C00, .BASE, {}} }, + .STRH_PRE = { {.STRH_PRE, {.W_REG, .MEM, .NONE, .NONE}, {.RT, .OFFSET_BASE_PRE, .NONE, .NONE}, 0x78000C00, 0xFFE00C00, .BASE, {}} }, + .STRH_REG = { {.STRH_REG, {.W_REG, .MEM, .NONE, .NONE}, {.RT, .OFFSET_REG, .NONE, .NONE}, 0x78200800, 0xFFE00C00, .BASE, {}} }, + // Signed register-offset loads (sign-extend to W or X). + .LDRSB_REG = { + {.LDRSB_REG, {.W_REG, .MEM, .NONE, .NONE}, {.RT, .OFFSET_REG, .NONE, .NONE}, 0x38E00800, 0xFFE00C00, .BASE, {}}, + {.LDRSB_REG, {.X_REG, .MEM, .NONE, .NONE}, {.RT, .OFFSET_REG, .NONE, .NONE}, 0x38A00800, 0xFFE00C00, .BASE, {is_64=true}}, + }, + .LDRSH_REG = { + {.LDRSH_REG, {.W_REG, .MEM, .NONE, .NONE}, {.RT, .OFFSET_REG, .NONE, .NONE}, 0x78E00800, 0xFFE00C00, .BASE, {}}, + {.LDRSH_REG, {.X_REG, .MEM, .NONE, .NONE}, {.RT, .OFFSET_REG, .NONE, .NONE}, 0x78A00800, 0xFFE00C00, .BASE, {is_64=true}}, + }, + .LDRSW_REG = { {.LDRSW_REG, {.X_REG, .MEM, .NONE, .NONE}, {.RT, .OFFSET_REG, .NONE, .NONE}, 0xB8A00800, 0xFFE00C00, .BASE, {is_64=true}} }, + // Vector load/store pair (S/D/Q) and unscaled (LDUR/STUR). + .LDP_V = { + {.LDP_V, {.S_REG, .S_REG, .MEM, .NONE}, {.RT, .RT2, .OFFSET_BASE_S9, .NONE}, 0x2D400000, 0xFFC00000, .NEON, {}}, + {.LDP_V, {.D_REG, .D_REG, .MEM, .NONE}, {.RT, .RT2, .OFFSET_BASE_S9, .NONE}, 0x6D400000, 0xFFC00000, .NEON, {}}, + {.LDP_V, {.Q_REG, .Q_REG, .MEM, .NONE}, {.RT, .RT2, .OFFSET_BASE_S9, .NONE}, 0xAD400000, 0xFFC00000, .NEON, {}}, + }, + .STP_V = { + {.STP_V, {.S_REG, .S_REG, .MEM, .NONE}, {.RT, .RT2, .OFFSET_BASE_S9, .NONE}, 0x2D000000, 0xFFC00000, .NEON, {}}, + {.STP_V, {.D_REG, .D_REG, .MEM, .NONE}, {.RT, .RT2, .OFFSET_BASE_S9, .NONE}, 0x6D000000, 0xFFC00000, .NEON, {}}, + {.STP_V, {.Q_REG, .Q_REG, .MEM, .NONE}, {.RT, .RT2, .OFFSET_BASE_S9, .NONE}, 0xAD000000, 0xFFC00000, .NEON, {}}, + }, + .LDUR_V = { + {.LDUR_V, {.S_REG, .MEM, .NONE, .NONE}, {.RT, .OFFSET_BASE_S9, .NONE, .NONE}, 0xBC400000, 0xFFE00C00, .NEON, {}}, + {.LDUR_V, {.D_REG, .MEM, .NONE, .NONE}, {.RT, .OFFSET_BASE_S9, .NONE, .NONE}, 0xFC400000, 0xFFE00C00, .NEON, {}}, + {.LDUR_V, {.Q_REG, .MEM, .NONE, .NONE}, {.RT, .OFFSET_BASE_S9, .NONE, .NONE}, 0x3CC00000, 0xFFE00C00, .NEON, {}}, + }, + .STUR_V = { + {.STUR_V, {.S_REG, .MEM, .NONE, .NONE}, {.RT, .OFFSET_BASE_S9, .NONE, .NONE}, 0xBC000000, 0xFFE00C00, .NEON, {}}, + {.STUR_V, {.D_REG, .MEM, .NONE, .NONE}, {.RT, .OFFSET_BASE_S9, .NONE, .NONE}, 0xFC000000, 0xFFE00C00, .NEON, {}}, + {.STUR_V, {.Q_REG, .MEM, .NONE, .NONE}, {.RT, .OFFSET_BASE_S9, .NONE, .NONE}, 0x3C800000, 0xFFE00C00, .NEON, {}}, + }, + // ========================================================================= // ยง8 Branches // ========================================================================= diff --git a/core/rexcode/arm64/tablegen/generated/decode_tables.odin b/core/rexcode/arm64/tablegen/generated/decode_tables.odin index 7937d7802..75ffc3649 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 := [2229]lib.Decode_Entry{ +DECODE_ENTRIES := [2258]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,8 +60,8 @@ DECODE_ENTRIES := [2229]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_S,.P_REG_MERGE,.P_REG_MERGE,.Z_REG_B}, {.ZA_TILE_NUM_S,.PG,.PM3,.VN}, 0xA0800000, 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_D,.P_REG_MERGE,.P_REG_MERGE,.Z_REG_H}, {.ZA_TILE_NUM_D,.PG,.PM3,.VN}, 0xA0C00010, 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, {} }, @@ -92,13 +92,13 @@ DECODE_ENTRIES := [2229]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_B,.W_REG,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x05203800, 0xFFFFFC00, .SVE, {} }, - { .SVE_DUP_Z, {.Z_REG_D,.X_REG,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x05E03800, 0xFFFFFC00, .SVE, {is_64=true} }, - { .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_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_DUP_Z, {.Z_REG_B,.W_REG,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x05203800, 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_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, {} }, @@ -117,91 +117,91 @@ DECODE_ENTRIES := [2229]lib.Decode_Entry{ { .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_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04600000, 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_ADD_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04A00000, 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_SUB_Z, {.Z_REG_B,.Z_REG_B,.Z_REG_B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04200400, 0xFFE0FC00, .SVE, {} }, + { .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_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04600400, 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_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04E01000, 0xFFE0FC00, .SVE, {is_64=true} }, { .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_SQADD_Z, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04601000, 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_UQADD_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04A01400, 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_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04E01800, 0xFFE0FC00, .SVE, {is_64=true} }, - { .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_SQSUB_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04A01800, 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_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04E01C00, 0xFFE0FC00, .SVE, {is_64=true} }, - { .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_FADD_Z, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65C00000, 0xFFE0FC00, .SVE, {is_64=true} }, + { .SVE_FSUB_Z, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65C00400, 0xFFE0FC00, .SVE, {is_64=true} }, { .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_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65400800, 0xFFE0FC00, .SVE, {} }, { .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_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_FRECPS, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65801800, 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_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65801C00, 0xFFE0FC00, .SVE, {} }, { .SVE_FRSQRTS, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65401C00, 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_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x65C00C00, 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_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_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_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_ZIP1_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05A06000, 0xFFE0FC00, .SVE, {} }, { .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_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_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_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_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05A06800, 0xFFE0FC00, .SVE, {} }, + { .SVE_UZP1_Z, {.Z_REG_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05606800, 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_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_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_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05E07000, 0xFFE0FC00, .SVE, {is_64=true} }, + { .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_B,.Z_REG_B,.Z_REG_B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05207000, 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_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_TRN2_Z, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05A07400, 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_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_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_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_SQRDMLAH, {.Z_REG_B,.Z_REG_B,.Z_REG_B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x44007000, 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_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_ADCLB, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4500D000, 0xFFE0FC00, .SVE2, {} }, + { .SVE_ADCLB, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4540D000, 0xFFE0FC00, .SVE2, {is_64=true} }, { .SVE_ADCLT, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4500D400, 0xFFE0FC00, .SVE2, {} }, { .SVE_ADCLT, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4540D400, 0xFFE0FC00, .SVE2, {is_64=true} }, - { .SVE_SBCLB, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4580D000, 0xFFE0FC00, .SVE2, {} }, { .SVE_SBCLB, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x45C0D000, 0xFFE0FC00, .SVE2, {is_64=true} }, - { .SVE_SBCLT, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4580D400, 0xFFE0FC00, .SVE2, {} }, + { .SVE_SBCLB, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4580D000, 0xFFE0FC00, .SVE2, {} }, { .SVE_SBCLT, {.Z_REG_D,.Z_REG_D,.Z_REG_D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x45C0D400, 0xFFE0FC00, .SVE2, {is_64=true} }, + { .SVE_SBCLT, {.Z_REG_S,.Z_REG_S,.Z_REG_S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4580D400, 0xFFE0FC00, .SVE2, {} }, { .SVE_TBL2, {.Z_REG_B,.Z_REG_B,.Z_REG_B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05202800, 0xFFE0FC00, .SVE2, {} }, { .SVE_TBX, {.Z_REG_B,.Z_REG_B,.Z_REG_B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x05202C00, 0xFFE0FC00, .SVE2, {} }, { .SVE_HISTSEG, {.Z_REG_B,.Z_REG_B,.Z_REG_B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4520A000, 0xFFE0FC00, .SVE2, {} }, @@ -246,165 +246,165 @@ DECODE_ENTRIES := [2229]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_B,.Z_REG_B}, {.PD,.PG,.VN,.VM}, 0x2400A010, 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_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_S,.Z_REG_S}, {.PD,.PG,.VN,.VM}, 0x24808000, 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_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_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_S,.Z_REG_S}, {.PD,.PG,.VN,.VM}, 0x24800010, 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_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_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_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_H,.Z_REG_H}, {.PD,.PG,.VN,.VM}, 0x24400000, 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_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_H,.Z_REG_H}, {.PD,.PG,.VN,.VM}, 0x45608000, 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_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_H,.Z_REG_H}, {.PD,.PG,.VN,.VM}, 0x45608010, 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_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_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_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_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x04400000, 0xFFE0E000, .SVE, {} }, + { .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_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x04C10000, 0xFFE0E000, .SVE, {is_64=true} }, { .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_SUB_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.Z_REG_B}, {.VD,.PG,.VD,.VM}, 0x04010000, 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_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_B,.P_REG_MERGE,.Z_REG_B,.Z_REG_B}, {.VD,.PG,.VD,.VM}, 0x04100000, 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_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_B,.P_REG_MERGE,.Z_REG_B,.Z_REG_B}, {.VD,.PG,.VD,.VM}, 0x04120000, 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_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_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_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x04930000, 0xFFE0E000, .SVE, {} }, { .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_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x04D50000, 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_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_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_D,.P_REG_MERGE,.Z_REG_D,.Z_REG_D}, {.VD,.PG,.VD,.VM}, 0x04C80000, 0xFFE0E000, .SVE, {is_64=true} }, { .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_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_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_UMAX_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x04490000, 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_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x048A0000, 0xFFE0E000, .SVE, {} }, { .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_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_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x044C0000, 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_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_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x048D0000, 0xFFE0E000, .SVE, {} }, { .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_B,.P_REG_MERGE,.Z_REG_B,.Z_REG_B}, {.VD,.PG,.VD,.VM}, 0x040D0000, 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_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_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_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_B,.P_REG_MERGE,.Z_REG_B,.Z_REG_B}, {.VD,.PG,.VD,.VM}, 0x04108000, 0xFFE0E000, .SVE, {} }, { .SVE_ASR_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x04908000, 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_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_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_B,.P_REG_MERGE,.Z_REG_B,.Z_REG_B}, {.VD,.PG,.VD,.VM}, 0x04138000, 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_B,.P_REG_MERGE,.Z_REG_B,.Z_REG_B}, {.VD,.PG,.VD,.VM}, 0x04118000, 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_LSR_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.Z_REG_B}, {.VD,.PG,.VD,.VM}, 0x04118000, 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_ABS_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.NONE}, {.VD,.PG,.VN,.NONE}, 0x0416A000, 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_ABS_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.NONE}, {.VD,.PG,.VN,.NONE}, 0x0496A000, 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_NEG_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.NONE}, {.VD,.PG,.VN,.NONE}, 0x0457A000, 0xFFE0E000, .SVE, {} }, + { .SVE_NEG_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.NONE}, {.VD,.PG,.VN,.NONE}, 0x0497A000, 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_B,.P_REG_MERGE,.Z_REG_B,.NONE}, {.VD,.PG,.VN,.NONE}, 0x0418A000, 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_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_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_H,.P_REG_MERGE,.Z_REG_H,.NONE}, {.VD,.PG,.VN,.NONE}, 0x0459A000, 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_H,.P_REG_MERGE,.Z_REG_H,.NONE}, {.VD,.PG,.VN,.NONE}, 0x045AA000, 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_CLZ_PRED, {.Z_REG_B,.P_REG_MERGE,.Z_REG_B,.NONE}, {.VD,.PG,.VN,.NONE}, 0x0419A000, 0xFFE0E000, .SVE, {} }, { .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_D,.P_REG_MERGE,.Z_REG_D,.NONE}, {.VD,.PG,.VN,.NONE}, 0x04DAA000, 0xFFE0E000, .SVE, {is_64=true} }, { .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_CNT_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.NONE}, {.VD,.PG,.VN,.NONE}, 0x045AA000, 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_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_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_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x65818000, 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_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_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_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_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_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x654D8000, 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_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x65468000, 0xFFE0E000, .SVE, {} }, { .SVE_FMAX_PRED, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VD,.VM}, 0x65868000, 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_FMIN_PRED, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x65478000, 0xFFE0E000, .SVE, {} }, { .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_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_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VD,.VM}, 0x65448000, 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_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_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_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_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_FNEG_Z, {.Z_REG_S,.P_REG_MERGE,.Z_REG_S,.NONE}, {.VD,.PG,.VN,.NONE}, 0x049DA000, 0xFFE0E000, .SVE, {} }, { .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_H,.P_REG_MERGE,.Z_REG_H,.NONE}, {.VD,.PG,.VN,.NONE}, 0x654DA000, 0xFFE0E000, .SVE, {} }, { .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_S,.P_REG_MERGE,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VN,.VM}, 0x65A00000, 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_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_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_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_FNMLS, {.Z_REG_H,.P_REG_MERGE,.Z_REG_H,.Z_REG_H}, {.VD,.PG,.VN,.VM}, 0x65606000, 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_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_CMPEQ, {.P_REG,.P_REG_ZERO,.Z_REG_S,.Z_REG_S}, {.PD,.PG,.VN,.VM}, 0x2480A000, 0xFFE0E000, .SVE, {sets_flags=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 := [2229]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_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_HISTCNT, {.Z_REG_S,.P_REG_ZERO,.Z_REG_S,.Z_REG_S}, {.VD,.PG,.VN,.VM}, 0x45A0C000, 0xFFE0E000, .SVE2, {} }, { .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, {} }, @@ -481,8 +481,8 @@ DECODE_ENTRIES := [2229]lib.Decode_Entry{ { .STLXR, {.W_REG,.X_REG,.MEM,.NONE}, {.RD,.RT,.OFFSET_BASE_A,.NONE}, 0xC800FC00, 0xFFE0FC00, .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, {} }, + { .LDAXP, {.X_REG,.X_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_A,.NONE}, 0xC87F8000, 0xFFFF8000, .BASE, {is_64=true} }, { .LDXRB, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_A,.NONE,.NONE}, 0x085F7C00, 0xFFE0FC00, .BASE, {} }, { .STXRB, {.W_REG,.W_REG,.MEM,.NONE}, {.RD,.RT,.OFFSET_BASE_A,.NONE}, 0x08007C00, 0xFFE0FC00, .BASE, {} }, { .LDAXRB, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_A,.NONE,.NONE}, 0x085FFC00, 0xFFE0FC00, .BASE, {} }, @@ -491,12 +491,12 @@ DECODE_ENTRIES := [2229]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, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xC8A07C00, 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, {} }, + { .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} }, - { .CASL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xC8A0FC00, 0xFFE0FC00, .LSE, {is_64=true} }, + { .CASA, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0x88E07C00, 0xFFE0FC00, .LSE, {} }, { .CASL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0x88A0FC00, 0xFFE0FC00, .LSE, {} }, + { .CASL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xC8A0FC00, 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, {} }, @@ -509,14 +509,14 @@ DECODE_ENTRIES := [2229]lib.Decode_Entry{ { .CASALH, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0x48E0FC00, 0xFFE0FC00, .LSE, {} }, { .CASP, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0x48207C00, 0xFFE0FC00, .LSE, {is_64=true} }, { .CASP, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0x08207C00, 0xFFE0FC00, .LSE, {} }, - { .CASPA, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0x08607C00, 0xFFE0FC00, .LSE, {} }, { .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, {} }, + { .CASPA, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0x08607C00, 0xFFE0FC00, .LSE, {} }, { .CASPL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0x4820FC00, 0xFFE0FC00, .LSE, {is_64=true} }, - { .CASPAL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0x0860FC00, 0xFFE0FC00, .LSE, {} }, + { .CASPL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0x0820FC00, 0xFFE0FC00, .LSE, {} }, { .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, {} }, + { .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} }, + { .STXP, {.W_REG,.W_REG,.W_REG,.MEM}, {.RD,.RT,.RT2,.OFFSET_BASE_A}, 0x88200000, 0xFFE08000, .BASE, {} }, { .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, {.W_REG,.W_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0x29400000, 0xFFC00000, .BASE, {} }, @@ -524,33 +524,33 @@ DECODE_ENTRIES := [2229]lib.Decode_Entry{ { .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, {.X_REG,.X_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_PRE,.NONE}, 0xA9C00000, 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, {.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, {} }, { .STP_POST, {.X_REG,.X_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_POST,.NONE}, 0xA8800000, 0xFFC00000, .BASE, {is_64=true} }, + { .STP_POST, {.W_REG,.W_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_POST,.NONE}, 0x28800000, 0xFFC00000, .BASE, {} }, { .LDPSW_PRE, {.X_REG,.X_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_PRE,.NONE}, 0x69C00000, 0xFFC00000, .BASE, {is_64=true} }, { .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, {.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, {} }, + { .STNP, {.X_REG,.X_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0xA8000000, 0xFFC00000, .BASE, {is_64=true} }, { .STGP, {.X_REG,.X_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0x69000000, 0xFFC00000, .MTE, {is_64=true} }, { .MOV_REG, {.W_REG,.W_REG,.NONE,.NONE}, {.RD,.RM,.NONE,.NONE}, 0x2A0003E0, 0xFFE0FFE0, .BASE, {} }, { .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, {} }, { .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} }, + { .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} }, - { .CMN_ER, {.XSP_REG,.X_EXTENDED,.NONE,.NONE}, {.RN,.RM,.NONE,.NONE}, 0xAB20001F, 0xFFE0001F, .BASE, {sets_flags=true, is_64=true} }, + { .CMP_ER, {.WSP_REG,.W_EXTENDED,.NONE,.NONE}, {.RN,.RM,.NONE,.NONE}, 0x6B20001F, 0xFFE0001F, .BASE, {sets_flags=true} }, { .CMN_ER, {.WSP_REG,.W_EXTENDED,.NONE,.NONE}, {.RN,.RM,.NONE,.NONE}, 0x2B20001F, 0xFFE0001F, .BASE, {sets_flags=true} }, + { .CMN_ER, {.XSP_REG,.X_EXTENDED,.NONE,.NONE}, {.RN,.RM,.NONE,.NONE}, 0xAB20001F, 0xFFE0001F, .BASE, {sets_flags=true, is_64=true} }, { .NEG_SR, {.X_REG,.X_SHIFTED,.NONE,.NONE}, {.RD,.RM,.NONE,.NONE}, 0xCB0003E0, 0xFF2003E0, .BASE, {is_64=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} }, { .NEGS, {.W_REG,.W_SHIFTED,.NONE,.NONE}, {.RD,.RM,.NONE,.NONE}, 0x6B0003E0, 0xFF2003E0, .BASE, {sets_flags=true} }, + { .NEGS, {.X_REG,.X_SHIFTED,.NONE,.NONE}, {.RD,.RM,.NONE,.NONE}, 0xEB0003E0, 0xFF2003E0, .BASE, {sets_flags=true, is_64=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} }, @@ -591,12 +591,18 @@ DECODE_ENTRIES := [2229]lib.Decode_Entry{ { .EON_SR, {.X_REG,.X_REG,.X_SHIFTED,.NONE}, {.RD,.RN,.RM,.NONE}, 0xCA200000, 0xFF200000, .BASE, {is_64=true} }, { .LD1, {.V_2D,.MEM,.NONE,.NONE}, {.VD,.OFFSET_BASE_A,.NONE,.NONE}, 0x4C407C00, 0xFFFFFC00, .NEON, {} }, { .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_4S,.MEM,.NONE,.NONE}, {.VD,.OFFSET_BASE_A,.NONE,.NONE}, 0x4C007800, 0xFFFFF800, .NEON, {} }, + { .LD1, {.V_8H,.MEM,.NONE,.NONE}, {.VD,.OFFSET_BASE_A,.NONE,.NONE}, 0x4C407400, 0xFFFFF400, .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, {} }, { .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, {} }, + { .LDP_V, {.D_REG,.D_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0x6D400000, 0xFFC00000, .NEON, {} }, + { .LDP_V, {.S_REG,.S_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0x2D400000, 0xFFC00000, .NEON, {} }, + { .LDP_V, {.Q_REG,.Q_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0xAD400000, 0xFFC00000, .NEON, {} }, + { .STP_V, {.D_REG,.D_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0x6D000000, 0xFFC00000, .NEON, {} }, + { .STP_V, {.Q_REG,.Q_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0xAD000000, 0xFFC00000, .NEON, {} }, + { .STP_V, {.S_REG,.S_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0x2D000000, 0xFFC00000, .NEON, {} }, { .AESE, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E284800, 0xFFFFFC00, .CRYPTO, {} }, { .AESD, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E285800, 0xFFFFFC00, .CRYPTO, {} }, { .AESMC, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E286800, 0xFFFFFC00, .CRYPTO, {} }, @@ -606,357 +612,357 @@ DECODE_ENTRIES := [2229]lib.Decode_Entry{ { .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_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_8H,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E60B800, 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, {} }, - { .ABS_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA0B800, 0xFFFFFC00, .NEON, {} }, + { .NEG_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EA0B800, 0xFFFFFC00, .NEON, {} }, + { .NEG_V, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E20B800, 0xFFFFFC00, .NEON, {} }, + { .NEG_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EA0B800, 0xFFFFFC00, .NEON, {} }, + { .NEG_V, {.V_4H,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E60B800, 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_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_8B,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E20B800, 0xFFFFFC00, .NEON, {} }, + { .ABS_V, {.V_4H,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E60B800, 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_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, {} }, + { .ADDV, {.H_REG,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E71B800, 0xFFFFFC00, .NEON, {} }, { .ADDV, {.H_REG,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E71B800, 0xFFFFFC00, .NEON, {} }, + { .ADDV, {.B_REG,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E31B800, 0xFFFFFC00, .NEON, {} }, + { .ADDV, {.B_REG,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E31B800, 0xFFFFFC00, .NEON, {} }, + { .SADDLP, {.V_2D,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA02800, 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, {} }, + { .SADDLP, {.V_4H,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E202800, 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_4H,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E202800, 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_1D,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EA02800, 0xFFFFFC00, .NEON, {} }, { .UADDLP, {.V_8H,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E202800, 0xFFFFFC00, .NEON, {} }, + { .SADALP, {.V_2S,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E606800, 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_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_4H,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E206800, 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_8H,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E206800, 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, {} }, { .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, {.S_REG,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E703800, 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, {} }, - { .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_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E303800, 0xFFFFFC00, .NEON, {} }, + { .SADDLV, {.S_REG,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E703800, 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, {} }, { .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_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E703800, 0xFFFFFC00, .NEON, {} }, { .UADDLV, {.S_REG,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E703800, 0xFFFFFC00, .NEON, {} }, - { .SMAXV, {.B_REG,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E30A800, 0xFFFFFC00, .NEON, {} }, - { .SMAXV, {.S_REG,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EB0A800, 0xFFFFFC00, .NEON, {} }, + { .UADDLV, {.H_REG,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E303800, 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, {.S_REG,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EB0A800, 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, {} }, + { .SMAXV, {.B_REG,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E30A800, 0xFFFFFC00, .NEON, {} }, + { .SMAXV, {.H_REG,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E70A800, 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, {.H_REG,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E71A800, 0xFFFFFC00, .NEON, {} }, + { .UMAXV, {.B_REG,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E30A800, 0xFFFFFC00, .NEON, {} }, + { .UMAXV, {.H_REG,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E70A800, 0xFFFFFC00, .NEON, {} }, + { .UMAXV, {.H_REG,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E70A800, 0xFFFFFC00, .NEON, {} }, + { .SMINV, {.S_REG,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EB1A800, 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, {} }, + { .SMINV, {.H_REG,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E71A800, 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, {.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, {.B_REG,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E31A800, 0xFFFFFC00, .NEON, {} }, + { .UMINV, {.B_REG,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E31A800, 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, {} }, - { .XTN2, {.V_4S,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA12800, 0xFFFFFC00, .NEON, {} }, + { .XTN, {.V_2S,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA12800, 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, {} }, + { .XTN2, {.V_4S,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA12800, 0xFFFFFC00, .NEON, {} }, { .SQXTN, {.V_2S,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA14800, 0xFFFFFC00, .NEON, {} }, + { .SQXTN, {.V_8B,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E214800, 0xFFFFFC00, .NEON, {} }, { .SQXTN, {.V_4H,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E614800, 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_16B,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E214800, 0xFFFFFC00, .NEON, {} }, + { .UQXTN, {.V_8B,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E214800, 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_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, {} }, - { .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_4S,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EA12800, 0xFFFFFC00, .NEON, {} }, { .SQXTUN2, {.V_8H,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E612800, 0xFFFFFC00, .NEON, {} }, { .FNEG_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EF8F800, 0xFFFFFC00, .FP16, {} }, + { .FNEG_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EE0F800, 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_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_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_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_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EF9F800, 0xFFFFFC00, .FP16, {} }, + { .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, {} }, - { .FMAXV_V, {.H_REG,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E30F800, 0xFFFFFC00, .FP16, {} }, + { .FSQRT_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EA1F800, 0xFFFFFC00, .NEON, {} }, { .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, {} }, + { .FMAXV_V, {.H_REG,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E30F800, 0xFFFFFC00, .FP16, {} }, { .FMINV_V, {.H_REG,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EB0F800, 0xFFFFFC00, .FP16, {} }, + { .FMINV_V, {.H_REG,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EB0F800, 0xFFFFFC00, .FP16, {} }, { .FMINV_V, {.S_REG,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EB0F800, 0xFFFFFC00, .NEON, {} }, - { .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, {.S_REG,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EB0C800, 0xFFFFFC00, .NEON, {} }, { .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_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_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA1D800, 0xFFFFFC00, .NEON, {} }, + { .FRECPE, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EF9D800, 0xFFFFFC00, .FP16, {} }, { .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_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA1D800, 0xFFFFFC00, .NEON, {} }, + { .FRSQRTE, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EF9D800, 0xFFFFFC00, .FP16, {} }, { .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_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, {} }, + { .FRINTA_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E218800, 0xFFFFFC00, .NEON, {} }, + { .FRINTA_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E218800, 0xFFFFFC00, .NEON, {} }, + { .FRINTI_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EF99800, 0xFFFFFC00, .FP16, {} }, { .FRINTI_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EF99800, 0xFFFFFC00, .FP16, {} }, { .FRINTI_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EE19800, 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_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E219800, 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_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E219800, 0xFFFFFC00, .NEON, {} }, { .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_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E618800, 0xFFFFFC00, .NEON, {} }, { .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_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, {} }, + { .FRINTN_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E798800, 0xFFFFFC00, .FP16, {} }, { .FRINTP_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA18800, 0xFFFFFC00, .NEON, {} }, + { .FRINTP_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EF98800, 0xFFFFFC00, .FP16, {} }, + { .FRINTP_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA18800, 0xFFFFFC00, .NEON, {} }, + { .FRINTP_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EE18800, 0xFFFFFC00, .NEON, {} }, + { .FRINTP_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EF98800, 0xFFFFFC00, .FP16, {} }, { .FRINTX_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E619800, 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, {} }, + { .FRINTX_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E799800, 0xFFFFFC00, .FP16, {} }, { .FRINTX_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E219800, 0xFFFFFC00, .NEON, {} }, + { .FRINTX_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E219800, 0xFFFFFC00, .NEON, {} }, + { .FRINTZ_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EE19800, 0xFFFFFC00, .NEON, {} }, { .FRINTZ_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EF99800, 0xFFFFFC00, .FP16, {} }, + { .FRINTZ_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EF99800, 0xFFFFFC00, .FP16, {} }, { .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_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E21D800, 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_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E21D800, 0xFFFFFC00, .NEON, {} }, { .SCVTF_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E79D800, 0xFFFFFC00, .FP16, {} }, - { .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_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E21D800, 0xFFFFFC00, .NEON, {} }, - { .FCVTAS_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E79C800, 0xFFFFFC00, .FP16, {} }, + { .UCVTF_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E61D800, 0xFFFFFC00, .NEON, {} }, + { .UCVTF_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E79D800, 0xFFFFFC00, .FP16, {} }, + { .UCVTF_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E79D800, 0xFFFFFC00, .FP16, {} }, + { .UCVTF_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E21D800, 0xFFFFFC00, .NEON, {} }, + { .FCVTAS_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E61C800, 0xFFFFFC00, .NEON, {} }, { .FCVTAS_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E79C800, 0xFFFFFC00, .FP16, {} }, + { .FCVTAS_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E79C800, 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_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_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_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_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E79B800, 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, {} }, + { .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, {} }, + { .FCVTMU_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E79B800, 0xFFFFFC00, .FP16, {} }, + { .FCVTMU_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E21B800, 0xFFFFFC00, .NEON, {} }, { .FCVTMU_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E21B800, 0xFFFFFC00, .NEON, {} }, { .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, {} }, { .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_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E79A800, 0xFFFFFC00, .FP16, {} }, { .FCVTNS_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E61A800, 0xFFFFFC00, .NEON, {} }, { .FCVTNS_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E21A800, 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, {} }, + { .FCVTNS_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E21A800, 0xFFFFFC00, .NEON, {} }, { .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_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E79A800, 0xFFFFFC00, .FP16, {} }, { .FCVTNU_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E21A800, 0xFFFFFC00, .NEON, {} }, { .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, {} }, + { .FCVTNU_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E79A800, 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_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA1A800, 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_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EE1A800, 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_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, {} }, + { .FCVTPU_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EF9A800, 0xFFFFFC00, .FP16, {} }, + { .FCVTPU_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EA1A800, 0xFFFFFC00, .NEON, {} }, + { .FCVTZS_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA1B800, 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, {} }, - { .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, {} }, + { .FCVTZS_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA1B800, 0xFFFFFC00, .NEON, {} }, { .FCVTZU_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EA1B800, 0xFFFFFC00, .NEON, {} }, + { .FCVTZU_V, {.V_4H_FP16,.V_4H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EF9B800, 0xFFFFFC00, .FP16, {} }, + { .FCVTZU_V, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EF9B800, 0xFFFFFC00, .FP16, {} }, + { .FCVTZU_V, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EE1B800, 0xFFFFFC00, .NEON, {} }, { .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, {} }, + { .FCVTL, {.V_2D,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E617800, 0xFFFFFC00, .NEON, {} }, { .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, {} }, { .FCVTN, {.V_4H_FP16,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E216800, 0xFFFFFC00, .FP16, {} }, + { .FCVTN, {.V_2S,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E616800, 0xFFFFFC00, .NEON, {} }, { .FCVTN2, {.V_8H_FP16,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E216800, 0xFFFFFC00, .FP16, {} }, { .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_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_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_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EE0D800, 0xFFFFFC00, .NEON, {} }, - { .FCMLT, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EF8E800, 0xFFFFFC00, .FP16, {} }, { .FCMLT, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA0E800, 0xFFFFFC00, .NEON, {} }, + { .FCMLT, {.V_8H_FP16,.V_8H_FP16,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EF8E800, 0xFFFFFC00, .FP16, {} }, { .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_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_8H,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E609800, 0xFFFFFC00, .NEON, {} }, + { .FCMLT, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA0E800, 0xFFFFFC00, .NEON, {} }, + { .CMLE, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E209800, 0xFFFFFC00, .NEON, {} }, { .CMLE, {.V_2D,.V_2D,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EE09800, 0xFFFFFC00, .NEON, {} }, + { .CMLE, {.V_8H,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E609800, 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_4H,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E609800, 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_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_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_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E20A800, 0xFFFFFC00, .NEON, {} }, + { .CMLT, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA0A800, 0xFFFFFC00, .NEON, {} }, + { .CMLT, {.V_4H,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E60A800, 0xFFFFFC00, .NEON, {} }, + { .CMLT, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA0A800, 0xFFFFFC00, .NEON, {} }, + { .CMLT, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0E20A800, 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_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_4S,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4F10A400, 0xFFFFFC00, .NEON, {} }, + { .SXTL, {.V_8H,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0F08A400, 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, {} }, + { .SXTL2, {.V_4S,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4F10A400, 0xFFFFFC00, .NEON, {} }, + { .SXTL2, {.V_2D,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4F20A400, 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, {} }, + { .UXTL, {.V_8H,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2F08A400, 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_2S,.W_REG,.NONE,.NONE}, {.VD,.RN,.NONE,.NONE}, 0x0E040C00, 0xFFFFFC00, .NEON, {} }, - { .DUP_V, {.V_2D,.X_REG,.NONE,.NONE}, {.VD,.RN,.NONE,.NONE}, 0x4E080C00, 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, {} }, + { .UXTL2, {.V_4S,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6F10A400, 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_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_8B,.W_REG,.NONE,.NONE}, {.VD,.RN,.NONE,.NONE}, 0x0E010C00, 0xFFFFFC00, .NEON, {} }, + { .DUP_V, {.V_2S,.W_REG,.NONE,.NONE}, {.VD,.RN,.NONE,.NONE}, 0x0E040C00, 0xFFFFFC00, .NEON, {} }, + { .DUP_V, {.V_2D,.X_REG,.NONE,.NONE}, {.VD,.RN,.NONE,.NONE}, 0x4E080C00, 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_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, {} }, + { .RBIT_V, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E605800, 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, {} }, + { .REV32_V, {.V_4H,.V_4H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E600800, 0xFFFFFC00, .NEON, {} }, + { .REV32_V, {.V_8H,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6E600800, 0xFFFFFC00, .NEON, {} }, + { .REV64, {.V_8H,.V_8H,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E600800, 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, {} }, { .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_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_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_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA04800, 0xFFFFFC00, .NEON, {} }, + { .REV64, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA00800, 0xFFFFFC00, .NEON, {} }, { .CLS_V, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4E204800, 0xFFFFFC00, .NEON, {} }, + { .CLS_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA04800, 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_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA04800, 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_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EA04800, 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, {} }, + { .CLZ_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EA04800, 0xFFFFFC00, .NEON, {} }, + { .CLZ_V, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2E204800, 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, {} }, - { .URECPE_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA1C800, 0xFFFFFC00, .NEON, {} }, { .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, {} }, + { .URECPE_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA1C800, 0xFFFFFC00, .NEON, {} }, { .URSQRTE_V, {.V_2S,.V_2S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x2EA1C800, 0xFFFFFC00, .NEON, {} }, + { .URSQRTE_V, {.V_4S,.V_4S,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x6EA1C800, 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_S,.VEC_INDEX,.W_REG,.NONE}, {.VD,.NEON_IDX5,.RN,.NONE}, 0x4E041C00, 0xFFE7FC00, .NEON, {} }, + { .DUP_V, {.V_4S,.V_ELEM_S,.VEC_INDEX,.NONE}, {.VD,.VN,.NEON_IDX5,.NONE}, 0x4E040400, 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, {} }, + { .INS, {.V_ELEM_S,.VEC_INDEX,.W_REG,.NONE}, {.VD,.NEON_IDX5,.RN,.NONE}, 0x4E041C00, 0xFFE7FC00, .NEON, {} }, { .SHL_V, {.V_16B,.V_16B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x4F085400, 0xFFF8FC00, .NEON, {} }, - { .SQSHL_V, {.V_16B,.V_16B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x4F087400, 0xFFF8FC00, .NEON, {} }, + { .SHL_V, {.V_8B,.V_8B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x0F085400, 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, {} }, { .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_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_8B,.V_8B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x0F081400, 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, {} }, + { .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, {} }, - { .SRSHR, {.V_16B,.V_16B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x4F082400, 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, {} }, - { .URSHR, {.V_8B,.V_8B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x2F082400, 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, {} }, - { .SRSRA, {.V_16B,.V_16B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x4F083400, 0xFFF8FC00, .NEON, {} }, + { .URSHR, {.V_8B,.V_8B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x2F082400, 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, {} }, + { .SRSRA, {.V_16B,.V_16B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x4F083400, 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, {} }, + { .URSRA, {.V_8B,.V_8B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x2F083400, 0xFFF8FC00, .NEON, {} }, { .SLI, {.V_8B,.V_8B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x2F085400, 0xFFF8FC00, .NEON, {} }, - { .SRI, {.V_16B,.V_16B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x6F084400, 0xFFF8FC00, .NEON, {} }, + { .SLI, {.V_16B,.V_16B,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x6F085400, 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, {} }, { .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, {} }, @@ -980,18 +986,18 @@ DECODE_ENTRIES := [2229]lib.Decode_Entry{ { .DUP_V, {.V_8H,.V_ELEM_H,.VEC_INDEX,.NONE}, {.VD,.VN,.NEON_IDX5,.NONE}, 0x4E020400, 0xFFE3FC00, .NEON, {} }, { .DUP_V, {.V_4H,.V_ELEM_H,.VEC_INDEX,.NONE}, {.VD,.VN,.NEON_IDX5,.NONE}, 0x0E020400, 0xFFE3FC00, .NEON, {} }, { .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, {} }, + { .SHL_V, {.V_8H,.V_8H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x4F105400, 0xFFF0FC00, .NEON, {} }, { .SQSHL_V, {.V_4H,.V_4H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x0F107400, 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_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, {} }, + { .USHR, {.V_4H,.V_4H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x2F100400, 0xFFF0FC00, .NEON, {} }, { .SSRA, {.V_4H,.V_4H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x0F101400, 0xFFF0FC00, .NEON, {} }, + { .SSRA, {.V_8H,.V_8H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x4F101400, 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_8H,.V_8H,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x4F102400, 0xFFF0FC00, .NEON, {} }, @@ -1045,82 +1051,82 @@ DECODE_ENTRIES := [2229]lib.Decode_Entry{ { .BFMMLA, {.V_4S,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E40EC00, 0xFFE0FC00, .BF16, {} }, { .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_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, {} }, + { .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_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E208400, 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, {} }, { .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, {} }, - { .MUL_V, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E609C00, 0xFFE0FC00, .NEON, {} }, + { .SUB_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EE08400, 0xFFE0FC00, .NEON, {} }, + { .SUB_V, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E208400, 0xFFE0FC00, .NEON, {} }, { .MUL_V, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E209C00, 0xFFE0FC00, .NEON, {} }, + { .MUL_V, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E609C00, 0xFFE0FC00, .NEON, {} }, { .MUL_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA09C00, 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_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E209400, 0xFFE0FC00, .NEON, {} }, + { .MLA_V, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E209400, 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_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E609400, 0xFFE0FC00, .NEON, {} }, - { .MLS_V, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E209400, 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_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E209400, 0xFFE0FC00, .NEON, {} }, + { .MLS_V, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E609400, 0xFFE0FC00, .NEON, {} }, + { .MLS_V, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E609400, 0xFFE0FC00, .NEON, {} }, + { .MLS_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA09400, 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_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E600400, 0xFFE0FC00, .NEON, {} }, + { .SHADD, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E200400, 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_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_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_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, {} }, + { .UHADD, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E200400, 0xFFE0FC00, .NEON, {} }, + { .UHADD, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E200400, 0xFFE0FC00, .NEON, {} }, + { .UHADD, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E600400, 0xFFE0FC00, .NEON, {} }, + { .UHADD, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E600400, 0xFFE0FC00, .NEON, {} }, + { .UHADD, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA00400, 0xFFE0FC00, .NEON, {} }, { .SHSUB, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA02400, 0xFFE0FC00, .NEON, {} }, + { .SHSUB, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA02400, 0xFFE0FC00, .NEON, {} }, + { .SHSUB, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E602400, 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_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E602400, 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, {} }, - { .SRHADD, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA01400, 0xFFE0FC00, .NEON, {} }, + { .UHSUB, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E202400, 0xFFE0FC00, .NEON, {} }, + { .UHSUB, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E202400, 0xFFE0FC00, .NEON, {} }, { .SRHADD, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA01400, 0xFFE0FC00, .NEON, {} }, + { .SRHADD, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E601400, 0xFFE0FC00, .NEON, {} }, + { .SRHADD, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA01400, 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_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_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E200C00, 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_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA01400, 0xFFE0FC00, .NEON, {} }, { .SQADD, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EE00C00, 0xFFE0FC00, .NEON, {} }, - { .UQADD, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EE00C00, 0xFFE0FC00, .NEON, {} }, + { .SQADD, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E600C00, 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_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA00C00, 0xFFE0FC00, .NEON, {} }, + { .SQADD, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA00C00, 0xFFE0FC00, .NEON, {} }, + { .UQADD, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA00C00, 0xFFE0FC00, .NEON, {} }, { .UQADD, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA00C00, 0xFFE0FC00, .NEON, {} }, + { .UQADD, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EE00C00, 0xFFE0FC00, .NEON, {} }, { .UQADD, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E600C00, 0xFFE0FC00, .NEON, {} }, + { .UQADD, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E200C00, 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_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, {} }, @@ -1128,92 +1134,92 @@ DECODE_ENTRIES := [2229]lib.Decode_Entry{ { .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, {} }, - { .UQSUB, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA02C00, 0xFFE0FC00, .NEON, {} }, { .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_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA02C00, 0xFFE0FC00, .NEON, {} }, + { .UQSUB, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E602C00, 0xFFE0FC00, .NEON, {} }, { .UQSUB, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E202C00, 0xFFE0FC00, .NEON, {} }, + { .UQSUB, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E602C00, 0xFFE0FC00, .NEON, {} }, + { .UQSUB, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E202C00, 0xFFE0FC00, .NEON, {} }, + { .UQSUB, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA02C00, 0xFFE0FC00, .NEON, {} }, + { .SMAX, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA06400, 0xFFE0FC00, .NEON, {} }, + { .SMAX, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA06400, 0xFFE0FC00, .NEON, {} }, { .SMAX, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E206400, 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_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA06400, 0xFFE0FC00, .NEON, {} }, { .UMAX, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E606400, 0xFFE0FC00, .NEON, {} }, + { .UMAX, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA06400, 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_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA06400, 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_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E606C00, 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_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_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E607400, 0xFFE0FC00, .NEON, {} }, + { .UMIN, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E206C00, 0xFFE0FC00, .NEON, {} }, + { .UMIN, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E606C00, 0xFFE0FC00, .NEON, {} }, + { .UMIN, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E206C00, 0xFFE0FC00, .NEON, {} }, + { .UMIN, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA06C00, 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_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E607400, 0xFFE0FC00, .NEON, {} }, + { .SABD, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA07400, 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_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA07400, 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, {} }, - { .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, {} }, - { .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, {} }, + { .SABA, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E607C00, 0xFFE0FC00, .NEON, {} }, + { .SABA, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA07C00, 0xFFE0FC00, .NEON, {} }, + { .SABA, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E207C00, 0xFFE0FC00, .NEON, {} }, + { .SABA, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E207C00, 0xFFE0FC00, .NEON, {} }, + { .SABA, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA07C00, 0xFFE0FC00, .NEON, {} }, + { .UABA, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E607C00, 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, {} }, { .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_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E20BC00, 0xFFE0FC00, .NEON, {} }, + { .ADDP_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EE0BC00, 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_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E20BC00, 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_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_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E60A400, 0xFFE0FC00, .NEON, {} }, + { .SMAXP, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E20A400, 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_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_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E60A400, 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_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, {} }, + { .UMAXP, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E20A400, 0xFFE0FC00, .NEON, {} }, + { .UMAXP, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E20A400, 0xFFE0FC00, .NEON, {} }, + { .UMAXP, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E60A400, 0xFFE0FC00, .NEON, {} }, + { .UMAXP, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E60A400, 0xFFE0FC00, .NEON, {} }, + { .UMAXP, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA0A400, 0xFFE0FC00, .NEON, {} }, { .SMINP, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA0AC00, 0xFFE0FC00, .NEON, {} }, + { .SMINP, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA0AC00, 0xFFE0FC00, .NEON, {} }, + { .SMINP, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E60AC00, 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_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E60AC00, 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_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E20AC00, 0xFFE0FC00, .NEON, {} }, + { .UMINP, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E20AC00, 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, {} }, @@ -1232,100 +1238,100 @@ DECODE_ENTRIES := [2229]lib.Decode_Entry{ { .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_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, {} }, + { .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, {} }, { .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_8H,.V_8H,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E201000, 0xFFE0FC00, .NEON, {} }, + { .SADDW, {.V_2D,.V_2D,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA01000, 0xFFE0FC00, .NEON, {} }, + { .SADDW2, {.V_2D,.V_2D,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA01000, 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_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, {} }, + { .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, {} }, { .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, {} }, + { .UADDW2, {.V_4S,.V_4S,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E601000, 0xFFE0FC00, .NEON, {} }, + { .UADDW2, {.V_8H,.V_8H,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E201000, 0xFFE0FC00, .NEON, {} }, { .SSUBW, {.V_2D,.V_2D,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA03000, 0xFFE0FC00, .NEON, {} }, + { .SSUBW, {.V_8H,.V_8H,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E203000, 0xFFE0FC00, .NEON, {} }, + { .SSUBW, {.V_4S,.V_4S,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E603000, 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, {} }, { .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_4S,.V_4S,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E603000, 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, {} }, + { .USUBW2, {.V_2D,.V_2D,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA03000, 0xFFE0FC00, .NEON, {} }, { .RADDHN, {.V_2S,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA04000, 0xFFE0FC00, .NEON, {} }, - { .RADDHN2, {.V_8H,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E604000, 0xFFE0FC00, .NEON, {} }, + { .RADDHN, {.V_8B,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E204000, 0xFFE0FC00, .NEON, {} }, + { .RADDHN, {.V_4H,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E604000, 0xFFE0FC00, .NEON, {} }, { .RADDHN2, {.V_16B,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E204000, 0xFFE0FC00, .NEON, {} }, + { .RADDHN2, {.V_8H,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E604000, 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, {} }, - { .RSUBHN2, {.V_8H,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E606000, 0xFFE0FC00, .NEON, {} }, + { .RSUBHN, {.V_2S,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA06000, 0xFFE0FC00, .NEON, {} }, { .RSUBHN2, {.V_16B,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E206000, 0xFFE0FC00, .NEON, {} }, + { .RSUBHN2, {.V_8H,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E606000, 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_8B,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E204000, 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, {} }, + { .ADDHN, {.V_2S,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA04000, 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_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, {} }, + { .SUBHN, {.V_4H,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E606000, 0xFFE0FC00, .NEON, {} }, + { .SUBHN, {.V_2S,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA06000, 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, {} }, + { .SUBHN2, {.V_4S,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA06000, 0xFFE0FC00, .NEON, {} }, { .SMULL_V, {.V_2D,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA0C000, 0xFFE0FC00, .NEON, {} }, - { .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_8H,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E20C000, 0xFFE0FC00, .NEON, {} }, + { .SMULL_V, {.V_8H,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E20C000, 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, {} }, + { .SMULL2_V, {.V_8H,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E20C000, 0xFFE0FC00, .NEON, {} }, + { .SMULL2_V, {.V_2D,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA0C000, 0xFFE0FC00, .NEON, {} }, { .UMULL_V, {.V_4S,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E60C000, 0xFFE0FC00, .NEON, {} }, + { .UMULL_V, {.V_8H,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E20C000, 0xFFE0FC00, .NEON, {} }, + { .UMULL_V, {.V_2D,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA0C000, 0xFFE0FC00, .NEON, {} }, { .UMULL2_V, {.V_2D,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA0C000, 0xFFE0FC00, .NEON, {} }, - { .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, {} }, + { .UMULL2_V, {.V_8H,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E20C000, 0xFFE0FC00, .NEON, {} }, { .SMLAL, {.V_4S,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E608000, 0xFFE0FC00, .NEON, {} }, { .SMLAL, {.V_8H,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E208000, 0xFFE0FC00, .NEON, {} }, + { .SMLAL, {.V_2D,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA08000, 0xFFE0FC00, .NEON, {} }, + { .SMLAL2, {.V_2D,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA08000, 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, {} }, - { .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, {} }, + { .UMLAL, {.V_8H,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E208000, 0xFFE0FC00, .NEON, {} }, + { .UMLAL, {.V_4S,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E608000, 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_8H,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E208000, 0xFFE0FC00, .NEON, {} }, + { .SMLSL, {.V_2D,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA0A000, 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_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, {} }, + { .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, {} }, + { .UMLSL, {.V_2D,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA0A000, 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_4S,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E60A000, 0xFFE0FC00, .NEON, {} }, { .SQDMULL, {.V_2D,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA0D000, 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, {} }, { .SQDMULL2, {.V_4S,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E60D000, 0xFFE0FC00, .NEON, {} }, + { .SQDMULL2, {.V_2D,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA0D000, 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, {} }, @@ -1334,150 +1340,150 @@ DECODE_ENTRIES := [2229]lib.Decode_Entry{ { .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, {} }, { .SQDMULH, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E60B400, 0xFFE0FC00, .NEON, {} }, - { .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, {} }, + { .SQDMULH, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA0B400, 0xFFE0FC00, .NEON, {} }, + { .SQDMULH, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA0B400, 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_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E60B400, 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, {} }, + { .UDOT, {.V_2S,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E809400, 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_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E60D400, 0xFFE0FC00, .NEON, {} }, { .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_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_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA0D400, 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, {} }, - { .FDIV_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E20FC00, 0xFFE0FC00, .NEON, {} }, - { .FDIV_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E20FC00, 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, {} }, - { .FMLA_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E60CC00, 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, {} }, - { .FMLS_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA0CC00, 0xFFE0FC00, .NEON, {} }, + { .FMLA_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E60CC00, 0xFFE0FC00, .NEON, {} }, { .FMLS_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EE0CC00, 0xFFE0FC00, .NEON, {} }, - { .FMULX, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E401C00, 0xFFE0FC00, .FP16, {} }, - { .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, {} }, + { .FMLS_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA0CC00, 0xFFE0FC00, .NEON, {} }, { .FMULX, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E401C00, 0xFFE0FC00, .FP16, {} }, + { .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, {} }, { .FMULX, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E20DC00, 0xFFE0FC00, .NEON, {} }, + { .FMULX, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E20DC00, 0xFFE0FC00, .NEON, {} }, + { .FMAX_V, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E403400, 0xFFE0FC00, .FP16, {} }, + { .FMAX_V, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E403400, 0xFFE0FC00, .FP16, {} }, { .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, {} }, - { .FMAX_V, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E403400, 0xFFE0FC00, .FP16, {} }, + { .FMIN_V, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EC03400, 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_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, {} }, { .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, {} }, + { .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_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, {} }, + { .FMINNM_V, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EE0C400, 0xFFE0FC00, .NEON, {} }, { .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, {} }, - { .FMINP_V, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA0F400, 0xFFE0FC00, .NEON, {} }, + { .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_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_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EE0F400, 0xFFE0FC00, .NEON, {} }, { .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, {} }, + { .FMAXNMP, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E60C400, 0xFFE0FC00, .NEON, {} }, + { .FMAXNMP, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E20C400, 0xFFE0FC00, .NEON, {} }, + { .FMAXNMP, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E20C400, 0xFFE0FC00, .NEON, {} }, + { .FMAXNMP, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E400400, 0xFFE0FC00, .FP16, {} }, { .FMINNMP, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EC00400, 0xFFE0FC00, .FP16, {} }, - { .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, {} }, + { .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_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EE0C400, 0xFFE0FC00, .NEON, {} }, + { .FRECPS, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E403C00, 0xFFE0FC00, .FP16, {} }, { .FRECPS, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E60FC00, 0xFFE0FC00, .NEON, {} }, + { .FRECPS, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E403C00, 0xFFE0FC00, .FP16, {} }, { .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, {} }, + { .FRSQRTS, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EC03C00, 0xFFE0FC00, .FP16, {} }, + { .FRSQRTS, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EC03C00, 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_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E20D400, 0xFFE0FC00, .NEON, {} }, + { .FADDP_V, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E20D400, 0xFFE0FC00, .NEON, {} }, { .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, {} }, - { .FCMEQ, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E402400, 0xFFE0FC00, .FP16, {} }, + { .FADDP_V, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E401400, 0xFFE0FC00, .FP16, {} }, + { .FCMEQ, {.V_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E402400, 0xFFE0FC00, .FP16, {} }, { .FCMEQ, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E60E400, 0xFFE0FC00, .NEON, {} }, + { .FCMEQ, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E402400, 0xFFE0FC00, .FP16, {} }, { .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_4H_FP16,.V_4H_FP16,.V_4H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E402400, 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_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, {} }, { .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_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E60E400, 0xFFE0FC00, .NEON, {} }, - { .FCMGT, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EC02400, 0xFFE0FC00, .FP16, {} }, - { .FCMGT, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA0E400, 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, {} }, + { .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_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, {} }, { .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, {} }, + { .FACGE, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E20EC00, 0xFFE0FC00, .NEON, {} }, + { .FACGE, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2E20EC00, 0xFFE0FC00, .NEON, {} }, + { .FACGE, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E60EC00, 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, {} }, + { .FACGT, {.V_8H_FP16,.V_8H_FP16,.V_8H_FP16,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EC02C00, 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, {} }, - { .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, {} }, - { .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, {} }, + { .CMEQ, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E208C00, 0xFFE0FC00, .NEON, {} }, + { .CMEQ, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6E608C00, 0xFFE0FC00, .NEON, {} }, + { .CMEQ, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA08C00, 0xFFE0FC00, .NEON, {} }, + { .CMGE, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EA03C00, 0xFFE0FC00, .NEON, {} }, { .CMGE, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA03C00, 0xFFE0FC00, .NEON, {} }, + { .CMGE, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EE03C00, 0xFFE0FC00, .NEON, {} }, { .CMGE, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E603C00, 0xFFE0FC00, .NEON, {} }, + { .CMGE, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E203C00, 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_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EE03C00, 0xFFE0FC00, .NEON, {} }, { .CMHS, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EA03C00, 0xFFE0FC00, .NEON, {} }, + { .CMHS, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x2EA03C00, 0xFFE0FC00, .NEON, {} }, + { .CMHS, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EE03C00, 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_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_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, {} }, + { .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_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E208C00, 0xFFE0FC00, .NEON, {} }, + { .CMTST, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E608C00, 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,56 +1496,56 @@ DECODE_ENTRIES := [2229]lib.Decode_Entry{ { .SHL_V, {.V_4S,.V_4S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x4F205400, 0xFFE0FC00, .NEON, {} }, { .SQSHL_V, {.V_4S,.V_4S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x4F207400, 0xFFE0FC00, .NEON, {} }, { .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, {} }, + { .SQSHLU, {.V_2S,.V_2S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x2F206400, 0xFFE0FC00, .NEON, {} }, + { .SRSHL, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E605400, 0xFFE0FC00, .NEON, {} }, { .SRSHL, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E605400, 0xFFE0FC00, .NEON, {} }, + { .SRSHL, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0EA05400, 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, {} }, - { .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, {} }, + { .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, {} }, { .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, {} }, + { .USHR, {.V_2S,.V_2S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x2F200400, 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_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, {} }, + { .USRA, {.V_4S,.V_4S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x6F201400, 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_2S,.V_2S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x2F202400, 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, {} }, + { .SRSRA, {.V_4S,.V_4S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x4F203400, 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_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_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, {} }, + { .SSHL, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E204400, 0xFFE0FC00, .NEON, {} }, + { .SSHL, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E204400, 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, {} }, + { .USHL, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x6EE04400, 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_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, {} }, + { .SRI, {.V_2S,.V_2S,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHR_IMM,.NONE}, 0x2F204400, 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, {} }, @@ -1560,52 +1566,52 @@ DECODE_ENTRIES := [2229]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_16B,.V_16B,.NONE,.NONE}, {.VD,.VN_VM_DUP,.NONE,.NONE}, 0x4EA01C00, 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_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E403800, 0xFFE0FC00, .NEON, {} }, + { .MOV_V, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN_VM_DUP,.NONE,.NONE}, 0x4EA01C00, 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, {} }, { .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_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E403800, 0xFFE0FC00, .NEON, {} }, { .ZIP1, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E803800, 0xFFE0FC00, .NEON, {} }, + { .ZIP1, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EC03800, 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_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, {} }, - { .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, {} }, + { .ZIP2, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E807800, 0xFFE0FC00, .NEON, {} }, + { .ZIP2, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E007800, 0xFFE0FC00, .NEON, {} }, + { .ZIP2, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E007800, 0xFFE0FC00, .NEON, {} }, + { .ZIP2, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E407800, 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, {} }, - { .UZP2, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EC05800, 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, {} }, + { .UZP1, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E801800, 0xFFE0FC00, .NEON, {} }, + { .UZP1, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E801800, 0xFFE0FC00, .NEON, {} }, + { .UZP2, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E805800, 0xFFE0FC00, .NEON, {} }, { .UZP2, {.V_2S,.V_2S,.V_2S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E805800, 0xFFE0FC00, .NEON, {} }, + { .UZP2, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EC05800, 0xFFE0FC00, .NEON, {} }, { .UZP2, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E405800, 0xFFE0FC00, .NEON, {} }, + { .UZP2, {.V_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E005800, 0xFFE0FC00, .NEON, {} }, { .UZP2, {.V_16B,.V_16B,.V_16B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E005800, 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_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E402800, 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_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_8B,.V_8B,.V_8B,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E006800, 0xFFE0FC00, .NEON, {} }, + { .TRN2, {.V_2D,.V_2D,.V_2D,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4EC06800, 0xFFE0FC00, .NEON, {} }, + { .TRN2, {.V_4S,.V_4S,.V_4S,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E806800, 0xFFE0FC00, .NEON, {} }, + { .TRN2, {.V_4H,.V_4H,.V_4H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x0E406800, 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, {} }, + { .TRN2, {.V_8H,.V_8H,.V_8H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x4E406800, 0xFFE0FC00, .NEON, {} }, { .MOV_V_ALIAS, {.V_8B,.V_8B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x0EA01C00, 0xFFE0FC00, .NEON, {} }, + { .MOV_V_ALIAS, {.V_16B,.V_16B,.NONE,.NONE}, {.VD,.VN,.NONE,.NONE}, 0x4EA01C00, 0xFFE0FC00, .NEON, {} }, { .SHL_V, {.V_2D,.V_2D,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x4F405400, 0xFFC0FC00, .NEON, {} }, { .SQSHL_V, {.V_2D,.V_2D,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x4F407400, 0xFFC0FC00, .NEON, {} }, { .SQSHLU, {.V_2D,.V_2D,.VEC_SHIFT,.NONE}, {.VD,.VN,.NEON_SHL_IMM,.NONE}, 0x6F406400, 0xFFC0FC00, .NEON, {} }, @@ -1641,8 +1647,8 @@ DECODE_ENTRIES := [2229]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, {.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} }, + { .CMN_IMM, {.XSP_REG,.IMM_12,.NONE,.NONE}, {.RN,.IMM12,.NONE,.NONE}, 0xB100001F, 0xFF80001F, .BASE, {sets_flags=true, is_64=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} }, @@ -1677,8 +1683,8 @@ DECODE_ENTRIES := [2229]lib.Decode_Entry{ { .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, {} }, { .EOR_IMM, {.WSP_REG,.W_REG,.BITMASK_IMM,.NONE}, {.RD,.RN,.BITMASK_FIELD,.NONE}, 0x52000000, 0xFFC00000, .BASE, {} }, - { .LSL_IMM, {.X_REG,.X_REG,.IMM_6,.NONE}, {.RD,.RN,.ENC_LSL_IMM_X,.NONE}, 0xD3400000, 0xFFC00000, .BASE, {is_64=true} }, { .LSL_IMM, {.W_REG,.W_REG,.IMM_5,.NONE}, {.RD,.RN,.ENC_LSL_IMM_W,.NONE}, 0x53000000, 0xFFC00000, .BASE, {} }, + { .LSL_IMM, {.X_REG,.X_REG,.IMM_6,.NONE}, {.RD,.RN,.ENC_LSL_IMM_X,.NONE}, 0xD3400000, 0xFFC00000, .BASE, {is_64=true} }, { .MOVZ, {.X_REG,.IMM_16,.HW_SHIFT,.NONE}, {.RD,.IMM16,.IMM_HW,.NONE}, 0xD2800000, 0xFF800000, .BASE, {is_64=true} }, { .MOVZ, {.W_REG,.IMM_16,.HW_SHIFT,.NONE}, {.RD,.IMM16,.IMM_HW,.NONE}, 0x52800000, 0xFF800000, .BASE, {} }, { .MOVN, {.W_REG,.IMM_16,.HW_SHIFT,.NONE}, {.RD,.IMM16,.IMM_HW,.NONE}, 0x12800000, 0xFF800000, .BASE, {} }, @@ -1810,12 +1816,12 @@ DECODE_ENTRIES := [2229]lib.Decode_Entry{ { .TBNZ, {.X_REG,.IMM_5,.REL_14,.NONE}, {.RT,.TBZ_BIT,.BRANCH_14,.NONE}, 0x37000000, 0x7F000000, .BASE, {cond_branch=true} }, { .B, {.REL_26,.NONE,.NONE,.NONE}, {.BRANCH_26,.NONE,.NONE,.NONE}, 0x14000000, 0xFC000000, .BASE, {branch=true} }, { .BL, {.REL_26,.NONE,.NONE,.NONE}, {.BRANCH_26,.NONE,.NONE,.NONE}, 0x94000000, 0xFC000000, .BASE, {branch=true} }, - { .LDAPR, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_A,.NONE,.NONE}, 0xF8BFC000, 0xFFFFFC00, .LSE2, {is_64=true} }, { .LDAPR, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_A,.NONE,.NONE}, 0xB8BFC000, 0xFFFFFC00, .LSE2, {} }, + { .LDAPR, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_A,.NONE,.NONE}, 0xF8BFC000, 0xFFFFFC00, .LSE2, {is_64=true} }, { .LDAPRB, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_A,.NONE,.NONE}, 0x38BFC000, 0xFFFFFC00, .LSE2, {} }, { .LDAPRH, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_A,.NONE,.NONE}, 0x78BFC000, 0xFFFFFC00, .LSE2, {} }, - { .LDADD, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8200000, 0xFFE0FC00, .LSE, {is_64=true} }, { .LDADD, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8200000, 0xFFE0FC00, .LSE, {} }, + { .LDADD, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8200000, 0xFFE0FC00, .LSE, {is_64=true} }, { .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, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8600000, 0xFFE0FC00, .LSE, {is_64=true} }, @@ -1838,50 +1844,50 @@ DECODE_ENTRIES := [2229]lib.Decode_Entry{ { .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, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8203000, 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} }, + { .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, {} }, + { .LDSETA, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8A03000, 0xFFE0FC00, .LSE, {is_64=true} }, { .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, {} }, { .LDSETAL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8E03000, 0xFFE0FC00, .LSE, {is_64=true} }, - { .LDSMAX, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8204000, 0xFFE0FC00, .LSE, {is_64=true} }, + { .LDSETAL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8E03000, 0xFFE0FC00, .LSE, {} }, { .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, {} }, + { .LDSMAX, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8204000, 0xFFE0FC00, .LSE, {is_64=true} }, { .LDSMAXA, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8A04000, 0xFFE0FC00, .LSE, {is_64=true} }, - { .LDSMAXL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8604000, 0xFFE0FC00, .LSE, {is_64=true} }, + { .LDSMAXA, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8A04000, 0xFFE0FC00, .LSE, {} }, { .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} }, + { .LDSMAXL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8604000, 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, {} }, + { .LDSMAXAL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8E04000, 0xFFE0FC00, .LSE, {is_64=true} }, { .LDSMIN, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8205000, 0xFFE0FC00, .LSE, {is_64=true} }, - { .LDSMINA, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8A05000, 0xFFE0FC00, .LSE, {is_64=true} }, + { .LDSMIN, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8205000, 0xFFE0FC00, .LSE, {} }, { .LDSMINA, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8A05000, 0xFFE0FC00, .LSE, {} }, + { .LDSMINA, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8A05000, 0xFFE0FC00, .LSE, {is_64=true} }, { .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, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8E05000, 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, {} }, { .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} }, + { .LDUMAXA, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8A06000, 0xFFE0FC00, .LSE, {} }, { .LDUMAXL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8606000, 0xFFE0FC00, .LSE, {} }, - { .LDUMAXAL, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8E06000, 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} }, { .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, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8207000, 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, {.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} }, + { .LDUMINAL, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8E07000, 0xFFE0FC00, .LSE, {} }, { .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, {.W_REG,.W_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xB8A08000, 0xFFE0FC00, .LSE, {} }, { .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, {.X_REG,.X_REG,.MEM,.NONE}, {.ATOMIC_RS,.ATOMIC_RT,.ATOMIC_RN,.NONE}, 0xF8608000, 0xFFE0FC00, .LSE, {is_64=true} }, { .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} }, @@ -1913,10 +1919,27 @@ DECODE_ENTRIES := [2229]lib.Decode_Entry{ { .LDR_POST, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_POST,.NONE,.NONE}, 0xB8400400, 0xFFE00C00, .BASE, {} }, { .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, {} }, + { .LDRB_PRE, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_PRE,.NONE,.NONE}, 0x38400C00, 0xFFE00C00, .BASE, {} }, + { .STRB_PRE, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_PRE,.NONE,.NONE}, 0x38000C00, 0xFFE00C00, .BASE, {} }, + { .LDRB_POST, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_POST,.NONE,.NONE}, 0x38400400, 0xFFE00C00, .BASE, {} }, + { .STRB_POST, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_POST,.NONE,.NONE}, 0x38000400, 0xFFE00C00, .BASE, {} }, + { .LDRH_PRE, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_PRE,.NONE,.NONE}, 0x78400C00, 0xFFE00C00, .BASE, {} }, + { .STRH_PRE, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_PRE,.NONE,.NONE}, 0x78000C00, 0xFFE00C00, .BASE, {} }, + { .LDRH_POST, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_POST,.NONE,.NONE}, 0x78400400, 0xFFE00C00, .BASE, {} }, + { .STRH_POST, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_POST,.NONE,.NONE}, 0x78000400, 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} }, + { .LDR_REG, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_REG,.NONE,.NONE}, 0xB8600800, 0xFFE00C00, .BASE, {} }, { .STR_REG, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_REG,.NONE,.NONE}, 0xB8200800, 0xFFE00C00, .BASE, {} }, + { .STR_REG, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_REG,.NONE,.NONE}, 0xF8200800, 0xFFE00C00, .BASE, {is_64=true} }, + { .LDRB_REG, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_REG,.NONE,.NONE}, 0x38600800, 0xFFE00C00, .BASE, {} }, + { .STRB_REG, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_REG,.NONE,.NONE}, 0x38200800, 0xFFE00C00, .BASE, {} }, + { .LDRH_REG, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_REG,.NONE,.NONE}, 0x78600800, 0xFFE00C00, .BASE, {} }, + { .STRH_REG, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_REG,.NONE,.NONE}, 0x78200800, 0xFFE00C00, .BASE, {} }, + { .LDRSB_REG, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_REG,.NONE,.NONE}, 0x38A00800, 0xFFE00C00, .BASE, {is_64=true} }, + { .LDRSB_REG, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_REG,.NONE,.NONE}, 0x38E00800, 0xFFE00C00, .BASE, {} }, + { .LDRSH_REG, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_REG,.NONE,.NONE}, 0x78E00800, 0xFFE00C00, .BASE, {} }, + { .LDRSH_REG, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_REG,.NONE,.NONE}, 0x78A00800, 0xFFE00C00, .BASE, {is_64=true} }, + { .LDRSW_REG, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_REG,.NONE,.NONE}, 0xB8A00800, 0xFFE00C00, .BASE, {is_64=true} }, { .LDG, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0xD9600000, 0xFFE00C00, .MTE, {is_64=true} }, { .STG, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0xD9200800, 0xFFE00C00, .MTE, {is_64=true} }, { .ST2G, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0xD9A00800, 0xFFE00C00, .MTE, {is_64=true} }, @@ -1933,8 +1956,8 @@ DECODE_ENTRIES := [2229]lib.Decode_Entry{ { .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, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0x19C00000, 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, {.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} }, @@ -1991,8 +2014,8 @@ DECODE_ENTRIES := [2229]lib.Decode_Entry{ { .AUTDB, {.X_REG,.XSP_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0xDAC11C00, 0xFFFFFC00, .PAC, {is_64=true} }, { .NGC, {.X_REG,.X_REG,.NONE,.NONE}, {.RD,.RM,.NONE,.NONE}, 0xDA0003E0, 0xFFE0FFE0, .BASE, {is_64=true} }, { .NGC, {.W_REG,.W_REG,.NONE,.NONE}, {.RD,.RM,.NONE,.NONE}, 0x5A0003E0, 0xFFE0FFE0, .BASE, {} }, - { .NGCS, {.X_REG,.X_REG,.NONE,.NONE}, {.RD,.RM,.NONE,.NONE}, 0xFA0003E0, 0xFFE0FFE0, .BASE, {sets_flags=true, is_64=true} }, { .NGCS, {.W_REG,.W_REG,.NONE,.NONE}, {.RD,.RM,.NONE,.NONE}, 0x7A0003E0, 0xFFE0FFE0, .BASE, {sets_flags=true} }, + { .NGCS, {.X_REG,.X_REG,.NONE,.NONE}, {.RD,.RM,.NONE,.NONE}, 0xFA0003E0, 0xFFE0FFE0, .BASE, {sets_flags=true, is_64=true} }, { .LSLV, {.W_REG,.W_REG,.W_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1AC02000, 0xFFE0FC00, .BASE, {} }, { .LSLV, {.X_REG,.X_REG,.X_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x9AC02000, 0xFFE0FC00, .BASE, {is_64=true} }, { .LSRV, {.X_REG,.X_REG,.X_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x9AC02400, 0xFFE0FC00, .BASE, {is_64=true} }, @@ -2024,8 +2047,8 @@ DECODE_ENTRIES := [2229]lib.Decode_Entry{ { .ADC, {.W_REG,.W_REG,.W_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x1A000000, 0xFFE0FC00, .BASE, {} }, { .ADCS, {.W_REG,.W_REG,.W_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x3A000000, 0xFFE0FC00, .BASE, {sets_flags=true} }, { .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} }, { .SBC, {.W_REG,.W_REG,.W_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0x5A000000, 0xFFE0FC00, .BASE, {} }, + { .SBC, {.X_REG,.X_REG,.X_REG,.NONE}, {.RD,.RN,.RM,.NONE}, 0xDA000000, 0xFFE0FC00, .BASE, {is_64=true} }, { .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} }, @@ -2055,16 +2078,22 @@ DECODE_ENTRIES := [2229]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} }, + { .LDUR_V, {.D_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0xFC400000, 0xFFE00C00, .NEON, {} }, + { .LDUR_V, {.S_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0xBC400000, 0xFFE00C00, .NEON, {} }, + { .LDUR_V, {.Q_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0x3CC00000, 0xFFE00C00, .NEON, {} }, + { .STUR_V, {.D_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0xFC000000, 0xFFE00C00, .NEON, {} }, + { .STUR_V, {.S_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0xBC000000, 0xFFE00C00, .NEON, {} }, + { .STUR_V, {.Q_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0x3C800000, 0xFFE00C00, .NEON, {} }, + { .LDR_V, {.Q_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0x3DC00000, 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, {.B_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0x3D000000, 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, {.D_REG,.D_REG,.NONE,.NONE}, {.RD,.RN,.NONE,.NONE}, 0x1E604000, 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, {} }, @@ -2246,15 +2275,15 @@ DECODE_INDEX_OP0 := [16]lib.Decode_Index{ 0x02 = { 75, 379}, 0x04 = { 454, 76}, 0x05 = { 530, 50}, - 0x06 = { 580, 8}, - 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}, + 0x06 = { 580, 14}, + 0x07 = { 594, 1042}, + 0x08 = {1636, 16}, + 0x09 = {1652, 34}, + 0x0A = {1686, 100}, + 0x0B = {1786, 21}, + 0x0C = {1807, 167}, + 0x0D = {1974, 92}, + 0x0E = {2066, 19}, + 0x0F = {2085, 173}, } diff --git a/core/rexcode/arm64/tablegen/generated/encode_tables.odin b/core/rexcode/arm64/tablegen/generated/encode_tables.odin index a5a6e81e1..94f2f3e34 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 := [2227]lib.Encoding{ +ENCODE_FORMS := [2256]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} }, @@ -503,12 +503,44 @@ ENCODE_FORMS := [2227]lib.Encoding{ // .STR_POST { .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} }, + // .LDRB_PRE + { .LDRB_PRE, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_PRE,.NONE,.NONE}, 0x38400C00, 0xFFE00C00, .BASE, {} }, + // .STRB_PRE + { .STRB_PRE, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_PRE,.NONE,.NONE}, 0x38000C00, 0xFFE00C00, .BASE, {} }, + // .LDRB_POST + { .LDRB_POST, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_POST,.NONE,.NONE}, 0x38400400, 0xFFE00C00, .BASE, {} }, + // .STRB_POST + { .STRB_POST, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_POST,.NONE,.NONE}, 0x38000400, 0xFFE00C00, .BASE, {} }, + // .LDRH_PRE + { .LDRH_PRE, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_PRE,.NONE,.NONE}, 0x78400C00, 0xFFE00C00, .BASE, {} }, + // .STRH_PRE + { .STRH_PRE, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_PRE,.NONE,.NONE}, 0x78000C00, 0xFFE00C00, .BASE, {} }, + // .LDRH_POST + { .LDRH_POST, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_POST,.NONE,.NONE}, 0x78400400, 0xFFE00C00, .BASE, {} }, + // .STRH_POST + { .STRH_POST, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_POST,.NONE,.NONE}, 0x78000400, 0xFFE00C00, .BASE, {} }, // .LDR_REG { .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 { .STR_REG, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_REG,.NONE,.NONE}, 0xB8200800, 0xFFE00C00, .BASE, {} }, { .STR_REG, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_REG,.NONE,.NONE}, 0xF8200800, 0xFFE00C00, .BASE, {is_64=true} }, + // .LDRB_REG + { .LDRB_REG, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_REG,.NONE,.NONE}, 0x38600800, 0xFFE00C00, .BASE, {} }, + // .STRB_REG + { .STRB_REG, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_REG,.NONE,.NONE}, 0x38200800, 0xFFE00C00, .BASE, {} }, + // .LDRH_REG + { .LDRH_REG, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_REG,.NONE,.NONE}, 0x78600800, 0xFFE00C00, .BASE, {} }, + // .STRH_REG + { .STRH_REG, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_REG,.NONE,.NONE}, 0x78200800, 0xFFE00C00, .BASE, {} }, + // .LDRSB_REG + { .LDRSB_REG, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_REG,.NONE,.NONE}, 0x38E00800, 0xFFE00C00, .BASE, {} }, + { .LDRSB_REG, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_REG,.NONE,.NONE}, 0x38A00800, 0xFFE00C00, .BASE, {is_64=true} }, + // .LDRSH_REG + { .LDRSH_REG, {.W_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_REG,.NONE,.NONE}, 0x78E00800, 0xFFE00C00, .BASE, {} }, + { .LDRSH_REG, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_REG,.NONE,.NONE}, 0x78A00800, 0xFFE00C00, .BASE, {is_64=true} }, + // .LDRSW_REG + { .LDRSW_REG, {.X_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_REG,.NONE,.NONE}, 0xB8A00800, 0xFFE00C00, .BASE, {is_64=true} }, // .LDP_PRE { .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} }, @@ -2238,6 +2270,22 @@ ENCODE_FORMS := [2227]lib.Encoding{ { .STR_V, {.S_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0xBD000000, 0xFFC00000, .FP, {} }, { .STR_V, {.D_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0xFD000000, 0xFFC00000, .FP, {} }, { .STR_V, {.Q_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_U12,.NONE,.NONE}, 0x3D800000, 0xFFC00000, .FP, {} }, + // .LDP_V + { .LDP_V, {.S_REG,.S_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0x2D400000, 0xFFC00000, .NEON, {} }, + { .LDP_V, {.D_REG,.D_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0x6D400000, 0xFFC00000, .NEON, {} }, + { .LDP_V, {.Q_REG,.Q_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0xAD400000, 0xFFC00000, .NEON, {} }, + // .STP_V + { .STP_V, {.S_REG,.S_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0x2D000000, 0xFFC00000, .NEON, {} }, + { .STP_V, {.D_REG,.D_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0x6D000000, 0xFFC00000, .NEON, {} }, + { .STP_V, {.Q_REG,.Q_REG,.MEM,.NONE}, {.RT,.RT2,.OFFSET_BASE_S9,.NONE}, 0xAD000000, 0xFFC00000, .NEON, {} }, + // .LDUR_V + { .LDUR_V, {.S_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0xBC400000, 0xFFE00C00, .NEON, {} }, + { .LDUR_V, {.D_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0xFC400000, 0xFFE00C00, .NEON, {} }, + { .LDUR_V, {.Q_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0x3CC00000, 0xFFE00C00, .NEON, {} }, + // .STUR_V + { .STUR_V, {.S_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0xBC000000, 0xFFE00C00, .NEON, {} }, + { .STUR_V, {.D_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0xFC000000, 0xFFE00C00, .NEON, {} }, + { .STUR_V, {.Q_REG,.MEM,.NONE,.NONE}, {.RT,.OFFSET_BASE_S9,.NONE,.NONE}, 0x3C800000, 0xFFE00C00, .NEON, {} }, // .SVE_ADD_Z { .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_H,.Z_REG_H,.Z_REG_H,.NONE}, {.VD,.VN,.VM,.NONE}, 0x04600000, 0xFFE0FC00, .SVE, {} }, @@ -3417,957 +3465,957 @@ ENCODE_RUNS := [lib.Mnemonic]lib.Encode_Run{ .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}, + .LDRB_PRE = { 329, 1}, + .STRB_PRE = { 330, 1}, + .LDRB_POST = { 331, 1}, + .STRB_POST = { 332, 1}, + .LDRH_PRE = { 333, 1}, + .STRH_PRE = { 334, 1}, + .LDRH_POST = { 335, 1}, + .STRH_POST = { 336, 1}, + .LDR_REG = { 337, 2}, + .STR_REG = { 339, 2}, + .LDRB_REG = { 341, 1}, + .STRB_REG = { 342, 1}, + .LDRH_REG = { 343, 1}, + .STRH_REG = { 344, 1}, + .LDRSB_REG = { 345, 2}, + .LDRSH_REG = { 347, 2}, + .LDRSW_REG = { 349, 1}, + .LDP_PRE = { 350, 2}, + .STP_PRE = { 352, 2}, + .LDP_POST = { 354, 2}, + .STP_POST = { 356, 2}, + .LDPSW_PRE = { 358, 1}, + .LDPSW_POST = { 359, 1}, + .LDNP = { 360, 2}, + .STNP = { 362, 2}, + .LDXP = { 364, 2}, + .STXP = { 366, 2}, + .LDAXP = { 368, 2}, + .STLXP = { 370, 2}, + .LDXRB = { 372, 1}, + .STXRB = { 373, 1}, + .LDAXRB = { 374, 1}, + .STLXRB = { 375, 1}, + .LDXRH = { 376, 1}, + .STXRH = { 377, 1}, + .LDAXRH = { 378, 1}, + .STLXRH = { 379, 1}, + .LDARB_X = { 380, 0}, + .STLRB_X = { 380, 0}, + .LDARH_X = { 380, 0}, + .STLRH_X = { 380, 0}, + .LDAPR = { 380, 2}, + .LDAPRB = { 382, 1}, + .LDAPRH = { 383, 1}, + .LDADD = { 384, 2}, + .LDADDA = { 386, 2}, + .LDADDL = { 388, 2}, + .LDADDAL = { 390, 2}, + .LDCLR = { 392, 2}, + .LDCLRA = { 394, 2}, + .LDCLRL = { 396, 2}, + .LDCLRAL = { 398, 2}, + .LDEOR = { 400, 2}, + .LDEORA = { 402, 2}, + .LDEORL = { 404, 2}, + .LDEORAL = { 406, 2}, + .LDSET = { 408, 2}, + .LDSETA = { 410, 2}, + .LDSETL = { 412, 2}, + .LDSETAL = { 414, 2}, + .LDSMAX = { 416, 2}, + .LDSMAXA = { 418, 2}, + .LDSMAXL = { 420, 2}, + .LDSMAXAL = { 422, 2}, + .LDSMIN = { 424, 2}, + .LDSMINA = { 426, 2}, + .LDSMINL = { 428, 2}, + .LDSMINAL = { 430, 2}, + .LDUMAX = { 432, 2}, + .LDUMAXA = { 434, 2}, + .LDUMAXL = { 436, 2}, + .LDUMAXAL = { 438, 2}, + .LDUMIN = { 440, 2}, + .LDUMINA = { 442, 2}, + .LDUMINL = { 444, 2}, + .LDUMINAL = { 446, 2}, + .SWP = { 448, 2}, + .SWPA = { 450, 2}, + .SWPL = { 452, 2}, + .SWPAL = { 454, 2}, + .CAS = { 456, 2}, + .CASA = { 458, 2}, + .CASL = { 460, 2}, + .CASAL = { 462, 2}, + .CASB = { 464, 1}, + .CASAB = { 465, 1}, + .CASLB = { 466, 1}, + .CASALB = { 467, 1}, + .CASH = { 468, 1}, + .CASAH = { 469, 1}, + .CASLH = { 470, 1}, + .CASALH = { 471, 1}, + .CASP = { 472, 2}, + .CASPA = { 474, 2}, + .CASPL = { 476, 2}, + .CASPAL = { 478, 2}, + .PACIA = { 480, 1}, + .PACIB = { 481, 1}, + .PACDA = { 482, 1}, + .PACDB = { 483, 1}, + .PACIZA = { 484, 1}, + .PACIZB = { 485, 1}, + .PACDZA = { 486, 1}, + .PACDZB = { 487, 1}, + .AUTIA = { 488, 1}, + .AUTIB = { 489, 1}, + .AUTDA = { 490, 1}, + .AUTDB = { 491, 1}, + .AUTIZA = { 492, 1}, + .AUTIZB = { 493, 1}, + .AUTDZA = { 494, 1}, + .AUTDZB = { 495, 1}, + .PACIASP = { 496, 1}, + .PACIBSP = { 497, 1}, + .AUTIASP = { 498, 1}, + .AUTIBSP = { 499, 1}, + .PACIA1716 = { 500, 1}, + .PACIB1716 = { 501, 1}, + .AUTIA1716 = { 502, 1}, + .AUTIB1716 = { 503, 1}, + .PACGA = { 504, 1}, + .XPACI = { 505, 1}, + .XPACD = { 506, 1}, + .XPACLRI = { 507, 1}, + .RETAA = { 508, 1}, + .RETAB = { 509, 1}, + .BRAA = { 510, 1}, + .BRAB = { 511, 1}, + .BRAAZ = { 512, 1}, + .BRABZ = { 513, 1}, + .BLRAA = { 514, 1}, + .BLRAB = { 515, 1}, + .BLRAAZ = { 516, 1}, + .BLRABZ = { 517, 1}, + .ERETAA = { 518, 1}, + .ERETAB = { 519, 1}, + .BTI = { 520, 1}, + .IRG = { 521, 1}, + .ADDG = { 522, 1}, + .SUBG = { 523, 1}, + .GMI = { 524, 1}, + .SUBP = { 525, 1}, + .SUBPS = { 526, 1}, + .LDG = { 527, 1}, + .STG = { 528, 1}, + .ST2G = { 529, 1}, + .STZG = { 530, 1}, + .STZ2G = { 531, 1}, + .STGP = { 532, 1}, + .LDGM = { 533, 1}, + .STGM = { 534, 1}, + .STZGM = { 535, 1}, + .CRC32B = { 536, 1}, + .CRC32H = { 537, 1}, + .CRC32W = { 538, 1}, + .CRC32X = { 539, 1}, + .CRC32CB = { 540, 1}, + .CRC32CH = { 541, 1}, + .CRC32CW = { 542, 1}, + .CRC32CX = { 543, 1}, + .AESE = { 544, 1}, + .AESD = { 545, 1}, + .AESMC = { 546, 1}, + .AESIMC = { 547, 1}, + .SHA1H = { 548, 1}, + .SHA1C = { 549, 1}, + .SHA1P = { 550, 1}, + .SHA1M = { 551, 1}, + .SHA1SU0 = { 552, 1}, + .SHA1SU1 = { 553, 1}, + .SHA256H = { 554, 1}, + .SHA256H2 = { 555, 1}, + .SHA256SU0 = { 556, 1}, + .SHA256SU1 = { 557, 1}, + .SHA512H = { 558, 1}, + .SHA512H2 = { 559, 1}, + .SHA512SU0 = { 560, 1}, + .SHA512SU1 = { 561, 1}, + .EOR3 = { 562, 1}, + .BCAX = { 563, 1}, + .RAX1 = { 564, 1}, + .XAR = { 565, 1}, + .SM3PARTW1 = { 566, 1}, + .SM3PARTW2 = { 567, 1}, + .SM3SS1 = { 568, 1}, + .SM3TT1A = { 569, 1}, + .SM3TT1B = { 570, 1}, + .SM3TT2A = { 571, 1}, + .SM3TT2B = { 572, 1}, + .SM4E = { 573, 1}, + .SM4EKEY = { 574, 1}, + .PMULL = { 575, 2}, + .PMULL2 = { 577, 2}, + .FABS_H = { 579, 1}, + .FNEG_H = { 580, 1}, + .FSQRT_H = { 581, 1}, + .FADD_H = { 582, 1}, + .FSUB_H = { 583, 1}, + .FMUL_H = { 584, 1}, + .FDIV_H = { 585, 1}, + .FNMUL_H = { 586, 1}, + .FMADD_H = { 587, 1}, + .FMSUB_H = { 588, 1}, + .FNMADD_H = { 589, 1}, + .FNMSUB_H = { 590, 1}, + .FCMP_H = { 591, 1}, + .FCMPE_H = { 592, 1}, + .FCSEL_H = { 593, 1}, + .FMAX_H = { 594, 1}, + .FMIN_H = { 595, 1}, + .FMAXNM_H = { 596, 1}, + .FMINNM_H = { 597, 1}, + .FCVT_H_S = { 598, 1}, + .FCVT_H_D = { 599, 1}, + .FCVT_S_H = { 600, 1}, + .FCVT_D_H = { 601, 1}, + .FMOV_H = { 602, 1}, + .SCVTF_H = { 603, 1}, + .UCVTF_H = { 604, 1}, + .FCVTZS_H = { 605, 1}, + .FCVTZU_H = { 606, 1}, + .BFCVT = { 607, 1}, + .BFDOT = { 608, 1}, + .BFMMLA = { 609, 1}, + .BFMLALB = { 610, 1}, + .BFMLALT = { 611, 1}, + .BFCVTN = { 612, 1}, + .BFCVTN2 = { 613, 1}, + .ADD_V = { 614, 7}, + .SUB_V = { 621, 4}, + .MUL_V = { 625, 3}, + .MLA_V = { 628, 6}, + .MLS_V = { 634, 6}, + .NEG_V = { 640, 7}, + .ABS_V = { 647, 7}, + .SHADD = { 654, 6}, + .UHADD = { 660, 6}, + .SHSUB = { 666, 6}, + .UHSUB = { 672, 6}, + .SRHADD = { 678, 6}, + .URHADD = { 684, 6}, + .SQADD = { 690, 7}, + .UQADD = { 697, 7}, + .SQSUB = { 704, 7}, + .UQSUB = { 711, 7}, + .SMAX = { 718, 6}, + .UMAX = { 724, 6}, + .SMIN = { 730, 6}, + .UMIN = { 736, 6}, + .SABD = { 742, 6}, + .UABD = { 748, 6}, + .SABA = { 754, 6}, + .UABA = { 760, 6}, + .ADDP_V = { 766, 7}, + .ADDV = { 773, 5}, + .SADDLP = { 778, 6}, + .UADDLP = { 784, 6}, + .SADALP = { 790, 6}, + .UADALP = { 796, 6}, + .SADDLV = { 802, 5}, + .UADDLV = { 807, 5}, + .SMAXV = { 812, 5}, + .UMAXV = { 817, 5}, + .SMINV = { 822, 5}, + .UMINV = { 827, 5}, + .SMAXP = { 832, 6}, + .UMAXP = { 838, 6}, + .SMINP = { 844, 6}, + .UMINP = { 850, 6}, + .SADDL = { 856, 3}, + .SADDL2 = { 859, 3}, + .UADDL = { 862, 3}, + .UADDL2 = { 865, 3}, + .SSUBL = { 868, 3}, + .SSUBL2 = { 871, 3}, + .USUBL = { 874, 3}, + .USUBL2 = { 877, 3}, + .SADDW = { 880, 3}, + .SADDW2 = { 883, 3}, + .UADDW = { 886, 3}, + .UADDW2 = { 889, 3}, + .SSUBW = { 892, 3}, + .SSUBW2 = { 895, 3}, + .USUBW = { 898, 3}, + .USUBW2 = { 901, 3}, + .RADDHN = { 904, 3}, + .RADDHN2 = { 907, 3}, + .RSUBHN = { 910, 3}, + .RSUBHN2 = { 913, 3}, + .ADDHN = { 916, 3}, + .ADDHN2 = { 919, 3}, + .SUBHN = { 922, 3}, + .SUBHN2 = { 925, 3}, + .XTN = { 928, 3}, + .XTN2 = { 931, 3}, + .SQXTN = { 934, 3}, + .SQXTN2 = { 937, 3}, + .UQXTN = { 940, 3}, + .UQXTN2 = { 943, 3}, + .SQXTUN = { 946, 3}, + .SQXTUN2 = { 949, 3}, + .SMULL_V = { 952, 3}, + .SMULL2_V = { 955, 3}, + .UMULL_V = { 958, 3}, + .UMULL2_V = { 961, 3}, + .SMLAL = { 964, 3}, + .SMLAL2 = { 967, 3}, + .UMLAL = { 970, 3}, + .UMLAL2 = { 973, 3}, + .SMLSL = { 976, 3}, + .SMLSL2 = { 979, 3}, + .UMLSL = { 982, 3}, + .UMLSL2 = { 985, 3}, + .SQDMULL = { 988, 2}, + .SQDMULL2 = { 990, 2}, + .SQDMLAL = { 992, 2}, + .SQDMLAL2 = { 994, 2}, + .SQDMLSL = { 996, 2}, + .SQDMLSL2 = { 998, 2}, + .SQDMULH = { 1000, 4}, + .SQRDMULH = { 1004, 4}, + .SDOT = { 1008, 2}, + .UDOT = { 1010, 2}, + .USDOT = { 1012, 2}, + .FADD_V = { 1014, 3}, + .FSUB_V = { 1017, 3}, + .FMUL_V = { 1020, 3}, + .FDIV_V = { 1023, 3}, + .FNEG_V = { 1026, 5}, + .FABS_V = { 1031, 5}, + .FSQRT_V = { 1036, 5}, + .FMLA_V = { 1041, 2}, + .FMLS_V = { 1043, 2}, + .FMULX = { 1045, 5}, + .FMAX_V = { 1050, 5}, + .FMIN_V = { 1055, 5}, + .FMAXNM_V = { 1060, 5}, + .FMINNM_V = { 1065, 5}, + .FMAXP_V = { 1070, 5}, + .FMINP_V = { 1075, 5}, + .FMAXNMP = { 1080, 5}, + .FMINNMP = { 1085, 5}, + .FMAXV_V = { 1090, 3}, + .FMINV_V = { 1093, 3}, + .FMAXNMV = { 1096, 3}, + .FMINNMV = { 1099, 3}, + .FRECPE = { 1102, 5}, + .FRSQRTE = { 1107, 5}, + .FRECPS = { 1112, 5}, + .FRSQRTS = { 1117, 5}, + .FRECPX = { 1122, 3}, + .FADDP_V = { 1125, 5}, + .FRINTA_V = { 1130, 5}, + .FRINTI_V = { 1135, 5}, + .FRINTM_V = { 1140, 5}, + .FRINTN_V = { 1145, 5}, + .FRINTP_V = { 1150, 5}, + .FRINTX_V = { 1155, 5}, + .FRINTZ_V = { 1160, 5}, + .SCVTF_V = { 1165, 5}, + .UCVTF_V = { 1170, 5}, + .FCVTAS_V = { 1175, 5}, + .FCVTAU_V = { 1180, 5}, + .FCVTMS_V = { 1185, 5}, + .FCVTMU_V = { 1190, 5}, + .FCVTNS_V = { 1195, 5}, + .FCVTNU_V = { 1200, 5}, + .FCVTPS_V = { 1205, 5}, + .FCVTPU_V = { 1210, 5}, + .FCVTZS_V = { 1215, 5}, + .FCVTZU_V = { 1220, 5}, + .FCVTL = { 1225, 2}, + .FCVTL2 = { 1227, 2}, + .FCVTN = { 1229, 2}, + .FCVTN2 = { 1231, 2}, + .FCVTXN = { 1233, 1}, + .FCVTXN2 = { 1234, 1}, + .FCMEQ = { 1235, 5}, + .FCMGE = { 1240, 5}, + .FCMGT = { 1245, 5}, + .FCMLE = { 1250, 5}, + .FCMLT = { 1255, 5}, + .FACGE = { 1260, 5}, + .FACGT = { 1265, 5}, + .CMEQ = { 1270, 4}, + .CMGE = { 1274, 7}, + .CMGT = { 1281, 2}, + .CMHI = { 1283, 2}, + .CMHS = { 1285, 7}, + .CMLE = { 1292, 7}, + .CMLT = { 1299, 7}, + .CMTST = { 1306, 7}, + .AND_V = { 1313, 1}, + .ORR_V = { 1314, 1}, + .EOR_V = { 1315, 1}, + .BIC_V = { 1316, 1}, + .ORN_V = { 1317, 1}, + .MVN_V = { 1318, 2}, + .BIT = { 1320, 1}, + .BIF = { 1321, 1}, + .BSL = { 1322, 1}, + .SHL_V = { 1323, 7}, + .SQSHL_V = { 1330, 7}, + .SQSHLU = { 1337, 7}, + .SRSHL = { 1344, 7}, + .URSHL = { 1351, 7}, + .SSHR = { 1358, 7}, + .USHR = { 1365, 7}, + .SSRA = { 1372, 7}, + .USRA = { 1379, 7}, + .SRSHR = { 1386, 7}, + .URSHR = { 1393, 7}, + .SRSRA = { 1400, 7}, + .URSRA = { 1407, 7}, + .SSHL = { 1414, 7}, + .USHL = { 1421, 7}, + .SLI = { 1428, 7}, + .SRI = { 1435, 7}, + .SSHLL = { 1442, 3}, + .SSHLL2 = { 1445, 3}, + .USHLL = { 1448, 3}, + .USHLL2 = { 1451, 3}, + .SXTL = { 1454, 3}, + .SXTL2 = { 1457, 3}, + .UXTL = { 1460, 3}, + .UXTL2 = { 1463, 3}, + .SHRN = { 1466, 3}, + .SHRN2 = { 1469, 3}, + .RSHRN = { 1472, 3}, + .RSHRN2 = { 1475, 3}, + .SQSHRN = { 1478, 3}, + .SQSHRN2 = { 1481, 3}, + .UQSHRN = { 1484, 3}, + .UQSHRN2 = { 1487, 3}, + .SQRSHRN = { 1490, 3}, + .SQRSHRN2 = { 1493, 3}, + .UQRSHRN = { 1496, 3}, + .UQRSHRN2 = { 1499, 3}, + .SQSHRUN = { 1502, 3}, + .SQSHRUN2 = { 1505, 3}, + .SQRSHRUN = { 1508, 3}, + .SQRSHRUN2 = { 1511, 3}, + .DUP_V = { 1514, 14}, + .INS = { 1528, 8}, + .MOV_V = { 1536, 2}, + .EXT_V = { 1538, 2}, + .TBL = { 1540, 0}, + .TBX = { 1540, 0}, + .ZIP1 = { 1540, 7}, + .ZIP2 = { 1547, 7}, + .UZP1 = { 1554, 7}, + .UZP2 = { 1561, 7}, + .TRN1 = { 1568, 7}, + .TRN2 = { 1575, 7}, + .NOT_V = { 1582, 2}, + .RBIT_V = { 1584, 2}, + .REV16_V = { 1586, 2}, + .REV32_V = { 1588, 4}, + .REV64 = { 1592, 6}, + .CLS_V = { 1598, 6}, + .CLZ_V = { 1604, 6}, + .CNT = { 1610, 2}, + .URECPE_V = { 1612, 2}, + .URSQRTE_V = { 1614, 2}, + .MOVI = { 1616, 0}, + .MVNI = { 1616, 0}, + .FMOV_V_IMM = { 1616, 0}, + .LD1 = { 1616, 4}, + .LD2 = { 1620, 0}, + .LD3 = { 1620, 0}, + .LD4 = { 1620, 0}, + .ST1 = { 1620, 4}, + .ST2 = { 1624, 0}, + .ST3 = { 1624, 0}, + .ST4 = { 1624, 0}, + .LD1R = { 1624, 0}, + .LD2R = { 1624, 0}, + .LD3R = { 1624, 0}, + .LD4R = { 1624, 0}, + .LD1_LANE = { 1624, 0}, + .LD2_LANE = { 1624, 0}, + .LD3_LANE = { 1624, 0}, + .LD4_LANE = { 1624, 0}, + .ST1_LANE = { 1624, 0}, + .ST2_LANE = { 1624, 0}, + .ST3_LANE = { 1624, 0}, + .ST4_LANE = { 1624, 0}, + .LDR_V = { 1624, 5}, + .STR_V = { 1629, 5}, + .LDP_V = { 1634, 3}, + .STP_V = { 1637, 3}, + .LDUR_V = { 1640, 3}, + .STUR_V = { 1643, 3}, + .SVE_ADD_Z = { 1646, 4}, + .SVE_SUB_Z = { 1650, 4}, + .SVE_SQADD_Z = { 1654, 4}, + .SVE_UQADD_Z = { 1658, 4}, + .SVE_SQSUB_Z = { 1662, 4}, + .SVE_UQSUB_Z = { 1666, 4}, + .SVE_ADD_PRED = { 1670, 4}, + .SVE_SUB_PRED = { 1674, 4}, + .SVE_SUBR_PRED = { 1678, 4}, + .SVE_MUL_PRED = { 1682, 4}, + .SVE_SMULH_PRED = { 1686, 4}, + .SVE_UMULH_PRED = { 1690, 4}, + .SVE_SDIV_PRED = { 1694, 2}, + .SVE_UDIV_PRED = { 1696, 2}, + .SVE_SMAX_PRED = { 1698, 4}, + .SVE_UMAX_PRED = { 1702, 4}, + .SVE_SMIN_PRED = { 1706, 4}, + .SVE_UMIN_PRED = { 1710, 4}, + .SVE_SABD_PRED = { 1714, 4}, + .SVE_UABD_PRED = { 1718, 4}, + .SVE_AND_PRED = { 1722, 1}, + .SVE_ORR_PRED = { 1723, 1}, + .SVE_EOR_PRED = { 1724, 1}, + .SVE_BIC_PRED = { 1725, 1}, + .SVE_ASR_PRED = { 1726, 4}, + .SVE_LSL_PRED = { 1730, 4}, + .SVE_LSR_PRED = { 1734, 4}, + .SVE_ASRR_PRED = { 1738, 0}, + .SVE_LSLR_PRED = { 1738, 0}, + .SVE_LSRR_PRED = { 1738, 0}, + .SVE_ABS_PRED = { 1738, 4}, + .SVE_NEG_PRED = { 1742, 4}, + .SVE_CLS_PRED = { 1746, 4}, + .SVE_CLZ_PRED = { 1750, 4}, + .SVE_CNT_PRED = { 1754, 4}, + .SVE_MOV_PRED = { 1758, 0}, + .SVE_FADD_Z = { 1758, 3}, + .SVE_FSUB_Z = { 1761, 3}, + .SVE_FMUL_Z = { 1764, 3}, + .SVE_FRECPS = { 1767, 3}, + .SVE_FRSQRTS = { 1770, 3}, + .SVE_FTSMUL = { 1773, 3}, + .SVE_FADD_PRED = { 1776, 3}, + .SVE_FSUB_PRED = { 1779, 3}, + .SVE_FSUBR_PRED = { 1782, 0}, + .SVE_FMUL_PRED = { 1782, 3}, + .SVE_FDIV_PRED = { 1785, 3}, + .SVE_FDIVR_PRED = { 1788, 0}, + .SVE_FMAX_PRED = { 1788, 3}, + .SVE_FMIN_PRED = { 1791, 3}, + .SVE_FMAXNM_PRED = { 1794, 3}, + .SVE_FMINNM_PRED = { 1797, 3}, + .SVE_FABS_Z = { 1800, 3}, + .SVE_FNEG_Z = { 1803, 3}, + .SVE_FSQRT_Z = { 1806, 3}, + .SVE_FRECPX_Z = { 1809, 0}, + .SVE_FRINTN = { 1809, 0}, + .SVE_FRINTP = { 1809, 0}, + .SVE_FRINTM = { 1809, 0}, + .SVE_FRINTZ = { 1809, 0}, + .SVE_FRINTA = { 1809, 0}, + .SVE_FRINTX = { 1809, 0}, + .SVE_FRINTI = { 1809, 0}, + .SVE_FMLA = { 1809, 3}, + .SVE_FMLS = { 1812, 3}, + .SVE_FNMLA = { 1815, 3}, + .SVE_FNMLS = { 1818, 3}, + .SVE_AND_P = { 1821, 1}, + .SVE_BIC_P = { 1822, 1}, + .SVE_ORR_P = { 1823, 1}, + .SVE_EOR_P = { 1824, 1}, + .SVE_NAND_P = { 1825, 1}, + .SVE_NOR_P = { 1826, 1}, + .SVE_ORN_P = { 1827, 1}, + .SVE_SEL_P = { 1828, 1}, + .SVE_ANDS_P = { 1829, 1}, + .SVE_BICS_P = { 1830, 1}, + .SVE_ORRS_P = { 1831, 1}, + .SVE_EORS_P = { 1832, 1}, + .SVE_NANDS_P = { 1833, 0}, + .SVE_NORS_P = { 1833, 0}, + .SVE_ORNS_P = { 1833, 0}, + .SVE_NOT_P = { 1833, 0}, + .SVE_MOV_P = { 1833, 0}, + .SVE_MOVS_P = { 1833, 0}, + .SVE_PTRUE = { 1833, 1}, + .SVE_PTRUES = { 1834, 1}, + .SVE_PFALSE = { 1835, 1}, + .SVE_PFIRST = { 1836, 1}, + .SVE_PNEXT = { 1837, 1}, + .SVE_BRKA = { 1838, 0}, + .SVE_BRKB = { 1838, 0}, + .SVE_BRKAS = { 1838, 0}, + .SVE_BRKBS = { 1838, 0}, + .SVE_BRKPA = { 1838, 0}, + .SVE_BRKPB = { 1838, 0}, + .SVE_BRKN = { 1838, 0}, + .SVE_RDFFR = { 1838, 0}, + .SVE_WRFFR = { 1838, 0}, + .SVE_SETFFR = { 1838, 0}, + .SVE_CMPEQ = { 1838, 4}, + .SVE_CMPNE = { 1842, 4}, + .SVE_CMPGE = { 1846, 4}, + .SVE_CMPGT = { 1850, 4}, + .SVE_CMPLE = { 1854, 0}, + .SVE_CMPLT = { 1854, 0}, + .SVE_CMPHI = { 1854, 4}, + .SVE_CMPHS = { 1858, 4}, + .SVE_CMPLO = { 1862, 0}, + .SVE_CMPLS = { 1862, 0}, + .SVE_FCMEQ = { 1862, 0}, + .SVE_FCMNE = { 1862, 0}, + .SVE_FCMGE = { 1862, 0}, + .SVE_FCMGT = { 1862, 0}, + .SVE_FCMLE = { 1862, 0}, + .SVE_FCMLT = { 1862, 0}, + .SVE_FCMUO = { 1862, 0}, + .SVE_DUP_Z = { 1862, 4}, + .SVE_INSR = { 1866, 0}, + .SVE_REV_Z = { 1866, 4}, + .SVE_REV_P = { 1870, 1}, + .SVE_TBL = { 1871, 4}, + .SVE_ZIP1_Z = { 1875, 4}, + .SVE_ZIP2_Z = { 1879, 4}, + .SVE_UZP1_Z = { 1883, 4}, + .SVE_UZP2_Z = { 1887, 4}, + .SVE_TRN1_Z = { 1891, 4}, + .SVE_TRN2_Z = { 1895, 4}, + .SVE_ZIP1_P = { 1899, 1}, + .SVE_ZIP2_P = { 1900, 1}, + .SVE_UZP1_P = { 1901, 1}, + .SVE_UZP2_P = { 1902, 1}, + .SVE_TRN1_P = { 1903, 1}, + .SVE_TRN2_P = { 1904, 1}, + .SVE_CPY_Z = { 1905, 0}, + .SVE_COMPACT = { 1905, 0}, + .SVE_EXT_Z = { 1905, 0}, + .SVE_LD1B = { 1905, 1}, + .SVE_LD1H = { 1906, 1}, + .SVE_LD1W = { 1907, 1}, + .SVE_LD1D = { 1908, 1}, + .SVE_LD1SB = { 1909, 1}, + .SVE_LD1SH = { 1910, 1}, + .SVE_LD1SW = { 1911, 1}, + .SVE_ST1B = { 1912, 1}, + .SVE_ST1H = { 1913, 1}, + .SVE_ST1W = { 1914, 1}, + .SVE_ST1D = { 1915, 1}, + .SVE_LDR_Z = { 1916, 1}, + .SVE_STR_Z = { 1917, 1}, + .SVE_LDR_P = { 1918, 1}, + .SVE_STR_P = { 1919, 1}, + .SVE_LDFF1B = { 1920, 1}, + .SVE_LDFF1H = { 1921, 1}, + .SVE_LDFF1W = { 1922, 1}, + .SVE_LDFF1D = { 1923, 1}, + .SVE_WHILEGE = { 1924, 1}, + .SVE_WHILEGT = { 1925, 1}, + .SVE_WHILELE = { 1926, 1}, + .SVE_WHILELT = { 1927, 1}, + .SVE_WHILEHI = { 1928, 1}, + .SVE_WHILEHS = { 1929, 1}, + .SVE_WHILELO = { 1930, 1}, + .SVE_WHILELS = { 1931, 1}, + .SVE_SQRDMLAH = { 1932, 4}, + .SVE_SQRDMLSH = { 1936, 4}, + .SVE_ADCLB = { 1940, 2}, + .SVE_ADCLT = { 1942, 2}, + .SVE_SBCLB = { 1944, 2}, + .SVE_SBCLT = { 1946, 2}, + .SVE_TBL2 = { 1948, 1}, + .SVE_TBX = { 1949, 1}, + .SVE_AESE = { 1950, 1}, + .SVE_AESD = { 1951, 1}, + .SVE_AESMC = { 1952, 1}, + .SVE_AESIMC = { 1953, 1}, + .SVE_BCAX_Z = { 1954, 0}, + .SVE_XAR_Z = { 1954, 0}, + .SVE_EOR3_Z = { 1954, 0}, + .SVE_MATCH = { 1954, 2}, + .SVE_NMATCH = { 1956, 2}, + .SVE_HISTCNT = { 1958, 2}, + .SVE_HISTSEG = { 1960, 1}, + .SME_SMSTART = { 1961, 1}, + .SME_SMSTOP = { 1962, 1}, + .SME_RDSVL = { 1963, 1}, + .SME_ADDHA = { 1964, 0}, + .SME_ADDVA = { 1964, 0}, + .SME_ZERO = { 1964, 1}, + .SME_FMOPA = { 1965, 1}, + .SME_FMOPS = { 1966, 1}, + .SME_BFMOPA = { 1967, 1}, + .SME_BFMOPS = { 1968, 1}, + .SME_SMOPA = { 1969, 2}, + .SME_SMOPS = { 1971, 2}, + .SME_UMOPA = { 1973, 2}, + .SME_UMOPS = { 1975, 2}, + .SME_USMOPA = { 1977, 1}, + .SME_SUMOPA = { 1978, 1}, + .SME_MOVA_TO_Z = { 1979, 0}, + .SME_MOVA_TO_ZA = { 1979, 0}, + .SME_LD1B_ZA = { 1979, 0}, + .SME_LD1H_ZA = { 1979, 0}, + .SME_LD1W_ZA = { 1979, 0}, + .SME_LD1D_ZA = { 1979, 0}, + .SME_LD1Q_ZA = { 1979, 0}, + .SME_ST1B_ZA = { 1979, 0}, + .SME_ST1H_ZA = { 1979, 0}, + .SME_ST1W_ZA = { 1979, 0}, + .SME_ST1D_ZA = { 1979, 0}, + .SME_ST1Q_ZA = { 1979, 0}, + .SME_LDR_ZA = { 1979, 1}, + .SME_STR_ZA = { 1980, 1}, + .SVE_FMLA_IDX_H = { 1981, 1}, + .SVE_FMLA_IDX_S = { 1982, 1}, + .SVE_FMLA_IDX_D = { 1983, 1}, + .SVE_FMLS_IDX_H = { 1984, 1}, + .SVE_FMLS_IDX_S = { 1985, 1}, + .SVE_FMLS_IDX_D = { 1986, 1}, + .SVE_LD1B_GATHER_S = { 1987, 1}, + .SVE_LD1B_GATHER_D = { 1988, 1}, + .SVE_LD1H_GATHER_S = { 1989, 1}, + .SVE_LD1H_GATHER_D = { 1990, 1}, + .SVE_LD1W_GATHER_S = { 1991, 1}, + .SVE_LD1W_GATHER_D = { 1992, 1}, + .SVE_LD1D_GATHER_D = { 1993, 1}, + .SVE_LD1SB_GATHER_S = { 1994, 1}, + .SVE_LD1SB_GATHER_D = { 1995, 1}, + .SVE_LD1SH_GATHER_S = { 1996, 1}, + .SVE_LD1SH_GATHER_D = { 1997, 1}, + .SVE_LD1SW_GATHER_D = { 1998, 1}, + .SVE_ST1B_SCATTER_S = { 1999, 1}, + .SVE_ST1B_SCATTER_D = { 2000, 1}, + .SVE_ST1H_SCATTER_S = { 2001, 1}, + .SVE_ST1H_SCATTER_D = { 2002, 1}, + .SVE_ST1W_SCATTER_S = { 2003, 1}, + .SVE_ST1W_SCATTER_D = { 2004, 1}, + .SVE_ST1D_SCATTER_D = { 2005, 1}, + .SME_LD1B_TILE = { 2006, 1}, + .SME_LD1H_TILE = { 2007, 1}, + .SME_LD1W_TILE = { 2008, 1}, + .SME_LD1D_TILE = { 2009, 1}, + .SME_LD1Q_TILE = { 2010, 1}, + .SME_ST1B_TILE = { 2011, 1}, + .SME_ST1H_TILE = { 2012, 1}, + .SME_ST1W_TILE = { 2013, 1}, + .SME_ST1D_TILE = { 2014, 1}, + .SME_ST1Q_TILE = { 2015, 1}, + .SME_MOVA_Z_FROM_TILE = { 2016, 1}, + .SME_MOVA_TILE_FROM_Z = { 2017, 1}, + .FCMLA_4H = { 2018, 1}, + .FCMLA_8H = { 2019, 1}, + .FCMLA_4S = { 2020, 1}, + .FCMLA_2D = { 2021, 1}, + .FCADD_4H = { 2022, 1}, + .FCADD_8H = { 2023, 1}, + .FCADD_4S = { 2024, 1}, + .FCADD_2D = { 2025, 1}, + .SVE_PRFB = { 2026, 1}, + .SVE_PRFH = { 2027, 1}, + .SVE_PRFW = { 2028, 1}, + .SVE_PRFD = { 2029, 1}, + .SVE_LDNT1B = { 2030, 1}, + .SVE_LDNT1H = { 2031, 1}, + .SVE_LDNT1W = { 2032, 1}, + .SVE_LDNT1D = { 2033, 1}, + .SVE_STNT1B = { 2034, 1}, + .SVE_STNT1H = { 2035, 1}, + .SVE_STNT1W = { 2036, 1}, + .SVE_STNT1D = { 2037, 1}, + .SVE_EXT = { 2038, 1}, + .SVE_SPLICE = { 2039, 1}, + .SVE_INDEX_II = { 2040, 1}, + .SVE_INDEX_IR = { 2041, 1}, + .SVE_INDEX_RI = { 2042, 1}, + .SVE_INDEX_RR = { 2043, 1}, + .SVE_BSL = { 2044, 1}, + .SVE_BSL1N = { 2045, 1}, + .SVE_BSL2N = { 2046, 1}, + .SVE_NBSL = { 2047, 1}, + .SVE_PMUL_VEC = { 2048, 1}, + .SVE_PMULLB = { 2049, 1}, + .SVE_PMULLT = { 2050, 1}, + .SVE_BFCVT = { 2051, 1}, + .SVE_BFCVTNT = { 2052, 1}, + .LDRAA = { 2053, 1}, + .LDRAB = { 2054, 1}, + .LDRAA_PRE = { 2055, 1}, + .LDRAB_PRE = { 2056, 1}, + .TSTART = { 2057, 1}, + .TCOMMIT = { 2058, 1}, + .TCANCEL = { 2059, 1}, + .TTEST = { 2060, 1}, + .WFET = { 2061, 1}, + .WFIT = { 2062, 1}, + .BC_COND = { 2063, 1}, + .UXTB = { 2064, 1}, + .UXTH = { 2065, 1}, + .UXTW = { 2066, 1}, + .SXTB = { 2067, 1}, + .SXTH = { 2068, 1}, + .SXTW = { 2069, 1}, + .ADC = { 2070, 2}, + .ADCS = { 2072, 2}, + .SBC = { 2074, 2}, + .SBCS = { 2076, 2}, + .NGC = { 2078, 2}, + .NGCS = { 2080, 2}, + .LDAPUR = { 2082, 2}, + .STLUR = { 2084, 2}, + .LDAPURB = { 2086, 1}, + .STLURB = { 2087, 1}, + .LDAPURH = { 2088, 1}, + .STLURH = { 2089, 1}, + .LDAPURSB = { 2090, 2}, + .LDAPURSH = { 2092, 2}, + .LDAPURSW = { 2094, 1}, + .SVE_BFADD = { 2095, 1}, + .SVE_BFSUB = { 2096, 1}, + .SVE_BFMUL = { 2097, 1}, + .SVE_BFMLA = { 2098, 1}, + .SVE_BFMLS = { 2099, 1}, + .SB = { 2100, 1}, + .CSDB = { 2101, 1}, + .DGH = { 2102, 1}, + .PSB_CSYNC = { 2103, 1}, + .TSB_CSYNC = { 2104, 1}, + .BTI_J = { 2105, 1}, + .BTI_C = { 2106, 1}, + .BTI_JC = { 2107, 1}, + .MOV_V_ALIAS = { 2108, 2}, + .NOT_V_ALIAS = { 2110, 2}, + .LSL_IMM = { 2112, 2}, + .LSR_IMM = { 2114, 2}, + .ASR_IMM = { 2116, 2}, + .ROR_IMM = { 2118, 2}, + .SVE_BFADD_UNPRED = { 2120, 1}, + .SVE_BFSUB_UNPRED = { 2121, 1}, + .SVE_BFMUL_UNPRED = { 2122, 1}, + .SVE_BFCLAMP = { 2123, 1}, + .SVE_BFMAXNM = { 2124, 1}, + .SVE_BFMINNM = { 2125, 1}, + .SME2_LUTI2_B = { 2126, 1}, + .SME2_LUTI4_B = { 2127, 1}, + .SME2_LD1B_X2 = { 2128, 1}, + .SME2_LD1H_X2 = { 2129, 1}, + .SME2_LD1W_X2 = { 2130, 1}, + .SME2_LD1D_X2 = { 2131, 1}, + .SME2_LD1B_X4 = { 2132, 1}, + .SME2_LD1H_X4 = { 2133, 1}, + .SME2_LD1W_X4 = { 2134, 1}, + .SME2_LD1D_X4 = { 2135, 1}, + .SME2_ST1B_X2 = { 2136, 1}, + .SME2_ST1H_X2 = { 2137, 1}, + .SME2_ST1W_X2 = { 2138, 1}, + .SME2_ST1D_X2 = { 2139, 1}, + .SME2_ST1B_X4 = { 2140, 1}, + .SME2_ST1H_X4 = { 2141, 1}, + .SME2_ST1W_X4 = { 2142, 1}, + .SME2_ST1D_X4 = { 2143, 1}, + .SME2_ZIP_3 = { 2144, 1}, + .SME2_ZIP_4 = { 2145, 1}, + .SME2_UZP_3 = { 2146, 1}, + .SME2_UZP_4 = { 2147, 1}, + .TLBI_RPALOS = { 2148, 1}, + .TLBI_RPAOS = { 2149, 1}, + .AT_S1E1A = { 2150, 1}, + .DC_CIPAPA = { 2151, 1}, + .DC_CIGDPAPA = { 2152, 1}, + .TLBI_PAALL = { 2153, 1}, + .TLBI_PAALLOS = { 2154, 1}, + .AMX_LDX = { 2155, 1}, + .AMX_LDY = { 2156, 1}, + .AMX_STX = { 2157, 1}, + .AMX_STY = { 2158, 1}, + .AMX_LDZ = { 2159, 1}, + .AMX_STZ = { 2160, 1}, + .AMX_LDZI = { 2161, 1}, + .AMX_STZI = { 2162, 1}, + .AMX_EXTRX = { 2163, 1}, + .AMX_EXTRY = { 2164, 1}, + .AMX_FMA64 = { 2165, 1}, + .AMX_FMS64 = { 2166, 1}, + .AMX_FMA32 = { 2167, 1}, + .AMX_FMS32 = { 2168, 1}, + .AMX_MAC16 = { 2169, 1}, + .AMX_FMA16 = { 2170, 1}, + .AMX_FMS16 = { 2171, 1}, + .AMX_SET = { 2172, 1}, + .AMX_CLR = { 2173, 1}, + .AMX_VECINT = { 2174, 1}, + .AMX_VECFP = { 2175, 1}, + .AMX_MATINT = { 2176, 1}, + .AMX_MATFP = { 2177, 1}, + .AMX_GENLUT = { 2178, 1}, + .CPYP = { 2179, 1}, + .CPYM = { 2180, 1}, + .CPYE = { 2181, 1}, + .CPYFP = { 2182, 1}, + .CPYFM = { 2183, 1}, + .CPYFE = { 2184, 1}, + .SETP = { 2185, 1}, + .SETM = { 2186, 1}, + .SETE = { 2187, 1}, + .DC_IVAC = { 2188, 1}, + .DC_ISW = { 2189, 1}, + .DC_CSW = { 2190, 1}, + .DC_CISW = { 2191, 1}, + .DC_ZVA = { 2192, 1}, + .DC_CVAC = { 2193, 1}, + .DC_CVAU = { 2194, 1}, + .DC_CIVAC = { 2195, 1}, + .IC_IALLUIS = { 2196, 1}, + .IC_IALLU = { 2197, 1}, + .IC_IVAU = { 2198, 1}, + .AT_S1E1R = { 2199, 1}, + .AT_S1E1W = { 2200, 1}, + .AT_S1E0R = { 2201, 1}, + .AT_S1E0W = { 2202, 1}, + .AT_S1E2R = { 2203, 1}, + .AT_S1E2W = { 2204, 1}, + .AT_S1E3R = { 2205, 1}, + .AT_S1E3W = { 2206, 1}, + .AT_S12E1R = { 2207, 1}, + .AT_S12E1W = { 2208, 1}, + .AT_S12E0R = { 2209, 1}, + .AT_S12E0W = { 2210, 1}, + .TLBI_VMALLE1 = { 2211, 1}, + .TLBI_VMALLE1IS = { 2212, 1}, + .TLBI_VAE1 = { 2213, 1}, + .TLBI_VAE1IS = { 2214, 1}, + .TLBI_ASIDE1 = { 2215, 1}, + .TLBI_ASIDE1IS = { 2216, 1}, + .TLBI_VAAE1 = { 2217, 1}, + .TLBI_VAAE1IS = { 2218, 1}, + .TLBI_VALE1 = { 2219, 1}, + .TLBI_VALE1IS = { 2220, 1}, + .TLBI_VAALE1 = { 2221, 1}, + .TLBI_VAALE1IS = { 2222, 1}, + .TLBI_ALLE1 = { 2223, 1}, + .TLBI_ALLE1IS = { 2224, 1}, + .TLBI_ALLE2 = { 2225, 1}, + .TLBI_ALLE2IS = { 2226, 1}, + .TLBI_ALLE3 = { 2227, 1}, + .TLBI_ALLE3IS = { 2228, 1}, + .PRFM = { 2229, 1}, + .PRFUM = { 2230, 1}, + .PRFM_LIT = { 2231, 1}, + .MOV_REG = { 2232, 2}, + .MOV_BITMASK = { 2234, 2}, + .MVN = { 2236, 2}, + .NEG_SR = { 2238, 2}, + .NEGS = { 2240, 2}, + .CMP_SR = { 2242, 2}, + .CMP_ER = { 2244, 2}, + .CMP_IMM = { 2246, 2}, + .CMN_SR = { 2248, 2}, + .CMN_ER = { 2250, 2}, + .CMN_IMM = { 2252, 2}, + .TST_SR = { 2254, 2}, } diff --git a/core/rexcode/arm64/tables/arm64.encode_forms.bin b/core/rexcode/arm64/tables/arm64.encode_forms.bin index 822acdd22..68492a60d 100644 Binary files a/core/rexcode/arm64/tables/arm64.encode_forms.bin and b/core/rexcode/arm64/tables/arm64.encode_forms.bin differ diff --git a/core/rexcode/arm64/tables/arm64.encode_runs.bin b/core/rexcode/arm64/tables/arm64.encode_runs.bin index 991011f8d..6fd0b4303 100644 Binary files a/core/rexcode/arm64/tables/arm64.encode_runs.bin and b/core/rexcode/arm64/tables/arm64.encode_runs.bin differ diff --git a/core/rexcode/arm64/tables/arm64.entries.bin b/core/rexcode/arm64/tables/arm64.entries.bin index bb0088ab0..908281fba 100644 Binary files a/core/rexcode/arm64/tables/arm64.entries.bin and b/core/rexcode/arm64/tables/arm64.entries.bin differ diff --git a/core/rexcode/arm64/tables/arm64.idx_op0.bin b/core/rexcode/arm64/tables/arm64.idx_op0.bin index f21a42ced..942d7ad56 100644 Binary files a/core/rexcode/arm64/tables/arm64.idx_op0.bin and b/core/rexcode/arm64/tables/arm64.idx_op0.bin differ