x/arch/arm64: implement arm64 disassembler
- Add support for all basic instructions (except for the following
6 system instructions: AT, DC, HVC, SMC, SYS and TLBI)
- Add support for all FP basic instructions
- Add support for all SIMD instructions (plan9 syntax refer to CL 41654)
- Add cases for testing all instructions and comparing disassembly result
with external disassembler (by gnu syntax)
Disassembler framework is mainly contributed by Zheng Xu <zheng.xu@arm.com>
Testing and bug fixing are mainly contributed by Fannie Zhang <fannie.zhang@arm.com>
Other parts (such as decoder table and argument) are mainly contributed by Wei Xiao <wei.xiao@arm.com>
Fixes #19157
Change-Id: I76b6b075f487857124c8ca774a12d764d4ee85c7
Reviewed-on: https://go-review.googlesource.com/43651
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
diff --git a/arm64/arm64asm/arg.go b/arm64/arm64asm/arg.go
new file mode 100644
index 0000000..96df14d
--- /dev/null
+++ b/arm64/arm64asm/arg.go
@@ -0,0 +1,494 @@
+// Generated by ARM internal tool
+// DO NOT EDIT
+
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package arm64asm
+
+// Naming for Go decoder arguments:
+//
+// - arg_Wd: a W register encoded in the Rd[4:0] field (31 is wzr)
+//
+// - arg_Xd: a X register encoded in the Rd[4:0] field (31 is xzr)
+//
+// - arg_Wds: a W register encoded in the Rd[4:0] field (31 is wsp)
+//
+// - arg_Xds: a X register encoded in the Rd[4:0] field (31 is sp)
+//
+// - arg_Wn: encoded in Rn[9:5]
+//
+// - arg_Wm: encoded in Rm[20:16]
+//
+// - arg_Wm_extend__UXTB_0__UXTH_1__LSL_UXTW_2__UXTX_3__SXTB_4__SXTH_5__SXTW_6__SXTX_7__0_4:
+// a W register encoded in Rm with an extend encoded in option[15:13] and an amount
+// encoded in imm3[12:10] in the range [0,4].
+//
+// - arg_Rm_extend__UXTB_0__UXTH_1__UXTW_2__LSL_UXTX_3__SXTB_4__SXTH_5__SXTW_6__SXTX_7__0_4:
+// a W or X register encoded in Rm with an extend encoded in option[15:13] and an
+// amount encoded in imm3[12:10] in the range [0,4]. If the extend is UXTX or SXTX,
+// it's an X register else, it's a W register.
+//
+// - arg_Wm_shift__LSL_0__LSR_1__ASR_2__0_31:
+// a W register encoded in Rm with a shift encoded in shift[23:22] and an amount
+// encoded in imm6[15:10] in the range [0,31].
+//
+// - arg_IAddSub:
+// An immediate for a add/sub instruction encoded in imm12[21:10] with an optional
+// left shift of 12 encoded in shift[23:22].
+//
+// - arg_Rt_31_1__W_0__X_1:
+// a W or X register encoded in Rt[4:0]. The width specifier is encoded in the field
+// [31:31] (offset 31, bit count 1) and the register is W for 0 and X for 1.
+//
+// - arg_[s|u]label_FIELDS_POWER:
+// a program label encoded as "FIELDS" times 2^POWER in the range [MIN, MAX] (determined
+// by signd/unsigned, FIELDS and POWER), e.g.
+// arg_slabel_imm14_2
+// arg_slabel_imm19_2
+// arg_slabel_imm26_2
+// arg_slabel_immhi_immlo_0
+// arg_slabel_immhi_immlo_12
+//
+// - arg_Xns_mem_post_imm7_8_signed:
+// addressing mode of post-index with a base register: Xns and a signed offset encoded
+// in the "imm7" field times 8
+//
+// - arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__3_1:
+// addressing mode of extended register with a base register: Xns, an offset register
+// (<Wm>|<Xm>) with an extend encoded in option[15:13] and a shift amount encoded in
+// S[12:12] in the range [0,3] (S=0:0, S=1:3).
+//
+// - arg_Xns_mem_optional_imm12_4_unsigned:
+// addressing mode of unsigned offset with a base register: Xns and an optional unsigned
+// offset encoded in the "imm12" field times 4
+//
+// - arg_Xns_mem_wb_imm7_4_signed:
+// addressing mode of pre-index with a base register: Xns and the signed offset encoded
+// in the "imm7" field times 4
+//
+// - arg_Xns_mem_post_size_1_8_unsigned__4_0__8_1__16_2__32_3:
+// a post-index immediate offset, encoded in the "size" field. It can have the following values:
+// #4 when size = 00
+// #8 when size = 01
+// #16 when size = 10
+// #32 when size = 11
+//
+// - arg_immediate_0_127_CRm_op2:
+// an immediate encoded in "CRm:op2" in the range 0 to 127
+//
+// - arg_immediate_bitmask_64_N_imms_immr:
+// a bitmask immediate for 64-bit variant and encoded in "N:imms:immr"
+//
+// - arg_immediate_SBFX_SBFM_64M_bitfield_width_64_imms:
+// an immediate for the <width> bitfield of SBFX 64-bit variant
+//
+// - arg_immediate_shift_32_implicit_inverse_imm16_hw:
+// a 32-bit immediate of the bitwise inverse of which can be encoded in "imm16:hw"
+//
+// - arg_cond_[Not]AllowALNV_[Invert|Normal]:
+// a standard condition, encoded in the "cond" field, excluding (NotAllow) AL and NV with
+// its least significant bit [Yes|No] inverted, e.g.
+// arg_cond_AllowALNV_Normal
+// arg_cond_NotAllowALNV_Invert
+//
+// - arg_immediate_OptLSL_amount_16_0_48:
+// An immediate for MOV[KNZ] instruction encoded in imm16[20:5] with an optional
+// left shift of 16 in the range [0, 48] encoded in hw[22, 21]
+//
+// - arg_immediate_0_width_m1_immh_immb__UIntimmhimmb8_1__UIntimmhimmb16_2__UIntimmhimmb32_4__UIntimmhimmb64_8:
+// the left shift amount, in the range 0 to the operand width in bits minus 1,
+// encoded in the "immh:immb" field. It can have the following values:
+// (UInt(immh:immb)-8) when immh = 0001
+// (UInt(immh:immb)-16) when immh = 001x
+// (UInt(immh:immb)-32) when immh = 01xx
+// (UInt(immh:immb)-64) when immh = 1xxx
+//
+// - arg_immediate_1_width_immh_immb__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4:
+// the right shift amount, in the range 1 to the destination operand width in
+// bits, encoded in the "immh:immb" field. It can have the following values:
+// (16-UInt(immh:immb)) when immh = 0001
+// (32-UInt(immh:immb)) when immh = 001x
+// (64-UInt(immh:immb)) when immh = 01xx
+//
+// - arg_immediate_8x8_a_b_c_d_e_f_g_h:
+// a 64-bit immediate 'aaaaaaaabbbbbbbbccccccccddddddddeeeeeeeeffffffffgggggggghhhhhhhh',
+// encoded in "a:b:c:d:e:f:g:h".
+//
+// - arg_immediate_fbits_min_1_max_32_sub_64_scale:
+// the number of bits after the binary point in the fixed-point destination,
+// in the range 1 to 32, encoded as 64 minus "scale".
+//
+// - arg_immediate_floatzero: #0.0
+//
+// - arg_immediate_exp_3_pre_4_a_b_c_d_e_f_g_h:
+// a signed floating-point constant with 3-bit exponent and normalized 4 bits of precision,
+// encoded in "a:b:c:d:e:f:g:h"
+//
+// - arg_immediate_fbits_min_1_max_0_sub_0_immh_immb__64UIntimmhimmb_4__128UIntimmhimmb_8:
+// the number of fractional bits, in the range 1 to the operand width, encoded
+// in the "immh:immb" field. It can have the following values:
+// (64-UInt(immh:immb)) when immh = 01xx
+// (128-UInt(immh:immb)) when immh = 1xxx
+//
+// - arg_immediate_index_Q_imm4__imm4lt20gt_00__imm4_10:
+// the lowest numbered byte element to be extracted, encoded in the "Q:imm4" field.
+// It can have the following values:
+// imm4<2:0> when Q = 0, imm4<3> = 0
+// imm4 when Q = 1, imm4<3> = x
+//
+// - arg_sysop_AT_SYS_CR_system:
+// system operation for system instruction: AT encoded in the "op1:CRm<0>:op2" field
+//
+// - arg_prfop_Rt:
+// prefectch operation encoded in the "Rt"
+//
+// - arg_sysreg_o0_op1_CRn_CRm_op2:
+// system register name encoded in the "o0:op1:CRn:CRm:op2"
+//
+// - arg_pstatefield_op1_op2__SPSel_05__DAIFSet_36__DAIFClr_37:
+// PSTATE field name encoded in the "op1:op2" field
+//
+// - arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31:
+// one register with arrangement specifier encoded in the "size:Q" field which can have the following values:
+// 8B when size = 00, Q = 0
+// 16B when size = 00, Q = 1
+// 4H when size = 01, Q = 0
+// 8H when size = 01, Q = 1
+// 2S when size = 10, Q = 0
+// 4S when size = 10, Q = 1
+// 2D when size = 11, Q = 1
+// The encoding size = 11, Q = 0 is reserved.
+//
+// - arg_Vt_3_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31:
+// three registers with arrangement specifier encoded in the "size:Q" field which can have the following values:
+// 8B when size = 00, Q = 0
+// 16B when size = 00, Q = 1
+// 4H when size = 01, Q = 0
+// 8H when size = 01, Q = 1
+// 2S when size = 10, Q = 0
+// 4S when size = 10, Q = 1
+// 2D when size = 11, Q = 1
+// The encoding size = 11, Q = 0 is reserved.
+//
+// - arg_Vt_1_arrangement_H_index__Q_S_size_1:
+// one register with arrangement:H and element index encoded in "Q:S:size<1>".
+
+type instArg uint16
+
+const (
+ _ instArg = iota
+ arg_Bt
+ arg_Cm
+ arg_Cn
+ arg_cond_AllowALNV_Normal
+ arg_conditional
+ arg_cond_NotAllowALNV_Invert
+ arg_Da
+ arg_Dd
+ arg_Dm
+ arg_Dn
+ arg_Dt
+ arg_Dt2
+ arg_Hd
+ arg_Hn
+ arg_Ht
+ arg_IAddSub
+ arg_immediate_0_127_CRm_op2
+ arg_immediate_0_15_CRm
+ arg_immediate_0_15_nzcv
+ arg_immediate_0_31_imm5
+ arg_immediate_0_31_immr
+ arg_immediate_0_31_imms
+ arg_immediate_0_63_b5_b40
+ arg_immediate_0_63_immh_immb__UIntimmhimmb64_8
+ arg_immediate_0_63_immr
+ arg_immediate_0_63_imms
+ arg_immediate_0_65535_imm16
+ arg_immediate_0_7_op1
+ arg_immediate_0_7_op2
+ arg_immediate_0_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__UIntimmhimmb8_1__UIntimmhimmb16_2__UIntimmhimmb32_4
+ arg_immediate_0_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__UIntimmhimmb8_1__UIntimmhimmb16_2__UIntimmhimmb32_4__UIntimmhimmb64_8
+ arg_immediate_0_width_m1_immh_immb__UIntimmhimmb8_1__UIntimmhimmb16_2__UIntimmhimmb32_4__UIntimmhimmb64_8
+ arg_immediate_0_width_size__8_0__16_1__32_2
+ arg_immediate_1_64_immh_immb__128UIntimmhimmb_8
+ arg_immediate_1_width_immh_immb__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4
+ arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4
+ arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4__128UIntimmhimmb_8
+ arg_immediate_8x8_a_b_c_d_e_f_g_h
+ arg_immediate_ASR_SBFM_32M_bitfield_0_31_immr
+ arg_immediate_ASR_SBFM_64M_bitfield_0_63_immr
+ arg_immediate_BFI_BFM_32M_bitfield_lsb_32_immr
+ arg_immediate_BFI_BFM_32M_bitfield_width_32_imms
+ arg_immediate_BFI_BFM_64M_bitfield_lsb_64_immr
+ arg_immediate_BFI_BFM_64M_bitfield_width_64_imms
+ arg_immediate_BFXIL_BFM_32M_bitfield_lsb_32_immr
+ arg_immediate_BFXIL_BFM_32M_bitfield_width_32_imms
+ arg_immediate_BFXIL_BFM_64M_bitfield_lsb_64_immr
+ arg_immediate_BFXIL_BFM_64M_bitfield_width_64_imms
+ arg_immediate_bitmask_32_imms_immr
+ arg_immediate_bitmask_64_N_imms_immr
+ arg_immediate_exp_3_pre_4_a_b_c_d_e_f_g_h
+ arg_immediate_exp_3_pre_4_imm8
+ arg_immediate_fbits_min_1_max_0_sub_0_immh_immb__64UIntimmhimmb_4__128UIntimmhimmb_8
+ arg_immediate_fbits_min_1_max_0_sub_0_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__64UIntimmhimmb_4__128UIntimmhimmb_8
+ arg_immediate_fbits_min_1_max_32_sub_64_scale
+ arg_immediate_fbits_min_1_max_64_sub_64_scale
+ arg_immediate_floatzero
+ arg_immediate_index_Q_imm4__imm4lt20gt_00__imm4_10
+ arg_immediate_LSL_UBFM_32M_bitfield_0_31_immr
+ arg_immediate_LSL_UBFM_64M_bitfield_0_63_immr
+ arg_immediate_LSR_UBFM_32M_bitfield_0_31_immr
+ arg_immediate_LSR_UBFM_64M_bitfield_0_63_immr
+ arg_immediate_MSL__a_b_c_d_e_f_g_h_cmode__8_0__16_1
+ arg_immediate_optional_0_15_CRm
+ arg_immediate_optional_0_65535_imm16
+ arg_immediate_OptLSL__a_b_c_d_e_f_g_h_cmode__0_0__8_1
+ arg_immediate_OptLSL__a_b_c_d_e_f_g_h_cmode__0_0__8_1__16_2__24_3
+ arg_immediate_OptLSL_amount_16_0_16
+ arg_immediate_OptLSL_amount_16_0_48
+ arg_immediate_OptLSLZero__a_b_c_d_e_f_g_h
+ arg_immediate_SBFIZ_SBFM_32M_bitfield_lsb_32_immr
+ arg_immediate_SBFIZ_SBFM_32M_bitfield_width_32_imms
+ arg_immediate_SBFIZ_SBFM_64M_bitfield_lsb_64_immr
+ arg_immediate_SBFIZ_SBFM_64M_bitfield_width_64_imms
+ arg_immediate_SBFX_SBFM_32M_bitfield_lsb_32_immr
+ arg_immediate_SBFX_SBFM_32M_bitfield_width_32_imms
+ arg_immediate_SBFX_SBFM_64M_bitfield_lsb_64_immr
+ arg_immediate_SBFX_SBFM_64M_bitfield_width_64_imms
+ arg_immediate_shift_32_implicit_imm16_hw
+ arg_immediate_shift_32_implicit_inverse_imm16_hw
+ arg_immediate_shift_64_implicit_imm16_hw
+ arg_immediate_shift_64_implicit_inverse_imm16_hw
+ arg_immediate_UBFIZ_UBFM_32M_bitfield_lsb_32_immr
+ arg_immediate_UBFIZ_UBFM_32M_bitfield_width_32_imms
+ arg_immediate_UBFIZ_UBFM_64M_bitfield_lsb_64_immr
+ arg_immediate_UBFIZ_UBFM_64M_bitfield_width_64_imms
+ arg_immediate_UBFX_UBFM_32M_bitfield_lsb_32_immr
+ arg_immediate_UBFX_UBFM_32M_bitfield_width_32_imms
+ arg_immediate_UBFX_UBFM_64M_bitfield_lsb_64_immr
+ arg_immediate_UBFX_UBFM_64M_bitfield_width_64_imms
+ arg_immediate_zero
+ arg_option_DMB_BO_system_CRm
+ arg_option_DSB_BO_system_CRm
+ arg_option_ISB_BI_system_CRm
+ arg_prfop_Rt
+ arg_pstatefield_op1_op2__SPSel_05__DAIFSet_36__DAIFClr_37
+ arg_Qd
+ arg_Qn
+ arg_Qt
+ arg_Qt2
+ arg_Rm_extend__UXTB_0__UXTH_1__UXTW_2__LSL_UXTX_3__SXTB_4__SXTH_5__SXTW_6__SXTX_7__0_4
+ arg_Rn_16_5__W_1__W_2__W_4__X_8
+ arg_Rt_31_1__W_0__X_1
+ arg_Sa
+ arg_Sd
+ arg_slabel_imm14_2
+ arg_slabel_imm19_2
+ arg_slabel_imm26_2
+ arg_slabel_immhi_immlo_0
+ arg_slabel_immhi_immlo_12
+ arg_Sm
+ arg_Sn
+ arg_St
+ arg_St2
+ arg_sysop_AT_SYS_CR_system
+ arg_sysop_DC_SYS_CR_system
+ arg_sysop_IC_SYS_CR_system
+ arg_sysop_SYS_CR_system
+ arg_sysop_TLBI_SYS_CR_system
+ arg_sysreg_o0_op1_CRn_CRm_op2
+ arg_Vd_16_5__B_1__H_2__S_4__D_8
+ arg_Vd_19_4__B_1__H_2__S_4
+ arg_Vd_19_4__B_1__H_2__S_4__D_8
+ arg_Vd_19_4__D_8
+ arg_Vd_19_4__S_4__D_8
+ arg_Vd_22_1__S_0
+ arg_Vd_22_1__S_0__D_1
+ arg_Vd_22_1__S_1
+ arg_Vd_22_2__B_0__H_1__S_2
+ arg_Vd_22_2__B_0__H_1__S_2__D_3
+ arg_Vd_22_2__D_3
+ arg_Vd_22_2__H_0__S_1__D_2
+ arg_Vd_22_2__H_1__S_2
+ arg_Vd_22_2__S_1__D_2
+ arg_Vd_arrangement_16B
+ arg_Vd_arrangement_2D
+ arg_Vd_arrangement_4S
+ arg_Vd_arrangement_D_index__1
+ arg_Vd_arrangement_imm5___B_1__H_2__S_4__D_8_index__imm5__imm5lt41gt_1__imm5lt42gt_2__imm5lt43gt_4__imm5lt4gt_8_1
+ arg_Vd_arrangement_imm5_Q___8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81
+ arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__2S_40__4S_41__2D_81
+ arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41
+ arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81
+ arg_Vd_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4
+ arg_Vd_arrangement_Q___2S_0__4S_1
+ arg_Vd_arrangement_Q___4H_0__8H_1
+ arg_Vd_arrangement_Q___8B_0__16B_1
+ arg_Vd_arrangement_Q_sz___2S_00__4S_10__2D_11
+ arg_Vd_arrangement_size___4S_1__2D_2
+ arg_Vd_arrangement_size___8H_0__1Q_3
+ arg_Vd_arrangement_size___8H_0__4S_1__2D_2
+ arg_Vd_arrangement_size_Q___4H_00__8H_01__2S_10__4S_11__1D_20__2D_21
+ arg_Vd_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21
+ arg_Vd_arrangement_size_Q___8B_00__16B_01
+ arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11
+ arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21
+ arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31
+ arg_Vd_arrangement_sz___4S_0__2D_1
+ arg_Vd_arrangement_sz_Q___2S_00__4S_01
+ arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11
+ arg_Vd_arrangement_sz_Q___2S_10__4S_11
+ arg_Vd_arrangement_sz_Q___4H_00__8H_01__2S_10__4S_11
+ arg_Vm_22_1__S_0__D_1
+ arg_Vm_22_2__B_0__H_1__S_2__D_3
+ arg_Vm_22_2__D_3
+ arg_Vm_22_2__H_1__S_2
+ arg_Vm_arrangement_4S
+ arg_Vm_arrangement_Q___8B_0__16B_1
+ arg_Vm_arrangement_size___8H_0__4S_1__2D_2
+ arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1
+ arg_Vm_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21
+ arg_Vm_arrangement_size_Q___8B_00__16B_01
+ arg_Vm_arrangement_size_Q___8B_00__16B_01__1D_30__2D_31
+ arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21
+ arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31
+ arg_Vm_arrangement_sz_Q___2S_00__4S_01__2D_11
+ arg_Vm_arrangement_sz___S_0__D_1_index__sz_L_H__HL_00__H_10_1
+ arg_Vn_19_4__B_1__H_2__S_4__D_8
+ arg_Vn_19_4__D_8
+ arg_Vn_19_4__H_1__S_2__D_4
+ arg_Vn_19_4__S_4__D_8
+ arg_Vn_1_arrangement_16B
+ arg_Vn_22_1__D_1
+ arg_Vn_22_1__S_0__D_1
+ arg_Vn_22_2__B_0__H_1__S_2__D_3
+ arg_Vn_22_2__D_3
+ arg_Vn_22_2__H_0__S_1__D_2
+ arg_Vn_22_2__H_1__S_2
+ arg_Vn_2_arrangement_16B
+ arg_Vn_3_arrangement_16B
+ arg_Vn_4_arrangement_16B
+ arg_Vn_arrangement_16B
+ arg_Vn_arrangement_4S
+ arg_Vn_arrangement_D_index__1
+ arg_Vn_arrangement_D_index__imm5_1
+ arg_Vn_arrangement_imm5___B_1__H_2_index__imm5__imm5lt41gt_1__imm5lt42gt_2_1
+ arg_Vn_arrangement_imm5___B_1__H_2__S_4__D_8_index__imm5_imm4__imm4lt30gt_1__imm4lt31gt_2__imm4lt32gt_4__imm4lt3gt_8_1
+ arg_Vn_arrangement_imm5___B_1__H_2__S_4__D_8_index__imm5__imm5lt41gt_1__imm5lt42gt_2__imm5lt43gt_4__imm5lt4gt_8_1
+ arg_Vn_arrangement_imm5___B_1__H_2__S_4_index__imm5__imm5lt41gt_1__imm5lt42gt_2__imm5lt43gt_4_1
+ arg_Vn_arrangement_imm5___D_8_index__imm5_1
+ arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__2S_40__4S_41__2D_81
+ arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41
+ arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81
+ arg_Vn_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4
+ arg_Vn_arrangement_Q___8B_0__16B_1
+ arg_Vn_arrangement_Q_sz___2S_00__4S_10__2D_11
+ arg_Vn_arrangement_Q_sz___4S_10
+ arg_Vn_arrangement_S_index__imm5__imm5lt41gt_1__imm5lt42gt_2__imm5lt43gt_4_1
+ arg_Vn_arrangement_size___2D_3
+ arg_Vn_arrangement_size___8H_0__4S_1__2D_2
+ arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21
+ arg_Vn_arrangement_size_Q___8B_00__16B_01
+ arg_Vn_arrangement_size_Q___8B_00__16B_01__1D_30__2D_31
+ arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11
+ arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21
+ arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31
+ arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__4S_21
+ arg_Vn_arrangement_sz___2D_1
+ arg_Vn_arrangement_sz___2S_0__2D_1
+ arg_Vn_arrangement_sz___4S_0__2D_1
+ arg_Vn_arrangement_sz_Q___2S_00__4S_01
+ arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11
+ arg_Vn_arrangement_sz_Q___4H_00__8H_01__2S_10__4S_11
+ arg_Vt_1_arrangement_B_index__Q_S_size_1
+ arg_Vt_1_arrangement_D_index__Q_1
+ arg_Vt_1_arrangement_H_index__Q_S_size_1
+ arg_Vt_1_arrangement_S_index__Q_S_1
+ arg_Vt_1_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31
+ arg_Vt_2_arrangement_B_index__Q_S_size_1
+ arg_Vt_2_arrangement_D_index__Q_1
+ arg_Vt_2_arrangement_H_index__Q_S_size_1
+ arg_Vt_2_arrangement_S_index__Q_S_1
+ arg_Vt_2_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31
+ arg_Vt_2_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31
+ arg_Vt_3_arrangement_B_index__Q_S_size_1
+ arg_Vt_3_arrangement_D_index__Q_1
+ arg_Vt_3_arrangement_H_index__Q_S_size_1
+ arg_Vt_3_arrangement_S_index__Q_S_1
+ arg_Vt_3_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31
+ arg_Vt_3_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31
+ arg_Vt_4_arrangement_B_index__Q_S_size_1
+ arg_Vt_4_arrangement_D_index__Q_1
+ arg_Vt_4_arrangement_H_index__Q_S_size_1
+ arg_Vt_4_arrangement_S_index__Q_S_1
+ arg_Vt_4_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31
+ arg_Vt_4_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31
+ arg_Wa
+ arg_Wd
+ arg_Wds
+ arg_Wm
+ arg_Wm_extend__UXTB_0__UXTH_1__LSL_UXTW_2__UXTX_3__SXTB_4__SXTH_5__SXTW_6__SXTX_7__0_4
+ arg_Wm_shift__LSL_0__LSR_1__ASR_2__0_31
+ arg_Wm_shift__LSL_0__LSR_1__ASR_2__ROR_3__0_31
+ arg_Wn
+ arg_Wns
+ arg_Ws
+ arg_Wt
+ arg_Wt2
+ arg_Xa
+ arg_Xd
+ arg_Xds
+ arg_Xm
+ arg_Xm_shift__LSL_0__LSR_1__ASR_2__0_63
+ arg_Xm_shift__LSL_0__LSR_1__ASR_2__ROR_3__0_63
+ arg_Xn
+ arg_Xns
+ arg_Xns_mem
+ arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__1_1
+ arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__2_1
+ arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__3_1
+ arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__4_1
+ arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__absent_0__0_1
+ arg_Xns_mem_offset
+ arg_Xns_mem_optional_imm12_16_unsigned
+ arg_Xns_mem_optional_imm12_1_unsigned
+ arg_Xns_mem_optional_imm12_2_unsigned
+ arg_Xns_mem_optional_imm12_4_unsigned
+ arg_Xns_mem_optional_imm12_8_unsigned
+ arg_Xns_mem_optional_imm7_16_signed
+ arg_Xns_mem_optional_imm7_4_signed
+ arg_Xns_mem_optional_imm7_8_signed
+ arg_Xns_mem_optional_imm9_1_signed
+ arg_Xns_mem_post_fixedimm_1
+ arg_Xns_mem_post_fixedimm_12
+ arg_Xns_mem_post_fixedimm_16
+ arg_Xns_mem_post_fixedimm_2
+ arg_Xns_mem_post_fixedimm_24
+ arg_Xns_mem_post_fixedimm_3
+ arg_Xns_mem_post_fixedimm_32
+ arg_Xns_mem_post_fixedimm_4
+ arg_Xns_mem_post_fixedimm_6
+ arg_Xns_mem_post_fixedimm_8
+ arg_Xns_mem_post_imm7_16_signed
+ arg_Xns_mem_post_imm7_4_signed
+ arg_Xns_mem_post_imm7_8_signed
+ arg_Xns_mem_post_imm9_1_signed
+ arg_Xns_mem_post_Q__16_0__32_1
+ arg_Xns_mem_post_Q__24_0__48_1
+ arg_Xns_mem_post_Q__32_0__64_1
+ arg_Xns_mem_post_Q__8_0__16_1
+ arg_Xns_mem_post_size__1_0__2_1__4_2__8_3
+ arg_Xns_mem_post_size__2_0__4_1__8_2__16_3
+ arg_Xns_mem_post_size__3_0__6_1__12_2__24_3
+ arg_Xns_mem_post_size__4_0__8_1__16_2__32_3
+ arg_Xns_mem_post_Xm
+ arg_Xns_mem_wb_imm7_16_signed
+ arg_Xns_mem_wb_imm7_4_signed
+ arg_Xns_mem_wb_imm7_8_signed
+ arg_Xns_mem_wb_imm9_1_signed
+ arg_Xs
+ arg_Xt
+ arg_Xt2
+)
diff --git a/arm64/arm64asm/condition.go b/arm64/arm64asm/condition.go
new file mode 100755
index 0000000..d673857
--- /dev/null
+++ b/arm64/arm64asm/condition.go
@@ -0,0 +1,329 @@
+// Generated by ARM internal tool
+// DO NOT EDIT
+
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package arm64asm
+
+// Following functions are used as the predicator: canDecode of according instruction
+// Refer to instFormat inside decode.go for more details
+
+func at_sys_cr_system_cond(instr uint32) bool {
+ return sys_op_4((instr>>16)&0x7, 0x7, 0x8, (instr>>5)&0x7) == Sys_AT
+}
+
+func bfi_bfm_32m_bitfield_cond(instr uint32) bool {
+ return (instr>>5)&0x1f != 0x1f && uint8((instr>>10)&0x3f) < uint8((instr>>16)&0x3f)
+}
+
+func bfi_bfm_64m_bitfield_cond(instr uint32) bool {
+ return (instr>>5)&0x1f != 0x1f && uint8((instr>>10)&0x3f) < uint8((instr>>16)&0x3f)
+}
+
+func bfxil_bfm_32m_bitfield_cond(instr uint32) bool {
+ return uint8((instr>>10)&0x3f) >= uint8((instr>>16)&0x3f)
+}
+
+func bfxil_bfm_64m_bitfield_cond(instr uint32) bool {
+ return uint8((instr>>10)&0x3f) >= uint8((instr>>16)&0x3f)
+}
+
+func cinc_csinc_32_condsel_cond(instr uint32) bool {
+ return instr&0x1f0000 != 0x1f0000 && instr&0xe000 != 0xe000 && instr&0x3e0 != 0x3e0 && (instr>>5)&0x1f == (instr>>16)&0x1f
+}
+
+func cinc_csinc_64_condsel_cond(instr uint32) bool {
+ return instr&0x1f0000 != 0x1f0000 && instr&0xe000 != 0xe000 && instr&0x3e0 != 0x3e0 && (instr>>5)&0x1f == (instr>>16)&0x1f
+}
+
+func cinv_csinv_32_condsel_cond(instr uint32) bool {
+ return instr&0x1f0000 != 0x1f0000 && instr&0xe000 != 0xe000 && instr&0x3e0 != 0x3e0 && (instr>>5)&0x1f == (instr>>16)&0x1f
+}
+
+func cinv_csinv_64_condsel_cond(instr uint32) bool {
+ return instr&0x1f0000 != 0x1f0000 && instr&0xe000 != 0xe000 && instr&0x3e0 != 0x3e0 && (instr>>5)&0x1f == (instr>>16)&0x1f
+}
+
+func cneg_csneg_32_condsel_cond(instr uint32) bool {
+ return instr&0xe000 != 0xe000 && (instr>>5)&0x1f == (instr>>16)&0x1f
+}
+
+func cneg_csneg_64_condsel_cond(instr uint32) bool {
+ return instr&0xe000 != 0xe000 && (instr>>5)&0x1f == (instr>>16)&0x1f
+}
+
+func csinc_general_cond(instr uint32) bool {
+ return instr&0xe000 != 0xe000
+}
+func csinv_general_cond(instr uint32) bool {
+ return instr&0xe000 != 0xe000
+}
+func dc_sys_cr_system_cond(instr uint32) bool {
+ return sys_op_4((instr>>16)&0x7, 0x7, (instr>>8)&0xf, (instr>>5)&0x7) == Sys_DC
+}
+
+func ic_sys_cr_system_cond(instr uint32) bool {
+ return sys_op_4((instr>>16)&0x7, 0x7, (instr>>8)&0xf, (instr>>5)&0x7) == Sys_IC
+}
+
+func lsl_ubfm_32m_bitfield_cond(instr uint32) bool {
+ return instr&0xfc00 != 0x7c00 && (instr>>10)&0x3f+1 == (instr>>16)&0x3f
+}
+
+func lsl_ubfm_64m_bitfield_cond(instr uint32) bool {
+ return instr&0xfc00 != 0xfc00 && (instr>>10)&0x3f+1 == (instr>>16)&0x3f
+}
+
+func mov_orr_32_log_imm_cond(instr uint32) bool {
+ return !move_wide_preferred_4((instr>>31)&0x1, (instr>>22)&0x1, (instr>>10)&0x3f, (instr>>16)&0x3f)
+}
+
+func mov_orr_64_log_imm_cond(instr uint32) bool {
+ return !move_wide_preferred_4((instr>>31)&0x1, (instr>>22)&0x1, (instr>>10)&0x3f, (instr>>16)&0x3f)
+}
+
+func mov_movn_32_movewide_cond(instr uint32) bool {
+ return !(is_zero((instr>>5)&0xffff) && (instr>>21)&0x3 != 0x0) && !is_ones_n16((instr>>5)&0xffff)
+}
+
+func mov_movn_64_movewide_cond(instr uint32) bool {
+ return !(is_zero((instr>>5)&0xffff) && (instr>>21)&0x3 != 0x0)
+}
+
+func mov_add_32_addsub_imm_cond(instr uint32) bool {
+ return instr&0x1f == 0x1f || (instr>>5)&0x1f == 0x1f
+}
+
+func mov_add_64_addsub_imm_cond(instr uint32) bool {
+ return instr&0x1f == 0x1f || (instr>>5)&0x1f == 0x1f
+}
+
+func mov_movz_32_movewide_cond(instr uint32) bool {
+ return !(is_zero((instr>>5)&0xffff) && (instr>>21)&0x3 != 0x0)
+}
+
+func mov_movz_64_movewide_cond(instr uint32) bool {
+ return !(is_zero((instr>>5)&0xffff) && (instr>>21)&0x3 != 0x0)
+}
+
+func ror_extr_32_extract_cond(instr uint32) bool {
+ return (instr>>5)&0x1f == (instr>>16)&0x1f
+}
+
+func ror_extr_64_extract_cond(instr uint32) bool {
+ return (instr>>5)&0x1f == (instr>>16)&0x1f
+}
+
+func sbfiz_sbfm_32m_bitfield_cond(instr uint32) bool {
+ return uint8((instr>>10)&0x3f) < uint8((instr>>16)&0x3f)
+}
+
+func sbfiz_sbfm_64m_bitfield_cond(instr uint32) bool {
+ return uint8((instr>>10)&0x3f) < uint8((instr>>16)&0x3f)
+}
+
+func sbfx_sbfm_32m_bitfield_cond(instr uint32) bool {
+ return bfxpreferred_4((instr>>31)&0x1, extract_bit((instr>>29)&0x3, 1), (instr>>10)&0x3f, (instr>>16)&0x3f)
+}
+
+func sbfx_sbfm_64m_bitfield_cond(instr uint32) bool {
+ return bfxpreferred_4((instr>>31)&0x1, extract_bit((instr>>29)&0x3, 1), (instr>>10)&0x3f, (instr>>16)&0x3f)
+}
+
+func tlbi_sys_cr_system_cond(instr uint32) bool {
+ return sys_op_4((instr>>16)&0x7, 0x8, (instr>>8)&0xf, (instr>>5)&0x7) == Sys_TLBI
+}
+
+func ubfiz_ubfm_32m_bitfield_cond(instr uint32) bool {
+ return uint8((instr>>10)&0x3f) < uint8((instr>>16)&0x3f)
+}
+
+func ubfiz_ubfm_64m_bitfield_cond(instr uint32) bool {
+ return uint8((instr>>10)&0x3f) < uint8((instr>>16)&0x3f)
+}
+
+func ubfx_ubfm_32m_bitfield_cond(instr uint32) bool {
+ return bfxpreferred_4((instr>>31)&0x1, extract_bit((instr>>29)&0x3, 1), (instr>>10)&0x3f, (instr>>16)&0x3f)
+}
+
+func ubfx_ubfm_64m_bitfield_cond(instr uint32) bool {
+ return bfxpreferred_4((instr>>31)&0x1, extract_bit((instr>>29)&0x3, 1), (instr>>10)&0x3f, (instr>>16)&0x3f)
+}
+
+func fcvtzs_asisdshf_c_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func fcvtzs_asimdshf_c_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func fcvtzu_asisdshf_c_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func fcvtzu_asimdshf_c_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func mov_umov_asimdins_w_w_cond(instr uint32) bool {
+ return ((instr>>16)&0x1f)&0x7 == 0x4
+}
+
+func mov_umov_asimdins_x_x_cond(instr uint32) bool {
+ return ((instr>>16)&0x1f)&0xf == 0x8
+}
+
+func mov_orr_asimdsame_only_cond(instr uint32) bool {
+ return (instr>>16)&0x1f == (instr>>5)&0x1f
+}
+
+func rshrn_asimdshf_n_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func scvtf_asisdshf_c_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func scvtf_asimdshf_c_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func shl_asisdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func shl_asimdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func shrn_asimdshf_n_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func sli_asisdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func sli_asimdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func sqrshrn_asisdshf_n_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func sqrshrn_asimdshf_n_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func sqrshrun_asisdshf_n_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func sqrshrun_asimdshf_n_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func sqshl_asisdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func sqshl_asimdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func sqshlu_asisdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func sqshlu_asimdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func sqshrn_asisdshf_n_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func sqshrn_asimdshf_n_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func sqshrun_asisdshf_n_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func sqshrun_asimdshf_n_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func sri_asisdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func sri_asimdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func srshr_asisdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func srshr_asimdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func srsra_asisdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func srsra_asimdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func sshll_asimdshf_l_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func sshr_asisdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func sshr_asimdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func ssra_asisdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func ssra_asimdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func sxtl_sshll_asimdshf_l_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0 && bit_count((instr>>19)&0xf) == 1
+}
+
+func ucvtf_asisdshf_c_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func ucvtf_asimdshf_c_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func uqrshrn_asisdshf_n_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func uqrshrn_asimdshf_n_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func uqshl_asisdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func uqshl_asimdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func uqshrn_asisdshf_n_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func uqshrn_asimdshf_n_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func urshr_asisdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func urshr_asimdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func ursra_asisdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func ursra_asimdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func ushll_asimdshf_l_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func ushr_asisdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func ushr_asimdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func usra_asisdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func usra_asimdshf_r_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0
+}
+func uxtl_ushll_asimdshf_l_cond(instr uint32) bool {
+ return instr&0x780000 != 0x0 && bit_count((instr>>19)&0xf) == 1
+}
diff --git a/arm64/arm64asm/condition_util.go b/arm64/arm64asm/condition_util.go
new file mode 100755
index 0000000..62c0c3b
--- /dev/null
+++ b/arm64/arm64asm/condition_util.go
@@ -0,0 +1,81 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package arm64asm
+
+func extract_bit(value, bit uint32) uint32 {
+ return (value >> bit) & 1
+}
+
+func bfxpreferred_4(sf, opc1, imms, immr uint32) bool {
+ if imms < immr {
+ return false
+ }
+ if (imms>>5 == sf) && (imms&0x1f == 0x1f) {
+ return false
+ }
+ if immr == 0 {
+ if sf == 0 && (imms == 7 || imms == 15) {
+ return false
+ }
+ if sf == 1 && opc1 == 0 && (imms == 7 ||
+ imms == 15 || imms == 31) {
+ return false
+ }
+ }
+ return true
+}
+
+func move_wide_preferred_4(sf, N, imms, immr uint32) bool {
+ if sf == 1 && N != 1 {
+ return false
+ }
+ if sf == 0 && !(N == 0 && ((imms>>5)&1) == 0) {
+ return false
+ }
+ if imms < 16 {
+ return (-immr)%16 <= (15 - imms)
+ }
+ width := uint32(32)
+ if sf == 1 {
+ width = uint32(64)
+ }
+ if imms >= (width - 15) {
+ return (immr % 16) <= (imms - (width - 15))
+ }
+ return false
+}
+
+type Sys uint8
+
+const (
+ Sys_AT Sys = iota
+ Sys_DC
+ Sys_IC
+ Sys_TLBI
+ Sys_SYS
+)
+
+func sys_op_4(op1, crn, crm, op2 uint32) Sys {
+ // TODO: system instruction
+ return Sys_SYS
+}
+
+func is_zero(x uint32) bool {
+ return x == 0
+}
+
+func is_ones_n16(x uint32) bool {
+ return x == 0xffff
+}
+
+func bit_count(x uint32) uint8 {
+ var count uint8
+ for count = 0; x > 0; x >>= 1 {
+ if (x & 1) == 1 {
+ count++
+ }
+ }
+ return count
+}
diff --git a/arm64/arm64asm/decode.go b/arm64/arm64asm/decode.go
new file mode 100644
index 0000000..5e29c47
--- /dev/null
+++ b/arm64/arm64asm/decode.go
@@ -0,0 +1,2768 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package arm64asm
+
+import (
+ "encoding/binary"
+ "fmt"
+)
+
+type instArgs [5]instArg
+
+// An instFormat describes the format of an instruction encoding.
+// An instruction with 32-bit value x matches the format if x&mask == value
+// and the predicator: canDecode(x) return true.
+type instFormat struct {
+ mask uint32
+ value uint32
+ op Op
+ // args describe how to decode the instruction arguments.
+ // args is stored as a fixed-size array.
+ // if there are fewer than len(args) arguments, args[i] == 0 marks
+ // the end of the argument list.
+ args instArgs
+ canDecode func(instr uint32) bool
+}
+
+var (
+ errShort = fmt.Errorf("truncated instruction")
+ errUnknown = fmt.Errorf("unknown instruction")
+)
+
+var decoderCover []bool
+
+func init() {
+ decoderCover = make([]bool, len(instFormats))
+}
+
+// Decode decodes the 4 bytes in src as a single instruction.
+func Decode(src []byte) (inst Inst, err error) {
+ if len(src) < 4 {
+ return Inst{}, errShort
+ }
+
+ x := binary.LittleEndian.Uint32(src)
+
+Search:
+ for i := range instFormats {
+ f := &instFormats[i]
+ if x&f.mask != f.value {
+ continue
+ }
+ if f.canDecode != nil && !f.canDecode(x) {
+ continue
+ }
+ // Decode args.
+ var args Args
+ for j, aop := range f.args {
+ if aop == 0 {
+ break
+ }
+ arg := decodeArg(aop, x)
+ if arg == nil { // Cannot decode argument
+ continue Search
+ }
+ args[j] = arg
+ }
+ decoderCover[i] = true
+ inst = Inst{
+ Op: f.op,
+ Args: args,
+ Enc: x,
+ }
+ return inst, nil
+ }
+ return Inst{}, errUnknown
+}
+
+// decodeArg decodes the arg described by aop from the instruction bits x.
+// It returns nil if x cannot be decoded according to aop.
+func decodeArg(aop instArg, x uint32) Arg {
+ switch aop {
+ default:
+ return nil
+
+ case arg_Da:
+ return D0 + Reg((x>>10)&(1<<5-1))
+
+ case arg_Dd:
+ return D0 + Reg(x&(1<<5-1))
+
+ case arg_Dm:
+ return D0 + Reg((x>>16)&(1<<5-1))
+
+ case arg_Dn:
+ return D0 + Reg((x>>5)&(1<<5-1))
+
+ case arg_Hd:
+ return H0 + Reg(x&(1<<5-1))
+
+ case arg_Hn:
+ return H0 + Reg((x>>5)&(1<<5-1))
+
+ case arg_IAddSub:
+ imm12 := (x >> 10) & (1<<12 - 1)
+ shift := (x >> 22) & (1<<2 - 1)
+ if shift > 1 {
+ return nil
+ }
+ shift = shift * 12
+ return ImmShift{uint16(imm12), uint8(shift)}
+
+ case arg_Sa:
+ return S0 + Reg((x>>10)&(1<<5-1))
+
+ case arg_Sd:
+ return S0 + Reg(x&(1<<5-1))
+
+ case arg_Sm:
+ return S0 + Reg((x>>16)&(1<<5-1))
+
+ case arg_Sn:
+ return S0 + Reg((x>>5)&(1<<5-1))
+
+ case arg_Wa:
+ return W0 + Reg((x>>10)&(1<<5-1))
+
+ case arg_Wd:
+ return W0 + Reg(x&(1<<5-1))
+
+ case arg_Wds:
+ return RegSP(W0) + RegSP(x&(1<<5-1))
+
+ case arg_Wm:
+ return W0 + Reg((x>>16)&(1<<5-1))
+
+ case arg_Rm_extend__UXTB_0__UXTH_1__UXTW_2__LSL_UXTX_3__SXTB_4__SXTH_5__SXTW_6__SXTX_7__0_4:
+ return handle_ExtendedRegister(x, true)
+
+ case arg_Wm_extend__UXTB_0__UXTH_1__LSL_UXTW_2__UXTX_3__SXTB_4__SXTH_5__SXTW_6__SXTX_7__0_4:
+ return handle_ExtendedRegister(x, false)
+
+ case arg_Wn:
+ return W0 + Reg((x>>5)&(1<<5-1))
+
+ case arg_Wns:
+ return RegSP(W0) + RegSP((x>>5)&(1<<5-1))
+
+ case arg_Xa:
+ return X0 + Reg((x>>10)&(1<<5-1))
+
+ case arg_Xd:
+ return X0 + Reg(x&(1<<5-1))
+
+ case arg_Xds:
+ return RegSP(X0) + RegSP(x&(1<<5-1))
+
+ case arg_Xm:
+ return X0 + Reg((x>>16)&(1<<5-1))
+
+ case arg_Wm_shift__LSL_0__LSR_1__ASR_2__0_31:
+ return handle_ImmediateShiftedRegister(x, 31, true, false)
+
+ case arg_Wm_shift__LSL_0__LSR_1__ASR_2__ROR_3__0_31:
+ return handle_ImmediateShiftedRegister(x, 31, true, true)
+
+ case arg_Xm_shift__LSL_0__LSR_1__ASR_2__0_63:
+ return handle_ImmediateShiftedRegister(x, 63, false, false)
+
+ case arg_Xm_shift__LSL_0__LSR_1__ASR_2__ROR_3__0_63:
+ return handle_ImmediateShiftedRegister(x, 63, false, true)
+
+ case arg_Xn:
+ return X0 + Reg((x>>5)&(1<<5-1))
+
+ case arg_Xns:
+ return RegSP(X0) + RegSP((x>>5)&(1<<5-1))
+
+ case arg_slabel_imm14_2:
+ imm14 := ((x >> 5) & (1<<14 - 1))
+ return PCRel(((int64(imm14) << 2) << 48) >> 48)
+
+ case arg_slabel_imm19_2:
+ imm19 := ((x >> 5) & (1<<19 - 1))
+ return PCRel(((int64(imm19) << 2) << 43) >> 43)
+
+ case arg_slabel_imm26_2:
+ imm26 := (x & (1<<26 - 1))
+ return PCRel(((int64(imm26) << 2) << 36) >> 36)
+
+ case arg_slabel_immhi_immlo_0:
+ immhi := ((x >> 5) & (1<<19 - 1))
+ immlo := ((x >> 29) & (1<<2 - 1))
+ immhilo := (immhi)<<2 | immlo
+ return PCRel((int64(immhilo) << 43) >> 43)
+
+ case arg_slabel_immhi_immlo_12:
+ immhi := ((x >> 5) & (1<<19 - 1))
+ immlo := ((x >> 29) & (1<<2 - 1))
+ immhilo := (immhi)<<2 | immlo
+ return PCRel(((int64(immhilo) << 12) << 31) >> 31)
+
+ case arg_Xns_mem:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ return MemImmediate{Rn, AddrOffset, 0}
+
+ case arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__1_1:
+ return handle_MemExtend(x, 1, false)
+
+ case arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__2_1:
+ return handle_MemExtend(x, 2, false)
+
+ case arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__3_1:
+ return handle_MemExtend(x, 3, false)
+
+ case arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__absent_0__0_1:
+ return handle_MemExtend(x, 1, true)
+
+ case arg_Xns_mem_optional_imm12_1_unsigned:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ imm12 := (x >> 10) & (1<<12 - 1)
+ return MemImmediate{Rn, AddrOffset, int32(imm12)}
+
+ case arg_Xns_mem_optional_imm12_2_unsigned:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ imm12 := (x >> 10) & (1<<12 - 1)
+ return MemImmediate{Rn, AddrOffset, int32(imm12 << 1)}
+
+ case arg_Xns_mem_optional_imm12_4_unsigned:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ imm12 := (x >> 10) & (1<<12 - 1)
+ return MemImmediate{Rn, AddrOffset, int32(imm12 << 2)}
+
+ case arg_Xns_mem_optional_imm12_8_unsigned:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ imm12 := (x >> 10) & (1<<12 - 1)
+ return MemImmediate{Rn, AddrOffset, int32(imm12 << 3)}
+
+ case arg_Xns_mem_optional_imm7_4_signed:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ imm7 := (x >> 15) & (1<<7 - 1)
+ return MemImmediate{Rn, AddrOffset, ((int32(imm7 << 2)) << 23) >> 23}
+
+ case arg_Xns_mem_optional_imm7_8_signed:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ imm7 := (x >> 15) & (1<<7 - 1)
+ return MemImmediate{Rn, AddrOffset, ((int32(imm7 << 3)) << 22) >> 22}
+
+ case arg_Xns_mem_optional_imm9_1_signed:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ imm9 := (x >> 12) & (1<<9 - 1)
+ return MemImmediate{Rn, AddrOffset, (int32(imm9) << 23) >> 23}
+
+ case arg_Xns_mem_post_imm7_4_signed:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ imm7 := (x >> 15) & (1<<7 - 1)
+ return MemImmediate{Rn, AddrPostIndex, ((int32(imm7 << 2)) << 23) >> 23}
+
+ case arg_Xns_mem_post_imm7_8_signed:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ imm7 := (x >> 15) & (1<<7 - 1)
+ return MemImmediate{Rn, AddrPostIndex, ((int32(imm7 << 3)) << 22) >> 22}
+
+ case arg_Xns_mem_post_imm9_1_signed:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ imm9 := (x >> 12) & (1<<9 - 1)
+ return MemImmediate{Rn, AddrPostIndex, ((int32(imm9)) << 23) >> 23}
+
+ case arg_Xns_mem_wb_imm7_4_signed:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ imm7 := (x >> 15) & (1<<7 - 1)
+ return MemImmediate{Rn, AddrPreIndex, ((int32(imm7 << 2)) << 23) >> 23}
+
+ case arg_Xns_mem_wb_imm7_8_signed:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ imm7 := (x >> 15) & (1<<7 - 1)
+ return MemImmediate{Rn, AddrPreIndex, ((int32(imm7 << 3)) << 22) >> 22}
+
+ case arg_Xns_mem_wb_imm9_1_signed:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ imm9 := (x >> 12) & (1<<9 - 1)
+ return MemImmediate{Rn, AddrPreIndex, ((int32(imm9)) << 23) >> 23}
+
+ case arg_Ws:
+ return W0 + Reg((x>>16)&(1<<5-1))
+
+ case arg_Wt:
+ return W0 + Reg(x&(1<<5-1))
+
+ case arg_Wt2:
+ return W0 + Reg((x>>10)&(1<<5-1))
+
+ case arg_Xs:
+ return X0 + Reg((x>>16)&(1<<5-1))
+
+ case arg_Xt:
+ return X0 + Reg(x&(1<<5-1))
+
+ case arg_Xt2:
+ return X0 + Reg((x>>10)&(1<<5-1))
+
+ case arg_immediate_0_127_CRm_op2:
+ crm_op2 := (x >> 5) & (1<<7 - 1)
+ return Imm_hint(crm_op2)
+
+ case arg_immediate_0_15_CRm:
+ crm := (x >> 8) & (1<<4 - 1)
+ return Imm{crm, false}
+
+ case arg_immediate_0_15_nzcv:
+ nzcv := x & (1<<4 - 1)
+ return Imm{nzcv, false}
+
+ case arg_immediate_0_31_imm5:
+ imm5 := (x >> 16) & (1<<5 - 1)
+ return Imm{imm5, false}
+
+ case arg_immediate_0_31_immr:
+ immr := (x >> 16) & (1<<6 - 1)
+ if immr > 31 {
+ return nil
+ }
+ return Imm{immr, false}
+
+ case arg_immediate_0_31_imms:
+ imms := (x >> 10) & (1<<6 - 1)
+ if imms > 31 {
+ return nil
+ }
+ return Imm{imms, true}
+
+ case arg_immediate_0_63_b5_b40:
+ b5 := (x >> 31) & 1
+ b40 := (x >> 19) & (1<<5 - 1)
+ return Imm{(b5 << 5) | b40, true}
+
+ case arg_immediate_0_63_immr:
+ immr := (x >> 16) & (1<<6 - 1)
+ return Imm{immr, false}
+
+ case arg_immediate_0_63_imms:
+ imms := (x >> 10) & (1<<6 - 1)
+ return Imm{imms, true}
+
+ case arg_immediate_0_65535_imm16:
+ imm16 := (x >> 5) & (1<<16 - 1)
+ return Imm{imm16, false}
+
+ case arg_immediate_0_7_op1:
+ op1 := (x >> 16) & (1<<3 - 1)
+ return Imm{op1, true}
+
+ case arg_immediate_0_7_op2:
+ op2 := (x >> 5) & (1<<3 - 1)
+ return Imm{op2, true}
+
+ case arg_immediate_ASR_SBFM_32M_bitfield_0_31_immr:
+ immr := (x >> 16) & (1<<6 - 1)
+ if immr > 31 {
+ return nil
+ }
+ return Imm{immr, true}
+
+ case arg_immediate_ASR_SBFM_64M_bitfield_0_63_immr:
+ immr := (x >> 16) & (1<<6 - 1)
+ return Imm{immr, true}
+
+ case arg_immediate_BFI_BFM_32M_bitfield_lsb_32_immr:
+ immr := (x >> 16) & (1<<6 - 1)
+ if immr > 31 {
+ return nil
+ }
+ return Imm{32 - immr, true}
+
+ case arg_immediate_BFI_BFM_32M_bitfield_width_32_imms:
+ imms := (x >> 10) & (1<<6 - 1)
+ if imms > 31 {
+ return nil
+ }
+ return Imm{imms + 1, true}
+
+ case arg_immediate_BFI_BFM_64M_bitfield_lsb_64_immr:
+ immr := (x >> 16) & (1<<6 - 1)
+ return Imm{64 - immr, true}
+
+ case arg_immediate_BFI_BFM_64M_bitfield_width_64_imms:
+ imms := (x >> 10) & (1<<6 - 1)
+ return Imm{imms + 1, true}
+
+ case arg_immediate_BFXIL_BFM_32M_bitfield_lsb_32_immr:
+ immr := (x >> 16) & (1<<6 - 1)
+ if immr > 31 {
+ return nil
+ }
+ return Imm{immr, true}
+
+ case arg_immediate_BFXIL_BFM_32M_bitfield_width_32_imms:
+ immr := (x >> 16) & (1<<6 - 1)
+ imms := (x >> 10) & (1<<6 - 1)
+ width := imms - immr + 1
+ if width < 1 || width > 32-immr {
+ return nil
+ }
+ return Imm{width, true}
+
+ case arg_immediate_BFXIL_BFM_64M_bitfield_lsb_64_immr:
+ immr := (x >> 16) & (1<<6 - 1)
+ return Imm{immr, true}
+
+ case arg_immediate_BFXIL_BFM_64M_bitfield_width_64_imms:
+ immr := (x >> 16) & (1<<6 - 1)
+ imms := (x >> 10) & (1<<6 - 1)
+ width := imms - immr + 1
+ if width < 1 || width > 64-immr {
+ return nil
+ }
+ return Imm{width, true}
+
+ case arg_immediate_bitmask_32_imms_immr:
+ return handle_bitmasks(x, 32)
+
+ case arg_immediate_bitmask_64_N_imms_immr:
+ return handle_bitmasks(x, 64)
+
+ case arg_immediate_LSL_UBFM_32M_bitfield_0_31_immr:
+ imms := (x >> 10) & (1<<6 - 1)
+ shift := 31 - imms
+ if shift > 31 {
+ return nil
+ }
+ return Imm{shift, true}
+
+ case arg_immediate_LSL_UBFM_64M_bitfield_0_63_immr:
+ imms := (x >> 10) & (1<<6 - 1)
+ shift := 63 - imms
+ if shift > 63 {
+ return nil
+ }
+ return Imm{shift, true}
+
+ case arg_immediate_LSR_UBFM_32M_bitfield_0_31_immr:
+ immr := (x >> 16) & (1<<6 - 1)
+ if immr > 31 {
+ return nil
+ }
+ return Imm{immr, true}
+
+ case arg_immediate_LSR_UBFM_64M_bitfield_0_63_immr:
+ immr := (x >> 16) & (1<<6 - 1)
+ return Imm{immr, true}
+
+ case arg_immediate_optional_0_15_CRm:
+ crm := (x >> 8) & (1<<4 - 1)
+ return Imm_clrex(crm)
+
+ case arg_immediate_optional_0_65535_imm16:
+ imm16 := (x >> 5) & (1<<16 - 1)
+ return Imm_dcps(imm16)
+
+ case arg_immediate_OptLSL_amount_16_0_16:
+ imm16 := (x >> 5) & (1<<16 - 1)
+ hw := (x >> 21) & (1<<2 - 1)
+ shift := hw * 16
+ if shift > 16 {
+ return nil
+ }
+ return ImmShift{uint16(imm16), uint8(shift)}
+
+ case arg_immediate_OptLSL_amount_16_0_48:
+ imm16 := (x >> 5) & (1<<16 - 1)
+ hw := (x >> 21) & (1<<2 - 1)
+ shift := hw * 16
+ return ImmShift{uint16(imm16), uint8(shift)}
+
+ case arg_immediate_SBFIZ_SBFM_32M_bitfield_lsb_32_immr:
+ immr := (x >> 16) & (1<<6 - 1)
+ if immr > 31 {
+ return nil
+ }
+ return Imm{32 - immr, true}
+
+ case arg_immediate_SBFIZ_SBFM_32M_bitfield_width_32_imms:
+ imms := (x >> 10) & (1<<6 - 1)
+ if imms > 31 {
+ return nil
+ }
+ return Imm{imms + 1, true}
+
+ case arg_immediate_SBFIZ_SBFM_64M_bitfield_lsb_64_immr:
+ immr := (x >> 16) & (1<<6 - 1)
+ return Imm{64 - immr, true}
+
+ case arg_immediate_SBFIZ_SBFM_64M_bitfield_width_64_imms:
+ imms := (x >> 10) & (1<<6 - 1)
+ return Imm{imms + 1, true}
+
+ case arg_immediate_SBFX_SBFM_32M_bitfield_lsb_32_immr:
+ immr := (x >> 16) & (1<<6 - 1)
+ if immr > 31 {
+ return nil
+ }
+ return Imm{immr, true}
+
+ case arg_immediate_SBFX_SBFM_32M_bitfield_width_32_imms:
+ immr := (x >> 16) & (1<<6 - 1)
+ imms := (x >> 10) & (1<<6 - 1)
+ width := imms - immr + 1
+ if width < 1 || width > 32-immr {
+ return nil
+ }
+ return Imm{width, true}
+
+ case arg_immediate_SBFX_SBFM_64M_bitfield_lsb_64_immr:
+ immr := (x >> 16) & (1<<6 - 1)
+ return Imm{immr, true}
+
+ case arg_immediate_SBFX_SBFM_64M_bitfield_width_64_imms:
+ immr := (x >> 16) & (1<<6 - 1)
+ imms := (x >> 10) & (1<<6 - 1)
+ width := imms - immr + 1
+ if width < 1 || width > 64-immr {
+ return nil
+ }
+ return Imm{width, true}
+
+ case arg_immediate_shift_32_implicit_imm16_hw:
+ imm16 := (x >> 5) & (1<<16 - 1)
+ hw := (x >> 21) & (1<<2 - 1)
+ shift := hw * 16
+ if shift > 16 {
+ return nil
+ }
+ result := uint32(imm16) << shift
+ return Imm{result, false}
+
+ case arg_immediate_shift_32_implicit_inverse_imm16_hw:
+ imm16 := (x >> 5) & (1<<16 - 1)
+ hw := (x >> 21) & (1<<2 - 1)
+ shift := hw * 16
+ if shift > 16 {
+ return nil
+ }
+ result := uint32(imm16) << shift
+ return Imm{^result, false}
+
+ case arg_immediate_shift_64_implicit_imm16_hw:
+ imm16 := (x >> 5) & (1<<16 - 1)
+ hw := (x >> 21) & (1<<2 - 1)
+ shift := hw * 16
+ result := uint64(imm16) << shift
+ return Imm64{result, false}
+
+ case arg_immediate_shift_64_implicit_inverse_imm16_hw:
+ imm16 := (x >> 5) & (1<<16 - 1)
+ hw := (x >> 21) & (1<<2 - 1)
+ shift := hw * 16
+ result := uint64(imm16) << shift
+ return Imm64{^result, false}
+
+ case arg_immediate_UBFIZ_UBFM_32M_bitfield_lsb_32_immr:
+ immr := (x >> 16) & (1<<6 - 1)
+ if immr > 31 {
+ return nil
+ }
+ return Imm{32 - immr, true}
+
+ case arg_immediate_UBFIZ_UBFM_32M_bitfield_width_32_imms:
+ imms := (x >> 10) & (1<<6 - 1)
+ if imms > 31 {
+ return nil
+ }
+ return Imm{imms + 1, true}
+
+ case arg_immediate_UBFIZ_UBFM_64M_bitfield_lsb_64_immr:
+ immr := (x >> 16) & (1<<6 - 1)
+ return Imm{64 - immr, true}
+
+ case arg_immediate_UBFIZ_UBFM_64M_bitfield_width_64_imms:
+ imms := (x >> 10) & (1<<6 - 1)
+ return Imm{imms + 1, true}
+
+ case arg_immediate_UBFX_UBFM_32M_bitfield_lsb_32_immr:
+ immr := (x >> 16) & (1<<6 - 1)
+ if immr > 31 {
+ return nil
+ }
+ return Imm{immr, true}
+
+ case arg_immediate_UBFX_UBFM_32M_bitfield_width_32_imms:
+ immr := (x >> 16) & (1<<6 - 1)
+ imms := (x >> 10) & (1<<6 - 1)
+ width := imms - immr + 1
+ if width < 1 || width > 32-immr {
+ return nil
+ }
+ return Imm{width, true}
+
+ case arg_immediate_UBFX_UBFM_64M_bitfield_lsb_64_immr:
+ immr := (x >> 16) & (1<<6 - 1)
+ return Imm{immr, true}
+
+ case arg_immediate_UBFX_UBFM_64M_bitfield_width_64_imms:
+ immr := (x >> 16) & (1<<6 - 1)
+ imms := (x >> 10) & (1<<6 - 1)
+ width := imms - immr + 1
+ if width < 1 || width > 64-immr {
+ return nil
+ }
+ return Imm{width, true}
+
+ case arg_Rt_31_1__W_0__X_1:
+ b5 := (x >> 31) & 1
+ Rt := x & (1<<5 - 1)
+ if b5 == 0 {
+ return W0 + Reg(Rt)
+ } else {
+ return X0 + Reg(Rt)
+ }
+
+ case arg_cond_AllowALNV_Normal:
+ cond := (x >> 12) & (1<<4 - 1)
+ return Cond{uint8(cond), false}
+
+ case arg_conditional:
+ cond := x & (1<<4 - 1)
+ return Cond{uint8(cond), false}
+
+ case arg_cond_NotAllowALNV_Invert:
+ cond := (x >> 12) & (1<<4 - 1)
+ if (cond >> 1) == 7 {
+ return nil
+ }
+ return Cond{uint8(cond), true}
+
+ case arg_Cm:
+ CRm := (x >> 8) & (1<<4 - 1)
+ return Imm_c(CRm)
+
+ case arg_Cn:
+ CRn := (x >> 12) & (1<<4 - 1)
+ return Imm_c(CRn)
+
+ case arg_option_DMB_BO_system_CRm:
+ CRm := (x >> 8) & (1<<4 - 1)
+ return Imm_option(CRm)
+
+ case arg_option_DSB_BO_system_CRm:
+ CRm := (x >> 8) & (1<<4 - 1)
+ return Imm_option(CRm)
+
+ case arg_option_ISB_BI_system_CRm:
+ CRm := (x >> 8) & (1<<4 - 1)
+ if CRm == 15 {
+ return Imm_option(CRm)
+ }
+ return Imm{CRm, false}
+
+ case arg_prfop_Rt:
+ Rt := x & (1<<5 - 1)
+ return Imm_prfop(Rt)
+
+ case arg_pstatefield_op1_op2__SPSel_05__DAIFSet_36__DAIFClr_37:
+ op1 := (x >> 16) & (1<<3 - 1)
+ op2 := (x >> 5) & (1<<3 - 1)
+ if (op1 == 0) && (op2 == 5) {
+ return SPSel
+ } else if (op1 == 3) && (op2 == 6) {
+ return DAIFSet
+ } else if (op1 == 3) && (op2 == 7) {
+ return DAIFClr
+ }
+ return nil
+
+ case arg_sysreg_o0_op1_CRn_CRm_op2:
+ op0 := (x >> 19) & (1<<2 - 1)
+ op1 := (x >> 16) & (1<<3 - 1)
+ CRn := (x >> 12) & (1<<4 - 1)
+ CRm := (x >> 8) & (1<<4 - 1)
+ op2 := (x >> 5) & (1<<3 - 1)
+ return Systemreg{uint8(op0), uint8(op1), uint8(CRn), uint8(CRm), uint8(op2)}
+
+ case arg_sysop_AT_SYS_CR_system:
+ //TODO: system instruction
+ return nil
+
+ case arg_sysop_DC_SYS_CR_system:
+ //TODO: system instruction
+ return nil
+
+ case arg_sysop_SYS_CR_system:
+ //TODO: system instruction
+ return nil
+
+ case arg_sysop_TLBI_SYS_CR_system:
+ //TODO: system instruction
+ return nil
+
+ case arg_Bt:
+ return B0 + Reg(x&(1<<5-1))
+
+ case arg_Dt:
+ return D0 + Reg(x&(1<<5-1))
+
+ case arg_Dt2:
+ return D0 + Reg((x>>10)&(1<<5-1))
+
+ case arg_Ht:
+ return H0 + Reg(x&(1<<5-1))
+
+ case arg_immediate_0_63_immh_immb__UIntimmhimmb64_8:
+ immh := (x >> 19) & (1<<4 - 1)
+ if (immh & 8) == 0 {
+ return nil
+ }
+ immb := (x >> 16) & (1<<3 - 1)
+ return Imm{(immh << 3) + immb - 64, true}
+
+ case arg_immediate_0_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__UIntimmhimmb8_1__UIntimmhimmb16_2__UIntimmhimmb32_4:
+ immh := (x >> 19) & (1<<4 - 1)
+ immb := (x >> 16) & (1<<3 - 1)
+ if immh == 1 {
+ return Imm{(immh << 3) + immb - 8, true}
+ } else if (immh >> 1) == 1 {
+ return Imm{(immh << 3) + immb - 16, true}
+ } else if (immh >> 2) == 1 {
+ return Imm{(immh << 3) + immb - 32, true}
+ } else {
+ return nil
+ }
+
+ case arg_immediate_0_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__UIntimmhimmb8_1__UIntimmhimmb16_2__UIntimmhimmb32_4__UIntimmhimmb64_8:
+ fallthrough
+
+ case arg_immediate_0_width_m1_immh_immb__UIntimmhimmb8_1__UIntimmhimmb16_2__UIntimmhimmb32_4__UIntimmhimmb64_8:
+ immh := (x >> 19) & (1<<4 - 1)
+ immb := (x >> 16) & (1<<3 - 1)
+ if immh == 1 {
+ return Imm{(immh << 3) + immb - 8, true}
+ } else if (immh >> 1) == 1 {
+ return Imm{(immh << 3) + immb - 16, true}
+ } else if (immh >> 2) == 1 {
+ return Imm{(immh << 3) + immb - 32, true}
+ } else if (immh >> 3) == 1 {
+ return Imm{(immh << 3) + immb - 64, true}
+ } else {
+ return nil
+ }
+
+ case arg_immediate_0_width_size__8_0__16_1__32_2:
+ size := (x >> 22) & (1<<2 - 1)
+ switch size {
+ case 0:
+ return Imm{8, true}
+ case 1:
+ return Imm{16, true}
+ case 2:
+ return Imm{32, true}
+ default:
+ return nil
+ }
+
+ case arg_immediate_1_64_immh_immb__128UIntimmhimmb_8:
+ immh := (x >> 19) & (1<<4 - 1)
+ if (immh & 8) == 0 {
+ return nil
+ }
+ immb := (x >> 16) & (1<<3 - 1)
+ return Imm{128 - ((immh << 3) + immb), true}
+
+ case arg_immediate_1_width_immh_immb__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4:
+ fallthrough
+
+ case arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4:
+ immh := (x >> 19) & (1<<4 - 1)
+ immb := (x >> 16) & (1<<3 - 1)
+ if immh == 1 {
+ return Imm{16 - ((immh << 3) + immb), true}
+ } else if (immh >> 1) == 1 {
+ return Imm{32 - ((immh << 3) + immb), true}
+ } else if (immh >> 2) == 1 {
+ return Imm{64 - ((immh << 3) + immb), true}
+ } else {
+ return nil
+ }
+
+ case arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4__128UIntimmhimmb_8:
+ immh := (x >> 19) & (1<<4 - 1)
+ immb := (x >> 16) & (1<<3 - 1)
+ if immh == 1 {
+ return Imm{16 - ((immh << 3) + immb), true}
+ } else if (immh >> 1) == 1 {
+ return Imm{32 - ((immh << 3) + immb), true}
+ } else if (immh >> 2) == 1 {
+ return Imm{64 - ((immh << 3) + immb), true}
+ } else if (immh >> 3) == 1 {
+ return Imm{128 - ((immh << 3) + immb), true}
+ } else {
+ return nil
+ }
+
+ case arg_immediate_8x8_a_b_c_d_e_f_g_h:
+ var imm uint64
+ if x&(1<<5) != 0 {
+ imm = (1 << 8) - 1
+ } else {
+ imm = 0
+ }
+ if x&(1<<6) != 0 {
+ imm += ((1 << 8) - 1) << 8
+ }
+ if x&(1<<7) != 0 {
+ imm += ((1 << 8) - 1) << 16
+ }
+ if x&(1<<8) != 0 {
+ imm += ((1 << 8) - 1) << 24
+ }
+ if x&(1<<9) != 0 {
+ imm += ((1 << 8) - 1) << 32
+ }
+ if x&(1<<16) != 0 {
+ imm += ((1 << 8) - 1) << 40
+ }
+ if x&(1<<17) != 0 {
+ imm += ((1 << 8) - 1) << 48
+ }
+ if x&(1<<18) != 0 {
+ imm += ((1 << 8) - 1) << 56
+ }
+ return Imm64{imm, false}
+
+ case arg_immediate_exp_3_pre_4_a_b_c_d_e_f_g_h:
+ pre := (x >> 5) & (1<<4 - 1)
+ exp := 1 - ((x >> 17) & 1)
+ exp = (exp << 2) + (((x >> 16) & 1) << 1) + ((x >> 9) & 1)
+ s := ((x >> 18) & 1)
+ return Imm_fp{uint8(s), int8(exp) - 3, uint8(pre)}
+
+ case arg_immediate_exp_3_pre_4_imm8:
+ pre := (x >> 13) & (1<<4 - 1)
+ exp := 1 - ((x >> 19) & 1)
+ exp = (exp << 2) + ((x >> 17) & (1<<2 - 1))
+ s := ((x >> 20) & 1)
+ return Imm_fp{uint8(s), int8(exp) - 3, uint8(pre)}
+
+ case arg_immediate_fbits_min_1_max_0_sub_0_immh_immb__64UIntimmhimmb_4__128UIntimmhimmb_8:
+ fallthrough
+
+ case arg_immediate_fbits_min_1_max_0_sub_0_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__64UIntimmhimmb_4__128UIntimmhimmb_8:
+ immh := (x >> 19) & (1<<4 - 1)
+ immb := (x >> 16) & (1<<3 - 1)
+ if (immh >> 2) == 1 {
+ return Imm{64 - ((immh << 3) + immb), true}
+ } else if (immh >> 3) == 1 {
+ return Imm{128 - ((immh << 3) + immb), true}
+ } else {
+ return nil
+ }
+
+ case arg_immediate_fbits_min_1_max_32_sub_64_scale:
+ scale := (x >> 10) & (1<<6 - 1)
+ fbits := 64 - scale
+ if fbits > 32 {
+ return nil
+ }
+ return Imm{fbits, true}
+
+ case arg_immediate_fbits_min_1_max_64_sub_64_scale:
+ scale := (x >> 10) & (1<<6 - 1)
+ fbits := 64 - scale
+ return Imm{fbits, true}
+
+ case arg_immediate_floatzero:
+ return Imm{0, true}
+
+ case arg_immediate_index_Q_imm4__imm4lt20gt_00__imm4_10:
+ Q := (x >> 30) & 1
+ imm4 := (x >> 11) & (1<<4 - 1)
+ if Q == 1 || (imm4>>3) == 0 {
+ return Imm{imm4, true}
+ } else {
+ return nil
+ }
+
+ case arg_immediate_MSL__a_b_c_d_e_f_g_h_cmode__8_0__16_1:
+ var shift uint8
+ imm8 := (x >> 16) & (1<<3 - 1)
+ imm8 = (imm8 << 5) | ((x >> 5) & (1<<5 - 1))
+ if (x>>12)&1 == 0 {
+ shift = 8 + 128
+ } else {
+ shift = 16 + 128
+ }
+ return ImmShift{uint16(imm8), shift}
+
+ case arg_immediate_OptLSL__a_b_c_d_e_f_g_h_cmode__0_0__8_1:
+ imm8 := (x >> 16) & (1<<3 - 1)
+ imm8 = (imm8 << 5) | ((x >> 5) & (1<<5 - 1))
+ cmode1 := (x >> 13) & 1
+ shift := 8 * cmode1
+ return ImmShift{uint16(imm8), uint8(shift)}
+
+ case arg_immediate_OptLSL__a_b_c_d_e_f_g_h_cmode__0_0__8_1__16_2__24_3:
+ imm8 := (x >> 16) & (1<<3 - 1)
+ imm8 = (imm8 << 5) | ((x >> 5) & (1<<5 - 1))
+ cmode1 := (x >> 13) & (1<<2 - 1)
+ shift := 8 * cmode1
+ return ImmShift{uint16(imm8), uint8(shift)}
+
+ case arg_immediate_OptLSLZero__a_b_c_d_e_f_g_h:
+ imm8 := (x >> 16) & (1<<3 - 1)
+ imm8 = (imm8 << 5) | ((x >> 5) & (1<<5 - 1))
+ return ImmShift{uint16(imm8), 0}
+
+ case arg_immediate_zero:
+ return Imm{0, true}
+
+ case arg_Qd:
+ return Q0 + Reg(x&(1<<5-1))
+
+ case arg_Qn:
+ return Q0 + Reg((x>>5)&(1<<5-1))
+
+ case arg_Qt:
+ return Q0 + Reg(x&(1<<5-1))
+
+ case arg_Qt2:
+ return Q0 + Reg((x>>10)&(1<<5-1))
+
+ case arg_Rn_16_5__W_1__W_2__W_4__X_8:
+ imm5 := (x >> 16) & (1<<5 - 1)
+ if ((imm5 & 1) == 1) || ((imm5 & 2) == 2) || ((imm5 & 4) == 4) {
+ return W0 + Reg((x>>5)&(1<<5-1))
+ } else if (imm5 & 8) == 8 {
+ return X0 + Reg((x>>5)&(1<<5-1))
+ } else {
+ return nil
+ }
+
+ case arg_St:
+ return S0 + Reg(x&(1<<5-1))
+
+ case arg_St2:
+ return S0 + Reg((x>>10)&(1<<5-1))
+
+ case arg_Vd_16_5__B_1__H_2__S_4__D_8:
+ imm5 := (x >> 16) & (1<<5 - 1)
+ Rd := x & (1<<5 - 1)
+ if imm5&1 == 1 {
+ return B0 + Reg(Rd)
+ } else if imm5&2 == 2 {
+ return H0 + Reg(Rd)
+ } else if imm5&4 == 4 {
+ return S0 + Reg(Rd)
+ } else if imm5&8 == 8 {
+ return D0 + Reg(Rd)
+ } else {
+ return nil
+ }
+
+ case arg_Vd_19_4__B_1__H_2__S_4:
+ immh := (x >> 19) & (1<<4 - 1)
+ Rd := x & (1<<5 - 1)
+ if immh == 1 {
+ return B0 + Reg(Rd)
+ } else if immh>>1 == 1 {
+ return H0 + Reg(Rd)
+ } else if immh>>2 == 1 {
+ return S0 + Reg(Rd)
+ } else {
+ return nil
+ }
+
+ case arg_Vd_19_4__B_1__H_2__S_4__D_8:
+ immh := (x >> 19) & (1<<4 - 1)
+ Rd := x & (1<<5 - 1)
+ if immh == 1 {
+ return B0 + Reg(Rd)
+ } else if immh>>1 == 1 {
+ return H0 + Reg(Rd)
+ } else if immh>>2 == 1 {
+ return S0 + Reg(Rd)
+ } else if immh>>3 == 1 {
+ return D0 + Reg(Rd)
+ } else {
+ return nil
+ }
+
+ case arg_Vd_19_4__D_8:
+ immh := (x >> 19) & (1<<4 - 1)
+ Rd := x & (1<<5 - 1)
+ if immh>>3 == 1 {
+ return D0 + Reg(Rd)
+ } else {
+ return nil
+ }
+
+ case arg_Vd_19_4__S_4__D_8:
+ immh := (x >> 19) & (1<<4 - 1)
+ Rd := x & (1<<5 - 1)
+ if immh>>2 == 1 {
+ return S0 + Reg(Rd)
+ } else if immh>>3 == 1 {
+ return D0 + Reg(Rd)
+ } else {
+ return nil
+ }
+
+ case arg_Vd_22_1__S_0:
+ sz := (x >> 22) & 1
+ Rd := x & (1<<5 - 1)
+ if sz == 0 {
+ return S0 + Reg(Rd)
+ } else {
+ return nil
+ }
+
+ case arg_Vd_22_1__S_0__D_1:
+ sz := (x >> 22) & 1
+ Rd := x & (1<<5 - 1)
+ if sz == 0 {
+ return S0 + Reg(Rd)
+ } else {
+ return D0 + Reg(Rd)
+ }
+
+ case arg_Vd_22_1__S_1:
+ sz := (x >> 22) & 1
+ Rd := x & (1<<5 - 1)
+ if sz == 1 {
+ return S0 + Reg(Rd)
+ } else {
+ return nil
+ }
+
+ case arg_Vd_22_2__B_0__H_1__S_2:
+ size := (x >> 22) & (1<<2 - 1)
+ Rd := x & (1<<5 - 1)
+ if size == 0 {
+ return B0 + Reg(Rd)
+ } else if size == 1 {
+ return H0 + Reg(Rd)
+ } else if size == 2 {
+ return S0 + Reg(Rd)
+ } else {
+ return nil
+ }
+
+ case arg_Vd_22_2__B_0__H_1__S_2__D_3:
+ size := (x >> 22) & (1<<2 - 1)
+ Rd := x & (1<<5 - 1)
+ if size == 0 {
+ return B0 + Reg(Rd)
+ } else if size == 1 {
+ return H0 + Reg(Rd)
+ } else if size == 2 {
+ return S0 + Reg(Rd)
+ } else {
+ return D0 + Reg(Rd)
+ }
+
+ case arg_Vd_22_2__D_3:
+ size := (x >> 22) & (1<<2 - 1)
+ Rd := x & (1<<5 - 1)
+ if size == 3 {
+ return D0 + Reg(Rd)
+ } else {
+ return nil
+ }
+
+ case arg_Vd_22_2__H_0__S_1__D_2:
+ size := (x >> 22) & (1<<2 - 1)
+ Rd := x & (1<<5 - 1)
+ if size == 0 {
+ return H0 + Reg(Rd)
+ } else if size == 1 {
+ return S0 + Reg(Rd)
+ } else if size == 2 {
+ return D0 + Reg(Rd)
+ } else {
+ return nil
+ }
+
+ case arg_Vd_22_2__H_1__S_2:
+ size := (x >> 22) & (1<<2 - 1)
+ Rd := x & (1<<5 - 1)
+ if size == 1 {
+ return H0 + Reg(Rd)
+ } else if size == 2 {
+ return S0 + Reg(Rd)
+ } else {
+ return nil
+ }
+
+ case arg_Vd_22_2__S_1__D_2:
+ size := (x >> 22) & (1<<2 - 1)
+ Rd := x & (1<<5 - 1)
+ if size == 1 {
+ return S0 + Reg(Rd)
+ } else if size == 2 {
+ return D0 + Reg(Rd)
+ } else {
+ return nil
+ }
+
+ case arg_Vd_arrangement_16B:
+ Rd := x & (1<<5 - 1)
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement16B, 0}
+
+ case arg_Vd_arrangement_2D:
+ Rd := x & (1<<5 - 1)
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement2D, 0}
+
+ case arg_Vd_arrangement_4S:
+ Rd := x & (1<<5 - 1)
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4S, 0}
+
+ case arg_Vd_arrangement_D_index__1:
+ Rd := x & (1<<5 - 1)
+ return RegisterWithArrangementAndIndex{V0 + Reg(Rd), ArrangementD, 1, 0}
+
+ case arg_Vd_arrangement_imm5___B_1__H_2__S_4__D_8_index__imm5__imm5lt41gt_1__imm5lt42gt_2__imm5lt43gt_4__imm5lt4gt_8_1:
+ var a Arrangement
+ var index uint32
+ Rd := x & (1<<5 - 1)
+ imm5 := (x >> 16) & (1<<5 - 1)
+ if imm5&1 == 1 {
+ a = ArrangementB
+ index = imm5 >> 1
+ } else if imm5&2 == 2 {
+ a = ArrangementH
+ index = imm5 >> 2
+ } else if imm5&4 == 4 {
+ a = ArrangementS
+ index = imm5 >> 3
+ } else if imm5&8 == 8 {
+ a = ArrangementD
+ index = imm5 >> 4
+ } else {
+ return nil
+ }
+ return RegisterWithArrangementAndIndex{V0 + Reg(Rd), a, uint8(index), 0}
+
+ case arg_Vd_arrangement_imm5_Q___8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81:
+ Rd := x & (1<<5 - 1)
+ imm5 := (x >> 16) & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ if imm5&1 == 1 {
+ if Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement8B, 0}
+ } else {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement16B, 0}
+ }
+ } else if imm5&2 == 2 {
+ if Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4H, 0}
+ } else {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement8H, 0}
+ }
+ } else if imm5&4 == 4 {
+ if Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement2S, 0}
+ } else {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4S, 0}
+ }
+ } else if (imm5&8 == 8) && (Q == 1) {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement2D, 0}
+ } else {
+ return nil
+ }
+
+ case arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__2S_40__4S_41__2D_81:
+ Rd := x & (1<<5 - 1)
+ immh := (x >> 19) & (1<<4 - 1)
+ Q := (x >> 30) & 1
+ if immh>>2 == 1 {
+ if Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement2S, 0}
+ } else {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4S, 0}
+ }
+ } else if immh>>3 == 1 {
+ if Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement2D, 0}
+ }
+ }
+ return nil
+
+ case arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41:
+ Rd := x & (1<<5 - 1)
+ immh := (x >> 19) & (1<<4 - 1)
+ Q := (x >> 30) & 1
+ if immh == 1 {
+ if Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement8B, 0}
+ } else {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement16B, 0}
+ }
+ } else if immh>>1 == 1 {
+ if Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4H, 0}
+ } else {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement8H, 0}
+ }
+ } else if immh>>2 == 1 {
+ if Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement2S, 0}
+ } else {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4S, 0}
+ }
+ }
+ return nil
+
+ case arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81:
+ Rd := x & (1<<5 - 1)
+ immh := (x >> 19) & (1<<4 - 1)
+ Q := (x >> 30) & 1
+ if immh == 1 {
+ if Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement8B, 0}
+ } else {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement16B, 0}
+ }
+ } else if immh>>1 == 1 {
+ if Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4H, 0}
+ } else {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement8H, 0}
+ }
+ } else if immh>>2 == 1 {
+ if Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement2S, 0}
+ } else {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4S, 0}
+ }
+ } else if immh>>3 == 1 {
+ if Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement2D, 0}
+ }
+ }
+ return nil
+
+ case arg_Vd_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4:
+ Rd := x & (1<<5 - 1)
+ immh := (x >> 19) & (1<<4 - 1)
+ if immh == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement8H, 0}
+ } else if immh>>1 == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4S, 0}
+ } else if immh>>2 == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement2D, 0}
+ }
+ return nil
+
+ case arg_Vd_arrangement_Q___2S_0__4S_1:
+ Rd := x & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ if Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement2S, 0}
+ } else {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4S, 0}
+ }
+
+ case arg_Vd_arrangement_Q___4H_0__8H_1:
+ Rd := x & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ if Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4H, 0}
+ } else {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement8H, 0}
+ }
+
+ case arg_Vd_arrangement_Q___8B_0__16B_1:
+ Rd := x & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ if Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement8B, 0}
+ } else {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement16B, 0}
+ }
+
+ case arg_Vd_arrangement_Q_sz___2S_00__4S_10__2D_11:
+ Rd := x & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ sz := (x >> 22) & 1
+ if sz == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement2S, 0}
+ } else if sz == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4S, 0}
+ } else if sz == 1 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement2D, 0}
+ }
+ return nil
+
+ case arg_Vd_arrangement_size___4S_1__2D_2:
+ Rd := x & (1<<5 - 1)
+ size := (x >> 22) & 3
+ if size == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4S, 0}
+ } else if size == 2 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement2D, 0}
+ }
+ return nil
+
+ case arg_Vd_arrangement_size___8H_0__1Q_3:
+ Rd := x & (1<<5 - 1)
+ size := (x >> 22) & 3
+ if size == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement8H, 0}
+ } else if size == 3 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement1Q, 0}
+ }
+ return nil
+
+ case arg_Vd_arrangement_size___8H_0__4S_1__2D_2:
+ Rd := x & (1<<5 - 1)
+ size := (x >> 22) & 3
+ if size == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement8H, 0}
+ } else if size == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4S, 0}
+ } else if size == 2 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement2D, 0}
+ }
+ return nil
+
+ case arg_Vd_arrangement_size_Q___4H_00__8H_01__2S_10__4S_11__1D_20__2D_21:
+ Rd := x & (1<<5 - 1)
+ size := (x >> 22) & 3
+ Q := (x >> 30) & 1
+ if size == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4H, 0}
+ } else if size == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement8H, 0}
+ } else if size == 1 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement2S, 0}
+ } else if size == 1 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4S, 0}
+ } else if size == 2 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement1D, 0}
+ } else if size == 2 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement2D, 0}
+ }
+ return nil
+
+ case arg_Vd_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21:
+ Rd := x & (1<<5 - 1)
+ size := (x >> 22) & 3
+ Q := (x >> 30) & 1
+ if size == 1 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4H, 0}
+ } else if size == 1 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement8H, 0}
+ } else if size == 2 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement2S, 0}
+ } else if size == 2 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4S, 0}
+ }
+ return nil
+
+ case arg_Vd_arrangement_size_Q___8B_00__16B_01:
+ Rd := x & (1<<5 - 1)
+ size := (x >> 22) & 3
+ Q := (x >> 30) & 1
+ if size == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement8B, 0}
+ } else if size == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement16B, 0}
+ }
+ return nil
+
+ case arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11:
+ Rd := x & (1<<5 - 1)
+ size := (x >> 22) & 3
+ Q := (x >> 30) & 1
+ if size == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement8B, 0}
+ } else if size == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement16B, 0}
+ } else if size == 1 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4H, 0}
+ } else if size == 1 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement8H, 0}
+ }
+ return nil
+
+ case arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21:
+ Rd := x & (1<<5 - 1)
+ size := (x >> 22) & 3
+ Q := (x >> 30) & 1
+ if size == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement8B, 0}
+ } else if size == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement16B, 0}
+ } else if size == 1 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4H, 0}
+ } else if size == 1 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement8H, 0}
+ } else if size == 2 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement2S, 0}
+ } else if size == 2 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4S, 0}
+ }
+ return nil
+
+ case arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31:
+ Rd := x & (1<<5 - 1)
+ size := (x >> 22) & 3
+ Q := (x >> 30) & 1
+ if size == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement8B, 0}
+ } else if size == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement16B, 0}
+ } else if size == 1 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4H, 0}
+ } else if size == 1 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement8H, 0}
+ } else if size == 2 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement2S, 0}
+ } else if size == 2 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4S, 0}
+ } else if size == 3 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement2D, 0}
+ }
+ return nil
+
+ case arg_Vd_arrangement_sz___4S_0__2D_1:
+ Rd := x & (1<<5 - 1)
+ sz := (x >> 22) & 1
+ if sz == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4S, 0}
+ } else {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement2D, 0}
+ }
+
+ case arg_Vd_arrangement_sz_Q___2S_00__4S_01:
+ Rd := x & (1<<5 - 1)
+ sz := (x >> 22) & 1
+ Q := (x >> 30) & 1
+ if sz == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement2S, 0}
+ } else if sz == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4S, 0}
+ }
+ return nil
+
+ case arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11:
+ Rd := x & (1<<5 - 1)
+ sz := (x >> 22) & 1
+ Q := (x >> 30) & 1
+ if sz == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement2S, 0}
+ } else if sz == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4S, 0}
+ } else if sz == 1 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement2D, 0}
+ }
+ return nil
+
+ case arg_Vd_arrangement_sz_Q___2S_10__4S_11:
+ Rd := x & (1<<5 - 1)
+ sz := (x >> 22) & 1
+ Q := (x >> 30) & 1
+ if sz == 1 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement2S, 0}
+ } else if sz == 1 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4S, 0}
+ }
+ return nil
+
+ case arg_Vd_arrangement_sz_Q___4H_00__8H_01__2S_10__4S_11:
+ Rd := x & (1<<5 - 1)
+ sz := (x >> 22) & 1
+ Q := (x >> 30) & 1
+ if sz == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4H, 0}
+ } else if sz == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement8H, 0}
+ } else if sz == 1 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement2S, 0}
+ } else /* sz == 1 && Q == 1 */ {
+ return RegisterWithArrangement{V0 + Reg(Rd), Arrangement4S, 0}
+ }
+
+ case arg_Vm_22_1__S_0__D_1:
+ sz := (x >> 22) & 1
+ Rm := (x >> 16) & (1<<5 - 1)
+ if sz == 0 {
+ return S0 + Reg(Rm)
+ } else {
+ return D0 + Reg(Rm)
+ }
+
+ case arg_Vm_22_2__B_0__H_1__S_2__D_3:
+ size := (x >> 22) & (1<<2 - 1)
+ Rm := (x >> 16) & (1<<5 - 1)
+ if size == 0 {
+ return B0 + Reg(Rm)
+ } else if size == 1 {
+ return H0 + Reg(Rm)
+ } else if size == 2 {
+ return S0 + Reg(Rm)
+ } else {
+ return D0 + Reg(Rm)
+ }
+
+ case arg_Vm_22_2__D_3:
+ size := (x >> 22) & (1<<2 - 1)
+ Rm := (x >> 16) & (1<<5 - 1)
+ if size == 3 {
+ return D0 + Reg(Rm)
+ } else {
+ return nil
+ }
+
+ case arg_Vm_22_2__H_1__S_2:
+ size := (x >> 22) & (1<<2 - 1)
+ Rm := (x >> 16) & (1<<5 - 1)
+ if size == 1 {
+ return H0 + Reg(Rm)
+ } else if size == 2 {
+ return S0 + Reg(Rm)
+ } else {
+ return nil
+ }
+
+ case arg_Vm_arrangement_4S:
+ Rm := (x >> 16) & (1<<5 - 1)
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement4S, 0}
+
+ case arg_Vm_arrangement_Q___8B_0__16B_1:
+ Rm := (x >> 16) & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ if Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement8B, 0}
+ } else {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement16B, 0}
+ }
+
+ case arg_Vm_arrangement_size___8H_0__4S_1__2D_2:
+ Rm := (x >> 16) & (1<<5 - 1)
+ size := (x >> 22) & 3
+ if size == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement8H, 0}
+ } else if size == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement4S, 0}
+ } else if size == 2 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement2D, 0}
+ }
+ return nil
+
+ case arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1:
+ var a Arrangement
+ var index uint32
+ var vm uint32
+ Rm := (x >> 16) & (1<<4 - 1)
+ size := (x >> 22) & 3
+ H := (x >> 11) & 1
+ L := (x >> 21) & 1
+ M := (x >> 20) & 1
+ if size == 1 {
+ a = ArrangementH
+ index = (H << 2) | (L << 1) | M
+ vm = Rm
+ } else if size == 2 {
+ a = ArrangementS
+ index = (H << 1) | L
+ vm = (M << 4) | Rm
+ } else {
+ return nil
+ }
+ return RegisterWithArrangementAndIndex{V0 + Reg(vm), a, uint8(index), 0}
+
+ case arg_Vm_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21:
+ Rm := (x >> 16) & (1<<5 - 1)
+ size := (x >> 22) & 3
+ Q := (x >> 30) & 1
+ if size == 1 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement4H, 0}
+ } else if size == 1 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement8H, 0}
+ } else if size == 2 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement2S, 0}
+ } else if size == 2 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement4S, 0}
+ }
+ return nil
+
+ case arg_Vm_arrangement_size_Q___8B_00__16B_01:
+ Rm := (x >> 16) & (1<<5 - 1)
+ size := (x >> 22) & 3
+ Q := (x >> 30) & 1
+ if size == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement8B, 0}
+ } else if size == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement16B, 0}
+ }
+ return nil
+
+ case arg_Vm_arrangement_size_Q___8B_00__16B_01__1D_30__2D_31:
+ Rm := (x >> 16) & (1<<5 - 1)
+ size := (x >> 22) & 3
+ Q := (x >> 30) & 1
+ if size == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement8B, 0}
+ } else if size == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement16B, 0}
+ } else if size == 3 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement1D, 0}
+ } else if size == 3 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement2D, 0}
+ }
+ return nil
+
+ case arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21:
+ Rm := (x >> 16) & (1<<5 - 1)
+ size := (x >> 22) & 3
+ Q := (x >> 30) & 1
+ if size == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement8B, 0}
+ } else if size == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement16B, 0}
+ } else if size == 1 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement4H, 0}
+ } else if size == 1 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement8H, 0}
+ } else if size == 2 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement2S, 0}
+ } else if size == 2 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement4S, 0}
+ }
+ return nil
+
+ case arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31:
+ Rm := (x >> 16) & (1<<5 - 1)
+ size := (x >> 22) & 3
+ Q := (x >> 30) & 1
+ if size == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement8B, 0}
+ } else if size == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement16B, 0}
+ } else if size == 1 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement4H, 0}
+ } else if size == 1 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement8H, 0}
+ } else if size == 2 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement2S, 0}
+ } else if size == 2 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement4S, 0}
+ } else if size == 3 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement2D, 0}
+ }
+ return nil
+
+ case arg_Vm_arrangement_sz_Q___2S_00__4S_01__2D_11:
+ Rm := (x >> 16) & (1<<5 - 1)
+ sz := (x >> 22) & 1
+ Q := (x >> 30) & 1
+ if sz == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement2S, 0}
+ } else if sz == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement4S, 0}
+ } else if sz == 1 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rm), Arrangement2D, 0}
+ }
+ return nil
+
+ case arg_Vm_arrangement_sz___S_0__D_1_index__sz_L_H__HL_00__H_10_1:
+ var a Arrangement
+ var index uint32
+ Rm := (x >> 16) & (1<<5 - 1)
+ sz := (x >> 22) & 1
+ H := (x >> 11) & 1
+ L := (x >> 21) & 1
+ if sz == 0 {
+ a = ArrangementS
+ index = (H << 1) | L
+ } else if sz == 1 && L == 0 {
+ a = ArrangementD
+ index = H
+ } else {
+ return nil
+ }
+ return RegisterWithArrangementAndIndex{V0 + Reg(Rm), a, uint8(index), 0}
+
+ case arg_Vn_19_4__B_1__H_2__S_4__D_8:
+ immh := (x >> 19) & (1<<4 - 1)
+ Rn := (x >> 5) & (1<<5 - 1)
+ if immh == 1 {
+ return B0 + Reg(Rn)
+ } else if immh>>1 == 1 {
+ return H0 + Reg(Rn)
+ } else if immh>>2 == 1 {
+ return S0 + Reg(Rn)
+ } else if immh>>3 == 1 {
+ return D0 + Reg(Rn)
+ } else {
+ return nil
+ }
+
+ case arg_Vn_19_4__D_8:
+ immh := (x >> 19) & (1<<4 - 1)
+ Rn := (x >> 5) & (1<<5 - 1)
+ if immh>>3 == 1 {
+ return D0 + Reg(Rn)
+ } else {
+ return nil
+ }
+
+ case arg_Vn_19_4__H_1__S_2__D_4:
+ immh := (x >> 19) & (1<<4 - 1)
+ Rn := (x >> 5) & (1<<5 - 1)
+ if immh == 1 {
+ return H0 + Reg(Rn)
+ } else if immh>>1 == 1 {
+ return S0 + Reg(Rn)
+ } else if immh>>2 == 1 {
+ return D0 + Reg(Rn)
+ } else {
+ return nil
+ }
+
+ case arg_Vn_19_4__S_4__D_8:
+ immh := (x >> 19) & (1<<4 - 1)
+ Rn := (x >> 5) & (1<<5 - 1)
+ if immh>>2 == 1 {
+ return S0 + Reg(Rn)
+ } else if immh>>3 == 1 {
+ return D0 + Reg(Rn)
+ } else {
+ return nil
+ }
+
+ case arg_Vn_1_arrangement_16B:
+ Rn := (x >> 5) & (1<<5 - 1)
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement16B, 1}
+
+ case arg_Vn_22_1__D_1:
+ sz := (x >> 22) & 1
+ Rn := (x >> 5) & (1<<5 - 1)
+ if sz == 1 {
+ return D0 + Reg(Rn)
+ }
+ return nil
+
+ case arg_Vn_22_1__S_0__D_1:
+ sz := (x >> 22) & 1
+ Rn := (x >> 5) & (1<<5 - 1)
+ if sz == 0 {
+ return S0 + Reg(Rn)
+ } else {
+ return D0 + Reg(Rn)
+ }
+
+ case arg_Vn_22_2__B_0__H_1__S_2__D_3:
+ size := (x >> 22) & (1<<2 - 1)
+ Rn := (x >> 5) & (1<<5 - 1)
+ if size == 0 {
+ return B0 + Reg(Rn)
+ } else if size == 1 {
+ return H0 + Reg(Rn)
+ } else if size == 2 {
+ return S0 + Reg(Rn)
+ } else {
+ return D0 + Reg(Rn)
+ }
+
+ case arg_Vn_22_2__D_3:
+ size := (x >> 22) & (1<<2 - 1)
+ Rn := (x >> 5) & (1<<5 - 1)
+ if size == 3 {
+ return D0 + Reg(Rn)
+ } else {
+ return nil
+ }
+
+ case arg_Vn_22_2__H_0__S_1__D_2:
+ size := (x >> 22) & (1<<2 - 1)
+ Rn := (x >> 5) & (1<<5 - 1)
+ if size == 0 {
+ return H0 + Reg(Rn)
+ } else if size == 1 {
+ return S0 + Reg(Rn)
+ } else if size == 2 {
+ return D0 + Reg(Rn)
+ } else {
+ return nil
+ }
+
+ case arg_Vn_22_2__H_1__S_2:
+ size := (x >> 22) & (1<<2 - 1)
+ Rn := (x >> 5) & (1<<5 - 1)
+ if size == 1 {
+ return H0 + Reg(Rn)
+ } else if size == 2 {
+ return S0 + Reg(Rn)
+ } else {
+ return nil
+ }
+
+ case arg_Vn_2_arrangement_16B:
+ Rn := (x >> 5) & (1<<5 - 1)
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement16B, 2}
+
+ case arg_Vn_3_arrangement_16B:
+ Rn := (x >> 5) & (1<<5 - 1)
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement16B, 3}
+
+ case arg_Vn_4_arrangement_16B:
+ Rn := (x >> 5) & (1<<5 - 1)
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement16B, 4}
+
+ case arg_Vn_arrangement_16B:
+ Rn := (x >> 5) & (1<<5 - 1)
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement16B, 0}
+
+ case arg_Vn_arrangement_4S:
+ Rn := (x >> 5) & (1<<5 - 1)
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement4S, 0}
+
+ case arg_Vn_arrangement_D_index__1:
+ Rn := (x >> 5) & (1<<5 - 1)
+ return RegisterWithArrangementAndIndex{V0 + Reg(Rn), ArrangementD, 1, 0}
+
+ case arg_Vn_arrangement_D_index__imm5_1:
+ Rn := (x >> 5) & (1<<5 - 1)
+ index := (x >> 20) & 1
+ return RegisterWithArrangementAndIndex{V0 + Reg(Rn), ArrangementD, uint8(index), 0}
+
+ case arg_Vn_arrangement_imm5___B_1__H_2_index__imm5__imm5lt41gt_1__imm5lt42gt_2_1:
+ var a Arrangement
+ var index uint32
+ Rn := (x >> 5) & (1<<5 - 1)
+ imm5 := (x >> 16) & (1<<5 - 1)
+ if imm5&1 == 1 {
+ a = ArrangementB
+ index = imm5 >> 1
+ } else if imm5&2 == 2 {
+ a = ArrangementH
+ index = imm5 >> 2
+ } else {
+ return nil
+ }
+ return RegisterWithArrangementAndIndex{V0 + Reg(Rn), a, uint8(index), 0}
+
+ case arg_Vn_arrangement_imm5___B_1__H_2__S_4__D_8_index__imm5_imm4__imm4lt30gt_1__imm4lt31gt_2__imm4lt32gt_4__imm4lt3gt_8_1:
+ var a Arrangement
+ var index uint32
+ Rn := (x >> 5) & (1<<5 - 1)
+ imm5 := (x >> 16) & (1<<5 - 1)
+ imm4 := (x >> 11) & (1<<4 - 1)
+ if imm5&1 == 1 {
+ a = ArrangementB
+ index = imm4
+ } else if imm5&2 == 2 {
+ a = ArrangementH
+ index = imm4 >> 1
+ } else if imm5&4 == 4 {
+ a = ArrangementS
+ index = imm4 >> 2
+ } else if imm5&8 == 8 {
+ a = ArrangementD
+ index = imm4 >> 3
+ } else {
+ return nil
+ }
+ return RegisterWithArrangementAndIndex{V0 + Reg(Rn), a, uint8(index), 0}
+
+ case arg_Vn_arrangement_imm5___B_1__H_2__S_4__D_8_index__imm5__imm5lt41gt_1__imm5lt42gt_2__imm5lt43gt_4__imm5lt4gt_8_1:
+ var a Arrangement
+ var index uint32
+ Rn := (x >> 5) & (1<<5 - 1)
+ imm5 := (x >> 16) & (1<<5 - 1)
+ if imm5&1 == 1 {
+ a = ArrangementB
+ index = imm5 >> 1
+ } else if imm5&2 == 2 {
+ a = ArrangementH
+ index = imm5 >> 2
+ } else if imm5&4 == 4 {
+ a = ArrangementS
+ index = imm5 >> 3
+ } else if imm5&8 == 8 {
+ a = ArrangementD
+ index = imm5 >> 4
+ } else {
+ return nil
+ }
+ return RegisterWithArrangementAndIndex{V0 + Reg(Rn), a, uint8(index), 0}
+
+ case arg_Vn_arrangement_imm5___B_1__H_2__S_4_index__imm5__imm5lt41gt_1__imm5lt42gt_2__imm5lt43gt_4_1:
+ var a Arrangement
+ var index uint32
+ Rn := (x >> 5) & (1<<5 - 1)
+ imm5 := (x >> 16) & (1<<5 - 1)
+ if imm5&1 == 1 {
+ a = ArrangementB
+ index = imm5 >> 1
+ } else if imm5&2 == 2 {
+ a = ArrangementH
+ index = imm5 >> 2
+ } else if imm5&4 == 4 {
+ a = ArrangementS
+ index = imm5 >> 3
+ } else {
+ return nil
+ }
+ return RegisterWithArrangementAndIndex{V0 + Reg(Rn), a, uint8(index), 0}
+
+ case arg_Vn_arrangement_imm5___D_8_index__imm5_1:
+ var a Arrangement
+ var index uint32
+ Rn := (x >> 5) & (1<<5 - 1)
+ imm5 := (x >> 16) & (1<<5 - 1)
+ if imm5&15 == 8 {
+ a = ArrangementD
+ index = imm5 >> 4
+ } else {
+ return nil
+ }
+ return RegisterWithArrangementAndIndex{V0 + Reg(Rn), a, uint8(index), 0}
+
+ case arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__2S_40__4S_41__2D_81:
+ Rn := (x >> 5) & (1<<5 - 1)
+ immh := (x >> 19) & (1<<4 - 1)
+ Q := (x >> 30) & 1
+ if immh>>2 == 1 {
+ if Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement2S, 0}
+ } else {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement4S, 0}
+ }
+ } else if immh>>3 == 1 {
+ if Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement2D, 0}
+ }
+ }
+ return nil
+
+ case arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41:
+ Rn := (x >> 5) & (1<<5 - 1)
+ immh := (x >> 19) & (1<<4 - 1)
+ Q := (x >> 30) & 1
+ if immh == 1 {
+ if Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement8B, 0}
+ } else {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement16B, 0}
+ }
+ } else if immh>>1 == 1 {
+ if Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement4H, 0}
+ } else {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement8H, 0}
+ }
+ } else if immh>>2 == 1 {
+ if Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement2S, 0}
+ } else {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement4S, 0}
+ }
+ }
+ return nil
+
+ case arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81:
+ Rn := (x >> 5) & (1<<5 - 1)
+ immh := (x >> 19) & (1<<4 - 1)
+ Q := (x >> 30) & 1
+ if immh == 1 {
+ if Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement8B, 0}
+ } else {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement16B, 0}
+ }
+ } else if immh>>1 == 1 {
+ if Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement4H, 0}
+ } else {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement8H, 0}
+ }
+ } else if immh>>2 == 1 {
+ if Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement2S, 0}
+ } else {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement4S, 0}
+ }
+ } else if immh>>3 == 1 {
+ if Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement2D, 0}
+ }
+ }
+ return nil
+
+ case arg_Vn_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4:
+ Rn := (x >> 5) & (1<<5 - 1)
+ immh := (x >> 19) & (1<<4 - 1)
+ if immh == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement8H, 0}
+ } else if immh>>1 == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement4S, 0}
+ } else if immh>>2 == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement2D, 0}
+ }
+ return nil
+
+ case arg_Vn_arrangement_Q___8B_0__16B_1:
+ Rn := (x >> 5) & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ if Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement8B, 0}
+ } else {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement16B, 0}
+ }
+
+ case arg_Vn_arrangement_Q_sz___2S_00__4S_10__2D_11:
+ Rn := (x >> 5) & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ sz := (x >> 22) & 1
+ if sz == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement2S, 0}
+ } else if sz == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement4S, 0}
+ } else if sz == 1 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement2D, 0}
+ }
+ return nil
+
+ case arg_Vn_arrangement_Q_sz___4S_10:
+ Rn := (x >> 5) & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ sz := (x >> 22) & 1
+ if sz == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement4S, 0}
+ }
+ return nil
+
+ case arg_Vn_arrangement_S_index__imm5__imm5lt41gt_1__imm5lt42gt_2__imm5lt43gt_4_1:
+ var index uint32
+ Rn := (x >> 5) & (1<<5 - 1)
+ imm5 := (x >> 16) & (1<<5 - 1)
+ index = imm5 >> 3
+ return RegisterWithArrangementAndIndex{V0 + Reg(Rn), ArrangementS, uint8(index), 0}
+
+ case arg_Vn_arrangement_size___2D_3:
+ Rn := (x >> 5) & (1<<5 - 1)
+ size := (x >> 22) & 3
+ if size == 3 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement2D, 0}
+ }
+ return nil
+
+ case arg_Vn_arrangement_size___8H_0__4S_1__2D_2:
+ Rn := (x >> 5) & (1<<5 - 1)
+ size := (x >> 22) & 3
+ if size == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement8H, 0}
+ } else if size == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement4S, 0}
+ } else if size == 2 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement2D, 0}
+ }
+ return nil
+
+ case arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21:
+ Rn := (x >> 5) & (1<<5 - 1)
+ size := (x >> 22) & 3
+ Q := (x >> 30) & 1
+ if size == 1 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement4H, 0}
+ } else if size == 1 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement8H, 0}
+ } else if size == 2 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement2S, 0}
+ } else if size == 2 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement4S, 0}
+ }
+ return nil
+
+ case arg_Vn_arrangement_size_Q___8B_00__16B_01:
+ Rn := (x >> 5) & (1<<5 - 1)
+ size := (x >> 22) & 3
+ Q := (x >> 30) & 1
+ if size == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement8B, 0}
+ } else if size == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement16B, 0}
+ }
+ return nil
+
+ case arg_Vn_arrangement_size_Q___8B_00__16B_01__1D_30__2D_31:
+ Rn := (x >> 5) & (1<<5 - 1)
+ size := (x >> 22) & 3
+ Q := (x >> 30) & 1
+ if size == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement8B, 0}
+ } else if size == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement16B, 0}
+ } else if size == 3 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement1D, 0}
+ } else if size == 3 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement2D, 0}
+ }
+ return nil
+
+ case arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11:
+ Rn := (x >> 5) & (1<<5 - 1)
+ size := (x >> 22) & 3
+ Q := (x >> 30) & 1
+ if size == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement8B, 0}
+ } else if size == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement16B, 0}
+ } else if size == 1 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement4H, 0}
+ } else if size == 1 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement8H, 0}
+ }
+ return nil
+
+ case arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21:
+ Rn := (x >> 5) & (1<<5 - 1)
+ size := (x >> 22) & 3
+ Q := (x >> 30) & 1
+ if size == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement8B, 0}
+ } else if size == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement16B, 0}
+ } else if size == 1 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement4H, 0}
+ } else if size == 1 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement8H, 0}
+ } else if size == 2 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement2S, 0}
+ } else if size == 2 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement4S, 0}
+ }
+ return nil
+
+ case arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31:
+ Rn := (x >> 5) & (1<<5 - 1)
+ size := (x >> 22) & 3
+ Q := (x >> 30) & 1
+ if size == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement8B, 0}
+ } else if size == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement16B, 0}
+ } else if size == 1 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement4H, 0}
+ } else if size == 1 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement8H, 0}
+ } else if size == 2 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement2S, 0}
+ } else if size == 2 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement4S, 0}
+ } else if size == 3 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement2D, 0}
+ }
+ return nil
+
+ case arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__4S_21:
+ Rn := (x >> 5) & (1<<5 - 1)
+ size := (x >> 22) & 3
+ Q := (x >> 30) & 1
+ if size == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement8B, 0}
+ } else if size == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement16B, 0}
+ } else if size == 1 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement4H, 0}
+ } else if size == 1 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement8H, 0}
+ } else if size == 2 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement4S, 0}
+ }
+ return nil
+
+ case arg_Vn_arrangement_sz___2D_1:
+ Rn := (x >> 5) & (1<<5 - 1)
+ sz := (x >> 22) & 1
+ if sz == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement2D, 0}
+ }
+ return nil
+
+ case arg_Vn_arrangement_sz___2S_0__2D_1:
+ Rn := (x >> 5) & (1<<5 - 1)
+ sz := (x >> 22) & 1
+ if sz == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement2S, 0}
+ } else {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement2D, 0}
+ }
+
+ case arg_Vn_arrangement_sz___4S_0__2D_1:
+ Rn := (x >> 5) & (1<<5 - 1)
+ sz := (x >> 22) & 1
+ if sz == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement4S, 0}
+ } else {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement2D, 0}
+ }
+
+ case arg_Vn_arrangement_sz_Q___2S_00__4S_01:
+ Rn := (x >> 5) & (1<<5 - 1)
+ sz := (x >> 22) & 1
+ Q := (x >> 30) & 1
+ if sz == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement2S, 0}
+ } else if sz == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement4S, 0}
+ }
+ return nil
+
+ case arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11:
+ Rn := (x >> 5) & (1<<5 - 1)
+ sz := (x >> 22) & 1
+ Q := (x >> 30) & 1
+ if sz == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement2S, 0}
+ } else if sz == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement4S, 0}
+ } else if sz == 1 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement2D, 0}
+ }
+ return nil
+
+ case arg_Vn_arrangement_sz_Q___4H_00__8H_01__2S_10__4S_11:
+ Rn := (x >> 5) & (1<<5 - 1)
+ sz := (x >> 22) & 1
+ Q := (x >> 30) & 1
+ if sz == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement4H, 0}
+ } else if sz == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement8H, 0}
+ } else if sz == 1 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement2S, 0}
+ } else /* sz == 1 && Q == 1 */ {
+ return RegisterWithArrangement{V0 + Reg(Rn), Arrangement4S, 0}
+ }
+
+ case arg_Vt_1_arrangement_B_index__Q_S_size_1:
+ Rt := x & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ S := (x >> 12) & 1
+ size := (x >> 10) & 3
+ index := (Q << 3) | (S << 2) | (size)
+ return RegisterWithArrangementAndIndex{V0 + Reg(Rt), ArrangementB, uint8(index), 1}
+
+ case arg_Vt_1_arrangement_D_index__Q_1:
+ Rt := x & (1<<5 - 1)
+ index := (x >> 30) & 1
+ return RegisterWithArrangementAndIndex{V0 + Reg(Rt), ArrangementD, uint8(index), 1}
+
+ case arg_Vt_1_arrangement_H_index__Q_S_size_1:
+ Rt := x & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ S := (x >> 12) & 1
+ size := (x >> 11) & 1
+ index := (Q << 2) | (S << 1) | (size)
+ return RegisterWithArrangementAndIndex{V0 + Reg(Rt), ArrangementH, uint8(index), 1}
+
+ case arg_Vt_1_arrangement_S_index__Q_S_1:
+ Rt := x & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ S := (x >> 12) & 1
+ index := (Q << 1) | S
+ return RegisterWithArrangementAndIndex{V0 + Reg(Rt), ArrangementS, uint8(index), 1}
+
+ case arg_Vt_1_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31:
+ Rt := x & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ size := (x >> 10) & 3
+ if size == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement8B, 1}
+ } else if size == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement16B, 1}
+ } else if size == 1 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement4H, 1}
+ } else if size == 1 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement8H, 1}
+ } else if size == 2 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement2S, 1}
+ } else if size == 2 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement4S, 1}
+ } else if size == 3 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement1D, 1}
+ } else /* size == 3 && Q == 1 */ {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement2D, 1}
+ }
+
+ case arg_Vt_2_arrangement_B_index__Q_S_size_1:
+ Rt := x & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ S := (x >> 12) & 1
+ size := (x >> 10) & 3
+ index := (Q << 3) | (S << 2) | (size)
+ return RegisterWithArrangementAndIndex{V0 + Reg(Rt), ArrangementB, uint8(index), 2}
+
+ case arg_Vt_2_arrangement_D_index__Q_1:
+ Rt := x & (1<<5 - 1)
+ index := (x >> 30) & 1
+ return RegisterWithArrangementAndIndex{V0 + Reg(Rt), ArrangementD, uint8(index), 2}
+
+ case arg_Vt_2_arrangement_H_index__Q_S_size_1:
+ Rt := x & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ S := (x >> 12) & 1
+ size := (x >> 11) & 1
+ index := (Q << 2) | (S << 1) | (size)
+ return RegisterWithArrangementAndIndex{V0 + Reg(Rt), ArrangementH, uint8(index), 2}
+
+ case arg_Vt_2_arrangement_S_index__Q_S_1:
+ Rt := x & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ S := (x >> 12) & 1
+ index := (Q << 1) | S
+ return RegisterWithArrangementAndIndex{V0 + Reg(Rt), ArrangementS, uint8(index), 2}
+
+ case arg_Vt_2_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31:
+ Rt := x & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ size := (x >> 10) & 3
+ if size == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement8B, 2}
+ } else if size == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement16B, 2}
+ } else if size == 1 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement4H, 2}
+ } else if size == 1 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement8H, 2}
+ } else if size == 2 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement2S, 2}
+ } else if size == 2 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement4S, 2}
+ } else if size == 3 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement1D, 2}
+ } else /* size == 3 && Q == 1 */ {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement2D, 2}
+ }
+
+ case arg_Vt_2_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31:
+ Rt := x & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ size := (x >> 10) & 3
+ if size == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement8B, 2}
+ } else if size == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement16B, 2}
+ } else if size == 1 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement4H, 2}
+ } else if size == 1 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement8H, 2}
+ } else if size == 2 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement2S, 2}
+ } else if size == 2 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement4S, 2}
+ } else if size == 3 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement2D, 2}
+ }
+ return nil
+
+ case arg_Vt_3_arrangement_B_index__Q_S_size_1:
+ Rt := x & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ S := (x >> 12) & 1
+ size := (x >> 10) & 3
+ index := (Q << 3) | (S << 2) | (size)
+ return RegisterWithArrangementAndIndex{V0 + Reg(Rt), ArrangementB, uint8(index), 3}
+
+ case arg_Vt_3_arrangement_D_index__Q_1:
+ Rt := x & (1<<5 - 1)
+ index := (x >> 30) & 1
+ return RegisterWithArrangementAndIndex{V0 + Reg(Rt), ArrangementD, uint8(index), 3}
+
+ case arg_Vt_3_arrangement_H_index__Q_S_size_1:
+ Rt := x & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ S := (x >> 12) & 1
+ size := (x >> 11) & 1
+ index := (Q << 2) | (S << 1) | (size)
+ return RegisterWithArrangementAndIndex{V0 + Reg(Rt), ArrangementH, uint8(index), 3}
+
+ case arg_Vt_3_arrangement_S_index__Q_S_1:
+ Rt := x & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ S := (x >> 12) & 1
+ index := (Q << 1) | S
+ return RegisterWithArrangementAndIndex{V0 + Reg(Rt), ArrangementS, uint8(index), 3}
+
+ case arg_Vt_3_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31:
+ Rt := x & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ size := (x >> 10) & 3
+ if size == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement8B, 3}
+ } else if size == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement16B, 3}
+ } else if size == 1 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement4H, 3}
+ } else if size == 1 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement8H, 3}
+ } else if size == 2 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement2S, 3}
+ } else if size == 2 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement4S, 3}
+ } else if size == 3 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement1D, 3}
+ } else /* size == 3 && Q == 1 */ {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement2D, 3}
+ }
+
+ case arg_Vt_3_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31:
+ Rt := x & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ size := (x >> 10) & 3
+ if size == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement8B, 3}
+ } else if size == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement16B, 3}
+ } else if size == 1 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement4H, 3}
+ } else if size == 1 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement8H, 3}
+ } else if size == 2 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement2S, 3}
+ } else if size == 2 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement4S, 3}
+ } else if size == 3 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement2D, 3}
+ }
+ return nil
+
+ case arg_Vt_4_arrangement_B_index__Q_S_size_1:
+ Rt := x & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ S := (x >> 12) & 1
+ size := (x >> 10) & 3
+ index := (Q << 3) | (S << 2) | (size)
+ return RegisterWithArrangementAndIndex{V0 + Reg(Rt), ArrangementB, uint8(index), 4}
+
+ case arg_Vt_4_arrangement_D_index__Q_1:
+ Rt := x & (1<<5 - 1)
+ index := (x >> 30) & 1
+ return RegisterWithArrangementAndIndex{V0 + Reg(Rt), ArrangementD, uint8(index), 4}
+
+ case arg_Vt_4_arrangement_H_index__Q_S_size_1:
+ Rt := x & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ S := (x >> 12) & 1
+ size := (x >> 11) & 1
+ index := (Q << 2) | (S << 1) | (size)
+ return RegisterWithArrangementAndIndex{V0 + Reg(Rt), ArrangementH, uint8(index), 4}
+
+ case arg_Vt_4_arrangement_S_index__Q_S_1:
+ Rt := x & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ S := (x >> 12) & 1
+ index := (Q << 1) | S
+ return RegisterWithArrangementAndIndex{V0 + Reg(Rt), ArrangementS, uint8(index), 4}
+
+ case arg_Vt_4_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31:
+ Rt := x & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ size := (x >> 10) & 3
+ if size == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement8B, 4}
+ } else if size == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement16B, 4}
+ } else if size == 1 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement4H, 4}
+ } else if size == 1 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement8H, 4}
+ } else if size == 2 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement2S, 4}
+ } else if size == 2 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement4S, 4}
+ } else if size == 3 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement1D, 4}
+ } else /* size == 3 && Q == 1 */ {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement2D, 4}
+ }
+
+ case arg_Vt_4_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31:
+ Rt := x & (1<<5 - 1)
+ Q := (x >> 30) & 1
+ size := (x >> 10) & 3
+ if size == 0 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement8B, 4}
+ } else if size == 0 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement16B, 4}
+ } else if size == 1 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement4H, 4}
+ } else if size == 1 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement8H, 4}
+ } else if size == 2 && Q == 0 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement2S, 4}
+ } else if size == 2 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement4S, 4}
+ } else if size == 3 && Q == 1 {
+ return RegisterWithArrangement{V0 + Reg(Rt), Arrangement2D, 4}
+ }
+ return nil
+
+ case arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__4_1:
+ return handle_MemExtend(x, 4, false)
+
+ case arg_Xns_mem_offset:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ return MemImmediate{Rn, AddrOffset, 0}
+
+ case arg_Xns_mem_optional_imm12_16_unsigned:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ imm12 := (x >> 10) & (1<<12 - 1)
+ return MemImmediate{Rn, AddrOffset, int32(imm12 << 4)}
+
+ case arg_Xns_mem_optional_imm7_16_signed:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ imm7 := (x >> 15) & (1<<7 - 1)
+ return MemImmediate{Rn, AddrOffset, ((int32(imm7 << 4)) << 21) >> 21}
+
+ case arg_Xns_mem_post_fixedimm_1:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ return MemImmediate{Rn, AddrPostIndex, 1}
+
+ case arg_Xns_mem_post_fixedimm_12:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ return MemImmediate{Rn, AddrPostIndex, 12}
+
+ case arg_Xns_mem_post_fixedimm_16:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ return MemImmediate{Rn, AddrPostIndex, 16}
+
+ case arg_Xns_mem_post_fixedimm_2:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ return MemImmediate{Rn, AddrPostIndex, 2}
+
+ case arg_Xns_mem_post_fixedimm_24:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ return MemImmediate{Rn, AddrPostIndex, 24}
+
+ case arg_Xns_mem_post_fixedimm_3:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ return MemImmediate{Rn, AddrPostIndex, 3}
+
+ case arg_Xns_mem_post_fixedimm_32:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ return MemImmediate{Rn, AddrPostIndex, 32}
+
+ case arg_Xns_mem_post_fixedimm_4:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ return MemImmediate{Rn, AddrPostIndex, 4}
+
+ case arg_Xns_mem_post_fixedimm_6:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ return MemImmediate{Rn, AddrPostIndex, 6}
+
+ case arg_Xns_mem_post_fixedimm_8:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ return MemImmediate{Rn, AddrPostIndex, 8}
+
+ case arg_Xns_mem_post_imm7_16_signed:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ imm7 := (x >> 15) & (1<<7 - 1)
+ return MemImmediate{Rn, AddrPostIndex, ((int32(imm7 << 4)) << 21) >> 21}
+
+ case arg_Xns_mem_post_Q__16_0__32_1:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ Q := (x >> 30) & 1
+ return MemImmediate{Rn, AddrPostIndex, int32((Q + 1) * 16)}
+
+ case arg_Xns_mem_post_Q__24_0__48_1:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ Q := (x >> 30) & 1
+ return MemImmediate{Rn, AddrPostIndex, int32((Q + 1) * 24)}
+
+ case arg_Xns_mem_post_Q__32_0__64_1:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ Q := (x >> 30) & 1
+ return MemImmediate{Rn, AddrPostIndex, int32((Q + 1) * 32)}
+
+ case arg_Xns_mem_post_Q__8_0__16_1:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ Q := (x >> 30) & 1
+ return MemImmediate{Rn, AddrPostIndex, int32((Q + 1) * 8)}
+
+ case arg_Xns_mem_post_size__1_0__2_1__4_2__8_3:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ size := (x >> 10) & 3
+ return MemImmediate{Rn, AddrPostIndex, int32(1 << size)}
+
+ case arg_Xns_mem_post_size__2_0__4_1__8_2__16_3:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ size := (x >> 10) & 3
+ return MemImmediate{Rn, AddrPostIndex, int32(2 << size)}
+
+ case arg_Xns_mem_post_size__3_0__6_1__12_2__24_3:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ size := (x >> 10) & 3
+ return MemImmediate{Rn, AddrPostIndex, int32(3 << size)}
+
+ case arg_Xns_mem_post_size__4_0__8_1__16_2__32_3:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ size := (x >> 10) & 3
+ return MemImmediate{Rn, AddrPostIndex, int32(4 << size)}
+
+ case arg_Xns_mem_post_Xm:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ Rm := (x >> 16) & (1<<5 - 1)
+ return MemImmediate{Rn, AddrPostReg, int32(Rm)}
+
+ case arg_Xns_mem_wb_imm7_16_signed:
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ imm7 := (x >> 15) & (1<<7 - 1)
+ return MemImmediate{Rn, AddrPreIndex, ((int32(imm7 << 4)) << 21) >> 21}
+ }
+}
+
+func handle_ExtendedRegister(x uint32, has_width bool) Arg {
+ s := (x >> 29) & 1
+ rm := (x >> 16) & (1<<5 - 1)
+ option := (x >> 13) & (1<<3 - 1)
+ imm3 := (x >> 10) & (1<<3 - 1)
+ rn := (x >> 5) & (1<<5 - 1)
+ rd := x & (1<<5 - 1)
+ is_32bit := !has_width
+ var rea RegExtshiftAmount
+ if has_width {
+ if option&0x3 != 0x3 {
+ rea.reg = W0 + Reg(rm)
+ } else {
+ rea.reg = X0 + Reg(rm)
+ }
+ } else {
+ rea.reg = W0 + Reg(rm)
+ }
+ switch option {
+ case 0:
+ rea.extShift = uxtb
+ case 1:
+ rea.extShift = uxth
+ case 2:
+ if is_32bit && (rn == 31 || (s == 0 && rd == 31)) {
+ if imm3 != 0 {
+ rea.extShift = lsl
+ } else {
+ rea.extShift = ExtShift(0)
+ }
+ } else {
+ rea.extShift = uxtw
+ }
+ case 3:
+ if !is_32bit && (rn == 31 || (s == 0 && rd == 31)) {
+ if imm3 != 0 {
+ rea.extShift = lsl
+ } else {
+ rea.extShift = ExtShift(0)
+ }
+ } else {
+ rea.extShift = uxtx
+ }
+ case 4:
+ rea.extShift = sxtb
+ case 5:
+ rea.extShift = sxth
+ case 6:
+ rea.extShift = sxtw
+ case 7:
+ rea.extShift = sxtx
+ }
+ rea.show_zero = false
+ rea.amount = uint8(imm3)
+ return rea
+}
+
+func handle_ImmediateShiftedRegister(x uint32, max uint8, is_w, has_ror bool) Arg {
+ var rsa RegExtshiftAmount
+ if is_w {
+ rsa.reg = W0 + Reg((x>>16)&(1<<5-1))
+ } else {
+ rsa.reg = X0 + Reg((x>>16)&(1<<5-1))
+ }
+ switch (x >> 22) & 0x3 {
+ case 0:
+ rsa.extShift = lsl
+ case 1:
+ rsa.extShift = lsr
+ case 2:
+ rsa.extShift = asr
+ case 3:
+ if has_ror {
+ rsa.extShift = ror
+ } else {
+ return nil
+ }
+ }
+ rsa.show_zero = true
+ rsa.amount = uint8((x >> 10) & (1<<6 - 1))
+ if rsa.amount == 0 && rsa.extShift == lsl {
+ rsa.extShift = ExtShift(0)
+ } else if rsa.amount > max {
+ return nil
+ }
+ return rsa
+}
+
+func handle_MemExtend(x uint32, mult uint8, absent bool) Arg {
+ var extend ExtShift
+ var Rm Reg
+ option := (x >> 13) & (1<<3 - 1)
+ Rn := RegSP(X0) + RegSP(x>>5&(1<<5-1))
+ if (option & 1) != 0 {
+ Rm = Reg(X0) + Reg(x>>16&(1<<5-1))
+ } else {
+ Rm = Reg(W0) + Reg(x>>16&(1<<5-1))
+ }
+ switch option {
+ default:
+ return nil
+ case 2:
+ extend = uxtw
+ case 3:
+ extend = lsl
+ case 6:
+ extend = sxtw
+ case 7:
+ extend = sxtx
+ }
+ amount := (uint8((x >> 12) & 1)) * mult
+ return MemExtend{Rn, Rm, extend, amount, absent}
+}
+
+func handle_bitmasks(x uint32, datasize uint8) Arg {
+ var length, levels, esize, i uint8
+ var welem, wmask uint64
+ n := (x >> 22) & 1
+ imms := uint8((x >> 10) & (1<<6 - 1))
+ immr := uint8((x >> 16) & (1<<6 - 1))
+ if n != 0 {
+ length = 6
+ } else if (imms & 32) == 0 {
+ length = 5
+ } else if (imms & 16) == 0 {
+ length = 4
+ } else if (imms & 8) == 0 {
+ length = 3
+ } else if (imms & 4) == 0 {
+ length = 2
+ } else if (imms & 2) == 0 {
+ length = 1
+ } else {
+ return nil
+ }
+ levels = 1<<length - 1
+ s := imms & levels
+ r := immr & levels
+ esize = 1 << length
+ if esize > datasize {
+ return nil
+ }
+ welem = 1<<(s+1) - 1
+ ror := (welem >> r) | (welem << (esize - r))
+ ror &= ((1 << esize) - 1)
+ wmask = 0
+ for i = 0; i < datasize; i += esize {
+ wmask = (wmask << esize) | ror
+ }
+ return Imm64{wmask, false}
+}
diff --git a/arm64/arm64asm/decode_test.go b/arm64/arm64asm/decode_test.go
new file mode 100644
index 0000000..a79ee1c
--- /dev/null
+++ b/arm64/arm64asm/decode_test.go
@@ -0,0 +1,78 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package arm64asm
+
+import (
+ "encoding/hex"
+ "io/ioutil"
+ "strings"
+ "testing"
+)
+
+func TestDecode(t *testing.T) {
+ data, err := ioutil.ReadFile("testdata/cases.txt")
+ if err != nil {
+ t.Fatal(err)
+ }
+ all := string(data)
+ for strings.Contains(all, "\t\t") {
+ all = strings.Replace(all, "\t\t", "\t", -1)
+ }
+ for _, line := range strings.Split(all, "\n") {
+ line = strings.TrimSpace(line)
+ if line == "" || strings.HasPrefix(line, "#") {
+ continue
+ }
+ f := strings.SplitN(line, "\t", 3)
+ i := strings.Index(f[0], "|")
+ if i < 0 {
+ t.Errorf("parsing %q: missing | separator", f[0])
+ continue
+ }
+ if i%2 != 0 {
+ t.Errorf("parsing %q: misaligned | separator", f[0])
+ }
+ code, err := hex.DecodeString(f[0][:i] + f[0][i+1:])
+ if err != nil {
+ t.Errorf("parsing %q: %v", f[0], err)
+ continue
+ }
+ syntax, asm := f[1], f[2]
+ inst, decodeErr := Decode(code)
+ if decodeErr != nil && decodeErr != errUnknown {
+ // Some rarely used system instructions are not supported
+ // Following logicals will filter such unknown instructions
+
+ t.Errorf("parsing %x: %s", code, decodeErr)
+ continue
+ }
+ var out string
+ switch syntax {
+ case "gnu":
+ out = GNUSyntax(inst)
+ case "plan9":
+ out = GoSyntax(inst, 0, nil, nil)
+ default:
+ t.Errorf("unknown syntax %q", syntax)
+ continue
+ }
+ // TODO: system instruction.
+ var Todo = strings.Fields(`
+ sys
+ dc
+ at
+ tlbi
+ ic
+ hvc
+ smc
+ `)
+ if strings.Replace(out, " ", "", -1) != strings.Replace(asm, " ", "", -1) && !hasPrefix(asm, Todo...) {
+ // Exclude MSR since GNU objdump result is incorrect. eg. 0xd504431f msr s0_4_c4_c3_0, xzr
+ if !strings.HasSuffix(asm, " nv") && !strings.HasPrefix(asm, "msr") {
+ t.Errorf("Decode(%s) [%s] = %s, want %s", f[0], syntax, out, asm)
+ }
+ }
+ }
+}
diff --git a/arm64/arm64asm/ext_test.go b/arm64/arm64asm/ext_test.go
new file mode 100644
index 0000000..ef2162c
--- /dev/null
+++ b/arm64/arm64asm/ext_test.go
@@ -0,0 +1,601 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Support for testing against external disassembler program.
+// Copied and simplified from ../../arm/armasm/ext_test.go.
+
+package arm64asm
+
+import (
+ "bufio"
+ "bytes"
+ "encoding/hex"
+ "encoding/json"
+ "flag"
+ "fmt"
+ "io/ioutil"
+ "log"
+ "math/rand"
+ "os"
+ "os/exec"
+ "regexp"
+ "strconv"
+ "strings"
+ "testing"
+ "time"
+)
+
+var (
+ dumpTest = flag.Bool("dump", false, "dump all encodings")
+ mismatch = flag.Bool("mismatch", false, "log allowed mismatches")
+ longTest = flag.Bool("long", false, "long test")
+ keep = flag.Bool("keep", false, "keep object files around")
+ debug = false
+)
+
+// An ExtInst represents a single decoded instruction parsed
+// from an external disassembler's output.
+type ExtInst struct {
+ addr uint64
+ enc [4]byte
+ nenc int
+ text string
+}
+
+func (r ExtInst) String() string {
+ return fmt.Sprintf("%#x: % x: %s", r.addr, r.enc, r.text)
+}
+
+// An ExtDis is a connection between an external disassembler and a test.
+type ExtDis struct {
+ Arch Mode
+ Dec chan ExtInst
+ File *os.File
+ Size int
+ KeepFile bool
+ Cmd *exec.Cmd
+}
+
+// InstJson describes instruction fields value got from ARMv8-A Reference Manual
+type InstJson struct {
+ Name string
+ Bits string
+ Arch string
+ Syntax string
+ Code string
+ Alias string
+ Enc uint32
+}
+
+// A Mode is an instruction execution mode.
+type Mode int
+
+const (
+ _ Mode = iota
+ ModeARM64
+)
+
+// Run runs the given command - the external disassembler - and returns
+// a buffered reader of its standard output.
+func (ext *ExtDis) Run(cmd ...string) (*bufio.Reader, error) {
+ if *keep {
+ log.Printf("%s\n", strings.Join(cmd, " "))
+ }
+ ext.Cmd = exec.Command(cmd[0], cmd[1:]...)
+ out, err := ext.Cmd.StdoutPipe()
+ if err != nil {
+ return nil, fmt.Errorf("stdoutpipe: %v", err)
+ }
+ if err := ext.Cmd.Start(); err != nil {
+ return nil, fmt.Errorf("exec: %v", err)
+ }
+
+ b := bufio.NewReaderSize(out, 1<<20)
+ return b, nil
+}
+
+// Wait waits for the command started with Run to exit.
+func (ext *ExtDis) Wait() error {
+ return ext.Cmd.Wait()
+}
+
+// testExtDis tests a set of byte sequences against an external disassembler.
+// The disassembler is expected to produce the given syntax and run
+// in the given architecture mode (16, 32, or 64-bit).
+// The extdis function must start the external disassembler
+// and then parse its output, sending the parsed instructions on ext.Dec.
+// The generate function calls its argument f once for each byte sequence
+// to be tested. The generate function itself will be called twice, and it must
+// make the same sequence of calls to f each time.
+// When a disassembly does not match the internal decoding,
+// allowedMismatch determines whether this mismatch should be
+// allowed, or else considered an error.
+func testExtDis(
+ t *testing.T,
+ syntax string,
+ arch Mode,
+ extdis func(ext *ExtDis) error,
+ generate func(f func([]byte)),
+ allowedMismatch func(text string, inst *Inst, dec ExtInst) bool,
+) {
+ start := time.Now()
+ ext := &ExtDis{
+ Dec: make(chan ExtInst),
+ Arch: arch,
+ }
+ errc := make(chan error)
+
+ // First pass: write instructions to input file for external disassembler.
+ file, f, size, err := writeInst(generate)
+ if err != nil {
+ t.Fatal(err)
+ }
+ ext.Size = size
+ ext.File = f
+ defer func() {
+ f.Close()
+ if !*keep {
+ os.Remove(file)
+ }
+ }()
+
+ // Second pass: compare disassembly against our decodings.
+ var (
+ totalTests = 0
+ totalSkips = 0
+ totalErrors = 0
+
+ errors = make([]string, 0, 100) // Sampled errors, at most cap
+ )
+ go func() {
+ errc <- extdis(ext)
+ }()
+
+ generate(func(enc []byte) {
+ dec, ok := <-ext.Dec
+ if !ok {
+ t.Errorf("decoding stream ended early")
+ return
+ }
+ inst, text := disasm(syntax, pad(enc))
+
+ totalTests++
+ if *dumpTest {
+ fmt.Printf("%x -> %s [%d]\n", enc[:len(enc)], dec.text, dec.nenc)
+ }
+ if text != dec.text && !strings.Contains(dec.text, "unknown") && syntax == "gnu" {
+ suffix := ""
+ if allowedMismatch(text, &inst, dec) {
+ totalSkips++
+ if !*mismatch {
+ return
+ }
+ suffix += " (allowed mismatch)"
+ }
+ totalErrors++
+ cmp := fmt.Sprintf("decode(%x) = %q, %d, want %q, %d%s\n", enc, text, len(enc), dec.text, dec.nenc, suffix)
+
+ if len(errors) >= cap(errors) {
+ j := rand.Intn(totalErrors)
+ if j >= cap(errors) {
+ return
+ }
+ errors = append(errors[:j], errors[j+1:]...)
+ }
+ errors = append(errors, cmp)
+ }
+ })
+
+ if *mismatch {
+ totalErrors -= totalSkips
+ }
+
+ for _, b := range errors {
+ t.Log(b)
+ }
+
+ if totalErrors > 0 {
+ t.Fail()
+ }
+ t.Logf("%d test cases, %d expected mismatches, %d failures; %.0f cases/second", totalTests, totalSkips, totalErrors, float64(totalTests)/time.Since(start).Seconds())
+ t.Logf("decoder coverage: %.1f%%;\n", decodeCoverage())
+ if err := <-errc; err != nil {
+ t.Fatalf("external disassembler: %v", err)
+ }
+
+}
+
+// Start address of text.
+const start = 0x8000
+
+// writeInst writes the generated byte sequences to a new file
+// starting at offset start. That file is intended to be the input to
+// the external disassembler.
+func writeInst(generate func(func([]byte))) (file string, f *os.File, size int, err error) {
+ f, err = ioutil.TempFile("", "arm64asm")
+ if err != nil {
+ return
+ }
+
+ file = f.Name()
+
+ f.Seek(start, 0)
+ w := bufio.NewWriter(f)
+ defer w.Flush()
+ size = 0
+ generate(func(x []byte) {
+ if debug {
+ fmt.Printf("%#x: %x%x\n", start+size, x, zeros[len(x):])
+ }
+ w.Write(x)
+ w.Write(zeros[len(x):])
+ size += len(zeros)
+ })
+ return file, f, size, nil
+}
+
+var zeros = []byte{0, 0, 0, 0}
+
+// pad pads the code sequence with pops.
+func pad(enc []byte) []byte {
+ if len(enc) < 4 {
+ enc = append(enc[:len(enc):len(enc)], zeros[:4-len(enc)]...)
+ }
+ return enc
+}
+
+// disasm returns the decoded instruction and text
+// for the given source bytes, using the given syntax and mode.
+func disasm(syntax string, src []byte) (inst Inst, text string) {
+ var err error
+ inst, err = Decode(src)
+ if err != nil {
+ text = "error: " + err.Error()
+ return
+ }
+ text = inst.String()
+ switch syntax {
+ case "gnu":
+ text = GNUSyntax(inst)
+ case "plan9": // [sic]
+ text = GoSyntax(inst, 0, nil, nil)
+ default:
+ text = "error: unknown syntax " + syntax
+ }
+ return
+}
+
+// decodecoverage returns a floating point number denoting the
+// decoder coverage.
+func decodeCoverage() float64 {
+ n := 0
+ for _, t := range decoderCover {
+ if t {
+ n++
+ }
+ }
+ return 100 * float64(1+n) / float64(1+len(decoderCover))
+}
+
+// Helpers for writing disassembler output parsers.
+
+// hasPrefix reports whether any of the space-separated words in the text s
+// begins with any of the given prefixes.
+func hasPrefix(s string, prefixes ...string) bool {
+ for _, prefix := range prefixes {
+ for cur_s := s; cur_s != ""; {
+ if strings.HasPrefix(cur_s, prefix) {
+ return true
+ }
+ i := strings.Index(cur_s, " ")
+ if i < 0 {
+ break
+ }
+ cur_s = cur_s[i+1:]
+ }
+ }
+ return false
+}
+
+// isHex reports whether b is a hexadecimal character (0-9a-fA-F).
+func isHex(b byte) bool {
+ return ('0' <= b && b <= '9') || ('a' <= b && b <= 'f') || ('A' <= b && b <= 'F')
+}
+
+// parseHex parses the hexadecimal byte dump in hex,
+// appending the parsed bytes to raw and returning the updated slice.
+// The returned bool reports whether any invalid hex was found.
+// Spaces and tabs between bytes are okay but any other non-hex is not.
+func parseHex(hex []byte, raw []byte) ([]byte, bool) {
+ hex = bytes.TrimSpace(hex)
+ for j := 0; j < len(hex); {
+ for hex[j] == ' ' || hex[j] == '\t' {
+ j++
+ }
+ if j >= len(hex) {
+ break
+ }
+ if j+2 > len(hex) || !isHex(hex[j]) || !isHex(hex[j+1]) {
+ return nil, false
+ }
+ raw = append(raw, unhex(hex[j])<<4|unhex(hex[j+1]))
+ j += 2
+ }
+ return raw, true
+}
+
+func unhex(b byte) byte {
+ if '0' <= b && b <= '9' {
+ return b - '0'
+ } else if 'A' <= b && b <= 'F' {
+ return b - 'A' + 10
+ } else if 'a' <= b && b <= 'f' {
+ return b - 'a' + 10
+ }
+ return 0
+}
+
+// index is like bytes.Index(s, []byte(t)) but avoids the allocation.
+func index(s []byte, t string) int {
+ i := 0
+ for {
+ j := bytes.IndexByte(s[i:], t[0])
+ if j < 0 {
+ return -1
+ }
+ i = i + j
+ if i+len(t) > len(s) {
+ return -1
+ }
+ for k := 1; k < len(t); k++ {
+ if s[i+k] != t[k] {
+ goto nomatch
+ }
+ }
+ return i
+ nomatch:
+ i++
+ }
+}
+
+// fixSpace rewrites runs of spaces, tabs, and newline characters into single spaces in s.
+// If s must be rewritten, it is rewritten in place.
+func fixSpace(s []byte) []byte {
+ s = bytes.TrimSpace(s)
+ for i := 0; i < len(s); i++ {
+ if s[i] == '\t' || s[i] == '\n' || i > 0 && s[i] == ' ' && s[i-1] == ' ' {
+ goto Fix
+ }
+ }
+ return s
+
+Fix:
+ b := s
+ w := 0
+ for i := 0; i < len(s); i++ {
+ c := s[i]
+ if c == '\t' || c == '\n' {
+ c = ' '
+ }
+ if c == ' ' && w > 0 && b[w-1] == ' ' {
+ continue
+ }
+ b[w] = c
+ w++
+ }
+ if w > 0 && b[w-1] == ' ' {
+ w--
+ }
+ return b[:w]
+}
+
+// Fllowing regular expressions matches instructions using relative addressing mode.
+// pcrel matches B instructions and BL instructions.
+// pcrelr matches instrucions which consisted of register arguments and label arguments.
+// pcrelim matches instructions which consisted of register arguments, immediate
+// arguments and lable arguments.
+// pcrelrzr and prcelimzr matches instructions when register arguments is zero register.
+// pcrelprfm matches PRFM instructions when arguments consisted of register and lable.
+// pcrelprfmim matches PRFM instructions when arguments consisted of immediate and lable.
+var (
+ pcrel = regexp.MustCompile(`^((?:.* )?(?:b|bl)x?(?:\.)?(?:eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|nv)?) 0x([0-9a-f]+)$`)
+ pcrelr = regexp.MustCompile(`^((?:.*)?(?:ldr|adrp|adr|cbnz|cbz|ldrsw) (?:x|w|s|d|q)(?:[0-9]+,)) 0x([0-9a-f]+)$`)
+ pcrelrzr = regexp.MustCompile(`^((?:.*)?(?:ldr|adrp|adr|cbnz|cbz|ldrsw) (?:x|w)zr,) 0x([0-9a-f]+)$`)
+ pcrelim = regexp.MustCompile(`^((?:.*)?(?:tbnz|tbz) (?:x|w)(?:[0-9]+,) (?:#[0-9a-f]+,)) 0x([0-9a-f]+)$`)
+ pcrelimzr = regexp.MustCompile(`^((?:.*)?(?:tbnz|tbz) (?:x|w)zr, (?:#[0-9a-f]+,)) 0x([0-9a-f]+)$`)
+ pcrelprfm = regexp.MustCompile(`^((?:.*)?(?:prfm) (?:[0-9a-z]+,)) 0x([0-9a-f]+)$`)
+ pcrelprfmim = regexp.MustCompile(`^((?:.*)?(?:prfm) (?:#0x[0-9a-f]+,)) 0x([0-9a-f]+)$`)
+)
+
+// Round is the multiple of the number of instructions that read from Json file.
+// Round used as seed value for pseudo-random number generator provides the same sequence
+// in the same round run for the external disassembler and decoder.
+var Round int
+
+// condmark is used to mark conditional instructions when need to generate and test
+// conditional instructions.
+var condmark bool = false
+
+// Generate instruction binary according to Json file
+// Encode variable field of instruction with random value
+func doFuzzy(inst *InstJson, Ninst int) {
+ var testdata uint32
+ var NonDigRE = regexp.MustCompile(`[\D]`)
+ rand.Seed(int64(Round + Ninst))
+ off := 0
+ DigBit := ""
+ if condmark == true && !strings.Contains(inst.Bits, "cond") {
+ inst.Enc = 0xffffffff
+ } else {
+ for _, f := range strings.Split(inst.Bits, "|") {
+ if i := strings.Index(f, ":"); i >= 0 {
+ // consider f contains "01:2" and "Rm:5"
+ DigBit = f[:i]
+ m := NonDigRE.FindStringSubmatch(DigBit)
+ if m == nil {
+ DigBit = strings.TrimSpace(DigBit)
+ s := strings.Split(DigBit, "")
+ for i := 0; i < len(s); i++ {
+ switch s[i] {
+ case "1", "(1)":
+ testdata |= 1 << uint(31-off)
+ }
+ off++
+ }
+ } else {
+ // DigBit is "Rn" or "imm3"
+ n, _ := strconv.Atoi(f[i+1:])
+ if DigBit == "cond" && condmark == true {
+ r := uint8(Round)
+ for i := n - 1; i >= 0; i-- {
+ switch (r >> uint(i)) & 1 {
+ case 1:
+ testdata |= 1 << uint(31-off)
+ }
+ off++
+ }
+ } else {
+ for i := 0; i < n; i++ {
+ r := rand.Intn(2)
+ switch r {
+ case 1:
+ testdata |= 1 << uint(31-off)
+ }
+ off++
+ }
+ }
+ }
+ continue
+ }
+ for _, bit := range strings.Fields(f) {
+ switch bit {
+ case "0", "(0)":
+ off++
+ continue
+ case "1", "(1)":
+ testdata |= 1 << uint(31-off)
+ default:
+ r := rand.Intn(2)
+ switch r {
+ case 1:
+ testdata |= 1 << uint(31-off)
+ }
+ }
+ off++
+ }
+ }
+ if off != 32 {
+ log.Printf("incorrect bit count for %s %s: have %d", inst.Name, inst.Bits, off)
+ }
+ inst.Enc = testdata
+ }
+}
+
+// Generators.
+//
+// The test cases are described as functions that invoke a callback repeatedly,
+// with a new input sequence each time. These helpers make writing those
+// a little easier.
+
+// JSONCases generates ARM64 instructions according to inst.json.
+func JSONCases(t *testing.T) func(func([]byte)) {
+ return func(try func([]byte)) {
+ data, err := ioutil.ReadFile("inst.json")
+ if err != nil {
+ log.Fatal(err)
+ }
+ var insts []InstJson
+ var instsN []InstJson
+ // Change N value to get more cases only when condmark=false.
+ N := 100
+ if condmark == true {
+ N = 16
+ }
+ if err := json.Unmarshal(data, &insts); err != nil {
+ log.Fatal(err)
+ }
+ // Append instructions to get more test cases.
+ for i := 0; i < N; {
+ for _, inst := range insts {
+ instsN = append(instsN, inst)
+ }
+ i++
+ }
+ Round = 0
+ for i := range instsN {
+ if i%len(insts) == 0 {
+ Round++
+ }
+ doFuzzy(&instsN[i], i)
+ }
+ for _, inst := range instsN {
+ if condmark == true && inst.Enc == 0xffffffff {
+ continue
+ }
+ enc := inst.Enc
+ try([]byte{byte(enc), byte(enc >> 8), byte(enc >> 16), byte(enc >> 24)})
+ }
+ }
+}
+
+// condCases generates conditional instructions.
+func condCases(t *testing.T) func(func([]byte)) {
+ return func(try func([]byte)) {
+ condmark = true
+ JSONCases(t)(func(enc []byte) {
+ try(enc)
+ })
+ }
+}
+
+// hexCases generates the cases written in hexadecimal in the encoded string.
+// Spaces in 'encoded' separate entire test cases, not individual bytes.
+func hexCases(t *testing.T, encoded string) func(func([]byte)) {
+ return func(try func([]byte)) {
+ for _, x := range strings.Fields(encoded) {
+ src, err := hex.DecodeString(x)
+ if err != nil {
+ t.Errorf("parsing %q: %v", x, err)
+ }
+ try(src)
+ }
+ }
+}
+
+// testdataCases generates the test cases recorded in testdata/cases.txt.
+// It only uses the inputs; it ignores the answers recorded in that file.
+func testdataCases(t *testing.T) func(func([]byte)) {
+ var codes [][]byte
+ data, err := ioutil.ReadFile("testdata/cases.txt")
+ if err != nil {
+ t.Fatal(err)
+ }
+ for _, line := range strings.Split(string(data), "\n") {
+ line = strings.TrimSpace(line)
+ if line == "" || strings.HasPrefix(line, "#") {
+ continue
+ }
+ f := strings.Fields(line)[0]
+ i := strings.Index(f, "|")
+ if i < 0 {
+ t.Errorf("parsing %q: missing | separator", f)
+ continue
+ }
+ if i%2 != 0 {
+ t.Errorf("parsing %q: misaligned | separator", f)
+ }
+ code, err := hex.DecodeString(f[:i] + f[i+1:])
+ if err != nil {
+ t.Errorf("parsing %q: %v", f, err)
+ continue
+ }
+ codes = append(codes, code)
+ }
+
+ return func(try func([]byte)) {
+ for _, code := range codes {
+ try(code)
+ }
+ }
+}
diff --git a/arm64/arm64asm/gnu.go b/arm64/arm64asm/gnu.go
new file mode 100644
index 0000000..d1be046
--- /dev/null
+++ b/arm64/arm64asm/gnu.go
@@ -0,0 +1,35 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package arm64asm
+
+import (
+ "strings"
+)
+
+// GNUSyntax returns the GNU assembler syntax for the instruction, as defined by GNU binutils.
+// This form typically matches the syntax defined in the ARM Reference Manual.
+func GNUSyntax(inst Inst) string {
+ switch inst.Op {
+ case RET:
+ if r, ok := inst.Args[0].(Reg); ok && r == X30 {
+ return "ret"
+ }
+ case B:
+ if _, ok := inst.Args[0].(Cond); ok {
+ return strings.ToLower("b." + inst.Args[0].String() + " " + inst.Args[1].String())
+ }
+ case SYSL:
+ result := strings.ToLower(inst.String())
+ return strings.Replace(result, "c", "C", -1)
+ case DCPS1, DCPS2, DCPS3, CLREX:
+ return strings.ToLower(strings.TrimSpace(inst.String()))
+ case ISB:
+ if strings.Contains(inst.String(), "SY") {
+ result := strings.TrimSuffix(inst.String(), " SY")
+ return strings.ToLower(result)
+ }
+ }
+ return strings.ToLower(inst.String())
+}
diff --git a/arm64/arm64asm/inst.go b/arm64/arm64asm/inst.go
new file mode 100644
index 0000000..3ff31be
--- /dev/null
+++ b/arm64/arm64asm/inst.go
@@ -0,0 +1,963 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package arm64asm
+
+import (
+ "fmt"
+ "strings"
+)
+
+// An Op is an ARM64 opcode.
+type Op uint16
+
+// NOTE: The actual Op values are defined in tables.go.
+// They are chosen to simplify instruction decoding and
+// are not a dense packing from 0 to N, although the
+// density is high, probably at least 90%.
+
+func (op Op) String() string {
+ if op >= Op(len(opstr)) || opstr[op] == "" {
+ return fmt.Sprintf("Op(%d)", int(op))
+ }
+ return opstr[op]
+}
+
+// An Inst is a single instruction.
+type Inst struct {
+ Op Op // Opcode mnemonic
+ Enc uint32 // Raw encoding bits.
+ Args Args // Instruction arguments, in ARM manual order.
+}
+
+func (i Inst) String() string {
+ var args []string
+ for _, arg := range i.Args {
+ if arg == nil {
+ break
+ }
+ args = append(args, arg.String())
+ }
+ return i.Op.String() + " " + strings.Join(args, ", ")
+}
+
+// An Args holds the instruction arguments.
+// If an instruction has fewer than 5 arguments,
+// the final elements in the array are nil.
+type Args [5]Arg
+
+// An Arg is a single instruction argument, one of these types:
+// Reg, RegSP, ImmShift, RegExtshiftAmount, PCRel, MemImmediate,
+// MemExtend, Imm, Imm64, Imm_hint, Imm_clrex, Imm_dcps, Cond,
+// Imm_c, Imm_option, Imm_prfop, Pstatefield, Systemreg, Imm_fp
+// RegisterWithArrangement, RegisterWithArrangementAndIndex.
+type Arg interface {
+ isArg()
+ String() string
+}
+
+// A Reg is a single register.
+// The zero value denotes W0, not the absence of a register.
+type Reg uint16
+
+const (
+ W0 Reg = iota
+ W1
+ W2
+ W3
+ W4
+ W5
+ W6
+ W7
+ W8
+ W9
+ W10
+ W11
+ W12
+ W13
+ W14
+ W15
+ W16
+ W17
+ W18
+ W19
+ W20
+ W21
+ W22
+ W23
+ W24
+ W25
+ W26
+ W27
+ W28
+ W29
+ W30
+ WZR
+
+ X0
+ X1
+ X2
+ X3
+ X4
+ X5
+ X6
+ X7
+ X8
+ X9
+ X10
+ X11
+ X12
+ X13
+ X14
+ X15
+ X16
+ X17
+ X18
+ X19
+ X20
+ X21
+ X22
+ X23
+ X24
+ X25
+ X26
+ X27
+ X28
+ X29
+ X30
+ XZR
+
+ B0
+ B1
+ B2
+ B3
+ B4
+ B5
+ B6
+ B7
+ B8
+ B9
+ B10
+ B11
+ B12
+ B13
+ B14
+ B15
+ B16
+ B17
+ B18
+ B19
+ B20
+ B21
+ B22
+ B23
+ B24
+ B25
+ B26
+ B27
+ B28
+ B29
+ B30
+ B31
+
+ H0
+ H1
+ H2
+ H3
+ H4
+ H5
+ H6
+ H7
+ H8
+ H9
+ H10
+ H11
+ H12
+ H13
+ H14
+ H15
+ H16
+ H17
+ H18
+ H19
+ H20
+ H21
+ H22
+ H23
+ H24
+ H25
+ H26
+ H27
+ H28
+ H29
+ H30
+ H31
+
+ S0
+ S1
+ S2
+ S3
+ S4
+ S5
+ S6
+ S7
+ S8
+ S9
+ S10
+ S11
+ S12
+ S13
+ S14
+ S15
+ S16
+ S17
+ S18
+ S19
+ S20
+ S21
+ S22
+ S23
+ S24
+ S25
+ S26
+ S27
+ S28
+ S29
+ S30
+ S31
+
+ D0
+ D1
+ D2
+ D3
+ D4
+ D5
+ D6
+ D7
+ D8
+ D9
+ D10
+ D11
+ D12
+ D13
+ D14
+ D15
+ D16
+ D17
+ D18
+ D19
+ D20
+ D21
+ D22
+ D23
+ D24
+ D25
+ D26
+ D27
+ D28
+ D29
+ D30
+ D31
+
+ Q0
+ Q1
+ Q2
+ Q3
+ Q4
+ Q5
+ Q6
+ Q7
+ Q8
+ Q9
+ Q10
+ Q11
+ Q12
+ Q13
+ Q14
+ Q15
+ Q16
+ Q17
+ Q18
+ Q19
+ Q20
+ Q21
+ Q22
+ Q23
+ Q24
+ Q25
+ Q26
+ Q27
+ Q28
+ Q29
+ Q30
+ Q31
+
+ V0
+ V1
+ V2
+ V3
+ V4
+ V5
+ V6
+ V7
+ V8
+ V9
+ V10
+ V11
+ V12
+ V13
+ V14
+ V15
+ V16
+ V17
+ V18
+ V19
+ V20
+ V21
+ V22
+ V23
+ V24
+ V25
+ V26
+ V27
+ V28
+ V29
+ V30
+ V31
+
+ WSP = WZR // These are different registers with the same encoding.
+ SP = XZR // These are different registers with the same encoding.
+)
+
+func (Reg) isArg() {}
+
+func (r Reg) String() string {
+ switch {
+ case r == WZR:
+ return "WZR"
+ case r == XZR:
+ return "XZR"
+ case W0 <= r && r <= W30:
+ return fmt.Sprintf("W%d", int(r-W0))
+ case X0 <= r && r <= X30:
+ return fmt.Sprintf("X%d", int(r-X0))
+
+ case B0 <= r && r <= B31:
+ return fmt.Sprintf("B%d", int(r-B0))
+ case H0 <= r && r <= H31:
+ return fmt.Sprintf("H%d", int(r-H0))
+ case S0 <= r && r <= S31:
+ return fmt.Sprintf("S%d", int(r-S0))
+ case D0 <= r && r <= D31:
+ return fmt.Sprintf("D%d", int(r-D0))
+ case Q0 <= r && r <= Q31:
+ return fmt.Sprintf("Q%d", int(r-Q0))
+
+ case V0 <= r && r <= V31:
+ return fmt.Sprintf("V%d", int(r-V0))
+ default:
+ return fmt.Sprintf("Reg(%d)", int(r))
+ }
+}
+
+// A RegSP represent a register and X31/W31 is regarded as SP/WSP.
+type RegSP Reg
+
+func (RegSP) isArg() {}
+
+func (r RegSP) String() string {
+ switch Reg(r) {
+ case WSP:
+ return "WSP"
+ case SP:
+ return "SP"
+ default:
+ return Reg(r).String()
+ }
+}
+
+type ImmShift struct {
+ imm uint16
+ shift uint8
+}
+
+func (ImmShift) isArg() {}
+
+func (is ImmShift) String() string {
+ if is.shift == 0 {
+ return fmt.Sprintf("#%#x", is.imm)
+ }
+ if is.shift < 128 {
+ return fmt.Sprintf("#%#x, LSL #%d", is.imm, is.shift)
+ }
+ return fmt.Sprintf("#%#x, MSL #%d", is.imm, is.shift-128)
+}
+
+type ExtShift uint8
+
+const (
+ _ ExtShift = iota
+ uxtb
+ uxth
+ uxtw
+ uxtx
+ sxtb
+ sxth
+ sxtw
+ sxtx
+ lsl
+ lsr
+ asr
+ ror
+)
+
+func (extShift ExtShift) String() string {
+ switch extShift {
+ case uxtb:
+ return "UXTB"
+
+ case uxth:
+ return "UXTH"
+
+ case uxtw:
+ return "UXTW"
+
+ case uxtx:
+ return "UXTX"
+
+ case sxtb:
+ return "SXTB"
+
+ case sxth:
+ return "SXTH"
+
+ case sxtw:
+ return "SXTW"
+
+ case sxtx:
+ return "SXTX"
+
+ case lsl:
+ return "LSL"
+
+ case lsr:
+ return "LSR"
+
+ case asr:
+ return "ASR"
+
+ case ror:
+ return "ROR"
+ }
+ return ""
+}
+
+type RegExtshiftAmount struct {
+ reg Reg
+ extShift ExtShift
+ amount uint8
+ show_zero bool
+}
+
+func (RegExtshiftAmount) isArg() {}
+
+func (rea RegExtshiftAmount) String() string {
+ buf := rea.reg.String()
+ if rea.extShift != ExtShift(0) {
+ buf += ", " + rea.extShift.String()
+ if rea.amount != 0 {
+ buf += fmt.Sprintf(" #%d", rea.amount)
+ } else {
+ if rea.show_zero == true {
+ buf += fmt.Sprintf(" #%d", rea.amount)
+ }
+ }
+ }
+ return buf
+}
+
+// A PCRel describes a memory address (usually a code label)
+// as a distance relative to the program counter.
+type PCRel int64
+
+func (PCRel) isArg() {}
+
+func (r PCRel) String() string {
+ return fmt.Sprintf(".%+#x", uint64(r))
+}
+
+// An AddrMode is an ARM addressing mode.
+type AddrMode uint8
+
+const (
+ _ AddrMode = iota
+ AddrPostIndex // [R], X - use address R, set R = R + X
+ AddrPreIndex // [R, X]! - use address R + X, set R = R + X
+ AddrOffset // [R, X] - use address R + X
+ AddrPostReg // [Rn], Rm - - use address Rn, set Rn = Rn + Rm
+)
+
+// A MemImmediate is a memory reference made up of a base R and immediate X.
+// The effective memory address is R or R+X depending on AddrMode.
+type MemImmediate struct {
+ Base RegSP
+ Mode AddrMode
+ imm int32
+}
+
+func (MemImmediate) isArg() {}
+
+func (m MemImmediate) String() string {
+ R := m.Base.String()
+ X := fmt.Sprintf("#%d", m.imm)
+
+ switch m.Mode {
+ case AddrOffset:
+ if X == "#0" {
+ return fmt.Sprintf("[%s]", R)
+ }
+ return fmt.Sprintf("[%s,%s]", R, X)
+ case AddrPreIndex:
+ return fmt.Sprintf("[%s,%s]!", R, X)
+ case AddrPostIndex:
+ return fmt.Sprintf("[%s],%s", R, X)
+ case AddrPostReg:
+ post := Reg(X0) + Reg(m.imm)
+ postR := post.String()
+ return fmt.Sprintf("[%s], %s", R, postR)
+ }
+ return fmt.Sprintf("unimplemented!")
+}
+
+// A MemExtend is a memory reference made up of a base R and index expression X.
+// The effective memory address is R or R+X depending on Index, Extend and Amount.
+type MemExtend struct {
+ Base RegSP
+ Index Reg
+ Extend ExtShift
+ Amount uint8
+ Absent bool
+}
+
+func (MemExtend) isArg() {}
+
+func (m MemExtend) String() string {
+ Rbase := m.Base.String()
+ RIndex := m.Index.String()
+ if m.Absent {
+ if m.Amount != 0 {
+ return fmt.Sprintf("[%s,%s,%s #0]", Rbase, RIndex, m.Extend.String())
+ } else {
+ if m.Extend != lsl {
+ return fmt.Sprintf("[%s,%s,%s]", Rbase, RIndex, m.Extend.String())
+ } else {
+ return fmt.Sprintf("[%s,%s]", Rbase, RIndex)
+ }
+ }
+ } else {
+ if m.Amount != 0 {
+ return fmt.Sprintf("[%s,%s,%s #%d]", Rbase, RIndex, m.Extend.String(), m.Amount)
+ } else {
+ if m.Extend != lsl {
+ return fmt.Sprintf("[%s,%s,%s]", Rbase, RIndex, m.Extend.String())
+ } else {
+ return fmt.Sprintf("[%s,%s]", Rbase, RIndex)
+ }
+ }
+ }
+}
+
+// An Imm is an integer constant.
+type Imm struct {
+ Imm uint32
+ Decimal bool
+}
+
+func (Imm) isArg() {}
+
+func (i Imm) String() string {
+ if !i.Decimal {
+ return fmt.Sprintf("#%#x", i.Imm)
+ } else {
+ return fmt.Sprintf("#%d", i.Imm)
+ }
+}
+
+type Imm64 struct {
+ Imm uint64
+ Decimal bool
+}
+
+func (Imm64) isArg() {}
+
+func (i Imm64) String() string {
+ if !i.Decimal {
+ return fmt.Sprintf("#%#x", i.Imm)
+ } else {
+ return fmt.Sprintf("#%d", i.Imm)
+ }
+}
+
+// An Imm_hint is an integer constant for HINT instruction.
+type Imm_hint uint8
+
+func (Imm_hint) isArg() {}
+
+func (i Imm_hint) String() string {
+ return fmt.Sprintf("#%#x", uint32(i))
+}
+
+// An Imm_clrex is an integer constant for CLREX instruction.
+type Imm_clrex uint8
+
+func (Imm_clrex) isArg() {}
+
+func (i Imm_clrex) String() string {
+ if i == 15 {
+ return ""
+ }
+ return fmt.Sprintf("#%#x", uint32(i))
+}
+
+// An Imm_dcps is an integer constant for DCPS[123] instruction.
+type Imm_dcps uint16
+
+func (Imm_dcps) isArg() {}
+
+func (i Imm_dcps) String() string {
+ if i == 0 {
+ return ""
+ }
+ return fmt.Sprintf("#%#x", uint32(i))
+}
+
+// Standard conditions.
+type Cond struct {
+ Value uint8
+ Invert bool
+}
+
+func (Cond) isArg() {}
+
+func (c Cond) String() string {
+ cond31 := c.Value >> 1
+ invert := bool((c.Value & 1) == 1)
+ invert = (invert != c.Invert)
+ switch cond31 {
+ case 0:
+ if invert {
+ return "NE"
+ } else {
+ return "EQ"
+ }
+ case 1:
+ if invert {
+ return "CC"
+ } else {
+ return "CS"
+ }
+ case 2:
+ if invert {
+ return "PL"
+ } else {
+ return "MI"
+ }
+ case 3:
+ if invert {
+ return "VC"
+ } else {
+ return "VS"
+ }
+ case 4:
+ if invert {
+ return "LS"
+ } else {
+ return "HI"
+ }
+ case 5:
+ if invert {
+ return "LT"
+ } else {
+ return "GE"
+ }
+ case 6:
+ if invert {
+ return "LE"
+ } else {
+ return "GT"
+ }
+ case 7:
+ return "AL"
+ }
+ return ""
+}
+
+// An Imm_c is an integer constant for SYS/SYSL/TLBI instruction.
+type Imm_c uint8
+
+func (Imm_c) isArg() {}
+
+func (i Imm_c) String() string {
+ return fmt.Sprintf("C%d", uint8(i))
+}
+
+// An Imm_option is an integer constant for DMB/DSB/ISB instruction.
+type Imm_option uint8
+
+func (Imm_option) isArg() {}
+
+func (i Imm_option) String() string {
+ switch uint8(i) {
+ case 15:
+ return "SY"
+ case 14:
+ return "ST"
+ case 13:
+ return "LD"
+ case 11:
+ return "ISH"
+ case 10:
+ return "ISHST"
+ case 9:
+ return "ISHLD"
+ case 7:
+ return "NSH"
+ case 6:
+ return "NSHST"
+ case 5:
+ return "NSHLD"
+ case 3:
+ return "OSH"
+ case 2:
+ return "OSHST"
+ case 1:
+ return "OSHLD"
+ }
+ return fmt.Sprintf("#%#02x", uint8(i))
+}
+
+// An Imm_prfop is an integer constant for PRFM instruction.
+type Imm_prfop uint8
+
+func (Imm_prfop) isArg() {}
+
+func (i Imm_prfop) String() string {
+ prf_type := (i >> 3) & (1<<2 - 1)
+ prf_target := (i >> 1) & (1<<2 - 1)
+ prf_policy := i & 1
+ var result string
+
+ switch prf_type {
+ case 0:
+ result = "PLD"
+ case 1:
+ result = "PLI"
+ case 2:
+ result = "PST"
+ case 3:
+ return fmt.Sprintf("#%#02x", uint8(i))
+ }
+ switch prf_target {
+ case 0:
+ result += "L1"
+ case 1:
+ result += "L2"
+ case 2:
+ result += "L3"
+ case 3:
+ return fmt.Sprintf("#%#02x", uint8(i))
+ }
+ if prf_policy == 0 {
+ result += "KEEP"
+ } else {
+ result += "STRM"
+ }
+ return result
+}
+
+type Pstatefield uint8
+
+const (
+ SPSel Pstatefield = iota
+ DAIFSet
+ DAIFClr
+)
+
+func (Pstatefield) isArg() {}
+
+func (p Pstatefield) String() string {
+ switch p {
+ case SPSel:
+ return "SPSel"
+ case DAIFSet:
+ return "DAIFSet"
+ case DAIFClr:
+ return "DAIFClr"
+ default:
+ return "unimplemented"
+ }
+}
+
+type Systemreg struct {
+ op0 uint8
+ op1 uint8
+ cn uint8
+ cm uint8
+ op2 uint8
+}
+
+func (Systemreg) isArg() {}
+
+func (s Systemreg) String() string {
+ return fmt.Sprintf("S%d_%d_C%d_C%d_%d",
+ s.op0, s.op1, s.cn, s.cm, s.op2)
+}
+
+// An Imm_fp is a signed floating-point constant.
+type Imm_fp struct {
+ s uint8
+ exp int8
+ pre uint8
+}
+
+func (Imm_fp) isArg() {}
+
+func (i Imm_fp) String() string {
+ var s, pre, numerator, denominator int16
+ var result float64
+ if i.s == 0 {
+ s = 1
+ } else {
+ s = -1
+ }
+ pre = s * int16(16+i.pre)
+ if i.exp > 0 {
+ numerator = (pre << uint8(i.exp))
+ denominator = 16
+ } else {
+ numerator = pre
+ denominator = (16 << uint8(-1*i.exp))
+ }
+ result = float64(numerator) / float64(denominator)
+ return fmt.Sprintf("#%.18e", result)
+}
+
+type Arrangement uint8
+
+const (
+ _ Arrangement = iota
+ ArrangementB
+ Arrangement8B
+ Arrangement16B
+ ArrangementH
+ Arrangement4H
+ Arrangement8H
+ ArrangementS
+ Arrangement2S
+ Arrangement4S
+ ArrangementD
+ Arrangement1D
+ Arrangement2D
+ Arrangement1Q
+)
+
+func (a Arrangement) String() (result string) {
+ switch a {
+ case ArrangementB:
+ result = ".B"
+ case Arrangement8B:
+ result = ".8B"
+ case Arrangement16B:
+ result = ".16B"
+ case ArrangementH:
+ result = ".H"
+ case Arrangement4H:
+ result = ".4H"
+ case Arrangement8H:
+ result = ".8H"
+ case ArrangementS:
+ result = ".S"
+ case Arrangement2S:
+ result = ".2S"
+ case Arrangement4S:
+ result = ".4S"
+ case ArrangementD:
+ result = ".D"
+ case Arrangement1D:
+ result = ".1D"
+ case Arrangement2D:
+ result = ".2D"
+ case Arrangement1Q:
+ result = ".1Q"
+ }
+ return
+}
+
+// Register with arrangement: <Vd>.<T>, { <Vt>.8B, <Vt2>.8B},
+type RegisterWithArrangement struct {
+ r Reg
+ a Arrangement
+ cnt uint8
+}
+
+func (RegisterWithArrangement) isArg() {}
+
+func (r RegisterWithArrangement) String() string {
+ result := r.r.String()
+ result += r.a.String()
+ if r.cnt > 0 {
+ result = "{" + result
+ if r.cnt == 2 {
+ r1 := V0 + Reg((uint16(r.r)-uint16(V0)+1)&31)
+ result += ", " + r1.String() + r.a.String()
+ } else if r.cnt > 2 {
+ if (uint16(r.cnt) + ((uint16(r.r) - uint16(V0)) & 31)) > 32 {
+ for i := 1; i < int(r.cnt); i++ {
+ cur := V0 + Reg((uint16(r.r)-uint16(V0)+uint16(i))&31)
+ result += ", " + cur.String() + r.a.String()
+ }
+ } else {
+ r1 := V0 + Reg((uint16(r.r)-uint16(V0)+uint16(r.cnt)-1)&31)
+ result += "-" + r1.String() + r.a.String()
+ }
+ }
+ result += "}"
+ }
+ return result
+}
+
+// Register with arrangement and index: <Vm>.<Ts>[<index>],
+// { <Vt>.B, <Vt2>.B }[<index>].
+type RegisterWithArrangementAndIndex struct {
+ r Reg
+ a Arrangement
+ index uint8
+ cnt uint8
+}
+
+func (RegisterWithArrangementAndIndex) isArg() {}
+
+func (r RegisterWithArrangementAndIndex) String() string {
+ result := r.r.String()
+ result += r.a.String()
+ if r.cnt > 0 {
+ result = "{" + result
+ if r.cnt == 2 {
+ r1 := V0 + Reg((uint16(r.r)-uint16(V0)+1)&31)
+ result += ", " + r1.String() + r.a.String()
+ } else if r.cnt > 2 {
+ if (uint16(r.cnt) + ((uint16(r.r) - uint16(V0)) & 31)) > 32 {
+ for i := 1; i < int(r.cnt); i++ {
+ cur := V0 + Reg((uint16(r.r)-uint16(V0)+uint16(i))&31)
+ result += ", " + cur.String() + r.a.String()
+ }
+ } else {
+ r1 := V0 + Reg((uint16(r.r)-uint16(V0)+uint16(r.cnt)-1)&31)
+ result += "-" + r1.String() + r.a.String()
+ }
+ }
+ result += "}"
+ }
+ return fmt.Sprintf("%s[%d]", result, r.index)
+}
diff --git a/arm64/arm64asm/inst.json b/arm64/arm64asm/inst.json
new file mode 100644
index 0000000..2d25c94
--- /dev/null
+++ b/arm64/arm64asm/inst.json
@@ -0,0 +1,1219 @@
+[{"Name":"ADC","Bits":"0|0|0|1|1|0|1|0|0|0|0|Rm:5|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"ADC <Wd>, <Wn>, <Wm>","Code":"","Alias":""},
+{"Name":"ADC","Bits":"1|0|0|1|1|0|1|0|0|0|0|Rm:5|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"ADC <Xd>, <Xn>, <Xm>","Code":"","Alias":""},
+{"Name":"ADCS","Bits":"0|0|1|1|1|0|1|0|0|0|0|Rm:5|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"ADCS <Wd>, <Wn>, <Wm>","Code":"","Alias":""},
+{"Name":"ADCS","Bits":"1|0|1|1|1|0|1|0|0|0|0|Rm:5|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"ADCS <Xd>, <Xn>, <Xm>","Code":"","Alias":""},
+{"Name":"ADD (extended register)","Bits":"0|0|0|0|1|0|1|1|0|0|1|Rm:5|option:3|imm3:3|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"ADD <Wd|WSP>, <Wn|WSP>, <Wm>{, <extend> {#<amount>}}","Code":"","Alias":""},
+{"Name":"ADD (extended register)","Bits":"1|0|0|0|1|0|1|1|0|0|1|Rm:5|option:3|imm3:3|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"ADD <Xd|SP>, <Xn|SP>, <R><m>{, <extend> {#<amount>}}","Code":"","Alias":""},
+{"Name":"ADD (immediate)","Bits":"0|0|0|1|0|0|0|1|shift:2|imm12:12|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"ADD <Wd|WSP>, <Wn|WSP>, #<imm>{, <shift>}","Code":"","Alias":"This instruction is used by the alias MOV (to/from SP)."},
+{"Name":"ADD (immediate)","Bits":"1|0|0|1|0|0|0|1|shift:2|imm12:12|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"ADD <Xd|SP>, <Xn|SP>, #<imm>{, <shift>}","Code":"","Alias":"This instruction is used by the alias MOV (to/from SP)."},
+{"Name":"ADD (shifted register)","Bits":"0|0|0|0|1|0|1|1|shift:2|0|Rm:5|imm6:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"ADD <Wd>, <Wn>, <Wm>{, <shift> #<amount>}","Code":"","Alias":""},
+{"Name":"ADD (shifted register)","Bits":"1|0|0|0|1|0|1|1|shift:2|0|Rm:5|imm6:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"ADD <Xd>, <Xn>, <Xm>{, <shift> #<amount>}","Code":"","Alias":""},
+{"Name":"ADDS (extended register)","Bits":"0|0|1|0|1|0|1|1|0|0|1|Rm:5|option:3|imm3:3|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"ADDS <Wd>, <Wn|WSP>, <Wm>{, <extend> {#<amount>}}","Code":"","Alias":"This instruction is used by the alias CMN (extended register)."},
+{"Name":"ADDS (extended register)","Bits":"1|0|1|0|1|0|1|1|0|0|1|Rm:5|option:3|imm3:3|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"ADDS <Xd>, <Xn|SP>, <R><m>{, <extend> {#<amount>}}","Code":"","Alias":"This instruction is used by the alias CMN (extended register)."},
+{"Name":"ADDS (immediate)","Bits":"0|0|1|1|0|0|0|1|shift:2|imm12:12|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"ADDS <Wd>, <Wn|WSP>, #<imm>{, <shift>}","Code":"","Alias":"This instruction is used by the alias CMN (immediate)."},
+{"Name":"ADDS (immediate)","Bits":"1|0|1|1|0|0|0|1|shift:2|imm12:12|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"ADDS <Xd>, <Xn|SP>, #<imm>{, <shift>}","Code":"","Alias":"This instruction is used by the alias CMN (immediate)."},
+{"Name":"ADDS (shifted register)","Bits":"0|0|1|0|1|0|1|1|shift:2|0|Rm:5|imm6:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"ADDS <Wd>, <Wn>, <Wm>{, <shift> #<amount>}","Code":"","Alias":"This instruction is used by the alias CMN (shifted register)."},
+{"Name":"ADDS (shifted register)","Bits":"1|0|1|0|1|0|1|1|shift:2|0|Rm:5|imm6:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"ADDS <Xd>, <Xn>, <Xm>{, <shift> #<amount>}","Code":"","Alias":"This instruction is used by the alias CMN (shifted register)."},
+{"Name":"ADR","Bits":"0|immlo:2|1|0|0|0|0|immhi:19|Rd:5","Arch":"Literal variant","Syntax":"ADR <Xd>, <label>","Code":"","Alias":""},
+{"Name":"ADRP","Bits":"1|immlo:2|1|0|0|0|0|immhi:19|Rd:5","Arch":"Literal variant","Syntax":"ADRP <Xd>, <label>","Code":"","Alias":""},
+{"Name":"AND (immediate)","Bits":"0|0|0|1|0|0|1|0|0|0|immr:6|imms:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"AND <Wd|WSP>, <Wn>, #<imm>","Code":"","Alias":""},
+{"Name":"AND (immediate)","Bits":"1|0|0|1|0|0|1|0|0|N|immr:6|imms:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"AND <Xd|SP>, <Xn>, #<imm>","Code":"","Alias":""},
+{"Name":"AND (shifted register)","Bits":"0|0|0|0|1|0|1|0|shift:2|0|Rm:5|imm6:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"AND <Wd>, <Wn>, <Wm>{, <shift> #<amount>}","Code":"","Alias":""},
+{"Name":"AND (shifted register)","Bits":"1|0|0|0|1|0|1|0|shift:2|0|Rm:5|imm6:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"AND <Xd>, <Xn>, <Xm>{, <shift> #<amount>}","Code":"","Alias":""},
+{"Name":"ANDS (immediate)","Bits":"0|1|1|1|0|0|1|0|0|0|immr:6|imms:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"ANDS <Wd>, <Wn>, #<imm>","Code":"","Alias":"This instruction is used by the alias TST (immediate)."},
+{"Name":"ANDS (immediate)","Bits":"1|1|1|1|0|0|1|0|0|N|immr:6|imms:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"ANDS <Xd>, <Xn>, #<imm>","Code":"","Alias":"This instruction is used by the alias TST (immediate)."},
+{"Name":"ANDS (shifted register)","Bits":"0|1|1|0|1|0|1|0|shift:2|0|Rm:5|imm6:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"ANDS <Wd>, <Wn>, <Wm>{, <shift> #<amount>}","Code":"","Alias":"This instruction is used by the alias TST (shifted register)."},
+{"Name":"ANDS (shifted register)","Bits":"1|1|1|0|1|0|1|0|shift:2|0|Rm:5|imm6:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"ANDS <Xd>, <Xn>, <Xm>{, <shift> #<amount>}","Code":"","Alias":"This instruction is used by the alias TST (shifted register)."},
+{"Name":"ASR (register)","Bits":"0|0|0|1|1|0|1|0|1|1|0|Rm:5|0|0|1|0|1|0|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"ASR <Wd>, <Wn>, <Wm>","Code":"","Alias":"This instruction is an alias of the ASRV instruction."},
+{"Name":"ASR (register)","Bits":"1|0|0|1|1|0|1|0|1|1|0|Rm:5|0|0|1|0|1|0|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"ASR <Xd>, <Xn>, <Xm>","Code":"","Alias":"This instruction is an alias of the ASRV instruction."},
+{"Name":"ASR (immediate)","Bits":"0|0|0|1|0|0|1|1|0|0|immr:6|011111:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"ASR <Wd>, <Wn>, #<shift>","Code":"","Alias":"This instruction is an alias of the SBFM instruction."},
+{"Name":"ASR (immediate)","Bits":"1|0|0|1|0|0|1|1|0|1|immr:6|111111:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"ASR <Xd>, <Xn>, #<shift>","Code":"","Alias":"This instruction is an alias of the SBFM instruction."},
+{"Name":"ASRV","Bits":"0|0|0|1|1|0|1|0|1|1|0|Rm:5|0|0|1|0|1|0|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"ASRV <Wd>, <Wn>, <Wm>","Code":"","Alias":"This instruction is used by the alias ASR (register)."},
+{"Name":"ASRV","Bits":"1|0|0|1|1|0|1|0|1|1|0|Rm:5|0|0|1|0|1|0|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"ASRV <Xd>, <Xn>, <Xm>","Code":"","Alias":"This instruction is used by the alias ASR (register)."},
+{"Name":"AT","Bits":"1|1|0|1|0|1|0|1|0|0|0|0|1|op1:3|0|1|1|1|CRm:4|op2:3|Rt:5","Arch":"System variant","Syntax":"AT <at_op>, <Xt>","Code":"","Alias":"This instruction is an alias of the SYS instruction."},
+{"Name":"B.cond","Bits":"0|1|0|1|0|1|0|0|imm19:19|0|cond:4","Arch":"19-bit signed PC-relative branch offset variant","Syntax":"B.<cond> <label>","Code":"","Alias":""},
+{"Name":"B","Bits":"0|0|0|1|0|1|imm26:26","Arch":"26-bit signed PC-relative branch offset variant","Syntax":"B <label>","Code":"","Alias":""},
+{"Name":"BFI","Bits":"0|0|1|1|0|0|1|1|0|0|immr:6|imms:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"BFI <Wd>, <Wn>, #<lsb>, #<width>","Code":"","Alias":"This instruction is an alias of the BFM instruction."},
+{"Name":"BFI","Bits":"1|0|1|1|0|0|1|1|0|1|immr:6|imms:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"BFI <Xd>, <Xn>, #<lsb>, #<width>","Code":"","Alias":"This instruction is an alias of the BFM instruction."},
+{"Name":"BFM","Bits":"0|0|1|1|0|0|1|1|0|0|immr:6|imms:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"BFM <Wd>, <Wn>, #<immr>, #<imms>","Code":"","Alias":"This instruction is used by the aliases BFI and BFXIL."},
+{"Name":"BFM","Bits":"1|0|1|1|0|0|1|1|0|1|immr:6|imms:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"BFM <Xd>, <Xn>, #<immr>, #<imms>","Code":"","Alias":"This instruction is used by the aliases BFI and BFXIL."},
+{"Name":"BFXIL","Bits":"0|0|1|1|0|0|1|1|0|0|immr:6|imms:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"BFXIL <Wd>, <Wn>, #<lsb>, #<width>","Code":"","Alias":"This instruction is an alias of the BFM instruction."},
+{"Name":"BFXIL","Bits":"1|0|1|1|0|0|1|1|0|1|immr:6|imms:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"BFXIL <Xd>, <Xn>, #<lsb>, #<width>","Code":"","Alias":"This instruction is an alias of the BFM instruction."},
+{"Name":"BIC (shifted register)","Bits":"0|0|0|0|1|0|1|0|shift:2|1|Rm:5|imm6:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"BIC <Wd>, <Wn>, <Wm>{, <shift> #<amount>}","Code":"","Alias":""},
+{"Name":"BIC (shifted register)","Bits":"1|0|0|0|1|0|1|0|shift:2|1|Rm:5|imm6:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"BIC <Xd>, <Xn>, <Xm>{, <shift> #<amount>}","Code":"","Alias":""},
+{"Name":"BICS (shifted register)","Bits":"0|1|1|0|1|0|1|0|shift:2|1|Rm:5|imm6:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"BICS <Wd>, <Wn>, <Wm>{, <shift> #<amount>}","Code":"","Alias":""},
+{"Name":"BICS (shifted register)","Bits":"1|1|1|0|1|0|1|0|shift:2|1|Rm:5|imm6:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"BICS <Xd>, <Xn>, <Xm>{, <shift> #<amount>}","Code":"","Alias":""},
+{"Name":"BL","Bits":"1|0|0|1|0|1|imm26:26","Arch":"26-bit signed PC-relative branch offset variant","Syntax":"BL <label>","Code":"","Alias":""},
+{"Name":"BLR","Bits":"1|1|0|1|0|1|1|0|0|0|1|1|1|1|1|1|0|0|0|0|0|0|Rn:5|0|0|0|0|0","Arch":"Integer variant","Syntax":"BLR <Xn>","Code":"","Alias":""},
+{"Name":"BR","Bits":"1|1|0|1|0|1|1|0|0|0|0|1|1|1|1|1|0|0|0|0|0|0|Rn:5|0|0|0|0|0","Arch":"Integer variant","Syntax":"BR <Xn>","Code":"","Alias":""},
+{"Name":"BRK","Bits":"1|1|0|1|0|1|0|0|0|0|1|imm16:16|0|0|0|0|0","Arch":"System variant","Syntax":"BRK #<imm>","Code":"","Alias":""},
+{"Name":"CBNZ","Bits":"0|0|1|1|0|1|0|1|imm19:19|Rt:5","Arch":"32-bit variant","Syntax":"CBNZ <Wt>, <label>","Code":"","Alias":""},
+{"Name":"CBNZ","Bits":"1|0|1|1|0|1|0|1|imm19:19|Rt:5","Arch":"64-bit variant","Syntax":"CBNZ <Xt>, <label>","Code":"","Alias":""},
+{"Name":"CBZ","Bits":"0|0|1|1|0|1|0|0|imm19:19|Rt:5","Arch":"32-bit variant","Syntax":"CBZ <Wt>, <label>","Code":"","Alias":""},
+{"Name":"CBZ","Bits":"1|0|1|1|0|1|0|0|imm19:19|Rt:5","Arch":"64-bit variant","Syntax":"CBZ <Xt>, <label>","Code":"","Alias":""},
+{"Name":"CCMN (immediate)","Bits":"0|0|1|1|1|0|1|0|0|1|0|imm5:5|cond:4|1|0|Rn:5|0|nzcv:4","Arch":"32-bit variant","Syntax":"CCMN <Wn>, #<imm>, #<nzcv>, <cond>","Code":"","Alias":""},
+{"Name":"CCMN (immediate)","Bits":"1|0|1|1|1|0|1|0|0|1|0|imm5:5|cond:4|1|0|Rn:5|0|nzcv:4","Arch":"64-bit variant","Syntax":"CCMN <Xn>, #<imm>, #<nzcv>, <cond>","Code":"","Alias":""},
+{"Name":"CCMN (register)","Bits":"0|0|1|1|1|0|1|0|0|1|0|Rm:5|cond:4|0|0|Rn:5|0|nzcv:4","Arch":"32-bit variant","Syntax":"CCMN <Wn>, <Wm>, #<nzcv>, <cond>","Code":"","Alias":""},
+{"Name":"CCMN (register)","Bits":"1|0|1|1|1|0|1|0|0|1|0|Rm:5|cond:4|0|0|Rn:5|0|nzcv:4","Arch":"64-bit variant","Syntax":"CCMN <Xn>, <Xm>, #<nzcv>, <cond>","Code":"","Alias":""},
+{"Name":"CCMP (immediate)","Bits":"0|1|1|1|1|0|1|0|0|1|0|imm5:5|cond:4|1|0|Rn:5|0|nzcv:4","Arch":"32-bit variant","Syntax":"CCMP <Wn>, #<imm>, #<nzcv>, <cond>","Code":"","Alias":""},
+{"Name":"CCMP (immediate)","Bits":"1|1|1|1|1|0|1|0|0|1|0|imm5:5|cond:4|1|0|Rn:5|0|nzcv:4","Arch":"64-bit variant","Syntax":"CCMP <Xn>, #<imm>, #<nzcv>, <cond>","Code":"","Alias":""},
+{"Name":"CCMP (register)","Bits":"0|1|1|1|1|0|1|0|0|1|0|Rm:5|cond:4|0|0|Rn:5|0|nzcv:4","Arch":"32-bit variant","Syntax":"CCMP <Wn>, <Wm>, #<nzcv>, <cond>","Code":"","Alias":""},
+{"Name":"CCMP (register)","Bits":"1|1|1|1|1|0|1|0|0|1|0|Rm:5|cond:4|0|0|Rn:5|0|nzcv:4","Arch":"64-bit variant","Syntax":"CCMP <Xn>, <Xm>, #<nzcv>, <cond>","Code":"","Alias":""},
+{"Name":"CINC","Bits":"0|0|0|1|1|0|1|0|1|0|0|Rm:5|cond:4|0|1|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"CINC <Wd>, <Wn>, <cond>","Code":"","Alias":"This instruction is an alias of the CSINC instruction."},
+{"Name":"CINC","Bits":"1|0|0|1|1|0|1|0|1|0|0|Rm:5|cond:4|0|1|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"CINC <Xd>, <Xn>, <cond>","Code":"","Alias":"This instruction is an alias of the CSINC instruction."},
+{"Name":"CINV","Bits":"0|1|0|1|1|0|1|0|1|0|0|Rm:5|cond:4|0|0|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"CINV <Wd>, <Wn>, <cond>","Code":"","Alias":"This instruction is an alias of the CSINV instruction."},
+{"Name":"CINV","Bits":"1|1|0|1|1|0|1|0|1|0|0|Rm:5|cond:4|0|0|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"CINV <Xd>, <Xn>, <cond>","Code":"","Alias":"This instruction is an alias of the CSINV instruction."},
+{"Name":"CLREX","Bits":"1|1|0|1|0|1|0|1|0|0|0|0|0|0|1|1|0|0|1|1|CRm:4|0|1|0|1|1|1|1|1","Arch":"System variant","Syntax":"CLREX {#<imm>}","Code":"","Alias":""},
+{"Name":"CLS","Bits":"0|1|0|1|1|0|1|0|1|1|0|0|0|0|0|0|0|0|0|1|0|1|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"CLS <Wd>, <Wn>","Code":"","Alias":""},
+{"Name":"CLS","Bits":"1|1|0|1|1|0|1|0|1|1|0|0|0|0|0|0|0|0|0|1|0|1|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"CLS <Xd>, <Xn>","Code":"","Alias":""},
+{"Name":"CLZ","Bits":"0|1|0|1|1|0|1|0|1|1|0|0|0|0|0|0|0|0|0|1|0|0|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"CLZ <Wd>, <Wn>","Code":"","Alias":""},
+{"Name":"CLZ","Bits":"1|1|0|1|1|0|1|0|1|1|0|0|0|0|0|0|0|0|0|1|0|0|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"CLZ <Xd>, <Xn>","Code":"","Alias":""},
+{"Name":"CMN (extended register)","Bits":"0|0|1|0|1|0|1|1|0|0|1|Rm:5|option:3|imm3:3|Rn:5|1|1|1|1|1","Arch":"32-bit variant","Syntax":"CMN <Wn|WSP>, <Wm>{, <extend> {#<amount>}}","Code":"","Alias":"This instruction is an alias of the ADDS (extended register) instruction."},
+{"Name":"CMN (extended register)","Bits":"1|0|1|0|1|0|1|1|0|0|1|Rm:5|option:3|imm3:3|Rn:5|1|1|1|1|1","Arch":"64-bit variant","Syntax":"CMN <Xn|SP>, <R><m>{, <extend> {#<amount>}}","Code":"","Alias":"This instruction is an alias of the ADDS (extended register) instruction."},
+{"Name":"CMN (immediate)","Bits":"0|0|1|1|0|0|0|1|shift:2|imm12:12|Rn:5|1|1|1|1|1","Arch":"32-bit variant","Syntax":"CMN <Wn|WSP>, #<imm>{, <shift>}","Code":"","Alias":"This instruction is an alias of the ADDS (immediate) instruction."},
+{"Name":"CMN (immediate)","Bits":"1|0|1|1|0|0|0|1|shift:2|imm12:12|Rn:5|1|1|1|1|1","Arch":"64-bit variant","Syntax":"CMN <Xn|SP>, #<imm>{, <shift>}","Code":"","Alias":"This instruction is an alias of the ADDS (immediate) instruction."},
+{"Name":"CMN (shifted register)","Bits":"0|0|1|0|1|0|1|1|shift:2|0|Rm:5|imm6:6|Rn:5|1|1|1|1|1","Arch":"32-bit variant","Syntax":"CMN <Wn>, <Wm>{, <shift> #<amount>}","Code":"","Alias":"This instruction is an alias of the ADDS (shifted register) instruction."},
+{"Name":"CMN (shifted register)","Bits":"1|0|1|0|1|0|1|1|shift:2|0|Rm:5|imm6:6|Rn:5|1|1|1|1|1","Arch":"64-bit variant","Syntax":"CMN <Xn>, <Xm>{, <shift> #<amount>}","Code":"","Alias":"This instruction is an alias of the ADDS (shifted register) instruction."},
+{"Name":"CMP (extended register)","Bits":"0|1|1|0|1|0|1|1|0|0|1|Rm:5|option:3|imm3:3|Rn:5|1|1|1|1|1","Arch":"32-bit variant","Syntax":"CMP <Wn|WSP>, <Wm>{, <extend> {#<amount>}}","Code":"","Alias":"This instruction is an alias of the SUBS (extended register) instruction."},
+{"Name":"CMP (extended register)","Bits":"1|1|1|0|1|0|1|1|0|0|1|Rm:5|option:3|imm3:3|Rn:5|1|1|1|1|1","Arch":"64-bit variant","Syntax":"CMP <Xn|SP>, <R><m>{, <extend> {#<amount>}}","Code":"","Alias":"This instruction is an alias of the SUBS (extended register) instruction."},
+{"Name":"CMP (immediate)","Bits":"0|1|1|1|0|0|0|1|shift:2|imm12:12|Rn:5|1|1|1|1|1","Arch":"32-bit variant","Syntax":"CMP <Wn|WSP>, #<imm>{, <shift>}","Code":"","Alias":"This instruction is an alias of the SUBS (immediate) instruction."},
+{"Name":"CMP (immediate)","Bits":"1|1|1|1|0|0|0|1|shift:2|imm12:12|Rn:5|1|1|1|1|1","Arch":"64-bit variant","Syntax":"CMP <Xn|SP>, #<imm>{, <shift>}","Code":"","Alias":"This instruction is an alias of the SUBS (immediate) instruction."},
+{"Name":"CMP (shifted register)","Bits":"0|1|1|0|1|0|1|1|shift:2|0|Rm:5|imm6:6|Rn:5|1|1|1|1|1","Arch":"32-bit variant","Syntax":"CMP <Wn>, <Wm>{, <shift> #<amount>}","Code":"","Alias":"This instruction is an alias of the SUBS (shifted register) instruction."},
+{"Name":"CMP (shifted register)","Bits":"1|1|1|0|1|0|1|1|shift:2|0|Rm:5|imm6:6|Rn:5|1|1|1|1|1","Arch":"64-bit variant","Syntax":"CMP <Xn>, <Xm>{, <shift> #<amount>}","Code":"","Alias":"This instruction is an alias of the SUBS (shifted register) instruction."},
+{"Name":"CNEG","Bits":"0|1|0|1|1|0|1|0|1|0|0|Rm:5|cond:4|0|1|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"CNEG <Wd>, <Wn>, <cond>","Code":"","Alias":"This instruction is an alias of the CSNEG instruction."},
+{"Name":"CNEG","Bits":"1|1|0|1|1|0|1|0|1|0|0|Rm:5|cond:4|0|1|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"CNEG <Xd>, <Xn>, <cond>","Code":"","Alias":"This instruction is an alias of the CSNEG instruction."},
+{"Name":"CRC32B, CRC32H, CRC32W, CRC32X","Bits":"0|0|0|1|1|0|1|0|1|1|0|Rm:5|0|1|0|0|00:2|Rn:5|Rd:5","Arch":"CRC32B variant","Syntax":"CRC32B <Wd>, <Wn>, <Wm>","Code":"","Alias":""},
+{"Name":"CRC32B, CRC32H, CRC32W, CRC32X","Bits":"0|0|0|1|1|0|1|0|1|1|0|Rm:5|0|1|0|0|01:2|Rn:5|Rd:5","Arch":"CRC32H variant","Syntax":"CRC32H <Wd>, <Wn>, <Wm>","Code":"","Alias":""},
+{"Name":"CRC32B, CRC32H, CRC32W, CRC32X","Bits":"0|0|0|1|1|0|1|0|1|1|0|Rm:5|0|1|0|0|10:2|Rn:5|Rd:5","Arch":"CRC32W variant","Syntax":"CRC32W <Wd>, <Wn>, <Wm>","Code":"","Alias":""},
+{"Name":"CRC32B, CRC32H, CRC32W, CRC32X","Bits":"1|0|0|1|1|0|1|0|1|1|0|Rm:5|0|1|0|0|11:2|Rn:5|Rd:5","Arch":"CRC32X variant","Syntax":"CRC32X <Wd>, <Wn>, <Xm>","Code":"","Alias":""},
+{"Name":"CRC32CB, CRC32CH, CRC32CW, CRC32CX","Bits":"0|0|0|1|1|0|1|0|1|1|0|Rm:5|0|1|0|1|00:2|Rn:5|Rd:5","Arch":"CRC32CB variant","Syntax":"CRC32CB <Wd>, <Wn>, <Wm>","Code":"","Alias":""},
+{"Name":"CRC32CB, CRC32CH, CRC32CW, CRC32CX","Bits":"0|0|0|1|1|0|1|0|1|1|0|Rm:5|0|1|0|1|01:2|Rn:5|Rd:5","Arch":"CRC32CH variant","Syntax":"CRC32CH <Wd>, <Wn>, <Wm>","Code":"","Alias":""},
+{"Name":"CRC32CB, CRC32CH, CRC32CW, CRC32CX","Bits":"0|0|0|1|1|0|1|0|1|1|0|Rm:5|0|1|0|1|10:2|Rn:5|Rd:5","Arch":"CRC32CW variant","Syntax":"CRC32CW <Wd>, <Wn>, <Wm>","Code":"","Alias":""},
+{"Name":"CRC32CB, CRC32CH, CRC32CW, CRC32CX","Bits":"1|0|0|1|1|0|1|0|1|1|0|Rm:5|0|1|0|1|11:2|Rn:5|Rd:5","Arch":"CRC32CX variant","Syntax":"CRC32CX <Wd>, <Wn>, <Xm>","Code":"","Alias":""},
+{"Name":"CSEL","Bits":"0|0|0|1|1|0|1|0|1|0|0|Rm:5|cond:4|0|0|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"CSEL <Wd>, <Wn>, <Wm>, <cond>","Code":"","Alias":""},
+{"Name":"CSEL","Bits":"1|0|0|1|1|0|1|0|1|0|0|Rm:5|cond:4|0|0|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"CSEL <Xd>, <Xn>, <Xm>, <cond>","Code":"","Alias":""},
+{"Name":"CSET","Bits":"0|0|0|1|1|0|1|0|1|0|0|1|1|1|1|1|cond:4|0|1|1|1|1|1|1|Rd:5","Arch":"32-bit variant","Syntax":"CSET <Wd>, <cond>","Code":"","Alias":"This instruction is an alias of the CSINC instruction."},
+{"Name":"CSET","Bits":"1|0|0|1|1|0|1|0|1|0|0|1|1|1|1|1|cond:4|0|1|1|1|1|1|1|Rd:5","Arch":"64-bit variant","Syntax":"CSET <Xd>, <cond>","Code":"","Alias":"This instruction is an alias of the CSINC instruction."},
+{"Name":"CSETM","Bits":"0|1|0|1|1|0|1|0|1|0|0|1|1|1|1|1|cond:4|0|0|1|1|1|1|1|Rd:5","Arch":"32-bit variant","Syntax":"CSETM <Wd>, <cond>","Code":"","Alias":"This instruction is an alias of the CSINV instruction."},
+{"Name":"CSETM","Bits":"1|1|0|1|1|0|1|0|1|0|0|1|1|1|1|1|cond:4|0|0|1|1|1|1|1|Rd:5","Arch":"64-bit variant","Syntax":"CSETM <Xd>, <cond>","Code":"","Alias":"This instruction is an alias of the CSINV instruction."},
+{"Name":"CSINC","Bits":"0|0|0|1|1|0|1|0|1|0|0|Rm:5|cond:4|0|1|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"CSINC <Wd>, <Wn>, <Wm>, <cond>","Code":"","Alias":"This instruction is used by the aliases CINC and CSET."},
+{"Name":"CSINC","Bits":"1|0|0|1|1|0|1|0|1|0|0|Rm:5|cond:4|0|1|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"CSINC <Xd>, <Xn>, <Xm>, <cond>","Code":"","Alias":"This instruction is used by the aliases CINC and CSET."},
+{"Name":"CSINV","Bits":"0|1|0|1|1|0|1|0|1|0|0|Rm:5|cond:4|0|0|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"CSINV <Wd>, <Wn>, <Wm>, <cond>","Code":"","Alias":"This instruction is used by the aliases CINV and CSETM."},
+{"Name":"CSINV","Bits":"1|1|0|1|1|0|1|0|1|0|0|Rm:5|cond:4|0|0|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"CSINV <Xd>, <Xn>, <Xm>, <cond>","Code":"","Alias":"This instruction is used by the aliases CINV and CSETM."},
+{"Name":"CSNEG","Bits":"0|1|0|1|1|0|1|0|1|0|0|Rm:5|cond:4|0|1|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"CSNEG <Wd>, <Wn>, <Wm>, <cond>","Code":"","Alias":"This instruction is used by the alias CNEG."},
+{"Name":"CSNEG","Bits":"1|1|0|1|1|0|1|0|1|0|0|Rm:5|cond:4|0|1|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"CSNEG <Xd>, <Xn>, <Xm>, <cond>","Code":"","Alias":"This instruction is used by the alias CNEG."},
+{"Name":"DC","Bits":"1|1|0|1|0|1|0|1|0|0|0|0|1|op1:3|0|1|1|1|CRm:4|op2:3|Rt:5","Arch":"System variant","Syntax":"DC <dc_op>, <Xt>","Code":"","Alias":"This instruction is an alias of the SYS instruction."},
+{"Name":"DCPS1","Bits":"1|1|0|1|0|1|0|0|1|0|1|imm16:16|0|0|0|0|1","Arch":"System variant","Syntax":"DCPS1 {#<imm>}","Code":"","Alias":""},
+{"Name":"DCPS2","Bits":"1|1|0|1|0|1|0|0|1|0|1|imm16:16|0|0|0|1|0","Arch":"System variant","Syntax":"DCPS2 {#<imm>}","Code":"","Alias":""},
+{"Name":"DCPS3","Bits":"1|1|0|1|0|1|0|0|1|0|1|imm16:16|0|0|0|1|1","Arch":"System variant","Syntax":"DCPS3 {#<imm>}","Code":"","Alias":""},
+{"Name":"DMB","Bits":"1|1|0|1|0|1|0|1|0|0|0|0|0|0|1|1|0|0|1|1|CRm:4|1|0|1|1|1|1|1|1","Arch":"System variant","Syntax":"DMB <option>|#<imm>","Code":"","Alias":""},
+{"Name":"DRPS","Bits":"1|1|0|1|0|1|1|0|1|0|1|1|1|1|1|1|0|0|0|0|0|0|1|1|1|1|1|0|0|0|0|0","Arch":"System variant","Syntax":"DRPS","Code":"","Alias":""},
+{"Name":"DSB","Bits":"1|1|0|1|0|1|0|1|0|0|0|0|0|0|1|1|0|0|1|1|CRm:4|1|0|0|1|1|1|1|1","Arch":"System variant","Syntax":"DSB <option>|#<imm>","Code":"","Alias":""},
+{"Name":"EON (shifted register)","Bits":"0|1|0|0|1|0|1|0|shift:2|1|Rm:5|imm6:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"EON <Wd>, <Wn>, <Wm>{, <shift> #<amount>}","Code":"","Alias":""},
+{"Name":"EON (shifted register)","Bits":"1|1|0|0|1|0|1|0|shift:2|1|Rm:5|imm6:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"EON <Xd>, <Xn>, <Xm>{, <shift> #<amount>}","Code":"","Alias":""},
+{"Name":"EOR (immediate)","Bits":"0|1|0|1|0|0|1|0|0|0|immr:6|imms:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"EOR <Wd|WSP>, <Wn>, #<imm>","Code":"","Alias":""},
+{"Name":"EOR (immediate)","Bits":"1|1|0|1|0|0|1|0|0|N|immr:6|imms:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"EOR <Xd|SP>, <Xn>, #<imm>","Code":"","Alias":""},
+{"Name":"EOR (shifted register)","Bits":"0|1|0|0|1|0|1|0|shift:2|0|Rm:5|imm6:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"EOR <Wd>, <Wn>, <Wm>{, <shift> #<amount>}","Code":"","Alias":""},
+{"Name":"EOR (shifted register)","Bits":"1|1|0|0|1|0|1|0|shift:2|0|Rm:5|imm6:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"EOR <Xd>, <Xn>, <Xm>{, <shift> #<amount>}","Code":"","Alias":""},
+{"Name":"ERET","Bits":"1|1|0|1|0|1|1|0|1|0|0|1|1|1|1|1|0|0|0|0|0|0|1|1|1|1|1|0|0|0|0|0","Arch":"System variant","Syntax":"ERET","Code":"","Alias":""},
+{"Name":"EXTR","Bits":"0|0|0|1|0|0|1|1|1|0|0|Rm:5|imms:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"EXTR <Wd>, <Wn>, <Wm>, #<lsb>","Code":"","Alias":"This instruction is used by the alias ROR (immediate)."},
+{"Name":"EXTR","Bits":"1|0|0|1|0|0|1|1|1|1|0|Rm:5|imms:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"EXTR <Xd>, <Xn>, <Xm>, #<lsb>","Code":"","Alias":"This instruction is used by the alias ROR (immediate)."},
+{"Name":"HINT","Bits":"1|1|0|1|0|1|0|1|0|0|0|0|0|0|1|1|0|0|1|0|0000:4|op2:3|1|1|1|1|1","Arch":"Hints 6 and 7 variant","Syntax":"HINT #<imm>","Code":"","Alias":""},
+{"Name":"HINT","Bits":"1|1|0|1|0|1|0|1|0|0|0|0|0|0|1|1|0|0|1|0|CRm:4|op2:3|1|1|1|1|1","Arch":"Hints 8 to 127 variant","Syntax":"HINT #<imm>","Code":"","Alias":""},
+{"Name":"HLT","Bits":"1|1|0|1|0|1|0|0|0|1|0|imm16:16|0|0|0|0|0","Arch":"System variant","Syntax":"HLT #<imm>","Code":"","Alias":""},
+{"Name":"HVC","Bits":"1|1|0|1|0|1|0|0|0|0|0|imm16:16|0|0|0|1|0","Arch":"System variant","Syntax":"HVC #<imm>","Code":"","Alias":""},
+{"Name":"IC","Bits":"1|1|0|1|0|1|0|1|0|0|0|0|1|op1:3|0|1|1|1|CRm:4|op2:3|Rt:5","Arch":"System variant","Syntax":"IC <ic_op>{, <Xt>}","Code":"","Alias":"This instruction is an alias of the SYS instruction."},
+{"Name":"ISB","Bits":"1|1|0|1|0|1|0|1|0|0|0|0|0|0|1|1|0|0|1|1|CRm:4|1|1|0|1|1|1|1|1","Arch":"System variant","Syntax":"ISB {<option>|#<imm>}","Code":"","Alias":""},
+{"Name":"LDAR","Bits":"10:2|0|0|1|0|0|0|1|1|0|(1)|(1)|(1)|(1)|(1)|1|(1)|(1)|(1)|(1)|(1)|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"LDAR <Wt>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"LDAR","Bits":"11:2|0|0|1|0|0|0|1|1|0|(1)|(1)|(1)|(1)|(1)|1|(1)|(1)|(1)|(1)|(1)|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"LDAR <Xt>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"LDARB","Bits":"0|0|0|0|1|0|0|0|1|1|0|(1)|(1)|(1)|(1)|(1)|1|(1)|(1)|(1)|(1)|(1)|Rn:5|Rt:5","Arch":"No offset variant","Syntax":"LDARB <Wt>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"LDARH","Bits":"0|1|0|0|1|0|0|0|1|1|0|(1)|(1)|(1)|(1)|(1)|1|(1)|(1)|(1)|(1)|(1)|Rn:5|Rt:5","Arch":"No offset variant","Syntax":"LDARH <Wt>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"LDAXP","Bits":"1|0|0|0|1|0|0|0|0|1|1|(1)|(1)|(1)|(1)|(1)|1|Rt2:5|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"LDAXP <Wt1>, <Wt2>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"LDAXP","Bits":"1|1|0|0|1|0|0|0|0|1|1|(1)|(1)|(1)|(1)|(1)|1|Rt2:5|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"LDAXP <Xt1>, <Xt2>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"LDAXR","Bits":"10:2|0|0|1|0|0|0|0|1|0|(1)|(1)|(1)|(1)|(1)|1|(1)|(1)|(1)|(1)|(1)|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"LDAXR <Wt>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"LDAXR","Bits":"11:2|0|0|1|0|0|0|0|1|0|(1)|(1)|(1)|(1)|(1)|1|(1)|(1)|(1)|(1)|(1)|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"LDAXR <Xt>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"LDAXRB","Bits":"0|0|0|0|1|0|0|0|0|1|0|(1)|(1)|(1)|(1)|(1)|1|(1)|(1)|(1)|(1)|(1)|Rn:5|Rt:5","Arch":"No offset variant","Syntax":"LDAXRB <Wt>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"LDAXRH","Bits":"0|1|0|0|1|0|0|0|0|1|0|(1)|(1)|(1)|(1)|(1)|1|(1)|(1)|(1)|(1)|(1)|Rn:5|Rt:5","Arch":"No offset variant","Syntax":"LDAXRH <Wt>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"LDNP","Bits":"00:2|1|0|1|0|0|0|0|1|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"LDNP <Wt1>, <Wt2>, [<Xn|SP>{, #<imm>}]","Code":"","Alias":""},
+{"Name":"LDNP","Bits":"10:2|1|0|1|0|0|0|0|1|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"LDNP <Xt1>, <Xt2>, [<Xn|SP>{, #<imm>}]","Code":"","Alias":""},
+{"Name":"LDP","Bits":"00:2|1|0|1|0|0|0|1|1|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Post-index 32-bit variant","Syntax":"LDP <Wt1>, <Wt2>, [<Xn|SP>], #<imm>","Code":"","Alias":""},
+{"Name":"LDP","Bits":"10:2|1|0|1|0|0|0|1|1|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Post-index 64-bit variant","Syntax":"LDP <Xt1>, <Xt2>, [<Xn|SP>], #<imm>","Code":"","Alias":""},
+{"Name":"LDP","Bits":"00:2|1|0|1|0|0|1|1|1|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Pre-index 32-bit variant","Syntax":"LDP <Wt1>, <Wt2>, [<Xn|SP>, #<imm>]!","Code":"","Alias":""},
+{"Name":"LDP","Bits":"10:2|1|0|1|0|0|1|1|1|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Pre-index 64-bit variant","Syntax":"LDP <Xt1>, <Xt2>, [<Xn|SP>, #<imm>]!","Code":"","Alias":""},
+{"Name":"LDP","Bits":"00:2|1|0|1|0|0|1|0|1|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Signed offset 32-bit variant","Syntax":"LDP <Wt1>, <Wt2>, [<Xn|SP>{, #<imm>}]","Code":"","Alias":""},
+{"Name":"LDP","Bits":"10:2|1|0|1|0|0|1|0|1|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Signed offset 64-bit variant","Syntax":"LDP <Xt1>, <Xt2>, [<Xn|SP>{, #<imm>}]","Code":"","Alias":""},
+{"Name":"LDPSW","Bits":"0|1|1|0|1|0|0|0|1|1|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Post-index Post-index variant","Syntax":"LDPSW <Xt1>, <Xt2>, [<Xn|SP>], #<imm>","Code":"","Alias":""},
+{"Name":"LDPSW","Bits":"0|1|1|0|1|0|0|1|1|1|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Pre-index Pre-index variant","Syntax":"LDPSW <Xt1>, <Xt2>, [<Xn|SP>, #<imm>]!","Code":"","Alias":""},
+{"Name":"LDPSW","Bits":"0|1|1|0|1|0|0|1|0|1|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Signed offset Signed offset variant","Syntax":"LDPSW <Xt1>, <Xt2>, [<Xn|SP>{, #<imm>}]","Code":"","Alias":""},
+{"Name":"LDR (immediate)","Bits":"10:2|1|1|1|0|0|0|0|1|0|imm9:9|0|1|Rn:5|Rt:5","Arch":"Post-index 32-bit variant","Syntax":"LDR <Wt>, [<Xn|SP>], #<simm>","Code":"","Alias":""},
+{"Name":"LDR (immediate)","Bits":"11:2|1|1|1|0|0|0|0|1|0|imm9:9|0|1|Rn:5|Rt:5","Arch":"Post-index 64-bit variant","Syntax":"LDR <Xt>, [<Xn|SP>], #<simm>","Code":"","Alias":""},
+{"Name":"LDR (immediate)","Bits":"10:2|1|1|1|0|0|0|0|1|0|imm9:9|1|1|Rn:5|Rt:5","Arch":"Pre-index 32-bit variant","Syntax":"LDR <Wt>, [<Xn|SP>, #<simm>]!","Code":"","Alias":""},
+{"Name":"LDR (immediate)","Bits":"11:2|1|1|1|0|0|0|0|1|0|imm9:9|1|1|Rn:5|Rt:5","Arch":"Pre-index 64-bit variant","Syntax":"LDR <Xt>, [<Xn|SP>, #<simm>]!","Code":"","Alias":""},
+{"Name":"LDR (immediate)","Bits":"10:2|1|1|1|0|0|1|0|1|imm12:12|Rn:5|Rt:5","Arch":"Unsigned offset 32-bit variant","Syntax":"LDR <Wt>, [<Xn|SP>{, #<pimm>}]","Code":"","Alias":""},
+{"Name":"LDR (immediate)","Bits":"11:2|1|1|1|0|0|1|0|1|imm12:12|Rn:5|Rt:5","Arch":"Unsigned offset 64-bit variant","Syntax":"LDR <Xt>, [<Xn|SP>{, #<pimm>}]","Code":"","Alias":""},
+{"Name":"LDR (literal)","Bits":"00:2|0|1|1|0|0|0|imm19:19|Rt:5","Arch":"32-bit variant","Syntax":"LDR <Wt>, <label>","Code":"","Alias":""},
+{"Name":"LDR (literal)","Bits":"01:2|0|1|1|0|0|0|imm19:19|Rt:5","Arch":"64-bit variant","Syntax":"LDR <Xt>, <label>","Code":"","Alias":""},
+{"Name":"LDR (register)","Bits":"10:2|1|1|1|0|0|0|0|1|1|Rm:5|option:3|S|1|0|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"LDR <Wt>, [<Xn|SP>, (<Wm>|<Xm>){, <extend> {<amount>}}]","Code":"","Alias":""},
+{"Name":"LDR (register)","Bits":"11:2|1|1|1|0|0|0|0|1|1|Rm:5|option:3|S|1|0|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"LDR <Xt>, [<Xn|SP>, (<Wm>|<Xm>){, <extend> {<amount>}}]","Code":"","Alias":""},
+{"Name":"LDRB (immediate)","Bits":"0|0|1|1|1|0|0|0|0|1|0|imm9:9|0|1|Rn:5|Rt:5","Arch":"Post-index Post-index variant","Syntax":"LDRB <Wt>, [<Xn|SP>], #<simm>","Code":"","Alias":""},
+{"Name":"LDRB (immediate)","Bits":"0|0|1|1|1|0|0|0|0|1|0|imm9:9|1|1|Rn:5|Rt:5","Arch":"Pre-index Pre-index variant","Syntax":"LDRB <Wt>, [<Xn|SP>, #<simm>]!","Code":"","Alias":""},
+{"Name":"LDRB (immediate)","Bits":"0|0|1|1|1|0|0|1|0|1|imm12:12|Rn:5|Rt:5","Arch":"Unsigned offset Unsigned offset variant","Syntax":"LDRB <Wt>, [<Xn|SP>{, #<pimm>}]","Code":"","Alias":""},
+{"Name":"LDRB (register)","Bits":"0|0|1|1|1|0|0|0|0|1|1|Rm:5|option:3|S|1|0|Rn:5|Rt:5","Arch":"Extended register variant","Syntax":"LDRB <Wt>, [<Xn|SP>, (<Wm>|<Xm>), <extend> {<amount>}]","Code":"","Alias":""},
+{"Name":"LDRB (register)","Bits":"0|0|1|1|1|0|0|0|0|1|1|Rm:5|011:3|S|1|0|Rn:5|Rt:5","Arch":"Shifted register variant","Syntax":"LDRB <Wt>, [<Xn|SP>, <Xm>{, LSL <amount>}]","Code":"","Alias":""},
+{"Name":"LDRH (immediate)","Bits":"0|1|1|1|1|0|0|0|0|1|0|imm9:9|0|1|Rn:5|Rt:5","Arch":"Post-index Post-index variant","Syntax":"LDRH <Wt>, [<Xn|SP>], #<simm>","Code":"","Alias":""},
+{"Name":"LDRH (immediate)","Bits":"0|1|1|1|1|0|0|0|0|1|0|imm9:9|1|1|Rn:5|Rt:5","Arch":"Pre-index Pre-index variant","Syntax":"LDRH <Wt>, [<Xn|SP>, #<simm>]!","Code":"","Alias":""},
+{"Name":"LDRH (immediate)","Bits":"0|1|1|1|1|0|0|1|0|1|imm12:12|Rn:5|Rt:5","Arch":"Unsigned offset Unsigned offset variant","Syntax":"LDRH <Wt>, [<Xn|SP>{, #<pimm>}]","Code":"","Alias":""},
+{"Name":"LDRH (register)","Bits":"0|1|1|1|1|0|0|0|0|1|1|Rm:5|option:3|S|1|0|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"LDRH <Wt>, [<Xn|SP>, (<Wm>|<Xm>){, <extend> {<amount>}}]","Code":"","Alias":""},
+{"Name":"LDRSB (immediate)","Bits":"0|0|1|1|1|0|0|0|11:2|0|imm9:9|0|1|Rn:5|Rt:5","Arch":"Post-index 32-bit variant","Syntax":"LDRSB <Wt>, [<Xn|SP>], #<simm>","Code":"","Alias":""},
+{"Name":"LDRSB (immediate)","Bits":"0|0|1|1|1|0|0|0|10:2|0|imm9:9|0|1|Rn:5|Rt:5","Arch":"Post-index 64-bit variant","Syntax":"LDRSB <Xt>, [<Xn|SP>], #<simm>","Code":"","Alias":""},
+{"Name":"LDRSB (immediate)","Bits":"0|0|1|1|1|0|0|0|11:2|0|imm9:9|1|1|Rn:5|Rt:5","Arch":"Pre-index 32-bit variant","Syntax":"LDRSB <Wt>, [<Xn|SP>, #<simm>]!","Code":"","Alias":""},
+{"Name":"LDRSB (immediate)","Bits":"0|0|1|1|1|0|0|0|10:2|0|imm9:9|1|1|Rn:5|Rt:5","Arch":"Pre-index 64-bit variant","Syntax":"LDRSB <Xt>, [<Xn|SP>, #<simm>]!","Code":"","Alias":""},
+{"Name":"LDRSB (immediate)","Bits":"0|0|1|1|1|0|0|1|11:2|imm12:12|Rn:5|Rt:5","Arch":"Unsigned offset 32-bit variant","Syntax":"LDRSB <Wt>, [<Xn|SP>{, #<pimm>}]","Code":"","Alias":""},
+{"Name":"LDRSB (immediate)","Bits":"0|0|1|1|1|0|0|1|10:2|imm12:12|Rn:5|Rt:5","Arch":"Unsigned offset 64-bit variant","Syntax":"LDRSB <Xt>, [<Xn|SP>{, #<pimm>}]","Code":"","Alias":""},
+{"Name":"LDRSB (register)","Bits":"0|0|1|1|1|0|0|0|11:2|1|Rm:5|option:3|S|1|0|Rn:5|Rt:5","Arch":"32-bit with extended register offset variant","Syntax":"LDRSB <Wt>, [<Xn|SP>, (<Wm>|<Xm>), <extend> {<amount>}]","Code":"","Alias":""},
+{"Name":"LDRSB (register)","Bits":"0|0|1|1|1|0|0|0|11:2|1|Rm:5|011:3|S|1|0|Rn:5|Rt:5","Arch":"32-bit with shifted register offset variant","Syntax":"LDRSB <Wt>, [<Xn|SP>, <Xm>{, LSL <amount>}]","Code":"","Alias":""},
+{"Name":"LDRSB (register)","Bits":"0|0|1|1|1|0|0|0|10:2|1|Rm:5|option:3|S|1|0|Rn:5|Rt:5","Arch":"64-bit with extended register offset variant","Syntax":"LDRSB <Xt>, [<Xn|SP>, (<Wm>|<Xm>), <extend> {<amount>}]","Code":"","Alias":""},
+{"Name":"LDRSB (register)","Bits":"0|0|1|1|1|0|0|0|10:2|1|Rm:5|011:3|S|1|0|Rn:5|Rt:5","Arch":"64-bit with shifted register offset variant","Syntax":"LDRSB <Xt>, [<Xn|SP>, <Xm>{, LSL <amount>}]","Code":"","Alias":""},
+{"Name":"LDRSH (immediate)","Bits":"0|1|1|1|1|0|0|0|11:2|0|imm9:9|0|1|Rn:5|Rt:5","Arch":"Post-index 32-bit variant","Syntax":"LDRSH <Wt>, [<Xn|SP>], #<simm>","Code":"","Alias":""},
+{"Name":"LDRSH (immediate)","Bits":"0|1|1|1|1|0|0|0|10:2|0|imm9:9|0|1|Rn:5|Rt:5","Arch":"Post-index 64-bit variant","Syntax":"LDRSH <Xt>, [<Xn|SP>], #<simm>","Code":"","Alias":""},
+{"Name":"LDRSH (immediate)","Bits":"0|1|1|1|1|0|0|0|11:2|0|imm9:9|1|1|Rn:5|Rt:5","Arch":"Pre-index 32-bit variant","Syntax":"LDRSH <Wt>, [<Xn|SP>, #<simm>]!","Code":"","Alias":""},
+{"Name":"LDRSH (immediate)","Bits":"0|1|1|1|1|0|0|0|10:2|0|imm9:9|1|1|Rn:5|Rt:5","Arch":"Pre-index 64-bit variant","Syntax":"LDRSH <Xt>, [<Xn|SP>, #<simm>]!","Code":"","Alias":""},
+{"Name":"LDRSH (immediate)","Bits":"0|1|1|1|1|0|0|1|11:2|imm12:12|Rn:5|Rt:5","Arch":"Unsigned offset 32-bit variant","Syntax":"LDRSH <Wt>, [<Xn|SP>{, #<pimm>}]","Code":"","Alias":""},
+{"Name":"LDRSH (immediate)","Bits":"0|1|1|1|1|0|0|1|10:2|imm12:12|Rn:5|Rt:5","Arch":"Unsigned offset 64-bit variant","Syntax":"LDRSH <Xt>, [<Xn|SP>{, #<pimm>}]","Code":"","Alias":""},
+{"Name":"LDRSH (register)","Bits":"0|1|1|1|1|0|0|0|11:2|1|Rm:5|option:3|S|1|0|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"LDRSH <Wt>, [<Xn|SP>, (<Wm>|<Xm>){, <extend> {<amount>}}]","Code":"","Alias":""},
+{"Name":"LDRSH (register)","Bits":"0|1|1|1|1|0|0|0|10:2|1|Rm:5|option:3|S|1|0|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"LDRSH <Xt>, [<Xn|SP>, (<Wm>|<Xm>){, <extend> {<amount>}}]","Code":"","Alias":""},
+{"Name":"LDRSW (immediate)","Bits":"1|0|1|1|1|0|0|0|1|0|0|imm9:9|0|1|Rn:5|Rt:5","Arch":"Post-index Post-index variant","Syntax":"LDRSW <Xt>, [<Xn|SP>], #<simm>","Code":"","Alias":""},
+{"Name":"LDRSW (immediate)","Bits":"1|0|1|1|1|0|0|0|1|0|0|imm9:9|1|1|Rn:5|Rt:5","Arch":"Pre-index Pre-index variant","Syntax":"LDRSW <Xt>, [<Xn|SP>, #<simm>]!","Code":"","Alias":""},
+{"Name":"LDRSW (immediate)","Bits":"1|0|1|1|1|0|0|1|1|0|imm12:12|Rn:5|Rt:5","Arch":"Unsigned offset Unsigned offset variant","Syntax":"LDRSW <Xt>, [<Xn|SP>{, #<pimm>}]","Code":"","Alias":""},
+{"Name":"LDRSW (literal)","Bits":"1|0|0|1|1|0|0|0|imm19:19|Rt:5","Arch":"Literal variant","Syntax":"LDRSW <Xt>, <label>","Code":"","Alias":""},
+{"Name":"LDRSW (register)","Bits":"1|0|1|1|1|0|0|0|1|0|1|Rm:5|option:3|S|1|0|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"LDRSW <Xt>, [<Xn|SP>, (<Wm>|<Xm>){, <extend> {<amount>}}]","Code":"","Alias":""},
+{"Name":"LDTR","Bits":"10:2|1|1|1|0|0|0|0|1|0|imm9:9|1|0|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"LDTR <Wt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"LDTR","Bits":"11:2|1|1|1|0|0|0|0|1|0|imm9:9|1|0|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"LDTR <Xt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"LDTRB","Bits":"0|0|1|1|1|0|0|0|0|1|0|imm9:9|1|0|Rn:5|Rt:5","Arch":"Unscaled offset variant","Syntax":"LDTRB <Wt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"LDTRH","Bits":"0|1|1|1|1|0|0|0|0|1|0|imm9:9|1|0|Rn:5|Rt:5","Arch":"Unscaled offset variant","Syntax":"LDTRH <Wt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"LDTRSB","Bits":"0|0|1|1|1|0|0|0|11:2|0|imm9:9|1|0|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"LDTRSB <Wt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"LDTRSB","Bits":"0|0|1|1|1|0|0|0|10:2|0|imm9:9|1|0|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"LDTRSB <Xt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"LDTRSH","Bits":"0|1|1|1|1|0|0|0|11:2|0|imm9:9|1|0|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"LDTRSH <Wt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"LDTRSH","Bits":"0|1|1|1|1|0|0|0|10:2|0|imm9:9|1|0|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"LDTRSH <Xt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"LDTRSW","Bits":"1|0|1|1|1|0|0|0|1|0|0|imm9:9|1|0|Rn:5|Rt:5","Arch":"Unscaled offset variant","Syntax":"LDTRSW <Xt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"LDUR","Bits":"10:2|1|1|1|0|0|0|0|1|0|imm9:9|0|0|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"LDUR <Wt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"LDUR","Bits":"11:2|1|1|1|0|0|0|0|1|0|imm9:9|0|0|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"LDUR <Xt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"LDURB","Bits":"0|0|1|1|1|0|0|0|0|1|0|imm9:9|0|0|Rn:5|Rt:5","Arch":"Unscaled offset variant","Syntax":"LDURB <Wt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"LDURH","Bits":"0|1|1|1|1|0|0|0|0|1|0|imm9:9|0|0|Rn:5|Rt:5","Arch":"Unscaled offset variant","Syntax":"LDURH <Wt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"LDURSB","Bits":"0|0|1|1|1|0|0|0|11:2|0|imm9:9|0|0|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"LDURSB <Wt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"LDURSB","Bits":"0|0|1|1|1|0|0|0|10:2|0|imm9:9|0|0|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"LDURSB <Xt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"LDURSH","Bits":"0|1|1|1|1|0|0|0|11:2|0|imm9:9|0|0|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"LDURSH <Wt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"LDURSH","Bits":"0|1|1|1|1|0|0|0|10:2|0|imm9:9|0|0|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"LDURSH <Xt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"LDURSW","Bits":"1|0|1|1|1|0|0|0|1|0|0|imm9:9|0|0|Rn:5|Rt:5","Arch":"Unscaled offset variant","Syntax":"LDURSW <Xt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"LDXP","Bits":"1|0|0|0|1|0|0|0|0|1|1|(1)|(1)|(1)|(1)|(1)|0|Rt2:5|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"LDXP <Wt1>, <Wt2>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"LDXP","Bits":"1|1|0|0|1|0|0|0|0|1|1|(1)|(1)|(1)|(1)|(1)|0|Rt2:5|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"LDXP <Xt1>, <Xt2>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"LDXR","Bits":"10:2|0|0|1|0|0|0|0|1|0|(1)|(1)|(1)|(1)|(1)|0|(1)|(1)|(1)|(1)|(1)|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"LDXR <Wt>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"LDXR","Bits":"11:2|0|0|1|0|0|0|0|1|0|(1)|(1)|(1)|(1)|(1)|0|(1)|(1)|(1)|(1)|(1)|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"LDXR <Xt>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"LDXRB","Bits":"0|0|0|0|1|0|0|0|0|1|0|(1)|(1)|(1)|(1)|(1)|0|(1)|(1)|(1)|(1)|(1)|Rn:5|Rt:5","Arch":"No offset variant","Syntax":"LDXRB <Wt>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"LDXRH","Bits":"0|1|0|0|1|0|0|0|0|1|0|(1)|(1)|(1)|(1)|(1)|0|(1)|(1)|(1)|(1)|(1)|Rn:5|Rt:5","Arch":"No offset variant","Syntax":"LDXRH <Wt>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"LSL (register)","Bits":"0|0|0|1|1|0|1|0|1|1|0|Rm:5|0|0|1|0|0|0|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"LSL <Wd>, <Wn>, <Wm>","Code":"","Alias":"This instruction is an alias of the LSLV instruction."},
+{"Name":"LSL (register)","Bits":"1|0|0|1|1|0|1|0|1|1|0|Rm:5|0|0|1|0|0|0|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"LSL <Xd>, <Xn>, <Xm>","Code":"","Alias":"This instruction is an alias of the LSLV instruction."},
+{"Name":"LSL (immediate)","Bits":"0|1|0|1|0|0|1|1|0|0|immr:6|imms:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"LSL <Wd>, <Wn>, #<shift>","Code":"","Alias":"This instruction is an alias of the UBFM instruction."},
+{"Name":"LSL (immediate)","Bits":"1|1|0|1|0|0|1|1|0|1|immr:6|imms:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"LSL <Xd>, <Xn>, #<shift>","Code":"","Alias":"This instruction is an alias of the UBFM instruction."},
+{"Name":"LSLV","Bits":"0|0|0|1|1|0|1|0|1|1|0|Rm:5|0|0|1|0|0|0|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"LSLV <Wd>, <Wn>, <Wm>","Code":"","Alias":"This instruction is used by the alias LSL (register)."},
+{"Name":"LSLV","Bits":"1|0|0|1|1|0|1|0|1|1|0|Rm:5|0|0|1|0|0|0|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"LSLV <Xd>, <Xn>, <Xm>","Code":"","Alias":"This instruction is used by the alias LSL (register)."},
+{"Name":"LSR (register)","Bits":"0|0|0|1|1|0|1|0|1|1|0|Rm:5|0|0|1|0|0|1|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"LSR <Wd>, <Wn>, <Wm>","Code":"","Alias":"This instruction is an alias of the LSRV instruction."},
+{"Name":"LSR (register)","Bits":"1|0|0|1|1|0|1|0|1|1|0|Rm:5|0|0|1|0|0|1|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"LSR <Xd>, <Xn>, <Xm>","Code":"","Alias":"This instruction is an alias of the LSRV instruction."},
+{"Name":"LSR (immediate)","Bits":"0|1|0|1|0|0|1|1|0|0|immr:6|011111:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"LSR <Wd>, <Wn>, #<shift>","Code":"","Alias":"This instruction is an alias of the UBFM instruction."},
+{"Name":"LSR (immediate)","Bits":"1|1|0|1|0|0|1|1|0|1|immr:6|111111:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"LSR <Xd>, <Xn>, #<shift>","Code":"","Alias":"This instruction is an alias of the UBFM instruction."},
+{"Name":"LSRV","Bits":"0|0|0|1|1|0|1|0|1|1|0|Rm:5|0|0|1|0|0|1|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"LSRV <Wd>, <Wn>, <Wm>","Code":"","Alias":"This instruction is used by the alias LSR (register)."},
+{"Name":"LSRV","Bits":"1|0|0|1|1|0|1|0|1|1|0|Rm:5|0|0|1|0|0|1|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"LSRV <Xd>, <Xn>, <Xm>","Code":"","Alias":"This instruction is used by the alias LSR (register)."},
+{"Name":"MADD","Bits":"0|0|0|1|1|0|1|1|0|0|0|Rm:5|0|Ra:5|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"MADD <Wd>, <Wn>, <Wm>, <Wa>","Code":"","Alias":"This instruction is used by the alias MUL."},
+{"Name":"MADD","Bits":"1|0|0|1|1|0|1|1|0|0|0|Rm:5|0|Ra:5|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"MADD <Xd>, <Xn>, <Xm>, <Xa>","Code":"","Alias":"This instruction is used by the alias MUL."},
+{"Name":"MNEG","Bits":"0|0|0|1|1|0|1|1|0|0|0|Rm:5|1|1|1|1|1|1|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"MNEG <Wd>, <Wn>, <Wm>","Code":"","Alias":"This instruction is an alias of the MSUB instruction."},
+{"Name":"MNEG","Bits":"1|0|0|1|1|0|1|1|0|0|0|Rm:5|1|1|1|1|1|1|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"MNEG <Xd>, <Xn>, <Xm>","Code":"","Alias":"This instruction is an alias of the MSUB instruction."},
+{"Name":"MOV (to/from SP)","Bits":"0|0|0|1|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"MOV <Wd|WSP>, <Wn|WSP>","Code":"","Alias":"This instruction is an alias of the ADD (immediate) instruction."},
+{"Name":"MOV (to/from SP)","Bits":"1|0|0|1|0|0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"MOV <Xd|SP>, <Xn|SP>","Code":"","Alias":"This instruction is an alias of the ADD (immediate) instruction."},
+{"Name":"MOV (inverted wide immediate)","Bits":"0|0|0|1|0|0|1|0|1|hw:2|imm16:16|Rd:5","Arch":"32-bit variant","Syntax":"MOV <Wd>, #<imm>","Code":"","Alias":"This instruction is an alias of the MOVN instruction."},
+{"Name":"MOV (inverted wide immediate)","Bits":"1|0|0|1|0|0|1|0|1|hw:2|imm16:16|Rd:5","Arch":"64-bit variant","Syntax":"MOV <Xd>, #<imm>","Code":"","Alias":"This instruction is an alias of the MOVN instruction."},
+{"Name":"MOV (wide immediate)","Bits":"0|1|0|1|0|0|1|0|1|hw:2|imm16:16|Rd:5","Arch":"32-bit variant","Syntax":"MOV <Wd>, #<imm>","Code":"","Alias":"This instruction is an alias of the MOVZ instruction."},
+{"Name":"MOV (wide immediate)","Bits":"1|1|0|1|0|0|1|0|1|hw:2|imm16:16|Rd:5","Arch":"64-bit variant","Syntax":"MOV <Xd>, #<imm>","Code":"","Alias":"This instruction is an alias of the MOVZ instruction."},
+{"Name":"MOV (bitmask immediate)","Bits":"0|0|1|1|0|0|1|0|0|0|immr:6|imms:6|1|1|1|1|1|Rd:5","Arch":"32-bit variant","Syntax":"MOV <Wd|WSP>, #<imm>","Code":"","Alias":"This instruction is an alias of the ORR (immediate) instruction."},
+{"Name":"MOV (bitmask immediate)","Bits":"1|0|1|1|0|0|1|0|0|N|immr:6|imms:6|1|1|1|1|1|Rd:5","Arch":"64-bit variant","Syntax":"MOV <Xd|SP>, #<imm>","Code":"","Alias":"This instruction is an alias of the ORR (immediate) instruction."},
+{"Name":"MOV (register)","Bits":"0|0|1|0|1|0|1|0|0|0|0|Rm:5|0|0|0|0|0|0|1|1|1|1|1|Rd:5","Arch":"32-bit variant","Syntax":"MOV <Wd>, <Wm>","Code":"","Alias":"This instruction is an alias of the ORR (shifted register) instruction."},
+{"Name":"MOV (register)","Bits":"1|0|1|0|1|0|1|0|0|0|0|Rm:5|0|0|0|0|0|0|1|1|1|1|1|Rd:5","Arch":"64-bit variant","Syntax":"MOV <Xd>, <Xm>","Code":"","Alias":"This instruction is an alias of the ORR (shifted register) instruction."},
+{"Name":"MOVK","Bits":"0|1|1|1|0|0|1|0|1|hw:2|imm16:16|Rd:5","Arch":"32-bit variant","Syntax":"MOVK <Wd>, #<imm>{, LSL #<shift>}","Code":"","Alias":""},
+{"Name":"MOVK","Bits":"1|1|1|1|0|0|1|0|1|hw:2|imm16:16|Rd:5","Arch":"64-bit variant","Syntax":"MOVK <Xd>, #<imm>{, LSL #<shift>}","Code":"","Alias":""},
+{"Name":"MOVN","Bits":"0|0|0|1|0|0|1|0|1|hw:2|imm16:16|Rd:5","Arch":"32-bit variant","Syntax":"MOVN <Wd>, #<imm>{, LSL #<shift>}","Code":"","Alias":"This instruction is used by the alias MOV (inverted wide immediate)."},
+{"Name":"MOVN","Bits":"1|0|0|1|0|0|1|0|1|hw:2|imm16:16|Rd:5","Arch":"64-bit variant","Syntax":"MOVN <Xd>, #<imm>{, LSL #<shift>}","Code":"","Alias":"This instruction is used by the alias MOV (inverted wide immediate)."},
+{"Name":"MOVZ","Bits":"0|1|0|1|0|0|1|0|1|hw:2|imm16:16|Rd:5","Arch":"32-bit variant","Syntax":"MOVZ <Wd>, #<imm>{, LSL #<shift>}","Code":"","Alias":"This instruction is used by the alias MOV (wide immediate)."},
+{"Name":"MOVZ","Bits":"1|1|0|1|0|0|1|0|1|hw:2|imm16:16|Rd:5","Arch":"64-bit variant","Syntax":"MOVZ <Xd>, #<imm>{, LSL #<shift>}","Code":"","Alias":"This instruction is used by the alias MOV (wide immediate)."},
+{"Name":"MRS","Bits":"1|1|0|1|0|1|0|1|0|0|1|1|o0|op1:3|CRn:4|CRm:4|op2:3|Rt:5","Arch":"System variant","Syntax":"MRS <Xt>, (<systemreg>|S<op0>_<op1>_<Cn>_<Cm>_<op2>)","Code":"","Alias":""},
+{"Name":"MSR (immediate)","Bits":"1|1|0|1|0|1|0|1|0|0|0|0|0|op1:3|0|1|0|0|CRm:4|op2:3|1|1|1|1|1","Arch":"System variant","Syntax":"MSR <pstatefield>, #<imm>","Code":"","Alias":""},
+{"Name":"MSR (register)","Bits":"1|1|0|1|0|1|0|1|0|0|0|1|o0|op1:3|CRn:4|CRm:4|op2:3|Rt:5","Arch":"System variant","Syntax":"MSR (<systemreg>|S<op0>_<op1>_<Cn>_<Cm>_<op2>), <Xt>","Code":"","Alias":""},
+{"Name":"MSUB","Bits":"0|0|0|1|1|0|1|1|0|0|0|Rm:5|1|Ra:5|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"MSUB <Wd>, <Wn>, <Wm>, <Wa>","Code":"","Alias":"This instruction is used by the alias MNEG."},
+{"Name":"MSUB","Bits":"1|0|0|1|1|0|1|1|0|0|0|Rm:5|1|Ra:5|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"MSUB <Xd>, <Xn>, <Xm>, <Xa>","Code":"","Alias":"This instruction is used by the alias MNEG."},
+{"Name":"MUL","Bits":"0|0|0|1|1|0|1|1|0|0|0|Rm:5|0|1|1|1|1|1|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"MUL <Wd>, <Wn>, <Wm>","Code":"","Alias":"This instruction is an alias of the MADD instruction."},
+{"Name":"MUL","Bits":"1|0|0|1|1|0|1|1|0|0|0|Rm:5|0|1|1|1|1|1|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"MUL <Xd>, <Xn>, <Xm>","Code":"","Alias":"This instruction is an alias of the MADD instruction."},
+{"Name":"MVN","Bits":"0|0|1|0|1|0|1|0|shift:2|1|Rm:5|imm6:6|1|1|1|1|1|Rd:5","Arch":"32-bit variant","Syntax":"MVN <Wd>, <Wm>{, <shift> #<amount>}","Code":"","Alias":"This instruction is an alias of the ORN (shifted register) instruction."},
+{"Name":"MVN","Bits":"1|0|1|0|1|0|1|0|shift:2|1|Rm:5|imm6:6|1|1|1|1|1|Rd:5","Arch":"64-bit variant","Syntax":"MVN <Xd>, <Xm>{, <shift> #<amount>}","Code":"","Alias":"This instruction is an alias of the ORN (shifted register) instruction."},
+{"Name":"NEG (shifted register)","Bits":"0|1|0|0|1|0|1|1|shift:2|0|Rm:5|imm6:6|1|1|1|1|1|Rd:5","Arch":"32-bit variant","Syntax":"NEG <Wd>, <Wm>{, <shift> #<amount>}","Code":"","Alias":"This instruction is an alias of the SUB (shifted register) instruction."},
+{"Name":"NEG (shifted register)","Bits":"1|1|0|0|1|0|1|1|shift:2|0|Rm:5|imm6:6|1|1|1|1|1|Rd:5","Arch":"64-bit variant","Syntax":"NEG <Xd>, <Xm>{, <shift> #<amount>}","Code":"","Alias":"This instruction is an alias of the SUB (shifted register) instruction."},
+{"Name":"NEGS","Bits":"0|1|1|0|1|0|1|1|shift:2|0|Rm:5|imm6:6|1|1|1|1|1|Rd:5","Arch":"32-bit variant","Syntax":"NEGS <Wd>, <Wm>{, <shift> #<amount>}","Code":"","Alias":"This instruction is an alias of the SUBS (shifted register) instruction."},
+{"Name":"NEGS","Bits":"1|1|1|0|1|0|1|1|shift:2|0|Rm:5|imm6:6|1|1|1|1|1|Rd:5","Arch":"64-bit variant","Syntax":"NEGS <Xd>, <Xm>{, <shift> #<amount>}","Code":"","Alias":"This instruction is an alias of the SUBS (shifted register) instruction."},
+{"Name":"NGC","Bits":"0|1|0|1|1|0|1|0|0|0|0|Rm:5|0|0|0|0|0|0|1|1|1|1|1|Rd:5","Arch":"32-bit variant","Syntax":"NGC <Wd>, <Wm>","Code":"","Alias":"This instruction is an alias of the SBC instruction."},
+{"Name":"NGC","Bits":"1|1|0|1|1|0|1|0|0|0|0|Rm:5|0|0|0|0|0|0|1|1|1|1|1|Rd:5","Arch":"64-bit variant","Syntax":"NGC <Xd>, <Xm>","Code":"","Alias":"This instruction is an alias of the SBC instruction."},
+{"Name":"NGCS","Bits":"0|1|1|1|1|0|1|0|0|0|0|Rm:5|0|0|0|0|0|0|1|1|1|1|1|Rd:5","Arch":"32-bit variant","Syntax":"NGCS <Wd>, <Wm>","Code":"","Alias":"This instruction is an alias of the SBCS instruction."},
+{"Name":"NGCS","Bits":"1|1|1|1|1|0|1|0|0|0|0|Rm:5|0|0|0|0|0|0|1|1|1|1|1|Rd:5","Arch":"64-bit variant","Syntax":"NGCS <Xd>, <Xm>","Code":"","Alias":"This instruction is an alias of the SBCS instruction."},
+{"Name":"NOP","Bits":"1|1|0|1|0|1|0|1|0|0|0|0|0|0|1|1|0|0|1|0|0|0|0|0|0|0|0|1|1|1|1|1","Arch":"System variant","Syntax":"NOP","Code":"","Alias":""},
+{"Name":"ORN (shifted register)","Bits":"0|0|1|0|1|0|1|0|shift:2|1|Rm:5|imm6:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"ORN <Wd>, <Wn>, <Wm>{, <shift> #<amount>}","Code":"","Alias":"This instruction is used by the alias MVN."},
+{"Name":"ORN (shifted register)","Bits":"1|0|1|0|1|0|1|0|shift:2|1|Rm:5|imm6:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"ORN <Xd>, <Xn>, <Xm>{, <shift> #<amount>}","Code":"","Alias":"This instruction is used by the alias MVN."},
+{"Name":"ORR (immediate)","Bits":"0|0|1|1|0|0|1|0|0|0|immr:6|imms:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"ORR <Wd|WSP>, <Wn>, #<imm>","Code":"","Alias":"This instruction is used by the alias MOV (bitmask immediate)."},
+{"Name":"ORR (immediate)","Bits":"1|0|1|1|0|0|1|0|0|N|immr:6|imms:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"ORR <Xd|SP>, <Xn>, #<imm>","Code":"","Alias":"This instruction is used by the alias MOV (bitmask immediate)."},
+{"Name":"ORR (shifted register)","Bits":"0|0|1|0|1|0|1|0|shift:2|0|Rm:5|imm6:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"ORR <Wd>, <Wn>, <Wm>{, <shift> #<amount>}","Code":"","Alias":"This instruction is used by the alias MOV (register)."},
+{"Name":"ORR (shifted register)","Bits":"1|0|1|0|1|0|1|0|shift:2|0|Rm:5|imm6:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"ORR <Xd>, <Xn>, <Xm>{, <shift> #<amount>}","Code":"","Alias":"This instruction is used by the alias MOV (register)."},
+{"Name":"PRFM (immediate)","Bits":"1|1|1|1|1|0|0|1|1|0|imm12:12|Rn:5|Rt:5","Arch":"Unsigned offset variant","Syntax":"PRFM (<prfop>|#<imm5>), [<Xn|SP>{, #<pimm>}]","Code":"","Alias":""},
+{"Name":"PRFM (literal)","Bits":"1|1|0|1|1|0|0|0|imm19:19|Rt:5","Arch":"Literal variant","Syntax":"PRFM (<prfop>|#<imm5>), <label>","Code":"","Alias":""},
+{"Name":"PRFM (register)","Bits":"1|1|1|1|1|0|0|0|1|0|1|Rm:5|option:3|S|1|0|Rn:5|Rt:5","Arch":"Integer variant","Syntax":"PRFM (<prfop>|#<imm5>), [<Xn|SP>, (<Wm>|<Xm>){, <extend> {<amount>}}]","Code":"","Alias":""},
+{"Name":"PRFM (unscaled offset)","Bits":"1|1|1|1|1|0|0|0|1|0|0|imm9:9|0|0|Rn:5|Rt:5","Arch":"Unscaled offset variant","Syntax":"PRFUM (<prfop>|#<imm5>), [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"RBIT","Bits":"0|1|0|1|1|0|1|0|1|1|0|0|0|0|0|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"RBIT <Wd>, <Wn>","Code":"","Alias":""},
+{"Name":"RBIT","Bits":"1|1|0|1|1|0|1|0|1|1|0|0|0|0|0|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"RBIT <Xd>, <Xn>","Code":"","Alias":""},
+{"Name":"RET","Bits":"1|1|0|1|0|1|1|0|0|1|0|1|1|1|1|1|0|0|0|0|0|0|Rn:5|0|0|0|0|0","Arch":"Integer variant","Syntax":"RET {<Xn>}","Code":"","Alias":""},
+{"Name":"REV","Bits":"0|1|0|1|1|0|1|0|1|1|0|0|0|0|0|0|0|0|0|0|10:2|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"REV <Wd>, <Wn>","Code":"","Alias":""},
+{"Name":"REV","Bits":"1|1|0|1|1|0|1|0|1|1|0|0|0|0|0|0|0|0|0|0|11:2|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"REV <Xd>, <Xn>","Code":"","Alias":""},
+{"Name":"REV16","Bits":"0|1|0|1|1|0|1|0|1|1|0|0|0|0|0|0|0|0|0|0|0|1|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"REV16 <Wd>, <Wn>","Code":"","Alias":""},
+{"Name":"REV16","Bits":"1|1|0|1|1|0|1|0|1|1|0|0|0|0|0|0|0|0|0|0|0|1|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"REV16 <Xd>, <Xn>","Code":"","Alias":""},
+{"Name":"REV32","Bits":"1|1|0|1|1|0|1|0|1|1|0|0|0|0|0|0|0|0|0|0|1|0|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"REV32 <Xd>, <Xn>","Code":"","Alias":""},
+{"Name":"REV64","Bits":"1|1|0|1|1|0|1|0|1|1|0|0|0|0|0|0|0|0|0|0|1|1|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"REV64 <Xd>, <Xn>","Code":"","Alias":""},
+{"Name":"ROR (immediate)","Bits":"0|0|0|1|0|0|1|1|1|0|0|Rm:5|imms:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"ROR <Wd>, <Ws>, #<shift>","Code":"","Alias":"This instruction is an alias of the EXTR instruction."},
+{"Name":"ROR (immediate)","Bits":"1|0|0|1|0|0|1|1|1|1|0|Rm:5|imms:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"ROR <Xd>, <Xs>, #<shift>","Code":"","Alias":"This instruction is an alias of the EXTR instruction."},
+{"Name":"ROR (register)","Bits":"0|0|0|1|1|0|1|0|1|1|0|Rm:5|0|0|1|0|1|1|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"ROR <Wd>, <Wn>, <Wm>","Code":"","Alias":"This instruction is an alias of the RORV instruction."},
+{"Name":"ROR (register)","Bits":"1|0|0|1|1|0|1|0|1|1|0|Rm:5|0|0|1|0|1|1|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"ROR <Xd>, <Xn>, <Xm>","Code":"","Alias":"This instruction is an alias of the RORV instruction."},
+{"Name":"RORV","Bits":"0|0|0|1|1|0|1|0|1|1|0|Rm:5|0|0|1|0|1|1|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"RORV <Wd>, <Wn>, <Wm>","Code":"","Alias":"This instruction is used by the alias ROR (register)."},
+{"Name":"RORV","Bits":"1|0|0|1|1|0|1|0|1|1|0|Rm:5|0|0|1|0|1|1|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"RORV <Xd>, <Xn>, <Xm>","Code":"","Alias":"This instruction is used by the alias ROR (register)."},
+{"Name":"SBC","Bits":"0|1|0|1|1|0|1|0|0|0|0|Rm:5|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"SBC <Wd>, <Wn>, <Wm>","Code":"","Alias":"This instruction is used by the alias NGC."},
+{"Name":"SBC","Bits":"1|1|0|1|1|0|1|0|0|0|0|Rm:5|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"SBC <Xd>, <Xn>, <Xm>","Code":"","Alias":"This instruction is used by the alias NGC."},
+{"Name":"SBCS","Bits":"0|1|1|1|1|0|1|0|0|0|0|Rm:5|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"SBCS <Wd>, <Wn>, <Wm>","Code":"","Alias":"This instruction is used by the alias NGCS."},
+{"Name":"SBCS","Bits":"1|1|1|1|1|0|1|0|0|0|0|Rm:5|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"SBCS <Xd>, <Xn>, <Xm>","Code":"","Alias":"This instruction is used by the alias NGCS."},
+{"Name":"SBFIZ","Bits":"0|0|0|1|0|0|1|1|0|0|immr:6|imms:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"SBFIZ <Wd>, <Wn>, #<lsb>, #<width>","Code":"","Alias":"This instruction is an alias of the SBFM instruction."},
+{"Name":"SBFIZ","Bits":"1|0|0|1|0|0|1|1|0|1|immr:6|imms:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"SBFIZ <Xd>, <Xn>, #<lsb>, #<width>","Code":"","Alias":"This instruction is an alias of the SBFM instruction."},
+{"Name":"SBFM","Bits":"0|0|0|1|0|0|1|1|0|0|immr:6|imms:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"SBFM <Wd>, <Wn>, #<immr>, #<imms>","Code":"","Alias":"This instruction is used by the aliases ASR (immediate), SBFIZ, SBFX, SXTB, SXTH, and SXTW."},
+{"Name":"SBFM","Bits":"1|0|0|1|0|0|1|1|0|1|immr:6|imms:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"SBFM <Xd>, <Xn>, #<immr>, #<imms>","Code":"","Alias":"This instruction is used by the aliases ASR (immediate), SBFIZ, SBFX, SXTB, SXTH, and SXTW."},
+{"Name":"SBFX","Bits":"0|0|0|1|0|0|1|1|0|0|immr:6|imms:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"SBFX <Wd>, <Wn>, #<lsb>, #<width>","Code":"","Alias":"This instruction is an alias of the SBFM instruction."},
+{"Name":"SBFX","Bits":"1|0|0|1|0|0|1|1|0|1|immr:6|imms:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"SBFX <Xd>, <Xn>, #<lsb>, #<width>","Code":"","Alias":"This instruction is an alias of the SBFM instruction."},
+{"Name":"SDIV","Bits":"0|0|0|1|1|0|1|0|1|1|0|Rm:5|0|0|0|0|1|1|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"SDIV <Wd>, <Wn>, <Wm>","Code":"","Alias":""},
+{"Name":"SDIV","Bits":"1|0|0|1|1|0|1|0|1|1|0|Rm:5|0|0|0|0|1|1|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"SDIV <Xd>, <Xn>, <Xm>","Code":"","Alias":""},
+{"Name":"SEV","Bits":"1|1|0|1|0|1|0|1|0|0|0|0|0|0|1|1|0|0|1|0|0|0|0|0|1|0|0|1|1|1|1|1","Arch":"System variant","Syntax":"SEV","Code":"","Alias":""},
+{"Name":"SEVL","Bits":"1|1|0|1|0|1|0|1|0|0|0|0|0|0|1|1|0|0|1|0|0|0|0|0|1|0|1|1|1|1|1|1","Arch":"System variant","Syntax":"SEVL","Code":"","Alias":""},
+{"Name":"SMADDL","Bits":"1|0|0|1|1|0|1|1|0|0|1|Rm:5|0|Ra:5|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"SMADDL <Xd>, <Wn>, <Wm>, <Xa>","Code":"","Alias":"This instruction is used by the alias SMULL."},
+{"Name":"SMC","Bits":"1|1|0|1|0|1|0|0|0|0|0|imm16:16|0|0|0|1|1","Arch":"System variant","Syntax":"SMC #<imm>","Code":"","Alias":""},
+{"Name":"SMNEGL","Bits":"1|0|0|1|1|0|1|1|0|0|1|Rm:5|1|1|1|1|1|1|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"SMNEGL <Xd>, <Wn>, <Wm>","Code":"","Alias":"This instruction is an alias of the SMSUBL instruction."},
+{"Name":"SMSUBL","Bits":"1|0|0|1|1|0|1|1|0|0|1|Rm:5|1|Ra:5|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"SMSUBL <Xd>, <Wn>, <Wm>, <Xa>","Code":"","Alias":"This instruction is used by the alias SMNEGL."},
+{"Name":"SMULH","Bits":"1|0|0|1|1|0|1|1|0|1|0|Rm:5|0|(1)|(1)|(1)|(1)|(1)|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"SMULH <Xd>, <Xn>, <Xm>","Code":"","Alias":""},
+{"Name":"SMULL","Bits":"1|0|0|1|1|0|1|1|0|0|1|Rm:5|0|1|1|1|1|1|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"SMULL <Xd>, <Wn>, <Wm>","Code":"","Alias":"This instruction is an alias of the SMADDL instruction."},
+{"Name":"STLR","Bits":"10:2|0|0|1|0|0|0|1|0|0|(1)|(1)|(1)|(1)|(1)|1|(1)|(1)|(1)|(1)|(1)|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"STLR <Wt>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"STLR","Bits":"11:2|0|0|1|0|0|0|1|0|0|(1)|(1)|(1)|(1)|(1)|1|(1)|(1)|(1)|(1)|(1)|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"STLR <Xt>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"STLRB","Bits":"0|0|0|0|1|0|0|0|1|0|0|(1)|(1)|(1)|(1)|(1)|1|(1)|(1)|(1)|(1)|(1)|Rn:5|Rt:5","Arch":"No offset variant","Syntax":"STLRB <Wt>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"STLRH","Bits":"0|1|0|0|1|0|0|0|1|0|0|(1)|(1)|(1)|(1)|(1)|1|(1)|(1)|(1)|(1)|(1)|Rn:5|Rt:5","Arch":"No offset variant","Syntax":"STLRH <Wt>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"STLXP","Bits":"1|0|0|0|1|0|0|0|0|0|1|Rs:5|1|Rt2:5|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"STLXP <Ws>, <Wt1>, <Wt2>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"STLXP","Bits":"1|1|0|0|1|0|0|0|0|0|1|Rs:5|1|Rt2:5|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"STLXP <Ws>, <Xt1>, <Xt2>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"STLXR","Bits":"10:2|0|0|1|0|0|0|0|0|0|Rs:5|1|(1)|(1)|(1)|(1)|(1)|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"STLXR <Ws>, <Wt>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"STLXR","Bits":"11:2|0|0|1|0|0|0|0|0|0|Rs:5|1|(1)|(1)|(1)|(1)|(1)|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"STLXR <Ws>, <Xt>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"STLXRB","Bits":"0|0|0|0|1|0|0|0|0|0|0|Rs:5|1|(1)|(1)|(1)|(1)|(1)|Rn:5|Rt:5","Arch":"No offset variant","Syntax":"STLXRB <Ws>, <Wt>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"STLXRH","Bits":"0|1|0|0|1|0|0|0|0|0|0|Rs:5|1|(1)|(1)|(1)|(1)|(1)|Rn:5|Rt:5","Arch":"No offset variant","Syntax":"STLXRH <Ws>, <Wt>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"STNP","Bits":"00:2|1|0|1|0|0|0|0|0|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"STNP <Wt1>, <Wt2>, [<Xn|SP>{, #<imm>}]","Code":"","Alias":""},
+{"Name":"STNP","Bits":"10:2|1|0|1|0|0|0|0|0|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"STNP <Xt1>, <Xt2>, [<Xn|SP>{, #<imm>}]","Code":"","Alias":""},
+{"Name":"STP","Bits":"00:2|1|0|1|0|0|0|1|0|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Post-index 32-bit variant","Syntax":"STP <Wt1>, <Wt2>, [<Xn|SP>], #<imm>","Code":"","Alias":""},
+{"Name":"STP","Bits":"10:2|1|0|1|0|0|0|1|0|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Post-index 64-bit variant","Syntax":"STP <Xt1>, <Xt2>, [<Xn|SP>], #<imm>","Code":"","Alias":""},
+{"Name":"STP","Bits":"00:2|1|0|1|0|0|1|1|0|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Pre-index 32-bit variant","Syntax":"STP <Wt1>, <Wt2>, [<Xn|SP>, #<imm>]!","Code":"","Alias":""},
+{"Name":"STP","Bits":"10:2|1|0|1|0|0|1|1|0|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Pre-index 64-bit variant","Syntax":"STP <Xt1>, <Xt2>, [<Xn|SP>, #<imm>]!","Code":"","Alias":""},
+{"Name":"STP","Bits":"00:2|1|0|1|0|0|1|0|0|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Signed offset 32-bit variant","Syntax":"STP <Wt1>, <Wt2>, [<Xn|SP>{, #<imm>}]","Code":"","Alias":""},
+{"Name":"STP","Bits":"10:2|1|0|1|0|0|1|0|0|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Signed offset 64-bit variant","Syntax":"STP <Xt1>, <Xt2>, [<Xn|SP>{, #<imm>}]","Code":"","Alias":""},
+{"Name":"STR (immediate)","Bits":"10:2|1|1|1|0|0|0|0|0|0|imm9:9|0|1|Rn:5|Rt:5","Arch":"Post-index 32-bit variant","Syntax":"STR <Wt>, [<Xn|SP>], #<simm>","Code":"","Alias":""},
+{"Name":"STR (immediate)","Bits":"11:2|1|1|1|0|0|0|0|0|0|imm9:9|0|1|Rn:5|Rt:5","Arch":"Post-index 64-bit variant","Syntax":"STR <Xt>, [<Xn|SP>], #<simm>","Code":"","Alias":""},
+{"Name":"STR (immediate)","Bits":"10:2|1|1|1|0|0|0|0|0|0|imm9:9|1|1|Rn:5|Rt:5","Arch":"Pre-index 32-bit variant","Syntax":"STR <Wt>, [<Xn|SP>, #<simm>]!","Code":"","Alias":""},
+{"Name":"STR (immediate)","Bits":"11:2|1|1|1|0|0|0|0|0|0|imm9:9|1|1|Rn:5|Rt:5","Arch":"Pre-index 64-bit variant","Syntax":"STR <Xt>, [<Xn|SP>, #<simm>]!","Code":"","Alias":""},
+{"Name":"STR (immediate)","Bits":"10:2|1|1|1|0|0|1|0|0|imm12:12|Rn:5|Rt:5","Arch":"Unsigned offset 32-bit variant","Syntax":"STR <Wt>, [<Xn|SP>{, #<pimm>}]","Code":"","Alias":""},
+{"Name":"STR (immediate)","Bits":"11:2|1|1|1|0|0|1|0|0|imm12:12|Rn:5|Rt:5","Arch":"Unsigned offset 64-bit variant","Syntax":"STR <Xt>, [<Xn|SP>{, #<pimm>}]","Code":"","Alias":""},
+{"Name":"STR (register)","Bits":"10:2|1|1|1|0|0|0|0|0|1|Rm:5|option:3|S|1|0|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"STR <Wt>, [<Xn|SP>, (<Wm>|<Xm>){, <extend> {<amount>}}]","Code":"","Alias":""},
+{"Name":"STR (register)","Bits":"11:2|1|1|1|0|0|0|0|0|1|Rm:5|option:3|S|1|0|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"STR <Xt>, [<Xn|SP>, (<Wm>|<Xm>){, <extend> {<amount>}}]","Code":"","Alias":""},
+{"Name":"STRB (immediate)","Bits":"0|0|1|1|1|0|0|0|0|0|0|imm9:9|0|1|Rn:5|Rt:5","Arch":"Post-index Post-index variant","Syntax":"STRB <Wt>, [<Xn|SP>], #<simm>","Code":"","Alias":""},
+{"Name":"STRB (immediate)","Bits":"0|0|1|1|1|0|0|0|0|0|0|imm9:9|1|1|Rn:5|Rt:5","Arch":"Pre-index Pre-index variant","Syntax":"STRB <Wt>, [<Xn|SP>, #<simm>]!","Code":"","Alias":""},
+{"Name":"STRB (immediate)","Bits":"0|0|1|1|1|0|0|1|0|0|imm12:12|Rn:5|Rt:5","Arch":"Unsigned offset Unsigned offset variant","Syntax":"STRB <Wt>, [<Xn|SP>{, #<pimm>}]","Code":"","Alias":""},
+{"Name":"STRB (register)","Bits":"0|0|1|1|1|0|0|0|0|0|1|Rm:5|option:3|S|1|0|Rn:5|Rt:5","Arch":"Extended register variant","Syntax":"STRB <Wt>, [<Xn|SP>, (<Wm>|<Xm>), <extend> {<amount>}]","Code":"","Alias":""},
+{"Name":"STRB (register)","Bits":"0|0|1|1|1|0|0|0|0|0|1|Rm:5|011:3|S|1|0|Rn:5|Rt:5","Arch":"Shifted register variant","Syntax":"STRB <Wt>, [<Xn|SP>, <Xm>{, LSL <amount>}]","Code":"","Alias":""},
+{"Name":"STRH (immediate)","Bits":"0|1|1|1|1|0|0|0|0|0|0|imm9:9|0|1|Rn:5|Rt:5","Arch":"Post-index Post-index variant","Syntax":"STRH <Wt>, [<Xn|SP>], #<simm>","Code":"","Alias":""},
+{"Name":"STRH (immediate)","Bits":"0|1|1|1|1|0|0|0|0|0|0|imm9:9|1|1|Rn:5|Rt:5","Arch":"Pre-index Pre-index variant","Syntax":"STRH <Wt>, [<Xn|SP>, #<simm>]!","Code":"","Alias":""},
+{"Name":"STRH (immediate)","Bits":"0|1|1|1|1|0|0|1|0|0|imm12:12|Rn:5|Rt:5","Arch":"Unsigned offset Unsigned offset variant","Syntax":"STRH <Wt>, [<Xn|SP>{, #<pimm>}]","Code":"","Alias":""},
+{"Name":"STRH (register)","Bits":"0|1|1|1|1|0|0|0|0|0|1|Rm:5|option:3|S|1|0|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"STRH <Wt>, [<Xn|SP>, (<Wm>|<Xm>){, <extend> {<amount>}}]","Code":"","Alias":""},
+{"Name":"STTR","Bits":"10:2|1|1|1|0|0|0|0|0|0|imm9:9|1|0|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"STTR <Wt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"STTR","Bits":"11:2|1|1|1|0|0|0|0|0|0|imm9:9|1|0|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"STTR <Xt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"STTRB","Bits":"0|0|1|1|1|0|0|0|0|0|0|imm9:9|1|0|Rn:5|Rt:5","Arch":"Unscaled offset variant","Syntax":"STTRB <Wt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"STTRH","Bits":"0|1|1|1|1|0|0|0|0|0|0|imm9:9|1|0|Rn:5|Rt:5","Arch":"Unscaled offset variant","Syntax":"STTRH <Wt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"STUR","Bits":"10:2|1|1|1|0|0|0|0|0|0|imm9:9|0|0|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"STUR <Wt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"STUR","Bits":"11:2|1|1|1|0|0|0|0|0|0|imm9:9|0|0|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"STUR <Xt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"STURB","Bits":"0|0|1|1|1|0|0|0|0|0|0|imm9:9|0|0|Rn:5|Rt:5","Arch":"Unscaled offset variant","Syntax":"STURB <Wt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"STURH","Bits":"0|1|1|1|1|0|0|0|0|0|0|imm9:9|0|0|Rn:5|Rt:5","Arch":"Unscaled offset variant","Syntax":"STURH <Wt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"STXP","Bits":"1|0|0|0|1|0|0|0|0|0|1|Rs:5|0|Rt2:5|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"STXP <Ws>, <Wt1>, <Wt2>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"STXP","Bits":"1|1|0|0|1|0|0|0|0|0|1|Rs:5|0|Rt2:5|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"STXP <Ws>, <Xt1>, <Xt2>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"STXR","Bits":"10:2|0|0|1|0|0|0|0|0|0|Rs:5|0|(1)|(1)|(1)|(1)|(1)|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"STXR <Ws>, <Wt>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"STXR","Bits":"11:2|0|0|1|0|0|0|0|0|0|Rs:5|0|(1)|(1)|(1)|(1)|(1)|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"STXR <Ws>, <Xt>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"STXRB","Bits":"0|0|0|0|1|0|0|0|0|0|0|Rs:5|0|(1)|(1)|(1)|(1)|(1)|Rn:5|Rt:5","Arch":"No offset variant","Syntax":"STXRB <Ws>, <Wt>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"STXRH","Bits":"0|1|0|0|1|0|0|0|0|0|0|Rs:5|0|(1)|(1)|(1)|(1)|(1)|Rn:5|Rt:5","Arch":"No offset variant","Syntax":"STXRH <Ws>, <Wt>, [<Xn|SP>{,#0}]","Code":"","Alias":""},
+{"Name":"SUB (extended register)","Bits":"0|1|0|0|1|0|1|1|0|0|1|Rm:5|option:3|imm3:3|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"SUB <Wd|WSP>, <Wn|WSP>, <Wm>{, <extend> {#<amount>}}","Code":"","Alias":""},
+{"Name":"SUB (extended register)","Bits":"1|1|0|0|1|0|1|1|0|0|1|Rm:5|option:3|imm3:3|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"SUB <Xd|SP>, <Xn|SP>, <R><m>{, <extend> {#<amount>}}","Code":"","Alias":""},
+{"Name":"SUB (immediate)","Bits":"0|1|0|1|0|0|0|1|shift:2|imm12:12|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"SUB <Wd|WSP>, <Wn|WSP>, #<imm>{, <shift>}","Code":"","Alias":""},
+{"Name":"SUB (immediate)","Bits":"1|1|0|1|0|0|0|1|shift:2|imm12:12|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"SUB <Xd|SP>, <Xn|SP>, #<imm>{, <shift>}","Code":"","Alias":""},
+{"Name":"SUB (shifted register)","Bits":"0|1|0|0|1|0|1|1|shift:2|0|Rm:5|imm6:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"SUB <Wd>, <Wn>, <Wm>{, <shift> #<amount>}","Code":"","Alias":"This instruction is used by the alias NEG (shifted register)."},
+{"Name":"SUB (shifted register)","Bits":"1|1|0|0|1|0|1|1|shift:2|0|Rm:5|imm6:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"SUB <Xd>, <Xn>, <Xm>{, <shift> #<amount>}","Code":"","Alias":"This instruction is used by the alias NEG (shifted register)."},
+{"Name":"SUBS (extended register)","Bits":"0|1|1|0|1|0|1|1|0|0|1|Rm:5|option:3|imm3:3|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"SUBS <Wd>, <Wn|WSP>, <Wm>{, <extend> {#<amount>}}","Code":"","Alias":"This instruction is used by the alias CMP (extended register)."},
+{"Name":"SUBS (extended register)","Bits":"1|1|1|0|1|0|1|1|0|0|1|Rm:5|option:3|imm3:3|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"SUBS <Xd>, <Xn|SP>, <R><m>{, <extend> {#<amount>}}","Code":"","Alias":"This instruction is used by the alias CMP (extended register)."},
+{"Name":"SUBS (immediate)","Bits":"0|1|1|1|0|0|0|1|shift:2|imm12:12|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"SUBS <Wd>, <Wn|WSP>, #<imm>{, <shift>}","Code":"","Alias":"This instruction is used by the alias CMP (immediate)."},
+{"Name":"SUBS (immediate)","Bits":"1|1|1|1|0|0|0|1|shift:2|imm12:12|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"SUBS <Xd>, <Xn|SP>, #<imm>{, <shift>}","Code":"","Alias":"This instruction is used by the alias CMP (immediate)."},
+{"Name":"SUBS (shifted register)","Bits":"0|1|1|0|1|0|1|1|shift:2|0|Rm:5|imm6:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"SUBS <Wd>, <Wn>, <Wm>{, <shift> #<amount>}","Code":"","Alias":"This instruction is used by the aliases CMP (shifted register) and NEGS."},
+{"Name":"SUBS (shifted register)","Bits":"1|1|1|0|1|0|1|1|shift:2|0|Rm:5|imm6:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"SUBS <Xd>, <Xn>, <Xm>{, <shift> #<amount>}","Code":"","Alias":"This instruction is used by the aliases CMP (shifted register) and NEGS."},
+{"Name":"SVC","Bits":"1|1|0|1|0|1|0|0|0|0|0|imm16:16|0|0|0|0|1","Arch":"System variant","Syntax":"SVC #<imm>","Code":"","Alias":""},
+{"Name":"SXTB","Bits":"0|0|0|1|0|0|1|1|0|0|0|0|0|0|0|0|0|0|0|1|1|1|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"SXTB <Wd>, <Wn>","Code":"","Alias":"This instruction is an alias of the SBFM instruction."},
+{"Name":"SXTB","Bits":"1|0|0|1|0|0|1|1|0|1|0|0|0|0|0|0|0|0|0|1|1|1|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"SXTB <Xd>, <Wn>","Code":"","Alias":"This instruction is an alias of the SBFM instruction."},
+{"Name":"SXTH","Bits":"0|0|0|1|0|0|1|1|0|0|0|0|0|0|0|0|0|0|1|1|1|1|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"SXTH <Wd>, <Wn>","Code":"","Alias":"This instruction is an alias of the SBFM instruction."},
+{"Name":"SXTH","Bits":"1|0|0|1|0|0|1|1|0|1|0|0|0|0|0|0|0|0|1|1|1|1|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"SXTH <Xd>, <Wn>","Code":"","Alias":"This instruction is an alias of the SBFM instruction."},
+{"Name":"SXTW","Bits":"1|0|0|1|0|0|1|1|0|1|0|0|0|0|0|0|0|1|1|1|1|1|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"SXTW <Xd>, <Wn>","Code":"","Alias":"This instruction is an alias of the SBFM instruction."},
+{"Name":"SYS","Bits":"1|1|0|1|0|1|0|1|0|0|0|0|1|op1:3|CRn:4|CRm:4|op2:3|Rt:5","Arch":"System variant","Syntax":"SYS #<op1>, <Cn>, <Cm>, #<op2>{, <Xt>}","Code":"","Alias":"This instruction is used by the aliases AT, DC, IC, and TLBI."},
+{"Name":"SYSL","Bits":"1|1|0|1|0|1|0|1|0|0|1|0|1|op1:3|CRn:4|CRm:4|op2:3|Rt:5","Arch":"System variant","Syntax":"SYSL <Xt>, #<op1>, <Cn>, <Cm>, #<op2>","Code":"","Alias":""},
+{"Name":"TBNZ","Bits":"b5|0|1|1|0|1|1|1|b40:5|imm14:14|Rt:5","Arch":"14-bit signed PC-relative branch offset variant","Syntax":"TBNZ <R><t>, #<imm>, <label>","Code":"","Alias":""},
+{"Name":"TBZ","Bits":"b5|0|1|1|0|1|1|0|b40:5|imm14:14|Rt:5","Arch":"14-bit signed PC-relative branch offset variant","Syntax":"TBZ <R><t>, #<imm>, <label>","Code":"","Alias":""},
+{"Name":"TLBI","Bits":"1|1|0|1|0|1|0|1|0|0|0|0|1|op1:3|1|0|0|0|CRm:4|op2:3|Rt:5","Arch":"System variant","Syntax":"TLBI <tlbi_op>{, <Xt>}","Code":"","Alias":"This instruction is an alias of the SYS instruction."},
+{"Name":"TST (immediate)","Bits":"0|1|1|1|0|0|1|0|0|0|immr:6|imms:6|Rn:5|1|1|1|1|1","Arch":"32-bit variant","Syntax":"TST <Wn>, #<imm>","Code":"","Alias":"This instruction is an alias of the ANDS (immediate) instruction."},
+{"Name":"TST (immediate)","Bits":"1|1|1|1|0|0|1|0|0|N|immr:6|imms:6|Rn:5|1|1|1|1|1","Arch":"64-bit variant","Syntax":"TST <Xn>, #<imm>","Code":"","Alias":"This instruction is an alias of the ANDS (immediate) instruction."},
+{"Name":"TST (shifted register)","Bits":"0|1|1|0|1|0|1|0|shift:2|0|Rm:5|imm6:6|Rn:5|1|1|1|1|1","Arch":"32-bit variant","Syntax":"TST <Wn>, <Wm>{, <shift> #<amount>}","Code":"","Alias":"This instruction is an alias of the ANDS (shifted register) instruction."},
+{"Name":"TST (shifted register)","Bits":"1|1|1|0|1|0|1|0|shift:2|0|Rm:5|imm6:6|Rn:5|1|1|1|1|1","Arch":"64-bit variant","Syntax":"TST <Xn>, <Xm>{, <shift> #<amount>}","Code":"","Alias":"This instruction is an alias of the ANDS (shifted register) instruction."},
+{"Name":"UBFIZ","Bits":"0|1|0|1|0|0|1|1|0|0|immr:6|imms:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"UBFIZ <Wd>, <Wn>, #<lsb>, #<width>","Code":"","Alias":"This instruction is an alias of the UBFM instruction."},
+{"Name":"UBFIZ","Bits":"1|1|0|1|0|0|1|1|0|1|immr:6|imms:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"UBFIZ <Xd>, <Xn>, #<lsb>, #<width>","Code":"","Alias":"This instruction is an alias of the UBFM instruction."},
+{"Name":"UBFM","Bits":"0|1|0|1|0|0|1|1|0|0|immr:6|imms:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"UBFM <Wd>, <Wn>, #<immr>, #<imms>","Code":"","Alias":"This instruction is used by the aliases LSL (immediate), LSR (immediate), UBFIZ, UBFX, UXTB, and UXTH."},
+{"Name":"UBFM","Bits":"1|1|0|1|0|0|1|1|0|1|immr:6|imms:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"UBFM <Xd>, <Xn>, #<immr>, #<imms>","Code":"","Alias":"This instruction is used by the aliases LSL (immediate), LSR (immediate), UBFIZ, UBFX, UXTB, and UXTH."},
+{"Name":"UBFX","Bits":"0|1|0|1|0|0|1|1|0|0|immr:6|imms:6|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"UBFX <Wd>, <Wn>, #<lsb>, #<width>","Code":"","Alias":"This instruction is an alias of the UBFM instruction."},
+{"Name":"UBFX","Bits":"1|1|0|1|0|0|1|1|0|1|immr:6|imms:6|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"UBFX <Xd>, <Xn>, #<lsb>, #<width>","Code":"","Alias":"This instruction is an alias of the UBFM instruction."},
+{"Name":"UDIV","Bits":"0|0|0|1|1|0|1|0|1|1|0|Rm:5|0|0|0|0|1|0|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"UDIV <Wd>, <Wn>, <Wm>","Code":"","Alias":""},
+{"Name":"UDIV","Bits":"1|0|0|1|1|0|1|0|1|1|0|Rm:5|0|0|0|0|1|0|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"UDIV <Xd>, <Xn>, <Xm>","Code":"","Alias":""},
+{"Name":"UMADDL","Bits":"1|0|0|1|1|0|1|1|1|0|1|Rm:5|0|Ra:5|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"UMADDL <Xd>, <Wn>, <Wm>, <Xa>","Code":"","Alias":"This instruction is used by the alias UMULL."},
+{"Name":"UMNEGL","Bits":"1|0|0|1|1|0|1|1|1|0|1|Rm:5|1|1|1|1|1|1|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"UMNEGL <Xd>, <Wn>, <Wm>","Code":"","Alias":"This instruction is an alias of the UMSUBL instruction."},
+{"Name":"UMSUBL","Bits":"1|0|0|1|1|0|1|1|1|0|1|Rm:5|1|Ra:5|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"UMSUBL <Xd>, <Wn>, <Wm>, <Xa>","Code":"","Alias":"This instruction is used by the alias UMNEGL."},
+{"Name":"UMULH","Bits":"1|0|0|1|1|0|1|1|1|1|0|Rm:5|0|(1)|(1)|(1)|(1)|(1)|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"UMULH <Xd>, <Xn>, <Xm>","Code":"","Alias":""},
+{"Name":"UMULL","Bits":"1|0|0|1|1|0|1|1|1|0|1|Rm:5|0|1|1|1|1|1|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"UMULL <Xd>, <Wn>, <Wm>","Code":"","Alias":"This instruction is an alias of the UMADDL instruction."},
+{"Name":"UXTB","Bits":"0|1|0|1|0|0|1|1|0|0|0|0|0|0|0|0|0|0|0|1|1|1|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"UXTB <Wd>, <Wn>","Code":"","Alias":"This instruction is an alias of the UBFM instruction."},
+{"Name":"UXTH","Bits":"0|1|0|1|0|0|1|1|0|0|0|0|0|0|0|0|0|0|1|1|1|1|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"UXTH <Wd>, <Wn>","Code":"","Alias":"This instruction is an alias of the UBFM instruction."},
+{"Name":"WFE","Bits":"1|1|0|1|0|1|0|1|0|0|0|0|0|0|1|1|0|0|1|0|0|0|0|0|0|1|0|1|1|1|1|1","Arch":"System variant","Syntax":"WFE","Code":"","Alias":""},
+{"Name":"WFI","Bits":"1|1|0|1|0|1|0|1|0|0|0|0|0|0|1|1|0|0|1|0|0|0|0|0|0|1|1|1|1|1|1|1","Arch":"System variant","Syntax":"WFI","Code":"","Alias":""},
+{"Name":"YIELD","Bits":"1|1|0|1|0|1|0|1|0|0|0|0|0|0|1|1|0|0|1|0|0|0|0|0|0|0|1|1|1|1|1|1","Arch":"System variant","Syntax":"YIELD","Code":"","Alias":""},
+{"Name":"ABS","Bits":"0|1|0|1|1|1|1|0|size:2|1|0|0|0|0|0|1|0|1|1|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"ABS <V><d>, <V><n>","Code":"","Alias":""},
+{"Name":"ABS","Bits":"0|Q|0|0|1|1|1|0|size:2|1|0|0|0|0|0|1|0|1|1|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"ABS <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"ADD (vector)","Bits":"0|1|0|1|1|1|1|0|size:2|1|Rm:5|1|0|0|0|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"ADD <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"ADD (vector)","Bits":"0|Q|0|0|1|1|1|0|size:2|1|Rm:5|1|0|0|0|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"ADD <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"ADDHN, ADDHN2","Bits":"0|0|0|0|1|1|1|0|size:2|1|Rm:5|0|1|0|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"ADDHN <Vd>.<Tb>, <Vn>.<Ta>, <Vm>.<Ta>","Code":"","Alias":""},
+{"Name":"ADDHN, ADDHN2","Bits":"0|1|0|0|1|1|1|0|size:2|1|Rm:5|0|1|0|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"ADDHN2 <Vd>.<Tb>, <Vn>.<Ta>, <Vm>.<Ta>","Code":"","Alias":""},
+{"Name":"ADDP (scalar)","Bits":"0|1|0|1|1|1|1|0|size:2|1|1|0|0|0|1|1|0|1|1|1|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"ADDP <V><d>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"ADDP (vector)","Bits":"0|Q|0|0|1|1|1|0|size:2|1|Rm:5|1|0|1|1|1|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"ADDP <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"ADDV","Bits":"0|Q|0|0|1|1|1|0|size:2|1|1|0|0|0|1|1|0|1|1|1|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"ADDV <V><d>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"AESD","Bits":"0|1|0|0|1|1|1|0|0|0|1|0|1|0|0|0|0|1|0|1|1|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"AESD <Vd>.16B, <Vn>.16B","Code":"","Alias":""},
+{"Name":"AESE","Bits":"0|1|0|0|1|1|1|0|0|0|1|0|1|0|0|0|0|1|0|0|1|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"AESE <Vd>.16B, <Vn>.16B","Code":"","Alias":""},
+{"Name":"AESIMC","Bits":"0|1|0|0|1|1|1|0|0|0|1|0|1|0|0|0|0|1|1|1|1|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"AESIMC <Vd>.16B, <Vn>.16B","Code":"","Alias":""},
+{"Name":"AESMC","Bits":"0|1|0|0|1|1|1|0|0|0|1|0|1|0|0|0|0|1|1|0|1|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"AESMC <Vd>.16B, <Vn>.16B","Code":"","Alias":""},
+{"Name":"AND (vector)","Bits":"0|Q|0|0|1|1|1|0|0|0|1|Rm:5|0|0|0|1|1|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"AND <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"BIC (vector, immediate)","Bits":"0|Q|1|0|1|1|1|1|0|0|0|0|0|a|b|c|cmode:4|0|1|d|e|f|g|h|Rd:5","Arch":"16-bit variant","Syntax":"BIC <Vd>.<T>, #<imm8>{, LSL #<amount>}","Code":"","Alias":""},
+{"Name":"BIC (vector, immediate)","Bits":"0|Q|1|0|1|1|1|1|0|0|0|0|0|a|b|c|cmode:4|0|1|d|e|f|g|h|Rd:5","Arch":"32-bit variant","Syntax":"BIC <Vd>.<T>, #<imm8>{, LSL #<amount>}","Code":"","Alias":""},
+{"Name":"BIC (vector, register)","Bits":"0|Q|0|0|1|1|1|0|0|1|1|Rm:5|0|0|0|1|1|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"BIC <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"BIF","Bits":"0|Q|1|0|1|1|1|0|1|1|1|Rm:5|0|0|0|1|1|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"BIF <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"BIT","Bits":"0|Q|1|0|1|1|1|0|1|0|1|Rm:5|0|0|0|1|1|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"BIT <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"BSL","Bits":"0|Q|1|0|1|1|1|0|0|1|1|Rm:5|0|0|0|1|1|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"BSL <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"CLS (vector)","Bits":"0|Q|0|0|1|1|1|0|size:2|1|0|0|0|0|0|0|1|0|0|1|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"CLS <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"CLZ (vector)","Bits":"0|Q|1|0|1|1|1|0|size:2|1|0|0|0|0|0|0|1|0|0|1|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"CLZ <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"CMEQ (register)","Bits":"0|1|1|1|1|1|1|0|size:2|1|Rm:5|1|0|0|0|1|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"CMEQ <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"CMEQ (register)","Bits":"0|Q|1|0|1|1|1|0|size:2|1|Rm:5|1|0|0|0|1|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"CMEQ <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"CMEQ (zero)","Bits":"0|1|0|1|1|1|1|0|size:2|1|0|0|0|0|0|1|0|0|1|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"CMEQ <V><d>, <V><n>, #0","Code":"","Alias":""},
+{"Name":"CMEQ (zero)","Bits":"0|Q|0|0|1|1|1|0|size:2|1|0|0|0|0|0|1|0|0|1|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"CMEQ <Vd>.<T>, <Vn>.<T>, #0","Code":"","Alias":""},
+{"Name":"CMGE (register)","Bits":"0|1|0|1|1|1|1|0|size:2|1|Rm:5|0|0|1|1|1|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"CMGE <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"CMGE (register)","Bits":"0|Q|0|0|1|1|1|0|size:2|1|Rm:5|0|0|1|1|1|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"CMGE <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"CMGE (zero)","Bits":"0|1|1|1|1|1|1|0|size:2|1|0|0|0|0|0|1|0|0|0|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"CMGE <V><d>, <V><n>, #0","Code":"","Alias":""},
+{"Name":"CMGE (zero)","Bits":"0|Q|1|0|1|1|1|0|size:2|1|0|0|0|0|0|1|0|0|0|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"CMGE <Vd>.<T>, <Vn>.<T>, #0","Code":"","Alias":""},
+{"Name":"CMGT (register)","Bits":"0|1|0|1|1|1|1|0|size:2|1|Rm:5|0|0|1|1|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"CMGT <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"CMGT (register)","Bits":"0|Q|0|0|1|1|1|0|size:2|1|Rm:5|0|0|1|1|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"CMGT <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"CMGT (zero)","Bits":"0|1|0|1|1|1|1|0|size:2|1|0|0|0|0|0|1|0|0|0|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"CMGT <V><d>, <V><n>, #0","Code":"","Alias":""},
+{"Name":"CMGT (zero)","Bits":"0|Q|0|0|1|1|1|0|size:2|1|0|0|0|0|0|1|0|0|0|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"CMGT <Vd>.<T>, <Vn>.<T>, #0","Code":"","Alias":""},
+{"Name":"CMHI (register)","Bits":"0|1|1|1|1|1|1|0|size:2|1|Rm:5|0|0|1|1|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"CMHI <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"CMHI (register)","Bits":"0|Q|1|0|1|1|1|0|size:2|1|Rm:5|0|0|1|1|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"CMHI <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"CMHS (register)","Bits":"0|1|1|1|1|1|1|0|size:2|1|Rm:5|0|0|1|1|1|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"CMHS <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"CMHS (register)","Bits":"0|Q|1|0|1|1|1|0|size:2|1|Rm:5|0|0|1|1|1|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"CMHS <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"CMLE (zero)","Bits":"0|1|1|1|1|1|1|0|size:2|1|0|0|0|0|0|1|0|0|1|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"CMLE <V><d>, <V><n>, #0","Code":"","Alias":""},
+{"Name":"CMLE (zero)","Bits":"0|Q|1|0|1|1|1|0|size:2|1|0|0|0|0|0|1|0|0|1|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"CMLE <Vd>.<T>, <Vn>.<T>, #0","Code":"","Alias":""},
+{"Name":"CMLT (zero)","Bits":"0|1|0|1|1|1|1|0|size:2|1|0|0|0|0|0|1|0|1|0|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"CMLT <V><d>, <V><n>, #0","Code":"","Alias":""},
+{"Name":"CMLT (zero)","Bits":"0|Q|0|0|1|1|1|0|size:2|1|0|0|0|0|0|1|0|1|0|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"CMLT <Vd>.<T>, <Vn>.<T>, #0","Code":"","Alias":""},
+{"Name":"CMTST","Bits":"0|1|0|1|1|1|1|0|size:2|1|Rm:5|1|0|0|0|1|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"CMTST <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"CMTST","Bits":"0|Q|0|0|1|1|1|0|size:2|1|Rm:5|1|0|0|0|1|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"CMTST <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"CNT","Bits":"0|Q|0|0|1|1|1|0|size:2|1|0|0|0|0|0|0|1|0|1|1|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"CNT <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"DUP (element)","Bits":"0|1|0|1|1|1|1|0|0|0|0|imm5:5|0|0|0|0|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"DUP <V><d>, <Vn>.<T>[<index>]","Code":"","Alias":"This instruction is used by the alias MOV (scalar)."},
+{"Name":"DUP (element)","Bits":"0|Q|0|0|1|1|1|0|0|0|0|imm5:5|0|0|0|0|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"DUP <Vd>.<T>, <Vn>.<Ts>[<index>]","Code":"","Alias":"This instruction is used by the alias MOV (scalar)."},
+{"Name":"DUP (general)","Bits":"0|Q|0|0|1|1|1|0|0|0|0|imm5:5|0|0|0|0|1|1|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"DUP <Vd>.<T>, <R><n>","Code":"","Alias":""},
+{"Name":"EOR (vector)","Bits":"0|Q|1|0|1|1|1|0|0|0|1|Rm:5|0|0|0|1|1|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"EOR <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"EXT","Bits":"0|Q|1|0|1|1|1|0|0|0|0|Rm:5|0|imm4:4|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"EXT <Vd>.<T>, <Vn>.<T>, <Vm>.<T>, #<index>","Code":"","Alias":""},
+{"Name":"FABD","Bits":"0|1|1|1|1|1|1|0|1|sz|1|Rm:5|1|1|0|1|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FABD <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"FABD","Bits":"0|Q|1|0|1|1|1|0|1|sz|1|Rm:5|1|1|0|1|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FABD <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"FABS (vector)","Bits":"0|Q|0|0|1|1|1|0|1|sz|1|0|0|0|0|0|1|1|1|1|1|0|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FABS <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FABS (scalar)","Bits":"0|0|0|1|1|1|1|0|00:2|1|0|0|0|0|0|1|1|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision variant","Syntax":"FABS <Sd>, <Sn>","Code":"","Alias":""},
+{"Name":"FABS (scalar)","Bits":"0|0|0|1|1|1|1|0|01:2|1|0|0|0|0|0|1|1|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision variant","Syntax":"FABS <Dd>, <Dn>","Code":"","Alias":""},
+{"Name":"FACGE","Bits":"0|1|1|1|1|1|1|0|0|sz|1|Rm:5|1|1|1|0|1|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FACGE <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"FACGE","Bits":"0|Q|1|0|1|1|1|0|0|sz|1|Rm:5|1|1|1|0|1|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FACGE <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"FACGT","Bits":"0|1|1|1|1|1|1|0|1|sz|1|Rm:5|1|1|1|0|1|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FACGT <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"FACGT","Bits":"0|Q|1|0|1|1|1|0|1|sz|1|Rm:5|1|1|1|0|1|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FACGT <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"FADD (vector)","Bits":"0|Q|0|0|1|1|1|0|0|sz|1|Rm:5|1|1|0|1|0|1|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FADD <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"FADD (scalar)","Bits":"0|0|0|1|1|1|1|0|00:2|1|Rm:5|0|0|1|0|1|0|Rn:5|Rd:5","Arch":"Single-precision variant","Syntax":"FADD <Sd>, <Sn>, <Sm>","Code":"","Alias":""},
+{"Name":"FADD (scalar)","Bits":"0|0|0|1|1|1|1|0|01:2|1|Rm:5|0|0|1|0|1|0|Rn:5|Rd:5","Arch":"Double-precision variant","Syntax":"FADD <Dd>, <Dn>, <Dm>","Code":"","Alias":""},
+{"Name":"FADDP (scalar)","Bits":"0|1|1|1|1|1|1|0|0|sz|1|1|0|0|0|0|1|1|0|1|1|0|Rn:5|Rd:5","Arch":"Single-precision and double-precision variant","Syntax":"FADDP <V><d>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FADDP (vector)","Bits":"0|Q|1|0|1|1|1|0|0|sz|1|Rm:5|1|1|0|1|0|1|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FADDP <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"FCCMP","Bits":"0|0|0|1|1|1|1|0|00:2|1|Rm:5|cond:4|0|1|Rn:5|0|nzcv:4","Arch":"Single-precision variant","Syntax":"FCCMP <Sn>, <Sm>, #<nzcv>, <cond>","Code":"","Alias":""},
+{"Name":"FCCMP","Bits":"0|0|0|1|1|1|1|0|01:2|1|Rm:5|cond:4|0|1|Rn:5|0|nzcv:4","Arch":"Double-precision variant","Syntax":"FCCMP <Dn>, <Dm>, #<nzcv>, <cond>","Code":"","Alias":""},
+{"Name":"FCCMPE","Bits":"0|0|0|1|1|1|1|0|00:2|1|Rm:5|cond:4|0|1|Rn:5|1|nzcv:4","Arch":"Single-precision variant","Syntax":"FCCMPE <Sn>, <Sm>, #<nzcv>, <cond>","Code":"","Alias":""},
+{"Name":"FCCMPE","Bits":"0|0|0|1|1|1|1|0|01:2|1|Rm:5|cond:4|0|1|Rn:5|1|nzcv:4","Arch":"Double-precision variant","Syntax":"FCCMPE <Dn>, <Dm>, #<nzcv>, <cond>","Code":"","Alias":""},
+{"Name":"FCMEQ (register)","Bits":"0|1|0|1|1|1|1|0|0|sz|1|Rm:5|1|1|1|0|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FCMEQ <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"FCMEQ (register)","Bits":"0|Q|0|0|1|1|1|0|0|sz|1|Rm:5|1|1|1|0|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FCMEQ <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"FCMEQ (zero)","Bits":"0|1|0|1|1|1|1|0|1|sz|1|0|0|0|0|0|1|1|0|1|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FCMEQ <V><d>, <V><n>, #0.0","Code":"","Alias":""},
+{"Name":"FCMEQ (zero)","Bits":"0|Q|0|0|1|1|1|0|1|sz|1|0|0|0|0|0|1|1|0|1|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FCMEQ <Vd>.<T>, <Vn>.<T>, #0.0","Code":"","Alias":""},
+{"Name":"FCMGE (register)","Bits":"0|1|1|1|1|1|1|0|0|sz|1|Rm:5|1|1|1|0|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FCMGE <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"FCMGE (register)","Bits":"0|Q|1|0|1|1|1|0|0|sz|1|Rm:5|1|1|1|0|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FCMGE <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"FCMGE (zero)","Bits":"0|1|1|1|1|1|1|0|1|sz|1|0|0|0|0|0|1|1|0|0|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FCMGE <V><d>, <V><n>, #0.0","Code":"","Alias":""},
+{"Name":"FCMGE (zero)","Bits":"0|Q|1|0|1|1|1|0|1|sz|1|0|0|0|0|0|1|1|0|0|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FCMGE <Vd>.<T>, <Vn>.<T>, #0.0","Code":"","Alias":""},
+{"Name":"FCMGT (register)","Bits":"0|1|1|1|1|1|1|0|1|sz|1|Rm:5|1|1|1|0|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FCMGT <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"FCMGT (register)","Bits":"0|Q|1|0|1|1|1|0|1|sz|1|Rm:5|1|1|1|0|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FCMGT <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"FCMGT (zero)","Bits":"0|1|0|1|1|1|1|0|1|sz|1|0|0|0|0|0|1|1|0|0|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FCMGT <V><d>, <V><n>, #0.0","Code":"","Alias":""},
+{"Name":"FCMGT (zero)","Bits":"0|Q|0|0|1|1|1|0|1|sz|1|0|0|0|0|0|1|1|0|0|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FCMGT <Vd>.<T>, <Vn>.<T>, #0.0","Code":"","Alias":""},
+{"Name":"FCMLE (zero)","Bits":"0|1|1|1|1|1|1|0|1|sz|1|0|0|0|0|0|1|1|0|1|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FCMLE <V><d>, <V><n>, #0.0","Code":"","Alias":""},
+{"Name":"FCMLE (zero)","Bits":"0|Q|1|0|1|1|1|0|1|sz|1|0|0|0|0|0|1|1|0|1|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FCMLE <Vd>.<T>, <Vn>.<T>, #0.0","Code":"","Alias":""},
+{"Name":"FCMLT (zero)","Bits":"0|1|0|1|1|1|1|0|1|sz|1|0|0|0|0|0|1|1|1|0|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FCMLT <V><d>, <V><n>, #0.0","Code":"","Alias":""},
+{"Name":"FCMLT (zero)","Bits":"0|Q|0|0|1|1|1|0|1|sz|1|0|0|0|0|0|1|1|1|0|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FCMLT <Vd>.<T>, <Vn>.<T>, #0.0","Code":"","Alias":""},
+{"Name":"FCMP","Bits":"0|0|0|1|1|1|1|0|00:2|1|Rm:5|0|0|1|0|0|0|Rn:5|00:2|0|0|0","Arch":"Single-precision variant","Syntax":"FCMP <Sn>, <Sm>","Code":"","Alias":""},
+{"Name":"FCMP","Bits":"0|0|0|1|1|1|1|0|00:2|1|(00000):5|0|0|1|0|0|0|Rn:5|01:2|0|0|0","Arch":"Single-precision, zero variant","Syntax":"FCMP <Sn>, #0.0","Code":"","Alias":""},
+{"Name":"FCMP","Bits":"0|0|0|1|1|1|1|0|01:2|1|Rm:5|0|0|1|0|0|0|Rn:5|00:2|0|0|0","Arch":"Double-precision variant","Syntax":"FCMP <Dn>, <Dm>","Code":"","Alias":""},
+{"Name":"FCMP","Bits":"0|0|0|1|1|1|1|0|01:2|1|(00000):5|0|0|1|0|0|0|Rn:5|01:2|0|0|0","Arch":"Double-precision, zero variant","Syntax":"FCMP <Dn>, #0.0","Code":"","Alias":""},
+{"Name":"FCMPE","Bits":"0|0|0|1|1|1|1|0|00:2|1|Rm:5|0|0|1|0|0|0|Rn:5|10:2|0|0|0","Arch":"Single-precision variant","Syntax":"FCMPE <Sn>, <Sm>","Code":"","Alias":""},
+{"Name":"FCMPE","Bits":"0|0|0|1|1|1|1|0|00:2|1|(00000):5|0|0|1|0|0|0|Rn:5|11:2|0|0|0","Arch":"Single-precision, zero variant","Syntax":"FCMPE <Sn>, #0.0","Code":"","Alias":""},
+{"Name":"FCMPE","Bits":"0|0|0|1|1|1|1|0|01:2|1|Rm:5|0|0|1|0|0|0|Rn:5|10:2|0|0|0","Arch":"Double-precision variant","Syntax":"FCMPE <Dn>, <Dm>","Code":"","Alias":""},
+{"Name":"FCMPE","Bits":"0|0|0|1|1|1|1|0|01:2|1|(00000):5|0|0|1|0|0|0|Rn:5|11:2|0|0|0","Arch":"Double-precision, zero variant","Syntax":"FCMPE <Dn>, #0.0","Code":"","Alias":""},
+{"Name":"FCSEL","Bits":"0|0|0|1|1|1|1|0|00:2|1|Rm:5|cond:4|1|1|Rn:5|Rd:5","Arch":"Single-precision variant","Syntax":"FCSEL <Sd>, <Sn>, <Sm>, <cond>","Code":"","Alias":""},
+{"Name":"FCSEL","Bits":"0|0|0|1|1|1|1|0|01:2|1|Rm:5|cond:4|1|1|Rn:5|Rd:5","Arch":"Double-precision variant","Syntax":"FCSEL <Dd>, <Dn>, <Dm>, <cond>","Code":"","Alias":""},
+{"Name":"FCVT","Bits":"0|0|0|1|1|1|1|0|11:2|1|0|0|0|1|00:2|1|0|0|0|0|Rn:5|Rd:5","Arch":"Half-precision to single-precision variant","Syntax":"FCVT <Sd>, <Hn>","Code":"","Alias":""},
+{"Name":"FCVT","Bits":"0|0|0|1|1|1|1|0|11:2|1|0|0|0|1|01:2|1|0|0|0|0|Rn:5|Rd:5","Arch":"Half-precision to double-precision variant","Syntax":"FCVT <Dd>, <Hn>","Code":"","Alias":""},
+{"Name":"FCVT","Bits":"0|0|0|1|1|1|1|0|00:2|1|0|0|0|1|11:2|1|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision to half-precision variant","Syntax":"FCVT <Hd>, <Sn>","Code":"","Alias":""},
+{"Name":"FCVT","Bits":"0|0|0|1|1|1|1|0|00:2|1|0|0|0|1|01:2|1|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision to double-precision variant","Syntax":"FCVT <Dd>, <Sn>","Code":"","Alias":""},
+{"Name":"FCVT","Bits":"0|0|0|1|1|1|1|0|01:2|1|0|0|0|1|11:2|1|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision to half-precision variant","Syntax":"FCVT <Hd>, <Dn>","Code":"","Alias":""},
+{"Name":"FCVT","Bits":"0|0|0|1|1|1|1|0|01:2|1|0|0|0|1|00:2|1|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision to single-precision variant","Syntax":"FCVT <Sd>, <Dn>","Code":"","Alias":""},
+{"Name":"FCVTAS (vector)","Bits":"0|1|0|1|1|1|1|0|0|sz|1|0|0|0|0|1|1|1|0|0|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FCVTAS <V><d>, <V><n>","Code":"","Alias":""},
+{"Name":"FCVTAS (vector)","Bits":"0|Q|0|0|1|1|1|0|0|sz|1|0|0|0|0|1|1|1|0|0|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FCVTAS <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FCVTAS (scalar)","Bits":"0|0|0|1|1|1|1|0|00:2|1|0|0|1|0|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision to 32-bit variant","Syntax":"FCVTAS <Wd>, <Sn>","Code":"","Alias":""},
+{"Name":"FCVTAS (scalar)","Bits":"1|0|0|1|1|1|1|0|00:2|1|0|0|1|0|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision to 64-bit variant","Syntax":"FCVTAS <Xd>, <Sn>","Code":"","Alias":""},
+{"Name":"FCVTAS (scalar)","Bits":"0|0|0|1|1|1|1|0|01:2|1|0|0|1|0|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision to 32-bit variant","Syntax":"FCVTAS <Wd>, <Dn>","Code":"","Alias":""},
+{"Name":"FCVTAS (scalar)","Bits":"1|0|0|1|1|1|1|0|01:2|1|0|0|1|0|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision to 64-bit variant","Syntax":"FCVTAS <Xd>, <Dn>","Code":"","Alias":""},
+{"Name":"FCVTAU (vector)","Bits":"0|1|1|1|1|1|1|0|0|sz|1|0|0|0|0|1|1|1|0|0|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FCVTAU <V><d>, <V><n>","Code":"","Alias":""},
+{"Name":"FCVTAU (vector)","Bits":"0|Q|1|0|1|1|1|0|0|sz|1|0|0|0|0|1|1|1|0|0|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FCVTAU <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FCVTAU (scalar)","Bits":"0|0|0|1|1|1|1|0|00:2|1|0|0|1|0|1|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision to 32-bit variant","Syntax":"FCVTAU <Wd>, <Sn>","Code":"","Alias":""},
+{"Name":"FCVTAU (scalar)","Bits":"1|0|0|1|1|1|1|0|00:2|1|0|0|1|0|1|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision to 64-bit variant","Syntax":"FCVTAU <Xd>, <Sn>","Code":"","Alias":""},
+{"Name":"FCVTAU (scalar)","Bits":"0|0|0|1|1|1|1|0|01:2|1|0|0|1|0|1|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision to 32-bit variant","Syntax":"FCVTAU <Wd>, <Dn>","Code":"","Alias":""},
+{"Name":"FCVTAU (scalar)","Bits":"1|0|0|1|1|1|1|0|01:2|1|0|0|1|0|1|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision to 64-bit variant","Syntax":"FCVTAU <Xd>, <Dn>","Code":"","Alias":""},
+{"Name":"FCVTL, FCVTL2","Bits":"0|0|0|0|1|1|1|0|0|sz|1|0|0|0|0|1|0|1|1|1|1|0|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FCVTL <Vd>.<Ta>, <Vn>.<Tb>","Code":"","Alias":""},
+{"Name":"FCVTL, FCVTL2","Bits":"0|1|0|0|1|1|1|0|0|sz|1|0|0|0|0|1|0|1|1|1|1|0|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FCVTL2 <Vd>.<Ta>, <Vn>.<Tb>","Code":"","Alias":""},
+{"Name":"FCVTMS (vector)","Bits":"0|1|0|1|1|1|1|0|0|sz|1|0|0|0|0|1|1|0|1|1|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FCVTMS <V><d>, <V><n>","Code":"","Alias":""},
+{"Name":"FCVTMS (vector)","Bits":"0|Q|0|0|1|1|1|0|0|sz|1|0|0|0|0|1|1|0|1|1|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FCVTMS <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FCVTMS (scalar)","Bits":"0|0|0|1|1|1|1|0|00:2|1|1|0|0|0|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision to 32-bit variant","Syntax":"FCVTMS <Wd>, <Sn>","Code":"","Alias":""},
+{"Name":"FCVTMS (scalar)","Bits":"1|0|0|1|1|1|1|0|00:2|1|1|0|0|0|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision to 64-bit variant","Syntax":"FCVTMS <Xd>, <Sn>","Code":"","Alias":""},
+{"Name":"FCVTMS (scalar)","Bits":"0|0|0|1|1|1|1|0|01:2|1|1|0|0|0|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision to 32-bit variant","Syntax":"FCVTMS <Wd>, <Dn>","Code":"","Alias":""},
+{"Name":"FCVTMS (scalar)","Bits":"1|0|0|1|1|1|1|0|01:2|1|1|0|0|0|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision to 64-bit variant","Syntax":"FCVTMS <Xd>, <Dn>","Code":"","Alias":""},
+{"Name":"FCVTMU (vector)","Bits":"0|1|1|1|1|1|1|0|0|sz|1|0|0|0|0|1|1|0|1|1|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FCVTMU <V><d>, <V><n>","Code":"","Alias":""},
+{"Name":"FCVTMU (vector)","Bits":"0|Q|1|0|1|1|1|0|0|sz|1|0|0|0|0|1|1|0|1|1|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FCVTMU <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FCVTMU (scalar)","Bits":"0|0|0|1|1|1|1|0|00:2|1|1|0|0|0|1|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision to 32-bit variant","Syntax":"FCVTMU <Wd>, <Sn>","Code":"","Alias":""},
+{"Name":"FCVTMU (scalar)","Bits":"1|0|0|1|1|1|1|0|00:2|1|1|0|0|0|1|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision to 64-bit variant","Syntax":"FCVTMU <Xd>, <Sn>","Code":"","Alias":""},
+{"Name":"FCVTMU (scalar)","Bits":"0|0|0|1|1|1|1|0|01:2|1|1|0|0|0|1|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision to 32-bit variant","Syntax":"FCVTMU <Wd>, <Dn>","Code":"","Alias":""},
+{"Name":"FCVTMU (scalar)","Bits":"1|0|0|1|1|1|1|0|01:2|1|1|0|0|0|1|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision to 64-bit variant","Syntax":"FCVTMU <Xd>, <Dn>","Code":"","Alias":""},
+{"Name":"FCVTN, FCVTN2","Bits":"0|0|0|0|1|1|1|0|0|sz|1|0|0|0|0|1|0|1|1|0|1|0|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FCVTN <Vd>.<Tb>, <Vn>.<Ta>","Code":"","Alias":""},
+{"Name":"FCVTN, FCVTN2","Bits":"0|1|0|0|1|1|1|0|0|sz|1|0|0|0|0|1|0|1|1|0|1|0|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FCVTN2 <Vd>.<Tb>, <Vn>.<Ta>","Code":"","Alias":""},
+{"Name":"FCVTNS (vector)","Bits":"0|1|0|1|1|1|1|0|0|sz|1|0|0|0|0|1|1|0|1|0|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FCVTNS <V><d>, <V><n>","Code":"","Alias":""},
+{"Name":"FCVTNS (vector)","Bits":"0|Q|0|0|1|1|1|0|0|sz|1|0|0|0|0|1|1|0|1|0|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FCVTNS <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FCVTNS (scalar)","Bits":"0|0|0|1|1|1|1|0|00:2|1|0|0|0|0|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision to 32-bit variant","Syntax":"FCVTNS <Wd>, <Sn>","Code":"","Alias":""},
+{"Name":"FCVTNS (scalar)","Bits":"1|0|0|1|1|1|1|0|00:2|1|0|0|0|0|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision to 64-bit variant","Syntax":"FCVTNS <Xd>, <Sn>","Code":"","Alias":""},
+{"Name":"FCVTNS (scalar)","Bits":"0|0|0|1|1|1|1|0|01:2|1|0|0|0|0|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision to 32-bit variant","Syntax":"FCVTNS <Wd>, <Dn>","Code":"","Alias":""},
+{"Name":"FCVTNS (scalar)","Bits":"1|0|0|1|1|1|1|0|01:2|1|0|0|0|0|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision to 64-bit variant","Syntax":"FCVTNS <Xd>, <Dn>","Code":"","Alias":""},
+{"Name":"FCVTNU (vector)","Bits":"0|1|1|1|1|1|1|0|0|sz|1|0|0|0|0|1|1|0|1|0|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FCVTNU <V><d>, <V><n>","Code":"","Alias":""},
+{"Name":"FCVTNU (vector)","Bits":"0|Q|1|0|1|1|1|0|0|sz|1|0|0|0|0|1|1|0|1|0|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FCVTNU <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FCVTNU (scalar)","Bits":"0|0|0|1|1|1|1|0|00:2|1|0|0|0|0|1|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision to 32-bit variant","Syntax":"FCVTNU <Wd>, <Sn>","Code":"","Alias":""},
+{"Name":"FCVTNU (scalar)","Bits":"1|0|0|1|1|1|1|0|00:2|1|0|0|0|0|1|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision to 64-bit variant","Syntax":"FCVTNU <Xd>, <Sn>","Code":"","Alias":""},
+{"Name":"FCVTNU (scalar)","Bits":"0|0|0|1|1|1|1|0|01:2|1|0|0|0|0|1|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision to 32-bit variant","Syntax":"FCVTNU <Wd>, <Dn>","Code":"","Alias":""},
+{"Name":"FCVTNU (scalar)","Bits":"1|0|0|1|1|1|1|0|01:2|1|0|0|0|0|1|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision to 64-bit variant","Syntax":"FCVTNU <Xd>, <Dn>","Code":"","Alias":""},
+{"Name":"FCVTPS (vector)","Bits":"0|1|0|1|1|1|1|0|1|sz|1|0|0|0|0|1|1|0|1|0|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FCVTPS <V><d>, <V><n>","Code":"","Alias":""},
+{"Name":"FCVTPS (vector)","Bits":"0|Q|0|0|1|1|1|0|1|sz|1|0|0|0|0|1|1|0|1|0|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FCVTPS <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FCVTPS (scalar)","Bits":"0|0|0|1|1|1|1|0|00:2|1|0|1|0|0|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision to 32-bit variant","Syntax":"FCVTPS <Wd>, <Sn>","Code":"","Alias":""},
+{"Name":"FCVTPS (scalar)","Bits":"1|0|0|1|1|1|1|0|00:2|1|0|1|0|0|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision to 64-bit variant","Syntax":"FCVTPS <Xd>, <Sn>","Code":"","Alias":""},
+{"Name":"FCVTPS (scalar)","Bits":"0|0|0|1|1|1|1|0|01:2|1|0|1|0|0|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision to 32-bit variant","Syntax":"FCVTPS <Wd>, <Dn>","Code":"","Alias":""},
+{"Name":"FCVTPS (scalar)","Bits":"1|0|0|1|1|1|1|0|01:2|1|0|1|0|0|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision to 64-bit variant","Syntax":"FCVTPS <Xd>, <Dn>","Code":"","Alias":""},
+{"Name":"FCVTPU (vector)","Bits":"0|1|1|1|1|1|1|0|1|sz|1|0|0|0|0|1|1|0|1|0|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FCVTPU <V><d>, <V><n>","Code":"","Alias":""},
+{"Name":"FCVTPU (vector)","Bits":"0|Q|1|0|1|1|1|0|1|sz|1|0|0|0|0|1|1|0|1|0|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FCVTPU <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FCVTPU (scalar)","Bits":"0|0|0|1|1|1|1|0|00:2|1|0|1|0|0|1|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision to 32-bit variant","Syntax":"FCVTPU <Wd>, <Sn>","Code":"","Alias":""},
+{"Name":"FCVTPU (scalar)","Bits":"1|0|0|1|1|1|1|0|00:2|1|0|1|0|0|1|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision to 64-bit variant","Syntax":"FCVTPU <Xd>, <Sn>","Code":"","Alias":""},
+{"Name":"FCVTPU (scalar)","Bits":"0|0|0|1|1|1|1|0|01:2|1|0|1|0|0|1|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision to 32-bit variant","Syntax":"FCVTPU <Wd>, <Dn>","Code":"","Alias":""},
+{"Name":"FCVTPU (scalar)","Bits":"1|0|0|1|1|1|1|0|01:2|1|0|1|0|0|1|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision to 64-bit variant","Syntax":"FCVTPU <Xd>, <Dn>","Code":"","Alias":""},
+{"Name":"FCVTXN, FCVTXN2","Bits":"0|1|1|1|1|1|1|0|0|sz|1|0|0|0|0|1|0|1|1|0|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FCVTXN <Vb><d>, <Va><n>","Code":"","Alias":""},
+{"Name":"FCVTXN, FCVTXN2","Bits":"0|0|1|0|1|1|1|0|0|sz|1|0|0|0|0|1|0|1|1|0|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FCVTXN <Vd>.<Tb>, <Vn>.<Ta>","Code":"","Alias":""},
+{"Name":"FCVTXN, FCVTXN2","Bits":"0|1|1|0|1|1|1|0|0|sz|1|0|0|0|0|1|0|1|1|0|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FCVTXN2 <Vd>.<Tb>, <Vn>.<Ta>","Code":"","Alias":""},
+{"Name":"FCVTZS (vector, fixed-point)","Bits":"0|1|0|1|1|1|1|1|0|immh:4|immb:3|1|1|1|1|1|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FCVTZS <V><d>, <V><n>, #<fbits>","Code":"","Alias":""},
+{"Name":"FCVTZS (vector, fixed-point)","Bits":"0|Q|0|0|1|1|1|1|0|immh:4|immb:3|1|1|1|1|1|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FCVTZS <Vd>.<T>, <Vn>.<T>, #<fbits>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"FCVTZS (vector, integer)","Bits":"0|1|0|1|1|1|1|0|1|sz|1|0|0|0|0|1|1|0|1|1|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FCVTZS <V><d>, <V><n>","Code":"","Alias":""},
+{"Name":"FCVTZS (vector, integer)","Bits":"0|Q|0|0|1|1|1|0|1|sz|1|0|0|0|0|1|1|0|1|1|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FCVTZS <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FCVTZS (scalar, fixed-point)","Bits":"0|0|0|1|1|1|1|0|00:2|0|1|1|0|0|0|scale:6|Rn:5|Rd:5","Arch":"Single-precision to 32-bit variant","Syntax":"FCVTZS <Wd>, <Sn>, #<fbits>","Code":"","Alias":""},
+{"Name":"FCVTZS (scalar, fixed-point)","Bits":"1|0|0|1|1|1|1|0|00:2|0|1|1|0|0|0|scale:6|Rn:5|Rd:5","Arch":"Single-precision to 64-bit variant","Syntax":"FCVTZS <Xd>, <Sn>, #<fbits>","Code":"","Alias":""},
+{"Name":"FCVTZS (scalar, fixed-point)","Bits":"0|0|0|1|1|1|1|0|01:2|0|1|1|0|0|0|scale:6|Rn:5|Rd:5","Arch":"Double-precision to 32-bit variant","Syntax":"FCVTZS <Wd>, <Dn>, #<fbits>","Code":"","Alias":""},
+{"Name":"FCVTZS (scalar, fixed-point)","Bits":"1|0|0|1|1|1|1|0|01:2|0|1|1|0|0|0|scale:6|Rn:5|Rd:5","Arch":"Double-precision to 64-bit variant","Syntax":"FCVTZS <Xd>, <Dn>, #<fbits>","Code":"","Alias":""},
+{"Name":"FCVTZS (scalar, integer)","Bits":"0|0|0|1|1|1|1|0|00:2|1|1|1|0|0|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision to 32-bit variant","Syntax":"FCVTZS <Wd>, <Sn>","Code":"","Alias":""},
+{"Name":"FCVTZS (scalar, integer)","Bits":"1|0|0|1|1|1|1|0|00:2|1|1|1|0|0|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision to 64-bit variant","Syntax":"FCVTZS <Xd>, <Sn>","Code":"","Alias":""},
+{"Name":"FCVTZS (scalar, integer)","Bits":"0|0|0|1|1|1|1|0|01:2|1|1|1|0|0|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision to 32-bit variant","Syntax":"FCVTZS <Wd>, <Dn>","Code":"","Alias":""},
+{"Name":"FCVTZS (scalar, integer)","Bits":"1|0|0|1|1|1|1|0|01:2|1|1|1|0|0|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision to 64-bit variant","Syntax":"FCVTZS <Xd>, <Dn>","Code":"","Alias":""},
+{"Name":"FCVTZU (vector, fixed-point)","Bits":"0|1|1|1|1|1|1|1|0|immh:4|immb:3|1|1|1|1|1|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FCVTZU <V><d>, <V><n>, #<fbits>","Code":"","Alias":""},
+{"Name":"FCVTZU (vector, fixed-point)","Bits":"0|Q|1|0|1|1|1|1|0|immh:4|immb:3|1|1|1|1|1|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FCVTZU <Vd>.<T>, <Vn>.<T>, #<fbits>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"FCVTZU (vector, integer)","Bits":"0|1|1|1|1|1|1|0|1|sz|1|0|0|0|0|1|1|0|1|1|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FCVTZU <V><d>, <V><n>","Code":"","Alias":""},
+{"Name":"FCVTZU (vector, integer)","Bits":"0|Q|1|0|1|1|1|0|1|sz|1|0|0|0|0|1|1|0|1|1|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FCVTZU <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FCVTZU (scalar, fixed-point)","Bits":"0|0|0|1|1|1|1|0|00:2|0|1|1|0|0|1|scale:6|Rn:5|Rd:5","Arch":"Single-precision to 32-bit variant","Syntax":"FCVTZU <Wd>, <Sn>, #<fbits>","Code":"","Alias":""},
+{"Name":"FCVTZU (scalar, fixed-point)","Bits":"1|0|0|1|1|1|1|0|00:2|0|1|1|0|0|1|scale:6|Rn:5|Rd:5","Arch":"Single-precision to 64-bit variant","Syntax":"FCVTZU <Xd>, <Sn>, #<fbits>","Code":"","Alias":""},
+{"Name":"FCVTZU (scalar, fixed-point)","Bits":"0|0|0|1|1|1|1|0|01:2|0|1|1|0|0|1|scale:6|Rn:5|Rd:5","Arch":"Double-precision to 32-bit variant","Syntax":"FCVTZU <Wd>, <Dn>, #<fbits>","Code":"","Alias":""},
+{"Name":"FCVTZU (scalar, fixed-point)","Bits":"1|0|0|1|1|1|1|0|01:2|0|1|1|0|0|1|scale:6|Rn:5|Rd:5","Arch":"Double-precision to 64-bit variant","Syntax":"FCVTZU <Xd>, <Dn>, #<fbits>","Code":"","Alias":""},
+{"Name":"FCVTZU (scalar, integer)","Bits":"0|0|0|1|1|1|1|0|00:2|1|1|1|0|0|1|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision to 32-bit variant","Syntax":"FCVTZU <Wd>, <Sn>","Code":"","Alias":""},
+{"Name":"FCVTZU (scalar, integer)","Bits":"1|0|0|1|1|1|1|0|00:2|1|1|1|0|0|1|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision to 64-bit variant","Syntax":"FCVTZU <Xd>, <Sn>","Code":"","Alias":""},
+{"Name":"FCVTZU (scalar, integer)","Bits":"0|0|0|1|1|1|1|0|01:2|1|1|1|0|0|1|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision to 32-bit variant","Syntax":"FCVTZU <Wd>, <Dn>","Code":"","Alias":""},
+{"Name":"FCVTZU (scalar, integer)","Bits":"1|0|0|1|1|1|1|0|01:2|1|1|1|0|0|1|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision to 64-bit variant","Syntax":"FCVTZU <Xd>, <Dn>","Code":"","Alias":""},
+{"Name":"FDIV (vector)","Bits":"0|Q|1|0|1|1|1|0|0|sz|1|Rm:5|1|1|1|1|1|1|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FDIV <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"FDIV (scalar)","Bits":"0|0|0|1|1|1|1|0|00:2|1|Rm:5|0|0|0|1|1|0|Rn:5|Rd:5","Arch":"Single-precision variant","Syntax":"FDIV <Sd>, <Sn>, <Sm>","Code":"","Alias":""},
+{"Name":"FDIV (scalar)","Bits":"0|0|0|1|1|1|1|0|01:2|1|Rm:5|0|0|0|1|1|0|Rn:5|Rd:5","Arch":"Double-precision variant","Syntax":"FDIV <Dd>, <Dn>, <Dm>","Code":"","Alias":""},
+{"Name":"FMADD","Bits":"0|0|0|1|1|1|1|1|00:2|0|Rm:5|0|Ra:5|Rn:5|Rd:5","Arch":"Single-precision variant","Syntax":"FMADD <Sd>, <Sn>, <Sm>, <Sa>","Code":"","Alias":""},
+{"Name":"FMADD","Bits":"0|0|0|1|1|1|1|1|01:2|0|Rm:5|0|Ra:5|Rn:5|Rd:5","Arch":"Double-precision variant","Syntax":"FMADD <Dd>, <Dn>, <Dm>, <Da>","Code":"","Alias":""},
+{"Name":"FMAX (vector)","Bits":"0|Q|0|0|1|1|1|0|0|sz|1|Rm:5|1|1|1|1|0|1|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FMAX <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"FMAX (scalar)","Bits":"0|0|0|1|1|1|1|0|00:2|1|Rm:5|0|1|0|0|1|0|Rn:5|Rd:5","Arch":"Single-precision variant","Syntax":"FMAX <Sd>, <Sn>, <Sm>","Code":"","Alias":""},
+{"Name":"FMAX (scalar)","Bits":"0|0|0|1|1|1|1|0|01:2|1|Rm:5|0|1|0|0|1|0|Rn:5|Rd:5","Arch":"Double-precision variant","Syntax":"FMAX <Dd>, <Dn>, <Dm>","Code":"","Alias":""},
+{"Name":"FMAXNM (vector)","Bits":"0|Q|0|0|1|1|1|0|0|sz|1|Rm:5|1|1|0|0|0|1|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FMAXNM <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"FMAXNM (scalar)","Bits":"0|0|0|1|1|1|1|0|00:2|1|Rm:5|0|1|1|0|1|0|Rn:5|Rd:5","Arch":"Single-precision variant","Syntax":"FMAXNM <Sd>, <Sn>, <Sm>","Code":"","Alias":""},
+{"Name":"FMAXNM (scalar)","Bits":"0|0|0|1|1|1|1|0|01:2|1|Rm:5|0|1|1|0|1|0|Rn:5|Rd:5","Arch":"Double-precision variant","Syntax":"FMAXNM <Dd>, <Dn>, <Dm>","Code":"","Alias":""},
+{"Name":"FMAXNMP (scalar)","Bits":"0|1|1|1|1|1|1|0|0|sz|1|1|0|0|0|0|1|1|0|0|1|0|Rn:5|Rd:5","Arch":"Single-precision and double-precision variant","Syntax":"FMAXNMP <V><d>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FMAXNMP (vector)","Bits":"0|Q|1|0|1|1|1|0|0|sz|1|Rm:5|1|1|0|0|0|1|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FMAXNMP <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"FMAXNMV","Bits":"0|Q|1|0|1|1|1|0|0|sz|1|1|0|0|0|0|1|1|0|0|1|0|Rn:5|Rd:5","Arch":"Single-precision and double-precision variant","Syntax":"FMAXNMV <V><d>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FMAXP (scalar)","Bits":"0|1|1|1|1|1|1|0|0|sz|1|1|0|0|0|0|1|1|1|1|1|0|Rn:5|Rd:5","Arch":"Single-precision and double-precision variant","Syntax":"FMAXP <V><d>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FMAXP (vector)","Bits":"0|Q|1|0|1|1|1|0|0|sz|1|Rm:5|1|1|1|1|0|1|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FMAXP <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"FMAXV","Bits":"0|Q|1|0|1|1|1|0|0|sz|1|1|0|0|0|0|1|1|1|1|1|0|Rn:5|Rd:5","Arch":"Single-precision and double-precision variant","Syntax":"FMAXV <V><d>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FMIN (vector)","Bits":"0|Q|0|0|1|1|1|0|1|sz|1|Rm:5|1|1|1|1|0|1|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FMIN <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"FMIN (scalar)","Bits":"0|0|0|1|1|1|1|0|00:2|1|Rm:5|0|1|0|1|1|0|Rn:5|Rd:5","Arch":"Single-precision variant","Syntax":"FMIN <Sd>, <Sn>, <Sm>","Code":"","Alias":""},
+{"Name":"FMIN (scalar)","Bits":"0|0|0|1|1|1|1|0|01:2|1|Rm:5|0|1|0|1|1|0|Rn:5|Rd:5","Arch":"Double-precision variant","Syntax":"FMIN <Dd>, <Dn>, <Dm>","Code":"","Alias":""},
+{"Name":"FMINNM (vector)","Bits":"0|Q|0|0|1|1|1|0|1|sz|1|Rm:5|1|1|0|0|0|1|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FMINNM <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"FMINNM (scalar)","Bits":"0|0|0|1|1|1|1|0|00:2|1|Rm:5|0|1|1|1|1|0|Rn:5|Rd:5","Arch":"Single-precision variant","Syntax":"FMINNM <Sd>, <Sn>, <Sm>","Code":"","Alias":""},
+{"Name":"FMINNM (scalar)","Bits":"0|0|0|1|1|1|1|0|01:2|1|Rm:5|0|1|1|1|1|0|Rn:5|Rd:5","Arch":"Double-precision variant","Syntax":"FMINNM <Dd>, <Dn>, <Dm>","Code":"","Alias":""},
+{"Name":"FMINNMP (scalar)","Bits":"0|1|1|1|1|1|1|0|1|sz|1|1|0|0|0|0|1|1|0|0|1|0|Rn:5|Rd:5","Arch":"Single-precision and double-precision variant","Syntax":"FMINNMP <V><d>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FMINNMP (vector)","Bits":"0|Q|1|0|1|1|1|0|1|sz|1|Rm:5|1|1|0|0|0|1|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FMINNMP <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"FMINNMV","Bits":"0|Q|1|0|1|1|1|0|1|sz|1|1|0|0|0|0|1|1|0|0|1|0|Rn:5|Rd:5","Arch":"Single-precision and double-precision variant","Syntax":"FMINNMV <V><d>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FMINP (scalar)","Bits":"0|1|1|1|1|1|1|0|1|sz|1|1|0|0|0|0|1|1|1|1|1|0|Rn:5|Rd:5","Arch":"Single-precision and double-precision variant","Syntax":"FMINP <V><d>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FMINP (vector)","Bits":"0|Q|1|0|1|1|1|0|1|sz|1|Rm:5|1|1|1|1|0|1|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FMINP <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"FMINV","Bits":"0|Q|1|0|1|1|1|0|1|sz|1|1|0|0|0|0|1|1|1|1|1|0|Rn:5|Rd:5","Arch":"Single-precision and double-precision variant","Syntax":"FMINV <V><d>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FMLA (by element)","Bits":"0|1|0|1|1|1|1|1|1|sz|L|M|Rm:4|0|0|0|1|H|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FMLA <V><d>, <V><n>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"FMLA (by element)","Bits":"0|Q|0|0|1|1|1|1|1|sz|L|M|Rm:4|0|0|0|1|H|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FMLA <Vd>.<T>, <Vn>.<T>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"FMLA (vector)","Bits":"0|Q|0|0|1|1|1|0|0|sz|1|Rm:5|1|1|0|0|1|1|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FMLA <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"FMLS (by element)","Bits":"0|1|0|1|1|1|1|1|1|sz|L|M|Rm:4|0|1|0|1|H|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FMLS <V><d>, <V><n>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"FMLS (by element)","Bits":"0|Q|0|0|1|1|1|1|1|sz|L|M|Rm:4|0|1|0|1|H|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FMLS <Vd>.<T>, <Vn>.<T>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"FMLS (vector)","Bits":"0|Q|0|0|1|1|1|0|1|sz|1|Rm:5|1|1|0|0|1|1|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FMLS <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"FMOV (vector, immediate)","Bits":"0|Q|0|0|1|1|1|1|0|0|0|0|0|a|b|c|1|1|1|1|0|1|d|e|f|g|h|Rd:5","Arch":"Single-precision variant","Syntax":"FMOV <Vd>.<T>, #<imm>","Code":"","Alias":""},
+{"Name":"FMOV (vector, immediate)","Bits":"0|1|1|0|1|1|1|1|0|0|0|0|0|a|b|c|1|1|1|1|0|1|d|e|f|g|h|Rd:5","Arch":"Double-precision variant","Syntax":"FMOV <Vd>.2D, #<imm>","Code":"","Alias":""},
+{"Name":"FMOV (register)","Bits":"0|0|0|1|1|1|1|0|00:2|1|0|0|0|0|0|0|1|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision variant","Syntax":"FMOV <Sd>, <Sn>","Code":"","Alias":""},
+{"Name":"FMOV (register)","Bits":"0|0|0|1|1|1|1|0|01:2|1|0|0|0|0|0|0|1|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision variant","Syntax":"FMOV <Dd>, <Dn>","Code":"","Alias":""},
+{"Name":"FMOV (general)","Bits":"0|0|0|1|1|1|1|0|00:2|1|00:2|111:3|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"32-bit to single-precision variant","Syntax":"FMOV <Sd>, <Wn>","Code":"","Alias":""},
+{"Name":"FMOV (general)","Bits":"0|0|0|1|1|1|1|0|00:2|1|00:2|110:3|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision to 32-bit variant","Syntax":"FMOV <Wd>, <Sn>","Code":"","Alias":""},
+{"Name":"FMOV (general)","Bits":"1|0|0|1|1|1|1|0|01:2|1|00:2|111:3|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"64-bit to double-precision variant","Syntax":"FMOV <Dd>, <Xn>","Code":"","Alias":""},
+{"Name":"FMOV (general)","Bits":"1|0|0|1|1|1|1|0|10:2|1|01:2|111:3|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"64-bit to top half of 128-bit variant","Syntax":"FMOV <Vd>.D[1], <Xn>","Code":"","Alias":""},
+{"Name":"FMOV (general)","Bits":"1|0|0|1|1|1|1|0|01:2|1|00:2|110:3|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision to 64-bit variant","Syntax":"FMOV <Xd>, <Dn>","Code":"","Alias":""},
+{"Name":"FMOV (general)","Bits":"1|0|0|1|1|1|1|0|10:2|1|01:2|110:3|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Top half of 128-bit to 64-bit variant","Syntax":"FMOV <Xd>, <Vn>.D[1]","Code":"","Alias":""},
+{"Name":"FMOV (scalar, immediate)","Bits":"0|0|0|1|1|1|1|0|00:2|1|imm8:8|1|0|0|0|0|0|0|0|Rd:5","Arch":"Single-precision variant","Syntax":"FMOV <Sd>, #<imm>","Code":"","Alias":""},
+{"Name":"FMOV (scalar, immediate)","Bits":"0|0|0|1|1|1|1|0|01:2|1|imm8:8|1|0|0|0|0|0|0|0|Rd:5","Arch":"Double-precision variant","Syntax":"FMOV <Dd>, #<imm>","Code":"","Alias":""},
+{"Name":"FMSUB","Bits":"0|0|0|1|1|1|1|1|00:2|0|Rm:5|1|Ra:5|Rn:5|Rd:5","Arch":"Single-precision variant","Syntax":"FMSUB <Sd>, <Sn>, <Sm>, <Sa>","Code":"","Alias":""},
+{"Name":"FMSUB","Bits":"0|0|0|1|1|1|1|1|01:2|0|Rm:5|1|Ra:5|Rn:5|Rd:5","Arch":"Double-precision variant","Syntax":"FMSUB <Dd>, <Dn>, <Dm>, <Da>","Code":"","Alias":""},
+{"Name":"FMUL (by element)","Bits":"0|1|0|1|1|1|1|1|1|sz|L|M|Rm:4|1|0|0|1|H|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FMUL <V><d>, <V><n>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"FMUL (by element)","Bits":"0|Q|0|0|1|1|1|1|1|sz|L|M|Rm:4|1|0|0|1|H|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FMUL <Vd>.<T>, <Vn>.<T>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"FMUL (vector)","Bits":"0|Q|1|0|1|1|1|0|0|sz|1|Rm:5|1|1|0|1|1|1|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FMUL <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"FMUL (scalar)","Bits":"0|0|0|1|1|1|1|0|00:2|1|Rm:5|0|0|0|0|1|0|Rn:5|Rd:5","Arch":"Single-precision variant","Syntax":"FMUL <Sd>, <Sn>, <Sm>","Code":"","Alias":""},
+{"Name":"FMUL (scalar)","Bits":"0|0|0|1|1|1|1|0|01:2|1|Rm:5|0|0|0|0|1|0|Rn:5|Rd:5","Arch":"Double-precision variant","Syntax":"FMUL <Dd>, <Dn>, <Dm>","Code":"","Alias":""},
+{"Name":"FMULX (by element)","Bits":"0|1|1|1|1|1|1|1|1|sz|L|M|Rm:4|1|0|0|1|H|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FMULX <V><d>, <V><n>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"FMULX (by element)","Bits":"0|Q|1|0|1|1|1|1|1|sz|L|M|Rm:4|1|0|0|1|H|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FMULX <Vd>.<T>, <Vn>.<T>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"FMULX","Bits":"0|1|0|1|1|1|1|0|0|sz|1|Rm:5|1|1|0|1|1|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FMULX <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"FMULX","Bits":"0|Q|0|0|1|1|1|0|0|sz|1|Rm:5|1|1|0|1|1|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FMULX <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"FNEG (vector)","Bits":"0|Q|1|0|1|1|1|0|1|sz|1|0|0|0|0|0|1|1|1|1|1|0|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FNEG <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FNEG (scalar)","Bits":"0|0|0|1|1|1|1|0|00:2|1|0|0|0|0|1|0|1|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision variant","Syntax":"FNEG <Sd>, <Sn>","Code":"","Alias":""},
+{"Name":"FNEG (scalar)","Bits":"0|0|0|1|1|1|1|0|01:2|1|0|0|0|0|1|0|1|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision variant","Syntax":"FNEG <Dd>, <Dn>","Code":"","Alias":""},
+{"Name":"FNMADD","Bits":"0|0|0|1|1|1|1|1|00:2|1|Rm:5|0|Ra:5|Rn:5|Rd:5","Arch":"Single-precision variant","Syntax":"FNMADD <Sd>, <Sn>, <Sm>, <Sa>","Code":"","Alias":""},
+{"Name":"FNMADD","Bits":"0|0|0|1|1|1|1|1|01:2|1|Rm:5|0|Ra:5|Rn:5|Rd:5","Arch":"Double-precision variant","Syntax":"FNMADD <Dd>, <Dn>, <Dm>, <Da>","Code":"","Alias":""},
+{"Name":"FNMSUB","Bits":"0|0|0|1|1|1|1|1|00:2|1|Rm:5|1|Ra:5|Rn:5|Rd:5","Arch":"Single-precision variant","Syntax":"FNMSUB <Sd>, <Sn>, <Sm>, <Sa>","Code":"","Alias":""},
+{"Name":"FNMSUB","Bits":"0|0|0|1|1|1|1|1|01:2|1|Rm:5|1|Ra:5|Rn:5|Rd:5","Arch":"Double-precision variant","Syntax":"FNMSUB <Dd>, <Dn>, <Dm>, <Da>","Code":"","Alias":""},
+{"Name":"FNMUL (scalar)","Bits":"0|0|0|1|1|1|1|0|00:2|1|Rm:5|1|0|0|0|1|0|Rn:5|Rd:5","Arch":"Single-precision variant","Syntax":"FNMUL <Sd>, <Sn>, <Sm>","Code":"","Alias":""},
+{"Name":"FNMUL (scalar)","Bits":"0|0|0|1|1|1|1|0|01:2|1|Rm:5|1|0|0|0|1|0|Rn:5|Rd:5","Arch":"Double-precision variant","Syntax":"FNMUL <Dd>, <Dn>, <Dm>","Code":"","Alias":""},
+{"Name":"FRECPE","Bits":"0|1|0|1|1|1|1|0|1|sz|1|0|0|0|0|1|1|1|0|1|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FRECPE <V><d>, <V><n>","Code":"","Alias":""},
+{"Name":"FRECPE","Bits":"0|Q|0|0|1|1|1|0|1|sz|1|0|0|0|0|1|1|1|0|1|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FRECPE <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FRECPS","Bits":"0|1|0|1|1|1|1|0|0|sz|1|Rm:5|1|1|1|1|1|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FRECPS <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"FRECPS","Bits":"0|Q|0|0|1|1|1|0|0|sz|1|Rm:5|1|1|1|1|1|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FRECPS <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"FRECPX","Bits":"0|1|0|1|1|1|1|0|1|sz|1|0|0|0|0|1|1|1|1|1|1|0|Rn:5|Rd:5","Arch":"Scalar single-precision and double-precision variant","Syntax":"FRECPX <V><d>, <V><n>","Code":"","Alias":""},
+{"Name":"FRINTA (vector)","Bits":"0|Q|1|0|1|1|1|0|0|sz|1|0|0|0|0|1|1|0|0|0|1|0|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FRINTA <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FRINTA (scalar)","Bits":"0|0|0|1|1|1|1|0|00:2|1|0|0|1|1|0|0|1|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision variant","Syntax":"FRINTA <Sd>, <Sn>","Code":"","Alias":""},
+{"Name":"FRINTA (scalar)","Bits":"0|0|0|1|1|1|1|0|01:2|1|0|0|1|1|0|0|1|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision variant","Syntax":"FRINTA <Dd>, <Dn>","Code":"","Alias":""},
+{"Name":"FRINTI (vector)","Bits":"0|Q|1|0|1|1|1|0|1|sz|1|0|0|0|0|1|1|0|0|1|1|0|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FRINTI <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FRINTI (scalar)","Bits":"0|0|0|1|1|1|1|0|00:2|1|0|0|1|1|1|1|1|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision variant","Syntax":"FRINTI <Sd>, <Sn>","Code":"","Alias":""},
+{"Name":"FRINTI (scalar)","Bits":"0|0|0|1|1|1|1|0|01:2|1|0|0|1|1|1|1|1|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision variant","Syntax":"FRINTI <Dd>, <Dn>","Code":"","Alias":""},
+{"Name":"FRINTM (vector)","Bits":"0|Q|0|0|1|1|1|0|0|sz|1|0|0|0|0|1|1|0|0|1|1|0|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FRINTM <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FRINTM (scalar)","Bits":"0|0|0|1|1|1|1|0|00:2|1|0|0|1|0|1|0|1|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision variant","Syntax":"FRINTM <Sd>, <Sn>","Code":"","Alias":""},
+{"Name":"FRINTM (scalar)","Bits":"0|0|0|1|1|1|1|0|01:2|1|0|0|1|0|1|0|1|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision variant","Syntax":"FRINTM <Dd>, <Dn>","Code":"","Alias":""},
+{"Name":"FRINTN (vector)","Bits":"0|Q|0|0|1|1|1|0|0|sz|1|0|0|0|0|1|1|0|0|0|1|0|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FRINTN <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FRINTN (scalar)","Bits":"0|0|0|1|1|1|1|0|00:2|1|0|0|1|0|0|0|1|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision variant","Syntax":"FRINTN <Sd>, <Sn>","Code":"","Alias":""},
+{"Name":"FRINTN (scalar)","Bits":"0|0|0|1|1|1|1|0|01:2|1|0|0|1|0|0|0|1|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision variant","Syntax":"FRINTN <Dd>, <Dn>","Code":"","Alias":""},
+{"Name":"FRINTP (vector)","Bits":"0|Q|0|0|1|1|1|0|1|sz|1|0|0|0|0|1|1|0|0|0|1|0|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FRINTP <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FRINTP (scalar)","Bits":"0|0|0|1|1|1|1|0|00:2|1|0|0|1|0|0|1|1|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision variant","Syntax":"FRINTP <Sd>, <Sn>","Code":"","Alias":""},
+{"Name":"FRINTP (scalar)","Bits":"0|0|0|1|1|1|1|0|01:2|1|0|0|1|0|0|1|1|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision variant","Syntax":"FRINTP <Dd>, <Dn>","Code":"","Alias":""},
+{"Name":"FRINTX (vector)","Bits":"0|Q|1|0|1|1|1|0|0|sz|1|0|0|0|0|1|1|0|0|1|1|0|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FRINTX <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FRINTX (scalar)","Bits":"0|0|0|1|1|1|1|0|00:2|1|0|0|1|1|1|0|1|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision variant","Syntax":"FRINTX <Sd>, <Sn>","Code":"","Alias":""},
+{"Name":"FRINTX (scalar)","Bits":"0|0|0|1|1|1|1|0|01:2|1|0|0|1|1|1|0|1|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision variant","Syntax":"FRINTX <Dd>, <Dn>","Code":"","Alias":""},
+{"Name":"FRINTZ (vector)","Bits":"0|Q|0|0|1|1|1|0|1|sz|1|0|0|0|0|1|1|0|0|1|1|0|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FRINTZ <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FRINTZ (scalar)","Bits":"0|0|0|1|1|1|1|0|00:2|1|0|0|1|0|1|1|1|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision variant","Syntax":"FRINTZ <Sd>, <Sn>","Code":"","Alias":""},
+{"Name":"FRINTZ (scalar)","Bits":"0|0|0|1|1|1|1|0|01:2|1|0|0|1|0|1|1|1|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision variant","Syntax":"FRINTZ <Dd>, <Dn>","Code":"","Alias":""},
+{"Name":"FRSQRTE","Bits":"0|1|1|1|1|1|1|0|1|sz|1|0|0|0|0|1|1|1|0|1|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FRSQRTE <V><d>, <V><n>","Code":"","Alias":""},
+{"Name":"FRSQRTE","Bits":"0|Q|1|0|1|1|1|0|1|sz|1|0|0|0|0|1|1|1|0|1|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FRSQRTE <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FRSQRTS","Bits":"0|1|0|1|1|1|1|0|1|sz|1|Rm:5|1|1|1|1|1|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"FRSQRTS <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"FRSQRTS","Bits":"0|Q|0|0|1|1|1|0|1|sz|1|Rm:5|1|1|1|1|1|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"FRSQRTS <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"FSQRT (vector)","Bits":"0|Q|1|0|1|1|1|0|1|sz|1|0|0|0|0|1|1|1|1|1|1|0|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FSQRT <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"FSQRT (scalar)","Bits":"0|0|0|1|1|1|1|0|00:2|1|0|0|0|0|1|1|1|0|0|0|0|Rn:5|Rd:5","Arch":"Single-precision variant","Syntax":"FSQRT <Sd>, <Sn>","Code":"","Alias":""},
+{"Name":"FSQRT (scalar)","Bits":"0|0|0|1|1|1|1|0|01:2|1|0|0|0|0|1|1|1|0|0|0|0|Rn:5|Rd:5","Arch":"Double-precision variant","Syntax":"FSQRT <Dd>, <Dn>","Code":"","Alias":""},
+{"Name":"FSUB (vector)","Bits":"0|Q|0|0|1|1|1|0|1|sz|1|Rm:5|1|1|0|1|0|1|Rn:5|Rd:5","Arch":"Vector single-precision and double-precision variant","Syntax":"FSUB <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"FSUB (scalar)","Bits":"0|0|0|1|1|1|1|0|00:2|1|Rm:5|0|0|1|1|1|0|Rn:5|Rd:5","Arch":"Single-precision variant","Syntax":"FSUB <Sd>, <Sn>, <Sm>","Code":"","Alias":""},
+{"Name":"FSUB (scalar)","Bits":"0|0|0|1|1|1|1|0|01:2|1|Rm:5|0|0|1|1|1|0|Rn:5|Rd:5","Arch":"Double-precision variant","Syntax":"FSUB <Dd>, <Dn>, <Dm>","Code":"","Alias":""},
+{"Name":"INS (element)","Bits":"0|1|1|0|1|1|1|0|0|0|0|imm5:5|0|imm4:4|1|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"INS <Vd>.<Ts>[<index1>], <Vn>.<Ts>[<index2>]","Code":"","Alias":"This instruction is used by the alias MOV (element)."},
+{"Name":"INS (general)","Bits":"0|1|0|0|1|1|1|0|0|0|0|imm5:5|0|0|0|1|1|1|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"INS <Vd>.<Ts>[<index>], <R><n>","Code":"","Alias":"This instruction is used by the alias MOV (from general)."},
+{"Name":"LD1 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|0|1|0|0|0|0|0|0|0111:4|size:2|Rn:5|Rt:5","Arch":"No offset One register variant","Syntax":"LD1 { <Vt>.<T> }, [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"LD1 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|0|1|0|0|0|0|0|0|1010:4|size:2|Rn:5|Rt:5","Arch":"No offset Two registers variant","Syntax":"LD1 { <Vt>.<T>, <Vt2>.<T> }, [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"LD1 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|0|1|0|0|0|0|0|0|0110:4|size:2|Rn:5|Rt:5","Arch":"No offset Three registers variant","Syntax":"LD1 { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T> }, [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"LD1 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|0|1|0|0|0|0|0|0|0010:4|size:2|Rn:5|Rt:5","Arch":"No offset Four registers variant","Syntax":"LD1 { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T>, <Vt4>.<T> }, [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"LD1 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|1|0|11111:5|0111:4|size:2|Rn:5|Rt:5","Arch":"Post-index One register, immediate offset variant","Syntax":"LD1 { <Vt>.<T> }, [<Xn|SP>], <imm>","Code":"","Alias":""},
+{"Name":"LD1 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|1|0|Rm:5|0111:4|size:2|Rn:5|Rt:5","Arch":"Post-index One register, register offset variant","Syntax":"LD1 { <Vt>.<T> }, [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"LD1 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|1|0|11111:5|1010:4|size:2|Rn:5|Rt:5","Arch":"Post-index Two registers, immediate offset variant","Syntax":"LD1 { <Vt>.<T>, <Vt2>.<T> }, [<Xn|SP>], <imm>","Code":"","Alias":""},
+{"Name":"LD1 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|1|0|Rm:5|1010:4|size:2|Rn:5|Rt:5","Arch":"Post-index Two registers, register offset variant","Syntax":"LD1 { <Vt>.<T>, <Vt2>.<T> }, [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"LD1 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|1|0|11111:5|0110:4|size:2|Rn:5|Rt:5","Arch":"Post-index Three registers, immediate offset variant","Syntax":"LD1 { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T> }, [<Xn|SP>], <imm>","Code":"","Alias":""},
+{"Name":"LD1 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|1|0|Rm:5|0110:4|size:2|Rn:5|Rt:5","Arch":"Post-index Three registers, register offset variant","Syntax":"LD1 { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T> }, [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"LD1 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|1|0|11111:5|0010:4|size:2|Rn:5|Rt:5","Arch":"Post-index Four registers, immediate offset variant","Syntax":"LD1 { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T>, <Vt4>.<T> }, [<Xn|SP>], <imm>","Code":"","Alias":""},
+{"Name":"LD1 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|1|0|Rm:5|0010:4|size:2|Rn:5|Rt:5","Arch":"Post-index Four registers, register offset variant","Syntax":"LD1 { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T>, <Vt4>.<T> }, [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"LD1 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|1|0|0|0|0|0|0|000:3|S|size:2|Rn:5|Rt:5","Arch":"No offset 8-bit variant","Syntax":"LD1 { <Vt>.B }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"LD1 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|1|0|0|0|0|0|0|010:3|S|size:2|Rn:5|Rt:5","Arch":"No offset 16-bit variant","Syntax":"LD1 { <Vt>.H }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"LD1 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|1|0|0|0|0|0|0|100:3|S|00:2|Rn:5|Rt:5","Arch":"No offset 32-bit variant","Syntax":"LD1 { <Vt>.S }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"LD1 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|1|0|0|0|0|0|0|100:3|0|01:2|Rn:5|Rt:5","Arch":"No offset 64-bit variant","Syntax":"LD1 { <Vt>.D }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"LD1 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|0|11111:5|000:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 8-bit, immediate offset variant","Syntax":"LD1 { <Vt>.B }[<index>], [<Xn|SP>], #1","Code":"","Alias":""},
+{"Name":"LD1 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|0|Rm:5|000:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 8-bit, register offset variant","Syntax":"LD1 { <Vt>.B }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"LD1 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|0|11111:5|010:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 16-bit, immediate offset variant","Syntax":"LD1 { <Vt>.H }[<index>], [<Xn|SP>], #2","Code":"","Alias":""},
+{"Name":"LD1 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|0|Rm:5|010:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 16-bit, register offset variant","Syntax":"LD1 { <Vt>.H }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"LD1 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|0|11111:5|100:3|S|00:2|Rn:5|Rt:5","Arch":"Post-index 32-bit, immediate offset variant","Syntax":"LD1 { <Vt>.S }[<index>], [<Xn|SP>], #4","Code":"","Alias":""},
+{"Name":"LD1 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|0|Rm:5|100:3|S|00:2|Rn:5|Rt:5","Arch":"Post-index 32-bit, register offset variant","Syntax":"LD1 { <Vt>.S }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"LD1 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|0|11111:5|100:3|0|01:2|Rn:5|Rt:5","Arch":"Post-index 64-bit, immediate offset variant","Syntax":"LD1 { <Vt>.D }[<index>], [<Xn|SP>], #8","Code":"","Alias":""},
+{"Name":"LD1 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|0|Rm:5|100:3|0|01:2|Rn:5|Rt:5","Arch":"Post-index 64-bit, register offset variant","Syntax":"LD1 { <Vt>.D }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"LD1R","Bits":"0|Q|0|0|1|1|0|1|0|1|0|0|0|0|0|0|1|1|0|0|size:2|Rn:5|Rt:5","Arch":"No offset No offset variant","Syntax":"LD1R { <Vt>.<T> }, [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"LD1R","Bits":"0|Q|0|0|1|1|0|1|1|1|0|11111:5|1|1|0|0|size:2|Rn:5|Rt:5","Arch":"Post-index Immediate offset variant","Syntax":"LD1R { <Vt>.<T> }, [<Xn|SP>], <imm>","Code":"","Alias":""},
+{"Name":"LD1R","Bits":"0|Q|0|0|1|1|0|1|1|1|0|Rm:5|1|1|0|0|size:2|Rn:5|Rt:5","Arch":"Post-index Register offset variant","Syntax":"LD1R { <Vt>.<T> }, [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"LD2 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|0|1|0|0|0|0|0|0|1|0|0|0|size:2|Rn:5|Rt:5","Arch":"No offset No offset variant","Syntax":"LD2 { <Vt>.<T>, <Vt2>.<T> }, [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"LD2 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|1|0|11111:5|1|0|0|0|size:2|Rn:5|Rt:5","Arch":"Post-index Immediate offset variant","Syntax":"LD2 { <Vt>.<T>, <Vt2>.<T> }, [<Xn|SP>], <imm>","Code":"","Alias":""},
+{"Name":"LD2 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|1|0|Rm:5|1|0|0|0|size:2|Rn:5|Rt:5","Arch":"Post-index Register offset variant","Syntax":"LD2 { <Vt>.<T>, <Vt2>.<T> }, [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"LD2 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|1|1|0|0|0|0|0|000:3|S|size:2|Rn:5|Rt:5","Arch":"No offset 8-bit variant","Syntax":"LD2 { <Vt>.B, <Vt2>.B }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"LD2 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|1|1|0|0|0|0|0|010:3|S|size:2|Rn:5|Rt:5","Arch":"No offset 16-bit variant","Syntax":"LD2 { <Vt>.H, <Vt2>.H }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"LD2 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|1|1|0|0|0|0|0|100:3|S|00:2|Rn:5|Rt:5","Arch":"No offset 32-bit variant","Syntax":"LD2 { <Vt>.S, <Vt2>.S }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"LD2 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|1|1|0|0|0|0|0|100:3|0|01:2|Rn:5|Rt:5","Arch":"No offset 64-bit variant","Syntax":"LD2 { <Vt>.D, <Vt2>.D }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"LD2 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|1|11111:5|000:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 8-bit, immediate offset variant","Syntax":"LD2 { <Vt>.B, <Vt2>.B }[<index>], [<Xn|SP>], #2","Code":"","Alias":""},
+{"Name":"LD2 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|1|Rm:5|000:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 8-bit, register offset variant","Syntax":"LD2 { <Vt>.B, <Vt2>.B }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"LD2 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|1|11111:5|010:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 16-bit, immediate offset variant","Syntax":"LD2 { <Vt>.H, <Vt2>.H }[<index>], [<Xn|SP>], #4","Code":"","Alias":""},
+{"Name":"LD2 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|1|Rm:5|010:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 16-bit, register offset variant","Syntax":"LD2 { <Vt>.H, <Vt2>.H }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"LD2 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|1|11111:5|100:3|S|00:2|Rn:5|Rt:5","Arch":"Post-index 32-bit, immediate offset variant","Syntax":"LD2 { <Vt>.S, <Vt2>.S }[<index>], [<Xn|SP>], #8","Code":"","Alias":""},
+{"Name":"LD2 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|1|Rm:5|100:3|S|00:2|Rn:5|Rt:5","Arch":"Post-index 32-bit, register offset variant","Syntax":"LD2 { <Vt>.S, <Vt2>.S }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"LD2 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|1|11111:5|100:3|0|01:2|Rn:5|Rt:5","Arch":"Post-index 64-bit, immediate offset variant","Syntax":"LD2 { <Vt>.D, <Vt2>.D }[<index>], [<Xn|SP>], #16","Code":"","Alias":""},
+{"Name":"LD2 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|1|Rm:5|100:3|0|01:2|Rn:5|Rt:5","Arch":"Post-index 64-bit, register offset variant","Syntax":"LD2 { <Vt>.D, <Vt2>.D }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"LD2R","Bits":"0|Q|0|0|1|1|0|1|0|1|1|0|0|0|0|0|1|1|0|0|size:2|Rn:5|Rt:5","Arch":"No offset No offset variant","Syntax":"LD2R { <Vt>.<T>, <Vt2>.<T> }, [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"LD2R","Bits":"0|Q|0|0|1|1|0|1|1|1|1|11111:5|1|1|0|0|size:2|Rn:5|Rt:5","Arch":"Post-index Immediate offset variant","Syntax":"LD2R { <Vt>.<T>, <Vt2>.<T> }, [<Xn|SP>], <imm>","Code":"","Alias":""},
+{"Name":"LD2R","Bits":"0|Q|0|0|1|1|0|1|1|1|1|Rm:5|1|1|0|0|size:2|Rn:5|Rt:5","Arch":"Post-index Register offset variant","Syntax":"LD2R { <Vt>.<T>, <Vt2>.<T> }, [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"LD3 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|0|1|0|0|0|0|0|0|0|1|0|0|size:2|Rn:5|Rt:5","Arch":"No offset No offset variant","Syntax":"LD3 { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T> }, [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"LD3 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|1|0|11111:5|0|1|0|0|size:2|Rn:5|Rt:5","Arch":"Post-index Immediate offset variant","Syntax":"LD3 { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T> }, [<Xn|SP>], <imm>","Code":"","Alias":""},
+{"Name":"LD3 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|1|0|Rm:5|0|1|0|0|size:2|Rn:5|Rt:5","Arch":"Post-index Register offset variant","Syntax":"LD3 { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T> }, [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"LD3 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|1|0|0|0|0|0|0|001:3|S|size:2|Rn:5|Rt:5","Arch":"No offset 8-bit variant","Syntax":"LD3 { <Vt>.B, <Vt2>.B, <Vt3>.B }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"LD3 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|1|0|0|0|0|0|0|011:3|S|size:2|Rn:5|Rt:5","Arch":"No offset 16-bit variant","Syntax":"LD3 { <Vt>.H, <Vt2>.H, <Vt3>.H }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"LD3 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|1|0|0|0|0|0|0|101:3|S|00:2|Rn:5|Rt:5","Arch":"No offset 32-bit variant","Syntax":"LD3 { <Vt>.S, <Vt2>.S, <Vt3>.S }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"LD3 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|1|0|0|0|0|0|0|101:3|0|01:2|Rn:5|Rt:5","Arch":"No offset 64-bit variant","Syntax":"LD3 { <Vt>.D, <Vt2>.D, <Vt3>.D }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"LD3 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|0|11111:5|001:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 8-bit, immediate offset variant","Syntax":"LD3 { <Vt>.B, <Vt2>.B, <Vt3>.B }[<index>], [<Xn|SP>], #3","Code":"","Alias":""},
+{"Name":"LD3 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|0|Rm:5|001:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 8-bit, register offset variant","Syntax":"LD3 { <Vt>.B, <Vt2>.B, <Vt3>.B }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"LD3 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|0|11111:5|011:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 16-bit, immediate offset variant","Syntax":"LD3 { <Vt>.H, <Vt2>.H, <Vt3>.H }[<index>], [<Xn|SP>], #6","Code":"","Alias":""},
+{"Name":"LD3 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|0|Rm:5|011:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 16-bit, register offset variant","Syntax":"LD3 { <Vt>.H, <Vt2>.H, <Vt3>.H }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"LD3 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|0|11111:5|101:3|S|00:2|Rn:5|Rt:5","Arch":"Post-index 32-bit, immediate offset variant","Syntax":"LD3 { <Vt>.S, <Vt2>.S, <Vt3>.S }[<index>], [<Xn|SP>], #12","Code":"","Alias":""},
+{"Name":"LD3 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|0|Rm:5|101:3|S|00:2|Rn:5|Rt:5","Arch":"Post-index 32-bit, register offset variant","Syntax":"LD3 { <Vt>.S, <Vt2>.S, <Vt3>.S }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"LD3 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|0|11111:5|101:3|0|01:2|Rn:5|Rt:5","Arch":"Post-index 64-bit, immediate offset variant","Syntax":"LD3 { <Vt>.D, <Vt2>.D, <Vt3>.D }[<index>], [<Xn|SP>], #24","Code":"","Alias":""},
+{"Name":"LD3 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|0|Rm:5|101:3|0|01:2|Rn:5|Rt:5","Arch":"Post-index 64-bit, register offset variant","Syntax":"LD3 { <Vt>.D, <Vt2>.D, <Vt3>.D }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"LD3R","Bits":"0|Q|0|0|1|1|0|1|0|1|0|0|0|0|0|0|1|1|1|0|size:2|Rn:5|Rt:5","Arch":"No offset No offset variant","Syntax":"LD3R { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T> }, [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"LD3R","Bits":"0|Q|0|0|1|1|0|1|1|1|0|11111:5|1|1|1|0|size:2|Rn:5|Rt:5","Arch":"Post-index Immediate offset variant","Syntax":"LD3R { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T> }, [<Xn|SP>], <imm>","Code":"","Alias":""},
+{"Name":"LD3R","Bits":"0|Q|0|0|1|1|0|1|1|1|0|Rm:5|1|1|1|0|size:2|Rn:5|Rt:5","Arch":"Post-index Register offset variant","Syntax":"LD3R { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T> }, [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"LD4 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|0|1|0|0|0|0|0|0|0|0|0|0|size:2|Rn:5|Rt:5","Arch":"No offset No offset variant","Syntax":"LD4 { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T>, <Vt4>.<T> }, [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"LD4 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|1|0|11111:5|0|0|0|0|size:2|Rn:5|Rt:5","Arch":"Post-index Immediate offset variant","Syntax":"LD4 { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T>, <Vt4>.<T> }, [<Xn|SP>], <imm>","Code":"","Alias":""},
+{"Name":"LD4 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|1|0|Rm:5|0|0|0|0|size:2|Rn:5|Rt:5","Arch":"Post-index Register offset variant","Syntax":"LD4 { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T>, <Vt4>.<T> }, [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"LD4 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|1|1|0|0|0|0|0|001:3|S|size:2|Rn:5|Rt:5","Arch":"No offset 8-bit variant","Syntax":"LD4 { <Vt>.B, <Vt2>.B, <Vt3>.B, <Vt4>.B }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"LD4 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|1|1|0|0|0|0|0|011:3|S|size:2|Rn:5|Rt:5","Arch":"No offset 16-bit variant","Syntax":"LD4 { <Vt>.H, <Vt2>.H, <Vt3>.H, <Vt4>.H }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"LD4 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|1|1|0|0|0|0|0|101:3|S|00:2|Rn:5|Rt:5","Arch":"No offset 32-bit variant","Syntax":"LD4 { <Vt>.S, <Vt2>.S, <Vt3>.S, <Vt4>.S }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"LD4 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|1|1|0|0|0|0|0|101:3|0|01:2|Rn:5|Rt:5","Arch":"No offset 64-bit variant","Syntax":"LD4 { <Vt>.D, <Vt2>.D, <Vt3>.D, <Vt4>.D }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"LD4 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|1|11111:5|001:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 8-bit, immediate offset variant","Syntax":"LD4 { <Vt>.B, <Vt2>.B, <Vt3>.B, <Vt4>.B }[<index>], [<Xn|SP>], #4","Code":"","Alias":""},
+{"Name":"LD4 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|1|Rm:5|001:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 8-bit, register offset variant","Syntax":"LD4 { <Vt>.B, <Vt2>.B, <Vt3>.B, <Vt4>.B }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"LD4 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|1|11111:5|011:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 16-bit, immediate offset variant","Syntax":"LD4 { <Vt>.H, <Vt2>.H, <Vt3>.H, <Vt4>.H }[<index>], [<Xn|SP>], #8","Code":"","Alias":""},
+{"Name":"LD4 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|1|Rm:5|011:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 16-bit, register offset variant","Syntax":"LD4 { <Vt>.H, <Vt2>.H, <Vt3>.H, <Vt4>.H }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"LD4 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|1|11111:5|101:3|S|00:2|Rn:5|Rt:5","Arch":"Post-index 32-bit, immediate offset variant","Syntax":"LD4 { <Vt>.S, <Vt2>.S, <Vt3>.S, <Vt4>.S }[<index>], [<Xn|SP>], #16","Code":"","Alias":""},
+{"Name":"LD4 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|1|Rm:5|101:3|S|00:2|Rn:5|Rt:5","Arch":"Post-index 32-bit, register offset variant","Syntax":"LD4 { <Vt>.S, <Vt2>.S, <Vt3>.S, <Vt4>.S }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"LD4 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|1|11111:5|101:3|0|01:2|Rn:5|Rt:5","Arch":"Post-index 64-bit, immediate offset variant","Syntax":"LD4 { <Vt>.D, <Vt2>.D, <Vt3>.D, <Vt4>.D }[<index>], [<Xn|SP>], #32","Code":"","Alias":""},
+{"Name":"LD4 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|1|1|Rm:5|101:3|0|01:2|Rn:5|Rt:5","Arch":"Post-index 64-bit, register offset variant","Syntax":"LD4 { <Vt>.D, <Vt2>.D, <Vt3>.D, <Vt4>.D }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"LD4R","Bits":"0|Q|0|0|1|1|0|1|0|1|1|0|0|0|0|0|1|1|1|0|size:2|Rn:5|Rt:5","Arch":"No offset No offset variant","Syntax":"LD4R { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T>, <Vt4>.<T> }, [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"LD4R","Bits":"0|Q|0|0|1|1|0|1|1|1|1|11111:5|1|1|1|0|size:2|Rn:5|Rt:5","Arch":"Post-index Immediate offset variant","Syntax":"LD4R { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T>, <Vt4>.<T> }, [<Xn|SP>], <imm>","Code":"","Alias":""},
+{"Name":"LD4R","Bits":"0|Q|0|0|1|1|0|1|1|1|1|Rm:5|1|1|1|0|size:2|Rn:5|Rt:5","Arch":"Post-index Register offset variant","Syntax":"LD4R { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T>, <Vt4>.<T> }, [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"LDNP (SIMD&FP)","Bits":"00:2|1|0|1|1|0|0|0|1|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"LDNP <St1>, <St2>, [<Xn|SP>{, #<imm>}]","Code":"","Alias":""},
+{"Name":"LDNP (SIMD&FP)","Bits":"01:2|1|0|1|1|0|0|0|1|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"LDNP <Dt1>, <Dt2>, [<Xn|SP>{, #<imm>}]","Code":"","Alias":""},
+{"Name":"LDNP (SIMD&FP)","Bits":"10:2|1|0|1|1|0|0|0|1|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"128-bit variant","Syntax":"LDNP <Qt1>, <Qt2>, [<Xn|SP>{, #<imm>}]","Code":"","Alias":""},
+{"Name":"LDP (SIMD&FP)","Bits":"00:2|1|0|1|1|0|0|1|1|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Post-index 32-bit variant","Syntax":"LDP <St1>, <St2>, [<Xn|SP>], #<imm>","Code":"","Alias":""},
+{"Name":"LDP (SIMD&FP)","Bits":"01:2|1|0|1|1|0|0|1|1|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Post-index 64-bit variant","Syntax":"LDP <Dt1>, <Dt2>, [<Xn|SP>], #<imm>","Code":"","Alias":""},
+{"Name":"LDP (SIMD&FP)","Bits":"10:2|1|0|1|1|0|0|1|1|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Post-index 128-bit variant","Syntax":"LDP <Qt1>, <Qt2>, [<Xn|SP>], #<imm>","Code":"","Alias":""},
+{"Name":"LDP (SIMD&FP)","Bits":"00:2|1|0|1|1|0|1|1|1|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Pre-index 32-bit variant","Syntax":"LDP <St1>, <St2>, [<Xn|SP>, #<imm>]!","Code":"","Alias":""},
+{"Name":"LDP (SIMD&FP)","Bits":"01:2|1|0|1|1|0|1|1|1|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Pre-index 64-bit variant","Syntax":"LDP <Dt1>, <Dt2>, [<Xn|SP>, #<imm>]!","Code":"","Alias":""},
+{"Name":"LDP (SIMD&FP)","Bits":"10:2|1|0|1|1|0|1|1|1|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Pre-index 128-bit variant","Syntax":"LDP <Qt1>, <Qt2>, [<Xn|SP>, #<imm>]!","Code":"","Alias":""},
+{"Name":"LDP (SIMD&FP)","Bits":"00:2|1|0|1|1|0|1|0|1|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Signed offset 32-bit variant","Syntax":"LDP <St1>, <St2>, [<Xn|SP>{, #<imm>}]","Code":"","Alias":""},
+{"Name":"LDP (SIMD&FP)","Bits":"01:2|1|0|1|1|0|1|0|1|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Signed offset 64-bit variant","Syntax":"LDP <Dt1>, <Dt2>, [<Xn|SP>{, #<imm>}]","Code":"","Alias":""},
+{"Name":"LDP (SIMD&FP)","Bits":"10:2|1|0|1|1|0|1|0|1|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Signed offset 128-bit variant","Syntax":"LDP <Qt1>, <Qt2>, [<Xn|SP>{, #<imm>}]","Code":"","Alias":""},
+{"Name":"LDR (immediate, SIMD&FP)","Bits":"00:2|1|1|1|1|0|0|01:2|0|imm9:9|0|1|Rn:5|Rt:5","Arch":"Post-index 8-bit variant","Syntax":"LDR <Bt>, [<Xn|SP>], #<simm>","Code":"","Alias":""},
+{"Name":"LDR (immediate, SIMD&FP)","Bits":"01:2|1|1|1|1|0|0|01:2|0|imm9:9|0|1|Rn:5|Rt:5","Arch":"Post-index 16-bit variant","Syntax":"LDR <Ht>, [<Xn|SP>], #<simm>","Code":"","Alias":""},
+{"Name":"LDR (immediate, SIMD&FP)","Bits":"10:2|1|1|1|1|0|0|01:2|0|imm9:9|0|1|Rn:5|Rt:5","Arch":"Post-index 32-bit variant","Syntax":"LDR <St>, [<Xn|SP>], #<simm>","Code":"","Alias":""},
+{"Name":"LDR (immediate, SIMD&FP)","Bits":"11:2|1|1|1|1|0|0|01:2|0|imm9:9|0|1|Rn:5|Rt:5","Arch":"Post-index 64-bit variant","Syntax":"LDR <Dt>, [<Xn|SP>], #<simm>","Code":"","Alias":""},
+{"Name":"LDR (immediate, SIMD&FP)","Bits":"00:2|1|1|1|1|0|0|11:2|0|imm9:9|0|1|Rn:5|Rt:5","Arch":"Post-index 128-bit variant","Syntax":"LDR <Qt>, [<Xn|SP>], #<simm>","Code":"","Alias":""},
+{"Name":"LDR (immediate, SIMD&FP)","Bits":"00:2|1|1|1|1|0|0|01:2|0|imm9:9|1|1|Rn:5|Rt:5","Arch":"Pre-index 8-bit variant","Syntax":"LDR <Bt>, [<Xn|SP>, #<simm>]!","Code":"","Alias":""},
+{"Name":"LDR (immediate, SIMD&FP)","Bits":"01:2|1|1|1|1|0|0|01:2|0|imm9:9|1|1|Rn:5|Rt:5","Arch":"Pre-index 16-bit variant","Syntax":"LDR <Ht>, [<Xn|SP>, #<simm>]!","Code":"","Alias":""},
+{"Name":"LDR (immediate, SIMD&FP)","Bits":"10:2|1|1|1|1|0|0|01:2|0|imm9:9|1|1|Rn:5|Rt:5","Arch":"Pre-index 32-bit variant","Syntax":"LDR <St>, [<Xn|SP>, #<simm>]!","Code":"","Alias":""},
+{"Name":"LDR (immediate, SIMD&FP)","Bits":"11:2|1|1|1|1|0|0|01:2|0|imm9:9|1|1|Rn:5|Rt:5","Arch":"Pre-index 64-bit variant","Syntax":"LDR <Dt>, [<Xn|SP>, #<simm>]!","Code":"","Alias":""},
+{"Name":"LDR (immediate, SIMD&FP)","Bits":"00:2|1|1|1|1|0|0|11:2|0|imm9:9|1|1|Rn:5|Rt:5","Arch":"Pre-index 128-bit variant","Syntax":"LDR <Qt>, [<Xn|SP>, #<simm>]!","Code":"","Alias":""},
+{"Name":"LDR (immediate, SIMD&FP)","Bits":"00:2|1|1|1|1|0|1|01:2|imm12:12|Rn:5|Rt:5","Arch":"Unsigned offset 8-bit variant","Syntax":"LDR <Bt>, [<Xn|SP>{, #<pimm>}]","Code":"","Alias":""},
+{"Name":"LDR (immediate, SIMD&FP)","Bits":"01:2|1|1|1|1|0|1|01:2|imm12:12|Rn:5|Rt:5","Arch":"Unsigned offset 16-bit variant","Syntax":"LDR <Ht>, [<Xn|SP>{, #<pimm>}]","Code":"","Alias":""},
+{"Name":"LDR (immediate, SIMD&FP)","Bits":"10:2|1|1|1|1|0|1|01:2|imm12:12|Rn:5|Rt:5","Arch":"Unsigned offset 32-bit variant","Syntax":"LDR <St>, [<Xn|SP>{, #<pimm>}]","Code":"","Alias":""},
+{"Name":"LDR (immediate, SIMD&FP)","Bits":"11:2|1|1|1|1|0|1|01:2|imm12:12|Rn:5|Rt:5","Arch":"Unsigned offset 64-bit variant","Syntax":"LDR <Dt>, [<Xn|SP>{, #<pimm>}]","Code":"","Alias":""},
+{"Name":"LDR (immediate, SIMD&FP)","Bits":"00:2|1|1|1|1|0|1|11:2|imm12:12|Rn:5|Rt:5","Arch":"Unsigned offset 128-bit variant","Syntax":"LDR <Qt>, [<Xn|SP>{, #<pimm>}]","Code":"","Alias":""},
+{"Name":"LDR (literal, SIMD&FP)","Bits":"00:2|0|1|1|1|0|0|imm19:19|Rt:5","Arch":"32-bit variant","Syntax":"LDR <St>, <label>","Code":"","Alias":""},
+{"Name":"LDR (literal, SIMD&FP)","Bits":"01:2|0|1|1|1|0|0|imm19:19|Rt:5","Arch":"64-bit variant","Syntax":"LDR <Dt>, <label>","Code":"","Alias":""},
+{"Name":"LDR (literal, SIMD&FP)","Bits":"10:2|0|1|1|1|0|0|imm19:19|Rt:5","Arch":"128-bit variant","Syntax":"LDR <Qt>, <label>","Code":"","Alias":""},
+{"Name":"LDR (register, SIMD&FP)","Bits":"00:2|1|1|1|1|0|0|01:2|1|Rm:5|option:3|S|1|0|Rn:5|Rt:5","Arch":"8-bit variant","Syntax":"LDR <Bt>, [<Xn|SP>, (<Wm>|<Xm>), <extend> {<amount>}]","Code":"","Alias":""},
+{"Name":"LDR (register, SIMD&FP)","Bits":"00:2|1|1|1|1|0|0|01:2|1|Rm:5|011:3|S|1|0|Rn:5|Rt:5","Arch":"8-bit variant","Syntax":"LDR <Bt>, [<Xn|SP>, <Xm>{, LSL <amount>}]","Code":"","Alias":""},
+{"Name":"LDR (register, SIMD&FP)","Bits":"01:2|1|1|1|1|0|0|01:2|1|Rm:5|option:3|S|1|0|Rn:5|Rt:5","Arch":"16-bit variant","Syntax":"LDR <Ht>, [<Xn|SP>, (<Wm>|<Xm>){, <extend> {<amount>}}]","Code":"","Alias":""},
+{"Name":"LDR (register, SIMD&FP)","Bits":"10:2|1|1|1|1|0|0|01:2|1|Rm:5|option:3|S|1|0|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"LDR <St>, [<Xn|SP>, (<Wm>|<Xm>){, <extend> {<amount>}}]","Code":"","Alias":""},
+{"Name":"LDR (register, SIMD&FP)","Bits":"11:2|1|1|1|1|0|0|01:2|1|Rm:5|option:3|S|1|0|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"LDR <Dt>, [<Xn|SP>, (<Wm>|<Xm>){, <extend> {<amount>}}]","Code":"","Alias":""},
+{"Name":"LDR (register, SIMD&FP)","Bits":"00:2|1|1|1|1|0|0|11:2|1|Rm:5|option:3|S|1|0|Rn:5|Rt:5","Arch":"128-bit variant","Syntax":"LDR <Qt>, [<Xn|SP>, (<Wm>|<Xm>){, <extend> {<amount>}}]","Code":"","Alias":""},
+{"Name":"LDUR (SIMD&FP)","Bits":"00:2|1|1|1|1|0|0|01:2|0|imm9:9|0|0|Rn:5|Rt:5","Arch":"8-bit variant","Syntax":"LDUR <Bt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"LDUR (SIMD&FP)","Bits":"01:2|1|1|1|1|0|0|01:2|0|imm9:9|0|0|Rn:5|Rt:5","Arch":"16-bit variant","Syntax":"LDUR <Ht>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"LDUR (SIMD&FP)","Bits":"10:2|1|1|1|1|0|0|01:2|0|imm9:9|0|0|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"LDUR <St>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"LDUR (SIMD&FP)","Bits":"11:2|1|1|1|1|0|0|01:2|0|imm9:9|0|0|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"LDUR <Dt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"LDUR (SIMD&FP)","Bits":"00:2|1|1|1|1|0|0|11:2|0|imm9:9|0|0|Rn:5|Rt:5","Arch":"128-bit variant","Syntax":"LDUR <Qt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"MLA (by element)","Bits":"0|Q|1|0|1|1|1|1|size:2|L|M|Rm:4|0|0|0|0|H|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"MLA <Vd>.<T>, <Vn>.<T>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"MLA (vector)","Bits":"0|Q|0|0|1|1|1|0|size:2|1|Rm:5|1|0|0|1|0|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"MLA <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"MLS (by element)","Bits":"0|Q|1|0|1|1|1|1|size:2|L|M|Rm:4|0|1|0|0|H|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"MLS <Vd>.<T>, <Vn>.<T>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"MLS (vector)","Bits":"0|Q|1|0|1|1|1|0|size:2|1|Rm:5|1|0|0|1|0|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"MLS <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"MOV (scalar)","Bits":"0|1|0|1|1|1|1|0|0|0|0|imm5:5|0|0|0|0|0|1|Rn:5|Rd:5","Arch":"Scalar variant","Syntax":"MOV <V><d>, <Vn>.<T>[<index>]","Code":"","Alias":"This instruction is an alias of the DUP (element) instruction."},
+{"Name":"MOV (element)","Bits":"0|1|1|0|1|1|1|0|0|0|0|imm5:5|0|imm4:4|1|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"MOV <Vd>.<Ts>[<index1>], <Vn>.<Ts>[<index2>]","Code":"","Alias":"This instruction is an alias of the INS (element) instruction."},
+{"Name":"MOV (from general)","Bits":"0|1|0|0|1|1|1|0|0|0|0|imm5:5|0|0|0|1|1|1|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"MOV <Vd>.<Ts>[<index>], <R><n>","Code":"","Alias":"This instruction is an alias of the INS (general) instruction."},
+{"Name":"MOV (vector)","Bits":"0|Q|0|0|1|1|1|0|1|0|1|Rm:5|0|0|0|1|1|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"MOV <Vd>.<T>, <Vn>.<T>","Code":"","Alias":"This instruction is an alias of the ORR (vector, register) instruction."},
+{"Name":"MOV (to general)","Bits":"0|0|0|0|1|1|1|0|0|0|0|imm5:5|0|0|1|1|1|1|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"MOV <Wd>, <Vn>.S[<index>]","Code":"","Alias":"This instruction is an alias of the UMOV instruction."},
+{"Name":"MOV (to general)","Bits":"0|1|0|0|1|1|1|0|0|0|0|imm5:5|0|0|1|1|1|1|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"MOV <Xd>, <Vn>.D[<index>]","Code":"","Alias":"This instruction is an alias of the UMOV instruction."},
+{"Name":"MOVI","Bits":"0|Q|0|0|1|1|1|1|0|0|0|0|0|a|b|c|1110:4|0|1|d|e|f|g|h|Rd:5","Arch":"8-bit variant","Syntax":"MOVI <Vd>.<T>, #<imm8>{, LSL #0}","Code":"","Alias":""},
+{"Name":"MOVI","Bits":"0|Q|0|0|1|1|1|1|0|0|0|0|0|a|b|c|cmode:4|0|1|d|e|f|g|h|Rd:5","Arch":"16-bit shifted immediate variant","Syntax":"MOVI <Vd>.<T>, #<imm8>{, LSL #<amount>}","Code":"","Alias":""},
+{"Name":"MOVI","Bits":"0|Q|0|0|1|1|1|1|0|0|0|0|0|a|b|c|cmode:4|0|1|d|e|f|g|h|Rd:5","Arch":"32-bit shifted immediate variant","Syntax":"MOVI <Vd>.<T>, #<imm8>{, LSL #<amount>}","Code":"","Alias":""},
+{"Name":"MOVI","Bits":"0|Q|0|0|1|1|1|1|0|0|0|0|0|a|b|c|cmode:4|0|1|d|e|f|g|h|Rd:5","Arch":"32-bit shifting ones variant","Syntax":"MOVI <Vd>.<T>, #<imm8>, MSL #<amount>","Code":"","Alias":""},
+{"Name":"MOVI","Bits":"0|0|1|0|1|1|1|1|0|0|0|0|0|a|b|c|1110:4|0|1|d|e|f|g|h|Rd:5","Arch":"64-bit scalar variant","Syntax":"MOVI <Dd>, #<imm>","Code":"","Alias":""},
+{"Name":"MOVI","Bits":"0|1|1|0|1|1|1|1|0|0|0|0|0|a|b|c|1110:4|0|1|d|e|f|g|h|Rd:5","Arch":"64-bit vector variant","Syntax":"MOVI <Vd>.2D, #<imm>","Code":"","Alias":""},
+{"Name":"MUL (by element)","Bits":"0|Q|0|0|1|1|1|1|size:2|L|M|Rm:4|1|0|0|0|H|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"MUL <Vd>.<T>, <Vn>.<T>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"MUL (vector)","Bits":"0|Q|0|0|1|1|1|0|size:2|1|Rm:5|1|0|0|1|1|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"MUL <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"MVN","Bits":"0|Q|1|0|1|1|1|0|0|0|1|0|0|0|0|0|0|1|0|1|1|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"MVN <Vd>.<T>, <Vn>.<T>","Code":"","Alias":"This instruction is an alias of the NOT instruction."},
+{"Name":"MVNI","Bits":"0|Q|1|0|1|1|1|1|0|0|0|0|0|a|b|c|cmode:4|0|1|d|e|f|g|h|Rd:5","Arch":"16-bit shifted immediate variant","Syntax":"MVNI <Vd>.<T>, #<imm8>{, LSL #<amount>}","Code":"","Alias":""},
+{"Name":"MVNI","Bits":"0|Q|1|0|1|1|1|1|0|0|0|0|0|a|b|c|cmode:4|0|1|d|e|f|g|h|Rd:5","Arch":"32-bit shifted immediate variant","Syntax":"MVNI <Vd>.<T>, #<imm8>{, LSL #<amount>}","Code":"","Alias":""},
+{"Name":"MVNI","Bits":"0|Q|1|0|1|1|1|1|0|0|0|0|0|a|b|c|cmode:4|0|1|d|e|f|g|h|Rd:5","Arch":"32-bit shifting ones variant","Syntax":"MVNI <Vd>.<T>, #<imm8>, MSL #<amount>","Code":"","Alias":""},
+{"Name":"NEG (vector)","Bits":"0|1|1|1|1|1|1|0|size:2|1|0|0|0|0|0|1|0|1|1|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"NEG <V><d>, <V><n>","Code":"","Alias":""},
+{"Name":"NEG (vector)","Bits":"0|Q|1|0|1|1|1|0|size:2|1|0|0|0|0|0|1|0|1|1|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"NEG <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"NOT","Bits":"0|Q|1|0|1|1|1|0|0|0|1|0|0|0|0|0|0|1|0|1|1|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"NOT <Vd>.<T>, <Vn>.<T>","Code":"","Alias":"This instruction is used by the alias MVN."},
+{"Name":"ORN (vector)","Bits":"0|Q|0|0|1|1|1|0|1|1|1|Rm:5|0|0|0|1|1|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"ORN <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"ORR (vector, immediate)","Bits":"0|Q|0|0|1|1|1|1|0|0|0|0|0|a|b|c|cmode:4|0|1|d|e|f|g|h|Rd:5","Arch":"16-bit variant","Syntax":"ORR <Vd>.<T>, #<imm8>{, LSL #<amount>}","Code":"","Alias":""},
+{"Name":"ORR (vector, immediate)","Bits":"0|Q|0|0|1|1|1|1|0|0|0|0|0|a|b|c|cmode:4|0|1|d|e|f|g|h|Rd:5","Arch":"32-bit variant","Syntax":"ORR <Vd>.<T>, #<imm8>{, LSL #<amount>}","Code":"","Alias":""},
+{"Name":"ORR (vector, register)","Bits":"0|Q|0|0|1|1|1|0|1|0|1|Rm:5|0|0|0|1|1|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"ORR <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":"This instruction is used by the alias MOV (vector)."},
+{"Name":"PMUL","Bits":"0|Q|1|0|1|1|1|0|size:2|1|Rm:5|1|0|0|1|1|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"PMUL <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"PMULL, PMULL2","Bits":"0|0|0|0|1|1|1|0|size:2|1|Rm:5|1|1|1|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"PMULL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"PMULL, PMULL2","Bits":"0|1|0|0|1|1|1|0|size:2|1|Rm:5|1|1|1|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"PMULL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"RADDHN, RADDHN2","Bits":"0|0|1|0|1|1|1|0|size:2|1|Rm:5|0|1|0|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"RADDHN <Vd>.<Tb>, <Vn>.<Ta>, <Vm>.<Ta>","Code":"","Alias":""},
+{"Name":"RADDHN, RADDHN2","Bits":"0|1|1|0|1|1|1|0|size:2|1|Rm:5|0|1|0|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"RADDHN2 <Vd>.<Tb>, <Vn>.<Ta>, <Vm>.<Ta>","Code":"","Alias":""},
+{"Name":"RBIT (vector)","Bits":"0|Q|1|0|1|1|1|0|0|1|1|0|0|0|0|0|0|1|0|1|1|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"RBIT <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"REV16 (vector)","Bits":"0|Q|0|0|1|1|1|0|size:2|1|0|0|0|0|0|0|0|0|1|1|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"REV16 <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"REV32 (vector)","Bits":"0|Q|1|0|1|1|1|0|size:2|1|0|0|0|0|0|0|0|0|0|1|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"REV32 <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"REV64","Bits":"0|Q|0|0|1|1|1|0|size:2|1|0|0|0|0|0|0|0|0|0|1|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"REV64 <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"RSHRN, RSHRN2","Bits":"0|0|0|0|1|1|1|1|0|immh:4|immb:3|1|0|0|0|1|1|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"RSHRN <Vd>.<Tb>, <Vn>.<Ta>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"RSHRN, RSHRN2","Bits":"0|1|0|0|1|1|1|1|0|immh:4|immb:3|1|0|0|0|1|1|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"RSHRN2 <Vd>.<Tb>, <Vn>.<Ta>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"RSUBHN, RSUBHN2","Bits":"0|0|1|0|1|1|1|0|size:2|1|Rm:5|0|1|1|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"RSUBHN <Vd>.<Tb>, <Vn>.<Ta>, <Vm>.<Ta>","Code":"","Alias":""},
+{"Name":"RSUBHN, RSUBHN2","Bits":"0|1|1|0|1|1|1|0|size:2|1|Rm:5|0|1|1|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"RSUBHN2 <Vd>.<Tb>, <Vn>.<Ta>, <Vm>.<Ta>","Code":"","Alias":""},
+{"Name":"SABA","Bits":"0|Q|0|0|1|1|1|0|size:2|1|Rm:5|0|1|1|1|1|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"SABA <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"SABAL, SABAL2","Bits":"0|0|0|0|1|1|1|0|size:2|1|Rm:5|0|1|0|1|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"SABAL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"SABAL, SABAL2","Bits":"0|1|0|0|1|1|1|0|size:2|1|Rm:5|0|1|0|1|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"SABAL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"SABD","Bits":"0|Q|0|0|1|1|1|0|size:2|1|Rm:5|0|1|1|1|0|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"SABD <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"SABDL, SABDL2","Bits":"0|0|0|0|1|1|1|0|size:2|1|Rm:5|0|1|1|1|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"SABDL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"SABDL, SABDL2","Bits":"0|1|0|0|1|1|1|0|size:2|1|Rm:5|0|1|1|1|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"SABDL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"SADALP","Bits":"0|Q|0|0|1|1|1|0|size:2|1|0|0|0|0|0|0|1|1|0|1|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"SADALP <Vd>.<Ta>, <Vn>.<Tb>","Code":"","Alias":""},
+{"Name":"SADDL, SADDL2","Bits":"0|0|0|0|1|1|1|0|size:2|1|Rm:5|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"SADDL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"SADDL, SADDL2","Bits":"0|1|0|0|1|1|1|0|size:2|1|Rm:5|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"SADDL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"SADDLP","Bits":"0|Q|0|0|1|1|1|0|size:2|1|0|0|0|0|0|0|0|1|0|1|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"SADDLP <Vd>.<Ta>, <Vn>.<Tb>","Code":"","Alias":""},
+{"Name":"SADDLV","Bits":"0|Q|0|0|1|1|1|0|size:2|1|1|0|0|0|0|0|0|1|1|1|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"SADDLV <V><d>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"SADDW, SADDW2","Bits":"0|0|0|0|1|1|1|0|size:2|1|Rm:5|0|0|0|1|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"SADDW <Vd>.<Ta>, <Vn>.<Ta>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"SADDW, SADDW2","Bits":"0|1|0|0|1|1|1|0|size:2|1|Rm:5|0|0|0|1|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"SADDW2 <Vd>.<Ta>, <Vn>.<Ta>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"SCVTF (vector, fixed-point)","Bits":"0|1|0|1|1|1|1|1|0|immh:4|immb:3|1|1|1|0|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SCVTF <V><d>, <V><n>, #<fbits>","Code":"","Alias":""},
+{"Name":"SCVTF (vector, fixed-point)","Bits":"0|Q|0|0|1|1|1|1|0|immh:4|immb:3|1|1|1|0|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SCVTF <Vd>.<T>, <Vn>.<T>, #<fbits>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"SCVTF (vector, integer)","Bits":"0|1|0|1|1|1|1|0|0|sz|1|0|0|0|0|1|1|1|0|1|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SCVTF <V><d>, <V><n>","Code":"","Alias":""},
+{"Name":"SCVTF (vector, integer)","Bits":"0|Q|0|0|1|1|1|0|0|sz|1|0|0|0|0|1|1|1|0|1|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SCVTF <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"SCVTF (scalar, fixed-point)","Bits":"0|0|0|1|1|1|1|0|00:2|0|0|0|0|1|0|scale:6|Rn:5|Rd:5","Arch":"32-bit to single-precision variant","Syntax":"SCVTF <Sd>, <Wn>, #<fbits>","Code":"","Alias":""},
+{"Name":"SCVTF (scalar, fixed-point)","Bits":"0|0|0|1|1|1|1|0|01:2|0|0|0|0|1|0|scale:6|Rn:5|Rd:5","Arch":"32-bit to double-precision variant","Syntax":"SCVTF <Dd>, <Wn>, #<fbits>","Code":"","Alias":""},
+{"Name":"SCVTF (scalar, fixed-point)","Bits":"1|0|0|1|1|1|1|0|00:2|0|0|0|0|1|0|scale:6|Rn:5|Rd:5","Arch":"64-bit to single-precision variant","Syntax":"SCVTF <Sd>, <Xn>, #<fbits>","Code":"","Alias":""},
+{"Name":"SCVTF (scalar, fixed-point)","Bits":"1|0|0|1|1|1|1|0|01:2|0|0|0|0|1|0|scale:6|Rn:5|Rd:5","Arch":"64-bit to double-precision variant","Syntax":"SCVTF <Dd>, <Xn>, #<fbits>","Code":"","Alias":""},
+{"Name":"SCVTF (scalar, integer)","Bits":"0|0|0|1|1|1|1|0|00:2|1|0|0|0|1|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"32-bit to single-precision variant","Syntax":"SCVTF <Sd>, <Wn>","Code":"","Alias":""},
+{"Name":"SCVTF (scalar, integer)","Bits":"0|0|0|1|1|1|1|0|01:2|1|0|0|0|1|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"32-bit to double-precision variant","Syntax":"SCVTF <Dd>, <Wn>","Code":"","Alias":""},
+{"Name":"SCVTF (scalar, integer)","Bits":"1|0|0|1|1|1|1|0|00:2|1|0|0|0|1|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"64-bit to single-precision variant","Syntax":"SCVTF <Sd>, <Xn>","Code":"","Alias":""},
+{"Name":"SCVTF (scalar, integer)","Bits":"1|0|0|1|1|1|1|0|01:2|1|0|0|0|1|0|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"64-bit to double-precision variant","Syntax":"SCVTF <Dd>, <Xn>","Code":"","Alias":""},
+{"Name":"SHA1C","Bits":"0|1|0|1|1|1|1|0|0|0|0|Rm:5|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"SHA1C <Qd>, <Sn>, <Vm>.4S","Code":"","Alias":""},
+{"Name":"SHA1H","Bits":"0|1|0|1|1|1|1|0|0|0|1|0|1|0|0|0|0|0|0|0|1|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"SHA1H <Sd>, <Sn>","Code":"","Alias":""},
+{"Name":"SHA1M","Bits":"0|1|0|1|1|1|1|0|0|0|0|Rm:5|0|0|1|0|0|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"SHA1M <Qd>, <Sn>, <Vm>.4S","Code":"","Alias":""},
+{"Name":"SHA1P","Bits":"0|1|0|1|1|1|1|0|0|0|0|Rm:5|0|0|0|1|0|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"SHA1P <Qd>, <Sn>, <Vm>.4S","Code":"","Alias":""},
+{"Name":"SHA1SU0","Bits":"0|1|0|1|1|1|1|0|0|0|0|Rm:5|0|0|1|1|0|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"SHA1SU0 <Vd>.4S, <Vn>.4S, <Vm>.4S","Code":"","Alias":""},
+{"Name":"SHA1SU1","Bits":"0|1|0|1|1|1|1|0|0|0|1|0|1|0|0|0|0|0|0|1|1|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"SHA1SU1 <Vd>.4S, <Vn>.4S","Code":"","Alias":""},
+{"Name":"SHA256H2","Bits":"0|1|0|1|1|1|1|0|0|0|0|Rm:5|0|1|0|1|0|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"SHA256H2 <Qd>, <Qn>, <Vm>.4S","Code":"","Alias":""},
+{"Name":"SHA256H","Bits":"0|1|0|1|1|1|1|0|0|0|0|Rm:5|0|1|0|0|0|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"SHA256H <Qd>, <Qn>, <Vm>.4S","Code":"","Alias":""},
+{"Name":"SHA256SU0","Bits":"0|1|0|1|1|1|1|0|0|0|1|0|1|0|0|0|0|0|1|0|1|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"SHA256SU0 <Vd>.4S, <Vn>.4S","Code":"","Alias":""},
+{"Name":"SHA256SU1","Bits":"0|1|0|1|1|1|1|0|0|0|0|Rm:5|0|1|1|0|0|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"SHA256SU1 <Vd>.4S, <Vn>.4S, <Vm>.4S","Code":"","Alias":""},
+{"Name":"SHADD","Bits":"0|Q|0|0|1|1|1|0|size:2|1|Rm:5|0|0|0|0|0|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"SHADD <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"SHL","Bits":"0|1|0|1|1|1|1|1|0|immh:4|immb:3|0|1|0|1|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SHL <V><d>, <V><n>, #<shift>","Code":"","Alias":""},
+{"Name":"SHL","Bits":"0|Q|0|0|1|1|1|1|0|immh:4|immb:3|0|1|0|1|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SHL <Vd>.<T>, <Vn>.<T>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"SHLL, SHLL2","Bits":"0|0|1|0|1|1|1|0|size:2|1|0|0|0|0|1|0|0|1|1|1|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"SHLL <Vd>.<Ta>, <Vn>.<Tb>, #<shift>","Code":"","Alias":""},
+{"Name":"SHLL, SHLL2","Bits":"0|1|1|0|1|1|1|0|size:2|1|0|0|0|0|1|0|0|1|1|1|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"SHLL2 <Vd>.<Ta>, <Vn>.<Tb>, #<shift>","Code":"","Alias":""},
+{"Name":"SHRN, SHRN2","Bits":"0|0|0|0|1|1|1|1|0|immh:4|immb:3|1|0|0|0|0|1|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"SHRN <Vd>.<Tb>, <Vn>.<Ta>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"SHRN, SHRN2","Bits":"0|1|0|0|1|1|1|1|0|immh:4|immb:3|1|0|0|0|0|1|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"SHRN2 <Vd>.<Tb>, <Vn>.<Ta>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"SHSUB","Bits":"0|Q|0|0|1|1|1|0|size:2|1|Rm:5|0|0|1|0|0|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"SHSUB <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"SLI","Bits":"0|1|1|1|1|1|1|1|0|immh:4|immb:3|0|1|0|1|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SLI <V><d>, <V><n>, #<shift>","Code":"","Alias":""},
+{"Name":"SLI","Bits":"0|Q|1|0|1|1|1|1|0|immh:4|immb:3|0|1|0|1|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SLI <Vd>.<T>, <Vn>.<T>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"SMAX","Bits":"0|Q|0|0|1|1|1|0|size:2|1|Rm:5|0|1|1|0|0|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"SMAX <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"SMAXP","Bits":"0|Q|0|0|1|1|1|0|size:2|1|Rm:5|1|0|1|0|0|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"SMAXP <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"SMAXV","Bits":"0|Q|0|0|1|1|1|0|size:2|1|1|0|0|0|0|1|0|1|0|1|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"SMAXV <V><d>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"SMIN","Bits":"0|Q|0|0|1|1|1|0|size:2|1|Rm:5|0|1|1|0|1|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"SMIN <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"SMINP","Bits":"0|Q|0|0|1|1|1|0|size:2|1|Rm:5|1|0|1|0|1|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"SMINP <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"SMINV","Bits":"0|Q|0|0|1|1|1|0|size:2|1|1|0|0|0|1|1|0|1|0|1|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"SMINV <V><d>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"SMLAL, SMLAL2 (by element)","Bits":"0|0|0|0|1|1|1|1|size:2|L|M|Rm:4|0|0|1|0|H|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"SMLAL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"SMLAL, SMLAL2 (by element)","Bits":"0|1|0|0|1|1|1|1|size:2|L|M|Rm:4|0|0|1|0|H|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"SMLAL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"SMLAL, SMLAL2 (vector)","Bits":"0|0|0|0|1|1|1|0|size:2|1|Rm:5|1|0|0|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"SMLAL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"SMLAL, SMLAL2 (vector)","Bits":"0|1|0|0|1|1|1|0|size:2|1|Rm:5|1|0|0|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"SMLAL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"SMLSL, SMLSL2 (by element)","Bits":"0|0|0|0|1|1|1|1|size:2|L|M|Rm:4|0|1|1|0|H|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"SMLSL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"SMLSL, SMLSL2 (by element)","Bits":"0|1|0|0|1|1|1|1|size:2|L|M|Rm:4|0|1|1|0|H|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"SMLSL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"SMLSL, SMLSL2 (vector)","Bits":"0|0|0|0|1|1|1|0|size:2|1|Rm:5|1|0|1|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"SMLSL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"SMLSL, SMLSL2 (vector)","Bits":"0|1|0|0|1|1|1|0|size:2|1|Rm:5|1|0|1|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"SMLSL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"SMOV","Bits":"0|0|0|0|1|1|1|0|0|0|0|imm5:5|0|0|1|0|1|1|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"SMOV <Wd>, <Vn>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"SMOV","Bits":"0|1|0|0|1|1|1|0|0|0|0|imm5:5|0|0|1|0|1|1|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"SMOV <Xd>, <Vn>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"SMULL, SMULL2 (by element)","Bits":"0|0|0|0|1|1|1|1|size:2|L|M|Rm:4|1|0|1|0|H|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"SMULL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"SMULL, SMULL2 (by element)","Bits":"0|1|0|0|1|1|1|1|size:2|L|M|Rm:4|1|0|1|0|H|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"SMULL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"SMULL, SMULL2 (vector)","Bits":"0|0|0|0|1|1|1|0|size:2|1|Rm:5|1|1|0|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"SMULL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"SMULL, SMULL2 (vector)","Bits":"0|1|0|0|1|1|1|0|size:2|1|Rm:5|1|1|0|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"SMULL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"SQABS","Bits":"0|1|0|1|1|1|1|0|size:2|1|0|0|0|0|0|0|1|1|1|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SQABS <V><d>, <V><n>","Code":"","Alias":""},
+{"Name":"SQABS","Bits":"0|Q|0|0|1|1|1|0|size:2|1|0|0|0|0|0|0|1|1|1|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQABS <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"SQADD","Bits":"0|1|0|1|1|1|1|0|size:2|1|Rm:5|0|0|0|0|1|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SQADD <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"SQADD","Bits":"0|Q|0|0|1|1|1|0|size:2|1|Rm:5|0|0|0|0|1|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQADD <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"SQDMLAL, SQDMLAL2 (by element)","Bits":"0|1|0|1|1|1|1|1|size:2|L|M|Rm:4|0|0|1|1|H|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SQDMLAL <Va><d>, <Vb><n>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"SQDMLAL, SQDMLAL2 (by element)","Bits":"0|0|0|0|1|1|1|1|size:2|L|M|Rm:4|0|0|1|1|H|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQDMLAL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"SQDMLAL, SQDMLAL2 (by element)","Bits":"0|1|0|0|1|1|1|1|size:2|L|M|Rm:4|0|0|1|1|H|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQDMLAL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"SQDMLAL, SQDMLAL2 (vector)","Bits":"0|1|0|1|1|1|1|0|size:2|1|Rm:5|1|0|0|1|0|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SQDMLAL <Va><d>, <Vb><n>, <Vb><m>","Code":"","Alias":""},
+{"Name":"SQDMLAL, SQDMLAL2 (vector)","Bits":"0|0|0|0|1|1|1|0|size:2|1|Rm:5|1|0|0|1|0|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQDMLAL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"SQDMLAL, SQDMLAL2 (vector)","Bits":"0|1|0|0|1|1|1|0|size:2|1|Rm:5|1|0|0|1|0|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQDMLAL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"SQDMLSL, SQDMLSL2 (by element)","Bits":"0|1|0|1|1|1|1|1|size:2|L|M|Rm:4|0|1|1|1|H|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SQDMLSL <Va><d>, <Vb><n>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"SQDMLSL, SQDMLSL2 (by element)","Bits":"0|0|0|0|1|1|1|1|size:2|L|M|Rm:4|0|1|1|1|H|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQDMLSL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"SQDMLSL, SQDMLSL2 (by element)","Bits":"0|1|0|0|1|1|1|1|size:2|L|M|Rm:4|0|1|1|1|H|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQDMLSL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"SQDMLSL, SQDMLSL2 (vector)","Bits":"0|1|0|1|1|1|1|0|size:2|1|Rm:5|1|0|1|1|0|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SQDMLSL <Va><d>, <Vb><n>, <Vb><m>","Code":"","Alias":""},
+{"Name":"SQDMLSL, SQDMLSL2 (vector)","Bits":"0|0|0|0|1|1|1|0|size:2|1|Rm:5|1|0|1|1|0|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQDMLSL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"SQDMLSL, SQDMLSL2 (vector)","Bits":"0|1|0|0|1|1|1|0|size:2|1|Rm:5|1|0|1|1|0|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQDMLSL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"SQDMULH (by element)","Bits":"0|1|0|1|1|1|1|1|size:2|L|M|Rm:4|1|1|0|0|H|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SQDMULH <V><d>, <V><n>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"SQDMULH (by element)","Bits":"0|Q|0|0|1|1|1|1|size:2|L|M|Rm:4|1|1|0|0|H|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQDMULH <Vd>.<T>, <Vn>.<T>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"SQDMULH (vector)","Bits":"0|1|0|1|1|1|1|0|size:2|1|Rm:5|1|0|1|1|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SQDMULH <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"SQDMULH (vector)","Bits":"0|Q|0|0|1|1|1|0|size:2|1|Rm:5|1|0|1|1|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQDMULH <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"SQDMULL, SQDMULL2 (by element)","Bits":"0|1|0|1|1|1|1|1|size:2|L|M|Rm:4|1|0|1|1|H|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SQDMULL <Va><d>, <Vb><n>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"SQDMULL, SQDMULL2 (by element)","Bits":"0|0|0|0|1|1|1|1|size:2|L|M|Rm:4|1|0|1|1|H|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQDMULL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"SQDMULL, SQDMULL2 (by element)","Bits":"0|1|0|0|1|1|1|1|size:2|L|M|Rm:4|1|0|1|1|H|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQDMULL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"SQDMULL, SQDMULL2 (vector)","Bits":"0|1|0|1|1|1|1|0|size:2|1|Rm:5|1|1|0|1|0|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SQDMULL <Va><d>, <Vb><n>, <Vb><m>","Code":"","Alias":""},
+{"Name":"SQDMULL, SQDMULL2 (vector)","Bits":"0|0|0|0|1|1|1|0|size:2|1|Rm:5|1|1|0|1|0|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQDMULL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"SQDMULL, SQDMULL2 (vector)","Bits":"0|1|0|0|1|1|1|0|size:2|1|Rm:5|1|1|0|1|0|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQDMULL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"SQNEG","Bits":"0|1|1|1|1|1|1|0|size:2|1|0|0|0|0|0|0|1|1|1|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SQNEG <V><d>, <V><n>","Code":"","Alias":""},
+{"Name":"SQNEG","Bits":"0|Q|1|0|1|1|1|0|size:2|1|0|0|0|0|0|0|1|1|1|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQNEG <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"SQRDMULH (by element)","Bits":"0|1|0|1|1|1|1|1|size:2|L|M|Rm:4|1|1|0|1|H|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SQRDMULH <V><d>, <V><n>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"SQRDMULH (by element)","Bits":"0|Q|0|0|1|1|1|1|size:2|L|M|Rm:4|1|1|0|1|H|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQRDMULH <Vd>.<T>, <Vn>.<T>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"SQRDMULH (vector)","Bits":"0|1|1|1|1|1|1|0|size:2|1|Rm:5|1|0|1|1|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SQRDMULH <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"SQRDMULH (vector)","Bits":"0|Q|1|0|1|1|1|0|size:2|1|Rm:5|1|0|1|1|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQRDMULH <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"SQRSHL","Bits":"0|1|0|1|1|1|1|0|size:2|1|Rm:5|0|1|0|1|1|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SQRSHL <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"SQRSHL","Bits":"0|Q|0|0|1|1|1|0|size:2|1|Rm:5|0|1|0|1|1|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQRSHL <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"SQRSHRN, SQRSHRN2","Bits":"0|1|0|1|1|1|1|1|0|immh:4|immb:3|1|0|0|1|1|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SQRSHRN <Vb><d>, <Va><n>, #<shift>","Code":"","Alias":""},
+{"Name":"SQRSHRN, SQRSHRN2","Bits":"0|0|0|0|1|1|1|1|0|immh:4|immb:3|1|0|0|1|1|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQRSHRN <Vd>.<Tb>, <Vn>.<Ta>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"SQRSHRN, SQRSHRN2","Bits":"0|1|0|0|1|1|1|1|0|immh:4|immb:3|1|0|0|1|1|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQRSHRN2 <Vd>.<Tb>, <Vn>.<Ta>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"SQRSHRUN, SQRSHRUN2","Bits":"0|1|1|1|1|1|1|1|0|immh:4|immb:3|1|0|0|0|1|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SQRSHRUN <Vb><d>, <Va><n>, #<shift>","Code":"","Alias":""},
+{"Name":"SQRSHRUN, SQRSHRUN2","Bits":"0|0|1|0|1|1|1|1|0|immh:4|immb:3|1|0|0|0|1|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQRSHRUN <Vd>.<Tb>, <Vn>.<Ta>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"SQRSHRUN, SQRSHRUN2","Bits":"0|1|1|0|1|1|1|1|0|immh:4|immb:3|1|0|0|0|1|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQRSHRUN2 <Vd>.<Tb>, <Vn>.<Ta>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"SQSHL (immediate)","Bits":"0|1|0|1|1|1|1|1|0|immh:4|immb:3|0|1|1|1|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SQSHL <V><d>, <V><n>, #<shift>","Code":"","Alias":""},
+{"Name":"SQSHL (immediate)","Bits":"0|Q|0|0|1|1|1|1|0|immh:4|immb:3|0|1|1|1|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQSHL <Vd>.<T>, <Vn>.<T>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"SQSHL (register)","Bits":"0|1|0|1|1|1|1|0|size:2|1|Rm:5|0|1|0|0|1|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SQSHL <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"SQSHL (register)","Bits":"0|Q|0|0|1|1|1|0|size:2|1|Rm:5|0|1|0|0|1|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQSHL <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"SQSHLU","Bits":"0|1|1|1|1|1|1|1|0|immh:4|immb:3|0|1|1|0|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SQSHLU <V><d>, <V><n>, #<shift>","Code":"","Alias":""},
+{"Name":"SQSHLU","Bits":"0|Q|1|0|1|1|1|1|0|immh:4|immb:3|0|1|1|0|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQSHLU <Vd>.<T>, <Vn>.<T>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"SQSHRN, SQSHRN2","Bits":"0|1|0|1|1|1|1|1|0|immh:4|immb:3|1|0|0|1|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SQSHRN <Vb><d>, <Va><n>, #<shift>","Code":"","Alias":""},
+{"Name":"SQSHRN, SQSHRN2","Bits":"0|0|0|0|1|1|1|1|0|immh:4|immb:3|1|0|0|1|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQSHRN <Vd>.<Tb>, <Vn>.<Ta>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"SQSHRN, SQSHRN2","Bits":"0|1|0|0|1|1|1|1|0|immh:4|immb:3|1|0|0|1|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQSHRN2 <Vd>.<Tb>, <Vn>.<Ta>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"SQSHRUN, SQSHRUN2","Bits":"0|1|1|1|1|1|1|1|0|immh:4|immb:3|1|0|0|0|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SQSHRUN <Vb><d>, <Va><n>, #<shift>","Code":"","Alias":""},
+{"Name":"SQSHRUN, SQSHRUN2","Bits":"0|0|1|0|1|1|1|1|0|immh:4|immb:3|1|0|0|0|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQSHRUN <Vd>.<Tb>, <Vn>.<Ta>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"SQSHRUN, SQSHRUN2","Bits":"0|1|1|0|1|1|1|1|0|immh:4|immb:3|1|0|0|0|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQSHRUN2 <Vd>.<Tb>, <Vn>.<Ta>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"SQSUB","Bits":"0|1|0|1|1|1|1|0|size:2|1|Rm:5|0|0|1|0|1|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SQSUB <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"SQSUB","Bits":"0|Q|0|0|1|1|1|0|size:2|1|Rm:5|0|0|1|0|1|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQSUB <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"SQXTN, SQXTN2","Bits":"0|1|0|1|1|1|1|0|size:2|1|0|0|0|0|1|0|1|0|0|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SQXTN <Vb><d>, <Va><n>","Code":"","Alias":""},
+{"Name":"SQXTN, SQXTN2","Bits":"0|0|0|0|1|1|1|0|size:2|1|0|0|0|0|1|0|1|0|0|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQXTN <Vd>.<Tb>, <Vn>.<Ta>","Code":"","Alias":""},
+{"Name":"SQXTN, SQXTN2","Bits":"0|1|0|0|1|1|1|0|size:2|1|0|0|0|0|1|0|1|0|0|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQXTN2 <Vd>.<Tb>, <Vn>.<Ta>","Code":"","Alias":""},
+{"Name":"SQXTUN, SQXTUN2","Bits":"0|1|1|1|1|1|1|0|size:2|1|0|0|0|0|1|0|0|1|0|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SQXTUN <Vb><d>, <Va><n>","Code":"","Alias":""},
+{"Name":"SQXTUN, SQXTUN2","Bits":"0|0|1|0|1|1|1|0|size:2|1|0|0|0|0|1|0|0|1|0|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQXTUN <Vd>.<Tb>, <Vn>.<Ta>","Code":"","Alias":""},
+{"Name":"SQXTUN, SQXTUN2","Bits":"0|1|1|0|1|1|1|0|size:2|1|0|0|0|0|1|0|0|1|0|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SQXTUN2 <Vd>.<Tb>, <Vn>.<Ta>","Code":"","Alias":""},
+{"Name":"SRHADD","Bits":"0|Q|0|0|1|1|1|0|size:2|1|Rm:5|0|0|0|1|0|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"SRHADD <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"SRI","Bits":"0|1|1|1|1|1|1|1|0|immh:4|immb:3|0|1|0|0|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SRI <V><d>, <V><n>, #<shift>","Code":"","Alias":""},
+{"Name":"SRI","Bits":"0|Q|1|0|1|1|1|1|0|immh:4|immb:3|0|1|0|0|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SRI <Vd>.<T>, <Vn>.<T>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"SRSHL","Bits":"0|1|0|1|1|1|1|0|size:2|1|Rm:5|0|1|0|1|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SRSHL <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"SRSHL","Bits":"0|Q|0|0|1|1|1|0|size:2|1|Rm:5|0|1|0|1|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SRSHL <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"SRSHR","Bits":"0|1|0|1|1|1|1|1|0|immh:4|immb:3|0|0|1|0|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SRSHR <V><d>, <V><n>, #<shift>","Code":"","Alias":""},
+{"Name":"SRSHR","Bits":"0|Q|0|0|1|1|1|1|0|immh:4|immb:3|0|0|1|0|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SRSHR <Vd>.<T>, <Vn>.<T>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"SRSRA","Bits":"0|1|0|1|1|1|1|1|0|immh:4|immb:3|0|0|1|1|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SRSRA <V><d>, <V><n>, #<shift>","Code":"","Alias":""},
+{"Name":"SRSRA","Bits":"0|Q|0|0|1|1|1|1|0|immh:4|immb:3|0|0|1|1|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SRSRA <Vd>.<T>, <Vn>.<T>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"SSHL","Bits":"0|1|0|1|1|1|1|0|size:2|1|Rm:5|0|1|0|0|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SSHL <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"SSHL","Bits":"0|Q|0|0|1|1|1|0|size:2|1|Rm:5|0|1|0|0|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SSHL <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"SSHLL, SSHLL2","Bits":"0|0|0|0|1|1|1|1|0|immh:4|immb:3|1|0|1|0|0|1|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"SSHLL <Vd>.<Ta>, <Vn>.<Tb>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":"This instruction is used by the alias SXTL, SXTL2."},
+{"Name":"SSHLL, SSHLL2","Bits":"0|1|0|0|1|1|1|1|0|immh:4|immb:3|1|0|1|0|0|1|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"SSHLL2 <Vd>.<Ta>, <Vn>.<Tb>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":"This instruction is used by the alias SXTL, SXTL2."},
+{"Name":"SSHR","Bits":"0|1|0|1|1|1|1|1|0|immh:4|immb:3|0|0|0|0|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SSHR <V><d>, <V><n>, #<shift>","Code":"","Alias":""},
+{"Name":"SSHR","Bits":"0|Q|0|0|1|1|1|1|0|immh:4|immb:3|0|0|0|0|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SSHR <Vd>.<T>, <Vn>.<T>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"SSRA","Bits":"0|1|0|1|1|1|1|1|0|immh:4|immb:3|0|0|0|1|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SSRA <V><d>, <V><n>, #<shift>","Code":"","Alias":""},
+{"Name":"SSRA","Bits":"0|Q|0|0|1|1|1|1|0|immh:4|immb:3|0|0|0|1|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SSRA <Vd>.<T>, <Vn>.<T>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"SSUBL, SSUBL2","Bits":"0|0|0|0|1|1|1|0|size:2|1|Rm:5|0|0|1|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"SSUBL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"SSUBL, SSUBL2","Bits":"0|1|0|0|1|1|1|0|size:2|1|Rm:5|0|0|1|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"SSUBL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"SSUBW, SSUBW2","Bits":"0|0|0|0|1|1|1|0|size:2|1|Rm:5|0|0|1|1|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"SSUBW <Vd>.<Ta>, <Vn>.<Ta>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"SSUBW, SSUBW2","Bits":"0|1|0|0|1|1|1|0|size:2|1|Rm:5|0|0|1|1|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"SSUBW2 <Vd>.<Ta>, <Vn>.<Ta>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"ST1 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|0|0|0|0|0|0|0|0|0111:4|size:2|Rn:5|Rt:5","Arch":"No offset One register variant","Syntax":"ST1 { <Vt>.<T> }, [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"ST1 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|0|0|0|0|0|0|0|0|1010:4|size:2|Rn:5|Rt:5","Arch":"No offset Two registers variant","Syntax":"ST1 { <Vt>.<T>, <Vt2>.<T> }, [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"ST1 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|0|0|0|0|0|0|0|0|0110:4|size:2|Rn:5|Rt:5","Arch":"No offset Three registers variant","Syntax":"ST1 { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T> }, [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"ST1 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|0|0|0|0|0|0|0|0|0010:4|size:2|Rn:5|Rt:5","Arch":"No offset Four registers variant","Syntax":"ST1 { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T>, <Vt4>.<T> }, [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"ST1 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|0|0|11111:5|0111:4|size:2|Rn:5|Rt:5","Arch":"Post-index One register, immediate offset variant","Syntax":"ST1 { <Vt>.<T> }, [<Xn|SP>], <imm>","Code":"","Alias":""},
+{"Name":"ST1 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|0|0|Rm:5|0111:4|size:2|Rn:5|Rt:5","Arch":"Post-index One register, register offset variant","Syntax":"ST1 { <Vt>.<T> }, [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"ST1 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|0|0|11111:5|1010:4|size:2|Rn:5|Rt:5","Arch":"Post-index Two registers, immediate offset variant","Syntax":"ST1 { <Vt>.<T>, <Vt2>.<T> }, [<Xn|SP>], <imm>","Code":"","Alias":""},
+{"Name":"ST1 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|0|0|Rm:5|1010:4|size:2|Rn:5|Rt:5","Arch":"Post-index Two registers, register offset variant","Syntax":"ST1 { <Vt>.<T>, <Vt2>.<T> }, [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"ST1 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|0|0|11111:5|0110:4|size:2|Rn:5|Rt:5","Arch":"Post-index Three registers, immediate offset variant","Syntax":"ST1 { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T> }, [<Xn|SP>], <imm>","Code":"","Alias":""},
+{"Name":"ST1 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|0|0|Rm:5|0110:4|size:2|Rn:5|Rt:5","Arch":"Post-index Three registers, register offset variant","Syntax":"ST1 { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T> }, [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"ST1 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|0|0|11111:5|0010:4|size:2|Rn:5|Rt:5","Arch":"Post-index Four registers, immediate offset variant","Syntax":"ST1 { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T>, <Vt4>.<T> }, [<Xn|SP>], <imm>","Code":"","Alias":""},
+{"Name":"ST1 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|0|0|Rm:5|0010:4|size:2|Rn:5|Rt:5","Arch":"Post-index Four registers, register offset variant","Syntax":"ST1 { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T>, <Vt4>.<T> }, [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"ST1 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|0|0|0|0|0|0|0|000:3|S|size:2|Rn:5|Rt:5","Arch":"No offset 8-bit variant","Syntax":"ST1 { <Vt>.B }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"ST1 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|0|0|0|0|0|0|0|010:3|S|size:2|Rn:5|Rt:5","Arch":"No offset 16-bit variant","Syntax":"ST1 { <Vt>.H }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"ST1 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|0|0|0|0|0|0|0|100:3|S|00:2|Rn:5|Rt:5","Arch":"No offset 32-bit variant","Syntax":"ST1 { <Vt>.S }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"ST1 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|0|0|0|0|0|0|0|100:3|0|01:2|Rn:5|Rt:5","Arch":"No offset 64-bit variant","Syntax":"ST1 { <Vt>.D }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"ST1 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|0|11111:5|000:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 8-bit, immediate offset variant","Syntax":"ST1 { <Vt>.B }[<index>], [<Xn|SP>], #1","Code":"","Alias":""},
+{"Name":"ST1 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|0|Rm:5|000:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 8-bit, register offset variant","Syntax":"ST1 { <Vt>.B }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"ST1 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|0|11111:5|010:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 16-bit, immediate offset variant","Syntax":"ST1 { <Vt>.H }[<index>], [<Xn|SP>], #2","Code":"","Alias":""},
+{"Name":"ST1 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|0|Rm:5|010:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 16-bit, register offset variant","Syntax":"ST1 { <Vt>.H }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"ST1 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|0|11111:5|100:3|S|00:2|Rn:5|Rt:5","Arch":"Post-index 32-bit, immediate offset variant","Syntax":"ST1 { <Vt>.S }[<index>], [<Xn|SP>], #4","Code":"","Alias":""},
+{"Name":"ST1 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|0|Rm:5|100:3|S|00:2|Rn:5|Rt:5","Arch":"Post-index 32-bit, register offset variant","Syntax":"ST1 { <Vt>.S }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"ST1 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|0|11111:5|100:3|0|01:2|Rn:5|Rt:5","Arch":"Post-index 64-bit, immediate offset variant","Syntax":"ST1 { <Vt>.D }[<index>], [<Xn|SP>], #8","Code":"","Alias":""},
+{"Name":"ST1 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|0|Rm:5|100:3|0|01:2|Rn:5|Rt:5","Arch":"Post-index 64-bit, register offset variant","Syntax":"ST1 { <Vt>.D }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"ST2 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|0|0|0|0|0|0|0|0|1|0|0|0|size:2|Rn:5|Rt:5","Arch":"No offset No offset variant","Syntax":"ST2 { <Vt>.<T>, <Vt2>.<T> }, [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"ST2 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|0|0|11111:5|1|0|0|0|size:2|Rn:5|Rt:5","Arch":"Post-index Immediate offset variant","Syntax":"ST2 { <Vt>.<T>, <Vt2>.<T> }, [<Xn|SP>], <imm>","Code":"","Alias":""},
+{"Name":"ST2 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|0|0|Rm:5|1|0|0|0|size:2|Rn:5|Rt:5","Arch":"Post-index Register offset variant","Syntax":"ST2 { <Vt>.<T>, <Vt2>.<T> }, [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"ST2 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|0|1|0|0|0|0|0|000:3|S|size:2|Rn:5|Rt:5","Arch":"No offset 8-bit variant","Syntax":"ST2 { <Vt>.B, <Vt2>.B }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"ST2 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|0|1|0|0|0|0|0|010:3|S|size:2|Rn:5|Rt:5","Arch":"No offset 16-bit variant","Syntax":"ST2 { <Vt>.H, <Vt2>.H }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"ST2 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|0|1|0|0|0|0|0|100:3|S|00:2|Rn:5|Rt:5","Arch":"No offset 32-bit variant","Syntax":"ST2 { <Vt>.S, <Vt2>.S }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"ST2 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|0|1|0|0|0|0|0|100:3|0|01:2|Rn:5|Rt:5","Arch":"No offset 64-bit variant","Syntax":"ST2 { <Vt>.D, <Vt2>.D }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"ST2 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|1|11111:5|000:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 8-bit, immediate offset variant","Syntax":"ST2 { <Vt>.B, <Vt2>.B }[<index>], [<Xn|SP>], #2","Code":"","Alias":""},
+{"Name":"ST2 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|1|Rm:5|000:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 8-bit, register offset variant","Syntax":"ST2 { <Vt>.B, <Vt2>.B }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"ST2 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|1|11111:5|010:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 16-bit, immediate offset variant","Syntax":"ST2 { <Vt>.H, <Vt2>.H }[<index>], [<Xn|SP>], #4","Code":"","Alias":""},
+{"Name":"ST2 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|1|Rm:5|010:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 16-bit, register offset variant","Syntax":"ST2 { <Vt>.H, <Vt2>.H }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"ST2 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|1|11111:5|100:3|S|00:2|Rn:5|Rt:5","Arch":"Post-index 32-bit, immediate offset variant","Syntax":"ST2 { <Vt>.S, <Vt2>.S }[<index>], [<Xn|SP>], #8","Code":"","Alias":""},
+{"Name":"ST2 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|1|Rm:5|100:3|S|00:2|Rn:5|Rt:5","Arch":"Post-index 32-bit, register offset variant","Syntax":"ST2 { <Vt>.S, <Vt2>.S }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"ST2 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|1|11111:5|100:3|0|01:2|Rn:5|Rt:5","Arch":"Post-index 64-bit, immediate offset variant","Syntax":"ST2 { <Vt>.D, <Vt2>.D }[<index>], [<Xn|SP>], #16","Code":"","Alias":""},
+{"Name":"ST2 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|1|Rm:5|100:3|0|01:2|Rn:5|Rt:5","Arch":"Post-index 64-bit, register offset variant","Syntax":"ST2 { <Vt>.D, <Vt2>.D }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"ST3 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|0|0|0|0|0|0|0|0|0|1|0|0|size:2|Rn:5|Rt:5","Arch":"No offset No offset variant","Syntax":"ST3 { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T> }, [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"ST3 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|0|0|11111:5|0|1|0|0|size:2|Rn:5|Rt:5","Arch":"Post-index Immediate offset variant","Syntax":"ST3 { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T> }, [<Xn|SP>], <imm>","Code":"","Alias":""},
+{"Name":"ST3 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|0|0|Rm:5|0|1|0|0|size:2|Rn:5|Rt:5","Arch":"Post-index Register offset variant","Syntax":"ST3 { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T> }, [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"ST3 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|0|0|0|0|0|0|0|001:3|S|size:2|Rn:5|Rt:5","Arch":"No offset 8-bit variant","Syntax":"ST3 { <Vt>.B, <Vt2>.B, <Vt3>.B }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"ST3 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|0|0|0|0|0|0|0|011:3|S|size:2|Rn:5|Rt:5","Arch":"No offset 16-bit variant","Syntax":"ST3 { <Vt>.H, <Vt2>.H, <Vt3>.H }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"ST3 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|0|0|0|0|0|0|0|101:3|S|00:2|Rn:5|Rt:5","Arch":"No offset 32-bit variant","Syntax":"ST3 { <Vt>.S, <Vt2>.S, <Vt3>.S }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"ST3 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|0|0|0|0|0|0|0|101:3|0|01:2|Rn:5|Rt:5","Arch":"No offset 64-bit variant","Syntax":"ST3 { <Vt>.D, <Vt2>.D, <Vt3>.D }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"ST3 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|0|11111:5|001:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 8-bit, immediate offset variant","Syntax":"ST3 { <Vt>.B, <Vt2>.B, <Vt3>.B }[<index>], [<Xn|SP>], #3","Code":"","Alias":""},
+{"Name":"ST3 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|0|Rm:5|001:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 8-bit, register offset variant","Syntax":"ST3 { <Vt>.B, <Vt2>.B, <Vt3>.B }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"ST3 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|0|11111:5|011:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 16-bit, immediate offset variant","Syntax":"ST3 { <Vt>.H, <Vt2>.H, <Vt3>.H }[<index>], [<Xn|SP>], #6","Code":"","Alias":""},
+{"Name":"ST3 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|0|Rm:5|011:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 16-bit, register offset variant","Syntax":"ST3 { <Vt>.H, <Vt2>.H, <Vt3>.H }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"ST3 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|0|11111:5|101:3|S|00:2|Rn:5|Rt:5","Arch":"Post-index 32-bit, immediate offset variant","Syntax":"ST3 { <Vt>.S, <Vt2>.S, <Vt3>.S }[<index>], [<Xn|SP>], #12","Code":"","Alias":""},
+{"Name":"ST3 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|0|Rm:5|101:3|S|00:2|Rn:5|Rt:5","Arch":"Post-index 32-bit, register offset variant","Syntax":"ST3 { <Vt>.S, <Vt2>.S, <Vt3>.S }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"ST3 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|0|11111:5|101:3|0|01:2|Rn:5|Rt:5","Arch":"Post-index 64-bit, immediate offset variant","Syntax":"ST3 { <Vt>.D, <Vt2>.D, <Vt3>.D }[<index>], [<Xn|SP>], #24","Code":"","Alias":""},
+{"Name":"ST3 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|0|Rm:5|101:3|0|01:2|Rn:5|Rt:5","Arch":"Post-index 64-bit, register offset variant","Syntax":"ST3 { <Vt>.D, <Vt2>.D, <Vt3>.D }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"ST4 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|0|0|0|0|0|0|0|0|0|0|0|0|size:2|Rn:5|Rt:5","Arch":"No offset No offset variant","Syntax":"ST4 { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T>, <Vt4>.<T> }, [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"ST4 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|0|0|11111:5|0|0|0|0|size:2|Rn:5|Rt:5","Arch":"Post-index Immediate offset variant","Syntax":"ST4 { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T>, <Vt4>.<T> }, [<Xn|SP>], <imm>","Code":"","Alias":""},
+{"Name":"ST4 (multiple structures)","Bits":"0|Q|0|0|1|1|0|0|1|0|0|Rm:5|0|0|0|0|size:2|Rn:5|Rt:5","Arch":"Post-index Register offset variant","Syntax":"ST4 { <Vt>.<T>, <Vt2>.<T>, <Vt3>.<T>, <Vt4>.<T> }, [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"ST4 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|0|1|0|0|0|0|0|001:3|S|size:2|Rn:5|Rt:5","Arch":"No offset 8-bit variant","Syntax":"ST4 { <Vt>.B, <Vt2>.B, <Vt3>.B, <Vt4>.B }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"ST4 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|0|1|0|0|0|0|0|011:3|S|size:2|Rn:5|Rt:5","Arch":"No offset 16-bit variant","Syntax":"ST4 { <Vt>.H, <Vt2>.H, <Vt3>.H, <Vt4>.H }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"ST4 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|0|1|0|0|0|0|0|101:3|S|00:2|Rn:5|Rt:5","Arch":"No offset 32-bit variant","Syntax":"ST4 { <Vt>.S, <Vt2>.S, <Vt3>.S, <Vt4>.S }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"ST4 (single structure)","Bits":"0|Q|0|0|1|1|0|1|0|0|1|0|0|0|0|0|101:3|0|01:2|Rn:5|Rt:5","Arch":"No offset 64-bit variant","Syntax":"ST4 { <Vt>.D, <Vt2>.D, <Vt3>.D, <Vt4>.D }[<index>], [<Xn|SP>]","Code":"","Alias":""},
+{"Name":"ST4 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|1|11111:5|001:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 8-bit, immediate offset variant","Syntax":"ST4 { <Vt>.B, <Vt2>.B, <Vt3>.B, <Vt4>.B }[<index>], [<Xn|SP>], #4","Code":"","Alias":""},
+{"Name":"ST4 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|1|Rm:5|001:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 8-bit, register offset variant","Syntax":"ST4 { <Vt>.B, <Vt2>.B, <Vt3>.B, <Vt4>.B }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"ST4 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|1|11111:5|011:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 16-bit, immediate offset variant","Syntax":"ST4 { <Vt>.H, <Vt2>.H, <Vt3>.H, <Vt4>.H }[<index>], [<Xn|SP>], #8","Code":"","Alias":""},
+{"Name":"ST4 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|1|Rm:5|011:3|S|size:2|Rn:5|Rt:5","Arch":"Post-index 16-bit, register offset variant","Syntax":"ST4 { <Vt>.H, <Vt2>.H, <Vt3>.H, <Vt4>.H }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"ST4 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|1|11111:5|101:3|S|00:2|Rn:5|Rt:5","Arch":"Post-index 32-bit, immediate offset variant","Syntax":"ST4 { <Vt>.S, <Vt2>.S, <Vt3>.S, <Vt4>.S }[<index>], [<Xn|SP>], #16","Code":"","Alias":""},
+{"Name":"ST4 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|1|Rm:5|101:3|S|00:2|Rn:5|Rt:5","Arch":"Post-index 32-bit, register offset variant","Syntax":"ST4 { <Vt>.S, <Vt2>.S, <Vt3>.S, <Vt4>.S }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"ST4 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|1|11111:5|101:3|0|01:2|Rn:5|Rt:5","Arch":"Post-index 64-bit, immediate offset variant","Syntax":"ST4 { <Vt>.D, <Vt2>.D, <Vt3>.D, <Vt4>.D }[<index>], [<Xn|SP>], #32","Code":"","Alias":""},
+{"Name":"ST4 (single structure)","Bits":"0|Q|0|0|1|1|0|1|1|0|1|Rm:5|101:3|0|01:2|Rn:5|Rt:5","Arch":"Post-index 64-bit, register offset variant","Syntax":"ST4 { <Vt>.D, <Vt2>.D, <Vt3>.D, <Vt4>.D }[<index>], [<Xn|SP>], <Xm>","Code":"","Alias":""},
+{"Name":"STNP (SIMD&FP)","Bits":"00:2|1|0|1|1|0|0|0|0|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"STNP <St1>, <St2>, [<Xn|SP>{, #<imm>}]","Code":"","Alias":""},
+{"Name":"STNP (SIMD&FP)","Bits":"01:2|1|0|1|1|0|0|0|0|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"STNP <Dt1>, <Dt2>, [<Xn|SP>{, #<imm>}]","Code":"","Alias":""},
+{"Name":"STNP (SIMD&FP)","Bits":"10:2|1|0|1|1|0|0|0|0|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"128-bit variant","Syntax":"STNP <Qt1>, <Qt2>, [<Xn|SP>{, #<imm>}]","Code":"","Alias":""},
+{"Name":"STP (SIMD&FP)","Bits":"00:2|1|0|1|1|0|0|1|0|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Post-index 32-bit variant","Syntax":"STP <St1>, <St2>, [<Xn|SP>], #<imm>","Code":"","Alias":""},
+{"Name":"STP (SIMD&FP)","Bits":"01:2|1|0|1|1|0|0|1|0|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Post-index 64-bit variant","Syntax":"STP <Dt1>, <Dt2>, [<Xn|SP>], #<imm>","Code":"","Alias":""},
+{"Name":"STP (SIMD&FP)","Bits":"10:2|1|0|1|1|0|0|1|0|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Post-index 128-bit variant","Syntax":"STP <Qt1>, <Qt2>, [<Xn|SP>], #<imm>","Code":"","Alias":""},
+{"Name":"STP (SIMD&FP)","Bits":"00:2|1|0|1|1|0|1|1|0|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Pre-index 32-bit variant","Syntax":"STP <St1>, <St2>, [<Xn|SP>, #<imm>]!","Code":"","Alias":""},
+{"Name":"STP (SIMD&FP)","Bits":"01:2|1|0|1|1|0|1|1|0|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Pre-index 64-bit variant","Syntax":"STP <Dt1>, <Dt2>, [<Xn|SP>, #<imm>]!","Code":"","Alias":""},
+{"Name":"STP (SIMD&FP)","Bits":"10:2|1|0|1|1|0|1|1|0|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Pre-index 128-bit variant","Syntax":"STP <Qt1>, <Qt2>, [<Xn|SP>, #<imm>]!","Code":"","Alias":""},
+{"Name":"STP (SIMD&FP)","Bits":"00:2|1|0|1|1|0|1|0|0|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Signed offset 32-bit variant","Syntax":"STP <St1>, <St2>, [<Xn|SP>{, #<imm>}]","Code":"","Alias":""},
+{"Name":"STP (SIMD&FP)","Bits":"01:2|1|0|1|1|0|1|0|0|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Signed offset 64-bit variant","Syntax":"STP <Dt1>, <Dt2>, [<Xn|SP>{, #<imm>}]","Code":"","Alias":""},
+{"Name":"STP (SIMD&FP)","Bits":"10:2|1|0|1|1|0|1|0|0|imm7:7|Rt2:5|Rn:5|Rt:5","Arch":"Signed offset 128-bit variant","Syntax":"STP <Qt1>, <Qt2>, [<Xn|SP>{, #<imm>}]","Code":"","Alias":""},
+{"Name":"STR (immediate, SIMD&FP)","Bits":"00:2|1|1|1|1|0|0|00:2|0|imm9:9|0|1|Rn:5|Rt:5","Arch":"Post-index 8-bit variant","Syntax":"STR <Bt>, [<Xn|SP>], #<simm>","Code":"","Alias":""},
+{"Name":"STR (immediate, SIMD&FP)","Bits":"01:2|1|1|1|1|0|0|00:2|0|imm9:9|0|1|Rn:5|Rt:5","Arch":"Post-index 16-bit variant","Syntax":"STR <Ht>, [<Xn|SP>], #<simm>","Code":"","Alias":""},
+{"Name":"STR (immediate, SIMD&FP)","Bits":"10:2|1|1|1|1|0|0|00:2|0|imm9:9|0|1|Rn:5|Rt:5","Arch":"Post-index 32-bit variant","Syntax":"STR <St>, [<Xn|SP>], #<simm>","Code":"","Alias":""},
+{"Name":"STR (immediate, SIMD&FP)","Bits":"11:2|1|1|1|1|0|0|00:2|0|imm9:9|0|1|Rn:5|Rt:5","Arch":"Post-index 64-bit variant","Syntax":"STR <Dt>, [<Xn|SP>], #<simm>","Code":"","Alias":""},
+{"Name":"STR (immediate, SIMD&FP)","Bits":"00:2|1|1|1|1|0|0|10:2|0|imm9:9|0|1|Rn:5|Rt:5","Arch":"Post-index 128-bit variant","Syntax":"STR <Qt>, [<Xn|SP>], #<simm>","Code":"","Alias":""},
+{"Name":"STR (immediate, SIMD&FP)","Bits":"00:2|1|1|1|1|0|0|00:2|0|imm9:9|1|1|Rn:5|Rt:5","Arch":"Pre-index 8-bit variant","Syntax":"STR <Bt>, [<Xn|SP>, #<simm>]!","Code":"","Alias":""},
+{"Name":"STR (immediate, SIMD&FP)","Bits":"01:2|1|1|1|1|0|0|00:2|0|imm9:9|1|1|Rn:5|Rt:5","Arch":"Pre-index 16-bit variant","Syntax":"STR <Ht>, [<Xn|SP>, #<simm>]!","Code":"","Alias":""},
+{"Name":"STR (immediate, SIMD&FP)","Bits":"10:2|1|1|1|1|0|0|00:2|0|imm9:9|1|1|Rn:5|Rt:5","Arch":"Pre-index 32-bit variant","Syntax":"STR <St>, [<Xn|SP>, #<simm>]!","Code":"","Alias":""},
+{"Name":"STR (immediate, SIMD&FP)","Bits":"11:2|1|1|1|1|0|0|00:2|0|imm9:9|1|1|Rn:5|Rt:5","Arch":"Pre-index 64-bit variant","Syntax":"STR <Dt>, [<Xn|SP>, #<simm>]!","Code":"","Alias":""},
+{"Name":"STR (immediate, SIMD&FP)","Bits":"00:2|1|1|1|1|0|0|10:2|0|imm9:9|1|1|Rn:5|Rt:5","Arch":"Pre-index 128-bit variant","Syntax":"STR <Qt>, [<Xn|SP>, #<simm>]!","Code":"","Alias":""},
+{"Name":"STR (immediate, SIMD&FP)","Bits":"00:2|1|1|1|1|0|1|00:2|imm12:12|Rn:5|Rt:5","Arch":"Unsigned offset 8-bit variant","Syntax":"STR <Bt>, [<Xn|SP>{, #<pimm>}]","Code":"","Alias":""},
+{"Name":"STR (immediate, SIMD&FP)","Bits":"01:2|1|1|1|1|0|1|00:2|imm12:12|Rn:5|Rt:5","Arch":"Unsigned offset 16-bit variant","Syntax":"STR <Ht>, [<Xn|SP>{, #<pimm>}]","Code":"","Alias":""},
+{"Name":"STR (immediate, SIMD&FP)","Bits":"10:2|1|1|1|1|0|1|00:2|imm12:12|Rn:5|Rt:5","Arch":"Unsigned offset 32-bit variant","Syntax":"STR <St>, [<Xn|SP>{, #<pimm>}]","Code":"","Alias":""},
+{"Name":"STR (immediate, SIMD&FP)","Bits":"11:2|1|1|1|1|0|1|00:2|imm12:12|Rn:5|Rt:5","Arch":"Unsigned offset 64-bit variant","Syntax":"STR <Dt>, [<Xn|SP>{, #<pimm>}]","Code":"","Alias":""},
+{"Name":"STR (immediate, SIMD&FP)","Bits":"00:2|1|1|1|1|0|1|10:2|imm12:12|Rn:5|Rt:5","Arch":"Unsigned offset 128-bit variant","Syntax":"STR <Qt>, [<Xn|SP>{, #<pimm>}]","Code":"","Alias":""},
+{"Name":"STR (register, SIMD&FP)","Bits":"00:2|1|1|1|1|0|0|00:2|1|Rm:5|option:3|S|1|0|Rn:5|Rt:5","Arch":"8-bit variant","Syntax":"STR <Bt>, [<Xn|SP>, (<Wm>|<Xm>), <extend> {<amount>}]","Code":"","Alias":""},
+{"Name":"STR (register, SIMD&FP)","Bits":"00:2|1|1|1|1|0|0|00:2|1|Rm:5|011:3|S|1|0|Rn:5|Rt:5","Arch":"8-bit variant","Syntax":"STR <Bt>, [<Xn|SP>, <Xm>{, LSL <amount>}]","Code":"","Alias":""},
+{"Name":"STR (register, SIMD&FP)","Bits":"01:2|1|1|1|1|0|0|00:2|1|Rm:5|option:3|S|1|0|Rn:5|Rt:5","Arch":"16-bit variant","Syntax":"STR <Ht>, [<Xn|SP>, (<Wm>|<Xm>){, <extend> {<amount>}}]","Code":"","Alias":""},
+{"Name":"STR (register, SIMD&FP)","Bits":"10:2|1|1|1|1|0|0|00:2|1|Rm:5|option:3|S|1|0|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"STR <St>, [<Xn|SP>, (<Wm>|<Xm>){, <extend> {<amount>}}]","Code":"","Alias":""},
+{"Name":"STR (register, SIMD&FP)","Bits":"11:2|1|1|1|1|0|0|00:2|1|Rm:5|option:3|S|1|0|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"STR <Dt>, [<Xn|SP>, (<Wm>|<Xm>){, <extend> {<amount>}}]","Code":"","Alias":""},
+{"Name":"STR (register, SIMD&FP)","Bits":"00:2|1|1|1|1|0|0|10:2|1|Rm:5|option:3|S|1|0|Rn:5|Rt:5","Arch":"128-bit variant","Syntax":"STR <Qt>, [<Xn|SP>, (<Wm>|<Xm>){, <extend> {<amount>}}]","Code":"","Alias":""},
+{"Name":"STUR (SIMD&FP)","Bits":"00:2|1|1|1|1|0|0|00:2|0|imm9:9|0|0|Rn:5|Rt:5","Arch":"8-bit variant","Syntax":"STUR <Bt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"STUR (SIMD&FP)","Bits":"01:2|1|1|1|1|0|0|00:2|0|imm9:9|0|0|Rn:5|Rt:5","Arch":"16-bit variant","Syntax":"STUR <Ht>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"STUR (SIMD&FP)","Bits":"10:2|1|1|1|1|0|0|00:2|0|imm9:9|0|0|Rn:5|Rt:5","Arch":"32-bit variant","Syntax":"STUR <St>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"STUR (SIMD&FP)","Bits":"11:2|1|1|1|1|0|0|00:2|0|imm9:9|0|0|Rn:5|Rt:5","Arch":"64-bit variant","Syntax":"STUR <Dt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"STUR (SIMD&FP)","Bits":"00:2|1|1|1|1|0|0|10:2|0|imm9:9|0|0|Rn:5|Rt:5","Arch":"128-bit variant","Syntax":"STUR <Qt>, [<Xn|SP>{, #<simm>}]","Code":"","Alias":""},
+{"Name":"SUB (vector)","Bits":"0|1|1|1|1|1|1|0|size:2|1|Rm:5|1|0|0|0|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SUB <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"SUB (vector)","Bits":"0|Q|1|0|1|1|1|0|size:2|1|Rm:5|1|0|0|0|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SUB <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"SUBHN, SUBHN2","Bits":"0|0|0|0|1|1|1|0|size:2|1|Rm:5|0|1|1|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"SUBHN <Vd>.<Tb>, <Vn>.<Ta>, <Vm>.<Ta>","Code":"","Alias":""},
+{"Name":"SUBHN, SUBHN2","Bits":"0|1|0|0|1|1|1|0|size:2|1|Rm:5|0|1|1|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"SUBHN2 <Vd>.<Tb>, <Vn>.<Ta>, <Vm>.<Ta>","Code":"","Alias":""},
+{"Name":"SUQADD","Bits":"0|1|0|1|1|1|1|0|size:2|1|0|0|0|0|0|0|0|1|1|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"SUQADD <V><d>, <V><n>","Code":"","Alias":""},
+{"Name":"SUQADD","Bits":"0|Q|0|0|1|1|1|0|size:2|1|0|0|0|0|0|0|0|1|1|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"SUQADD <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"SXTL, SXTL2","Bits":"0|0|0|0|1|1|1|1|0|immh:4|0|0|0|1|0|1|0|0|1|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"SXTL <Vd>.<Ta>, <Vn>.<Tb>","Code":"","Alias":"This instruction is an alias of the SSHLL, SSHLL2 instruction."},
+{"Name":"SXTL, SXTL2","Bits":"0|1|0|0|1|1|1|1|0|immh:4|0|0|0|1|0|1|0|0|1|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"SXTL2 <Vd>.<Ta>, <Vn>.<Tb>","Code":"","Alias":"This instruction is an alias of the SSHLL, SSHLL2 instruction."},
+{"Name":"TBL","Bits":"0|Q|0|0|1|1|1|0|0|0|0|Rm:5|0|01:2|0|0|0|Rn:5|Rd:5","Arch":"Two register table variant","Syntax":"TBL <Vd>.<Ta>, { <Vn>.16B, <Vn+1>.16B }, <Vm>.<Ta>","Code":"","Alias":""},
+{"Name":"TBL","Bits":"0|Q|0|0|1|1|1|0|0|0|0|Rm:5|0|10:2|0|0|0|Rn:5|Rd:5","Arch":"Three register table variant","Syntax":"TBL <Vd>.<Ta>, { <Vn>.16B, <Vn+1>.16B, <Vn+2>.16B }, <Vm>.<Ta>","Code":"","Alias":""},
+{"Name":"TBL","Bits":"0|Q|0|0|1|1|1|0|0|0|0|Rm:5|0|11:2|0|0|0|Rn:5|Rd:5","Arch":"Four register table variant","Syntax":"TBL <Vd>.<Ta>, { <Vn>.16B, <Vn+1>.16B, <Vn+2>.16B, <Vn+3>.16B }, <Vm>.<Ta>","Code":"","Alias":""},
+{"Name":"TBL","Bits":"0|Q|0|0|1|1|1|0|0|0|0|Rm:5|0|00:2|0|0|0|Rn:5|Rd:5","Arch":"Single register table variant","Syntax":"TBL <Vd>.<Ta>, { <Vn>.16B }, <Vm>.<Ta>","Code":"","Alias":""},
+{"Name":"TBX","Bits":"0|Q|0|0|1|1|1|0|0|0|0|Rm:5|0|01:2|1|0|0|Rn:5|Rd:5","Arch":"Two register table variant","Syntax":"TBX <Vd>.<Ta>, { <Vn>.16B, <Vn+1>.16B }, <Vm>.<Ta>","Code":"","Alias":""},
+{"Name":"TBX","Bits":"0|Q|0|0|1|1|1|0|0|0|0|Rm:5|0|10:2|1|0|0|Rn:5|Rd:5","Arch":"Three register table variant","Syntax":"TBX <Vd>.<Ta>, { <Vn>.16B, <Vn+1>.16B, <Vn+2>.16B }, <Vm>.<Ta>","Code":"","Alias":""},
+{"Name":"TBX","Bits":"0|Q|0|0|1|1|1|0|0|0|0|Rm:5|0|11:2|1|0|0|Rn:5|Rd:5","Arch":"Four register table variant","Syntax":"TBX <Vd>.<Ta>, { <Vn>.16B, <Vn+1>.16B, <Vn+2>.16B, <Vn+3>.16B }, <Vm>.<Ta>","Code":"","Alias":""},
+{"Name":"TBX","Bits":"0|Q|0|0|1|1|1|0|0|0|0|Rm:5|0|00:2|1|0|0|Rn:5|Rd:5","Arch":"Single register table variant","Syntax":"TBX <Vd>.<Ta>, { <Vn>.16B }, <Vm>.<Ta>","Code":"","Alias":""},
+{"Name":"TRN1","Bits":"0|Q|0|0|1|1|1|0|size:2|0|Rm:5|0|0|1|0|1|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"TRN1 <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"TRN2","Bits":"0|Q|0|0|1|1|1|0|size:2|0|Rm:5|0|1|1|0|1|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"TRN2 <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"UABA","Bits":"0|Q|1|0|1|1|1|0|size:2|1|Rm:5|0|1|1|1|1|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"UABA <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"UABAL, UABAL2","Bits":"0|0|1|0|1|1|1|0|size:2|1|Rm:5|0|1|0|1|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"UABAL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"UABAL, UABAL2","Bits":"0|1|1|0|1|1|1|0|size:2|1|Rm:5|0|1|0|1|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"UABAL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"UABD","Bits":"0|Q|1|0|1|1|1|0|size:2|1|Rm:5|0|1|1|1|0|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"UABD <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"UABDL, UABDL2","Bits":"0|0|1|0|1|1|1|0|size:2|1|Rm:5|0|1|1|1|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"UABDL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"UABDL, UABDL2","Bits":"0|1|1|0|1|1|1|0|size:2|1|Rm:5|0|1|1|1|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"UABDL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"UADALP","Bits":"0|Q|1|0|1|1|1|0|size:2|1|0|0|0|0|0|0|1|1|0|1|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"UADALP <Vd>.<Ta>, <Vn>.<Tb>","Code":"","Alias":""},
+{"Name":"UADDL, UADDL2","Bits":"0|0|1|0|1|1|1|0|size:2|1|Rm:5|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"UADDL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"UADDL, UADDL2","Bits":"0|1|1|0|1|1|1|0|size:2|1|Rm:5|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"UADDL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"UADDLP","Bits":"0|Q|1|0|1|1|1|0|size:2|1|0|0|0|0|0|0|0|1|0|1|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"UADDLP <Vd>.<Ta>, <Vn>.<Tb>","Code":"","Alias":""},
+{"Name":"UADDLV","Bits":"0|Q|1|0|1|1|1|0|size:2|1|1|0|0|0|0|0|0|1|1|1|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"UADDLV <V><d>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"UADDW, UADDW2","Bits":"0|0|1|0|1|1|1|0|size:2|1|Rm:5|0|0|0|1|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"UADDW <Vd>.<Ta>, <Vn>.<Ta>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"UADDW, UADDW2","Bits":"0|1|1|0|1|1|1|0|size:2|1|Rm:5|0|0|0|1|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"UADDW2 <Vd>.<Ta>, <Vn>.<Ta>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"UCVTF (vector, fixed-point)","Bits":"0|1|1|1|1|1|1|1|0|immh:4|immb:3|1|1|1|0|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"UCVTF <V><d>, <V><n>, #<fbits>","Code":"","Alias":""},
+{"Name":"UCVTF (vector, fixed-point)","Bits":"0|Q|1|0|1|1|1|1|0|immh:4|immb:3|1|1|1|0|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"UCVTF <Vd>.<T>, <Vn>.<T>, #<fbits>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"UCVTF (vector, integer)","Bits":"0|1|1|1|1|1|1|0|0|sz|1|0|0|0|0|1|1|1|0|1|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"UCVTF <V><d>, <V><n>","Code":"","Alias":""},
+{"Name":"UCVTF (vector, integer)","Bits":"0|Q|1|0|1|1|1|0|0|sz|1|0|0|0|0|1|1|1|0|1|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"UCVTF <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"UCVTF (scalar, fixed-point)","Bits":"0|0|0|1|1|1|1|0|00:2|0|0|0|0|1|1|scale:6|Rn:5|Rd:5","Arch":"32-bit to single-precision variant","Syntax":"UCVTF <Sd>, <Wn>, #<fbits>","Code":"","Alias":""},
+{"Name":"UCVTF (scalar, fixed-point)","Bits":"0|0|0|1|1|1|1|0|01:2|0|0|0|0|1|1|scale:6|Rn:5|Rd:5","Arch":"32-bit to double-precision variant","Syntax":"UCVTF <Dd>, <Wn>, #<fbits>","Code":"","Alias":""},
+{"Name":"UCVTF (scalar, fixed-point)","Bits":"1|0|0|1|1|1|1|0|00:2|0|0|0|0|1|1|scale:6|Rn:5|Rd:5","Arch":"64-bit to single-precision variant","Syntax":"UCVTF <Sd>, <Xn>, #<fbits>","Code":"","Alias":""},
+{"Name":"UCVTF (scalar, fixed-point)","Bits":"1|0|0|1|1|1|1|0|01:2|0|0|0|0|1|1|scale:6|Rn:5|Rd:5","Arch":"64-bit to double-precision variant","Syntax":"UCVTF <Dd>, <Xn>, #<fbits>","Code":"","Alias":""},
+{"Name":"UCVTF (scalar, integer)","Bits":"0|0|0|1|1|1|1|0|00:2|1|0|0|0|1|1|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"32-bit to single-precision variant","Syntax":"UCVTF <Sd>, <Wn>","Code":"","Alias":""},
+{"Name":"UCVTF (scalar, integer)","Bits":"0|0|0|1|1|1|1|0|01:2|1|0|0|0|1|1|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"32-bit to double-precision variant","Syntax":"UCVTF <Dd>, <Wn>","Code":"","Alias":""},
+{"Name":"UCVTF (scalar, integer)","Bits":"1|0|0|1|1|1|1|0|00:2|1|0|0|0|1|1|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"64-bit to single-precision variant","Syntax":"UCVTF <Sd>, <Xn>","Code":"","Alias":""},
+{"Name":"UCVTF (scalar, integer)","Bits":"1|0|0|1|1|1|1|0|01:2|1|0|0|0|1|1|0|0|0|0|0|0|Rn:5|Rd:5","Arch":"64-bit to double-precision variant","Syntax":"UCVTF <Dd>, <Xn>","Code":"","Alias":""},
+{"Name":"UHADD","Bits":"0|Q|1|0|1|1|1|0|size:2|1|Rm:5|0|0|0|0|0|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"UHADD <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"UHSUB","Bits":"0|Q|1|0|1|1|1|0|size:2|1|Rm:5|0|0|1|0|0|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"UHSUB <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"UMAX","Bits":"0|Q|1|0|1|1|1|0|size:2|1|Rm:5|0|1|1|0|0|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"UMAX <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"UMAXP","Bits":"0|Q|1|0|1|1|1|0|size:2|1|Rm:5|1|0|1|0|0|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"UMAXP <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"UMAXV","Bits":"0|Q|1|0|1|1|1|0|size:2|1|1|0|0|0|0|1|0|1|0|1|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"UMAXV <V><d>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"UMIN","Bits":"0|Q|1|0|1|1|1|0|size:2|1|Rm:5|0|1|1|0|1|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"UMIN <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"UMINP","Bits":"0|Q|1|0|1|1|1|0|size:2|1|Rm:5|1|0|1|0|1|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"UMINP <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"UMINV","Bits":"0|Q|1|0|1|1|1|0|size:2|1|1|0|0|0|1|1|0|1|0|1|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"UMINV <V><d>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"UMLAL, UMLAL2 (by element)","Bits":"0|0|1|0|1|1|1|1|size:2|L|M|Rm:4|0|0|1|0|H|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"UMLAL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"UMLAL, UMLAL2 (by element)","Bits":"0|1|1|0|1|1|1|1|size:2|L|M|Rm:4|0|0|1|0|H|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"UMLAL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"UMLAL, UMLAL2 (vector)","Bits":"0|0|1|0|1|1|1|0|size:2|1|Rm:5|1|0|0|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"UMLAL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"UMLAL, UMLAL2 (vector)","Bits":"0|1|1|0|1|1|1|0|size:2|1|Rm:5|1|0|0|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"UMLAL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"UMLSL, UMLSL2 (by element)","Bits":"0|0|1|0|1|1|1|1|size:2|L|M|Rm:4|0|1|1|0|H|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"UMLSL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"UMLSL, UMLSL2 (by element)","Bits":"0|1|1|0|1|1|1|1|size:2|L|M|Rm:4|0|1|1|0|H|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"UMLSL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"UMLSL, UMLSL2 (vector)","Bits":"0|0|1|0|1|1|1|0|size:2|1|Rm:5|1|0|1|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"UMLSL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"UMLSL, UMLSL2 (vector)","Bits":"0|1|1|0|1|1|1|0|size:2|1|Rm:5|1|0|1|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"UMLSL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"UMOV","Bits":"0|0|0|0|1|1|1|0|0|0|0|imm5:5|0|0|1|1|1|1|Rn:5|Rd:5","Arch":"32-bit variant","Syntax":"UMOV <Wd>, <Vn>.<Ts>[<index>]","Code":"","Alias":"This instruction is used by the alias MOV (to general)."},
+{"Name":"UMOV","Bits":"0|1|0|0|1|1|1|0|0|0|0|imm5:5|0|0|1|1|1|1|Rn:5|Rd:5","Arch":"64-bit variant","Syntax":"UMOV <Xd>, <Vn>.<Ts>[<index>]","Code":"","Alias":"This instruction is used by the alias MOV (to general)."},
+{"Name":"UMULL, UMULL2 (by element)","Bits":"0|0|1|0|1|1|1|1|size:2|L|M|Rm:4|1|0|1|0|H|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"UMULL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"UMULL, UMULL2 (by element)","Bits":"0|1|1|0|1|1|1|1|size:2|L|M|Rm:4|1|0|1|0|H|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"UMULL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Ts>[<index>]","Code":"","Alias":""},
+{"Name":"UMULL, UMULL2 (vector)","Bits":"0|0|1|0|1|1|1|0|size:2|1|Rm:5|1|1|0|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"UMULL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"UMULL, UMULL2 (vector)","Bits":"0|1|1|0|1|1|1|0|size:2|1|Rm:5|1|1|0|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"UMULL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"UQADD","Bits":"0|1|1|1|1|1|1|0|size:2|1|Rm:5|0|0|0|0|1|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"UQADD <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"UQADD","Bits":"0|Q|1|0|1|1|1|0|size:2|1|Rm:5|0|0|0|0|1|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"UQADD <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"UQRSHL","Bits":"0|1|1|1|1|1|1|0|size:2|1|Rm:5|0|1|0|1|1|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"UQRSHL <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"UQRSHL","Bits":"0|Q|1|0|1|1|1|0|size:2|1|Rm:5|0|1|0|1|1|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"UQRSHL <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"UQRSHRN, UQRSHRN2","Bits":"0|1|1|1|1|1|1|1|0|immh:4|immb:3|1|0|0|1|1|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"UQRSHRN <Vb><d>, <Va><n>, #<shift>","Code":"","Alias":""},
+{"Name":"UQRSHRN, UQRSHRN2","Bits":"0|0|1|0|1|1|1|1|0|immh:4|immb:3|1|0|0|1|1|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"UQRSHRN <Vd>.<Tb>, <Vn>.<Ta>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"UQRSHRN, UQRSHRN2","Bits":"0|1|1|0|1|1|1|1|0|immh:4|immb:3|1|0|0|1|1|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"UQRSHRN2 <Vd>.<Tb>, <Vn>.<Ta>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"UQSHL (immediate)","Bits":"0|1|1|1|1|1|1|1|0|immh:4|immb:3|0|1|1|1|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"UQSHL <V><d>, <V><n>, #<shift>","Code":"","Alias":""},
+{"Name":"UQSHL (immediate)","Bits":"0|Q|1|0|1|1|1|1|0|immh:4|immb:3|0|1|1|1|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"UQSHL <Vd>.<T>, <Vn>.<T>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"UQSHL (register)","Bits":"0|1|1|1|1|1|1|0|size:2|1|Rm:5|0|1|0|0|1|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"UQSHL <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"UQSHL (register)","Bits":"0|Q|1|0|1|1|1|0|size:2|1|Rm:5|0|1|0|0|1|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"UQSHL <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"UQSHRN, UQSHRN2","Bits":"0|1|1|1|1|1|1|1|0|immh:4|immb:3|1|0|0|1|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"UQSHRN <Vb><d>, <Va><n>, #<shift>","Code":"","Alias":""},
+{"Name":"UQSHRN, UQSHRN2","Bits":"0|0|1|0|1|1|1|1|0|immh:4|immb:3|1|0|0|1|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"UQSHRN <Vd>.<Tb>, <Vn>.<Ta>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"UQSHRN, UQSHRN2","Bits":"0|1|1|0|1|1|1|1|0|immh:4|immb:3|1|0|0|1|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"UQSHRN2 <Vd>.<Tb>, <Vn>.<Ta>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"UQSUB","Bits":"0|1|1|1|1|1|1|0|size:2|1|Rm:5|0|0|1|0|1|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"UQSUB <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"UQSUB","Bits":"0|Q|1|0|1|1|1|0|size:2|1|Rm:5|0|0|1|0|1|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"UQSUB <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"UQXTN, UQXTN2","Bits":"0|1|1|1|1|1|1|0|size:2|1|0|0|0|0|1|0|1|0|0|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"UQXTN <Vb><d>, <Va><n>","Code":"","Alias":""},
+{"Name":"UQXTN, UQXTN2","Bits":"0|0|1|0|1|1|1|0|size:2|1|0|0|0|0|1|0|1|0|0|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"UQXTN <Vd>.<Tb>, <Vn>.<Ta>","Code":"","Alias":""},
+{"Name":"UQXTN, UQXTN2","Bits":"0|1|1|0|1|1|1|0|size:2|1|0|0|0|0|1|0|1|0|0|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"UQXTN2 <Vd>.<Tb>, <Vn>.<Ta>","Code":"","Alias":""},
+{"Name":"URECPE","Bits":"0|Q|0|0|1|1|1|0|1|sz|1|0|0|0|0|1|1|1|0|0|1|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"URECPE <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"URHADD","Bits":"0|Q|1|0|1|1|1|0|size:2|1|Rm:5|0|0|0|1|0|1|Rn:5|Rd:5","Arch":"Three registers of the same type variant","Syntax":"URHADD <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"URSHL","Bits":"0|1|1|1|1|1|1|0|size:2|1|Rm:5|0|1|0|1|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"URSHL <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"URSHL","Bits":"0|Q|1|0|1|1|1|0|size:2|1|Rm:5|0|1|0|1|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"URSHL <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"URSHR","Bits":"0|1|1|1|1|1|1|1|0|immh:4|immb:3|0|0|1|0|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"URSHR <V><d>, <V><n>, #<shift>","Code":"","Alias":""},
+{"Name":"URSHR","Bits":"0|Q|1|0|1|1|1|1|0|immh:4|immb:3|0|0|1|0|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"URSHR <Vd>.<T>, <Vn>.<T>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"URSQRTE","Bits":"0|Q|1|0|1|1|1|0|1|sz|1|0|0|0|0|1|1|1|0|0|1|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"URSQRTE <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"URSRA","Bits":"0|1|1|1|1|1|1|1|0|immh:4|immb:3|0|0|1|1|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"URSRA <V><d>, <V><n>, #<shift>","Code":"","Alias":""},
+{"Name":"URSRA","Bits":"0|Q|1|0|1|1|1|1|0|immh:4|immb:3|0|0|1|1|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"URSRA <Vd>.<T>, <Vn>.<T>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"USHL","Bits":"0|1|1|1|1|1|1|0|size:2|1|Rm:5|0|1|0|0|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"USHL <V><d>, <V><n>, <V><m>","Code":"","Alias":""},
+{"Name":"USHL","Bits":"0|Q|1|0|1|1|1|0|size:2|1|Rm:5|0|1|0|0|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"USHL <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"USHLL, USHLL2","Bits":"0|0|1|0|1|1|1|1|0|immh:4|immb:3|1|0|1|0|0|1|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"USHLL <Vd>.<Ta>, <Vn>.<Tb>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":"This instruction is used by the alias UXTL, UXTL2."},
+{"Name":"USHLL, USHLL2","Bits":"0|1|1|0|1|1|1|1|0|immh:4|immb:3|1|0|1|0|0|1|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"USHLL2 <Vd>.<Ta>, <Vn>.<Tb>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":"This instruction is used by the alias UXTL, UXTL2."},
+{"Name":"USHR","Bits":"0|1|1|1|1|1|1|1|0|immh:4|immb:3|0|0|0|0|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"USHR <V><d>, <V><n>, #<shift>","Code":"","Alias":""},
+{"Name":"USHR","Bits":"0|Q|1|0|1|1|1|1|0|immh:4|immb:3|0|0|0|0|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"USHR <Vd>.<T>, <Vn>.<T>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"USQADD","Bits":"0|1|1|1|1|1|1|0|size:2|1|0|0|0|0|0|0|0|1|1|1|0|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"USQADD <V><d>, <V><n>","Code":"","Alias":""},
+{"Name":"USQADD","Bits":"0|Q|1|0|1|1|1|0|size:2|1|0|0|0|0|0|0|0|1|1|1|0|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"USQADD <Vd>.<T>, <Vn>.<T>","Code":"","Alias":""},
+{"Name":"USRA","Bits":"0|1|1|1|1|1|1|1|0|immh:4|immb:3|0|0|0|1|0|1|Rn:5|Rd:5","Arch":"Scalar Scalar variant","Syntax":"USRA <V><d>, <V><n>, #<shift>","Code":"","Alias":""},
+{"Name":"USRA","Bits":"0|Q|1|0|1|1|1|1|0|immh:4|immb:3|0|0|0|1|0|1|Rn:5|Rd:5","Arch":"Vector Vector variant","Syntax":"USRA <Vd>.<T>, <Vn>.<T>, #<shift>","Code":"if immh == '0000' then SEE \"Advanced SIMD modified immediate\";","Alias":""},
+{"Name":"USUBL, USUBL2","Bits":"0|0|1|0|1|1|1|0|size:2|1|Rm:5|0|0|1|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"USUBL <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"USUBL, USUBL2","Bits":"0|1|1|0|1|1|1|0|size:2|1|Rm:5|0|0|1|0|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"USUBL2 <Vd>.<Ta>, <Vn>.<Tb>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"USUBW, USUBW2","Bits":"0|0|1|0|1|1|1|0|size:2|1|Rm:5|0|0|1|1|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"USUBW <Vd>.<Ta>, <Vn>.<Ta>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"USUBW, USUBW2","Bits":"0|1|1|0|1|1|1|0|size:2|1|Rm:5|0|0|1|1|0|0|Rn:5|Rd:5","Arch":"Three registers, not all the same type variant","Syntax":"USUBW2 <Vd>.<Ta>, <Vn>.<Ta>, <Vm>.<Tb>","Code":"","Alias":""},
+{"Name":"UXTL, UXTL2","Bits":"0|0|1|0|1|1|1|1|0|immh:4|0|0|0|1|0|1|0|0|1|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"UXTL <Vd>.<Ta>, <Vn>.<Tb>","Code":"","Alias":"This instruction is an alias of the USHLL, USHLL2 instruction."},
+{"Name":"UXTL, UXTL2","Bits":"0|1|1|0|1|1|1|1|0|immh:4|0|0|0|1|0|1|0|0|1|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"UXTL2 <Vd>.<Ta>, <Vn>.<Tb>","Code":"","Alias":"This instruction is an alias of the USHLL, USHLL2 instruction."},
+{"Name":"UZP1","Bits":"0|Q|0|0|1|1|1|0|size:2|0|Rm:5|0|0|0|1|1|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"UZP1 <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"UZP2","Bits":"0|Q|0|0|1|1|1|0|size:2|0|Rm:5|0|1|0|1|1|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"UZP2 <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"XTN, XTN2","Bits":"0|0|0|0|1|1|1|0|size:2|1|0|0|0|0|1|0|0|1|0|1|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"XTN <Vd>.<Tb>, <Vn>.<Ta>","Code":"","Alias":""},
+{"Name":"XTN, XTN2","Bits":"0|1|0|0|1|1|1|0|size:2|1|0|0|0|0|1|0|0|1|0|1|0|Rn:5|Rd:5","Arch":"Vector variant","Syntax":"XTN2 <Vd>.<Tb>, <Vn>.<Ta>","Code":"","Alias":""},
+{"Name":"ZIP1","Bits":"0|Q|0|0|1|1|1|0|size:2|0|Rm:5|0|0|1|1|1|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"ZIP1 <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""},
+{"Name":"ZIP2","Bits":"0|Q|0|0|1|1|1|0|size:2|0|Rm:5|0|1|1|1|1|0|Rn:5|Rd:5","Arch":"Advanced SIMD variant","Syntax":"ZIP2 <Vd>.<T>, <Vn>.<T>, <Vm>.<T>","Code":"","Alias":""}
+]
diff --git a/arm64/arm64asm/objdump_test.go b/arm64/arm64asm/objdump_test.go
new file mode 100644
index 0000000..c9df701
--- /dev/null
+++ b/arm64/arm64asm/objdump_test.go
@@ -0,0 +1,124 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package arm64asm
+
+import (
+ "strings"
+ "testing"
+)
+
+func TestObjdumpARM64Testdata(t *testing.T) { testObjdumpARM64(t, testdataCases(t)) }
+func TestObjdumpARM64Manual(t *testing.T) { testObjdumpARM64(t, hexCases(t, objdumpManualTests)) }
+func TestObjdumpARM64Cond(t *testing.T) { testObjdumpARM64(t, condCases(t)) }
+func TestObjdumpARM64(t *testing.T) { testObjdumpARM64(t, JSONCases(t)) }
+
+// objdumpManualTests holds test cases that will be run by TestObjdumpARMManual.
+// If you are debugging a few cases that turned up in a longer run, it can be useful
+// to list them here and then use -run=Manual, particularly with tracing enabled.
+// Note that these are byte sequences, so they must be reversed from the usual
+// word presentation.
+var objdumpManualTests = `
+bf2003d5
+9f2003d5
+7f2003d5
+5f2003d5
+3f2003d5
+1f2003d5
+df4d03d5
+ff4d03d5
+28d91b14
+da6cb530
+15e5e514
+ff4603d5
+df4803d5
+bf4100d5
+9f3f03d5
+9f3e03d5
+9f3d03d5
+9f3b03d5
+9f3a03d5
+9f3903d5
+9f3703d5
+9f3603d5
+9f3503d5
+9f3303d5
+9f3203d5
+9f3103d5
+ff4603d5
+df4803d5
+bf4100d5
+a3681b53
+47dc78d3
+0500a012
+0500e092
+0500a052
+0500a0d2
+cd5a206e
+cd5a202e
+743d050e
+743d0a0e
+743d0c0e
+743d084e
+`
+
+// allowedMismatchObjdump reports whether the mismatch between text and dec
+// should be allowed by the test.
+func allowedMismatchObjdump(text string, inst *Inst, dec ExtInst) bool {
+ // Skip unsupported instructions
+ if hasPrefix(dec.text, todo...) {
+ return true
+ }
+ // GNU objdump has incorrect alias conditions for following instructions
+ if inst.Enc&0x000003ff == 0x000003ff && hasPrefix(dec.text, "negs") && hasPrefix(text, "cmp") {
+ return true
+ }
+ // GNU objdump "NV" is equal to our "AL"
+ if strings.HasSuffix(dec.text, " nv") && strings.HasSuffix(text, " al") {
+ return true
+ }
+ if strings.HasPrefix(dec.text, "b.nv") && strings.HasPrefix(text, "b.al") {
+ return true
+ }
+ // GNU objdump recognizes invalid binaries as following instructions
+ if hasPrefix(dec.text, "hint", "mrs", "msr", "bfc", "orr", "mov") {
+ return true
+ }
+ if strings.HasPrefix(text, "hint") {
+ return true
+ }
+ // GNU objdump recognizes reserved valuse as valid ones
+ if strings.Contains(text, "unknown instruction") && hasPrefix(dec.text, "fmla", "fmul", "fmulx", "fcvtzs", "fcvtzu", "fmls", "fmov", "scvtf", "ucvtf") {
+ return true
+ }
+ // GNU objdump misses spaces between operands for some instructions (e.g., "ld1 {v10.2s, v11.2s}, [x23],#16")
+ if strings.Replace(text, " ", "", -1) == strings.Replace(dec.text, " ", "", -1) {
+ return true
+ }
+ return false
+}
+
+// TODO: system instruction.
+var todo = strings.Fields(`
+ sys
+ dc
+ at
+ tlbi
+ ic
+ hvc
+ smc
+`)
+
+// Following instructions can't be covered because they are just aliases to another instructions which are always preferred
+var Ncover = strings.Fields(`
+ sbfm
+ asrv
+ bfm
+ ubfm
+ lslv
+ lsrv
+ rorv
+ ins
+ dup
+`)
diff --git a/arm64/arm64asm/objdumpext_test.go b/arm64/arm64asm/objdumpext_test.go
new file mode 100644
index 0000000..b430f98
--- /dev/null
+++ b/arm64/arm64asm/objdumpext_test.go
@@ -0,0 +1,299 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Copied and simplified from ../../arm/armasm/objdumpext_test.go.
+
+package arm64asm
+
+import (
+ "bytes"
+ "debug/elf"
+ "encoding/binary"
+ "fmt"
+ "io"
+ "log"
+ "os"
+ "os/exec"
+ "strconv"
+ "strings"
+ "testing"
+)
+
+const objdumpPath = "/usr/bin/objdump"
+
+func testObjdumpARM64(t *testing.T, generate func(func([]byte))) {
+ testObjdumpArch(t, generate, ModeARM64)
+}
+
+func testObjdumpArch(t *testing.T, generate func(func([]byte)), arch Mode) {
+ if _, err := os.Stat(objdumpPath); err != nil {
+ t.Skip(err)
+ }
+ // Check objdump can disassemble elf64-aarch64.
+ if test := objdumpinfo(); test == false {
+ t.Skip("Skip the test if installed objdump doesn't support aarch64 elf format")
+ }
+ testExtDis(t, "gnu", arch, objdump, generate, allowedMismatchObjdump)
+ testExtDis(t, "plan9", arch, objdump, generate, allowedMismatchObjdump)
+}
+
+func objdumpinfo() bool {
+ var i = []byte("aarch64")
+ out, err := exec.Command(objdumpPath, "-i").Output()
+ if err != nil {
+ log.Fatal(err)
+ }
+ if bytes.Contains(out, i) {
+ return true
+ }
+ return false
+}
+
+func objdump(ext *ExtDis) error {
+ // File already written with instructions; add ELF header.
+ if ext.Arch == ModeARM64 {
+ if err := writeELF64(ext.File, ext.Size); err != nil {
+ return err
+ }
+ } else {
+ panic("unknown arch")
+ }
+
+ b, err := ext.Run(objdumpPath, "-d", "-z", ext.File.Name())
+ if err != nil {
+ return err
+ }
+
+ var (
+ nmatch int
+ reading bool
+ next uint64 = start
+ addr uint64
+ encbuf [4]byte
+ enc []byte
+ text string
+ )
+ flush := func() {
+ if addr == next {
+ // PC-relative addresses are translated to absolute addresses based on PC by GNU objdump
+ // Following logical rewrites the absolute addresses back to PC-relative ones for comparing
+ // with our disassembler output which are PC-relative
+
+ if m := pcrelprfmim.FindStringSubmatch(text); m != nil {
+ targ, _ := strconv.ParseUint(m[2], 16, 64)
+ text = fmt.Sprintf("%s .%+#x", m[1], uint64(targ-uint64(addr)))
+ }
+ if m := pcrelprfm.FindStringSubmatch(text); m != nil {
+ targ, _ := strconv.ParseUint(m[2], 16, 64)
+ text = fmt.Sprintf("%s .%+#x", m[1], uint64(targ-uint64(addr)))
+ }
+ if m := pcrelim.FindStringSubmatch(text); m != nil {
+ targ, _ := strconv.ParseUint(m[2], 16, 64)
+ text = fmt.Sprintf("%s .%+#x", m[1], uint64(targ-uint64(addr)))
+ }
+ if m := pcrelimzr.FindStringSubmatch(text); m != nil {
+ targ, _ := strconv.ParseUint(m[2], 16, 64)
+ text = fmt.Sprintf("%s .%+#x", m[1], uint64(targ-uint64(addr)))
+ }
+ if m := pcrelr.FindStringSubmatch(text); m != nil {
+ targ, _ := strconv.ParseUint(m[2], 16, 64)
+ if strings.Contains(m[1], "adrp") {
+ text = fmt.Sprintf("%s .%+#x", m[1], uint64(targ-uint64(addr&0xfffff000)))
+ } else {
+ text = fmt.Sprintf("%s .%+#x", m[1], uint64(targ-uint64(addr)))
+ }
+ }
+ if m := pcrelrzr.FindStringSubmatch(text); m != nil {
+ targ, _ := strconv.ParseUint(m[2], 16, 64)
+ if strings.Contains(m[1], "adrp") {
+ text = fmt.Sprintf("%s .%+#x", m[1], uint64(targ-uint64(addr&0xfffff000)))
+ } else {
+ text = fmt.Sprintf("%s .%+#x", m[1], uint64(targ-uint64(addr)))
+ }
+ }
+ if m := pcrel.FindStringSubmatch(text); m != nil {
+ targ, _ := strconv.ParseUint(m[2], 16, 64)
+ text = fmt.Sprintf("%s .%+#x", m[1], uint64(targ-uint64(addr)))
+ }
+ if strings.HasPrefix(text, "mov") && strings.Contains(text, "//") {
+ s := strings.Split(text, " //")
+ text = s[0]
+ }
+ text = strings.Replace(text, "#0.0", "#0", -1)
+ if text == "undefined" && len(enc) == 4 {
+ text = "error: unknown instruction"
+ enc = nil
+ }
+ if len(enc) == 4 {
+ // prints as word but we want to record bytes
+ enc[0], enc[3] = enc[3], enc[0]
+ enc[1], enc[2] = enc[2], enc[1]
+ }
+ ext.Dec <- ExtInst{addr, encbuf, len(enc), text}
+ encbuf = [4]byte{}
+ enc = nil
+ next += 4
+ }
+ }
+ var textangle = []byte("<.text>:")
+ for {
+ line, err := b.ReadSlice('\n')
+ if err != nil {
+ if err == io.EOF {
+ break
+ }
+ return fmt.Errorf("reading objdump output: %v", err)
+ }
+ if bytes.Contains(line, textangle) {
+ reading = true
+ continue
+ }
+ if !reading {
+ continue
+ }
+ if debug {
+ os.Stdout.Write(line)
+ }
+ if enc1 := parseContinuation(line, encbuf[:len(enc)]); enc1 != nil {
+ enc = enc1
+ continue
+ }
+ flush()
+ nmatch++
+ addr, enc, text = parseLine(line, encbuf[:0])
+ if addr > next {
+ return fmt.Errorf("address out of sync expected <= %#x at %q in:\n%s", next, line, line)
+ }
+ }
+ flush()
+ if next != start+uint64(ext.Size) {
+ return fmt.Errorf("not enough results found [%d %d]", next, start+ext.Size)
+ }
+ if err := ext.Wait(); err != nil {
+ return fmt.Errorf("exec: %v", err)
+ }
+
+ return nil
+}
+
+var (
+ undefined = []byte("undefined")
+ unpredictable = []byte("unpredictable")
+)
+
+func parseLine(line []byte, encstart []byte) (addr uint64, enc []byte, text string) {
+ ok := false
+ oline := line
+ i := index(line, ":\t")
+ if i < 0 {
+ log.Fatalf("cannot parse disassembly: %q", oline)
+ }
+ x, err := strconv.ParseUint(string(bytes.TrimSpace(line[:i])), 16, 32)
+ if err != nil {
+ log.Fatalf("cannot parse disassembly: %q", oline)
+ }
+ addr = uint64(x)
+ line = line[i+2:]
+ i = bytes.IndexByte(line, '\t')
+ if i < 0 {
+ log.Fatalf("cannot parse disassembly: %q", oline)
+ }
+ enc, ok = parseHex(line[:i], encstart)
+ if !ok {
+ log.Fatalf("cannot parse disassembly: %q", oline)
+ }
+ line = bytes.TrimSpace(line[i:])
+ if bytes.Contains(line, undefined) {
+ text = "undefined"
+ return
+ }
+ if false && bytes.Contains(line, unpredictable) {
+ text = "unpredictable"
+ return
+ }
+ if i := bytes.IndexByte(line, ';'); i >= 0 {
+ line = bytes.TrimSpace(line[:i])
+ }
+ text = string(fixSpace(line))
+ return
+}
+
+func parseContinuation(line []byte, enc []byte) []byte {
+ i := index(line, ":\t")
+ if i < 0 {
+ return nil
+ }
+ line = line[i+1:]
+ enc, _ = parseHex(line, enc)
+ return enc
+}
+
+// writeELF64 writes an ELF64 header to the file, describing a text
+// segment that starts at start (0x8000) and extends for size bytes.
+func writeELF64(f *os.File, size int) error {
+ f.Seek(0, 0)
+ var hdr elf.Header64
+ var prog elf.Prog64
+ var sect elf.Section64
+ var buf bytes.Buffer
+ binary.Write(&buf, binary.LittleEndian, &hdr)
+ off1 := buf.Len()
+ binary.Write(&buf, binary.LittleEndian, &prog)
+ off2 := buf.Len()
+ binary.Write(&buf, binary.LittleEndian, §)
+ off3 := buf.Len()
+ buf.Reset()
+ data := byte(elf.ELFDATA2LSB)
+ hdr = elf.Header64{
+ Ident: [16]byte{0x7F, 'E', 'L', 'F', 2, data, 1},
+ Type: 2,
+ Machine: uint16(elf.EM_AARCH64),
+ Version: 1,
+ Entry: start,
+ Phoff: uint64(off1),
+ Shoff: uint64(off2),
+ Flags: 0x05000002,
+ Ehsize: uint16(off1),
+ Phentsize: uint16(off2 - off1),
+ Phnum: 1,
+ Shentsize: uint16(off3 - off2),
+ Shnum: 3,
+ Shstrndx: 2,
+ }
+ binary.Write(&buf, binary.LittleEndian, &hdr)
+ prog = elf.Prog64{
+ Type: 1,
+ Off: start,
+ Vaddr: start,
+ Paddr: start,
+ Filesz: uint64(size),
+ Memsz: uint64(size),
+ Flags: 5,
+ Align: start,
+ }
+ binary.Write(&buf, binary.LittleEndian, &prog)
+ binary.Write(&buf, binary.LittleEndian, §) // NULL section
+ sect = elf.Section64{
+ Name: 1,
+ Type: uint32(elf.SHT_PROGBITS),
+ Addr: start,
+ Off: start,
+ Size: uint64(size),
+ Flags: uint64(elf.SHF_ALLOC | elf.SHF_EXECINSTR),
+ Addralign: 4,
+ }
+ binary.Write(&buf, binary.LittleEndian, §) // .text
+ sect = elf.Section64{
+ Name: uint32(len("\x00.text\x00")),
+ Type: uint32(elf.SHT_STRTAB),
+ Addr: 0,
+ Off: uint64(off2 + (off3-off2)*3),
+ Size: uint64(len("\x00.text\x00.shstrtab\x00")),
+ Addralign: 1,
+ }
+ binary.Write(&buf, binary.LittleEndian, §)
+ buf.WriteString("\x00.text\x00.shstrtab\x00")
+ f.Write(buf.Bytes())
+ return nil
+}
diff --git a/arm64/arm64asm/plan9x.go b/arm64/arm64asm/plan9x.go
new file mode 100644
index 0000000..e597276
--- /dev/null
+++ b/arm64/arm64asm/plan9x.go
@@ -0,0 +1,611 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package arm64asm
+
+import (
+ "fmt"
+ "io"
+ "sort"
+ "strings"
+)
+
+// GoSyntax returns the Go assembler syntax for the instruction.
+// The syntax was originally defined by Plan 9.
+// The pc is the program counter of the instruction, used for
+// expanding PC-relative addresses into absolute ones.
+// The symname function queries the symbol table for the program
+// being disassembled. Given a target address it returns the name
+// and base address of the symbol containing the target, if any;
+// otherwise it returns "", 0.
+// The reader text should read from the text segment using text addresses
+// as offsets; it is used to display pc-relative loads as constant loads.
+func GoSyntax(inst Inst, pc uint64, symname func(uint64) (string, uint64), text io.ReaderAt) string {
+ if symname == nil {
+ symname = func(uint64) (string, uint64) { return "", 0 }
+ }
+
+ var args []string
+ for _, a := range inst.Args {
+ if a == nil {
+ break
+ }
+ args = append(args, plan9Arg(&inst, pc, symname, a))
+ }
+
+ op := inst.Op.String()
+
+ switch inst.Op {
+ case LDR, LDRB, LDRH, LDRSB, LDRSH, LDRSW:
+ // Check for PC-relative load.
+ if offset, ok := inst.Args[1].(PCRel); ok {
+ addr := pc + uint64(offset)
+ if _, ok := inst.Args[0].(Reg); !ok {
+ break
+ }
+ if s, base := symname(addr); s != "" && addr == base {
+ args[1] = fmt.Sprintf("$%s(SB)", s)
+ }
+ }
+ }
+
+ // Move addressing mode into opcode suffix.
+ suffix := ""
+ switch inst.Op {
+ case LDR, LDRB, LDRH, LDRSB, LDRSH, LDRSW, STR, STRB, STRH, STUR, STURB, STURH, LD1:
+ switch mem := inst.Args[1].(type) {
+ case MemImmediate:
+ switch mem.Mode {
+ case AddrOffset:
+ // no suffix
+ case AddrPreIndex:
+ suffix = ".W"
+ case AddrPostIndex, AddrPostReg:
+ suffix = ".P"
+ }
+ }
+
+ case STP, LDP:
+ switch mem := inst.Args[2].(type) {
+ case MemImmediate:
+ switch mem.Mode {
+ case AddrOffset:
+ // no suffix
+ case AddrPreIndex:
+ suffix = ".W"
+ case AddrPostIndex:
+ suffix = ".P"
+ }
+ }
+ }
+
+ switch inst.Op {
+ case BL:
+ return "CALL " + args[0]
+
+ case BLR:
+ r := inst.Args[0].(Reg)
+ regno := uint16(r) & 31
+ return fmt.Sprintf("CALL (R%d)", regno)
+
+ case RET:
+ if r, ok := inst.Args[0].(Reg); ok && r == X30 {
+ return "RET"
+ }
+
+ case B:
+ if cond, ok := inst.Args[0].(Cond); ok {
+ return "B" + cond.String() + " " + args[1]
+ }
+ return "JMP" + " " + args[0]
+
+ case BR:
+ r := inst.Args[0].(Reg)
+ regno := uint16(r) & 31
+ return fmt.Sprintf("JMP (R%d)", regno)
+
+ case MOV:
+ rno := -1
+ switch a := inst.Args[0].(type) {
+ case Reg:
+ rno = int(a)
+ case RegSP:
+ rno = int(a)
+ case RegisterWithArrangementAndIndex:
+ op = "VMOV"
+ }
+ if rno >= 0 && rno <= int(WZR) {
+ op = "MOVW"
+ } else if rno >= int(X0) && rno <= int(XZR) {
+ op = "MOVD"
+ }
+ if _, ok := inst.Args[1].(RegisterWithArrangementAndIndex); ok {
+ op = "VMOV"
+ }
+
+ case LDR:
+ var rno uint16
+ if r, ok := inst.Args[0].(Reg); ok {
+ rno = uint16(r)
+ } else {
+ rno = uint16(inst.Args[0].(RegSP))
+ }
+ if rno <= uint16(WZR) {
+ op = "MOVWU" + suffix
+ } else {
+ op = "MOVD" + suffix
+ }
+
+ case LDRB:
+ op = "MOVBU" + suffix
+
+ case LDRH:
+ op = "MOVHU" + suffix
+
+ case LDRSW:
+ op = "MOVW" + suffix
+
+ case LDRSB:
+ if r, ok := inst.Args[0].(Reg); ok {
+ rno := uint16(r)
+ if rno <= uint16(WZR) {
+ op = "MOVBW" + suffix
+ } else {
+ op = "MOVB" + suffix
+ }
+ }
+ case LDRSH:
+ if r, ok := inst.Args[0].(Reg); ok {
+ rno := uint16(r)
+ if rno <= uint16(WZR) {
+ op = "MOVHW" + suffix
+ } else {
+ op = "MOVH" + suffix
+ }
+ }
+ case STR, STUR:
+ var rno uint16
+ if r, ok := inst.Args[0].(Reg); ok {
+ rno = uint16(r)
+ } else {
+ rno = uint16(inst.Args[0].(RegSP))
+ }
+ if rno <= uint16(WZR) {
+ op = "MOVW" + suffix
+ } else {
+ op = "MOVD" + suffix
+ }
+ args[0], args[1] = args[1], args[0]
+
+ case STRB, STURB:
+ op = "MOVB" + suffix
+ args[0], args[1] = args[1], args[0]
+
+ case STRH, STURH:
+ op = "MOVH" + suffix
+ args[0], args[1] = args[1], args[0]
+
+ case TBNZ, TBZ:
+ args[0], args[1], args[2] = args[2], args[0], args[1]
+
+ case MADD, MSUB, SMADDL, SMSUBL, UMADDL, UMSUBL:
+ if r, ok := inst.Args[0].(Reg); ok {
+ rno := uint16(r)
+ if rno <= uint16(WZR) {
+ op += "W"
+ }
+ }
+ args[2], args[3] = args[3], args[2]
+ case STLR:
+ if r, ok := inst.Args[0].(Reg); ok {
+ rno := uint16(r)
+ if rno <= uint16(WZR) {
+ op += "W"
+ }
+ }
+ args[0], args[1] = args[1], args[0]
+
+ case STLRB, STLRH:
+ args[0], args[1] = args[1], args[0]
+
+ case STLXR, STXR:
+ if r, ok := inst.Args[1].(Reg); ok {
+ rno := uint16(r)
+ if rno <= uint16(WZR) {
+ op += "W"
+ }
+ }
+ args[1], args[2] = args[2], args[1]
+
+ case STLXRB, STLXRH, STXRB, STXRH:
+ args[1], args[2] = args[2], args[1]
+
+ case BFI, BFXIL, SBFIZ, SBFX, UBFIZ, UBFX:
+ if r, ok := inst.Args[0].(Reg); ok {
+ rno := uint16(r)
+ if rno <= uint16(WZR) {
+ op += "W"
+ }
+ }
+ args[1], args[2], args[3] = args[3], args[1], args[2]
+
+ case STP, LDP:
+ args[0] = fmt.Sprintf("(%s, %s)", args[0], args[1])
+ args[1] = args[2]
+ if op == "STP" {
+ op = op + suffix
+ return op + " " + args[0] + ", " + args[1]
+ } else if op == "LDP" {
+ op = op + suffix
+ return op + " " + args[1] + ", " + args[0]
+ }
+
+ case FCCMP, FCCMPE:
+ args[0], args[1] = args[1], args[0]
+ fallthrough
+
+ case FCMP, FCMPE:
+ if _, ok := inst.Args[1].(Imm); ok {
+ args[1] = "$(0.0)"
+ }
+ fallthrough
+
+ case FADD, FSUB, FMUL, FNMUL, FDIV, FMAX, FMIN, FMAXNM, FMINNM, FCSEL:
+ if r, ok := inst.Args[0].(Reg); ok {
+ rno := uint16(r)
+ if rno >= uint16(S0) && rno <= uint16(S31) {
+ op = fmt.Sprintf("%sS", op)
+ } else if rno >= uint16(D0) && rno <= uint16(D31) {
+ op = fmt.Sprintf("%sD", op)
+ }
+ }
+
+ case FCVT:
+ for i := 1; i >= 0; i-- {
+ if r, ok := inst.Args[i].(Reg); ok {
+ rno := uint16(r)
+ if rno >= uint16(H0) && rno <= uint16(H31) {
+ op = fmt.Sprintf("%sH", op)
+ } else if rno >= uint16(S0) && rno <= uint16(S31) {
+ op = fmt.Sprintf("%sS", op)
+ } else if rno >= uint16(D0) && rno <= uint16(D31) {
+ op = fmt.Sprintf("%sD", op)
+ }
+ }
+ }
+
+ case FABS, FNEG, FSQRT, FRINTN, FRINTP, FRINTM, FRINTZ, FRINTA, FRINTX, FRINTI:
+ if r, ok := inst.Args[1].(Reg); ok {
+ rno := uint16(r)
+ if rno >= uint16(S0) && rno <= uint16(S31) {
+ op = fmt.Sprintf("%sS", op)
+ } else if rno >= uint16(D0) && rno <= uint16(D31) {
+ op = fmt.Sprintf("%sD", op)
+ }
+ }
+
+ case FCVTZS, FCVTZU, SCVTF, UCVTF:
+ if _, ok := inst.Args[2].(Imm); !ok {
+ for i := 1; i >= 0; i-- {
+ if r, ok := inst.Args[i].(Reg); ok {
+ rno := uint16(r)
+ if rno >= uint16(S0) && rno <= uint16(S31) {
+ op = fmt.Sprintf("%sS", op)
+ } else if rno >= uint16(D0) && rno <= uint16(D31) {
+ op = fmt.Sprintf("%sD", op)
+ } else if rno <= uint16(WZR) {
+ op += "W"
+ }
+ }
+ }
+ }
+
+ case FMOV:
+ for i := 0; i <= 1; i++ {
+ if r, ok := inst.Args[i].(Reg); ok {
+ rno := uint16(r)
+ if rno >= uint16(S0) && rno <= uint16(S31) {
+ op = fmt.Sprintf("%sS", op)
+ break
+ } else if rno >= uint16(D0) && rno <= uint16(D31) {
+ op = fmt.Sprintf("%sD", op)
+ break
+ }
+ }
+ }
+
+ case SYSL:
+ op1 := int(inst.Args[1].(Imm).Imm)
+ cn := int(inst.Args[2].(Imm_c))
+ cm := int(inst.Args[3].(Imm_c))
+ op2 := int(inst.Args[4].(Imm).Imm)
+ sysregno := int32(op1<<16 | cn<<12 | cm<<8 | op2<<5)
+ args[1] = fmt.Sprintf("$%d", sysregno)
+ return op + " " + args[1] + ", " + args[0]
+
+ case CBNZ, CBZ:
+ if r, ok := inst.Args[0].(Reg); ok {
+ rno := uint16(r)
+ if rno <= uint16(WZR) {
+ op += "W"
+ }
+ }
+ args[0], args[1] = args[1], args[0]
+
+ case ADR, ADRP:
+ addr := int64(inst.Args[1].(PCRel))
+ args[1] = fmt.Sprintf("%d(PC)", addr)
+
+ default:
+ index := sort.SearchStrings(noSuffixOpSet, op)
+ if !(index < len(noSuffixOpSet) && noSuffixOpSet[index] == op) {
+ rno := -1
+ switch a := inst.Args[0].(type) {
+ case Reg:
+ rno = int(a)
+ case RegSP:
+ rno = int(a)
+ case RegisterWithArrangement:
+ op = fmt.Sprintf("V%s", op)
+ }
+
+ if rno >= 0 && rno <= int(WZR) {
+ // Add "w" to opcode suffix.
+ op += "W"
+ }
+ }
+ op = op + suffix
+ }
+
+ // conditional instructions, replace args.
+ if _, ok := inst.Args[3].(Cond); ok {
+ if _, ok := inst.Args[2].(Reg); ok {
+ args[1], args[2] = args[2], args[1]
+ } else {
+ args[0], args[2] = args[2], args[0]
+ }
+ }
+ // Reverse args, placing dest last.
+ for i, j := 0, len(args)-1; i < j; i, j = i+1, j-1 {
+ args[i], args[j] = args[j], args[i]
+ }
+
+ if args != nil {
+ op += " " + strings.Join(args, ", ")
+ }
+
+ return op
+}
+
+// No need add "W" to opcode suffix.
+// Opcode must be inserted in ascending order.
+var noSuffixOpSet = strings.Fields(`
+CRC32B
+CRC32CB
+CRC32CH
+CRC32CW
+CRC32CX
+CRC32H
+CRC32W
+CRC32X
+LDARB
+LDARH
+LDAXRB
+LDAXRH
+LDXRB
+LDXRH
+`)
+
+func plan9Arg(inst *Inst, pc uint64, symname func(uint64) (string, uint64), arg Arg) string {
+ switch a := arg.(type) {
+ case Imm:
+ return fmt.Sprintf("$%d", uint32(a.Imm))
+
+ case Imm64:
+ return fmt.Sprintf("$%d", int64(a.Imm))
+
+ case ImmShift:
+ if a.shift == 0 {
+ return fmt.Sprintf("$%d", a.imm)
+ }
+ return fmt.Sprintf("$(%d<<%d)", a.imm, a.shift)
+
+ case PCRel:
+ addr := int64(pc) + int64(a)
+ if s, base := symname(uint64(addr)); s != "" && uint64(addr) == base {
+ return fmt.Sprintf("%s(SB)", s)
+ }
+ return fmt.Sprintf("%d(PC)", a/4)
+
+ case Reg:
+ regenum := uint16(a)
+ regno := uint16(a) & 31
+
+ if regenum >= uint16(B0) && regenum <= uint16(D31) {
+ // FP registers are the same ones as SIMD registers
+ // Print Fn for scalar variant to align with assembler (e.g., FCVT)
+ return fmt.Sprintf("F%d", regno)
+ } else if regenum >= uint16(Q0) && regenum <= uint16(Q31) {
+ // Print Vn to align with assembler (e.g., SHA256H)
+ return fmt.Sprintf("V%d", regno)
+ }
+
+ if regno == 31 {
+ return "ZR"
+ }
+ return fmt.Sprintf("R%d", regno)
+
+ case RegSP:
+ regno := uint16(a) & 31
+ if regno == 31 {
+ return "RSP"
+ }
+ return fmt.Sprintf("R%d", regno)
+
+ case RegExtshiftAmount:
+ reg := ""
+ regno := uint16(a.reg) & 31
+ if regno == 31 {
+ reg = "ZR"
+ } else {
+ reg = fmt.Sprintf("R%d", uint16(a.reg)&31)
+ }
+ extshift := ""
+ amount := ""
+ if a.extShift != ExtShift(0) {
+ switch a.extShift {
+ default:
+ extshift = "." + a.extShift.String()
+
+ case lsl:
+ extshift = "<<"
+ amount = fmt.Sprintf("%d", a.amount)
+ return reg + extshift + amount
+
+ case lsr:
+ extshift = ">>"
+ amount = fmt.Sprintf("%d", a.amount)
+ return reg + extshift + amount
+
+ case asr:
+ extshift = "->"
+ amount = fmt.Sprintf("%d", a.amount)
+ return reg + extshift + amount
+ case ror:
+ extshift = "@>"
+ amount = fmt.Sprintf("%d", a.amount)
+ return reg + extshift + amount
+ }
+ if a.amount != 0 {
+ amount = fmt.Sprintf("<<%d", a.amount)
+ }
+ }
+ return reg + extshift + amount
+
+ case MemImmediate:
+ off := ""
+ base := ""
+ regno := uint16(a.Base) & 31
+ if regno == 31 {
+ base = "(RSP)"
+ } else {
+ base = fmt.Sprintf("(R%d)", regno)
+ }
+ if a.imm != 0 && a.Mode != AddrPostReg {
+ off = fmt.Sprintf("%d", a.imm)
+ } else if a.Mode == AddrPostReg {
+ postR := fmt.Sprintf("(R%d)", a.imm)
+ return base + postR
+ }
+ return off + base
+
+ case MemExtend:
+ base := ""
+ index := ""
+ extend := ""
+ indexreg := ""
+ regno := uint16(a.Base) & 31
+ if regno == 31 {
+ base = "(RSP)"
+ } else {
+ base = fmt.Sprintf("(R%d)", regno)
+ }
+ regno = uint16(a.Index) & 31
+ if regno == 31 {
+ indexreg = "ZR"
+ } else {
+ indexreg = fmt.Sprintf("R%d", regno)
+ }
+ if a.Extend == lsl {
+ if a.Amount != 0 {
+ extend = fmt.Sprintf("<<%d", a.Amount)
+ }
+ } else {
+ extend = "unimplemented!"
+ }
+ index = indexreg + extend
+ return index + base
+
+ case Cond:
+ switch arg.String() {
+ case "CS":
+ return "HS"
+ case "CC":
+ return "LO"
+ }
+
+ case Imm_clrex:
+ return fmt.Sprintf("$%d", uint32(a))
+
+ case Imm_dcps:
+ return fmt.Sprintf("$%d", uint32(a))
+
+ case Imm_option:
+ return fmt.Sprintf("$%d", uint8(a))
+
+ case Imm_hint:
+ return fmt.Sprintf("$%d", uint8(a))
+
+ case Imm_fp:
+ var s, pre, numerator, denominator int16
+ var result float64
+ if a.s == 0 {
+ s = 1
+ } else {
+ s = -1
+ }
+ pre = s * int16(16+a.pre)
+ if a.exp > 0 {
+ numerator = (pre << uint8(a.exp))
+ denominator = 16
+ } else {
+ numerator = pre
+ denominator = (16 << uint8(-1*a.exp))
+ }
+ result = float64(numerator) / float64(denominator)
+ return strings.TrimRight(fmt.Sprintf("$%f", result), "0")
+
+ case RegisterWithArrangement:
+ result := a.r.String()
+ arrange := a.a.String()
+ c := []rune(arrange)
+ switch len(c) {
+ case 3:
+ c[1], c[2] = c[2], c[1] // .8B -> .B8
+ case 4:
+ c[1], c[2], c[3] = c[3], c[1], c[2] // 16B -> B16
+ }
+ arrange = string(c)
+ result += arrange
+ if a.cnt > 0 {
+ result = "[" + result
+ for i := 1; i < int(a.cnt); i++ {
+ cur := V0 + Reg((uint16(a.r)-uint16(V0)+uint16(i))&31)
+ result += ", " + cur.String() + arrange
+ }
+ result += "]"
+ }
+ return result
+
+ case RegisterWithArrangementAndIndex:
+ result := a.r.String()
+ arrange := a.a.String()
+ result += arrange
+ if a.cnt > 0 {
+ result = "[" + result
+ for i := 1; i < int(a.cnt); i++ {
+ cur := V0 + Reg((uint16(a.r)-uint16(V0)+uint16(i))&31)
+ result += ", " + cur.String() + arrange
+ }
+ result += "]"
+ }
+ return fmt.Sprintf("%s[%d]", result, a.index)
+
+ case Systemreg:
+ return fmt.Sprintf("$%d", uint32(a.op0&1)<<14|uint32(a.op1&7)<<11|uint32(a.cn&15)<<7|uint32(a.cm&15)<<3|uint32(a.op2)&7)
+
+ }
+
+ return strings.ToUpper(arg.String())
+}
diff --git a/arm64/arm64asm/tables.go b/arm64/arm64asm/tables.go
new file mode 100644
index 0000000..ef5237d
--- /dev/null
+++ b/arm64/arm64asm/tables.go
@@ -0,0 +1,3366 @@
+// Generated by ARM internal tool
+// DO NOT EDIT
+
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package arm64asm
+
+const (
+ _ Op = iota
+ ABS
+ ADC
+ ADCS
+ ADD
+ ADDHN
+ ADDHN2
+ ADDP
+ ADDS
+ ADDV
+ ADR
+ ADRP
+ AESD
+ AESE
+ AESIMC
+ AESMC
+ AND
+ ANDS
+ ASR
+ ASRV
+ AT
+ B
+ BFI
+ BFM
+ BFXIL
+ BIC
+ BICS
+ BIF
+ BIT
+ BL
+ BLR
+ BR
+ BRK
+ BSL
+ CBNZ
+ CBZ
+ CCMN
+ CCMP
+ CINC
+ CINV
+ CLREX
+ CLS
+ CLZ
+ CMEQ
+ CMGE
+ CMGT
+ CMHI
+ CMHS
+ CMLE
+ CMLT
+ CMN
+ CMP
+ CMTST
+ CNEG
+ CNT
+ CRC32B
+ CRC32CB
+ CRC32CH
+ CRC32CW
+ CRC32CX
+ CRC32H
+ CRC32W
+ CRC32X
+ CSEL
+ CSET
+ CSETM
+ CSINC
+ CSINV
+ CSNEG
+ DC
+ DCPS1
+ DCPS2
+ DCPS3
+ DMB
+ DRPS
+ DSB
+ DUP
+ EON
+ EOR
+ ERET
+ EXT
+ EXTR
+ FABD
+ FABS
+ FACGE
+ FACGT
+ FADD
+ FADDP
+ FCCMP
+ FCCMPE
+ FCMEQ
+ FCMGE
+ FCMGT
+ FCMLE
+ FCMLT
+ FCMP
+ FCMPE
+ FCSEL
+ FCVT
+ FCVTAS
+ FCVTAU
+ FCVTL
+ FCVTL2
+ FCVTMS
+ FCVTMU
+ FCVTN
+ FCVTN2
+ FCVTNS
+ FCVTNU
+ FCVTPS
+ FCVTPU
+ FCVTXN
+ FCVTXN2
+ FCVTZS
+ FCVTZU
+ FDIV
+ FMADD
+ FMAX
+ FMAXNM
+ FMAXNMP
+ FMAXNMV
+ FMAXP
+ FMAXV
+ FMIN
+ FMINNM
+ FMINNMP
+ FMINNMV
+ FMINP
+ FMINV
+ FMLA
+ FMLS
+ FMOV
+ FMSUB
+ FMUL
+ FMULX
+ FNEG
+ FNMADD
+ FNMSUB
+ FNMUL
+ FRECPE
+ FRECPS
+ FRECPX
+ FRINTA
+ FRINTI
+ FRINTM
+ FRINTN
+ FRINTP
+ FRINTX
+ FRINTZ
+ FRSQRTE
+ FRSQRTS
+ FSQRT
+ FSUB
+ HINT
+ HLT
+ HVC
+ IC
+ INS
+ ISB
+ LD1
+ LD1R
+ LD2
+ LD2R
+ LD3
+ LD3R
+ LD4
+ LD4R
+ LDAR
+ LDARB
+ LDARH
+ LDAXP
+ LDAXR
+ LDAXRB
+ LDAXRH
+ LDNP
+ LDP
+ LDPSW
+ LDR
+ LDRB
+ LDRH
+ LDRSB
+ LDRSH
+ LDRSW
+ LDTR
+ LDTRB
+ LDTRH
+ LDTRSB
+ LDTRSH
+ LDTRSW
+ LDUR
+ LDURB
+ LDURH
+ LDURSB
+ LDURSH
+ LDURSW
+ LDXP
+ LDXR
+ LDXRB
+ LDXRH
+ LSL
+ LSLV
+ LSR
+ LSRV
+ MADD
+ MLA
+ MLS
+ MNEG
+ MOV
+ MOVI
+ MOVK
+ MOVN
+ MOVZ
+ MRS
+ MSR
+ MSUB
+ MUL
+ MVN
+ MVNI
+ NEG
+ NEGS
+ NGC
+ NGCS
+ NOP
+ NOT
+ ORN
+ ORR
+ PMUL
+ PMULL
+ PMULL2
+ PRFM
+ PRFUM
+ RADDHN
+ RADDHN2
+ RBIT
+ RET
+ REV
+ REV16
+ REV32
+ REV64
+ ROR
+ RORV
+ RSHRN
+ RSHRN2
+ RSUBHN
+ RSUBHN2
+ SABA
+ SABAL
+ SABAL2
+ SABD
+ SABDL
+ SABDL2
+ SADALP
+ SADDL
+ SADDL2
+ SADDLP
+ SADDLV
+ SADDW
+ SADDW2
+ SBC
+ SBCS
+ SBFIZ
+ SBFM
+ SBFX
+ SCVTF
+ SDIV
+ SEV
+ SEVL
+ SHA1C
+ SHA1H
+ SHA1M
+ SHA1P
+ SHA1SU0
+ SHA1SU1
+ SHA256H
+ SHA256H2
+ SHA256SU0
+ SHA256SU1
+ SHADD
+ SHL
+ SHLL
+ SHLL2
+ SHRN
+ SHRN2
+ SHSUB
+ SLI
+ SMADDL
+ SMAX
+ SMAXP
+ SMAXV
+ SMC
+ SMIN
+ SMINP
+ SMINV
+ SMLAL
+ SMLAL2
+ SMLSL
+ SMLSL2
+ SMNEGL
+ SMOV
+ SMSUBL
+ SMULH
+ SMULL
+ SMULL2
+ SQABS
+ SQADD
+ SQDMLAL
+ SQDMLAL2
+ SQDMLSL
+ SQDMLSL2
+ SQDMULH
+ SQDMULL
+ SQDMULL2
+ SQNEG
+ SQRDMULH
+ SQRSHL
+ SQRSHRN
+ SQRSHRN2
+ SQRSHRUN
+ SQRSHRUN2
+ SQSHL
+ SQSHLU
+ SQSHRN
+ SQSHRN2
+ SQSHRUN
+ SQSHRUN2
+ SQSUB
+ SQXTN
+ SQXTN2
+ SQXTUN
+ SQXTUN2
+ SRHADD
+ SRI
+ SRSHL
+ SRSHR
+ SRSRA
+ SSHL
+ SSHLL
+ SSHLL2
+ SSHR
+ SSRA
+ SSUBL
+ SSUBL2
+ SSUBW
+ SSUBW2
+ ST1
+ ST2
+ ST3
+ ST4
+ STLR
+ STLRB
+ STLRH
+ STLXP
+ STLXR
+ STLXRB
+ STLXRH
+ STNP
+ STP
+ STR
+ STRB
+ STRH
+ STTR
+ STTRB
+ STTRH
+ STUR
+ STURB
+ STURH
+ STXP
+ STXR
+ STXRB
+ STXRH
+ SUB
+ SUBHN
+ SUBHN2
+ SUBS
+ SUQADD
+ SVC
+ SXTB
+ SXTH
+ SXTL
+ SXTL2
+ SXTW
+ SYS
+ SYSL
+ TBL
+ TBNZ
+ TBX
+ TBZ
+ TLBI
+ TRN1
+ TRN2
+ TST
+ UABA
+ UABAL
+ UABAL2
+ UABD
+ UABDL
+ UABDL2
+ UADALP
+ UADDL
+ UADDL2
+ UADDLP
+ UADDLV
+ UADDW
+ UADDW2
+ UBFIZ
+ UBFM
+ UBFX
+ UCVTF
+ UDIV
+ UHADD
+ UHSUB
+ UMADDL
+ UMAX
+ UMAXP
+ UMAXV
+ UMIN
+ UMINP
+ UMINV
+ UMLAL
+ UMLAL2
+ UMLSL
+ UMLSL2
+ UMNEGL
+ UMOV
+ UMSUBL
+ UMULH
+ UMULL
+ UMULL2
+ UQADD
+ UQRSHL
+ UQRSHRN
+ UQRSHRN2
+ UQSHL
+ UQSHRN
+ UQSHRN2
+ UQSUB
+ UQXTN
+ UQXTN2
+ URECPE
+ URHADD
+ URSHL
+ URSHR
+ URSQRTE
+ URSRA
+ USHL
+ USHLL
+ USHLL2
+ USHR
+ USQADD
+ USRA
+ USUBL
+ USUBL2
+ USUBW
+ USUBW2
+ UXTB
+ UXTH
+ UXTL
+ UXTL2
+ UZP1
+ UZP2
+ WFE
+ WFI
+ XTN
+ XTN2
+ YIELD
+ ZIP1
+ ZIP2
+)
+
+var opstr = [...]string{
+ ABS: "ABS",
+ ADC: "ADC",
+ ADCS: "ADCS",
+ ADD: "ADD",
+ ADDHN: "ADDHN",
+ ADDHN2: "ADDHN2",
+ ADDP: "ADDP",
+ ADDS: "ADDS",
+ ADDV: "ADDV",
+ ADR: "ADR",
+ ADRP: "ADRP",
+ AESD: "AESD",
+ AESE: "AESE",
+ AESIMC: "AESIMC",
+ AESMC: "AESMC",
+ AND: "AND",
+ ANDS: "ANDS",
+ ASR: "ASR",
+ ASRV: "ASRV",
+ AT: "AT",
+ B: "B",
+ BFI: "BFI",
+ BFM: "BFM",
+ BFXIL: "BFXIL",
+ BIC: "BIC",
+ BICS: "BICS",
+ BIF: "BIF",
+ BIT: "BIT",
+ BL: "BL",
+ BLR: "BLR",
+ BR: "BR",
+ BRK: "BRK",
+ BSL: "BSL",
+ CBNZ: "CBNZ",
+ CBZ: "CBZ",
+ CCMN: "CCMN",
+ CCMP: "CCMP",
+ CINC: "CINC",
+ CINV: "CINV",
+ CLREX: "CLREX",
+ CLS: "CLS",
+ CLZ: "CLZ",
+ CMEQ: "CMEQ",
+ CMGE: "CMGE",
+ CMGT: "CMGT",
+ CMHI: "CMHI",
+ CMHS: "CMHS",
+ CMLE: "CMLE",
+ CMLT: "CMLT",
+ CMN: "CMN",
+ CMP: "CMP",
+ CMTST: "CMTST",
+ CNEG: "CNEG",
+ CNT: "CNT",
+ CRC32B: "CRC32B",
+ CRC32CB: "CRC32CB",
+ CRC32CH: "CRC32CH",
+ CRC32CW: "CRC32CW",
+ CRC32CX: "CRC32CX",
+ CRC32H: "CRC32H",
+ CRC32W: "CRC32W",
+ CRC32X: "CRC32X",
+ CSEL: "CSEL",
+ CSET: "CSET",
+ CSETM: "CSETM",
+ CSINC: "CSINC",
+ CSINV: "CSINV",
+ CSNEG: "CSNEG",
+ DC: "DC",
+ DCPS1: "DCPS1",
+ DCPS2: "DCPS2",
+ DCPS3: "DCPS3",
+ DMB: "DMB",
+ DRPS: "DRPS",
+ DSB: "DSB",
+ DUP: "DUP",
+ EON: "EON",
+ EOR: "EOR",
+ ERET: "ERET",
+ EXT: "EXT",
+ EXTR: "EXTR",
+ FABD: "FABD",
+ FABS: "FABS",
+ FACGE: "FACGE",
+ FACGT: "FACGT",
+ FADD: "FADD",
+ FADDP: "FADDP",
+ FCCMP: "FCCMP",
+ FCCMPE: "FCCMPE",
+ FCMEQ: "FCMEQ",
+ FCMGE: "FCMGE",
+ FCMGT: "FCMGT",
+ FCMLE: "FCMLE",
+ FCMLT: "FCMLT",
+ FCMP: "FCMP",
+ FCMPE: "FCMPE",
+ FCSEL: "FCSEL",
+ FCVT: "FCVT",
+ FCVTAS: "FCVTAS",
+ FCVTAU: "FCVTAU",
+ FCVTL: "FCVTL",
+ FCVTL2: "FCVTL2",
+ FCVTMS: "FCVTMS",
+ FCVTMU: "FCVTMU",
+ FCVTN: "FCVTN",
+ FCVTN2: "FCVTN2",
+ FCVTNS: "FCVTNS",
+ FCVTNU: "FCVTNU",
+ FCVTPS: "FCVTPS",
+ FCVTPU: "FCVTPU",
+ FCVTXN: "FCVTXN",
+ FCVTXN2: "FCVTXN2",
+ FCVTZS: "FCVTZS",
+ FCVTZU: "FCVTZU",
+ FDIV: "FDIV",
+ FMADD: "FMADD",
+ FMAX: "FMAX",
+ FMAXNM: "FMAXNM",
+ FMAXNMP: "FMAXNMP",
+ FMAXNMV: "FMAXNMV",
+ FMAXP: "FMAXP",
+ FMAXV: "FMAXV",
+ FMIN: "FMIN",
+ FMINNM: "FMINNM",
+ FMINNMP: "FMINNMP",
+ FMINNMV: "FMINNMV",
+ FMINP: "FMINP",
+ FMINV: "FMINV",
+ FMLA: "FMLA",
+ FMLS: "FMLS",
+ FMOV: "FMOV",
+ FMSUB: "FMSUB",
+ FMUL: "FMUL",
+ FMULX: "FMULX",
+ FNEG: "FNEG",
+ FNMADD: "FNMADD",
+ FNMSUB: "FNMSUB",
+ FNMUL: "FNMUL",
+ FRECPE: "FRECPE",
+ FRECPS: "FRECPS",
+ FRECPX: "FRECPX",
+ FRINTA: "FRINTA",
+ FRINTI: "FRINTI",
+ FRINTM: "FRINTM",
+ FRINTN: "FRINTN",
+ FRINTP: "FRINTP",
+ FRINTX: "FRINTX",
+ FRINTZ: "FRINTZ",
+ FRSQRTE: "FRSQRTE",
+ FRSQRTS: "FRSQRTS",
+ FSQRT: "FSQRT",
+ FSUB: "FSUB",
+ HINT: "HINT",
+ HLT: "HLT",
+ HVC: "HVC",
+ IC: "IC",
+ INS: "INS",
+ ISB: "ISB",
+ LD1: "LD1",
+ LD1R: "LD1R",
+ LD2: "LD2",
+ LD2R: "LD2R",
+ LD3: "LD3",
+ LD3R: "LD3R",
+ LD4: "LD4",
+ LD4R: "LD4R",
+ LDAR: "LDAR",
+ LDARB: "LDARB",
+ LDARH: "LDARH",
+ LDAXP: "LDAXP",
+ LDAXR: "LDAXR",
+ LDAXRB: "LDAXRB",
+ LDAXRH: "LDAXRH",
+ LDNP: "LDNP",
+ LDP: "LDP",
+ LDPSW: "LDPSW",
+ LDR: "LDR",
+ LDRB: "LDRB",
+ LDRH: "LDRH",
+ LDRSB: "LDRSB",
+ LDRSH: "LDRSH",
+ LDRSW: "LDRSW",
+ LDTR: "LDTR",
+ LDTRB: "LDTRB",
+ LDTRH: "LDTRH",
+ LDTRSB: "LDTRSB",
+ LDTRSH: "LDTRSH",
+ LDTRSW: "LDTRSW",
+ LDUR: "LDUR",
+ LDURB: "LDURB",
+ LDURH: "LDURH",
+ LDURSB: "LDURSB",
+ LDURSH: "LDURSH",
+ LDURSW: "LDURSW",
+ LDXP: "LDXP",
+ LDXR: "LDXR",
+ LDXRB: "LDXRB",
+ LDXRH: "LDXRH",
+ LSL: "LSL",
+ LSLV: "LSLV",
+ LSR: "LSR",
+ LSRV: "LSRV",
+ MADD: "MADD",
+ MLA: "MLA",
+ MLS: "MLS",
+ MNEG: "MNEG",
+ MOV: "MOV",
+ MOVI: "MOVI",
+ MOVK: "MOVK",
+ MOVN: "MOVN",
+ MOVZ: "MOVZ",
+ MRS: "MRS",
+ MSR: "MSR",
+ MSUB: "MSUB",
+ MUL: "MUL",
+ MVN: "MVN",
+ MVNI: "MVNI",
+ NEG: "NEG",
+ NEGS: "NEGS",
+ NGC: "NGC",
+ NGCS: "NGCS",
+ NOP: "NOP",
+ NOT: "NOT",
+ ORN: "ORN",
+ ORR: "ORR",
+ PMUL: "PMUL",
+ PMULL: "PMULL",
+ PMULL2: "PMULL2",
+ PRFM: "PRFM",
+ PRFUM: "PRFUM",
+ RADDHN: "RADDHN",
+ RADDHN2: "RADDHN2",
+ RBIT: "RBIT",
+ RET: "RET",
+ REV: "REV",
+ REV16: "REV16",
+ REV32: "REV32",
+ REV64: "REV64",
+ ROR: "ROR",
+ RORV: "RORV",
+ RSHRN: "RSHRN",
+ RSHRN2: "RSHRN2",
+ RSUBHN: "RSUBHN",
+ RSUBHN2: "RSUBHN2",
+ SABA: "SABA",
+ SABAL: "SABAL",
+ SABAL2: "SABAL2",
+ SABD: "SABD",
+ SABDL: "SABDL",
+ SABDL2: "SABDL2",
+ SADALP: "SADALP",
+ SADDL: "SADDL",
+ SADDL2: "SADDL2",
+ SADDLP: "SADDLP",
+ SADDLV: "SADDLV",
+ SADDW: "SADDW",
+ SADDW2: "SADDW2",
+ SBC: "SBC",
+ SBCS: "SBCS",
+ SBFIZ: "SBFIZ",
+ SBFM: "SBFM",
+ SBFX: "SBFX",
+ SCVTF: "SCVTF",
+ SDIV: "SDIV",
+ SEV: "SEV",
+ SEVL: "SEVL",
+ SHA1C: "SHA1C",
+ SHA1H: "SHA1H",
+ SHA1M: "SHA1M",
+ SHA1P: "SHA1P",
+ SHA1SU0: "SHA1SU0",
+ SHA1SU1: "SHA1SU1",
+ SHA256H: "SHA256H",
+ SHA256H2: "SHA256H2",
+ SHA256SU0: "SHA256SU0",
+ SHA256SU1: "SHA256SU1",
+ SHADD: "SHADD",
+ SHL: "SHL",
+ SHLL: "SHLL",
+ SHLL2: "SHLL2",
+ SHRN: "SHRN",
+ SHRN2: "SHRN2",
+ SHSUB: "SHSUB",
+ SLI: "SLI",
+ SMADDL: "SMADDL",
+ SMAX: "SMAX",
+ SMAXP: "SMAXP",
+ SMAXV: "SMAXV",
+ SMC: "SMC",
+ SMIN: "SMIN",
+ SMINP: "SMINP",
+ SMINV: "SMINV",
+ SMLAL: "SMLAL",
+ SMLAL2: "SMLAL2",
+ SMLSL: "SMLSL",
+ SMLSL2: "SMLSL2",
+ SMNEGL: "SMNEGL",
+ SMOV: "SMOV",
+ SMSUBL: "SMSUBL",
+ SMULH: "SMULH",
+ SMULL: "SMULL",
+ SMULL2: "SMULL2",
+ SQABS: "SQABS",
+ SQADD: "SQADD",
+ SQDMLAL: "SQDMLAL",
+ SQDMLAL2: "SQDMLAL2",
+ SQDMLSL: "SQDMLSL",
+ SQDMLSL2: "SQDMLSL2",
+ SQDMULH: "SQDMULH",
+ SQDMULL: "SQDMULL",
+ SQDMULL2: "SQDMULL2",
+ SQNEG: "SQNEG",
+ SQRDMULH: "SQRDMULH",
+ SQRSHL: "SQRSHL",
+ SQRSHRN: "SQRSHRN",
+ SQRSHRN2: "SQRSHRN2",
+ SQRSHRUN: "SQRSHRUN",
+ SQRSHRUN2: "SQRSHRUN2",
+ SQSHL: "SQSHL",
+ SQSHLU: "SQSHLU",
+ SQSHRN: "SQSHRN",
+ SQSHRN2: "SQSHRN2",
+ SQSHRUN: "SQSHRUN",
+ SQSHRUN2: "SQSHRUN2",
+ SQSUB: "SQSUB",
+ SQXTN: "SQXTN",
+ SQXTN2: "SQXTN2",
+ SQXTUN: "SQXTUN",
+ SQXTUN2: "SQXTUN2",
+ SRHADD: "SRHADD",
+ SRI: "SRI",
+ SRSHL: "SRSHL",
+ SRSHR: "SRSHR",
+ SRSRA: "SRSRA",
+ SSHL: "SSHL",
+ SSHLL: "SSHLL",
+ SSHLL2: "SSHLL2",
+ SSHR: "SSHR",
+ SSRA: "SSRA",
+ SSUBL: "SSUBL",
+ SSUBL2: "SSUBL2",
+ SSUBW: "SSUBW",
+ SSUBW2: "SSUBW2",
+ ST1: "ST1",
+ ST2: "ST2",
+ ST3: "ST3",
+ ST4: "ST4",
+ STLR: "STLR",
+ STLRB: "STLRB",
+ STLRH: "STLRH",
+ STLXP: "STLXP",
+ STLXR: "STLXR",
+ STLXRB: "STLXRB",
+ STLXRH: "STLXRH",
+ STNP: "STNP",
+ STP: "STP",
+ STR: "STR",
+ STRB: "STRB",
+ STRH: "STRH",
+ STTR: "STTR",
+ STTRB: "STTRB",
+ STTRH: "STTRH",
+ STUR: "STUR",
+ STURB: "STURB",
+ STURH: "STURH",
+ STXP: "STXP",
+ STXR: "STXR",
+ STXRB: "STXRB",
+ STXRH: "STXRH",
+ SUB: "SUB",
+ SUBHN: "SUBHN",
+ SUBHN2: "SUBHN2",
+ SUBS: "SUBS",
+ SUQADD: "SUQADD",
+ SVC: "SVC",
+ SXTB: "SXTB",
+ SXTH: "SXTH",
+ SXTL: "SXTL",
+ SXTL2: "SXTL2",
+ SXTW: "SXTW",
+ SYS: "SYS",
+ SYSL: "SYSL",
+ TBL: "TBL",
+ TBNZ: "TBNZ",
+ TBX: "TBX",
+ TBZ: "TBZ",
+ TLBI: "TLBI",
+ TRN1: "TRN1",
+ TRN2: "TRN2",
+ TST: "TST",
+ UABA: "UABA",
+ UABAL: "UABAL",
+ UABAL2: "UABAL2",
+ UABD: "UABD",
+ UABDL: "UABDL",
+ UABDL2: "UABDL2",
+ UADALP: "UADALP",
+ UADDL: "UADDL",
+ UADDL2: "UADDL2",
+ UADDLP: "UADDLP",
+ UADDLV: "UADDLV",
+ UADDW: "UADDW",
+ UADDW2: "UADDW2",
+ UBFIZ: "UBFIZ",
+ UBFM: "UBFM",
+ UBFX: "UBFX",
+ UCVTF: "UCVTF",
+ UDIV: "UDIV",
+ UHADD: "UHADD",
+ UHSUB: "UHSUB",
+ UMADDL: "UMADDL",
+ UMAX: "UMAX",
+ UMAXP: "UMAXP",
+ UMAXV: "UMAXV",
+ UMIN: "UMIN",
+ UMINP: "UMINP",
+ UMINV: "UMINV",
+ UMLAL: "UMLAL",
+ UMLAL2: "UMLAL2",
+ UMLSL: "UMLSL",
+ UMLSL2: "UMLSL2",
+ UMNEGL: "UMNEGL",
+ UMOV: "UMOV",
+ UMSUBL: "UMSUBL",
+ UMULH: "UMULH",
+ UMULL: "UMULL",
+ UMULL2: "UMULL2",
+ UQADD: "UQADD",
+ UQRSHL: "UQRSHL",
+ UQRSHRN: "UQRSHRN",
+ UQRSHRN2: "UQRSHRN2",
+ UQSHL: "UQSHL",
+ UQSHRN: "UQSHRN",
+ UQSHRN2: "UQSHRN2",
+ UQSUB: "UQSUB",
+ UQXTN: "UQXTN",
+ UQXTN2: "UQXTN2",
+ URECPE: "URECPE",
+ URHADD: "URHADD",
+ URSHL: "URSHL",
+ URSHR: "URSHR",
+ URSQRTE: "URSQRTE",
+ URSRA: "URSRA",
+ USHL: "USHL",
+ USHLL: "USHLL",
+ USHLL2: "USHLL2",
+ USHR: "USHR",
+ USQADD: "USQADD",
+ USRA: "USRA",
+ USUBL: "USUBL",
+ USUBL2: "USUBL2",
+ USUBW: "USUBW",
+ USUBW2: "USUBW2",
+ UXTB: "UXTB",
+ UXTH: "UXTH",
+ UXTL: "UXTL",
+ UXTL2: "UXTL2",
+ UZP1: "UZP1",
+ UZP2: "UZP2",
+ WFE: "WFE",
+ WFI: "WFI",
+ XTN: "XTN",
+ XTN2: "XTN2",
+ YIELD: "YIELD",
+ ZIP1: "ZIP1",
+ ZIP2: "ZIP2",
+}
+
+var instFormats = [...]instFormat{
+ // ADC <Wd>, <Wn>, <Wm>
+ {0xffe0fc00, 0x1a000000, ADC, instArgs{arg_Wd, arg_Wn, arg_Wm}, nil},
+ // ADC <Xd>, <Xn>, <Xm>
+ {0xffe0fc00, 0x9a000000, ADC, instArgs{arg_Xd, arg_Xn, arg_Xm}, nil},
+ // ADCS <Wd>, <Wn>, <Wm>
+ {0xffe0fc00, 0x3a000000, ADCS, instArgs{arg_Wd, arg_Wn, arg_Wm}, nil},
+ // ADCS <Xd>, <Xn>, <Xm>
+ {0xffe0fc00, 0xba000000, ADCS, instArgs{arg_Xd, arg_Xn, arg_Xm}, nil},
+ // ADD <Wd|WSP>, <Wn|WSP>, <Wm>{, <extend> {#<amount>}}
+ {0xffe00000, 0x0b200000, ADD, instArgs{arg_Wds, arg_Wns, arg_Wm_extend__UXTB_0__UXTH_1__LSL_UXTW_2__UXTX_3__SXTB_4__SXTH_5__SXTW_6__SXTX_7__0_4}, nil},
+ // ADD <Xd|SP>, <Xn|SP>, <R><m>{, <extend_1> {#<amount>}}
+ {0xffe00000, 0x8b200000, ADD, instArgs{arg_Xds, arg_Xns, arg_Rm_extend__UXTB_0__UXTH_1__UXTW_2__LSL_UXTX_3__SXTB_4__SXTH_5__SXTW_6__SXTX_7__0_4}, nil},
+ // MOV <Wd|WSP>, <Wn|WSP>
+ {0xfffffc00, 0x11000000, MOV, instArgs{arg_Wds, arg_Wns}, mov_add_32_addsub_imm_cond},
+ // ADD <Wd|WSP>, <Wn|WSP>, #<imm>{, <shift>}
+ {0xff000000, 0x11000000, ADD, instArgs{arg_Wds, arg_Wns, arg_IAddSub}, nil},
+ // MOV <Xd|SP>, <Xn|SP>
+ {0xfffffc00, 0x91000000, MOV, instArgs{arg_Xds, arg_Xns}, mov_add_64_addsub_imm_cond},
+ // ADD <Xd|SP>, <Xn|SP>, #<imm>{, <shift>}
+ {0xff000000, 0x91000000, ADD, instArgs{arg_Xds, arg_Xns, arg_IAddSub}, nil},
+ // ADD <Wd>, <Wn>, <Wm> {, <shift> #<amount> }
+ {0xff208000, 0x0b000000, ADD, instArgs{arg_Wd, arg_Wn, arg_Wm_shift__LSL_0__LSR_1__ASR_2__0_31}, nil},
+ // ADD <Xd>, <Xn>, <Xm> {, <shift> #<amount> }
+ {0xff200000, 0x8b000000, ADD, instArgs{arg_Xd, arg_Xn, arg_Xm_shift__LSL_0__LSR_1__ASR_2__0_63}, nil},
+ // CMN <Wn|WSP>, <Wm>{, <extend> {#<amount>}}
+ {0xffe0001f, 0x2b20001f, CMN, instArgs{arg_Wns, arg_Wm_extend__UXTB_0__UXTH_1__LSL_UXTW_2__UXTX_3__SXTB_4__SXTH_5__SXTW_6__SXTX_7__0_4}, nil},
+ // ADDS <Wd>, <Wn|WSP>, <Wm>{, <extend> {#<amount>}}
+ {0xffe00000, 0x2b200000, ADDS, instArgs{arg_Wd, arg_Wns, arg_Wm_extend__UXTB_0__UXTH_1__LSL_UXTW_2__UXTX_3__SXTB_4__SXTH_5__SXTW_6__SXTX_7__0_4}, nil},
+ // CMN <Xn|SP>, <R><m>{, <extend_1> {#<amount>}}
+ {0xffe0001f, 0xab20001f, CMN, instArgs{arg_Xns, arg_Rm_extend__UXTB_0__UXTH_1__UXTW_2__LSL_UXTX_3__SXTB_4__SXTH_5__SXTW_6__SXTX_7__0_4}, nil},
+ // ADDS <Xd>, <Xn|SP>, <R><m>{, <extend_1> {#<amount>}}
+ {0xffe00000, 0xab200000, ADDS, instArgs{arg_Xd, arg_Xns, arg_Rm_extend__UXTB_0__UXTH_1__UXTW_2__LSL_UXTX_3__SXTB_4__SXTH_5__SXTW_6__SXTX_7__0_4}, nil},
+ // CMN <Wn|WSP>, #<imm>{, <shift>}
+ {0xff00001f, 0x3100001f, CMN, instArgs{arg_Wns, arg_IAddSub}, nil},
+ // ADDS <Wd>, <Wn|WSP>, #<imm>{, <shift>}
+ {0xff000000, 0x31000000, ADDS, instArgs{arg_Wd, arg_Wns, arg_IAddSub}, nil},
+ // CMN <Xn|SP>, #<imm>{, <shift>}
+ {0xff00001f, 0xb100001f, CMN, instArgs{arg_Xns, arg_IAddSub}, nil},
+ // ADDS <Xd>, <Xn|SP>, #<imm>{, <shift>}
+ {0xff000000, 0xb1000000, ADDS, instArgs{arg_Xd, arg_Xns, arg_IAddSub}, nil},
+ // CMN <Wn>, <Wm> {, <shift> #<amount> }
+ {0xff20801f, 0x2b00001f, CMN, instArgs{arg_Wn, arg_Wm_shift__LSL_0__LSR_1__ASR_2__0_31}, nil},
+ // ADDS <Wd>, <Wn>, <Wm> {, <shift> #<amount> }
+ {0xff208000, 0x2b000000, ADDS, instArgs{arg_Wd, arg_Wn, arg_Wm_shift__LSL_0__LSR_1__ASR_2__0_31}, nil},
+ // CMN <Xn>, <Xm> {, <shift> #<amount> }
+ {0xff20001f, 0xab00001f, CMN, instArgs{arg_Xn, arg_Xm_shift__LSL_0__LSR_1__ASR_2__0_63}, nil},
+ // ADDS <Xd>, <Xn>, <Xm> {, <shift> #<amount> }
+ {0xff200000, 0xab000000, ADDS, instArgs{arg_Xd, arg_Xn, arg_Xm_shift__LSL_0__LSR_1__ASR_2__0_63}, nil},
+ // ADR <Xd>, <label>
+ {0x9f000000, 0x10000000, ADR, instArgs{arg_Xd, arg_slabel_immhi_immlo_0}, nil},
+ // ADRP <Xd>, <label>
+ {0x9f000000, 0x90000000, ADRP, instArgs{arg_Xd, arg_slabel_immhi_immlo_12}, nil},
+ // AND <Wd|WSP>, <Wn>, #<imm>
+ {0xffc00000, 0x12000000, AND, instArgs{arg_Wds, arg_Wn, arg_immediate_bitmask_32_imms_immr}, nil},
+ // AND <Xd|SP>, <Xn>, #<imm>
+ {0xff800000, 0x92000000, AND, instArgs{arg_Xds, arg_Xn, arg_immediate_bitmask_64_N_imms_immr}, nil},
+ // AND <Wd>, <Wn>, <Wm> {, <shift> #<amount> }
+ {0xff208000, 0x0a000000, AND, instArgs{arg_Wd, arg_Wn, arg_Wm_shift__LSL_0__LSR_1__ASR_2__ROR_3__0_31}, nil},
+ // AND <Xd>, <Xn>, <Xm> {, <shift> #<amount> }
+ {0xff200000, 0x8a000000, AND, instArgs{arg_Xd, arg_Xn, arg_Xm_shift__LSL_0__LSR_1__ASR_2__ROR_3__0_63}, nil},
+ // TST <Wn>, #<imm>
+ {0xffc0001f, 0x7200001f, TST, instArgs{arg_Wn, arg_immediate_bitmask_32_imms_immr}, nil},
+ // ANDS <Wd>, <Wn>, #<imm>
+ {0xffc00000, 0x72000000, ANDS, instArgs{arg_Wd, arg_Wn, arg_immediate_bitmask_32_imms_immr}, nil},
+ // TST <Xn>, #<imm>
+ {0xff80001f, 0xf200001f, TST, instArgs{arg_Xn, arg_immediate_bitmask_64_N_imms_immr}, nil},
+ // ANDS <Xd>, <Xn>, #<imm>
+ {0xff800000, 0xf2000000, ANDS, instArgs{arg_Xd, arg_Xn, arg_immediate_bitmask_64_N_imms_immr}, nil},
+ // TST <Wn>, <Wm> {, <shift> #<amount> }
+ {0xff20801f, 0x6a00001f, TST, instArgs{arg_Wn, arg_Wm_shift__LSL_0__LSR_1__ASR_2__ROR_3__0_31}, nil},
+ // ANDS <Wd>, <Wn>, <Wm> {, <shift> #<amount> }
+ {0xff208000, 0x6a000000, ANDS, instArgs{arg_Wd, arg_Wn, arg_Wm_shift__LSL_0__LSR_1__ASR_2__ROR_3__0_31}, nil},
+ // TST <Xn>, <Xm> {, <shift> #<amount> }
+ {0xff20001f, 0xea00001f, TST, instArgs{arg_Xn, arg_Xm_shift__LSL_0__LSR_1__ASR_2__ROR_3__0_63}, nil},
+ // ANDS <Xd>, <Xn>, <Xm> {, <shift> #<amount> }
+ {0xff200000, 0xea000000, ANDS, instArgs{arg_Xd, arg_Xn, arg_Xm_shift__LSL_0__LSR_1__ASR_2__ROR_3__0_63}, nil},
+ // ASR <Wd>, <Wn>, #<shift>
+ {0xffc0fc00, 0x13007c00, ASR, instArgs{arg_Wd, arg_Wn, arg_immediate_ASR_SBFM_32M_bitfield_0_31_immr}, nil},
+ // SBFIZ <Wd>, <Wn>, #<lsb>, #<width>
+ {0xffc00000, 0x13000000, SBFIZ, instArgs{arg_Wd, arg_Wn, arg_immediate_SBFIZ_SBFM_32M_bitfield_lsb_32_immr, arg_immediate_SBFIZ_SBFM_32M_bitfield_width_32_imms}, sbfiz_sbfm_32m_bitfield_cond},
+ // SBFX <Wd>, <Wn>, #<lsb>, #<width>
+ {0xffc00000, 0x13000000, SBFX, instArgs{arg_Wd, arg_Wn, arg_immediate_SBFX_SBFM_32M_bitfield_lsb_32_immr, arg_immediate_SBFX_SBFM_32M_bitfield_width_32_imms}, sbfx_sbfm_32m_bitfield_cond},
+ // SXTB <Wd>, <Wn>
+ {0xfffffc00, 0x13001c00, SXTB, instArgs{arg_Wd, arg_Wn}, nil},
+ // SXTH <Wd>, <Wn>
+ {0xfffffc00, 0x13003c00, SXTH, instArgs{arg_Wd, arg_Wn}, nil},
+ // SBFM <Wd>, <Wn>, #<immr>, #<imms>
+ {0xffc00000, 0x13000000, SBFM, instArgs{arg_Wd, arg_Wn, arg_immediate_0_31_immr, arg_immediate_0_31_imms}, nil},
+ // ASR <Xd>, <Xn>, #<shift>
+ {0xffc0fc00, 0x9340fc00, ASR, instArgs{arg_Xd, arg_Xn, arg_immediate_ASR_SBFM_64M_bitfield_0_63_immr}, nil},
+ // SBFIZ <Xd>, <Xn>, #<lsb>, #<width>
+ {0xffc00000, 0x93400000, SBFIZ, instArgs{arg_Xd, arg_Xn, arg_immediate_SBFIZ_SBFM_64M_bitfield_lsb_64_immr, arg_immediate_SBFIZ_SBFM_64M_bitfield_width_64_imms}, sbfiz_sbfm_64m_bitfield_cond},
+ // SBFX <Xd>, <Xn>, #<lsb>, #<width>
+ {0xffc00000, 0x93400000, SBFX, instArgs{arg_Xd, arg_Xn, arg_immediate_SBFX_SBFM_64M_bitfield_lsb_64_immr, arg_immediate_SBFX_SBFM_64M_bitfield_width_64_imms}, sbfx_sbfm_64m_bitfield_cond},
+ // SXTB <Xd>, <Wn>
+ {0xfffffc00, 0x93401c00, SXTB, instArgs{arg_Xd, arg_Wn}, nil},
+ // SXTH <Xd>, <Wn>
+ {0xfffffc00, 0x93403c00, SXTH, instArgs{arg_Xd, arg_Wn}, nil},
+ // SXTW <Xd>, <Wn>
+ {0xfffffc00, 0x93407c00, SXTW, instArgs{arg_Xd, arg_Wn}, nil},
+ // SBFM <Xd>, <Xn>, #<immr>, #<imms>
+ {0xffc00000, 0x93400000, SBFM, instArgs{arg_Xd, arg_Xn, arg_immediate_0_63_immr, arg_immediate_0_63_imms}, nil},
+ // ASR <Wd>, <Wn>, <Wm>
+ {0xffe0fc00, 0x1ac02800, ASR, instArgs{arg_Wd, arg_Wn, arg_Wm}, nil},
+ // ASRV <Wd>, <Wn>, <Wm>
+ {0xffe0fc00, 0x1ac02800, ASRV, instArgs{arg_Wd, arg_Wn, arg_Wm}, nil},
+ // ASR <Xd>, <Xn>, <Xm>
+ {0xffe0fc00, 0x9ac02800, ASR, instArgs{arg_Xd, arg_Xn, arg_Xm}, nil},
+ // ASRV <Xd>, <Xn>, <Xm>
+ {0xffe0fc00, 0x9ac02800, ASRV, instArgs{arg_Xd, arg_Xn, arg_Xm}, nil},
+ // AT <at>, <Xt>
+ {0xfff8ff00, 0xd5087800, AT, instArgs{arg_sysop_AT_SYS_CR_system}, at_sys_cr_system_cond},
+ // DC <dc>, <Xt>
+ {0xfff8f000, 0xd5087000, DC, instArgs{arg_sysop_DC_SYS_CR_system}, dc_sys_cr_system_cond},
+ // IC <ic>, {<Xt>}
+ {0xfff8f000, 0xd5087000, IC, instArgs{arg_sysop_IC_SYS_CR_system}, ic_sys_cr_system_cond},
+ // TLBI <tlbi>, {<Xt>}
+ {0xfff8f000, 0xd5088000, TLBI, instArgs{arg_sysop_TLBI_SYS_CR_system}, tlbi_sys_cr_system_cond},
+ // SYS #<op1>, <Cn>, <Cm>, <op>, {<Xt>}
+ {0xfff80000, 0xd5080000, SYS, instArgs{arg_immediate_0_7_op1, arg_Cn, arg_Cm, arg_sysop_SYS_CR_system}, nil},
+ // B <label>
+ {0xfc000000, 0x14000000, B, instArgs{arg_slabel_imm26_2}, nil},
+ // B<c> <label>
+ {0xff000010, 0x54000000, B, instArgs{arg_conditional, arg_slabel_imm19_2}, nil},
+ // BFI <Wd>, <Wn>, #<lsb>, #<width>
+ {0xffc00000, 0x33000000, BFI, instArgs{arg_Wd, arg_Wn, arg_immediate_BFI_BFM_32M_bitfield_lsb_32_immr, arg_immediate_BFI_BFM_32M_bitfield_width_32_imms}, bfi_bfm_32m_bitfield_cond},
+ // BFXIL <Wd>, <Wn>, #<lsb>, #<width>
+ {0xffc00000, 0x33000000, BFXIL, instArgs{arg_Wd, arg_Wn, arg_immediate_BFXIL_BFM_32M_bitfield_lsb_32_immr, arg_immediate_BFXIL_BFM_32M_bitfield_width_32_imms}, bfxil_bfm_32m_bitfield_cond},
+ // BFM <Wd>, <Wn>, #<immr>, #<imms>
+ {0xffc00000, 0x33000000, BFM, instArgs{arg_Wd, arg_Wn, arg_immediate_0_31_immr, arg_immediate_0_31_imms}, nil},
+ // BFI <Xd>, <Xn>, #<lsb>, #<width>
+ {0xffc00000, 0xb3400000, BFI, instArgs{arg_Xd, arg_Xn, arg_immediate_BFI_BFM_64M_bitfield_lsb_64_immr, arg_immediate_BFI_BFM_64M_bitfield_width_64_imms}, bfi_bfm_64m_bitfield_cond},
+ // BFXIL <Xd>, <Xn>, #<lsb>, #<width>
+ {0xffc00000, 0xb3400000, BFXIL, instArgs{arg_Xd, arg_Xn, arg_immediate_BFXIL_BFM_64M_bitfield_lsb_64_immr, arg_immediate_BFXIL_BFM_64M_bitfield_width_64_imms}, bfxil_bfm_64m_bitfield_cond},
+ // BFM <Xd>, <Xn>, #<immr>, #<imms>
+ {0xffc00000, 0xb3400000, BFM, instArgs{arg_Xd, arg_Xn, arg_immediate_0_63_immr, arg_immediate_0_63_imms}, nil},
+ // BIC <Wd>, <Wn>, <Wm> {, <shift> #<amount> }
+ {0xff208000, 0x0a200000, BIC, instArgs{arg_Wd, arg_Wn, arg_Wm_shift__LSL_0__LSR_1__ASR_2__ROR_3__0_31}, nil},
+ // BIC <Xd>, <Xn>, <Xm> {, <shift> #<amount> }
+ {0xff200000, 0x8a200000, BIC, instArgs{arg_Xd, arg_Xn, arg_Xm_shift__LSL_0__LSR_1__ASR_2__ROR_3__0_63}, nil},
+ // BICS <Wd>, <Wn>, <Wm> {, <shift> #<amount> }
+ {0xff208000, 0x6a200000, BICS, instArgs{arg_Wd, arg_Wn, arg_Wm_shift__LSL_0__LSR_1__ASR_2__ROR_3__0_31}, nil},
+ // BICS <Xd>, <Xn>, <Xm> {, <shift> #<amount> }
+ {0xff200000, 0xea200000, BICS, instArgs{arg_Xd, arg_Xn, arg_Xm_shift__LSL_0__LSR_1__ASR_2__ROR_3__0_63}, nil},
+ // BL <label>
+ {0xfc000000, 0x94000000, BL, instArgs{arg_slabel_imm26_2}, nil},
+ // BLR <Xn>
+ {0xfffffc1f, 0xd63f0000, BLR, instArgs{arg_Xn}, nil},
+ // BR <Xn>
+ {0xfffffc1f, 0xd61f0000, BR, instArgs{arg_Xn}, nil},
+ // BRK #<imm>
+ {0xffe0001f, 0xd4200000, BRK, instArgs{arg_immediate_0_65535_imm16}, nil},
+ // CBNZ <Wt>, <label>
+ {0xff000000, 0x35000000, CBNZ, instArgs{arg_Wt, arg_slabel_imm19_2}, nil},
+ // CBNZ <Xt>, <label>
+ {0xff000000, 0xb5000000, CBNZ, instArgs{arg_Xt, arg_slabel_imm19_2}, nil},
+ // CBZ <Wt>, <label>
+ {0xff000000, 0x34000000, CBZ, instArgs{arg_Wt, arg_slabel_imm19_2}, nil},
+ // CBZ <Xt>, <label>
+ {0xff000000, 0xb4000000, CBZ, instArgs{arg_Xt, arg_slabel_imm19_2}, nil},
+ // CCMN <Wn>, #<imm>, #<nzcv>, <cond>
+ {0xffe00c10, 0x3a400800, CCMN, instArgs{arg_Wn, arg_immediate_0_31_imm5, arg_immediate_0_15_nzcv, arg_cond_AllowALNV_Normal}, nil},
+ // CCMN <Xn>, #<imm>, #<nzcv>, <cond>
+ {0xffe00c10, 0xba400800, CCMN, instArgs{arg_Xn, arg_immediate_0_31_imm5, arg_immediate_0_15_nzcv, arg_cond_AllowALNV_Normal}, nil},
+ // CCMN <Wn>, <Wm>, #<nzcv>, <cond>
+ {0xffe00c10, 0x3a400000, CCMN, instArgs{arg_Wn, arg_Wm, arg_immediate_0_15_nzcv, arg_cond_AllowALNV_Normal}, nil},
+ // CCMN <Xn>, <Xm>, #<nzcv>, <cond>
+ {0xffe00c10, 0xba400000, CCMN, instArgs{arg_Xn, arg_Xm, arg_immediate_0_15_nzcv, arg_cond_AllowALNV_Normal}, nil},
+ // CCMP <Wn>, #<imm>, #<nzcv>, <cond>
+ {0xffe00c10, 0x7a400800, CCMP, instArgs{arg_Wn, arg_immediate_0_31_imm5, arg_immediate_0_15_nzcv, arg_cond_AllowALNV_Normal}, nil},
+ // CCMP <Xn>, #<imm>, #<nzcv>, <cond>
+ {0xffe00c10, 0xfa400800, CCMP, instArgs{arg_Xn, arg_immediate_0_31_imm5, arg_immediate_0_15_nzcv, arg_cond_AllowALNV_Normal}, nil},
+ // CCMP <Wn>, <Wm>, #<nzcv>, <cond>
+ {0xffe00c10, 0x7a400000, CCMP, instArgs{arg_Wn, arg_Wm, arg_immediate_0_15_nzcv, arg_cond_AllowALNV_Normal}, nil},
+ // CCMP <Xn>, <Xm>, #<nzcv>, <cond>
+ {0xffe00c10, 0xfa400000, CCMP, instArgs{arg_Xn, arg_Xm, arg_immediate_0_15_nzcv, arg_cond_AllowALNV_Normal}, nil},
+ // CINC <Wd>, <Wn>, <cond>
+ {0xffe00c00, 0x1a800400, CINC, instArgs{arg_Wd, arg_Wn, arg_cond_NotAllowALNV_Invert}, cinc_csinc_32_condsel_cond},
+ // CSET <Wd>, <cond>
+ {0xffff0fe0, 0x1a9f07e0, CSET, instArgs{arg_Wd, arg_cond_NotAllowALNV_Invert}, csinc_general_cond},
+ // CSINC <Wd>, <Wn>, <Wm>, <cond>
+ {0xffe00c00, 0x1a800400, CSINC, instArgs{arg_Wd, arg_Wn, arg_Wm, arg_cond_AllowALNV_Normal}, nil},
+ // CINC <Xd>, <Xn>, <cond>
+ {0xffe00c00, 0x9a800400, CINC, instArgs{arg_Xd, arg_Xn, arg_cond_NotAllowALNV_Invert}, cinc_csinc_64_condsel_cond},
+ // CSET <Xd>, <cond>
+ {0xffff0fe0, 0x9a9f07e0, CSET, instArgs{arg_Xd, arg_cond_NotAllowALNV_Invert}, csinc_general_cond},
+ // CSINC <Xd>, <Xn>, <Xm>, <cond>
+ {0xffe00c00, 0x9a800400, CSINC, instArgs{arg_Xd, arg_Xn, arg_Xm, arg_cond_AllowALNV_Normal}, nil},
+ // CINV <Wd>, <Wn>, <cond>
+ {0xffe00c00, 0x5a800000, CINV, instArgs{arg_Wd, arg_Wn, arg_cond_NotAllowALNV_Invert}, cinv_csinv_32_condsel_cond},
+ // CSETM <Wd>, <cond>
+ {0xffff0fe0, 0x5a9f03e0, CSETM, instArgs{arg_Wd, arg_cond_NotAllowALNV_Invert}, csinv_general_cond},
+ // CSINV <Wd>, <Wn>, <Wm>, <cond>
+ {0xffe00c00, 0x5a800000, CSINV, instArgs{arg_Wd, arg_Wn, arg_Wm, arg_cond_AllowALNV_Normal}, nil},
+ // CINV <Xd>, <Xn>, <cond>
+ {0xffe00c00, 0xda800000, CINV, instArgs{arg_Xd, arg_Xn, arg_cond_NotAllowALNV_Invert}, cinv_csinv_64_condsel_cond},
+ // CSETM <Xd>, <cond>
+ {0xffff0fe0, 0xda9f03e0, CSETM, instArgs{arg_Xd, arg_cond_NotAllowALNV_Invert}, csinv_general_cond},
+ // CSINV <Xd>, <Xn>, <Xm>, <cond>
+ {0xffe00c00, 0xda800000, CSINV, instArgs{arg_Xd, arg_Xn, arg_Xm, arg_cond_AllowALNV_Normal}, nil},
+ // CLREX {#<imm>}
+ {0xfffff0ff, 0xd503305f, CLREX, instArgs{arg_immediate_optional_0_15_CRm}, nil},
+ // CLS <Wd>, <Wn>
+ {0xfffffc00, 0x5ac01400, CLS, instArgs{arg_Wd, arg_Wn}, nil},
+ // CLS <Xd>, <Xn>
+ {0xfffffc00, 0xdac01400, CLS, instArgs{arg_Xd, arg_Xn}, nil},
+ // CLZ <Wd>, <Wn>
+ {0xfffffc00, 0x5ac01000, CLZ, instArgs{arg_Wd, arg_Wn}, nil},
+ // CLZ <Xd>, <Xn>
+ {0xfffffc00, 0xdac01000, CLZ, instArgs{arg_Xd, arg_Xn}, nil},
+ // CMP <Wn|WSP>, <Wm>{, <extend> {#<amount>}}
+ {0xffe0001f, 0x6b20001f, CMP, instArgs{arg_Wns, arg_Wm_extend__UXTB_0__UXTH_1__LSL_UXTW_2__UXTX_3__SXTB_4__SXTH_5__SXTW_6__SXTX_7__0_4}, nil},
+ // SUBS <Wd>, <Wn|WSP>, <Wm>{, <extend> {#<amount>}}
+ {0xffe00000, 0x6b200000, SUBS, instArgs{arg_Wd, arg_Wns, arg_Wm_extend__UXTB_0__UXTH_1__LSL_UXTW_2__UXTX_3__SXTB_4__SXTH_5__SXTW_6__SXTX_7__0_4}, nil},
+ // CMP <Xn|SP>, <R><m>{, <extend_1> {#<amount>}}
+ {0xffe0001f, 0xeb20001f, CMP, instArgs{arg_Xns, arg_Rm_extend__UXTB_0__UXTH_1__UXTW_2__LSL_UXTX_3__SXTB_4__SXTH_5__SXTW_6__SXTX_7__0_4}, nil},
+ // SUBS <Xd>, <Xn|SP>, <R><m>{, <extend_1> {#<amount>}}
+ {0xffe00000, 0xeb200000, SUBS, instArgs{arg_Xd, arg_Xns, arg_Rm_extend__UXTB_0__UXTH_1__UXTW_2__LSL_UXTX_3__SXTB_4__SXTH_5__SXTW_6__SXTX_7__0_4}, nil},
+ // CMP <Wn|WSP>, #<imm>{, <shift>}
+ {0xff00001f, 0x7100001f, CMP, instArgs{arg_Wns, arg_IAddSub}, nil},
+ // SUBS <Wd>, <Wn|WSP>, #<imm>{, <shift>}
+ {0xff000000, 0x71000000, SUBS, instArgs{arg_Wd, arg_Wns, arg_IAddSub}, nil},
+ // CMP <Xn|SP>, #<imm>{, <shift>}
+ {0xff00001f, 0xf100001f, CMP, instArgs{arg_Xns, arg_IAddSub}, nil},
+ // SUBS <Xd>, <Xn|SP>, #<imm>{, <shift>}
+ {0xff000000, 0xf1000000, SUBS, instArgs{arg_Xd, arg_Xns, arg_IAddSub}, nil},
+ // CMP <Wn>, <Wm> {, <shift> #<amount> }
+ {0xff20801f, 0x6b00001f, CMP, instArgs{arg_Wn, arg_Wm_shift__LSL_0__LSR_1__ASR_2__0_31}, nil},
+ // NEGS <Wd>, <Wm> {, <shift> #<amount> }
+ {0xff2003e0, 0x6b0003e0, NEGS, instArgs{arg_Wd, arg_Wm_shift__LSL_0__LSR_1__ASR_2__0_31}, nil},
+ // SUBS <Wd>, <Wn>, <Wm> {, <shift> #<amount> }
+ {0xff208000, 0x6b000000, SUBS, instArgs{arg_Wd, arg_Wn, arg_Wm_shift__LSL_0__LSR_1__ASR_2__0_31}, nil},
+ // CMP <Xn>, <Xm> {, <shift> #<amount> }
+ {0xff20001f, 0xeb00001f, CMP, instArgs{arg_Xn, arg_Xm_shift__LSL_0__LSR_1__ASR_2__0_63}, nil},
+ // NEGS <Xd>, <Xm> {, <shift> #<amount> }
+ {0xff2003e0, 0xeb0003e0, NEGS, instArgs{arg_Xd, arg_Xm_shift__LSL_0__LSR_1__ASR_2__0_63}, nil},
+ // SUBS <Xd>, <Xn>, <Xm> {, <shift> #<amount> }
+ {0xff200000, 0xeb000000, SUBS, instArgs{arg_Xd, arg_Xn, arg_Xm_shift__LSL_0__LSR_1__ASR_2__0_63}, nil},
+ // CNEG <Wd>, <Wn>, <cond>
+ {0xffe00c00, 0x5a800400, CNEG, instArgs{arg_Wd, arg_Wn, arg_cond_NotAllowALNV_Invert}, cneg_csneg_32_condsel_cond},
+ // CSNEG <Wd>, <Wn>, <Wm>, <cond>
+ {0xffe00c00, 0x5a800400, CSNEG, instArgs{arg_Wd, arg_Wn, arg_Wm, arg_cond_AllowALNV_Normal}, nil},
+ // CNEG <Xd>, <Xn>, <cond>
+ {0xffe00c00, 0xda800400, CNEG, instArgs{arg_Xd, arg_Xn, arg_cond_NotAllowALNV_Invert}, cneg_csneg_64_condsel_cond},
+ // CSNEG <Xd>, <Xn>, <Xm>, <cond>
+ {0xffe00c00, 0xda800400, CSNEG, instArgs{arg_Xd, arg_Xn, arg_Xm, arg_cond_AllowALNV_Normal}, nil},
+ // CRC32B <Wd>, <Wn>, <Wm>
+ {0xffe0fc00, 0x1ac04000, CRC32B, instArgs{arg_Wd, arg_Wn, arg_Wm}, nil},
+ // CRC32H <Wd>, <Wn>, <Wm>
+ {0xffe0fc00, 0x1ac04400, CRC32H, instArgs{arg_Wd, arg_Wn, arg_Wm}, nil},
+ // CRC32W <Wd>, <Wn>, <Wm>
+ {0xffe0fc00, 0x1ac04800, CRC32W, instArgs{arg_Wd, arg_Wn, arg_Wm}, nil},
+ // CRC32X <Wd>, <Wn>, <Xm>
+ {0xffe0fc00, 0x9ac04c00, CRC32X, instArgs{arg_Wd, arg_Wn, arg_Xm}, nil},
+ // CRC32CB <Wd>, <Wn>, <Wm>
+ {0xffe0fc00, 0x1ac05000, CRC32CB, instArgs{arg_Wd, arg_Wn, arg_Wm}, nil},
+ // CRC32CH <Wd>, <Wn>, <Wm>
+ {0xffe0fc00, 0x1ac05400, CRC32CH, instArgs{arg_Wd, arg_Wn, arg_Wm}, nil},
+ // CRC32CW <Wd>, <Wn>, <Wm>
+ {0xffe0fc00, 0x1ac05800, CRC32CW, instArgs{arg_Wd, arg_Wn, arg_Wm}, nil},
+ // CRC32CX <Wd>, <Wn>, <Xm>
+ {0xffe0fc00, 0x9ac05c00, CRC32CX, instArgs{arg_Wd, arg_Wn, arg_Xm}, nil},
+ // CSEL <Wd>, <Wn>, <Wm>, <cond>
+ {0xffe00c00, 0x1a800000, CSEL, instArgs{arg_Wd, arg_Wn, arg_Wm, arg_cond_AllowALNV_Normal}, nil},
+ // CSEL <Xd>, <Xn>, <Xm>, <cond>
+ {0xffe00c00, 0x9a800000, CSEL, instArgs{arg_Xd, arg_Xn, arg_Xm, arg_cond_AllowALNV_Normal}, nil},
+ // DCPS1 {#<imm>}
+ {0xffe0001f, 0xd4a00001, DCPS1, instArgs{arg_immediate_optional_0_65535_imm16}, nil},
+ // DCPS2 {#<imm>}
+ {0xffe0001f, 0xd4a00002, DCPS2, instArgs{arg_immediate_optional_0_65535_imm16}, nil},
+ // DCPS3 {#<imm>}
+ {0xffe0001f, 0xd4a00003, DCPS3, instArgs{arg_immediate_optional_0_65535_imm16}, nil},
+ // DMB <option>|<imm>
+ {0xfffff0ff, 0xd50330bf, DMB, instArgs{arg_option_DMB_BO_system_CRm}, nil},
+ // DRPS
+ {0xffffffff, 0xd6bf03e0, DRPS, instArgs{}, nil},
+ // DSB <option>|<imm>
+ {0xfffff0ff, 0xd503309f, DSB, instArgs{arg_option_DSB_BO_system_CRm}, nil},
+ // EON <Wd>, <Wn>, <Wm> {, <shift> #<amount> }
+ {0xff208000, 0x4a200000, EON, instArgs{arg_Wd, arg_Wn, arg_Wm_shift__LSL_0__LSR_1__ASR_2__ROR_3__0_31}, nil},
+ // EON <Xd>, <Xn>, <Xm> {, <shift> #<amount> }
+ {0xff200000, 0xca200000, EON, instArgs{arg_Xd, arg_Xn, arg_Xm_shift__LSL_0__LSR_1__ASR_2__ROR_3__0_63}, nil},
+ // EOR <Wd|WSP>, <Wn>, #<imm>
+ {0xffc00000, 0x52000000, EOR, instArgs{arg_Wds, arg_Wn, arg_immediate_bitmask_32_imms_immr}, nil},
+ // EOR <Xd|SP>, <Xn>, #<imm>
+ {0xff800000, 0xd2000000, EOR, instArgs{arg_Xds, arg_Xn, arg_immediate_bitmask_64_N_imms_immr}, nil},
+ // EOR <Wd>, <Wn>, <Wm> {, <shift> #<amount> }
+ {0xff208000, 0x4a000000, EOR, instArgs{arg_Wd, arg_Wn, arg_Wm_shift__LSL_0__LSR_1__ASR_2__ROR_3__0_31}, nil},
+ // EOR <Xd>, <Xn>, <Xm> {, <shift> #<amount> }
+ {0xff200000, 0xca000000, EOR, instArgs{arg_Xd, arg_Xn, arg_Xm_shift__LSL_0__LSR_1__ASR_2__ROR_3__0_63}, nil},
+ // ERET
+ {0xffffffff, 0xd69f03e0, ERET, instArgs{}, nil},
+ // ROR <Wd>, <Ws>, #<shift>
+ {0xffe08000, 0x13800000, ROR, instArgs{arg_Wd, arg_Ws, arg_immediate_0_31_imms}, ror_extr_32_extract_cond},
+ // EXTR <Wd>, <Wn>, <Wm>, #<lsb>
+ {0xffe08000, 0x13800000, EXTR, instArgs{arg_Wd, arg_Wn, arg_Wm, arg_immediate_0_31_imms}, nil},
+ // ROR <Xd>, <Xs>, #<shift>
+ {0xffe00000, 0x93c00000, ROR, instArgs{arg_Xd, arg_Xs, arg_immediate_0_63_imms}, ror_extr_64_extract_cond},
+ // EXTR <Xd>, <Xn>, <Xm>, #<lsb>
+ {0xffe00000, 0x93c00000, EXTR, instArgs{arg_Xd, arg_Xn, arg_Xm, arg_immediate_0_63_imms}, nil},
+ // NOP
+ {0xffffffff, 0xd503201f, NOP, instArgs{}, nil},
+ // SEV
+ {0xffffffff, 0xd503209f, SEV, instArgs{}, nil},
+ // SEVL
+ {0xffffffff, 0xd50320bf, SEVL, instArgs{}, nil},
+ // WFE
+ {0xffffffff, 0xd503205f, WFE, instArgs{}, nil},
+ // WFI
+ {0xffffffff, 0xd503207f, WFI, instArgs{}, nil},
+ // YIELD
+ {0xffffffff, 0xd503203f, YIELD, instArgs{}, nil},
+ // HINT #<imm>
+ {0xfffff01f, 0xd503201f, HINT, instArgs{arg_immediate_0_127_CRm_op2}, nil},
+ // HLT #<imm>
+ {0xffe0001f, 0xd4400000, HLT, instArgs{arg_immediate_0_65535_imm16}, nil},
+ // ISB {<option>|<imm>}
+ {0xfffff0ff, 0xd50330df, ISB, instArgs{arg_option_ISB_BI_system_CRm}, nil},
+ // LDAR <Wt>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0x88c08000, LDAR, instArgs{arg_Wt, arg_Xns_mem}, nil},
+ // LDAR <Xt>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0xc8c08000, LDAR, instArgs{arg_Xt, arg_Xns_mem}, nil},
+ // LDARB <Wt>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0x08c08000, LDARB, instArgs{arg_Wt, arg_Xns_mem}, nil},
+ // LDARH <Wt>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0x48c08000, LDARH, instArgs{arg_Wt, arg_Xns_mem}, nil},
+ // LDAXP <Wt>, <Wt2>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0x88608000, LDAXP, instArgs{arg_Wt, arg_Wt2, arg_Xns_mem}, nil},
+ // LDAXP <Xt>, <Xt2>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0xc8608000, LDAXP, instArgs{arg_Xt, arg_Xt2, arg_Xns_mem}, nil},
+ // LDAXR <Wt>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0x88408000, LDAXR, instArgs{arg_Wt, arg_Xns_mem}, nil},
+ // LDAXR <Xt>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0xc8408000, LDAXR, instArgs{arg_Xt, arg_Xns_mem}, nil},
+ // LDAXRB <Wt>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0x08408000, LDAXRB, instArgs{arg_Wt, arg_Xns_mem}, nil},
+ // LDAXRH <Wt>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0x48408000, LDAXRH, instArgs{arg_Wt, arg_Xns_mem}, nil},
+ // LDNP <Wt>, <Wt2>, [<Xn|SP>{, #<imm>}]
+ {0xffc00000, 0x28400000, LDNP, instArgs{arg_Wt, arg_Wt2, arg_Xns_mem_optional_imm7_4_signed}, nil},
+ // LDNP <Xt>, <Xt2>, [<Xn|SP>{, #<imm_1>}]
+ {0xffc00000, 0xa8400000, LDNP, instArgs{arg_Xt, arg_Xt2, arg_Xns_mem_optional_imm7_8_signed}, nil},
+ // LDP <Wt>, <Wt2>, [<Xn|SP>], #<imm_1>
+ {0xffc00000, 0x28c00000, LDP, instArgs{arg_Wt, arg_Wt2, arg_Xns_mem_post_imm7_4_signed}, nil},
+ // LDP <Xt>, <Xt2>, [<Xn|SP>], #<imm_3>
+ {0xffc00000, 0xa8c00000, LDP, instArgs{arg_Xt, arg_Xt2, arg_Xns_mem_post_imm7_8_signed}, nil},
+ // LDP <Wt>, <Wt2>, [<Xn|SP>{, #<imm_1>}]!
+ {0xffc00000, 0x29c00000, LDP, instArgs{arg_Wt, arg_Wt2, arg_Xns_mem_wb_imm7_4_signed}, nil},
+ // LDP <Xt>, <Xt2>, [<Xn|SP>{, #<imm_3>}]!
+ {0xffc00000, 0xa9c00000, LDP, instArgs{arg_Xt, arg_Xt2, arg_Xns_mem_wb_imm7_8_signed}, nil},
+ // LDP <Wt>, <Wt2>, [<Xn|SP>{, #<imm>}]
+ {0xffc00000, 0x29400000, LDP, instArgs{arg_Wt, arg_Wt2, arg_Xns_mem_optional_imm7_4_signed}, nil},
+ // LDP <Xt>, <Xt2>, [<Xn|SP>{, #<imm_2>}]
+ {0xffc00000, 0xa9400000, LDP, instArgs{arg_Xt, arg_Xt2, arg_Xns_mem_optional_imm7_8_signed}, nil},
+ // LDPSW <Xt>, <Xt2>, [<Xn|SP>], #<imm_1>
+ {0xffc00000, 0x68c00000, LDPSW, instArgs{arg_Xt, arg_Xt2, arg_Xns_mem_post_imm7_4_signed}, nil},
+ // LDPSW <Xt>, <Xt2>, [<Xn|SP>{, #<imm_1>}]!
+ {0xffc00000, 0x69c00000, LDPSW, instArgs{arg_Xt, arg_Xt2, arg_Xns_mem_wb_imm7_4_signed}, nil},
+ // LDPSW <Xt>, <Xt2>, [<Xn|SP>{, #<imm>}]
+ {0xffc00000, 0x69400000, LDPSW, instArgs{arg_Xt, arg_Xt2, arg_Xns_mem_optional_imm7_4_signed}, nil},
+ // LDR <Wt>, [<Xn|SP>], #<simm>
+ {0xffe00c00, 0xb8400400, LDR, instArgs{arg_Wt, arg_Xns_mem_post_imm9_1_signed}, nil},
+ // LDR <Xt>, [<Xn|SP>], #<simm>
+ {0xffe00c00, 0xf8400400, LDR, instArgs{arg_Xt, arg_Xns_mem_post_imm9_1_signed}, nil},
+ // LDR <Wt>, [<Xn|SP>{, #<simm>}]!
+ {0xffe00c00, 0xb8400c00, LDR, instArgs{arg_Wt, arg_Xns_mem_wb_imm9_1_signed}, nil},
+ // LDR <Xt>, [<Xn|SP>{, #<simm>}]!
+ {0xffe00c00, 0xf8400c00, LDR, instArgs{arg_Xt, arg_Xns_mem_wb_imm9_1_signed}, nil},
+ // LDR <Wt>, [<Xn|SP>{, #<pimm>}]
+ {0xffc00000, 0xb9400000, LDR, instArgs{arg_Wt, arg_Xns_mem_optional_imm12_4_unsigned}, nil},
+ // LDR <Xt>, [<Xn|SP>{, #<pimm_1>}]
+ {0xffc00000, 0xf9400000, LDR, instArgs{arg_Xt, arg_Xns_mem_optional_imm12_8_unsigned}, nil},
+ // LDR <Wt>, <label>
+ {0xff000000, 0x18000000, LDR, instArgs{arg_Wt, arg_slabel_imm19_2}, nil},
+ // LDR <Xt>, <label>
+ {0xff000000, 0x58000000, LDR, instArgs{arg_Xt, arg_slabel_imm19_2}, nil},
+ // LDR <Wt>, [<Xn|SP>, (<Wm>|<Xm>) {, <extend> {<amount>}}]
+ {0xffe00c00, 0xb8600800, LDR, instArgs{arg_Wt, arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__2_1}, nil},
+ // LDR <Xt>, [<Xn|SP>, (<Wm>|<Xm>) {, <extend> {<amount>}}]
+ {0xffe00c00, 0xf8600800, LDR, instArgs{arg_Xt, arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__3_1}, nil},
+ // LDRB <Wt>, [<Xn|SP>], #<simm>
+ {0xffe00c00, 0x38400400, LDRB, instArgs{arg_Wt, arg_Xns_mem_post_imm9_1_signed}, nil},
+ // LDRB <Wt>, [<Xn|SP>{, #<simm>}]!
+ {0xffe00c00, 0x38400c00, LDRB, instArgs{arg_Wt, arg_Xns_mem_wb_imm9_1_signed}, nil},
+ // LDRB <Wt>, [<Xn|SP>{, #<pimm>}]
+ {0xffc00000, 0x39400000, LDRB, instArgs{arg_Wt, arg_Xns_mem_optional_imm12_1_unsigned}, nil},
+ // LDRB <Wt>, [<Xn|SP>, (<Wm>|<Xm>) {, <extend> {<amount>}}]
+ {0xffe00c00, 0x38600800, LDRB, instArgs{arg_Wt, arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__absent_0__0_1}, nil},
+ // LDRH <Wt>, [<Xn|SP>], #<simm>
+ {0xffe00c00, 0x78400400, LDRH, instArgs{arg_Wt, arg_Xns_mem_post_imm9_1_signed}, nil},
+ // LDRH <Wt>, [<Xn|SP>{, #<simm>}]!
+ {0xffe00c00, 0x78400c00, LDRH, instArgs{arg_Wt, arg_Xns_mem_wb_imm9_1_signed}, nil},
+ // LDRH <Wt>, [<Xn|SP>{, #<pimm>}]
+ {0xffc00000, 0x79400000, LDRH, instArgs{arg_Wt, arg_Xns_mem_optional_imm12_2_unsigned}, nil},
+ // LDRH <Wt>, [<Xn|SP>, (<Wm>|<Xm>) {, <extend> {<amount>}}]
+ {0xffe00c00, 0x78600800, LDRH, instArgs{arg_Wt, arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__1_1}, nil},
+ // LDRSB <Wt>, [<Xn|SP>], #<simm>
+ {0xffe00c00, 0x38c00400, LDRSB, instArgs{arg_Wt, arg_Xns_mem_post_imm9_1_signed}, nil},
+ // LDRSB <Xt>, [<Xn|SP>], #<simm>
+ {0xffe00c00, 0x38800400, LDRSB, instArgs{arg_Xt, arg_Xns_mem_post_imm9_1_signed}, nil},
+ // LDRSB <Wt>, [<Xn|SP>{, #<simm>}]!
+ {0xffe00c00, 0x38c00c00, LDRSB, instArgs{arg_Wt, arg_Xns_mem_wb_imm9_1_signed}, nil},
+ // LDRSB <Xt>, [<Xn|SP>{, #<simm>}]!
+ {0xffe00c00, 0x38800c00, LDRSB, instArgs{arg_Xt, arg_Xns_mem_wb_imm9_1_signed}, nil},
+ // LDRSB <Wt>, [<Xn|SP>{, #<pimm>}]
+ {0xffc00000, 0x39c00000, LDRSB, instArgs{arg_Wt, arg_Xns_mem_optional_imm12_1_unsigned}, nil},
+ // LDRSB <Xt>, [<Xn|SP>{, #<pimm>}]
+ {0xffc00000, 0x39800000, LDRSB, instArgs{arg_Xt, arg_Xns_mem_optional_imm12_1_unsigned}, nil},
+ // LDRSB <Wt>, [<Xn|SP>, (<Wm>|<Xm>) {, <extend> {<amount>}}]
+ {0xffe00c00, 0x38e00800, LDRSB, instArgs{arg_Wt, arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__absent_0__0_1}, nil},
+ // LDRSB <Xt>, [<Xn|SP>, (<Wm>|<Xm>) {, <extend> {<amount>}}]
+ {0xffe00c00, 0x38a00800, LDRSB, instArgs{arg_Xt, arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__absent_0__0_1}, nil},
+ // LDRSH <Wt>, [<Xn|SP>], #<simm>
+ {0xffe00c00, 0x78c00400, LDRSH, instArgs{arg_Wt, arg_Xns_mem_post_imm9_1_signed}, nil},
+ // LDRSH <Xt>, [<Xn|SP>], #<simm>
+ {0xffe00c00, 0x78800400, LDRSH, instArgs{arg_Xt, arg_Xns_mem_post_imm9_1_signed}, nil},
+ // LDRSH <Wt>, [<Xn|SP>{, #<simm>}]!
+ {0xffe00c00, 0x78c00c00, LDRSH, instArgs{arg_Wt, arg_Xns_mem_wb_imm9_1_signed}, nil},
+ // LDRSH <Xt>, [<Xn|SP>{, #<simm>}]!
+ {0xffe00c00, 0x78800c00, LDRSH, instArgs{arg_Xt, arg_Xns_mem_wb_imm9_1_signed}, nil},
+ // LDRSH <Wt>, [<Xn|SP>{, #<pimm>}]
+ {0xffc00000, 0x79c00000, LDRSH, instArgs{arg_Wt, arg_Xns_mem_optional_imm12_2_unsigned}, nil},
+ // LDRSH <Xt>, [<Xn|SP>{, #<pimm>}]
+ {0xffc00000, 0x79800000, LDRSH, instArgs{arg_Xt, arg_Xns_mem_optional_imm12_2_unsigned}, nil},
+ // LDRSH <Wt>, [<Xn|SP>, (<Wm>|<Xm>) {, <extend> {<amount>}}]
+ {0xffe00c00, 0x78e00800, LDRSH, instArgs{arg_Wt, arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__1_1}, nil},
+ // LDRSH <Xt>, [<Xn|SP>, (<Wm>|<Xm>) {, <extend> {<amount>}}]
+ {0xffe00c00, 0x78a00800, LDRSH, instArgs{arg_Xt, arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__1_1}, nil},
+ // LDRSW <Xt>, [<Xn|SP>], #<simm>
+ {0xffe00c00, 0xb8800400, LDRSW, instArgs{arg_Xt, arg_Xns_mem_post_imm9_1_signed}, nil},
+ // LDRSW <Xt>, [<Xn|SP>{, #<simm>}]!
+ {0xffe00c00, 0xb8800c00, LDRSW, instArgs{arg_Xt, arg_Xns_mem_wb_imm9_1_signed}, nil},
+ // LDRSW <Xt>, [<Xn|SP>{, #<pimm>}]
+ {0xffc00000, 0xb9800000, LDRSW, instArgs{arg_Xt, arg_Xns_mem_optional_imm12_4_unsigned}, nil},
+ // LDRSW <Xt>, <label>
+ {0xff000000, 0x98000000, LDRSW, instArgs{arg_Xt, arg_slabel_imm19_2}, nil},
+ // LDRSW <Xt>, [<Xn|SP>, (<Wm>|<Xm>) {, <extend> {<amount>}}]
+ {0xffe00c00, 0xb8a00800, LDRSW, instArgs{arg_Xt, arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__2_1}, nil},
+ // LDTR <Wt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0xb8400800, LDTR, instArgs{arg_Wt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // LDTR <Xt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0xf8400800, LDTR, instArgs{arg_Xt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // LDTRB <Wt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0x38400800, LDTRB, instArgs{arg_Wt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // LDTRH <Wt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0x78400800, LDTRH, instArgs{arg_Wt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // LDTRSB <Wt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0x38c00800, LDTRSB, instArgs{arg_Wt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // LDTRSB <Xt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0x38800800, LDTRSB, instArgs{arg_Xt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // LDTRSH <Wt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0x78c00800, LDTRSH, instArgs{arg_Wt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // LDTRSH <Xt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0x78800800, LDTRSH, instArgs{arg_Xt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // LDTRSW <Xt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0xb8800800, LDTRSW, instArgs{arg_Xt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // LDUR <Wt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0xb8400000, LDUR, instArgs{arg_Wt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // LDUR <Xt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0xf8400000, LDUR, instArgs{arg_Xt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // LDURB <Wt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0x38400000, LDURB, instArgs{arg_Wt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // LDURH <Wt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0x78400000, LDURH, instArgs{arg_Wt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // LDURSB <Wt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0x38c00000, LDURSB, instArgs{arg_Wt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // LDURSB <Xt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0x38800000, LDURSB, instArgs{arg_Xt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // LDURSH <Wt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0x78c00000, LDURSH, instArgs{arg_Wt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // LDURSH <Xt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0x78800000, LDURSH, instArgs{arg_Xt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // LDURSW <Xt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0xb8800000, LDURSW, instArgs{arg_Xt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // LDXP <Wt>, <Wt2>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0x88600000, LDXP, instArgs{arg_Wt, arg_Wt2, arg_Xns_mem}, nil},
+ // LDXP <Xt>, <Xt2>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0xc8600000, LDXP, instArgs{arg_Xt, arg_Xt2, arg_Xns_mem}, nil},
+ // LDXR <Wt>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0x88400000, LDXR, instArgs{arg_Wt, arg_Xns_mem}, nil},
+ // LDXR <Xt>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0xc8400000, LDXR, instArgs{arg_Xt, arg_Xns_mem}, nil},
+ // LDXRB <Wt>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0x08400000, LDXRB, instArgs{arg_Wt, arg_Xns_mem}, nil},
+ // LDXRH <Wt>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0x48400000, LDXRH, instArgs{arg_Wt, arg_Xns_mem}, nil},
+ // LSL <Wd>, <Wn>, #<shift>
+ {0xffc08000, 0x53000000, LSL, instArgs{arg_Wd, arg_Wn, arg_immediate_LSL_UBFM_32M_bitfield_0_31_immr}, lsl_ubfm_32m_bitfield_cond},
+ // LSR <Wd>, <Wn>, #<shift>
+ {0xffc0fc00, 0x53007c00, LSR, instArgs{arg_Wd, arg_Wn, arg_immediate_LSR_UBFM_32M_bitfield_0_31_immr}, nil},
+ // UBFIZ <Wd>, <Wn>, #<lsb>, #<width>
+ {0xffc00000, 0x53000000, UBFIZ, instArgs{arg_Wd, arg_Wn, arg_immediate_UBFIZ_UBFM_32M_bitfield_lsb_32_immr, arg_immediate_UBFIZ_UBFM_32M_bitfield_width_32_imms}, ubfiz_ubfm_32m_bitfield_cond},
+ // UBFX <Wd>, <Wn>, #<lsb>, #<width>
+ {0xffc00000, 0x53000000, UBFX, instArgs{arg_Wd, arg_Wn, arg_immediate_UBFX_UBFM_32M_bitfield_lsb_32_immr, arg_immediate_UBFX_UBFM_32M_bitfield_width_32_imms}, ubfx_ubfm_32m_bitfield_cond},
+ // UXTB <Wd>, <Wn>
+ {0xfffffc00, 0x53001c00, UXTB, instArgs{arg_Wd, arg_Wn}, nil},
+ // UXTH <Wd>, <Wn>
+ {0xfffffc00, 0x53003c00, UXTH, instArgs{arg_Wd, arg_Wn}, nil},
+ // UBFM <Wd>, <Wn>, #<immr>, #<imms>
+ {0xffc00000, 0x53000000, UBFM, instArgs{arg_Wd, arg_Wn, arg_immediate_0_31_immr, arg_immediate_0_31_imms}, nil},
+ // LSL <Xd>, <Xn>, #<shift>
+ {0xffc00000, 0xd3400000, LSL, instArgs{arg_Xd, arg_Xn, arg_immediate_LSL_UBFM_64M_bitfield_0_63_immr}, lsl_ubfm_64m_bitfield_cond},
+ // LSR <Xd>, <Xn>, #<shift>
+ {0xffc0fc00, 0xd340fc00, LSR, instArgs{arg_Xd, arg_Xn, arg_immediate_LSR_UBFM_64M_bitfield_0_63_immr}, nil},
+ // UBFIZ <Xd>, <Xn>, #<lsb>, #<width>
+ {0xffc00000, 0xd3400000, UBFIZ, instArgs{arg_Xd, arg_Xn, arg_immediate_UBFIZ_UBFM_64M_bitfield_lsb_64_immr, arg_immediate_UBFIZ_UBFM_64M_bitfield_width_64_imms}, ubfiz_ubfm_64m_bitfield_cond},
+ // UBFX <Xd>, <Xn>, #<lsb>, #<width>
+ {0xffc00000, 0xd3400000, UBFX, instArgs{arg_Xd, arg_Xn, arg_immediate_UBFX_UBFM_64M_bitfield_lsb_64_immr, arg_immediate_UBFX_UBFM_64M_bitfield_width_64_imms}, ubfx_ubfm_64m_bitfield_cond},
+ // UBFM <Xd>, <Xn>, #<immr>, #<imms>
+ {0xffc00000, 0xd3400000, UBFM, instArgs{arg_Xd, arg_Xn, arg_immediate_0_63_immr, arg_immediate_0_63_imms}, nil},
+ // LSL <Wd>, <Wn>, <Wm>
+ {0xffe0fc00, 0x1ac02000, LSL, instArgs{arg_Wd, arg_Wn, arg_Wm}, nil},
+ // LSLV <Wd>, <Wn>, <Wm>
+ {0xffe0fc00, 0x1ac02000, LSLV, instArgs{arg_Wd, arg_Wn, arg_Wm}, nil},
+ // LSL <Xd>, <Xn>, <Xm>
+ {0xffe0fc00, 0x9ac02000, LSL, instArgs{arg_Xd, arg_Xn, arg_Xm}, nil},
+ // LSLV <Xd>, <Xn>, <Xm>
+ {0xffe0fc00, 0x9ac02000, LSLV, instArgs{arg_Xd, arg_Xn, arg_Xm}, nil},
+ // LSR <Wd>, <Wn>, <Wm>
+ {0xffe0fc00, 0x1ac02400, LSR, instArgs{arg_Wd, arg_Wn, arg_Wm}, nil},
+ // LSRV <Wd>, <Wn>, <Wm>
+ {0xffe0fc00, 0x1ac02400, LSRV, instArgs{arg_Wd, arg_Wn, arg_Wm}, nil},
+ // LSR <Xd>, <Xn>, <Xm>
+ {0xffe0fc00, 0x9ac02400, LSR, instArgs{arg_Xd, arg_Xn, arg_Xm}, nil},
+ // LSRV <Xd>, <Xn>, <Xm>
+ {0xffe0fc00, 0x9ac02400, LSRV, instArgs{arg_Xd, arg_Xn, arg_Xm}, nil},
+ // MUL <Wd>, <Wn>, <Wm>
+ {0xffe0fc00, 0x1b007c00, MUL, instArgs{arg_Wd, arg_Wn, arg_Wm}, nil},
+ // MADD <Wd>, <Wn>, <Wm>, <Wa>
+ {0xffe08000, 0x1b000000, MADD, instArgs{arg_Wd, arg_Wn, arg_Wm, arg_Wa}, nil},
+ // MUL <Xd>, <Xn>, <Xm>
+ {0xffe0fc00, 0x9b007c00, MUL, instArgs{arg_Xd, arg_Xn, arg_Xm}, nil},
+ // MADD <Xd>, <Xn>, <Xm>, <Xa>
+ {0xffe08000, 0x9b000000, MADD, instArgs{arg_Xd, arg_Xn, arg_Xm, arg_Xa}, nil},
+ // MNEG <Wd>, <Wn>, <Wm>
+ {0xffe0fc00, 0x1b00fc00, MNEG, instArgs{arg_Wd, arg_Wn, arg_Wm}, nil},
+ // MSUB <Wd>, <Wn>, <Wm>, <Wa>
+ {0xffe08000, 0x1b008000, MSUB, instArgs{arg_Wd, arg_Wn, arg_Wm, arg_Wa}, nil},
+ // MNEG <Xd>, <Xn>, <Xm>
+ {0xffe0fc00, 0x9b00fc00, MNEG, instArgs{arg_Xd, arg_Xn, arg_Xm}, nil},
+ // MSUB <Xd>, <Xn>, <Xm>, <Xa>
+ {0xffe08000, 0x9b008000, MSUB, instArgs{arg_Xd, arg_Xn, arg_Xm, arg_Xa}, nil},
+ // MOV <Wd|WSP>, #<imm>
+ {0xffc003e0, 0x320003e0, MOV, instArgs{arg_Wds, arg_immediate_bitmask_32_imms_immr}, mov_orr_32_log_imm_cond},
+ // ORR <Wd|WSP>, <Wn>, #<imm>
+ {0xffc00000, 0x32000000, ORR, instArgs{arg_Wds, arg_Wn, arg_immediate_bitmask_32_imms_immr}, nil},
+ // MOV <Xd|SP>, #<imm>
+ {0xff8003e0, 0xb20003e0, MOV, instArgs{arg_Xds, arg_immediate_bitmask_64_N_imms_immr}, mov_orr_64_log_imm_cond},
+ // ORR <Xd|SP>, <Xn>, #<imm>
+ {0xff800000, 0xb2000000, ORR, instArgs{arg_Xds, arg_Xn, arg_immediate_bitmask_64_N_imms_immr}, nil},
+ // MOV <Wd>, #<imm>
+ {0xff800000, 0x12800000, MOV, instArgs{arg_Wd, arg_immediate_shift_32_implicit_inverse_imm16_hw}, mov_movn_32_movewide_cond},
+ // MOVN <Wd>, #<imm>{, LSL #<shift>}
+ {0xff800000, 0x12800000, MOVN, instArgs{arg_Wd, arg_immediate_OptLSL_amount_16_0_16}, nil},
+ // MOV <Xd>, #<imm>
+ {0xff800000, 0x92800000, MOV, instArgs{arg_Xd, arg_immediate_shift_64_implicit_inverse_imm16_hw}, mov_movn_64_movewide_cond},
+ // MOVN <Xd>, #<imm>{, LSL #<shift>}
+ {0xff800000, 0x92800000, MOVN, instArgs{arg_Xd, arg_immediate_OptLSL_amount_16_0_48}, nil},
+ // MOV <Wd>, <Wm>
+ {0xffe0ffe0, 0x2a0003e0, MOV, instArgs{arg_Wd, arg_Wm}, nil},
+ // ORR <Wd>, <Wn>, <Wm> {, <shift> #<amount> }
+ {0xff208000, 0x2a000000, ORR, instArgs{arg_Wd, arg_Wn, arg_Wm_shift__LSL_0__LSR_1__ASR_2__ROR_3__0_31}, nil},
+ // MOV <Xd>, <Xm>
+ {0xffe0ffe0, 0xaa0003e0, MOV, instArgs{arg_Xd, arg_Xm}, nil},
+ // ORR <Xd>, <Xn>, <Xm> {, <shift> #<amount> }
+ {0xff200000, 0xaa000000, ORR, instArgs{arg_Xd, arg_Xn, arg_Xm_shift__LSL_0__LSR_1__ASR_2__ROR_3__0_63}, nil},
+ // MOV <Wd>, #<imm>
+ {0xff800000, 0x52800000, MOV, instArgs{arg_Wd, arg_immediate_shift_32_implicit_imm16_hw}, mov_movz_32_movewide_cond},
+ // MOVZ <Wd>, #<imm>{, LSL #<shift>}
+ {0xff800000, 0x52800000, MOVZ, instArgs{arg_Wd, arg_immediate_OptLSL_amount_16_0_16}, nil},
+ // MOV <Xd>, #<imm>
+ {0xff800000, 0xd2800000, MOV, instArgs{arg_Xd, arg_immediate_shift_64_implicit_imm16_hw}, mov_movz_64_movewide_cond},
+ // MOVZ <Xd>, #<imm>{, LSL #<shift>}
+ {0xff800000, 0xd2800000, MOVZ, instArgs{arg_Xd, arg_immediate_OptLSL_amount_16_0_48}, nil},
+ // MOVK <Wd>, #<imm>{, LSL #<shift>}
+ {0xff800000, 0x72800000, MOVK, instArgs{arg_Wd, arg_immediate_OptLSL_amount_16_0_16}, nil},
+ // MOVK <Xd>, #<imm>{, LSL #<shift>}
+ {0xff800000, 0xf2800000, MOVK, instArgs{arg_Xd, arg_immediate_OptLSL_amount_16_0_48}, nil},
+ // MRS <Xt>, <systemreg>
+ {0xfff00000, 0xd5300000, MRS, instArgs{arg_Xt, arg_sysreg_o0_op1_CRn_CRm_op2}, nil},
+ // MSR <pstatefield>, #<imm>
+ {0xfff8f01f, 0xd500401f, MSR, instArgs{arg_pstatefield_op1_op2__SPSel_05__DAIFSet_36__DAIFClr_37, arg_immediate_0_15_CRm}, nil},
+ // MSR <systemreg>, <Xt>
+ {0xfff00000, 0xd5100000, MSR, instArgs{arg_sysreg_o0_op1_CRn_CRm_op2, arg_Xt}, nil},
+ // MVN <Wd>, <Wm> {, <shift> #<amount> }
+ {0xff2003e0, 0x2a2003e0, MVN, instArgs{arg_Wd, arg_Wm_shift__LSL_0__LSR_1__ASR_2__ROR_3__0_31}, nil},
+ // ORN <Wd>, <Wn>, <Wm> {, <shift> #<amount> }
+ {0xff208000, 0x2a200000, ORN, instArgs{arg_Wd, arg_Wn, arg_Wm_shift__LSL_0__LSR_1__ASR_2__ROR_3__0_31}, nil},
+ // MVN <Xd>, <Xm> {, <shift> #<amount> }
+ {0xff2003e0, 0xaa2003e0, MVN, instArgs{arg_Xd, arg_Xm_shift__LSL_0__LSR_1__ASR_2__ROR_3__0_63}, nil},
+ // ORN <Xd>, <Xn>, <Xm> {, <shift> #<amount> }
+ {0xff200000, 0xaa200000, ORN, instArgs{arg_Xd, arg_Xn, arg_Xm_shift__LSL_0__LSR_1__ASR_2__ROR_3__0_63}, nil},
+ // NEG <Wd>, <Wm> {, <shift> #<amount> }
+ {0xff2003e0, 0x4b0003e0, NEG, instArgs{arg_Wd, arg_Wm_shift__LSL_0__LSR_1__ASR_2__0_31}, nil},
+ // SUB <Wd>, <Wn>, <Wm> {, <shift> #<amount> }
+ {0xff208000, 0x4b000000, SUB, instArgs{arg_Wd, arg_Wn, arg_Wm_shift__LSL_0__LSR_1__ASR_2__0_31}, nil},
+ // NEG <Xd>, <Xm> {, <shift> #<amount> }
+ {0xff2003e0, 0xcb0003e0, NEG, instArgs{arg_Xd, arg_Xm_shift__LSL_0__LSR_1__ASR_2__0_63}, nil},
+ // SUB <Xd>, <Xn>, <Xm> {, <shift> #<amount> }
+ {0xff200000, 0xcb000000, SUB, instArgs{arg_Xd, arg_Xn, arg_Xm_shift__LSL_0__LSR_1__ASR_2__0_63}, nil},
+ // NGC <Wd>, <Wm>
+ {0xffe0ffe0, 0x5a0003e0, NGC, instArgs{arg_Wd, arg_Wm}, nil},
+ // SBC <Wd>, <Wn>, <Wm>
+ {0xffe0fc00, 0x5a000000, SBC, instArgs{arg_Wd, arg_Wn, arg_Wm}, nil},
+ // NGC <Xd>, <Xm>
+ {0xffe0ffe0, 0xda0003e0, NGC, instArgs{arg_Xd, arg_Xm}, nil},
+ // SBC <Xd>, <Xn>, <Xm>
+ {0xffe0fc00, 0xda000000, SBC, instArgs{arg_Xd, arg_Xn, arg_Xm}, nil},
+ // NGCS <Wd>, <Wm>
+ {0xffe0ffe0, 0x7a0003e0, NGCS, instArgs{arg_Wd, arg_Wm}, nil},
+ // SBCS <Wd>, <Wn>, <Wm>
+ {0xffe0fc00, 0x7a000000, SBCS, instArgs{arg_Wd, arg_Wn, arg_Wm}, nil},
+ // NGCS <Xd>, <Xm>
+ {0xffe0ffe0, 0xfa0003e0, NGCS, instArgs{arg_Xd, arg_Xm}, nil},
+ // SBCS <Xd>, <Xn>, <Xm>
+ {0xffe0fc00, 0xfa000000, SBCS, instArgs{arg_Xd, arg_Xn, arg_Xm}, nil},
+ // PRFM <prfop>, [<Xn|SP>{, #<pimm>}]
+ {0xffc00000, 0xf9800000, PRFM, instArgs{arg_prfop_Rt, arg_Xns_mem_optional_imm12_8_unsigned}, nil},
+ // PRFM <prfop>, <label>
+ {0xff000000, 0xd8000000, PRFM, instArgs{arg_prfop_Rt, arg_slabel_imm19_2}, nil},
+ // PRFM <prfop>, [<Xn|SP>, (<Wm>|<Xm>) {, <extend> {<amount>}}]
+ {0xffe00c00, 0xf8a00800, PRFM, instArgs{arg_prfop_Rt, arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__3_1}, nil},
+ // PRFUM <prfop>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0xf8800000, PRFUM, instArgs{arg_prfop_Rt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // RBIT <Wd>, <Wn>
+ {0xfffffc00, 0x5ac00000, RBIT, instArgs{arg_Wd, arg_Wn}, nil},
+ // RBIT <Xd>, <Xn>
+ {0xfffffc00, 0xdac00000, RBIT, instArgs{arg_Xd, arg_Xn}, nil},
+ // RET {<Xn>}
+ {0xfffffc1f, 0xd65f0000, RET, instArgs{arg_Xn}, nil},
+ // REV <Wd>, <Wn>
+ {0xfffffc00, 0x5ac00800, REV, instArgs{arg_Wd, arg_Wn}, nil},
+ // REV <Xd>, <Xn>
+ {0xfffffc00, 0xdac00c00, REV, instArgs{arg_Xd, arg_Xn}, nil},
+ // REV16 <Wd>, <Wn>
+ {0xfffffc00, 0x5ac00400, REV16, instArgs{arg_Wd, arg_Wn}, nil},
+ // REV16 <Xd>, <Xn>
+ {0xfffffc00, 0xdac00400, REV16, instArgs{arg_Xd, arg_Xn}, nil},
+ // REV32 <Xd>, <Xn>
+ {0xfffffc00, 0xdac00800, REV32, instArgs{arg_Xd, arg_Xn}, nil},
+ // ROR <Wd>, <Wn>, <Wm>
+ {0xffe0fc00, 0x1ac02c00, ROR, instArgs{arg_Wd, arg_Wn, arg_Wm}, nil},
+ // RORV <Wd>, <Wn>, <Wm>
+ {0xffe0fc00, 0x1ac02c00, RORV, instArgs{arg_Wd, arg_Wn, arg_Wm}, nil},
+ // ROR <Xd>, <Xn>, <Xm>
+ {0xffe0fc00, 0x9ac02c00, ROR, instArgs{arg_Xd, arg_Xn, arg_Xm}, nil},
+ // RORV <Xd>, <Xn>, <Xm>
+ {0xffe0fc00, 0x9ac02c00, RORV, instArgs{arg_Xd, arg_Xn, arg_Xm}, nil},
+ // SDIV <Wd>, <Wn>, <Wm>
+ {0xffe0fc00, 0x1ac00c00, SDIV, instArgs{arg_Wd, arg_Wn, arg_Wm}, nil},
+ // SDIV <Xd>, <Xn>, <Xm>
+ {0xffe0fc00, 0x9ac00c00, SDIV, instArgs{arg_Xd, arg_Xn, arg_Xm}, nil},
+ // SMULL <Xd>, <Wn>, <Wm>
+ {0xffe0fc00, 0x9b207c00, SMULL, instArgs{arg_Xd, arg_Wn, arg_Wm}, nil},
+ // SMADDL <Xd>, <Wn>, <Wm>, <Xa>
+ {0xffe08000, 0x9b200000, SMADDL, instArgs{arg_Xd, arg_Wn, arg_Wm, arg_Xa}, nil},
+ // SMNEGL <Xd>, <Wn>, <Wm>
+ {0xffe0fc00, 0x9b20fc00, SMNEGL, instArgs{arg_Xd, arg_Wn, arg_Wm}, nil},
+ // SMSUBL <Xd>, <Wn>, <Wm>, <Xa>
+ {0xffe08000, 0x9b208000, SMSUBL, instArgs{arg_Xd, arg_Wn, arg_Wm, arg_Xa}, nil},
+ // SMULH <Xd>, <Xn>, <Xm>
+ {0xffe08000, 0x9b400000, SMULH, instArgs{arg_Xd, arg_Xn, arg_Xm}, nil},
+ // STLR <Wt>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0x88808000, STLR, instArgs{arg_Wt, arg_Xns_mem}, nil},
+ // STLR <Xt>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0xc8808000, STLR, instArgs{arg_Xt, arg_Xns_mem}, nil},
+ // STLRB <Wt>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0x08808000, STLRB, instArgs{arg_Wt, arg_Xns_mem}, nil},
+ // STLRH <Wt>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0x48808000, STLRH, instArgs{arg_Wt, arg_Xns_mem}, nil},
+ // STLXP <Ws>, <Wt>, <Wt2>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0x88208000, STLXP, instArgs{arg_Ws, arg_Wt, arg_Wt2, arg_Xns_mem}, nil},
+ // STLXP <Ws>, <Xt>, <Xt2>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0xc8208000, STLXP, instArgs{arg_Ws, arg_Xt, arg_Xt2, arg_Xns_mem}, nil},
+ // STLXR <Ws>, <Wt>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0x88008000, STLXR, instArgs{arg_Ws, arg_Wt, arg_Xns_mem}, nil},
+ // STLXR <Ws>, <Xt>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0xc8008000, STLXR, instArgs{arg_Ws, arg_Xt, arg_Xns_mem}, nil},
+ // STLXRB <Ws>, <Wt>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0x08008000, STLXRB, instArgs{arg_Ws, arg_Wt, arg_Xns_mem}, nil},
+ // STLXRH <Ws>, <Wt>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0x48008000, STLXRH, instArgs{arg_Ws, arg_Wt, arg_Xns_mem}, nil},
+ // STNP <Wt>, <Wt2>, [<Xn|SP>{, #<imm>}]
+ {0xffc00000, 0x28000000, STNP, instArgs{arg_Wt, arg_Wt2, arg_Xns_mem_optional_imm7_4_signed}, nil},
+ // STNP <Xt>, <Xt2>, [<Xn|SP>{, #<imm_1>}]
+ {0xffc00000, 0xa8000000, STNP, instArgs{arg_Xt, arg_Xt2, arg_Xns_mem_optional_imm7_8_signed}, nil},
+ // STP <Wt>, <Wt2>, [<Xn|SP>], #<imm_1>
+ {0xffc00000, 0x28800000, STP, instArgs{arg_Wt, arg_Wt2, arg_Xns_mem_post_imm7_4_signed}, nil},
+ // STP <Xt>, <Xt2>, [<Xn|SP>], #<imm_3>
+ {0xffc00000, 0xa8800000, STP, instArgs{arg_Xt, arg_Xt2, arg_Xns_mem_post_imm7_8_signed}, nil},
+ // STP <Wt>, <Wt2>, [<Xn|SP>{, #<imm_1>}]!
+ {0xffc00000, 0x29800000, STP, instArgs{arg_Wt, arg_Wt2, arg_Xns_mem_wb_imm7_4_signed}, nil},
+ // STP <Xt>, <Xt2>, [<Xn|SP>{, #<imm_3>}]!
+ {0xffc00000, 0xa9800000, STP, instArgs{arg_Xt, arg_Xt2, arg_Xns_mem_wb_imm7_8_signed}, nil},
+ // STP <Wt>, <Wt2>, [<Xn|SP>{, #<imm>}]
+ {0xffc00000, 0x29000000, STP, instArgs{arg_Wt, arg_Wt2, arg_Xns_mem_optional_imm7_4_signed}, nil},
+ // STP <Xt>, <Xt2>, [<Xn|SP>{, #<imm_2>}]
+ {0xffc00000, 0xa9000000, STP, instArgs{arg_Xt, arg_Xt2, arg_Xns_mem_optional_imm7_8_signed}, nil},
+ // STR <Wt>, [<Xn|SP>], #<simm>
+ {0xffe00c00, 0xb8000400, STR, instArgs{arg_Wt, arg_Xns_mem_post_imm9_1_signed}, nil},
+ // STR <Xt>, [<Xn|SP>], #<simm>
+ {0xffe00c00, 0xf8000400, STR, instArgs{arg_Xt, arg_Xns_mem_post_imm9_1_signed}, nil},
+ // STR <Wt>, [<Xn|SP>{, #<simm>}]!
+ {0xffe00c00, 0xb8000c00, STR, instArgs{arg_Wt, arg_Xns_mem_wb_imm9_1_signed}, nil},
+ // STR <Xt>, [<Xn|SP>{, #<simm>}]!
+ {0xffe00c00, 0xf8000c00, STR, instArgs{arg_Xt, arg_Xns_mem_wb_imm9_1_signed}, nil},
+ // STR <Wt>, [<Xn|SP>{, #<pimm>}]
+ {0xffc00000, 0xb9000000, STR, instArgs{arg_Wt, arg_Xns_mem_optional_imm12_4_unsigned}, nil},
+ // STR <Xt>, [<Xn|SP>{, #<pimm_1>}]
+ {0xffc00000, 0xf9000000, STR, instArgs{arg_Xt, arg_Xns_mem_optional_imm12_8_unsigned}, nil},
+ // STR <Wt>, [<Xn|SP>, (<Wm>|<Xm>) {, <extend> {<amount>}}]
+ {0xffe00c00, 0xb8200800, STR, instArgs{arg_Wt, arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__2_1}, nil},
+ // STR <Xt>, [<Xn|SP>, (<Wm>|<Xm>) {, <extend> {<amount>}}]
+ {0xffe00c00, 0xf8200800, STR, instArgs{arg_Xt, arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__3_1}, nil},
+ // STRB <Wt>, [<Xn|SP>], #<simm>
+ {0xffe00c00, 0x38000400, STRB, instArgs{arg_Wt, arg_Xns_mem_post_imm9_1_signed}, nil},
+ // STRB <Wt>, [<Xn|SP>{, #<simm>}]!
+ {0xffe00c00, 0x38000c00, STRB, instArgs{arg_Wt, arg_Xns_mem_wb_imm9_1_signed}, nil},
+ // STRB <Wt>, [<Xn|SP>{, #<pimm>}]
+ {0xffc00000, 0x39000000, STRB, instArgs{arg_Wt, arg_Xns_mem_optional_imm12_1_unsigned}, nil},
+ // STRB <Wt>, [<Xn|SP>, (<Wm>|<Xm>) {, <extend> {<amount>}}]
+ {0xffe00c00, 0x38200800, STRB, instArgs{arg_Wt, arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__absent_0__0_1}, nil},
+ // STRH <Wt>, [<Xn|SP>], #<simm>
+ {0xffe00c00, 0x78000400, STRH, instArgs{arg_Wt, arg_Xns_mem_post_imm9_1_signed}, nil},
+ // STRH <Wt>, [<Xn|SP>{, #<simm>}]!
+ {0xffe00c00, 0x78000c00, STRH, instArgs{arg_Wt, arg_Xns_mem_wb_imm9_1_signed}, nil},
+ // STRH <Wt>, [<Xn|SP>{, #<pimm>}]
+ {0xffc00000, 0x79000000, STRH, instArgs{arg_Wt, arg_Xns_mem_optional_imm12_2_unsigned}, nil},
+ // STRH <Wt>, [<Xn|SP>, (<Wm>|<Xm>) {, <extend> {<amount>}}]
+ {0xffe00c00, 0x78200800, STRH, instArgs{arg_Wt, arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__1_1}, nil},
+ // STTR <Wt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0xb8000800, STTR, instArgs{arg_Wt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // STTR <Xt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0xf8000800, STTR, instArgs{arg_Xt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // STTRB <Wt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0x38000800, STTRB, instArgs{arg_Wt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // STTRH <Wt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0x78000800, STTRH, instArgs{arg_Wt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // STUR <Wt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0xb8000000, STUR, instArgs{arg_Wt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // STUR <Xt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0xf8000000, STUR, instArgs{arg_Xt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // STURB <Wt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0x38000000, STURB, instArgs{arg_Wt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // STURH <Wt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0x78000000, STURH, instArgs{arg_Wt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // STXP <Ws>, <Wt>, <Wt2>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0x88200000, STXP, instArgs{arg_Ws, arg_Wt, arg_Wt2, arg_Xns_mem}, nil},
+ // STXP <Ws>, <Xt>, <Xt2>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0xc8200000, STXP, instArgs{arg_Ws, arg_Xt, arg_Xt2, arg_Xns_mem}, nil},
+ // STXR <Ws>, <Wt>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0x88000000, STXR, instArgs{arg_Ws, arg_Wt, arg_Xns_mem}, nil},
+ // STXR <Ws>, <Xt>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0xc8000000, STXR, instArgs{arg_Ws, arg_Xt, arg_Xns_mem}, nil},
+ // STXRB <Ws>, <Wt>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0x08000000, STXRB, instArgs{arg_Ws, arg_Wt, arg_Xns_mem}, nil},
+ // STXRH <Ws>, <Wt>, [<Xn|SP>{, #0}]
+ {0xffe08000, 0x48000000, STXRH, instArgs{arg_Ws, arg_Wt, arg_Xns_mem}, nil},
+ // SUB <Wd|WSP>, <Wn|WSP>, <Wm>{, <extend> {#<amount>}}
+ {0xffe00000, 0x4b200000, SUB, instArgs{arg_Wds, arg_Wns, arg_Wm_extend__UXTB_0__UXTH_1__LSL_UXTW_2__UXTX_3__SXTB_4__SXTH_5__SXTW_6__SXTX_7__0_4}, nil},
+ // SUB <Xd|SP>, <Xn|SP>, <R><m>{, <extend_1> {#<amount>}}
+ {0xffe00000, 0xcb200000, SUB, instArgs{arg_Xds, arg_Xns, arg_Rm_extend__UXTB_0__UXTH_1__UXTW_2__LSL_UXTX_3__SXTB_4__SXTH_5__SXTW_6__SXTX_7__0_4}, nil},
+ // SUB <Wd|WSP>, <Wn|WSP>, #<imm>{, <shift>}
+ {0xff000000, 0x51000000, SUB, instArgs{arg_Wds, arg_Wns, arg_IAddSub}, nil},
+ // SUB <Xd|SP>, <Xn|SP>, #<imm>{, <shift>}
+ {0xff000000, 0xd1000000, SUB, instArgs{arg_Xds, arg_Xns, arg_IAddSub}, nil},
+ // SVC #<imm>
+ {0xffe0001f, 0xd4000001, SVC, instArgs{arg_immediate_0_65535_imm16}, nil},
+ // SYSL <Xt>, #<op1>, <Cn>, <Cm>, #<op2>
+ {0xfff80000, 0xd5280000, SYSL, instArgs{arg_Xt, arg_immediate_0_7_op1, arg_Cn, arg_Cm, arg_immediate_0_7_op2}, nil},
+ // TBNZ <R><t>, #<imm>, <label>
+ {0x7f000000, 0x37000000, TBNZ, instArgs{arg_Rt_31_1__W_0__X_1, arg_immediate_0_63_b5_b40, arg_slabel_imm14_2}, nil},
+ // TBZ <R><t>, #<imm>, <label>
+ {0x7f000000, 0x36000000, TBZ, instArgs{arg_Rt_31_1__W_0__X_1, arg_immediate_0_63_b5_b40, arg_slabel_imm14_2}, nil},
+ // UDIV <Wd>, <Wn>, <Wm>
+ {0xffe0fc00, 0x1ac00800, UDIV, instArgs{arg_Wd, arg_Wn, arg_Wm}, nil},
+ // UDIV <Xd>, <Xn>, <Xm>
+ {0xffe0fc00, 0x9ac00800, UDIV, instArgs{arg_Xd, arg_Xn, arg_Xm}, nil},
+ // UMULL <Xd>, <Wn>, <Wm>
+ {0xffe0fc00, 0x9ba07c00, UMULL, instArgs{arg_Xd, arg_Wn, arg_Wm}, nil},
+ // UMADDL <Xd>, <Wn>, <Wm>, <Xa>
+ {0xffe08000, 0x9ba00000, UMADDL, instArgs{arg_Xd, arg_Wn, arg_Wm, arg_Xa}, nil},
+ // UMNEGL <Xd>, <Wn>, <Wm>
+ {0xffe0fc00, 0x9ba0fc00, UMNEGL, instArgs{arg_Xd, arg_Wn, arg_Wm}, nil},
+ // UMSUBL <Xd>, <Wn>, <Wm>, <Xa>
+ {0xffe08000, 0x9ba08000, UMSUBL, instArgs{arg_Xd, arg_Wn, arg_Wm, arg_Xa}, nil},
+ // UMULH <Xd>, <Xn>, <Xm>
+ {0xffe08000, 0x9bc00000, UMULH, instArgs{arg_Xd, arg_Xn, arg_Xm}, nil},
+ // ABS <V><d>, <V><n>
+ {0xff3ffc00, 0x5e20b800, ABS, instArgs{arg_Vd_22_2__D_3, arg_Vn_22_2__D_3}, nil},
+ // ABS <Vd>.<t>, <Vn>.<t>
+ {0xbf3ffc00, 0x0e20b800, ABS, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // ADD <V><d>, <V><n>, <V><m>
+ {0xff20fc00, 0x5e208400, ADD, instArgs{arg_Vd_22_2__D_3, arg_Vn_22_2__D_3, arg_Vm_22_2__D_3}, nil},
+ // ADD <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e208400, ADD, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // ADDHN <Vd>.<tb>, <Vn>.<ta>, <Vm>.<ta>
+ {0xff20fc00, 0x0e204000, ADDHN, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size___8H_0__4S_1__2D_2, arg_Vm_arrangement_size___8H_0__4S_1__2D_2}, nil},
+ // ADDHN2 <Vd>.<tb>, <Vn>.<ta>, <Vm>.<ta>
+ {0xff20fc00, 0x4e204000, ADDHN2, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size___8H_0__4S_1__2D_2, arg_Vm_arrangement_size___8H_0__4S_1__2D_2}, nil},
+ // ADDP <V><d>, <Vn>.<t>
+ {0xff3ffc00, 0x5e31b800, ADDP, instArgs{arg_Vd_22_2__D_3, arg_Vn_arrangement_size___2D_3}, nil},
+ // ADDP <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e20bc00, ADDP, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // ADDV <V><d>, <Vn>.<t>
+ {0xbf3ffc00, 0x0e31b800, ADDV, instArgs{arg_Vd_22_2__B_0__H_1__S_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__4S_21}, nil},
+ // AESD <Vd>.16B, <Vn>.16B
+ {0xfffffc00, 0x4e285800, AESD, instArgs{arg_Vd_arrangement_16B, arg_Vn_arrangement_16B}, nil},
+ // AESE <Vd>.16B, <Vn>.16B
+ {0xfffffc00, 0x4e284800, AESE, instArgs{arg_Vd_arrangement_16B, arg_Vn_arrangement_16B}, nil},
+ // AESIMC <Vd>.16B, <Vn>.16B
+ {0xfffffc00, 0x4e287800, AESIMC, instArgs{arg_Vd_arrangement_16B, arg_Vn_arrangement_16B}, nil},
+ // AESMC <Vd>.16B, <Vn>.16B
+ {0xfffffc00, 0x4e286800, AESMC, instArgs{arg_Vd_arrangement_16B, arg_Vn_arrangement_16B}, nil},
+ // AND <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfe0fc00, 0x0e201c00, AND, instArgs{arg_Vd_arrangement_Q___8B_0__16B_1, arg_Vn_arrangement_Q___8B_0__16B_1, arg_Vm_arrangement_Q___8B_0__16B_1}, nil},
+ // BIC <Vd>.<t>, #<imm8>{, LSL #<amount>}
+ {0xbff8dc00, 0x2f009400, BIC, instArgs{arg_Vd_arrangement_Q___4H_0__8H_1, arg_immediate_OptLSL__a_b_c_d_e_f_g_h_cmode__0_0__8_1}, nil},
+ // BIC <Vd>.<t_1>, #<imm8>{, LSL #<amount>}
+ {0xbff89c00, 0x2f001400, BIC, instArgs{arg_Vd_arrangement_Q___2S_0__4S_1, arg_immediate_OptLSL__a_b_c_d_e_f_g_h_cmode__0_0__8_1__16_2__24_3}, nil},
+ // BIC <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfe0fc00, 0x0e601c00, BIC, instArgs{arg_Vd_arrangement_Q___8B_0__16B_1, arg_Vn_arrangement_Q___8B_0__16B_1, arg_Vm_arrangement_Q___8B_0__16B_1}, nil},
+ // BIF <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfe0fc00, 0x2ee01c00, BIF, instArgs{arg_Vd_arrangement_Q___8B_0__16B_1, arg_Vn_arrangement_Q___8B_0__16B_1, arg_Vm_arrangement_Q___8B_0__16B_1}, nil},
+ // BIT <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfe0fc00, 0x2ea01c00, BIT, instArgs{arg_Vd_arrangement_Q___8B_0__16B_1, arg_Vn_arrangement_Q___8B_0__16B_1, arg_Vm_arrangement_Q___8B_0__16B_1}, nil},
+ // BSL <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfe0fc00, 0x2e601c00, BSL, instArgs{arg_Vd_arrangement_Q___8B_0__16B_1, arg_Vn_arrangement_Q___8B_0__16B_1, arg_Vm_arrangement_Q___8B_0__16B_1}, nil},
+ // CLS <Vd>.<t>, <Vn>.<t>
+ {0xbf3ffc00, 0x0e204800, CLS, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // CLZ <Vd>.<t>, <Vn>.<t>
+ {0xbf3ffc00, 0x2e204800, CLZ, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // CMEQ <V><d>, <V><n>, <V><m>
+ {0xff20fc00, 0x7e208c00, CMEQ, instArgs{arg_Vd_22_2__D_3, arg_Vn_22_2__D_3, arg_Vm_22_2__D_3}, nil},
+ // CMEQ <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x2e208c00, CMEQ, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // CMEQ <V><d>, <V><n>, #0
+ {0xff3ffc00, 0x5e209800, CMEQ, instArgs{arg_Vd_22_2__D_3, arg_Vn_22_2__D_3, arg_immediate_zero}, nil},
+ // CMEQ <Vd>.<t>, <Vn>.<t>, #0
+ {0xbf3ffc00, 0x0e209800, CMEQ, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_immediate_zero}, nil},
+ // CMGE <V><d>, <V><n>, <V><m>
+ {0xff20fc00, 0x5e203c00, CMGE, instArgs{arg_Vd_22_2__D_3, arg_Vn_22_2__D_3, arg_Vm_22_2__D_3}, nil},
+ // CMGE <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e203c00, CMGE, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // CMGE <V><d>, <V><n>, #0
+ {0xff3ffc00, 0x7e208800, CMGE, instArgs{arg_Vd_22_2__D_3, arg_Vn_22_2__D_3, arg_immediate_zero}, nil},
+ // CMGE <Vd>.<t>, <Vn>.<t>, #0
+ {0xbf3ffc00, 0x2e208800, CMGE, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_immediate_zero}, nil},
+ // CMGT <V><d>, <V><n>, <V><m>
+ {0xff20fc00, 0x5e203400, CMGT, instArgs{arg_Vd_22_2__D_3, arg_Vn_22_2__D_3, arg_Vm_22_2__D_3}, nil},
+ // CMGT <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e203400, CMGT, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // CMGT <V><d>, <V><n>, #0
+ {0xff3ffc00, 0x5e208800, CMGT, instArgs{arg_Vd_22_2__D_3, arg_Vn_22_2__D_3, arg_immediate_zero}, nil},
+ // CMGT <Vd>.<t>, <Vn>.<t>, #0
+ {0xbf3ffc00, 0x0e208800, CMGT, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_immediate_zero}, nil},
+ // CMHI <V><d>, <V><n>, <V><m>
+ {0xff20fc00, 0x7e203400, CMHI, instArgs{arg_Vd_22_2__D_3, arg_Vn_22_2__D_3, arg_Vm_22_2__D_3}, nil},
+ // CMHI <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x2e203400, CMHI, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // CMHS <V><d>, <V><n>, <V><m>
+ {0xff20fc00, 0x7e203c00, CMHS, instArgs{arg_Vd_22_2__D_3, arg_Vn_22_2__D_3, arg_Vm_22_2__D_3}, nil},
+ // CMHS <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x2e203c00, CMHS, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // CMLE <V><d>, <V><n>, #0
+ {0xff3ffc00, 0x7e209800, CMLE, instArgs{arg_Vd_22_2__D_3, arg_Vn_22_2__D_3, arg_immediate_zero}, nil},
+ // CMLE <Vd>.<t>, <Vn>.<t>, #0
+ {0xbf3ffc00, 0x2e209800, CMLE, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_immediate_zero}, nil},
+ // CMLT <V><d>, <V><n>, #0
+ {0xff3ffc00, 0x5e20a800, CMLT, instArgs{arg_Vd_22_2__D_3, arg_Vn_22_2__D_3, arg_immediate_zero}, nil},
+ // CMLT <Vd>.<t>, <Vn>.<t>, #0
+ {0xbf3ffc00, 0x0e20a800, CMLT, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_immediate_zero}, nil},
+ // CMTST <V><d>, <V><n>, <V><m>
+ {0xff20fc00, 0x5e208c00, CMTST, instArgs{arg_Vd_22_2__D_3, arg_Vn_22_2__D_3, arg_Vm_22_2__D_3}, nil},
+ // CMTST <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e208c00, CMTST, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // CNT <Vd>.<t>, <Vn>.<t>
+ {0xbf3ffc00, 0x0e205800, CNT, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01, arg_Vn_arrangement_size_Q___8B_00__16B_01}, nil},
+ // MOV <V><d>, <Vn>.<t_1>[<index>]
+ {0xffe0fc00, 0x5e000400, MOV, instArgs{arg_Vd_16_5__B_1__H_2__S_4__D_8, arg_Vn_arrangement_imm5___B_1__H_2__S_4__D_8_index__imm5__imm5lt41gt_1__imm5lt42gt_2__imm5lt43gt_4__imm5lt4gt_8_1}, nil},
+ // DUP <V><d>, <Vn>.<t_1>[<index>]
+ {0xffe0fc00, 0x5e000400, DUP, instArgs{arg_Vd_16_5__B_1__H_2__S_4__D_8, arg_Vn_arrangement_imm5___B_1__H_2__S_4__D_8_index__imm5__imm5lt41gt_1__imm5lt42gt_2__imm5lt43gt_4__imm5lt4gt_8_1}, nil},
+ // DUP <Vd>.<t>, <Vn>.<ts>[<index>]
+ {0xbfe0fc00, 0x0e000400, DUP, instArgs{arg_Vd_arrangement_imm5_Q___8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_Vn_arrangement_imm5___B_1__H_2__S_4__D_8_index__imm5__imm5lt41gt_1__imm5lt42gt_2__imm5lt43gt_4__imm5lt4gt_8_1}, nil},
+ // DUP <Vd>.<t>, <R><n>
+ {0xbfe0fc00, 0x0e000c00, DUP, instArgs{arg_Vd_arrangement_imm5_Q___8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_Rn_16_5__W_1__W_2__W_4__X_8}, nil},
+ // EOR <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfe0fc00, 0x2e201c00, EOR, instArgs{arg_Vd_arrangement_Q___8B_0__16B_1, arg_Vn_arrangement_Q___8B_0__16B_1, arg_Vm_arrangement_Q___8B_0__16B_1}, nil},
+ // EXT <Vd>.<t>, <Vn>.<t>, <Vm>.<t>, #<index>
+ {0xbfe08400, 0x2e000000, EXT, instArgs{arg_Vd_arrangement_Q___8B_0__16B_1, arg_Vn_arrangement_Q___8B_0__16B_1, arg_Vm_arrangement_Q___8B_0__16B_1, arg_immediate_index_Q_imm4__imm4lt20gt_00__imm4_10}, nil},
+ // FABD <V><d>, <V><n>, <V><m>
+ {0xffa0fc00, 0x7ea0d400, FABD, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1, arg_Vm_22_1__S_0__D_1}, nil},
+ // FABD <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfa0fc00, 0x2ea0d400, FABD, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vm_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FABS <Sd>, <Sn>
+ {0xfffffc00, 0x1e20c000, FABS, instArgs{arg_Sd, arg_Sn}, nil},
+ // FABS <Dd>, <Dn>
+ {0xfffffc00, 0x1e60c000, FABS, instArgs{arg_Dd, arg_Dn}, nil},
+ // FABS <Vd>.<t>, <Vn>.<t>
+ {0xbfbffc00, 0x0ea0f800, FABS, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FACGE <V><d>, <V><n>, <V><m>
+ {0xffa0fc00, 0x7e20ec00, FACGE, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1, arg_Vm_22_1__S_0__D_1}, nil},
+ // FACGE <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfa0fc00, 0x2e20ec00, FACGE, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vm_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FACGT <V><d>, <V><n>, <V><m>
+ {0xffa0fc00, 0x7ea0ec00, FACGT, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1, arg_Vm_22_1__S_0__D_1}, nil},
+ // FACGT <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfa0fc00, 0x2ea0ec00, FACGT, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vm_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FADD <Sd>, <Sn>, <Sm>
+ {0xffe0fc00, 0x1e202800, FADD, instArgs{arg_Sd, arg_Sn, arg_Sm}, nil},
+ // FADD <Dd>, <Dn>, <Dm>
+ {0xffe0fc00, 0x1e602800, FADD, instArgs{arg_Dd, arg_Dn, arg_Dm}, nil},
+ // FADD <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfa0fc00, 0x0e20d400, FADD, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vm_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FADDP <V><d>, <Vn>.<t>
+ {0xffbffc00, 0x7e30d800, FADDP, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_arrangement_sz___2S_0__2D_1}, nil},
+ // FADDP <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfa0fc00, 0x2e20d400, FADDP, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vm_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FCCMP <Sn>, <Sm>, #<nzcv>, <cond>
+ {0xffe00c10, 0x1e200400, FCCMP, instArgs{arg_Sn, arg_Sm, arg_immediate_0_15_nzcv, arg_cond_AllowALNV_Normal}, nil},
+ // FCCMP <Dn>, <Dm>, #<nzcv>, <cond>
+ {0xffe00c10, 0x1e600400, FCCMP, instArgs{arg_Dn, arg_Dm, arg_immediate_0_15_nzcv, arg_cond_AllowALNV_Normal}, nil},
+ // FCCMPE <Sn>, <Sm>, #<nzcv>, <cond>
+ {0xffe00c10, 0x1e200410, FCCMPE, instArgs{arg_Sn, arg_Sm, arg_immediate_0_15_nzcv, arg_cond_AllowALNV_Normal}, nil},
+ // FCCMPE <Dn>, <Dm>, #<nzcv>, <cond>
+ {0xffe00c10, 0x1e600410, FCCMPE, instArgs{arg_Dn, arg_Dm, arg_immediate_0_15_nzcv, arg_cond_AllowALNV_Normal}, nil},
+ // FCMEQ <V><d>, <V><n>, <V><m>
+ {0xffa0fc00, 0x5e20e400, FCMEQ, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1, arg_Vm_22_1__S_0__D_1}, nil},
+ // FCMEQ <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfa0fc00, 0x0e20e400, FCMEQ, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vm_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FCMEQ <V><d>, <V><n>, #0.0
+ {0xffbffc00, 0x5ea0d800, FCMEQ, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1, arg_immediate_floatzero}, nil},
+ // FCMEQ <Vd>.<t>, <Vn>.<t>, #0.0
+ {0xbfbffc00, 0x0ea0d800, FCMEQ, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_immediate_floatzero}, nil},
+ // FCMGE <V><d>, <V><n>, <V><m>
+ {0xffa0fc00, 0x7e20e400, FCMGE, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1, arg_Vm_22_1__S_0__D_1}, nil},
+ // FCMGE <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfa0fc00, 0x2e20e400, FCMGE, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vm_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FCMGE <V><d>, <V><n>, #0.0
+ {0xffbffc00, 0x7ea0c800, FCMGE, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1, arg_immediate_floatzero}, nil},
+ // FCMGE <Vd>.<t>, <Vn>.<t>, #0.0
+ {0xbfbffc00, 0x2ea0c800, FCMGE, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_immediate_floatzero}, nil},
+ // FCMGT <V><d>, <V><n>, <V><m>
+ {0xffa0fc00, 0x7ea0e400, FCMGT, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1, arg_Vm_22_1__S_0__D_1}, nil},
+ // FCMGT <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfa0fc00, 0x2ea0e400, FCMGT, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vm_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FCMGT <V><d>, <V><n>, #0.0
+ {0xffbffc00, 0x5ea0c800, FCMGT, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1, arg_immediate_floatzero}, nil},
+ // FCMGT <Vd>.<t>, <Vn>.<t>, #0.0
+ {0xbfbffc00, 0x0ea0c800, FCMGT, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_immediate_floatzero}, nil},
+ // FCMLE <V><d>, <V><n>, #0.0
+ {0xffbffc00, 0x7ea0d800, FCMLE, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1, arg_immediate_floatzero}, nil},
+ // FCMLE <Vd>.<t>, <Vn>.<t>, #0.0
+ {0xbfbffc00, 0x2ea0d800, FCMLE, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_immediate_floatzero}, nil},
+ // FCMLT <V><d>, <V><n>, #0.0
+ {0xffbffc00, 0x5ea0e800, FCMLT, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1, arg_immediate_floatzero}, nil},
+ // FCMLT <Vd>.<t>, <Vn>.<t>, #0.0
+ {0xbfbffc00, 0x0ea0e800, FCMLT, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_immediate_floatzero}, nil},
+ // FCMP <Sn>, <Sm>
+ {0xffe0fc1f, 0x1e202000, FCMP, instArgs{arg_Sn, arg_Sm}, nil},
+ // FCMP <Sn>, #0.0
+ {0xffe0fc1f, 0x1e202008, FCMP, instArgs{arg_Sn, arg_immediate_floatzero}, nil},
+ // FCMP <Dn>, <Dm>
+ {0xffe0fc1f, 0x1e602000, FCMP, instArgs{arg_Dn, arg_Dm}, nil},
+ // FCMP <Dn>, #0.0
+ {0xffe0fc1f, 0x1e602008, FCMP, instArgs{arg_Dn, arg_immediate_floatzero}, nil},
+ // FCMPE <Sn>, <Sm>
+ {0xffe0fc1f, 0x1e202010, FCMPE, instArgs{arg_Sn, arg_Sm}, nil},
+ // FCMPE <Sn>, #0.0
+ {0xffe0fc1f, 0x1e202018, FCMPE, instArgs{arg_Sn, arg_immediate_floatzero}, nil},
+ // FCMPE <Dn>, <Dm>
+ {0xffe0fc1f, 0x1e602010, FCMPE, instArgs{arg_Dn, arg_Dm}, nil},
+ // FCMPE <Dn>, #0.0
+ {0xffe0fc1f, 0x1e602018, FCMPE, instArgs{arg_Dn, arg_immediate_floatzero}, nil},
+ // FCSEL <Sd>, <Sn>, <Sm>, <cond>
+ {0xffe00c00, 0x1e200c00, FCSEL, instArgs{arg_Sd, arg_Sn, arg_Sm, arg_cond_AllowALNV_Normal}, nil},
+ // FCSEL <Dd>, <Dn>, <Dm>, <cond>
+ {0xffe00c00, 0x1e600c00, FCSEL, instArgs{arg_Dd, arg_Dn, arg_Dm, arg_cond_AllowALNV_Normal}, nil},
+ // FCVT <Sd>, <Hn>
+ {0xfffffc00, 0x1ee24000, FCVT, instArgs{arg_Sd, arg_Hn}, nil},
+ // FCVT <Dd>, <Hn>
+ {0xfffffc00, 0x1ee2c000, FCVT, instArgs{arg_Dd, arg_Hn}, nil},
+ // FCVT <Hd>, <Sn>
+ {0xfffffc00, 0x1e23c000, FCVT, instArgs{arg_Hd, arg_Sn}, nil},
+ // FCVT <Dd>, <Sn>
+ {0xfffffc00, 0x1e22c000, FCVT, instArgs{arg_Dd, arg_Sn}, nil},
+ // FCVT <Hd>, <Dn>
+ {0xfffffc00, 0x1e63c000, FCVT, instArgs{arg_Hd, arg_Dn}, nil},
+ // FCVT <Sd>, <Dn>
+ {0xfffffc00, 0x1e624000, FCVT, instArgs{arg_Sd, arg_Dn}, nil},
+ // FCVTAS <Wd>, <Sn>
+ {0xfffffc00, 0x1e240000, FCVTAS, instArgs{arg_Wd, arg_Sn}, nil},
+ // FCVTAS <Xd>, <Sn>
+ {0xfffffc00, 0x9e240000, FCVTAS, instArgs{arg_Xd, arg_Sn}, nil},
+ // FCVTAS <Wd>, <Dn>
+ {0xfffffc00, 0x1e640000, FCVTAS, instArgs{arg_Wd, arg_Dn}, nil},
+ // FCVTAS <Xd>, <Dn>
+ {0xfffffc00, 0x9e640000, FCVTAS, instArgs{arg_Xd, arg_Dn}, nil},
+ // FCVTAS <V><d>, <V><n>
+ {0xffbffc00, 0x5e21c800, FCVTAS, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1}, nil},
+ // FCVTAS <Vd>.<t>, <Vn>.<t>
+ {0xbfbffc00, 0x0e21c800, FCVTAS, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FCVTAU <Wd>, <Sn>
+ {0xfffffc00, 0x1e250000, FCVTAU, instArgs{arg_Wd, arg_Sn}, nil},
+ // FCVTAU <Xd>, <Sn>
+ {0xfffffc00, 0x9e250000, FCVTAU, instArgs{arg_Xd, arg_Sn}, nil},
+ // FCVTAU <Wd>, <Dn>
+ {0xfffffc00, 0x1e650000, FCVTAU, instArgs{arg_Wd, arg_Dn}, nil},
+ // FCVTAU <Xd>, <Dn>
+ {0xfffffc00, 0x9e650000, FCVTAU, instArgs{arg_Xd, arg_Dn}, nil},
+ // FCVTAU <V><d>, <V><n>
+ {0xffbffc00, 0x7e21c800, FCVTAU, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1}, nil},
+ // FCVTAU <Vd>.<t>, <Vn>.<t>
+ {0xbfbffc00, 0x2e21c800, FCVTAU, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FCVTL <Vd>.<ta>, <Vn>.<tb>
+ {0xffbffc00, 0x0e217800, FCVTL, instArgs{arg_Vd_arrangement_sz___4S_0__2D_1, arg_Vn_arrangement_sz_Q___4H_00__8H_01__2S_10__4S_11}, nil},
+ // FCVTL2 <Vd>.<ta>, <Vn>.<tb>
+ {0xffbffc00, 0x4e217800, FCVTL2, instArgs{arg_Vd_arrangement_sz___4S_0__2D_1, arg_Vn_arrangement_sz_Q___4H_00__8H_01__2S_10__4S_11}, nil},
+ // FCVTMS <Wd>, <Sn>
+ {0xfffffc00, 0x1e300000, FCVTMS, instArgs{arg_Wd, arg_Sn}, nil},
+ // FCVTMS <Xd>, <Sn>
+ {0xfffffc00, 0x9e300000, FCVTMS, instArgs{arg_Xd, arg_Sn}, nil},
+ // FCVTMS <Wd>, <Dn>
+ {0xfffffc00, 0x1e700000, FCVTMS, instArgs{arg_Wd, arg_Dn}, nil},
+ // FCVTMS <Xd>, <Dn>
+ {0xfffffc00, 0x9e700000, FCVTMS, instArgs{arg_Xd, arg_Dn}, nil},
+ // FCVTMS <V><d>, <V><n>
+ {0xffbffc00, 0x5e21b800, FCVTMS, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1}, nil},
+ // FCVTMS <Vd>.<t>, <Vn>.<t>
+ {0xbfbffc00, 0x0e21b800, FCVTMS, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FCVTMU <Wd>, <Sn>
+ {0xfffffc00, 0x1e310000, FCVTMU, instArgs{arg_Wd, arg_Sn}, nil},
+ // FCVTMU <Xd>, <Sn>
+ {0xfffffc00, 0x9e310000, FCVTMU, instArgs{arg_Xd, arg_Sn}, nil},
+ // FCVTMU <Wd>, <Dn>
+ {0xfffffc00, 0x1e710000, FCVTMU, instArgs{arg_Wd, arg_Dn}, nil},
+ // FCVTMU <Xd>, <Dn>
+ {0xfffffc00, 0x9e710000, FCVTMU, instArgs{arg_Xd, arg_Dn}, nil},
+ // FCVTMU <V><d>, <V><n>
+ {0xffbffc00, 0x7e21b800, FCVTMU, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1}, nil},
+ // FCVTMU <Vd>.<t>, <Vn>.<t>
+ {0xbfbffc00, 0x2e21b800, FCVTMU, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FCVTN <Vd>.<tb>, <Vn>.<ta>
+ {0xffbffc00, 0x0e216800, FCVTN, instArgs{arg_Vd_arrangement_sz_Q___4H_00__8H_01__2S_10__4S_11, arg_Vn_arrangement_sz___4S_0__2D_1}, nil},
+ // FCVTN2 <Vd>.<tb>, <Vn>.<ta>
+ {0xffbffc00, 0x4e216800, FCVTN2, instArgs{arg_Vd_arrangement_sz_Q___4H_00__8H_01__2S_10__4S_11, arg_Vn_arrangement_sz___4S_0__2D_1}, nil},
+ // FCVTNS <Wd>, <Sn>
+ {0xfffffc00, 0x1e200000, FCVTNS, instArgs{arg_Wd, arg_Sn}, nil},
+ // FCVTNS <Xd>, <Sn>
+ {0xfffffc00, 0x9e200000, FCVTNS, instArgs{arg_Xd, arg_Sn}, nil},
+ // FCVTNS <Wd>, <Dn>
+ {0xfffffc00, 0x1e600000, FCVTNS, instArgs{arg_Wd, arg_Dn}, nil},
+ // FCVTNS <Xd>, <Dn>
+ {0xfffffc00, 0x9e600000, FCVTNS, instArgs{arg_Xd, arg_Dn}, nil},
+ // FCVTNS <V><d>, <V><n>
+ {0xffbffc00, 0x5e21a800, FCVTNS, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1}, nil},
+ // FCVTNS <Vd>.<t>, <Vn>.<t>
+ {0xbfbffc00, 0x0e21a800, FCVTNS, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FCVTNU <Wd>, <Sn>
+ {0xfffffc00, 0x1e210000, FCVTNU, instArgs{arg_Wd, arg_Sn}, nil},
+ // FCVTNU <Xd>, <Sn>
+ {0xfffffc00, 0x9e210000, FCVTNU, instArgs{arg_Xd, arg_Sn}, nil},
+ // FCVTNU <Wd>, <Dn>
+ {0xfffffc00, 0x1e610000, FCVTNU, instArgs{arg_Wd, arg_Dn}, nil},
+ // FCVTNU <Xd>, <Dn>
+ {0xfffffc00, 0x9e610000, FCVTNU, instArgs{arg_Xd, arg_Dn}, nil},
+ // FCVTNU <V><d>, <V><n>
+ {0xffbffc00, 0x7e21a800, FCVTNU, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1}, nil},
+ // FCVTNU <Vd>.<t>, <Vn>.<t>
+ {0xbfbffc00, 0x2e21a800, FCVTNU, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FCVTPS <Wd>, <Sn>
+ {0xfffffc00, 0x1e280000, FCVTPS, instArgs{arg_Wd, arg_Sn}, nil},
+ // FCVTPS <Xd>, <Sn>
+ {0xfffffc00, 0x9e280000, FCVTPS, instArgs{arg_Xd, arg_Sn}, nil},
+ // FCVTPS <Wd>, <Dn>
+ {0xfffffc00, 0x1e680000, FCVTPS, instArgs{arg_Wd, arg_Dn}, nil},
+ // FCVTPS <Xd>, <Dn>
+ {0xfffffc00, 0x9e680000, FCVTPS, instArgs{arg_Xd, arg_Dn}, nil},
+ // FCVTPS <V><d>, <V><n>
+ {0xffbffc00, 0x5ea1a800, FCVTPS, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1}, nil},
+ // FCVTPS <Vd>.<t>, <Vn>.<t>
+ {0xbfbffc00, 0x0ea1a800, FCVTPS, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FCVTPU <Wd>, <Sn>
+ {0xfffffc00, 0x1e290000, FCVTPU, instArgs{arg_Wd, arg_Sn}, nil},
+ // FCVTPU <Xd>, <Sn>
+ {0xfffffc00, 0x9e290000, FCVTPU, instArgs{arg_Xd, arg_Sn}, nil},
+ // FCVTPU <Wd>, <Dn>
+ {0xfffffc00, 0x1e690000, FCVTPU, instArgs{arg_Wd, arg_Dn}, nil},
+ // FCVTPU <Xd>, <Dn>
+ {0xfffffc00, 0x9e690000, FCVTPU, instArgs{arg_Xd, arg_Dn}, nil},
+ // FCVTPU <V><d>, <V><n>
+ {0xffbffc00, 0x7ea1a800, FCVTPU, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1}, nil},
+ // FCVTPU <Vd>.<t>, <Vn>.<t>
+ {0xbfbffc00, 0x2ea1a800, FCVTPU, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FCVTXN <V><d>, <V><n>
+ {0xffbffc00, 0x7e216800, FCVTXN, instArgs{arg_Vd_22_1__S_1, arg_Vn_22_1__D_1}, nil},
+ // FCVTXN <Vd>.<tb>, <Vn>.<ta>
+ {0xffbffc00, 0x2e216800, FCVTXN, instArgs{arg_Vd_arrangement_sz_Q___2S_10__4S_11, arg_Vn_arrangement_sz___2D_1}, nil},
+ // FCVTXN2 <Vd>.<tb>, <Vn>.<ta>
+ {0xffbffc00, 0x6e216800, FCVTXN2, instArgs{arg_Vd_arrangement_sz_Q___2S_10__4S_11, arg_Vn_arrangement_sz___2D_1}, nil},
+ // FCVTZS <Wd>, <Sn>, #<fbits>
+ {0xffff0000, 0x1e180000, FCVTZS, instArgs{arg_Wd, arg_Sn, arg_immediate_fbits_min_1_max_32_sub_64_scale}, nil},
+ // FCVTZS <Xd>, <Sn>, #<fbits>
+ {0xffff0000, 0x9e180000, FCVTZS, instArgs{arg_Xd, arg_Sn, arg_immediate_fbits_min_1_max_64_sub_64_scale}, nil},
+ // FCVTZS <Wd>, <Dn>, #<fbits>
+ {0xffff0000, 0x1e580000, FCVTZS, instArgs{arg_Wd, arg_Dn, arg_immediate_fbits_min_1_max_32_sub_64_scale}, nil},
+ // FCVTZS <Xd>, <Dn>, #<fbits>
+ {0xffff0000, 0x9e580000, FCVTZS, instArgs{arg_Xd, arg_Dn, arg_immediate_fbits_min_1_max_64_sub_64_scale}, nil},
+ // FCVTZS <Wd>, <Sn>
+ {0xfffffc00, 0x1e380000, FCVTZS, instArgs{arg_Wd, arg_Sn}, nil},
+ // FCVTZS <Xd>, <Sn>
+ {0xfffffc00, 0x9e380000, FCVTZS, instArgs{arg_Xd, arg_Sn}, nil},
+ // FCVTZS <Wd>, <Dn>
+ {0xfffffc00, 0x1e780000, FCVTZS, instArgs{arg_Wd, arg_Dn}, nil},
+ // FCVTZS <Xd>, <Dn>
+ {0xfffffc00, 0x9e780000, FCVTZS, instArgs{arg_Xd, arg_Dn}, nil},
+ // FCVTZS <V><d>, <V><n>, #<fbits>
+ {0xff80fc00, 0x5f00fc00, FCVTZS, instArgs{arg_Vd_19_4__S_4__D_8, arg_Vn_19_4__S_4__D_8, arg_immediate_fbits_min_1_max_0_sub_0_immh_immb__64UIntimmhimmb_4__128UIntimmhimmb_8}, fcvtzs_asisdshf_c_cond},
+ // FCVTZS <Vd>.<t>, <Vn>.<t>, #<fbits>
+ {0xbf80fc00, 0x0f00fc00, FCVTZS, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__2S_40__4S_41__2D_81, arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__2S_40__4S_41__2D_81, arg_immediate_fbits_min_1_max_0_sub_0_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__64UIntimmhimmb_4__128UIntimmhimmb_8}, fcvtzs_asimdshf_c_cond},
+ // FCVTZS <V><d>, <V><n>
+ {0xffbffc00, 0x5ea1b800, FCVTZS, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1}, nil},
+ // FCVTZS <Vd>.<t>, <Vn>.<t>
+ {0xbfbffc00, 0x0ea1b800, FCVTZS, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FCVTZU <Wd>, <Sn>, #<fbits>
+ {0xffff0000, 0x1e190000, FCVTZU, instArgs{arg_Wd, arg_Sn, arg_immediate_fbits_min_1_max_32_sub_64_scale}, nil},
+ // FCVTZU <Xd>, <Sn>, #<fbits>
+ {0xffff0000, 0x9e190000, FCVTZU, instArgs{arg_Xd, arg_Sn, arg_immediate_fbits_min_1_max_64_sub_64_scale}, nil},
+ // FCVTZU <Wd>, <Dn>, #<fbits>
+ {0xffff0000, 0x1e590000, FCVTZU, instArgs{arg_Wd, arg_Dn, arg_immediate_fbits_min_1_max_32_sub_64_scale}, nil},
+ // FCVTZU <Xd>, <Dn>, #<fbits>
+ {0xffff0000, 0x9e590000, FCVTZU, instArgs{arg_Xd, arg_Dn, arg_immediate_fbits_min_1_max_64_sub_64_scale}, nil},
+ // FCVTZU <Wd>, <Sn>
+ {0xfffffc00, 0x1e390000, FCVTZU, instArgs{arg_Wd, arg_Sn}, nil},
+ // FCVTZU <Xd>, <Sn>
+ {0xfffffc00, 0x9e390000, FCVTZU, instArgs{arg_Xd, arg_Sn}, nil},
+ // FCVTZU <Wd>, <Dn>
+ {0xfffffc00, 0x1e790000, FCVTZU, instArgs{arg_Wd, arg_Dn}, nil},
+ // FCVTZU <Xd>, <Dn>
+ {0xfffffc00, 0x9e790000, FCVTZU, instArgs{arg_Xd, arg_Dn}, nil},
+ // FCVTZU <V><d>, <V><n>, #<fbits>
+ {0xff80fc00, 0x7f00fc00, FCVTZU, instArgs{arg_Vd_19_4__S_4__D_8, arg_Vn_19_4__S_4__D_8, arg_immediate_fbits_min_1_max_0_sub_0_immh_immb__64UIntimmhimmb_4__128UIntimmhimmb_8}, fcvtzu_asisdshf_c_cond},
+ // FCVTZU <Vd>.<t>, <Vn>.<t>, #<fbits>
+ {0xbf80fc00, 0x2f00fc00, FCVTZU, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__2S_40__4S_41__2D_81, arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__2S_40__4S_41__2D_81, arg_immediate_fbits_min_1_max_0_sub_0_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__64UIntimmhimmb_4__128UIntimmhimmb_8}, fcvtzu_asimdshf_c_cond},
+ // FCVTZU <V><d>, <V><n>
+ {0xffbffc00, 0x7ea1b800, FCVTZU, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1}, nil},
+ // FCVTZU <Vd>.<t>, <Vn>.<t>
+ {0xbfbffc00, 0x2ea1b800, FCVTZU, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FDIV <Sd>, <Sn>, <Sm>
+ {0xffe0fc00, 0x1e201800, FDIV, instArgs{arg_Sd, arg_Sn, arg_Sm}, nil},
+ // FDIV <Dd>, <Dn>, <Dm>
+ {0xffe0fc00, 0x1e601800, FDIV, instArgs{arg_Dd, arg_Dn, arg_Dm}, nil},
+ // FDIV <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfa0fc00, 0x2e20fc00, FDIV, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vm_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FMADD <Sd>, <Sn>, <Sm>, <Sa>
+ {0xffe08000, 0x1f000000, FMADD, instArgs{arg_Sd, arg_Sn, arg_Sm, arg_Sa}, nil},
+ // FMADD <Dd>, <Dn>, <Dm>, <Da>
+ {0xffe08000, 0x1f400000, FMADD, instArgs{arg_Dd, arg_Dn, arg_Dm, arg_Da}, nil},
+ // FMAX <Sd>, <Sn>, <Sm>
+ {0xffe0fc00, 0x1e204800, FMAX, instArgs{arg_Sd, arg_Sn, arg_Sm}, nil},
+ // FMAX <Dd>, <Dn>, <Dm>
+ {0xffe0fc00, 0x1e604800, FMAX, instArgs{arg_Dd, arg_Dn, arg_Dm}, nil},
+ // FMAX <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfa0fc00, 0x0e20f400, FMAX, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vm_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FMAXNM <Sd>, <Sn>, <Sm>
+ {0xffe0fc00, 0x1e206800, FMAXNM, instArgs{arg_Sd, arg_Sn, arg_Sm}, nil},
+ // FMAXNM <Dd>, <Dn>, <Dm>
+ {0xffe0fc00, 0x1e606800, FMAXNM, instArgs{arg_Dd, arg_Dn, arg_Dm}, nil},
+ // FMAXNM <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfa0fc00, 0x0e20c400, FMAXNM, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vm_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FMAXNMP <V><d>, <Vn>.<t>
+ {0xffbffc00, 0x7e30c800, FMAXNMP, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_arrangement_sz___2S_0__2D_1}, nil},
+ // FMAXNMP <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfa0fc00, 0x2e20c400, FMAXNMP, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vm_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FMAXNMV <V><d>, <Vn>.<t>
+ {0xbfbffc00, 0x2e30c800, FMAXNMV, instArgs{arg_Vd_22_1__S_0, arg_Vn_arrangement_Q_sz___4S_10}, nil},
+ // FMAXP <V><d>, <Vn>.<t>
+ {0xffbffc00, 0x7e30f800, FMAXP, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_arrangement_sz___2S_0__2D_1}, nil},
+ // FMAXP <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfa0fc00, 0x2e20f400, FMAXP, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vm_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FMAXV <V><d>, <Vn>.<t>
+ {0xbfbffc00, 0x2e30f800, FMAXV, instArgs{arg_Vd_22_1__S_0, arg_Vn_arrangement_Q_sz___4S_10}, nil},
+ // FMIN <Sd>, <Sn>, <Sm>
+ {0xffe0fc00, 0x1e205800, FMIN, instArgs{arg_Sd, arg_Sn, arg_Sm}, nil},
+ // FMIN <Dd>, <Dn>, <Dm>
+ {0xffe0fc00, 0x1e605800, FMIN, instArgs{arg_Dd, arg_Dn, arg_Dm}, nil},
+ // FMIN <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfa0fc00, 0x0ea0f400, FMIN, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vm_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FMINNM <Sd>, <Sn>, <Sm>
+ {0xffe0fc00, 0x1e207800, FMINNM, instArgs{arg_Sd, arg_Sn, arg_Sm}, nil},
+ // FMINNM <Dd>, <Dn>, <Dm>
+ {0xffe0fc00, 0x1e607800, FMINNM, instArgs{arg_Dd, arg_Dn, arg_Dm}, nil},
+ // FMINNM <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfa0fc00, 0x0ea0c400, FMINNM, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vm_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FMINNMP <V><d>, <Vn>.<t>
+ {0xffbffc00, 0x7eb0c800, FMINNMP, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_arrangement_sz___2S_0__2D_1}, nil},
+ // FMINNMP <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfa0fc00, 0x2ea0c400, FMINNMP, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vm_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FMINNMV <V><d>, <Vn>.<t>
+ {0xbfbffc00, 0x2eb0c800, FMINNMV, instArgs{arg_Vd_22_1__S_0, arg_Vn_arrangement_Q_sz___4S_10}, nil},
+ // FMINP <V><d>, <Vn>.<t>
+ {0xffbffc00, 0x7eb0f800, FMINP, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_arrangement_sz___2S_0__2D_1}, nil},
+ // FMINP <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfa0fc00, 0x2ea0f400, FMINP, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vm_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FMINV <V><d>, <Vn>.<t>
+ {0xbfbffc00, 0x2eb0f800, FMINV, instArgs{arg_Vd_22_1__S_0, arg_Vn_arrangement_Q_sz___4S_10}, nil},
+ // FMLA <V><d>, <V><n>, <Vm>.<ts_1>[<index_1>]
+ {0xff80f400, 0x5f801000, FMLA, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1, arg_Vm_arrangement_sz___S_0__D_1_index__sz_L_H__HL_00__H_10_1}, nil},
+ // FMLA <Vd>.<t>, <Vn>.<t>, <Vm>.<ts>[<index>]
+ {0xbf80f400, 0x0f801000, FMLA, instArgs{arg_Vd_arrangement_Q_sz___2S_00__4S_10__2D_11, arg_Vn_arrangement_Q_sz___2S_00__4S_10__2D_11, arg_Vm_arrangement_sz___S_0__D_1_index__sz_L_H__HL_00__H_10_1}, nil},
+ // FMLA <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfa0fc00, 0x0e20cc00, FMLA, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vm_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FMLS <V><d>, <V><n>, <Vm>.<ts_1>[<index_1>]
+ {0xff80f400, 0x5f805000, FMLS, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1, arg_Vm_arrangement_sz___S_0__D_1_index__sz_L_H__HL_00__H_10_1}, nil},
+ // FMLS <Vd>.<t>, <Vn>.<t>, <Vm>.<ts>[<index>]
+ {0xbf80f400, 0x0f805000, FMLS, instArgs{arg_Vd_arrangement_Q_sz___2S_00__4S_10__2D_11, arg_Vn_arrangement_Q_sz___2S_00__4S_10__2D_11, arg_Vm_arrangement_sz___S_0__D_1_index__sz_L_H__HL_00__H_10_1}, nil},
+ // FMLS <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfa0fc00, 0x0ea0cc00, FMLS, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vm_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FMOV <Sd>, <Wn>
+ {0xfffffc00, 0x1e270000, FMOV, instArgs{arg_Sd, arg_Wn}, nil},
+ // FMOV <Wd>, <Sn>
+ {0xfffffc00, 0x1e260000, FMOV, instArgs{arg_Wd, arg_Sn}, nil},
+ // FMOV <Dd>, <Xn>
+ {0xfffffc00, 0x9e670000, FMOV, instArgs{arg_Dd, arg_Xn}, nil},
+ // FMOV <Vd>.D[1], <Xn>
+ {0xfffffc00, 0x9eaf0000, FMOV, instArgs{arg_Vd_arrangement_D_index__1, arg_Xn}, nil},
+ // FMOV <Xd>, <Dn>
+ {0xfffffc00, 0x9e660000, FMOV, instArgs{arg_Xd, arg_Dn}, nil},
+ // FMOV <Xd>, <Vn>.D[1]
+ {0xfffffc00, 0x9eae0000, FMOV, instArgs{arg_Xd, arg_Vn_arrangement_D_index__1}, nil},
+ // FMOV <Sd>, <Sn>
+ {0xfffffc00, 0x1e204000, FMOV, instArgs{arg_Sd, arg_Sn}, nil},
+ // FMOV <Dd>, <Dn>
+ {0xfffffc00, 0x1e604000, FMOV, instArgs{arg_Dd, arg_Dn}, nil},
+ // FMOV <Sd>, #<imm>
+ {0xffe01fe0, 0x1e201000, FMOV, instArgs{arg_Sd, arg_immediate_exp_3_pre_4_imm8}, nil},
+ // FMOV <Dd>, #<imm>
+ {0xffe01fe0, 0x1e601000, FMOV, instArgs{arg_Dd, arg_immediate_exp_3_pre_4_imm8}, nil},
+ // FMOV <Vd>.<t>, #<imm>
+ {0xbff8fc00, 0x0f00f400, FMOV, instArgs{arg_Vd_arrangement_Q___2S_0__4S_1, arg_immediate_exp_3_pre_4_a_b_c_d_e_f_g_h}, nil},
+ // FMOV <Vd>.2D, #<imm>
+ {0xfff8fc00, 0x6f00f400, FMOV, instArgs{arg_Vd_arrangement_2D, arg_immediate_exp_3_pre_4_a_b_c_d_e_f_g_h}, nil},
+ // FMSUB <Sd>, <Sn>, <Sm>, <Sa>
+ {0xffe08000, 0x1f008000, FMSUB, instArgs{arg_Sd, arg_Sn, arg_Sm, arg_Sa}, nil},
+ // FMSUB <Dd>, <Dn>, <Dm>, <Da>
+ {0xffe08000, 0x1f408000, FMSUB, instArgs{arg_Dd, arg_Dn, arg_Dm, arg_Da}, nil},
+ // FMUL <V><d>, <V><n>, <Vm>.<ts_1>[<index_1>]
+ {0xff80f400, 0x5f809000, FMUL, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1, arg_Vm_arrangement_sz___S_0__D_1_index__sz_L_H__HL_00__H_10_1}, nil},
+ // FMUL <Vd>.<t>, <Vn>.<t>, <Vm>.<ts>[<index>]
+ {0xbf80f400, 0x0f809000, FMUL, instArgs{arg_Vd_arrangement_Q_sz___2S_00__4S_10__2D_11, arg_Vn_arrangement_Q_sz___2S_00__4S_10__2D_11, arg_Vm_arrangement_sz___S_0__D_1_index__sz_L_H__HL_00__H_10_1}, nil},
+ // FMUL <Sd>, <Sn>, <Sm>
+ {0xffe0fc00, 0x1e200800, FMUL, instArgs{arg_Sd, arg_Sn, arg_Sm}, nil},
+ // FMUL <Dd>, <Dn>, <Dm>
+ {0xffe0fc00, 0x1e600800, FMUL, instArgs{arg_Dd, arg_Dn, arg_Dm}, nil},
+ // FMUL <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfa0fc00, 0x2e20dc00, FMUL, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vm_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FMULX <V><d>, <V><n>, <V><m>
+ {0xffa0fc00, 0x5e20dc00, FMULX, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1, arg_Vm_22_1__S_0__D_1}, nil},
+ // FMULX <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfa0fc00, 0x0e20dc00, FMULX, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vm_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FMULX <V><d>, <V><n>, <Vm>.<ts_1>[<index_1>]
+ {0xff80f400, 0x7f809000, FMULX, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1, arg_Vm_arrangement_sz___S_0__D_1_index__sz_L_H__HL_00__H_10_1}, nil},
+ // FMULX <Vd>.<t>, <Vn>.<t>, <Vm>.<ts>[<index>]
+ {0xbf80f400, 0x2f809000, FMULX, instArgs{arg_Vd_arrangement_Q_sz___2S_00__4S_10__2D_11, arg_Vn_arrangement_Q_sz___2S_00__4S_10__2D_11, arg_Vm_arrangement_sz___S_0__D_1_index__sz_L_H__HL_00__H_10_1}, nil},
+ // FNEG <Sd>, <Sn>
+ {0xfffffc00, 0x1e214000, FNEG, instArgs{arg_Sd, arg_Sn}, nil},
+ // FNEG <Dd>, <Dn>
+ {0xfffffc00, 0x1e614000, FNEG, instArgs{arg_Dd, arg_Dn}, nil},
+ // FNEG <Vd>.<t>, <Vn>.<t>
+ {0xbfbffc00, 0x2ea0f800, FNEG, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FNMADD <Sd>, <Sn>, <Sm>, <Sa>
+ {0xffe08000, 0x1f200000, FNMADD, instArgs{arg_Sd, arg_Sn, arg_Sm, arg_Sa}, nil},
+ // FNMADD <Dd>, <Dn>, <Dm>, <Da>
+ {0xffe08000, 0x1f600000, FNMADD, instArgs{arg_Dd, arg_Dn, arg_Dm, arg_Da}, nil},
+ // FNMSUB <Sd>, <Sn>, <Sm>, <Sa>
+ {0xffe08000, 0x1f208000, FNMSUB, instArgs{arg_Sd, arg_Sn, arg_Sm, arg_Sa}, nil},
+ // FNMSUB <Dd>, <Dn>, <Dm>, <Da>
+ {0xffe08000, 0x1f608000, FNMSUB, instArgs{arg_Dd, arg_Dn, arg_Dm, arg_Da}, nil},
+ // FNMUL <Sd>, <Sn>, <Sm>
+ {0xffe0fc00, 0x1e208800, FNMUL, instArgs{arg_Sd, arg_Sn, arg_Sm}, nil},
+ // FNMUL <Dd>, <Dn>, <Dm>
+ {0xffe0fc00, 0x1e608800, FNMUL, instArgs{arg_Dd, arg_Dn, arg_Dm}, nil},
+ // FRECPE <V><d>, <V><n>
+ {0xffbffc00, 0x5ea1d800, FRECPE, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1}, nil},
+ // FRECPE <Vd>.<t>, <Vn>.<t>
+ {0xbfbffc00, 0x0ea1d800, FRECPE, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FRECPS <V><d>, <V><n>, <V><m>
+ {0xffa0fc00, 0x5e20fc00, FRECPS, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1, arg_Vm_22_1__S_0__D_1}, nil},
+ // FRECPS <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfa0fc00, 0x0e20fc00, FRECPS, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vm_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FRECPX <V><d>, <V><n>
+ {0xffbffc00, 0x5ea1f800, FRECPX, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1}, nil},
+ // FRINTA <Sd>, <Sn>
+ {0xfffffc00, 0x1e264000, FRINTA, instArgs{arg_Sd, arg_Sn}, nil},
+ // FRINTA <Dd>, <Dn>
+ {0xfffffc00, 0x1e664000, FRINTA, instArgs{arg_Dd, arg_Dn}, nil},
+ // FRINTA <Vd>.<t>, <Vn>.<t>
+ {0xbfbffc00, 0x2e218800, FRINTA, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FRINTI <Sd>, <Sn>
+ {0xfffffc00, 0x1e27c000, FRINTI, instArgs{arg_Sd, arg_Sn}, nil},
+ // FRINTI <Dd>, <Dn>
+ {0xfffffc00, 0x1e67c000, FRINTI, instArgs{arg_Dd, arg_Dn}, nil},
+ // FRINTI <Vd>.<t>, <Vn>.<t>
+ {0xbfbffc00, 0x2ea19800, FRINTI, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FRINTM <Sd>, <Sn>
+ {0xfffffc00, 0x1e254000, FRINTM, instArgs{arg_Sd, arg_Sn}, nil},
+ // FRINTM <Dd>, <Dn>
+ {0xfffffc00, 0x1e654000, FRINTM, instArgs{arg_Dd, arg_Dn}, nil},
+ // FRINTM <Vd>.<t>, <Vn>.<t>
+ {0xbfbffc00, 0x0e219800, FRINTM, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FRINTN <Sd>, <Sn>
+ {0xfffffc00, 0x1e244000, FRINTN, instArgs{arg_Sd, arg_Sn}, nil},
+ // FRINTN <Dd>, <Dn>
+ {0xfffffc00, 0x1e644000, FRINTN, instArgs{arg_Dd, arg_Dn}, nil},
+ // FRINTN <Vd>.<t>, <Vn>.<t>
+ {0xbfbffc00, 0x0e218800, FRINTN, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FRINTP <Sd>, <Sn>
+ {0xfffffc00, 0x1e24c000, FRINTP, instArgs{arg_Sd, arg_Sn}, nil},
+ // FRINTP <Dd>, <Dn>
+ {0xfffffc00, 0x1e64c000, FRINTP, instArgs{arg_Dd, arg_Dn}, nil},
+ // FRINTP <Vd>.<t>, <Vn>.<t>
+ {0xbfbffc00, 0x0ea18800, FRINTP, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FRINTX <Sd>, <Sn>
+ {0xfffffc00, 0x1e274000, FRINTX, instArgs{arg_Sd, arg_Sn}, nil},
+ // FRINTX <Dd>, <Dn>
+ {0xfffffc00, 0x1e674000, FRINTX, instArgs{arg_Dd, arg_Dn}, nil},
+ // FRINTX <Vd>.<t>, <Vn>.<t>
+ {0xbfbffc00, 0x2e219800, FRINTX, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FRINTZ <Sd>, <Sn>
+ {0xfffffc00, 0x1e25c000, FRINTZ, instArgs{arg_Sd, arg_Sn}, nil},
+ // FRINTZ <Dd>, <Dn>
+ {0xfffffc00, 0x1e65c000, FRINTZ, instArgs{arg_Dd, arg_Dn}, nil},
+ // FRINTZ <Vd>.<t>, <Vn>.<t>
+ {0xbfbffc00, 0x0ea19800, FRINTZ, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FRSQRTE <V><d>, <V><n>
+ {0xffbffc00, 0x7ea1d800, FRSQRTE, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1}, nil},
+ // FRSQRTE <Vd>.<t>, <Vn>.<t>
+ {0xbfbffc00, 0x2ea1d800, FRSQRTE, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FRSQRTS <V><d>, <V><n>, <V><m>
+ {0xffa0fc00, 0x5ea0fc00, FRSQRTS, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1, arg_Vm_22_1__S_0__D_1}, nil},
+ // FRSQRTS <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfa0fc00, 0x0ea0fc00, FRSQRTS, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vm_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FSQRT <Sd>, <Sn>
+ {0xfffffc00, 0x1e21c000, FSQRT, instArgs{arg_Sd, arg_Sn}, nil},
+ // FSQRT <Dd>, <Dn>
+ {0xfffffc00, 0x1e61c000, FSQRT, instArgs{arg_Dd, arg_Dn}, nil},
+ // FSQRT <Vd>.<t>, <Vn>.<t>
+ {0xbfbffc00, 0x2ea1f800, FSQRT, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // FSUB <Sd>, <Sn>, <Sm>
+ {0xffe0fc00, 0x1e203800, FSUB, instArgs{arg_Sd, arg_Sn, arg_Sm}, nil},
+ // FSUB <Dd>, <Dn>, <Dm>
+ {0xffe0fc00, 0x1e603800, FSUB, instArgs{arg_Dd, arg_Dn, arg_Dm}, nil},
+ // FSUB <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfa0fc00, 0x0ea0d400, FSUB, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vm_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // MOV <Vd>.<ts>[<index1>], <Vn>.<ts>[<index2>]
+ {0xffe08400, 0x6e000400, MOV, instArgs{arg_Vd_arrangement_imm5___B_1__H_2__S_4__D_8_index__imm5__imm5lt41gt_1__imm5lt42gt_2__imm5lt43gt_4__imm5lt4gt_8_1, arg_Vn_arrangement_imm5___B_1__H_2__S_4__D_8_index__imm5_imm4__imm4lt30gt_1__imm4lt31gt_2__imm4lt32gt_4__imm4lt3gt_8_1}, nil},
+ // INS <Vd>.<ts>[<index1>], <Vn>.<ts>[<index2>]
+ {0xffe08400, 0x6e000400, INS, instArgs{arg_Vd_arrangement_imm5___B_1__H_2__S_4__D_8_index__imm5__imm5lt41gt_1__imm5lt42gt_2__imm5lt43gt_4__imm5lt4gt_8_1, arg_Vn_arrangement_imm5___B_1__H_2__S_4__D_8_index__imm5_imm4__imm4lt30gt_1__imm4lt31gt_2__imm4lt32gt_4__imm4lt3gt_8_1}, nil},
+ // MOV <Vd>.<ts>[<index>], <R><n>
+ {0xffe0fc00, 0x4e001c00, MOV, instArgs{arg_Vd_arrangement_imm5___B_1__H_2__S_4__D_8_index__imm5__imm5lt41gt_1__imm5lt42gt_2__imm5lt43gt_4__imm5lt4gt_8_1, arg_Rn_16_5__W_1__W_2__W_4__X_8}, nil},
+ // INS <Vd>.<ts>[<index>], <R><n>
+ {0xffe0fc00, 0x4e001c00, INS, instArgs{arg_Vd_arrangement_imm5___B_1__H_2__S_4__D_8_index__imm5__imm5lt41gt_1__imm5lt42gt_2__imm5lt43gt_4__imm5lt4gt_8_1, arg_Rn_16_5__W_1__W_2__W_4__X_8}, nil},
+ // LD1 <Vt>.<t>, [<Xn|SP>]
+ {0xbffff000, 0x0c407000, LD1, instArgs{arg_Vt_1_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_offset}, nil},
+ // LD1 <Vt>.<t>, [<Xn|SP>]
+ {0xbffff000, 0x0c40a000, LD1, instArgs{arg_Vt_2_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_offset}, nil},
+ // LD1 <Vt>.<t>, [<Xn|SP>]
+ {0xbffff000, 0x0c406000, LD1, instArgs{arg_Vt_3_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_offset}, nil},
+ // LD1 <Vt>.<t>, [<Xn|SP>]
+ {0xbffff000, 0x0c402000, LD1, instArgs{arg_Vt_4_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_offset}, nil},
+ // LD1 <Vt>.<t>, [<Xn|SP>], #<imm>
+ {0xbffff000, 0x0cdf7000, LD1, instArgs{arg_Vt_1_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_post_Q__8_0__16_1}, nil},
+ // LD1 <Vt>.<t>, [<Xn|SP>], #<Xm>
+ {0xbfe0f000, 0x0cc07000, LD1, instArgs{arg_Vt_1_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_post_Xm}, nil},
+ // LD1 <Vt>.<t>, [<Xn|SP>], #<imm_1>
+ {0xbffff000, 0x0cdfa000, LD1, instArgs{arg_Vt_2_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_post_Q__16_0__32_1}, nil},
+ // LD1 <Vt>.<t>, [<Xn|SP>], #<Xm>
+ {0xbfe0f000, 0x0cc0a000, LD1, instArgs{arg_Vt_2_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_post_Xm}, nil},
+ // LD1 <Vt>.<t>, [<Xn|SP>], #<imm_2>
+ {0xbffff000, 0x0cdf6000, LD1, instArgs{arg_Vt_3_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_post_Q__24_0__48_1}, nil},
+ // LD1 <Vt>.<t>, [<Xn|SP>], #<Xm>
+ {0xbfe0f000, 0x0cc06000, LD1, instArgs{arg_Vt_3_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_post_Xm}, nil},
+ // LD1 <Vt>.<t>, [<Xn|SP>], #<imm_3>
+ {0xbffff000, 0x0cdf2000, LD1, instArgs{arg_Vt_4_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_post_Q__32_0__64_1}, nil},
+ // LD1 <Vt>.<t>, [<Xn|SP>], #<Xm>
+ {0xbfe0f000, 0x0cc02000, LD1, instArgs{arg_Vt_4_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_post_Xm}, nil},
+ // LD1 <Vt>.B[<index>], [<Xn|SP>]
+ {0xbfffe000, 0x0d400000, LD1, instArgs{arg_Vt_1_arrangement_B_index__Q_S_size_1, arg_Xns_mem_offset}, nil},
+ // LD1 <Vt>.H[<index_2>], [<Xn|SP>]
+ {0xbfffe400, 0x0d404000, LD1, instArgs{arg_Vt_1_arrangement_H_index__Q_S_size_1, arg_Xns_mem_offset}, nil},
+ // LD1 <Vt>.S[<index_3>], [<Xn|SP>]
+ {0xbfffec00, 0x0d408000, LD1, instArgs{arg_Vt_1_arrangement_S_index__Q_S_1, arg_Xns_mem_offset}, nil},
+ // LD1 <Vt>.D[<index_1>], [<Xn|SP>]
+ {0xbffffc00, 0x0d408400, LD1, instArgs{arg_Vt_1_arrangement_D_index__Q_1, arg_Xns_mem_offset}, nil},
+ // LD1 <Vt>.B[<index>], [<Xn|SP>], #1
+ {0xbfffe000, 0x0ddf0000, LD1, instArgs{arg_Vt_1_arrangement_B_index__Q_S_size_1, arg_Xns_mem_post_fixedimm_1}, nil},
+ // LD1 <Vt>.B[<index>], [<Xn|SP>], #<Xm>
+ {0xbfe0e000, 0x0dc00000, LD1, instArgs{arg_Vt_1_arrangement_B_index__Q_S_size_1, arg_Xns_mem_post_Xm}, nil},
+ // LD1 <Vt>.H[<index_2>], [<Xn|SP>], #2
+ {0xbfffe400, 0x0ddf4000, LD1, instArgs{arg_Vt_1_arrangement_H_index__Q_S_size_1, arg_Xns_mem_post_fixedimm_2}, nil},
+ // LD1 <Vt>.H[<index_2>], [<Xn|SP>], #<Xm>
+ {0xbfe0e400, 0x0dc04000, LD1, instArgs{arg_Vt_1_arrangement_H_index__Q_S_size_1, arg_Xns_mem_post_Xm}, nil},
+ // LD1 <Vt>.S[<index_3>], [<Xn|SP>], #4
+ {0xbfffec00, 0x0ddf8000, LD1, instArgs{arg_Vt_1_arrangement_S_index__Q_S_1, arg_Xns_mem_post_fixedimm_4}, nil},
+ // LD1 <Vt>.S[<index_3>], [<Xn|SP>], #<Xm>
+ {0xbfe0ec00, 0x0dc08000, LD1, instArgs{arg_Vt_1_arrangement_S_index__Q_S_1, arg_Xns_mem_post_Xm}, nil},
+ // LD1 <Vt>.D[<index_1>], [<Xn|SP>], #8
+ {0xbffffc00, 0x0ddf8400, LD1, instArgs{arg_Vt_1_arrangement_D_index__Q_1, arg_Xns_mem_post_fixedimm_8}, nil},
+ // LD1 <Vt>.D[<index_1>], [<Xn|SP>], #<Xm>
+ {0xbfe0fc00, 0x0dc08400, LD1, instArgs{arg_Vt_1_arrangement_D_index__Q_1, arg_Xns_mem_post_Xm}, nil},
+ // LD1R <Vt>.<t>, [<Xn|SP>]
+ {0xbffff000, 0x0d40c000, LD1R, instArgs{arg_Vt_1_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_offset}, nil},
+ // LD1R <Vt>.<t>, [<Xn|SP>], #<imm>
+ {0xbffff000, 0x0ddfc000, LD1R, instArgs{arg_Vt_1_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_post_size__1_0__2_1__4_2__8_3}, nil},
+ // LD1R <Vt>.<t>, [<Xn|SP>], #<Xm>
+ {0xbfe0f000, 0x0dc0c000, LD1R, instArgs{arg_Vt_1_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_post_Xm}, nil},
+ // LD2 <Vt>.<t>, [<Xn|SP>]
+ {0xbffff000, 0x0c408000, LD2, instArgs{arg_Vt_2_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Xns_mem_offset}, nil},
+ // LD2 <Vt>.<t>, [<Xn|SP>], #<imm>
+ {0xbffff000, 0x0cdf8000, LD2, instArgs{arg_Vt_2_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Xns_mem_post_Q__16_0__32_1}, nil},
+ // LD2 <Vt>.<t>, [<Xn|SP>], #<Xm>
+ {0xbfe0f000, 0x0cc08000, LD2, instArgs{arg_Vt_2_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Xns_mem_post_Xm}, nil},
+ // LD2 <Vt>.B[<index>], [<Xn|SP>]
+ {0xbfffe000, 0x0d600000, LD2, instArgs{arg_Vt_2_arrangement_B_index__Q_S_size_1, arg_Xns_mem_offset}, nil},
+ // LD2 <Vt>.H[<index_2>], [<Xn|SP>]
+ {0xbfffe400, 0x0d604000, LD2, instArgs{arg_Vt_2_arrangement_H_index__Q_S_size_1, arg_Xns_mem_offset}, nil},
+ // LD2 <Vt>.S[<index_3>], [<Xn|SP>]
+ {0xbfffec00, 0x0d608000, LD2, instArgs{arg_Vt_2_arrangement_S_index__Q_S_1, arg_Xns_mem_offset}, nil},
+ // LD2 <Vt>.D[<index_1>], [<Xn|SP>]
+ {0xbffffc00, 0x0d608400, LD2, instArgs{arg_Vt_2_arrangement_D_index__Q_1, arg_Xns_mem_offset}, nil},
+ // LD2 <Vt>.B[<index>], [<Xn|SP>], #2
+ {0xbfffe000, 0x0dff0000, LD2, instArgs{arg_Vt_2_arrangement_B_index__Q_S_size_1, arg_Xns_mem_post_fixedimm_2}, nil},
+ // LD2 <Vt>.B[<index>], [<Xn|SP>], #<Xm>
+ {0xbfe0e000, 0x0de00000, LD2, instArgs{arg_Vt_2_arrangement_B_index__Q_S_size_1, arg_Xns_mem_post_Xm}, nil},
+ // LD2 <Vt>.H[<index_2>], [<Xn|SP>], #4
+ {0xbfffe400, 0x0dff4000, LD2, instArgs{arg_Vt_2_arrangement_H_index__Q_S_size_1, arg_Xns_mem_post_fixedimm_4}, nil},
+ // LD2 <Vt>.H[<index_2>], [<Xn|SP>], #<Xm>
+ {0xbfe0e400, 0x0de04000, LD2, instArgs{arg_Vt_2_arrangement_H_index__Q_S_size_1, arg_Xns_mem_post_Xm}, nil},
+ // LD2 <Vt>.S[<index_3>], [<Xn|SP>], #8
+ {0xbfffec00, 0x0dff8000, LD2, instArgs{arg_Vt_2_arrangement_S_index__Q_S_1, arg_Xns_mem_post_fixedimm_8}, nil},
+ // LD2 <Vt>.S[<index_3>], [<Xn|SP>], #<Xm>
+ {0xbfe0ec00, 0x0de08000, LD2, instArgs{arg_Vt_2_arrangement_S_index__Q_S_1, arg_Xns_mem_post_Xm}, nil},
+ // LD2 <Vt>.D[<index_1>], [<Xn|SP>], #16
+ {0xbffffc00, 0x0dff8400, LD2, instArgs{arg_Vt_2_arrangement_D_index__Q_1, arg_Xns_mem_post_fixedimm_16}, nil},
+ // LD2 <Vt>.D[<index_1>], [<Xn|SP>], #<Xm>
+ {0xbfe0fc00, 0x0de08400, LD2, instArgs{arg_Vt_2_arrangement_D_index__Q_1, arg_Xns_mem_post_Xm}, nil},
+ // LD2R <Vt>.<t>, [<Xn|SP>]
+ {0xbffff000, 0x0d60c000, LD2R, instArgs{arg_Vt_2_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_offset}, nil},
+ // LD2R <Vt>.<t>, [<Xn|SP>], #<imm>
+ {0xbffff000, 0x0dffc000, LD2R, instArgs{arg_Vt_2_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_post_size__2_0__4_1__8_2__16_3}, nil},
+ // LD2R <Vt>.<t>, [<Xn|SP>], #<Xm>
+ {0xbfe0f000, 0x0de0c000, LD2R, instArgs{arg_Vt_2_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_post_Xm}, nil},
+ // LD3 <Vt>.<t>, [<Xn|SP>]
+ {0xbffff000, 0x0c404000, LD3, instArgs{arg_Vt_3_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Xns_mem_offset}, nil},
+ // LD3 <Vt>.<t>, [<Xn|SP>], #<imm>
+ {0xbffff000, 0x0cdf4000, LD3, instArgs{arg_Vt_3_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Xns_mem_post_Q__24_0__48_1}, nil},
+ // LD3 <Vt>.<t>, [<Xn|SP>], #<Xm>
+ {0xbfe0f000, 0x0cc04000, LD3, instArgs{arg_Vt_3_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Xns_mem_post_Xm}, nil},
+ // LD3 <Vt>.B[<index>], [<Xn|SP>]
+ {0xbfffe000, 0x0d402000, LD3, instArgs{arg_Vt_3_arrangement_B_index__Q_S_size_1, arg_Xns_mem_offset}, nil},
+ // LD3 <Vt>.H[<index_2>], [<Xn|SP>]
+ {0xbfffe400, 0x0d406000, LD3, instArgs{arg_Vt_3_arrangement_H_index__Q_S_size_1, arg_Xns_mem_offset}, nil},
+ // LD3 <Vt>.S[<index_3>], [<Xn|SP>]
+ {0xbfffec00, 0x0d40a000, LD3, instArgs{arg_Vt_3_arrangement_S_index__Q_S_1, arg_Xns_mem_offset}, nil},
+ // LD3 <Vt>.D[<index_1>], [<Xn|SP>]
+ {0xbffffc00, 0x0d40a400, LD3, instArgs{arg_Vt_3_arrangement_D_index__Q_1, arg_Xns_mem_offset}, nil},
+ // LD3 <Vt>.B[<index>], [<Xn|SP>], #3
+ {0xbfffe000, 0x0ddf2000, LD3, instArgs{arg_Vt_3_arrangement_B_index__Q_S_size_1, arg_Xns_mem_post_fixedimm_3}, nil},
+ // LD3 <Vt>.B[<index>], [<Xn|SP>], #<Xm>
+ {0xbfe0e000, 0x0dc02000, LD3, instArgs{arg_Vt_3_arrangement_B_index__Q_S_size_1, arg_Xns_mem_post_Xm}, nil},
+ // LD3 <Vt>.H[<index_2>], [<Xn|SP>], #6
+ {0xbfffe400, 0x0ddf6000, LD3, instArgs{arg_Vt_3_arrangement_H_index__Q_S_size_1, arg_Xns_mem_post_fixedimm_6}, nil},
+ // LD3 <Vt>.H[<index_2>], [<Xn|SP>], #<Xm>
+ {0xbfe0e400, 0x0dc06000, LD3, instArgs{arg_Vt_3_arrangement_H_index__Q_S_size_1, arg_Xns_mem_post_Xm}, nil},
+ // LD3 <Vt>.S[<index_3>], [<Xn|SP>], #12
+ {0xbfffec00, 0x0ddfa000, LD3, instArgs{arg_Vt_3_arrangement_S_index__Q_S_1, arg_Xns_mem_post_fixedimm_12}, nil},
+ // LD3 <Vt>.S[<index_3>], [<Xn|SP>], #<Xm>
+ {0xbfe0ec00, 0x0dc0a000, LD3, instArgs{arg_Vt_3_arrangement_S_index__Q_S_1, arg_Xns_mem_post_Xm}, nil},
+ // LD3 <Vt>.D[<index_1>], [<Xn|SP>], #24
+ {0xbffffc00, 0x0ddfa400, LD3, instArgs{arg_Vt_3_arrangement_D_index__Q_1, arg_Xns_mem_post_fixedimm_24}, nil},
+ // LD3 <Vt>.D[<index_1>], [<Xn|SP>], #<Xm>
+ {0xbfe0fc00, 0x0dc0a400, LD3, instArgs{arg_Vt_3_arrangement_D_index__Q_1, arg_Xns_mem_post_Xm}, nil},
+ // LD3R <Vt>.<t>, [<Xn|SP>]
+ {0xbffff000, 0x0d40e000, LD3R, instArgs{arg_Vt_3_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_offset}, nil},
+ // LD3R <Vt>.<t>, [<Xn|SP>], #<imm>
+ {0xbffff000, 0x0ddfe000, LD3R, instArgs{arg_Vt_3_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_post_size__3_0__6_1__12_2__24_3}, nil},
+ // LD3R <Vt>.<t>, [<Xn|SP>], #<Xm>
+ {0xbfe0f000, 0x0dc0e000, LD3R, instArgs{arg_Vt_3_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_post_Xm}, nil},
+ // LD4 <Vt>.<t>, [<Xn|SP>]
+ {0xbffff000, 0x0c400000, LD4, instArgs{arg_Vt_4_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Xns_mem_offset}, nil},
+ // LD4 <Vt>.<t>, [<Xn|SP>], #<imm>
+ {0xbffff000, 0x0cdf0000, LD4, instArgs{arg_Vt_4_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Xns_mem_post_Q__32_0__64_1}, nil},
+ // LD4 <Vt>.<t>, [<Xn|SP>], #<Xm>
+ {0xbfe0f000, 0x0cc00000, LD4, instArgs{arg_Vt_4_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Xns_mem_post_Xm}, nil},
+ // LD4 <Vt>.B[<index>], [<Xn|SP>]
+ {0xbfffe000, 0x0d602000, LD4, instArgs{arg_Vt_4_arrangement_B_index__Q_S_size_1, arg_Xns_mem_offset}, nil},
+ // LD4 <Vt>.H[<index_2>], [<Xn|SP>]
+ {0xbfffe400, 0x0d606000, LD4, instArgs{arg_Vt_4_arrangement_H_index__Q_S_size_1, arg_Xns_mem_offset}, nil},
+ // LD4 <Vt>.S[<index_3>], [<Xn|SP>]
+ {0xbfffec00, 0x0d60a000, LD4, instArgs{arg_Vt_4_arrangement_S_index__Q_S_1, arg_Xns_mem_offset}, nil},
+ // LD4 <Vt>.D[<index_1>], [<Xn|SP>]
+ {0xbffffc00, 0x0d60a400, LD4, instArgs{arg_Vt_4_arrangement_D_index__Q_1, arg_Xns_mem_offset}, nil},
+ // LD4 <Vt>.B[<index>], [<Xn|SP>], #4
+ {0xbfffe000, 0x0dff2000, LD4, instArgs{arg_Vt_4_arrangement_B_index__Q_S_size_1, arg_Xns_mem_post_fixedimm_4}, nil},
+ // LD4 <Vt>.B[<index>], [<Xn|SP>], #<Xm>
+ {0xbfe0e000, 0x0de02000, LD4, instArgs{arg_Vt_4_arrangement_B_index__Q_S_size_1, arg_Xns_mem_post_Xm}, nil},
+ // LD4 <Vt>.H[<index_2>], [<Xn|SP>], #8
+ {0xbfffe400, 0x0dff6000, LD4, instArgs{arg_Vt_4_arrangement_H_index__Q_S_size_1, arg_Xns_mem_post_fixedimm_8}, nil},
+ // LD4 <Vt>.H[<index_2>], [<Xn|SP>], #<Xm>
+ {0xbfe0e400, 0x0de06000, LD4, instArgs{arg_Vt_4_arrangement_H_index__Q_S_size_1, arg_Xns_mem_post_Xm}, nil},
+ // LD4 <Vt>.S[<index_3>], [<Xn|SP>], #16
+ {0xbfffec00, 0x0dffa000, LD4, instArgs{arg_Vt_4_arrangement_S_index__Q_S_1, arg_Xns_mem_post_fixedimm_16}, nil},
+ // LD4 <Vt>.S[<index_3>], [<Xn|SP>], #<Xm>
+ {0xbfe0ec00, 0x0de0a000, LD4, instArgs{arg_Vt_4_arrangement_S_index__Q_S_1, arg_Xns_mem_post_Xm}, nil},
+ // LD4 <Vt>.D[<index_1>], [<Xn|SP>], #32
+ {0xbffffc00, 0x0dffa400, LD4, instArgs{arg_Vt_4_arrangement_D_index__Q_1, arg_Xns_mem_post_fixedimm_32}, nil},
+ // LD4 <Vt>.D[<index_1>], [<Xn|SP>], #<Xm>
+ {0xbfe0fc00, 0x0de0a400, LD4, instArgs{arg_Vt_4_arrangement_D_index__Q_1, arg_Xns_mem_post_Xm}, nil},
+ // LD4R <Vt>.<t>, [<Xn|SP>]
+ {0xbffff000, 0x0d60e000, LD4R, instArgs{arg_Vt_4_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_offset}, nil},
+ // LD4R <Vt>.<t>, [<Xn|SP>], #<imm>
+ {0xbffff000, 0x0dffe000, LD4R, instArgs{arg_Vt_4_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_post_size__4_0__8_1__16_2__32_3}, nil},
+ // LD4R <Vt>.<t>, [<Xn|SP>], #<Xm>
+ {0xbfe0f000, 0x0de0e000, LD4R, instArgs{arg_Vt_4_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_post_Xm}, nil},
+ // LDNP <St>, <St2>, [<Xn|SP>{, #<imm_2>}]
+ {0xffc00000, 0x2c400000, LDNP, instArgs{arg_St, arg_St2, arg_Xns_mem_optional_imm7_4_signed}, nil},
+ // LDNP <Dt>, <Dt2>, [<Xn|SP>{, #<imm>}]
+ {0xffc00000, 0x6c400000, LDNP, instArgs{arg_Dt, arg_Dt2, arg_Xns_mem_optional_imm7_8_signed}, nil},
+ // LDNP <Qt>, <Qt2>, [<Xn|SP>{, #<imm_1>}]
+ {0xffc00000, 0xac400000, LDNP, instArgs{arg_Qt, arg_Qt2, arg_Xns_mem_optional_imm7_16_signed}, nil},
+ // LDP <St>, <St2>, [<Xn|SP>], #<imm_5>
+ {0xffc00000, 0x2cc00000, LDP, instArgs{arg_St, arg_St2, arg_Xns_mem_post_imm7_4_signed}, nil},
+ // LDP <Dt>, <Dt2>, [<Xn|SP>], #<imm_1>
+ {0xffc00000, 0x6cc00000, LDP, instArgs{arg_Dt, arg_Dt2, arg_Xns_mem_post_imm7_8_signed}, nil},
+ // LDP <Qt>, <Qt2>, [<Xn|SP>], #<imm_3>
+ {0xffc00000, 0xacc00000, LDP, instArgs{arg_Qt, arg_Qt2, arg_Xns_mem_post_imm7_16_signed}, nil},
+ // LDP <St>, <St2>, [<Xn|SP>{, #<imm_5>}]!
+ {0xffc00000, 0x2dc00000, LDP, instArgs{arg_St, arg_St2, arg_Xns_mem_wb_imm7_4_signed}, nil},
+ // LDP <Dt>, <Dt2>, [<Xn|SP>{, #<imm_1>}]!
+ {0xffc00000, 0x6dc00000, LDP, instArgs{arg_Dt, arg_Dt2, arg_Xns_mem_wb_imm7_8_signed}, nil},
+ // LDP <Qt>, <Qt2>, [<Xn|SP>{, #<imm_3>}]!
+ {0xffc00000, 0xadc00000, LDP, instArgs{arg_Qt, arg_Qt2, arg_Xns_mem_wb_imm7_16_signed}, nil},
+ // LDP <St>, <St2>, [<Xn|SP>{, #<imm_4>}]
+ {0xffc00000, 0x2d400000, LDP, instArgs{arg_St, arg_St2, arg_Xns_mem_optional_imm7_4_signed}, nil},
+ // LDP <Dt>, <Dt2>, [<Xn|SP>{, #<imm>}]
+ {0xffc00000, 0x6d400000, LDP, instArgs{arg_Dt, arg_Dt2, arg_Xns_mem_optional_imm7_8_signed}, nil},
+ // LDP <Qt>, <Qt2>, [<Xn|SP>{, #<imm_2>}]
+ {0xffc00000, 0xad400000, LDP, instArgs{arg_Qt, arg_Qt2, arg_Xns_mem_optional_imm7_16_signed}, nil},
+ // LDR <Bt>, [<Xn|SP>], #<simm>
+ {0xffe00c00, 0x3c400400, LDR, instArgs{arg_Bt, arg_Xns_mem_post_imm9_1_signed}, nil},
+ // LDR <Ht>, [<Xn|SP>], #<simm>
+ {0xffe00c00, 0x7c400400, LDR, instArgs{arg_Ht, arg_Xns_mem_post_imm9_1_signed}, nil},
+ // LDR <St>, [<Xn|SP>], #<simm>
+ {0xffe00c00, 0xbc400400, LDR, instArgs{arg_St, arg_Xns_mem_post_imm9_1_signed}, nil},
+ // LDR <Dt>, [<Xn|SP>], #<simm>
+ {0xffe00c00, 0xfc400400, LDR, instArgs{arg_Dt, arg_Xns_mem_post_imm9_1_signed}, nil},
+ // LDR <Qt>, [<Xn|SP>], #<simm>
+ {0xffe00c00, 0x3cc00400, LDR, instArgs{arg_Qt, arg_Xns_mem_post_imm9_1_signed}, nil},
+ // LDR <Bt>, [<Xn|SP>{, #<simm>}]!
+ {0xffe00c00, 0x3c400c00, LDR, instArgs{arg_Bt, arg_Xns_mem_wb_imm9_1_signed}, nil},
+ // LDR <Ht>, [<Xn|SP>{, #<simm>}]!
+ {0xffe00c00, 0x7c400c00, LDR, instArgs{arg_Ht, arg_Xns_mem_wb_imm9_1_signed}, nil},
+ // LDR <St>, [<Xn|SP>{, #<simm>}]!
+ {0xffe00c00, 0xbc400c00, LDR, instArgs{arg_St, arg_Xns_mem_wb_imm9_1_signed}, nil},
+ // LDR <Dt>, [<Xn|SP>{, #<simm>}]!
+ {0xffe00c00, 0xfc400c00, LDR, instArgs{arg_Dt, arg_Xns_mem_wb_imm9_1_signed}, nil},
+ // LDR <Qt>, [<Xn|SP>{, #<simm>}]!
+ {0xffe00c00, 0x3cc00c00, LDR, instArgs{arg_Qt, arg_Xns_mem_wb_imm9_1_signed}, nil},
+ // LDR <Bt>, [<Xn|SP>{, #<pimm>}]
+ {0xffc00000, 0x3d400000, LDR, instArgs{arg_Bt, arg_Xns_mem_optional_imm12_1_unsigned}, nil},
+ // LDR <Ht>, [<Xn|SP>{, #<pimm_2>}]
+ {0xffc00000, 0x7d400000, LDR, instArgs{arg_Ht, arg_Xns_mem_optional_imm12_2_unsigned}, nil},
+ // LDR <St>, [<Xn|SP>{, #<pimm_4>}]
+ {0xffc00000, 0xbd400000, LDR, instArgs{arg_St, arg_Xns_mem_optional_imm12_4_unsigned}, nil},
+ // LDR <Dt>, [<Xn|SP>{, #<pimm_1>}]
+ {0xffc00000, 0xfd400000, LDR, instArgs{arg_Dt, arg_Xns_mem_optional_imm12_8_unsigned}, nil},
+ // LDR <Qt>, [<Xn|SP>{, #<pimm_3>}]
+ {0xffc00000, 0x3dc00000, LDR, instArgs{arg_Qt, arg_Xns_mem_optional_imm12_16_unsigned}, nil},
+ // LDR <St>, <label>
+ {0xff000000, 0x1c000000, LDR, instArgs{arg_St, arg_slabel_imm19_2}, nil},
+ // LDR <Dt>, <label>
+ {0xff000000, 0x5c000000, LDR, instArgs{arg_Dt, arg_slabel_imm19_2}, nil},
+ // LDR <Qt>, <label>
+ {0xff000000, 0x9c000000, LDR, instArgs{arg_Qt, arg_slabel_imm19_2}, nil},
+ // LDR <Bt>, [<Xn|SP>, (<Wm>|<Xm>) {, <extend> {<amount>}}]
+ {0xffe00c00, 0x3c600800, LDR, instArgs{arg_Bt, arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__absent_0__0_1}, nil},
+ // LDR <Ht>, [<Xn|SP>, (<Wm>|<Xm>) {, <extend> {<amount>}}]
+ {0xffe00c00, 0x7c600800, LDR, instArgs{arg_Ht, arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__1_1}, nil},
+ // LDR <St>, [<Xn|SP>, (<Wm>|<Xm>) {, <extend> {<amount>}}]
+ {0xffe00c00, 0xbc600800, LDR, instArgs{arg_St, arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__2_1}, nil},
+ // LDR <Dt>, [<Xn|SP>, (<Wm>|<Xm>) {, <extend> {<amount>}}]
+ {0xffe00c00, 0xfc600800, LDR, instArgs{arg_Dt, arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__3_1}, nil},
+ // LDR <Qt>, [<Xn|SP>, (<Wm>|<Xm>) {, <extend> {<amount>}}]
+ {0xffe00c00, 0x3ce00800, LDR, instArgs{arg_Qt, arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__4_1}, nil},
+ // LDUR <Bt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0x3c400000, LDUR, instArgs{arg_Bt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // LDUR <Ht>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0x7c400000, LDUR, instArgs{arg_Ht, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // LDUR <St>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0xbc400000, LDUR, instArgs{arg_St, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // LDUR <Dt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0xfc400000, LDUR, instArgs{arg_Dt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // LDUR <Qt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0x3cc00000, LDUR, instArgs{arg_Qt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // MLA <Vd>.<t>, <Vn>.<t>, <Vm>.<ts>[<index>]
+ {0xbf00f400, 0x2f000000, MLA, instArgs{arg_Vd_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // MLA <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e209400, MLA, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // MLS <Vd>.<t>, <Vn>.<t>, <Vm>.<ts>[<index>]
+ {0xbf00f400, 0x2f004000, MLS, instArgs{arg_Vd_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // MLS <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x2e209400, MLS, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // MOV <Wd>, <Vn>.S[<index>]
+ {0xffe0fc00, 0x0e003c00, MOV, instArgs{arg_Wd, arg_Vn_arrangement_S_index__imm5__imm5lt41gt_1__imm5lt42gt_2__imm5lt43gt_4_1}, mov_umov_asimdins_w_w_cond},
+ // UMOV <Wd>, <Vn>.<ts>[<index>]
+ {0xffe0fc00, 0x0e003c00, UMOV, instArgs{arg_Wd, arg_Vn_arrangement_imm5___B_1__H_2__S_4_index__imm5__imm5lt41gt_1__imm5lt42gt_2__imm5lt43gt_4_1}, nil},
+ // MOV <Xd>, <Vn>.D[<index_1>]
+ {0xffe0fc00, 0x4e003c00, MOV, instArgs{arg_Xd, arg_Vn_arrangement_D_index__imm5_1}, mov_umov_asimdins_x_x_cond},
+ // UMOV <Xd>, <Vn>.<ts_1>[<index_1>]
+ {0xffe0fc00, 0x4e003c00, UMOV, instArgs{arg_Xd, arg_Vn_arrangement_imm5___D_8_index__imm5_1}, nil},
+ // MOV <Vd>.<t>, <Vn>.<t>
+ {0xbfe0fc00, 0x0ea01c00, MOV, instArgs{arg_Vd_arrangement_Q___8B_0__16B_1, arg_Vn_arrangement_Q___8B_0__16B_1}, mov_orr_asimdsame_only_cond},
+ // ORR <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfe0fc00, 0x0ea01c00, ORR, instArgs{arg_Vd_arrangement_Q___8B_0__16B_1, arg_Vn_arrangement_Q___8B_0__16B_1, arg_Vm_arrangement_Q___8B_0__16B_1}, nil},
+ // MOVI <Vd>.<t_2>, #<imm8>{, LSL #0}
+ {0xbff8fc00, 0x0f00e400, MOVI, instArgs{arg_Vd_arrangement_Q___8B_0__16B_1, arg_immediate_OptLSLZero__a_b_c_d_e_f_g_h}, nil},
+ // MOVI <Vd>.<t>, #<imm8>{, LSL #<amount>}
+ {0xbff8dc00, 0x0f008400, MOVI, instArgs{arg_Vd_arrangement_Q___4H_0__8H_1, arg_immediate_OptLSL__a_b_c_d_e_f_g_h_cmode__0_0__8_1}, nil},
+ // MOVI <Vd>.<t_1>, #<imm8>{, LSL #<amount>}
+ {0xbff89c00, 0x0f000400, MOVI, instArgs{arg_Vd_arrangement_Q___2S_0__4S_1, arg_immediate_OptLSL__a_b_c_d_e_f_g_h_cmode__0_0__8_1__16_2__24_3}, nil},
+ // MOVI <Vd>.<t_1>, #<imm8>, MSL #<amount>
+ {0xbff8ec00, 0x0f00c400, MOVI, instArgs{arg_Vd_arrangement_Q___2S_0__4S_1, arg_immediate_MSL__a_b_c_d_e_f_g_h_cmode__8_0__16_1}, nil},
+ // MOVI <Dd>, #<imm>
+ {0xfff8fc00, 0x2f00e400, MOVI, instArgs{arg_Dd, arg_immediate_8x8_a_b_c_d_e_f_g_h}, nil},
+ // MOVI <Vd>.2D, #<imm>
+ {0xfff8fc00, 0x6f00e400, MOVI, instArgs{arg_Vd_arrangement_2D, arg_immediate_8x8_a_b_c_d_e_f_g_h}, nil},
+ // MUL <Vd>.<t>, <Vn>.<t>, <Vm>.<ts>[<index>]
+ {0xbf00f400, 0x0f008000, MUL, instArgs{arg_Vd_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // MUL <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e209c00, MUL, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // MVN <Vd>.<t>, <Vn>.<t>
+ {0xbffffc00, 0x2e205800, MVN, instArgs{arg_Vd_arrangement_Q___8B_0__16B_1, arg_Vn_arrangement_Q___8B_0__16B_1}, nil},
+ // NOT <Vd>.<t>, <Vn>.<t>
+ {0xbffffc00, 0x2e205800, NOT, instArgs{arg_Vd_arrangement_Q___8B_0__16B_1, arg_Vn_arrangement_Q___8B_0__16B_1}, nil},
+ // MVNI <Vd>.<t>, #<imm8>{, LSL #<amount>}
+ {0xbff8dc00, 0x2f008400, MVNI, instArgs{arg_Vd_arrangement_Q___4H_0__8H_1, arg_immediate_OptLSL__a_b_c_d_e_f_g_h_cmode__0_0__8_1}, nil},
+ // MVNI <Vd>.<t_1>, #<imm8>{, LSL #<amount>}
+ {0xbff89c00, 0x2f000400, MVNI, instArgs{arg_Vd_arrangement_Q___2S_0__4S_1, arg_immediate_OptLSL__a_b_c_d_e_f_g_h_cmode__0_0__8_1__16_2__24_3}, nil},
+ // MVNI <Vd>.<t_1>, #<imm8>, MSL #<amount>
+ {0xbff8ec00, 0x2f00c400, MVNI, instArgs{arg_Vd_arrangement_Q___2S_0__4S_1, arg_immediate_MSL__a_b_c_d_e_f_g_h_cmode__8_0__16_1}, nil},
+ // NEG <V><d>, <V><n>
+ {0xff3ffc00, 0x7e20b800, NEG, instArgs{arg_Vd_22_2__D_3, arg_Vn_22_2__D_3}, nil},
+ // NEG <Vd>.<t>, <Vn>.<t>
+ {0xbf3ffc00, 0x2e20b800, NEG, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // ORN <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbfe0fc00, 0x0ee01c00, ORN, instArgs{arg_Vd_arrangement_Q___8B_0__16B_1, arg_Vn_arrangement_Q___8B_0__16B_1, arg_Vm_arrangement_Q___8B_0__16B_1}, nil},
+ // ORR <Vd>.<t>, #<imm8>{, LSL #<amount>}
+ {0xbff8dc00, 0x0f009400, ORR, instArgs{arg_Vd_arrangement_Q___4H_0__8H_1, arg_immediate_OptLSL__a_b_c_d_e_f_g_h_cmode__0_0__8_1}, nil},
+ // ORR <Vd>.<t_1>, #<imm8>{, LSL #<amount>}
+ {0xbff89c00, 0x0f001400, ORR, instArgs{arg_Vd_arrangement_Q___2S_0__4S_1, arg_immediate_OptLSL__a_b_c_d_e_f_g_h_cmode__0_0__8_1__16_2__24_3}, nil},
+ // PMUL <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x2e209c00, PMUL, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01, arg_Vn_arrangement_size_Q___8B_00__16B_01, arg_Vm_arrangement_size_Q___8B_00__16B_01}, nil},
+ // PMULL <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x0e20e000, PMULL, instArgs{arg_Vd_arrangement_size___8H_0__1Q_3, arg_Vn_arrangement_size_Q___8B_00__16B_01__1D_30__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__1D_30__2D_31}, nil},
+ // PMULL2 <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x4e20e000, PMULL2, instArgs{arg_Vd_arrangement_size___8H_0__1Q_3, arg_Vn_arrangement_size_Q___8B_00__16B_01__1D_30__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__1D_30__2D_31}, nil},
+ // RADDHN <Vd>.<tb>, <Vn>.<ta>, <Vm>.<ta>
+ {0xff20fc00, 0x2e204000, RADDHN, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size___8H_0__4S_1__2D_2, arg_Vm_arrangement_size___8H_0__4S_1__2D_2}, nil},
+ // RADDHN2 <Vd>.<tb>, <Vn>.<ta>, <Vm>.<ta>
+ {0xff20fc00, 0x6e204000, RADDHN2, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size___8H_0__4S_1__2D_2, arg_Vm_arrangement_size___8H_0__4S_1__2D_2}, nil},
+ // RBIT <Vd>.<t>, <Vn>.<t>
+ {0xbffffc00, 0x2e605800, RBIT, instArgs{arg_Vd_arrangement_Q___8B_0__16B_1, arg_Vn_arrangement_Q___8B_0__16B_1}, nil},
+ // REV16 <Vd>.<t>, <Vn>.<t>
+ {0xbf3ffc00, 0x0e201800, REV16, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01, arg_Vn_arrangement_size_Q___8B_00__16B_01}, nil},
+ // REV32 <Vd>.<t>, <Vn>.<t>
+ {0xbf3ffc00, 0x2e200800, REV32, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11}, nil},
+ // REV64 <Vd>.<t>, <Vn>.<t>
+ {0xbf3ffc00, 0x0e200800, REV64, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // RSHRN <Vd>.<tb>, <Vn>.<ta>, #<shift>
+ {0xff80fc00, 0x0f008c00, RSHRN, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41, arg_Vn_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4, arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4}, rshrn_asimdshf_n_cond},
+ // RSHRN2 <Vd>.<tb>, <Vn>.<ta>, #<shift>
+ {0xff80fc00, 0x4f008c00, RSHRN2, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41, arg_Vn_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4, arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4}, rshrn_asimdshf_n_cond},
+ // RSUBHN <Vd>.<tb>, <Vn>.<ta>, <Vm>.<ta>
+ {0xff20fc00, 0x2e206000, RSUBHN, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size___8H_0__4S_1__2D_2, arg_Vm_arrangement_size___8H_0__4S_1__2D_2}, nil},
+ // RSUBHN2 <Vd>.<tb>, <Vn>.<ta>, <Vm>.<ta>
+ {0xff20fc00, 0x6e206000, RSUBHN2, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size___8H_0__4S_1__2D_2, arg_Vm_arrangement_size___8H_0__4S_1__2D_2}, nil},
+ // SABA <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e207c00, SABA, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SABAL <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x0e205000, SABAL, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SABAL2 <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x4e205000, SABAL2, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SABD <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e207400, SABD, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SABDL <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x0e207000, SABDL, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SABDL2 <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x4e207000, SABDL2, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SADALP <Vd>.<ta>, <Vn>.<tb>
+ {0xbf3ffc00, 0x0e206800, SADALP, instArgs{arg_Vd_arrangement_size_Q___4H_00__8H_01__2S_10__4S_11__1D_20__2D_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SADDL <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x0e200000, SADDL, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SADDL2 <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x4e200000, SADDL2, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SADDLP <Vd>.<ta>, <Vn>.<tb>
+ {0xbf3ffc00, 0x0e202800, SADDLP, instArgs{arg_Vd_arrangement_size_Q___4H_00__8H_01__2S_10__4S_11__1D_20__2D_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SADDLV <V><d>, <Vn>.<t>
+ {0xbf3ffc00, 0x0e303800, SADDLV, instArgs{arg_Vd_22_2__H_0__S_1__D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__4S_21}, nil},
+ // SADDW <Vd>.<ta>, <Vn>.<ta>, <Vm>.<tb>
+ {0xff20fc00, 0x0e201000, SADDW, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size___8H_0__4S_1__2D_2, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SADDW2 <Vd>.<ta>, <Vn>.<ta>, <Vm>.<tb>
+ {0xff20fc00, 0x4e201000, SADDW2, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size___8H_0__4S_1__2D_2, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SCVTF <Sd>, <Wn>, #<fbits>
+ {0xffff0000, 0x1e020000, SCVTF, instArgs{arg_Sd, arg_Wn, arg_immediate_fbits_min_1_max_32_sub_64_scale}, nil},
+ // SCVTF <Dd>, <Wn>, #<fbits>
+ {0xffff0000, 0x1e420000, SCVTF, instArgs{arg_Dd, arg_Wn, arg_immediate_fbits_min_1_max_32_sub_64_scale}, nil},
+ // SCVTF <Sd>, <Xn>, #<fbits>
+ {0xffff0000, 0x9e020000, SCVTF, instArgs{arg_Sd, arg_Xn, arg_immediate_fbits_min_1_max_64_sub_64_scale}, nil},
+ // SCVTF <Dd>, <Xn>, #<fbits>
+ {0xffff0000, 0x9e420000, SCVTF, instArgs{arg_Dd, arg_Xn, arg_immediate_fbits_min_1_max_64_sub_64_scale}, nil},
+ // SCVTF <Sd>, <Wn>
+ {0xfffffc00, 0x1e220000, SCVTF, instArgs{arg_Sd, arg_Wn}, nil},
+ // SCVTF <Dd>, <Wn>
+ {0xfffffc00, 0x1e620000, SCVTF, instArgs{arg_Dd, arg_Wn}, nil},
+ // SCVTF <Sd>, <Xn>
+ {0xfffffc00, 0x9e220000, SCVTF, instArgs{arg_Sd, arg_Xn}, nil},
+ // SCVTF <Dd>, <Xn>
+ {0xfffffc00, 0x9e620000, SCVTF, instArgs{arg_Dd, arg_Xn}, nil},
+ // SCVTF <V><d>, <V><n>, #<fbits>
+ {0xff80fc00, 0x5f00e400, SCVTF, instArgs{arg_Vd_19_4__S_4__D_8, arg_Vn_19_4__S_4__D_8, arg_immediate_fbits_min_1_max_0_sub_0_immh_immb__64UIntimmhimmb_4__128UIntimmhimmb_8}, scvtf_asisdshf_c_cond},
+ // SCVTF <Vd>.<t>, <Vn>.<t>, #<fbits>
+ {0xbf80fc00, 0x0f00e400, SCVTF, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__2S_40__4S_41__2D_81, arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__2S_40__4S_41__2D_81, arg_immediate_fbits_min_1_max_0_sub_0_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__64UIntimmhimmb_4__128UIntimmhimmb_8}, scvtf_asimdshf_c_cond},
+ // SCVTF <V><d>, <V><n>
+ {0xffbffc00, 0x5e21d800, SCVTF, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1}, nil},
+ // SCVTF <Vd>.<t>, <Vn>.<t>
+ {0xbfbffc00, 0x0e21d800, SCVTF, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // SHA1C <Qd>, <Sn>, <Vm>.4S
+ {0xffe0fc00, 0x5e000000, SHA1C, instArgs{arg_Qd, arg_Sn, arg_Vm_arrangement_4S}, nil},
+ // SHA1H <Sd>, <Sn>
+ {0xfffffc00, 0x5e280800, SHA1H, instArgs{arg_Sd, arg_Sn}, nil},
+ // SHA1M <Qd>, <Sn>, <Vm>.4S
+ {0xffe0fc00, 0x5e002000, SHA1M, instArgs{arg_Qd, arg_Sn, arg_Vm_arrangement_4S}, nil},
+ // SHA1P <Qd>, <Sn>, <Vm>.4S
+ {0xffe0fc00, 0x5e001000, SHA1P, instArgs{arg_Qd, arg_Sn, arg_Vm_arrangement_4S}, nil},
+ // SHA1SU0 <Vd>.4S, <Vn>.4S, <Vm>.4S
+ {0xffe0fc00, 0x5e003000, SHA1SU0, instArgs{arg_Vd_arrangement_4S, arg_Vn_arrangement_4S, arg_Vm_arrangement_4S}, nil},
+ // SHA1SU1 <Vd>.4S, <Vn>.4S
+ {0xfffffc00, 0x5e281800, SHA1SU1, instArgs{arg_Vd_arrangement_4S, arg_Vn_arrangement_4S}, nil},
+ // SHA256H <Qd>, <Qn>, <Vm>.4S
+ {0xffe0fc00, 0x5e004000, SHA256H, instArgs{arg_Qd, arg_Qn, arg_Vm_arrangement_4S}, nil},
+ // SHA256H2 <Qd>, <Qn>, <Vm>.4S
+ {0xffe0fc00, 0x5e005000, SHA256H2, instArgs{arg_Qd, arg_Qn, arg_Vm_arrangement_4S}, nil},
+ // SHA256SU0 <Vd>.4S, <Vn>.4S
+ {0xfffffc00, 0x5e282800, SHA256SU0, instArgs{arg_Vd_arrangement_4S, arg_Vn_arrangement_4S}, nil},
+ // SHA256SU1 <Vd>.4S, <Vn>.4S, <Vm>.4S
+ {0xffe0fc00, 0x5e006000, SHA256SU1, instArgs{arg_Vd_arrangement_4S, arg_Vn_arrangement_4S, arg_Vm_arrangement_4S}, nil},
+ // SHADD <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e200400, SHADD, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SHL <V><d>, <V><n>, #<shift>
+ {0xff80fc00, 0x5f005400, SHL, instArgs{arg_Vd_19_4__D_8, arg_Vn_19_4__D_8, arg_immediate_0_63_immh_immb__UIntimmhimmb64_8}, shl_asisdshf_r_cond},
+ // SHL <Vd>.<t>, <Vn>.<t>, #<shift>
+ {0xbf80fc00, 0x0f005400, SHL, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_immediate_0_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__UIntimmhimmb8_1__UIntimmhimmb16_2__UIntimmhimmb32_4__UIntimmhimmb64_8}, shl_asimdshf_r_cond},
+ // SHLL <Vd>.<ta>, <Vn>.<tb>, #<shift>
+ {0xff3ffc00, 0x2e213800, SHLL, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_immediate_0_width_size__8_0__16_1__32_2}, nil},
+ // SHLL2 <Vd>.<ta>, <Vn>.<tb>, #<shift>
+ {0xff3ffc00, 0x6e213800, SHLL2, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_immediate_0_width_size__8_0__16_1__32_2}, nil},
+ // SHRN <Vd>.<tb>, <Vn>.<ta>, #<shift>
+ {0xff80fc00, 0x0f008400, SHRN, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41, arg_Vn_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4, arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4}, shrn_asimdshf_n_cond},
+ // SHRN2 <Vd>.<tb>, <Vn>.<ta>, #<shift>
+ {0xff80fc00, 0x4f008400, SHRN2, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41, arg_Vn_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4, arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4}, shrn_asimdshf_n_cond},
+ // SHSUB <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e202400, SHSUB, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SLI <V><d>, <V><n>, #<shift>
+ {0xff80fc00, 0x7f005400, SLI, instArgs{arg_Vd_19_4__D_8, arg_Vn_19_4__D_8, arg_immediate_0_63_immh_immb__UIntimmhimmb64_8}, sli_asisdshf_r_cond},
+ // SLI <Vd>.<t>, <Vn>.<t>, #<shift>
+ {0xbf80fc00, 0x2f005400, SLI, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_immediate_0_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__UIntimmhimmb8_1__UIntimmhimmb16_2__UIntimmhimmb32_4__UIntimmhimmb64_8}, sli_asimdshf_r_cond},
+ // SMAX <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e206400, SMAX, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SMAXP <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e20a400, SMAXP, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SMAXV <V><d>, <Vn>.<t>
+ {0xbf3ffc00, 0x0e30a800, SMAXV, instArgs{arg_Vd_22_2__B_0__H_1__S_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__4S_21}, nil},
+ // SMIN <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e206c00, SMIN, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SMINP <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e20ac00, SMINP, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SMINV <V><d>, <Vn>.<t>
+ {0xbf3ffc00, 0x0e31a800, SMINV, instArgs{arg_Vd_22_2__B_0__H_1__S_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__4S_21}, nil},
+ // SMLAL <Vd>.<ta>, <Vn>.<tb>, <Vm>.<ts>[<index>]
+ {0xff00f400, 0x0f002000, SMLAL, instArgs{arg_Vd_arrangement_size___4S_1__2D_2, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // SMLAL2 <Vd>.<ta>, <Vn>.<tb>, <Vm>.<ts>[<index>]
+ {0xff00f400, 0x4f002000, SMLAL2, instArgs{arg_Vd_arrangement_size___4S_1__2D_2, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // SMLAL <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x0e208000, SMLAL, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SMLAL2 <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x4e208000, SMLAL2, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SMLSL <Vd>.<ta>, <Vn>.<tb>, <Vm>.<ts>[<index>]
+ {0xff00f400, 0x0f006000, SMLSL, instArgs{arg_Vd_arrangement_size___4S_1__2D_2, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // SMLSL2 <Vd>.<ta>, <Vn>.<tb>, <Vm>.<ts>[<index>]
+ {0xff00f400, 0x4f006000, SMLSL2, instArgs{arg_Vd_arrangement_size___4S_1__2D_2, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // SMLSL <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x0e20a000, SMLSL, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SMLSL2 <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x4e20a000, SMLSL2, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SMOV <Wd>, <Vn>.<ts>[<index>]
+ {0xffe0fc00, 0x0e002c00, SMOV, instArgs{arg_Wd, arg_Vn_arrangement_imm5___B_1__H_2_index__imm5__imm5lt41gt_1__imm5lt42gt_2_1}, nil},
+ // SMOV <Xd>, <Vn>.<ts_1>[<index_1>]
+ {0xffe0fc00, 0x4e002c00, SMOV, instArgs{arg_Xd, arg_Vn_arrangement_imm5___B_1__H_2__S_4_index__imm5__imm5lt41gt_1__imm5lt42gt_2__imm5lt43gt_4_1}, nil},
+ // SMULL <Vd>.<ta>, <Vn>.<tb>, <Vm>.<ts>[<index>]
+ {0xff00f400, 0x0f00a000, SMULL, instArgs{arg_Vd_arrangement_size___4S_1__2D_2, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // SMULL2 <Vd>.<ta>, <Vn>.<tb>, <Vm>.<ts>[<index>]
+ {0xff00f400, 0x4f00a000, SMULL2, instArgs{arg_Vd_arrangement_size___4S_1__2D_2, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // SMULL <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x0e20c000, SMULL, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SMULL2 <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x4e20c000, SMULL2, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SQABS <V><d>, <V><n>
+ {0xff3ffc00, 0x5e207800, SQABS, instArgs{arg_Vd_22_2__B_0__H_1__S_2__D_3, arg_Vn_22_2__B_0__H_1__S_2__D_3}, nil},
+ // SQABS <Vd>.<t>, <Vn>.<t>
+ {0xbf3ffc00, 0x0e207800, SQABS, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // SQADD <V><d>, <V><n>, <V><m>
+ {0xff20fc00, 0x5e200c00, SQADD, instArgs{arg_Vd_22_2__B_0__H_1__S_2__D_3, arg_Vn_22_2__B_0__H_1__S_2__D_3, arg_Vm_22_2__B_0__H_1__S_2__D_3}, nil},
+ // SQADD <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e200c00, SQADD, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // SQDMLAL <V><d>, <V><n>, <Vm>.<ts_1>[<index_1>]
+ {0xff00f400, 0x5f003000, SQDMLAL, instArgs{arg_Vd_22_2__S_1__D_2, arg_Vn_22_2__H_1__S_2, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // SQDMLAL <Vd>.<ta>, <Vn>.<tb>, <Vm>.<ts>[<index>]
+ {0xff00f400, 0x0f003000, SQDMLAL, instArgs{arg_Vd_arrangement_size___4S_1__2D_2, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // SQDMLAL2 <Vd>.<ta>, <Vn>.<tb>, <Vm>.<ts>[<index>]
+ {0xff00f400, 0x4f003000, SQDMLAL2, instArgs{arg_Vd_arrangement_size___4S_1__2D_2, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // SQDMLAL <V><d>, <V><n>, <V><m>
+ {0xff20fc00, 0x5e209000, SQDMLAL, instArgs{arg_Vd_22_2__S_1__D_2, arg_Vn_22_2__H_1__S_2, arg_Vm_22_2__H_1__S_2}, nil},
+ // SQDMLAL <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x0e209000, SQDMLAL, instArgs{arg_Vd_arrangement_size___4S_1__2D_2, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21}, nil},
+ // SQDMLAL2 <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x4e209000, SQDMLAL2, instArgs{arg_Vd_arrangement_size___4S_1__2D_2, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21}, nil},
+ // SQDMLSL <V><d>, <V><n>, <Vm>.<ts_1>[<index_1>]
+ {0xff00f400, 0x5f007000, SQDMLSL, instArgs{arg_Vd_22_2__S_1__D_2, arg_Vn_22_2__H_1__S_2, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // SQDMLSL <Vd>.<ta>, <Vn>.<tb>, <Vm>.<ts>[<index>]
+ {0xff00f400, 0x0f007000, SQDMLSL, instArgs{arg_Vd_arrangement_size___4S_1__2D_2, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // SQDMLSL2 <Vd>.<ta>, <Vn>.<tb>, <Vm>.<ts>[<index>]
+ {0xff00f400, 0x4f007000, SQDMLSL2, instArgs{arg_Vd_arrangement_size___4S_1__2D_2, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // SQDMLSL <V><d>, <V><n>, <V><m>
+ {0xff20fc00, 0x5e20b000, SQDMLSL, instArgs{arg_Vd_22_2__S_1__D_2, arg_Vn_22_2__H_1__S_2, arg_Vm_22_2__H_1__S_2}, nil},
+ // SQDMLSL <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x0e20b000, SQDMLSL, instArgs{arg_Vd_arrangement_size___4S_1__2D_2, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21}, nil},
+ // SQDMLSL2 <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x4e20b000, SQDMLSL2, instArgs{arg_Vd_arrangement_size___4S_1__2D_2, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21}, nil},
+ // SQDMULH <V><d>, <V><n>, <Vm>.<ts_1>[<index_1>]
+ {0xff00f400, 0x5f00c000, SQDMULH, instArgs{arg_Vd_22_2__H_1__S_2, arg_Vn_22_2__H_1__S_2, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // SQDMULH <Vd>.<t>, <Vn>.<t>, <Vm>.<ts>[<index>]
+ {0xbf00f400, 0x0f00c000, SQDMULH, instArgs{arg_Vd_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // SQDMULH <V><d>, <V><n>, <V><m>
+ {0xff20fc00, 0x5e20b400, SQDMULH, instArgs{arg_Vd_22_2__H_1__S_2, arg_Vn_22_2__H_1__S_2, arg_Vm_22_2__H_1__S_2}, nil},
+ // SQDMULH <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e20b400, SQDMULH, instArgs{arg_Vd_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21}, nil},
+ // SQDMULL <V><d>, <V><n>, <Vm>.<ts_1>[<index_1>]
+ {0xff00f400, 0x5f00b000, SQDMULL, instArgs{arg_Vd_22_2__S_1__D_2, arg_Vn_22_2__H_1__S_2, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // SQDMULL <Vd>.<ta>, <Vn>.<tb>, <Vm>.<ts>[<index>]
+ {0xff00f400, 0x0f00b000, SQDMULL, instArgs{arg_Vd_arrangement_size___4S_1__2D_2, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // SQDMULL2 <Vd>.<ta>, <Vn>.<tb>, <Vm>.<ts>[<index>]
+ {0xff00f400, 0x4f00b000, SQDMULL2, instArgs{arg_Vd_arrangement_size___4S_1__2D_2, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // SQDMULL <V><d>, <V><n>, <V><m>
+ {0xff20fc00, 0x5e20d000, SQDMULL, instArgs{arg_Vd_22_2__S_1__D_2, arg_Vn_22_2__H_1__S_2, arg_Vm_22_2__H_1__S_2}, nil},
+ // SQDMULL <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x0e20d000, SQDMULL, instArgs{arg_Vd_arrangement_size___4S_1__2D_2, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21}, nil},
+ // SQDMULL2 <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x4e20d000, SQDMULL2, instArgs{arg_Vd_arrangement_size___4S_1__2D_2, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21}, nil},
+ // SQNEG <V><d>, <V><n>
+ {0xff3ffc00, 0x7e207800, SQNEG, instArgs{arg_Vd_22_2__B_0__H_1__S_2__D_3, arg_Vn_22_2__B_0__H_1__S_2__D_3}, nil},
+ // SQNEG <Vd>.<t>, <Vn>.<t>
+ {0xbf3ffc00, 0x2e207800, SQNEG, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // SQRDMULH <V><d>, <V><n>, <Vm>.<ts_1>[<index_1>]
+ {0xff00f400, 0x5f00d000, SQRDMULH, instArgs{arg_Vd_22_2__H_1__S_2, arg_Vn_22_2__H_1__S_2, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // SQRDMULH <Vd>.<t>, <Vn>.<t>, <Vm>.<ts>[<index>]
+ {0xbf00f400, 0x0f00d000, SQRDMULH, instArgs{arg_Vd_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // SQRDMULH <V><d>, <V><n>, <V><m>
+ {0xff20fc00, 0x7e20b400, SQRDMULH, instArgs{arg_Vd_22_2__H_1__S_2, arg_Vn_22_2__H_1__S_2, arg_Vm_22_2__H_1__S_2}, nil},
+ // SQRDMULH <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x2e20b400, SQRDMULH, instArgs{arg_Vd_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21}, nil},
+ // SQRSHL <V><d>, <V><n>, <V><m>
+ {0xff20fc00, 0x5e205c00, SQRSHL, instArgs{arg_Vd_22_2__B_0__H_1__S_2__D_3, arg_Vn_22_2__B_0__H_1__S_2__D_3, arg_Vm_22_2__B_0__H_1__S_2__D_3}, nil},
+ // SQRSHL <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e205c00, SQRSHL, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // SQRSHRN <V><d>, <V><n>, #<shift>
+ {0xff80fc00, 0x5f009c00, SQRSHRN, instArgs{arg_Vd_19_4__B_1__H_2__S_4, arg_Vn_19_4__H_1__S_2__D_4, arg_immediate_1_width_immh_immb__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4}, sqrshrn_asisdshf_n_cond},
+ // SQRSHRN <Vd>.<tb>, <Vn>.<ta>, #<shift>
+ {0xff80fc00, 0x0f009c00, SQRSHRN, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41, arg_Vn_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4, arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4}, sqrshrn_asimdshf_n_cond},
+ // SQRSHRN2 <Vd>.<tb>, <Vn>.<ta>, #<shift>
+ {0xff80fc00, 0x4f009c00, SQRSHRN2, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41, arg_Vn_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4, arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4}, sqrshrn_asimdshf_n_cond},
+ // SQRSHRUN <V><d>, <V><n>, #<shift>
+ {0xff80fc00, 0x7f008c00, SQRSHRUN, instArgs{arg_Vd_19_4__B_1__H_2__S_4, arg_Vn_19_4__H_1__S_2__D_4, arg_immediate_1_width_immh_immb__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4}, sqrshrun_asisdshf_n_cond},
+ // SQRSHRUN <Vd>.<tb>, <Vn>.<ta>, #<shift>
+ {0xff80fc00, 0x2f008c00, SQRSHRUN, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41, arg_Vn_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4, arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4}, sqrshrun_asimdshf_n_cond},
+ // SQRSHRUN2 <Vd>.<tb>, <Vn>.<ta>, #<shift>
+ {0xff80fc00, 0x6f008c00, SQRSHRUN2, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41, arg_Vn_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4, arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4}, sqrshrun_asimdshf_n_cond},
+ // SQSHL <V><d>, <V><n>, #<shift>
+ {0xff80fc00, 0x5f007400, SQSHL, instArgs{arg_Vd_19_4__B_1__H_2__S_4__D_8, arg_Vn_19_4__B_1__H_2__S_4__D_8, arg_immediate_0_width_m1_immh_immb__UIntimmhimmb8_1__UIntimmhimmb16_2__UIntimmhimmb32_4__UIntimmhimmb64_8}, sqshl_asisdshf_r_cond},
+ // SQSHL <Vd>.<t>, <Vn>.<t>, #<shift>
+ {0xbf80fc00, 0x0f007400, SQSHL, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_immediate_0_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__UIntimmhimmb8_1__UIntimmhimmb16_2__UIntimmhimmb32_4__UIntimmhimmb64_8}, sqshl_asimdshf_r_cond},
+ // SQSHL <V><d>, <V><n>, <V><m>
+ {0xff20fc00, 0x5e204c00, SQSHL, instArgs{arg_Vd_22_2__B_0__H_1__S_2__D_3, arg_Vn_22_2__B_0__H_1__S_2__D_3, arg_Vm_22_2__B_0__H_1__S_2__D_3}, nil},
+ // SQSHL <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e204c00, SQSHL, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // SQSHLU <V><d>, <V><n>, #<shift>
+ {0xff80fc00, 0x7f006400, SQSHLU, instArgs{arg_Vd_19_4__B_1__H_2__S_4__D_8, arg_Vn_19_4__B_1__H_2__S_4__D_8, arg_immediate_0_width_m1_immh_immb__UIntimmhimmb8_1__UIntimmhimmb16_2__UIntimmhimmb32_4__UIntimmhimmb64_8}, sqshlu_asisdshf_r_cond},
+ // SQSHLU <Vd>.<t>, <Vn>.<t>, #<shift>
+ {0xbf80fc00, 0x2f006400, SQSHLU, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_immediate_0_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__UIntimmhimmb8_1__UIntimmhimmb16_2__UIntimmhimmb32_4__UIntimmhimmb64_8}, sqshlu_asimdshf_r_cond},
+ // SQSHRN <V><d>, <V><n>, #<shift>
+ {0xff80fc00, 0x5f009400, SQSHRN, instArgs{arg_Vd_19_4__B_1__H_2__S_4, arg_Vn_19_4__H_1__S_2__D_4, arg_immediate_1_width_immh_immb__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4}, sqshrn_asisdshf_n_cond},
+ // SQSHRN <Vd>.<tb>, <Vn>.<ta>, #<shift>
+ {0xff80fc00, 0x0f009400, SQSHRN, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41, arg_Vn_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4, arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4}, sqshrn_asimdshf_n_cond},
+ // SQSHRN2 <Vd>.<tb>, <Vn>.<ta>, #<shift>
+ {0xff80fc00, 0x4f009400, SQSHRN2, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41, arg_Vn_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4, arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4}, sqshrn_asimdshf_n_cond},
+ // SQSHRUN <V><d>, <V><n>, #<shift>
+ {0xff80fc00, 0x7f008400, SQSHRUN, instArgs{arg_Vd_19_4__B_1__H_2__S_4, arg_Vn_19_4__H_1__S_2__D_4, arg_immediate_1_width_immh_immb__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4}, sqshrun_asisdshf_n_cond},
+ // SQSHRUN <Vd>.<tb>, <Vn>.<ta>, #<shift>
+ {0xff80fc00, 0x2f008400, SQSHRUN, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41, arg_Vn_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4, arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4}, sqshrun_asimdshf_n_cond},
+ // SQSHRUN2 <Vd>.<tb>, <Vn>.<ta>, #<shift>
+ {0xff80fc00, 0x6f008400, SQSHRUN2, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41, arg_Vn_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4, arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4}, sqshrun_asimdshf_n_cond},
+ // SQSUB <V><d>, <V><n>, <V><m>
+ {0xff20fc00, 0x5e202c00, SQSUB, instArgs{arg_Vd_22_2__B_0__H_1__S_2__D_3, arg_Vn_22_2__B_0__H_1__S_2__D_3, arg_Vm_22_2__B_0__H_1__S_2__D_3}, nil},
+ // SQSUB <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e202c00, SQSUB, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // SQXTN <V><d>, <V><n>
+ {0xff3ffc00, 0x5e214800, SQXTN, instArgs{arg_Vd_22_2__B_0__H_1__S_2, arg_Vn_22_2__H_0__S_1__D_2}, nil},
+ // SQXTN <Vd>.<tb>, <Vn>.<ta>
+ {0xff3ffc00, 0x0e214800, SQXTN, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size___8H_0__4S_1__2D_2}, nil},
+ // SQXTN2 <Vd>.<tb>, <Vn>.<ta>
+ {0xff3ffc00, 0x4e214800, SQXTN2, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size___8H_0__4S_1__2D_2}, nil},
+ // SQXTUN <V><d>, <V><n>
+ {0xff3ffc00, 0x7e212800, SQXTUN, instArgs{arg_Vd_22_2__B_0__H_1__S_2, arg_Vn_22_2__H_0__S_1__D_2}, nil},
+ // SQXTUN <Vd>.<tb>, <Vn>.<ta>
+ {0xff3ffc00, 0x2e212800, SQXTUN, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size___8H_0__4S_1__2D_2}, nil},
+ // SQXTUN2 <Vd>.<tb>, <Vn>.<ta>
+ {0xff3ffc00, 0x6e212800, SQXTUN2, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size___8H_0__4S_1__2D_2}, nil},
+ // SRHADD <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e201400, SRHADD, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SRI <V><d>, <V><n>, #<shift>
+ {0xff80fc00, 0x7f004400, SRI, instArgs{arg_Vd_19_4__D_8, arg_Vn_19_4__D_8, arg_immediate_1_64_immh_immb__128UIntimmhimmb_8}, sri_asisdshf_r_cond},
+ // SRI <Vd>.<t>, <Vn>.<t>, #<shift>
+ {0xbf80fc00, 0x2f004400, SRI, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4__128UIntimmhimmb_8}, sri_asimdshf_r_cond},
+ // SRSHL <V><d>, <V><n>, <V><m>
+ {0xff20fc00, 0x5e205400, SRSHL, instArgs{arg_Vd_22_2__D_3, arg_Vn_22_2__D_3, arg_Vm_22_2__D_3}, nil},
+ // SRSHL <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e205400, SRSHL, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // SRSHR <V><d>, <V><n>, #<shift>
+ {0xff80fc00, 0x5f002400, SRSHR, instArgs{arg_Vd_19_4__D_8, arg_Vn_19_4__D_8, arg_immediate_1_64_immh_immb__128UIntimmhimmb_8}, srshr_asisdshf_r_cond},
+ // SRSHR <Vd>.<t>, <Vn>.<t>, #<shift>
+ {0xbf80fc00, 0x0f002400, SRSHR, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4__128UIntimmhimmb_8}, srshr_asimdshf_r_cond},
+ // SRSRA <V><d>, <V><n>, #<shift>
+ {0xff80fc00, 0x5f003400, SRSRA, instArgs{arg_Vd_19_4__D_8, arg_Vn_19_4__D_8, arg_immediate_1_64_immh_immb__128UIntimmhimmb_8}, srsra_asisdshf_r_cond},
+ // SRSRA <Vd>.<t>, <Vn>.<t>, #<shift>
+ {0xbf80fc00, 0x0f003400, SRSRA, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4__128UIntimmhimmb_8}, srsra_asimdshf_r_cond},
+ // SSHL <V><d>, <V><n>, <V><m>
+ {0xff20fc00, 0x5e204400, SSHL, instArgs{arg_Vd_22_2__D_3, arg_Vn_22_2__D_3, arg_Vm_22_2__D_3}, nil},
+ // SSHL <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e204400, SSHL, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // SXTL <Vd>.<ta>, <Vn>.<tb>
+ {0xff87fc00, 0x0f00a400, SXTL, instArgs{arg_Vd_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4, arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41}, sxtl_sshll_asimdshf_l_cond},
+ // SXTL2 <Vd>.<ta>, <Vn>.<tb>
+ {0xff87fc00, 0x4f00a400, SXTL2, instArgs{arg_Vd_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4, arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41}, sxtl_sshll_asimdshf_l_cond},
+ // SSHLL <Vd>.<ta>, <Vn>.<tb>, #<shift>
+ {0xff80fc00, 0x0f00a400, SSHLL, instArgs{arg_Vd_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4, arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41, arg_immediate_0_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__UIntimmhimmb8_1__UIntimmhimmb16_2__UIntimmhimmb32_4}, sshll_asimdshf_l_cond},
+ // SSHLL2 <Vd>.<ta>, <Vn>.<tb>, #<shift>
+ {0xff80fc00, 0x4f00a400, SSHLL2, instArgs{arg_Vd_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4, arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41, arg_immediate_0_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__UIntimmhimmb8_1__UIntimmhimmb16_2__UIntimmhimmb32_4}, sshll_asimdshf_l_cond},
+ // SSHR <V><d>, <V><n>, #<shift>
+ {0xff80fc00, 0x5f000400, SSHR, instArgs{arg_Vd_19_4__D_8, arg_Vn_19_4__D_8, arg_immediate_1_64_immh_immb__128UIntimmhimmb_8}, sshr_asisdshf_r_cond},
+ // SSHR <Vd>.<t>, <Vn>.<t>, #<shift>
+ {0xbf80fc00, 0x0f000400, SSHR, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4__128UIntimmhimmb_8}, sshr_asimdshf_r_cond},
+ // SSRA <V><d>, <V><n>, #<shift>
+ {0xff80fc00, 0x5f001400, SSRA, instArgs{arg_Vd_19_4__D_8, arg_Vn_19_4__D_8, arg_immediate_1_64_immh_immb__128UIntimmhimmb_8}, ssra_asisdshf_r_cond},
+ // SSRA <Vd>.<t>, <Vn>.<t>, #<shift>
+ {0xbf80fc00, 0x0f001400, SSRA, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4__128UIntimmhimmb_8}, ssra_asimdshf_r_cond},
+ // SSUBL <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x0e202000, SSUBL, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SSUBL2 <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x4e202000, SSUBL2, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SSUBW <Vd>.<ta>, <Vn>.<ta>, <Vm>.<tb>
+ {0xff20fc00, 0x0e203000, SSUBW, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size___8H_0__4S_1__2D_2, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // SSUBW2 <Vd>.<ta>, <Vn>.<ta>, <Vm>.<tb>
+ {0xff20fc00, 0x4e203000, SSUBW2, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size___8H_0__4S_1__2D_2, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // ST1 <Vt>.<t>, [<Xn|SP>]
+ {0xbffff000, 0x0c007000, ST1, instArgs{arg_Vt_1_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_offset}, nil},
+ // ST1 <Vt>.<t>, [<Xn|SP>]
+ {0xbffff000, 0x0c00a000, ST1, instArgs{arg_Vt_2_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_offset}, nil},
+ // ST1 <Vt>.<t>, [<Xn|SP>]
+ {0xbffff000, 0x0c006000, ST1, instArgs{arg_Vt_3_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_offset}, nil},
+ // ST1 <Vt>.<t>, [<Xn|SP>]
+ {0xbffff000, 0x0c002000, ST1, instArgs{arg_Vt_4_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_offset}, nil},
+ // ST1 <Vt>.<t>, [<Xn|SP>], #<imm>
+ {0xbffff000, 0x0c9f7000, ST1, instArgs{arg_Vt_1_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_post_Q__8_0__16_1}, nil},
+ // ST1 <Vt>.<t>, [<Xn|SP>], #<Xm>
+ {0xbfe0f000, 0x0c807000, ST1, instArgs{arg_Vt_1_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_post_Xm}, nil},
+ // ST1 <Vt>.<t>, [<Xn|SP>], #<imm_1>
+ {0xbffff000, 0x0c9fa000, ST1, instArgs{arg_Vt_2_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_post_Q__16_0__32_1}, nil},
+ // ST1 <Vt>.<t>, [<Xn|SP>], #<Xm>
+ {0xbfe0f000, 0x0c80a000, ST1, instArgs{arg_Vt_2_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_post_Xm}, nil},
+ // ST1 <Vt>.<t>, [<Xn|SP>], #<imm_2>
+ {0xbffff000, 0x0c9f6000, ST1, instArgs{arg_Vt_3_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_post_Q__24_0__48_1}, nil},
+ // ST1 <Vt>.<t>, [<Xn|SP>], #<Xm>
+ {0xbfe0f000, 0x0c806000, ST1, instArgs{arg_Vt_3_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_post_Xm}, nil},
+ // ST1 <Vt>.<t>, [<Xn|SP>], #<imm_3>
+ {0xbffff000, 0x0c9f2000, ST1, instArgs{arg_Vt_4_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_post_Q__32_0__64_1}, nil},
+ // ST1 <Vt>.<t>, [<Xn|SP>], #<Xm>
+ {0xbfe0f000, 0x0c802000, ST1, instArgs{arg_Vt_4_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__1D_30__2D_31, arg_Xns_mem_post_Xm}, nil},
+ // ST1 <Vt>.B[<index>], [<Xn|SP>]
+ {0xbfffe000, 0x0d000000, ST1, instArgs{arg_Vt_1_arrangement_B_index__Q_S_size_1, arg_Xns_mem_offset}, nil},
+ // ST1 <Vt>.H[<index_2>], [<Xn|SP>]
+ {0xbfffe400, 0x0d004000, ST1, instArgs{arg_Vt_1_arrangement_H_index__Q_S_size_1, arg_Xns_mem_offset}, nil},
+ // ST1 <Vt>.S[<index_3>], [<Xn|SP>]
+ {0xbfffec00, 0x0d008000, ST1, instArgs{arg_Vt_1_arrangement_S_index__Q_S_1, arg_Xns_mem_offset}, nil},
+ // ST1 <Vt>.D[<index_1>], [<Xn|SP>]
+ {0xbffffc00, 0x0d008400, ST1, instArgs{arg_Vt_1_arrangement_D_index__Q_1, arg_Xns_mem_offset}, nil},
+ // ST1 <Vt>.B[<index>], [<Xn|SP>], #1
+ {0xbfffe000, 0x0d9f0000, ST1, instArgs{arg_Vt_1_arrangement_B_index__Q_S_size_1, arg_Xns_mem_post_fixedimm_1}, nil},
+ // ST1 <Vt>.B[<index>], [<Xn|SP>], #<Xm>
+ {0xbfe0e000, 0x0d800000, ST1, instArgs{arg_Vt_1_arrangement_B_index__Q_S_size_1, arg_Xns_mem_post_Xm}, nil},
+ // ST1 <Vt>.H[<index_2>], [<Xn|SP>], #2
+ {0xbfffe400, 0x0d9f4000, ST1, instArgs{arg_Vt_1_arrangement_H_index__Q_S_size_1, arg_Xns_mem_post_fixedimm_2}, nil},
+ // ST1 <Vt>.H[<index_2>], [<Xn|SP>], #<Xm>
+ {0xbfe0e400, 0x0d804000, ST1, instArgs{arg_Vt_1_arrangement_H_index__Q_S_size_1, arg_Xns_mem_post_Xm}, nil},
+ // ST1 <Vt>.S[<index_3>], [<Xn|SP>], #4
+ {0xbfffec00, 0x0d9f8000, ST1, instArgs{arg_Vt_1_arrangement_S_index__Q_S_1, arg_Xns_mem_post_fixedimm_4}, nil},
+ // ST1 <Vt>.S[<index_3>], [<Xn|SP>], #<Xm>
+ {0xbfe0ec00, 0x0d808000, ST1, instArgs{arg_Vt_1_arrangement_S_index__Q_S_1, arg_Xns_mem_post_Xm}, nil},
+ // ST1 <Vt>.D[<index_1>], [<Xn|SP>], #8
+ {0xbffffc00, 0x0d9f8400, ST1, instArgs{arg_Vt_1_arrangement_D_index__Q_1, arg_Xns_mem_post_fixedimm_8}, nil},
+ // ST1 <Vt>.D[<index_1>], [<Xn|SP>], #<Xm>
+ {0xbfe0fc00, 0x0d808400, ST1, instArgs{arg_Vt_1_arrangement_D_index__Q_1, arg_Xns_mem_post_Xm}, nil},
+ // ST2 <Vt>.<t>, [<Xn|SP>]
+ {0xbffff000, 0x0c008000, ST2, instArgs{arg_Vt_2_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Xns_mem_offset}, nil},
+ // ST2 <Vt>.<t>, [<Xn|SP>], #<imm>
+ {0xbffff000, 0x0c9f8000, ST2, instArgs{arg_Vt_2_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Xns_mem_post_Q__16_0__32_1}, nil},
+ // ST2 <Vt>.<t>, [<Xn|SP>], #<Xm>
+ {0xbfe0f000, 0x0c808000, ST2, instArgs{arg_Vt_2_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Xns_mem_post_Xm}, nil},
+ // ST2 <Vt>.B[<index>], [<Xn|SP>]
+ {0xbfffe000, 0x0d200000, ST2, instArgs{arg_Vt_2_arrangement_B_index__Q_S_size_1, arg_Xns_mem_offset}, nil},
+ // ST2 <Vt>.H[<index_2>], [<Xn|SP>]
+ {0xbfffe400, 0x0d204000, ST2, instArgs{arg_Vt_2_arrangement_H_index__Q_S_size_1, arg_Xns_mem_offset}, nil},
+ // ST2 <Vt>.S[<index_3>], [<Xn|SP>]
+ {0xbfffec00, 0x0d208000, ST2, instArgs{arg_Vt_2_arrangement_S_index__Q_S_1, arg_Xns_mem_offset}, nil},
+ // ST2 <Vt>.D[<index_1>], [<Xn|SP>]
+ {0xbffffc00, 0x0d208400, ST2, instArgs{arg_Vt_2_arrangement_D_index__Q_1, arg_Xns_mem_offset}, nil},
+ // ST2 <Vt>.B[<index>], [<Xn|SP>], #2
+ {0xbfffe000, 0x0dbf0000, ST2, instArgs{arg_Vt_2_arrangement_B_index__Q_S_size_1, arg_Xns_mem_post_fixedimm_2}, nil},
+ // ST2 <Vt>.B[<index>], [<Xn|SP>], #<Xm>
+ {0xbfe0e000, 0x0da00000, ST2, instArgs{arg_Vt_2_arrangement_B_index__Q_S_size_1, arg_Xns_mem_post_Xm}, nil},
+ // ST2 <Vt>.H[<index_2>], [<Xn|SP>], #4
+ {0xbfffe400, 0x0dbf4000, ST2, instArgs{arg_Vt_2_arrangement_H_index__Q_S_size_1, arg_Xns_mem_post_fixedimm_4}, nil},
+ // ST2 <Vt>.H[<index_2>], [<Xn|SP>], #<Xm>
+ {0xbfe0e400, 0x0da04000, ST2, instArgs{arg_Vt_2_arrangement_H_index__Q_S_size_1, arg_Xns_mem_post_Xm}, nil},
+ // ST2 <Vt>.S[<index_3>], [<Xn|SP>], #8
+ {0xbfffec00, 0x0dbf8000, ST2, instArgs{arg_Vt_2_arrangement_S_index__Q_S_1, arg_Xns_mem_post_fixedimm_8}, nil},
+ // ST2 <Vt>.S[<index_3>], [<Xn|SP>], #<Xm>
+ {0xbfe0ec00, 0x0da08000, ST2, instArgs{arg_Vt_2_arrangement_S_index__Q_S_1, arg_Xns_mem_post_Xm}, nil},
+ // ST2 <Vt>.D[<index_1>], [<Xn|SP>], #16
+ {0xbffffc00, 0x0dbf8400, ST2, instArgs{arg_Vt_2_arrangement_D_index__Q_1, arg_Xns_mem_post_fixedimm_16}, nil},
+ // ST2 <Vt>.D[<index_1>], [<Xn|SP>], #<Xm>
+ {0xbfe0fc00, 0x0da08400, ST2, instArgs{arg_Vt_2_arrangement_D_index__Q_1, arg_Xns_mem_post_Xm}, nil},
+ // ST3 <Vt>.<t>, [<Xn|SP>]
+ {0xbffff000, 0x0c004000, ST3, instArgs{arg_Vt_3_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Xns_mem_offset}, nil},
+ // ST3 <Vt>.<t>, [<Xn|SP>], #<imm>
+ {0xbffff000, 0x0c9f4000, ST3, instArgs{arg_Vt_3_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Xns_mem_post_Q__24_0__48_1}, nil},
+ // ST3 <Vt>.<t>, [<Xn|SP>], #<Xm>
+ {0xbfe0f000, 0x0c804000, ST3, instArgs{arg_Vt_3_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Xns_mem_post_Xm}, nil},
+ // ST3 <Vt>.B[<index>], [<Xn|SP>]
+ {0xbfffe000, 0x0d002000, ST3, instArgs{arg_Vt_3_arrangement_B_index__Q_S_size_1, arg_Xns_mem_offset}, nil},
+ // ST3 <Vt>.H[<index_2>], [<Xn|SP>]
+ {0xbfffe400, 0x0d006000, ST3, instArgs{arg_Vt_3_arrangement_H_index__Q_S_size_1, arg_Xns_mem_offset}, nil},
+ // ST3 <Vt>.S[<index_3>], [<Xn|SP>]
+ {0xbfffec00, 0x0d00a000, ST3, instArgs{arg_Vt_3_arrangement_S_index__Q_S_1, arg_Xns_mem_offset}, nil},
+ // ST3 <Vt>.D[<index_1>], [<Xn|SP>]
+ {0xbffffc00, 0x0d00a400, ST3, instArgs{arg_Vt_3_arrangement_D_index__Q_1, arg_Xns_mem_offset}, nil},
+ // ST3 <Vt>.B[<index>], [<Xn|SP>], #3
+ {0xbfffe000, 0x0d9f2000, ST3, instArgs{arg_Vt_3_arrangement_B_index__Q_S_size_1, arg_Xns_mem_post_fixedimm_3}, nil},
+ // ST3 <Vt>.B[<index>], [<Xn|SP>], #<Xm>
+ {0xbfe0e000, 0x0d802000, ST3, instArgs{arg_Vt_3_arrangement_B_index__Q_S_size_1, arg_Xns_mem_post_Xm}, nil},
+ // ST3 <Vt>.H[<index_2>], [<Xn|SP>], #6
+ {0xbfffe400, 0x0d9f6000, ST3, instArgs{arg_Vt_3_arrangement_H_index__Q_S_size_1, arg_Xns_mem_post_fixedimm_6}, nil},
+ // ST3 <Vt>.H[<index_2>], [<Xn|SP>], #<Xm>
+ {0xbfe0e400, 0x0d806000, ST3, instArgs{arg_Vt_3_arrangement_H_index__Q_S_size_1, arg_Xns_mem_post_Xm}, nil},
+ // ST3 <Vt>.S[<index_3>], [<Xn|SP>], #12
+ {0xbfffec00, 0x0d9fa000, ST3, instArgs{arg_Vt_3_arrangement_S_index__Q_S_1, arg_Xns_mem_post_fixedimm_12}, nil},
+ // ST3 <Vt>.S[<index_3>], [<Xn|SP>], #<Xm>
+ {0xbfe0ec00, 0x0d80a000, ST3, instArgs{arg_Vt_3_arrangement_S_index__Q_S_1, arg_Xns_mem_post_Xm}, nil},
+ // ST3 <Vt>.D[<index_1>], [<Xn|SP>], #24
+ {0xbffffc00, 0x0d9fa400, ST3, instArgs{arg_Vt_3_arrangement_D_index__Q_1, arg_Xns_mem_post_fixedimm_24}, nil},
+ // ST3 <Vt>.D[<index_1>], [<Xn|SP>], #<Xm>
+ {0xbfe0fc00, 0x0d80a400, ST3, instArgs{arg_Vt_3_arrangement_D_index__Q_1, arg_Xns_mem_post_Xm}, nil},
+ // ST4 <Vt>.<t>, [<Xn|SP>]
+ {0xbffff000, 0x0c000000, ST4, instArgs{arg_Vt_4_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Xns_mem_offset}, nil},
+ // ST4 <Vt>.<t>, [<Xn|SP>], #<imm>
+ {0xbffff000, 0x0c9f0000, ST4, instArgs{arg_Vt_4_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Xns_mem_post_Q__32_0__64_1}, nil},
+ // ST4 <Vt>.<t>, [<Xn|SP>], #<Xm>
+ {0xbfe0f000, 0x0c800000, ST4, instArgs{arg_Vt_4_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Xns_mem_post_Xm}, nil},
+ // ST4 <Vt>.B[<index>], [<Xn|SP>]
+ {0xbfffe000, 0x0d202000, ST4, instArgs{arg_Vt_4_arrangement_B_index__Q_S_size_1, arg_Xns_mem_offset}, nil},
+ // ST4 <Vt>.H[<index_2>], [<Xn|SP>]
+ {0xbfffe400, 0x0d206000, ST4, instArgs{arg_Vt_4_arrangement_H_index__Q_S_size_1, arg_Xns_mem_offset}, nil},
+ // ST4 <Vt>.S[<index_3>], [<Xn|SP>]
+ {0xbfffec00, 0x0d20a000, ST4, instArgs{arg_Vt_4_arrangement_S_index__Q_S_1, arg_Xns_mem_offset}, nil},
+ // ST4 <Vt>.D[<index_1>], [<Xn|SP>]
+ {0xbffffc00, 0x0d20a400, ST4, instArgs{arg_Vt_4_arrangement_D_index__Q_1, arg_Xns_mem_offset}, nil},
+ // ST4 <Vt>.B[<index>], [<Xn|SP>], #4
+ {0xbfffe000, 0x0dbf2000, ST4, instArgs{arg_Vt_4_arrangement_B_index__Q_S_size_1, arg_Xns_mem_post_fixedimm_4}, nil},
+ // ST4 <Vt>.B[<index>], [<Xn|SP>], #<Xm>
+ {0xbfe0e000, 0x0da02000, ST4, instArgs{arg_Vt_4_arrangement_B_index__Q_S_size_1, arg_Xns_mem_post_Xm}, nil},
+ // ST4 <Vt>.H[<index_2>], [<Xn|SP>], #8
+ {0xbfffe400, 0x0dbf6000, ST4, instArgs{arg_Vt_4_arrangement_H_index__Q_S_size_1, arg_Xns_mem_post_fixedimm_8}, nil},
+ // ST4 <Vt>.H[<index_2>], [<Xn|SP>], #<Xm>
+ {0xbfe0e400, 0x0da06000, ST4, instArgs{arg_Vt_4_arrangement_H_index__Q_S_size_1, arg_Xns_mem_post_Xm}, nil},
+ // ST4 <Vt>.S[<index_3>], [<Xn|SP>], #16
+ {0xbfffec00, 0x0dbfa000, ST4, instArgs{arg_Vt_4_arrangement_S_index__Q_S_1, arg_Xns_mem_post_fixedimm_16}, nil},
+ // ST4 <Vt>.S[<index_3>], [<Xn|SP>], #<Xm>
+ {0xbfe0ec00, 0x0da0a000, ST4, instArgs{arg_Vt_4_arrangement_S_index__Q_S_1, arg_Xns_mem_post_Xm}, nil},
+ // ST4 <Vt>.D[<index_1>], [<Xn|SP>], #32
+ {0xbffffc00, 0x0dbfa400, ST4, instArgs{arg_Vt_4_arrangement_D_index__Q_1, arg_Xns_mem_post_fixedimm_32}, nil},
+ // ST4 <Vt>.D[<index_1>], [<Xn|SP>], #<Xm>
+ {0xbfe0fc00, 0x0da0a400, ST4, instArgs{arg_Vt_4_arrangement_D_index__Q_1, arg_Xns_mem_post_Xm}, nil},
+ // STNP <St>, <St2>, [<Xn|SP>{, #<imm_2>}]
+ {0xffc00000, 0x2c000000, STNP, instArgs{arg_St, arg_St2, arg_Xns_mem_optional_imm7_4_signed}, nil},
+ // STNP <Dt>, <Dt2>, [<Xn|SP>{, #<imm>}]
+ {0xffc00000, 0x6c000000, STNP, instArgs{arg_Dt, arg_Dt2, arg_Xns_mem_optional_imm7_8_signed}, nil},
+ // STNP <Qt>, <Qt2>, [<Xn|SP>{, #<imm_1>}]
+ {0xffc00000, 0xac000000, STNP, instArgs{arg_Qt, arg_Qt2, arg_Xns_mem_optional_imm7_16_signed}, nil},
+ // STP <St>, <St2>, [<Xn|SP>], #<imm_5>
+ {0xffc00000, 0x2c800000, STP, instArgs{arg_St, arg_St2, arg_Xns_mem_post_imm7_4_signed}, nil},
+ // STP <Dt>, <Dt2>, [<Xn|SP>], #<imm_1>
+ {0xffc00000, 0x6c800000, STP, instArgs{arg_Dt, arg_Dt2, arg_Xns_mem_post_imm7_8_signed}, nil},
+ // STP <Qt>, <Qt2>, [<Xn|SP>], #<imm_3>
+ {0xffc00000, 0xac800000, STP, instArgs{arg_Qt, arg_Qt2, arg_Xns_mem_post_imm7_16_signed}, nil},
+ // STP <St>, <St2>, [<Xn|SP>{, #<imm_5>}]!
+ {0xffc00000, 0x2d800000, STP, instArgs{arg_St, arg_St2, arg_Xns_mem_wb_imm7_4_signed}, nil},
+ // STP <Dt>, <Dt2>, [<Xn|SP>{, #<imm_1>}]!
+ {0xffc00000, 0x6d800000, STP, instArgs{arg_Dt, arg_Dt2, arg_Xns_mem_wb_imm7_8_signed}, nil},
+ // STP <Qt>, <Qt2>, [<Xn|SP>{, #<imm_3>}]!
+ {0xffc00000, 0xad800000, STP, instArgs{arg_Qt, arg_Qt2, arg_Xns_mem_wb_imm7_16_signed}, nil},
+ // STP <St>, <St2>, [<Xn|SP>{, #<imm_4>}]
+ {0xffc00000, 0x2d000000, STP, instArgs{arg_St, arg_St2, arg_Xns_mem_optional_imm7_4_signed}, nil},
+ // STP <Dt>, <Dt2>, [<Xn|SP>{, #<imm>}]
+ {0xffc00000, 0x6d000000, STP, instArgs{arg_Dt, arg_Dt2, arg_Xns_mem_optional_imm7_8_signed}, nil},
+ // STP <Qt>, <Qt2>, [<Xn|SP>{, #<imm_2>}]
+ {0xffc00000, 0xad000000, STP, instArgs{arg_Qt, arg_Qt2, arg_Xns_mem_optional_imm7_16_signed}, nil},
+ // STR <Bt>, [<Xn|SP>], #<simm>
+ {0xffe00c00, 0x3c000400, STR, instArgs{arg_Bt, arg_Xns_mem_post_imm9_1_signed}, nil},
+ // STR <Ht>, [<Xn|SP>], #<simm>
+ {0xffe00c00, 0x7c000400, STR, instArgs{arg_Ht, arg_Xns_mem_post_imm9_1_signed}, nil},
+ // STR <St>, [<Xn|SP>], #<simm>
+ {0xffe00c00, 0xbc000400, STR, instArgs{arg_St, arg_Xns_mem_post_imm9_1_signed}, nil},
+ // STR <Dt>, [<Xn|SP>], #<simm>
+ {0xffe00c00, 0xfc000400, STR, instArgs{arg_Dt, arg_Xns_mem_post_imm9_1_signed}, nil},
+ // STR <Qt>, [<Xn|SP>], #<simm>
+ {0xffe00c00, 0x3c800400, STR, instArgs{arg_Qt, arg_Xns_mem_post_imm9_1_signed}, nil},
+ // STR <Bt>, [<Xn|SP>{, #<simm>}]!
+ {0xffe00c00, 0x3c000c00, STR, instArgs{arg_Bt, arg_Xns_mem_wb_imm9_1_signed}, nil},
+ // STR <Ht>, [<Xn|SP>{, #<simm>}]!
+ {0xffe00c00, 0x7c000c00, STR, instArgs{arg_Ht, arg_Xns_mem_wb_imm9_1_signed}, nil},
+ // STR <St>, [<Xn|SP>{, #<simm>}]!
+ {0xffe00c00, 0xbc000c00, STR, instArgs{arg_St, arg_Xns_mem_wb_imm9_1_signed}, nil},
+ // STR <Dt>, [<Xn|SP>{, #<simm>}]!
+ {0xffe00c00, 0xfc000c00, STR, instArgs{arg_Dt, arg_Xns_mem_wb_imm9_1_signed}, nil},
+ // STR <Qt>, [<Xn|SP>{, #<simm>}]!
+ {0xffe00c00, 0x3c800c00, STR, instArgs{arg_Qt, arg_Xns_mem_wb_imm9_1_signed}, nil},
+ // STR <Bt>, [<Xn|SP>{, #<pimm>}]
+ {0xffc00000, 0x3d000000, STR, instArgs{arg_Bt, arg_Xns_mem_optional_imm12_1_unsigned}, nil},
+ // STR <Ht>, [<Xn|SP>{, #<pimm_2>}]
+ {0xffc00000, 0x7d000000, STR, instArgs{arg_Ht, arg_Xns_mem_optional_imm12_2_unsigned}, nil},
+ // STR <St>, [<Xn|SP>{, #<pimm_4>}]
+ {0xffc00000, 0xbd000000, STR, instArgs{arg_St, arg_Xns_mem_optional_imm12_4_unsigned}, nil},
+ // STR <Dt>, [<Xn|SP>{, #<pimm_1>}]
+ {0xffc00000, 0xfd000000, STR, instArgs{arg_Dt, arg_Xns_mem_optional_imm12_8_unsigned}, nil},
+ // STR <Qt>, [<Xn|SP>{, #<pimm_3>}]
+ {0xffc00000, 0x3d800000, STR, instArgs{arg_Qt, arg_Xns_mem_optional_imm12_16_unsigned}, nil},
+ // STR <Bt>, [<Xn|SP>, (<Wm>|<Xm>) {, <extend> {<amount>}}]
+ {0xffe00c00, 0x3c200800, STR, instArgs{arg_Bt, arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__absent_0__0_1}, nil},
+ // STR <Ht>, [<Xn|SP>, (<Wm>|<Xm>) {, <extend> {<amount>}}]
+ {0xffe00c00, 0x7c200800, STR, instArgs{arg_Ht, arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__1_1}, nil},
+ // STR <St>, [<Xn|SP>, (<Wm>|<Xm>) {, <extend> {<amount>}}]
+ {0xffe00c00, 0xbc200800, STR, instArgs{arg_St, arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__2_1}, nil},
+ // STR <Dt>, [<Xn|SP>, (<Wm>|<Xm>) {, <extend> {<amount>}}]
+ {0xffe00c00, 0xfc200800, STR, instArgs{arg_Dt, arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__3_1}, nil},
+ // STR <Qt>, [<Xn|SP>, (<Wm>|<Xm>) {, <extend> {<amount>}}]
+ {0xffe00c00, 0x3ca00800, STR, instArgs{arg_Qt, arg_Xns_mem_extend_m__UXTW_2__LSL_3__SXTW_6__SXTX_7__0_0__4_1}, nil},
+ // STUR <Bt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0x3c000000, STUR, instArgs{arg_Bt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // STUR <Ht>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0x7c000000, STUR, instArgs{arg_Ht, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // STUR <St>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0xbc000000, STUR, instArgs{arg_St, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // STUR <Dt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0xfc000000, STUR, instArgs{arg_Dt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // STUR <Qt>, [<Xn|SP>{, #<simm>}]
+ {0xffe00c00, 0x3c800000, STUR, instArgs{arg_Qt, arg_Xns_mem_optional_imm9_1_signed}, nil},
+ // SUB <V><d>, <V><n>, <V><m>
+ {0xff20fc00, 0x7e208400, SUB, instArgs{arg_Vd_22_2__D_3, arg_Vn_22_2__D_3, arg_Vm_22_2__D_3}, nil},
+ // SUB <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x2e208400, SUB, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // SUBHN <Vd>.<tb>, <Vn>.<ta>, <Vm>.<ta>
+ {0xff20fc00, 0x0e206000, SUBHN, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size___8H_0__4S_1__2D_2, arg_Vm_arrangement_size___8H_0__4S_1__2D_2}, nil},
+ // SUBHN2 <Vd>.<tb>, <Vn>.<ta>, <Vm>.<ta>
+ {0xff20fc00, 0x4e206000, SUBHN2, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size___8H_0__4S_1__2D_2, arg_Vm_arrangement_size___8H_0__4S_1__2D_2}, nil},
+ // SUQADD <V><d>, <V><n>
+ {0xff3ffc00, 0x5e203800, SUQADD, instArgs{arg_Vd_22_2__B_0__H_1__S_2__D_3, arg_Vn_22_2__B_0__H_1__S_2__D_3}, nil},
+ // SUQADD <Vd>.<t>, <Vn>.<t>
+ {0xbf3ffc00, 0x0e203800, SUQADD, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // TBL <Vd>.<ta>, <Vn>.16B, <Vm>.<ta>
+ {0xbfe0fc00, 0x0e002000, TBL, instArgs{arg_Vd_arrangement_Q___8B_0__16B_1, arg_Vn_2_arrangement_16B, arg_Vm_arrangement_Q___8B_0__16B_1}, nil},
+ // TBL <Vd>.<ta>, <Vn>.16B, <Vm>.<ta>
+ {0xbfe0fc00, 0x0e004000, TBL, instArgs{arg_Vd_arrangement_Q___8B_0__16B_1, arg_Vn_3_arrangement_16B, arg_Vm_arrangement_Q___8B_0__16B_1}, nil},
+ // TBL <Vd>.<ta>, <Vn>.16B, <Vm>.<ta>
+ {0xbfe0fc00, 0x0e006000, TBL, instArgs{arg_Vd_arrangement_Q___8B_0__16B_1, arg_Vn_4_arrangement_16B, arg_Vm_arrangement_Q___8B_0__16B_1}, nil},
+ // TBL <Vd>.<ta>, <Vn>.16B, <Vm>.<ta>
+ {0xbfe0fc00, 0x0e000000, TBL, instArgs{arg_Vd_arrangement_Q___8B_0__16B_1, arg_Vn_1_arrangement_16B, arg_Vm_arrangement_Q___8B_0__16B_1}, nil},
+ // TBX <Vd>.<ta>, <Vn>.16B, <Vm>.<ta>
+ {0xbfe0fc00, 0x0e003000, TBX, instArgs{arg_Vd_arrangement_Q___8B_0__16B_1, arg_Vn_2_arrangement_16B, arg_Vm_arrangement_Q___8B_0__16B_1}, nil},
+ // TBX <Vd>.<ta>, <Vn>.16B, <Vm>.<ta>
+ {0xbfe0fc00, 0x0e005000, TBX, instArgs{arg_Vd_arrangement_Q___8B_0__16B_1, arg_Vn_3_arrangement_16B, arg_Vm_arrangement_Q___8B_0__16B_1}, nil},
+ // TBX <Vd>.<ta>, <Vn>.16B, <Vm>.<ta>
+ {0xbfe0fc00, 0x0e007000, TBX, instArgs{arg_Vd_arrangement_Q___8B_0__16B_1, arg_Vn_4_arrangement_16B, arg_Vm_arrangement_Q___8B_0__16B_1}, nil},
+ // TBX <Vd>.<ta>, <Vn>.16B, <Vm>.<ta>
+ {0xbfe0fc00, 0x0e001000, TBX, instArgs{arg_Vd_arrangement_Q___8B_0__16B_1, arg_Vn_1_arrangement_16B, arg_Vm_arrangement_Q___8B_0__16B_1}, nil},
+ // TRN1 <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e002800, TRN1, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // TRN2 <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e006800, TRN2, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // UABA <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x2e207c00, UABA, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // UABAL <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x2e205000, UABAL, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // UABAL2 <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x6e205000, UABAL2, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // UABD <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x2e207400, UABD, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // UABDL <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x2e207000, UABDL, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // UABDL2 <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x6e207000, UABDL2, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // UADALP <Vd>.<ta>, <Vn>.<tb>
+ {0xbf3ffc00, 0x2e206800, UADALP, instArgs{arg_Vd_arrangement_size_Q___4H_00__8H_01__2S_10__4S_11__1D_20__2D_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // UADDL <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x2e200000, UADDL, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // UADDL2 <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x6e200000, UADDL2, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // UADDLP <Vd>.<ta>, <Vn>.<tb>
+ {0xbf3ffc00, 0x2e202800, UADDLP, instArgs{arg_Vd_arrangement_size_Q___4H_00__8H_01__2S_10__4S_11__1D_20__2D_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // UADDLV <V><d>, <Vn>.<t>
+ {0xbf3ffc00, 0x2e303800, UADDLV, instArgs{arg_Vd_22_2__H_0__S_1__D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__4S_21}, nil},
+ // UADDW <Vd>.<ta>, <Vn>.<ta>, <Vm>.<tb>
+ {0xff20fc00, 0x2e201000, UADDW, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size___8H_0__4S_1__2D_2, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // UADDW2 <Vd>.<ta>, <Vn>.<ta>, <Vm>.<tb>
+ {0xff20fc00, 0x6e201000, UADDW2, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size___8H_0__4S_1__2D_2, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // UCVTF <Sd>, <Wn>, #<fbits>
+ {0xffff0000, 0x1e030000, UCVTF, instArgs{arg_Sd, arg_Wn, arg_immediate_fbits_min_1_max_32_sub_64_scale}, nil},
+ // UCVTF <Dd>, <Wn>, #<fbits>
+ {0xffff0000, 0x1e430000, UCVTF, instArgs{arg_Dd, arg_Wn, arg_immediate_fbits_min_1_max_32_sub_64_scale}, nil},
+ // UCVTF <Sd>, <Xn>, #<fbits>
+ {0xffff0000, 0x9e030000, UCVTF, instArgs{arg_Sd, arg_Xn, arg_immediate_fbits_min_1_max_64_sub_64_scale}, nil},
+ // UCVTF <Dd>, <Xn>, #<fbits>
+ {0xffff0000, 0x9e430000, UCVTF, instArgs{arg_Dd, arg_Xn, arg_immediate_fbits_min_1_max_64_sub_64_scale}, nil},
+ // UCVTF <Sd>, <Wn>
+ {0xfffffc00, 0x1e230000, UCVTF, instArgs{arg_Sd, arg_Wn}, nil},
+ // UCVTF <Dd>, <Wn>
+ {0xfffffc00, 0x1e630000, UCVTF, instArgs{arg_Dd, arg_Wn}, nil},
+ // UCVTF <Sd>, <Xn>
+ {0xfffffc00, 0x9e230000, UCVTF, instArgs{arg_Sd, arg_Xn}, nil},
+ // UCVTF <Dd>, <Xn>
+ {0xfffffc00, 0x9e630000, UCVTF, instArgs{arg_Dd, arg_Xn}, nil},
+ // UCVTF <V><d>, <V><n>, #<fbits>
+ {0xff80fc00, 0x7f00e400, UCVTF, instArgs{arg_Vd_19_4__S_4__D_8, arg_Vn_19_4__S_4__D_8, arg_immediate_fbits_min_1_max_0_sub_0_immh_immb__64UIntimmhimmb_4__128UIntimmhimmb_8}, ucvtf_asisdshf_c_cond},
+ // UCVTF <Vd>.<t>, <Vn>.<t>, #<fbits>
+ {0xbf80fc00, 0x2f00e400, UCVTF, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__2S_40__4S_41__2D_81, arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__2S_40__4S_41__2D_81, arg_immediate_fbits_min_1_max_0_sub_0_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__64UIntimmhimmb_4__128UIntimmhimmb_8}, ucvtf_asimdshf_c_cond},
+ // UCVTF <V><d>, <V><n>
+ {0xffbffc00, 0x7e21d800, UCVTF, instArgs{arg_Vd_22_1__S_0__D_1, arg_Vn_22_1__S_0__D_1}, nil},
+ // UCVTF <Vd>.<t>, <Vn>.<t>
+ {0xbfbffc00, 0x2e21d800, UCVTF, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01__2D_11, arg_Vn_arrangement_sz_Q___2S_00__4S_01__2D_11}, nil},
+ // UHADD <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x2e200400, UHADD, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // UHSUB <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x2e202400, UHSUB, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // UMAX <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x2e206400, UMAX, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // UMAXP <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x2e20a400, UMAXP, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // UMAXV <V><d>, <Vn>.<t>
+ {0xbf3ffc00, 0x2e30a800, UMAXV, instArgs{arg_Vd_22_2__B_0__H_1__S_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__4S_21}, nil},
+ // UMIN <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x2e206c00, UMIN, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // UMINP <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x2e20ac00, UMINP, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // UMINV <V><d>, <Vn>.<t>
+ {0xbf3ffc00, 0x2e31a800, UMINV, instArgs{arg_Vd_22_2__B_0__H_1__S_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__4S_21}, nil},
+ // UMLAL <Vd>.<ta>, <Vn>.<tb>, <Vm>.<ts>[<index>]
+ {0xff00f400, 0x2f002000, UMLAL, instArgs{arg_Vd_arrangement_size___4S_1__2D_2, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // UMLAL2 <Vd>.<ta>, <Vn>.<tb>, <Vm>.<ts>[<index>]
+ {0xff00f400, 0x6f002000, UMLAL2, instArgs{arg_Vd_arrangement_size___4S_1__2D_2, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // UMLAL <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x2e208000, UMLAL, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // UMLAL2 <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x6e208000, UMLAL2, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // UMLSL <Vd>.<ta>, <Vn>.<tb>, <Vm>.<ts>[<index>]
+ {0xff00f400, 0x2f006000, UMLSL, instArgs{arg_Vd_arrangement_size___4S_1__2D_2, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // UMLSL2 <Vd>.<ta>, <Vn>.<tb>, <Vm>.<ts>[<index>]
+ {0xff00f400, 0x6f006000, UMLSL2, instArgs{arg_Vd_arrangement_size___4S_1__2D_2, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // UMLSL <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x2e20a000, UMLSL, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // UMLSL2 <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x6e20a000, UMLSL2, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // UMULL <Vd>.<ta>, <Vn>.<tb>, <Vm>.<ts>[<index>]
+ {0xff00f400, 0x2f00a000, UMULL, instArgs{arg_Vd_arrangement_size___4S_1__2D_2, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // UMULL2 <Vd>.<ta>, <Vn>.<tb>, <Vm>.<ts>[<index>]
+ {0xff00f400, 0x6f00a000, UMULL2, instArgs{arg_Vd_arrangement_size___4S_1__2D_2, arg_Vn_arrangement_size_Q___4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size___H_1__S_2_index__size_L_H_M__HLM_1__HL_2_1}, nil},
+ // UMULL <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x2e20c000, UMULL, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // UMULL2 <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x6e20c000, UMULL2, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // UQADD <V><d>, <V><n>, <V><m>
+ {0xff20fc00, 0x7e200c00, UQADD, instArgs{arg_Vd_22_2__B_0__H_1__S_2__D_3, arg_Vn_22_2__B_0__H_1__S_2__D_3, arg_Vm_22_2__B_0__H_1__S_2__D_3}, nil},
+ // UQADD <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x2e200c00, UQADD, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // UQRSHL <V><d>, <V><n>, <V><m>
+ {0xff20fc00, 0x7e205c00, UQRSHL, instArgs{arg_Vd_22_2__B_0__H_1__S_2__D_3, arg_Vn_22_2__B_0__H_1__S_2__D_3, arg_Vm_22_2__B_0__H_1__S_2__D_3}, nil},
+ // UQRSHL <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x2e205c00, UQRSHL, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // UQRSHRN <V><d>, <V><n>, #<shift>
+ {0xff80fc00, 0x7f009c00, UQRSHRN, instArgs{arg_Vd_19_4__B_1__H_2__S_4, arg_Vn_19_4__H_1__S_2__D_4, arg_immediate_1_width_immh_immb__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4}, uqrshrn_asisdshf_n_cond},
+ // UQRSHRN <Vd>.<tb>, <Vn>.<ta>, #<shift>
+ {0xff80fc00, 0x2f009c00, UQRSHRN, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41, arg_Vn_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4, arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4}, uqrshrn_asimdshf_n_cond},
+ // UQRSHRN2 <Vd>.<tb>, <Vn>.<ta>, #<shift>
+ {0xff80fc00, 0x6f009c00, UQRSHRN2, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41, arg_Vn_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4, arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4}, uqrshrn_asimdshf_n_cond},
+ // UQSHL <V><d>, <V><n>, #<shift>
+ {0xff80fc00, 0x7f007400, UQSHL, instArgs{arg_Vd_19_4__B_1__H_2__S_4__D_8, arg_Vn_19_4__B_1__H_2__S_4__D_8, arg_immediate_0_width_m1_immh_immb__UIntimmhimmb8_1__UIntimmhimmb16_2__UIntimmhimmb32_4__UIntimmhimmb64_8}, uqshl_asisdshf_r_cond},
+ // UQSHL <Vd>.<t>, <Vn>.<t>, #<shift>
+ {0xbf80fc00, 0x2f007400, UQSHL, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_immediate_0_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__UIntimmhimmb8_1__UIntimmhimmb16_2__UIntimmhimmb32_4__UIntimmhimmb64_8}, uqshl_asimdshf_r_cond},
+ // UQSHL <V><d>, <V><n>, <V><m>
+ {0xff20fc00, 0x7e204c00, UQSHL, instArgs{arg_Vd_22_2__B_0__H_1__S_2__D_3, arg_Vn_22_2__B_0__H_1__S_2__D_3, arg_Vm_22_2__B_0__H_1__S_2__D_3}, nil},
+ // UQSHL <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x2e204c00, UQSHL, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // UQSHRN <V><d>, <V><n>, #<shift>
+ {0xff80fc00, 0x7f009400, UQSHRN, instArgs{arg_Vd_19_4__B_1__H_2__S_4, arg_Vn_19_4__H_1__S_2__D_4, arg_immediate_1_width_immh_immb__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4}, uqshrn_asisdshf_n_cond},
+ // UQSHRN <Vd>.<tb>, <Vn>.<ta>, #<shift>
+ {0xff80fc00, 0x2f009400, UQSHRN, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41, arg_Vn_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4, arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4}, uqshrn_asimdshf_n_cond},
+ // UQSHRN2 <Vd>.<tb>, <Vn>.<ta>, #<shift>
+ {0xff80fc00, 0x6f009400, UQSHRN2, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41, arg_Vn_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4, arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4}, uqshrn_asimdshf_n_cond},
+ // UQSUB <V><d>, <V><n>, <V><m>
+ {0xff20fc00, 0x7e202c00, UQSUB, instArgs{arg_Vd_22_2__B_0__H_1__S_2__D_3, arg_Vn_22_2__B_0__H_1__S_2__D_3, arg_Vm_22_2__B_0__H_1__S_2__D_3}, nil},
+ // UQSUB <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x2e202c00, UQSUB, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // UQXTN <V><d>, <V><n>
+ {0xff3ffc00, 0x7e214800, UQXTN, instArgs{arg_Vd_22_2__B_0__H_1__S_2, arg_Vn_22_2__H_0__S_1__D_2}, nil},
+ // UQXTN <Vd>.<tb>, <Vn>.<ta>
+ {0xff3ffc00, 0x2e214800, UQXTN, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size___8H_0__4S_1__2D_2}, nil},
+ // UQXTN2 <Vd>.<tb>, <Vn>.<ta>
+ {0xff3ffc00, 0x6e214800, UQXTN2, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size___8H_0__4S_1__2D_2}, nil},
+ // URECPE <Vd>.<t>, <Vn>.<t>
+ {0xbfbffc00, 0x0ea1c800, URECPE, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01, arg_Vn_arrangement_sz_Q___2S_00__4S_01}, nil},
+ // URHADD <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x2e201400, URHADD, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // URSHL <V><d>, <V><n>, <V><m>
+ {0xff20fc00, 0x7e205400, URSHL, instArgs{arg_Vd_22_2__D_3, arg_Vn_22_2__D_3, arg_Vm_22_2__D_3}, nil},
+ // URSHL <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x2e205400, URSHL, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // URSHR <V><d>, <V><n>, #<shift>
+ {0xff80fc00, 0x7f002400, URSHR, instArgs{arg_Vd_19_4__D_8, arg_Vn_19_4__D_8, arg_immediate_1_64_immh_immb__128UIntimmhimmb_8}, urshr_asisdshf_r_cond},
+ // URSHR <Vd>.<t>, <Vn>.<t>, #<shift>
+ {0xbf80fc00, 0x2f002400, URSHR, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4__128UIntimmhimmb_8}, urshr_asimdshf_r_cond},
+ // URSQRTE <Vd>.<t>, <Vn>.<t>
+ {0xbfbffc00, 0x2ea1c800, URSQRTE, instArgs{arg_Vd_arrangement_sz_Q___2S_00__4S_01, arg_Vn_arrangement_sz_Q___2S_00__4S_01}, nil},
+ // URSRA <V><d>, <V><n>, #<shift>
+ {0xff80fc00, 0x7f003400, URSRA, instArgs{arg_Vd_19_4__D_8, arg_Vn_19_4__D_8, arg_immediate_1_64_immh_immb__128UIntimmhimmb_8}, ursra_asisdshf_r_cond},
+ // URSRA <Vd>.<t>, <Vn>.<t>, #<shift>
+ {0xbf80fc00, 0x2f003400, URSRA, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4__128UIntimmhimmb_8}, ursra_asimdshf_r_cond},
+ // USHL <V><d>, <V><n>, <V><m>
+ {0xff20fc00, 0x7e204400, USHL, instArgs{arg_Vd_22_2__D_3, arg_Vn_22_2__D_3, arg_Vm_22_2__D_3}, nil},
+ // USHL <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x2e204400, USHL, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // UXTL <Vd>.<ta>, <Vn>.<tb>
+ {0xff87fc00, 0x2f00a400, UXTL, instArgs{arg_Vd_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4, arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41}, uxtl_ushll_asimdshf_l_cond},
+ // UXTL2 <Vd>.<ta>, <Vn>.<tb>
+ {0xff87fc00, 0x6f00a400, UXTL2, instArgs{arg_Vd_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4, arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41}, uxtl_ushll_asimdshf_l_cond},
+ // USHLL <Vd>.<ta>, <Vn>.<tb>, #<shift>
+ {0xff80fc00, 0x2f00a400, USHLL, instArgs{arg_Vd_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4, arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41, arg_immediate_0_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__UIntimmhimmb8_1__UIntimmhimmb16_2__UIntimmhimmb32_4}, ushll_asimdshf_l_cond},
+ // USHLL2 <Vd>.<ta>, <Vn>.<tb>, #<shift>
+ {0xff80fc00, 0x6f00a400, USHLL2, instArgs{arg_Vd_arrangement_immh___SEEAdvancedSIMDmodifiedimmediate_0__8H_1__4S_2__2D_4, arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41, arg_immediate_0_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__UIntimmhimmb8_1__UIntimmhimmb16_2__UIntimmhimmb32_4}, ushll_asimdshf_l_cond},
+ // USHR <V><d>, <V><n>, #<shift>
+ {0xff80fc00, 0x7f000400, USHR, instArgs{arg_Vd_19_4__D_8, arg_Vn_19_4__D_8, arg_immediate_1_64_immh_immb__128UIntimmhimmb_8}, ushr_asisdshf_r_cond},
+ // USHR <Vd>.<t>, <Vn>.<t>, #<shift>
+ {0xbf80fc00, 0x2f000400, USHR, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4__128UIntimmhimmb_8}, ushr_asimdshf_r_cond},
+ // USQADD <V><d>, <V><n>
+ {0xff3ffc00, 0x7e203800, USQADD, instArgs{arg_Vd_22_2__B_0__H_1__S_2__D_3, arg_Vn_22_2__B_0__H_1__S_2__D_3}, nil},
+ // USQADD <Vd>.<t>, <Vn>.<t>
+ {0xbf3ffc00, 0x2e203800, USQADD, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // USRA <V><d>, <V><n>, #<shift>
+ {0xff80fc00, 0x7f001400, USRA, instArgs{arg_Vd_19_4__D_8, arg_Vn_19_4__D_8, arg_immediate_1_64_immh_immb__128UIntimmhimmb_8}, usra_asisdshf_r_cond},
+ // USRA <Vd>.<t>, <Vn>.<t>, #<shift>
+ {0xbf80fc00, 0x2f001400, USRA, instArgs{arg_Vd_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_Vn_arrangement_immh_Q___SEEAdvancedSIMDmodifiedimmediate_00__8B_10__16B_11__4H_20__8H_21__2S_40__4S_41__2D_81, arg_immediate_1_width_immh_immb__SEEAdvancedSIMDmodifiedimmediate_0__16UIntimmhimmb_1__32UIntimmhimmb_2__64UIntimmhimmb_4__128UIntimmhimmb_8}, usra_asimdshf_r_cond},
+ // USUBL <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x2e202000, USUBL, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // USUBL2 <Vd>.<ta>, <Vn>.<tb>, <Vm>.<tb>
+ {0xff20fc00, 0x6e202000, USUBL2, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // USUBW <Vd>.<ta>, <Vn>.<ta>, <Vm>.<tb>
+ {0xff20fc00, 0x2e203000, USUBW, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size___8H_0__4S_1__2D_2, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // USUBW2 <Vd>.<ta>, <Vn>.<ta>, <Vm>.<tb>
+ {0xff20fc00, 0x6e203000, USUBW2, instArgs{arg_Vd_arrangement_size___8H_0__4S_1__2D_2, arg_Vn_arrangement_size___8H_0__4S_1__2D_2, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21}, nil},
+ // UZP1 <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e001800, UZP1, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // UZP2 <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e005800, UZP2, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // XTN <Vd>.<tb>, <Vn>.<ta>
+ {0xff3ffc00, 0x0e212800, XTN, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size___8H_0__4S_1__2D_2}, nil},
+ // XTN2 <Vd>.<tb>, <Vn>.<ta>
+ {0xff3ffc00, 0x4e212800, XTN2, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21, arg_Vn_arrangement_size___8H_0__4S_1__2D_2}, nil},
+ // ZIP1 <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e003800, ZIP1, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+ // ZIP2 <Vd>.<t>, <Vn>.<t>, <Vm>.<t>
+ {0xbf20fc00, 0x0e007800, ZIP2, instArgs{arg_Vd_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vn_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31, arg_Vm_arrangement_size_Q___8B_00__16B_01__4H_10__8H_11__2S_20__4S_21__2D_31}, nil},
+}
diff --git a/arm64/arm64asm/testdata/Makefile b/arm64/arm64asm/testdata/Makefile
new file mode 100644
index 0000000..914a9a0
--- /dev/null
+++ b/arm64/arm64asm/testdata/Makefile
@@ -0,0 +1,7 @@
+go test command:
+ cd ..; go test -run 'ObjdumpARM64Cond' -v -timeout 10h -long 2>&1 | tee log
+ cd ..; go test -run 'ObjdumpARM64Testdata' -v -timeout 10h -long 2>&1 | tee -a log
+ cd ..; go test -run 'ObjdumpARM64' -v -timeout 10h -long 2>&1 | tee -a log
+ cd ..; go test -run 'ObjdumpARM64Manual' -v -timeout 10h -long 2>&1 | tee -a log
+ cd ..; go test -run 'TestDecode'
+ cd ..; go test -run '.*'
diff --git a/arm64/arm64asm/testdata/cases.txt b/arm64/arm64asm/testdata/cases.txt
new file mode 100644
index 0000000..57795dd
--- /dev/null
+++ b/arm64/arm64asm/testdata/cases.txt
@@ -0,0 +1,9203 @@
+0a011f1a| gnu adc w10, w8, wzr
+4c00009a| gnu adc x12, x2, x0
+a602093a| gnu adcs w6, w21, w9
+d60217ba| gnu adcs x22, x22, x23
+0921250b| gnu add w9, w8, w5, uxth
+ee9e288b| gnu add x14, x23, w8, sxtb #7
+23123011| gnu add w3, w17, #0xc04
+2ba32391| gnu add x11, x25, #0x8e8
+67158d0b| gnu add w7, w11, w13, asr #5
+30da198b| gnu add x16, x17, x25, lsl #54
+a7e72c2b| gnu adds w7, w29, w12, sxtx #1
+357338ab| gnu adds x21, x25, x24, uxtx #4
+6b147731| gnu adds w11, w3, #0xdc5, lsl #12
+cd59872b| gnu adds w13, w14, w7, asr #22
+e41f4eab| gnu adds x4, xzr, x14, lsr #7
+b7dd8470| gnu adr x23, .+0xfffffffffff09bb7
+0f4996d0| gnu adrp x15, .+0xffffffff2c922000
+a2432412| gnu and w2, w29, #0xf0001fff
+93910e92| gnu and x19, x12, #0x7c007c007c007c
+7a1ec98a| gnu and x26, x19, x9, ror #7
+1ff32972| gnu tst w24, #0xaaaaaaaa
+458051f2| gnu ands x5, x2, #0xffff80000000ffff
+af629a6a| gnu ands w15, w21, w26, asr #24
+7ab0dfea| gnu ands x26, x3, xzr, ror #44
+792bcc1a| gnu asr w25, w27, w12
+872bce9a| gnu asr x7, x28, x14
+99ff4b93| gnu asr x25, x28, #11
+1628c91a| gnu asr w22, w0, w9
+4e2acf9a| gnu asr x14, x18, x15
+4be5a454| gnu b.lt .+0xfffffffffff49ca8
+53257114| gnu b .+0x1c4954c
+dbb557b3| gnu bfxil x27, x14, #23, #23
+70e861b3| gnu bfxil x16, x3, #33, #26
+88a75ab3| gnu bfxil x8, x28, #26, #16
+b03ce70a| gnu bic w16, w5, w7, ror #15
+9235ec8a| gnu bic x18, x12, x12, ror #13
+7450b96a| gnu bics w20, w3, w25, asr #20
+3730b3ea| gnu bics x23, x1, x19, asr #12
+9b897797| gnu bl .+0xfffffffffdde266c
+e0013fd6| gnu blr x15
+a0031fd6| gnu br x29
+e08c31d4| gnu brk #0x8c67
+027eb435| gnu cbnz w2, .+0xfffffffffff68fc0
+c7eb42b5| gnu cbnz x7, .+0x85d78
+8f1d4c34| gnu cbz w15, .+0x983b0
+e1c5abb4| gnu cbz x1, .+0xfffffffffff578bc
+4bfb543a| gnu ccmn w26, #0x14, #0xb, al
+015b46ba| gnu ccmn x24, #0x6, #0x1, pl
+8602463a| gnu ccmn w20, w6, #0x6, eq
+c6d34cba| gnu ccmn x30, x12, #0x6, le
+a76b4f7a| gnu ccmp w29, #0xf, #0x7, vs
+e3d853fa| gnu ccmp x7, #0x13, #0x3, le
+4022467a| gnu ccmp w18, w6, #0x0, cs
+c7b346fa| gnu ccmp x30, x6, #0x7, lt
+ee279b1a| gnu csinc w14, wzr, w27, cs
+4174819a| gnu csinc x1, x2, x1, vc
+5100955a| gnu csinv w17, w2, w21, eq
+573093da| gnu csinv x23, x2, x19, cc
+5f3403d5| gnu clrex #0x4
+e615c05a| gnu cls w6, w15
+ff15c0da| gnu cls xzr, x15
+2e10c05a| gnu clz w14, w1
+a912c0da| gnu clz x9, x21
+ff11352b| gnu cmn w15, w21, uxtb #4
+1f5220ab| gnu cmn x16, w0, uxtw #4
+ff02266b| gnu cmp w23, w6, uxtb
+5fb739eb| gnu cmp x26, w25, sxth #5
+bfa73bf1| gnu cmp x29, #0xee9
+7f5c47eb| gnu cmp x3, x7, lsr #23
+2e458e5a| gnu csneg w14, w9, w14, mi
+c3559cda| gnu csneg x3, x14, x28, pl
+1041d11a| gnu crc32b w16, w8, w17
+bb46c31a| gnu crc32h w27, w21, w3
+c94bd61a| gnu crc32w w9, w30, w22
+8f4cd49a| gnu crc32x w15, w4, x20
+7653d21a| gnu crc32cb w22, w27, w18
+1454d51a| gnu crc32ch w20, w0, w21
+7c58c91a| gnu crc32cw w28, w3, w9
+185ccb9a| gnu crc32cx w24, w0, x11
+8c30941a| gnu csel w12, w4, w20, cc
+0ea08c9a| gnu csel x14, x0, x12, ge
+e3b79f1a| gnu cset w3, ge
+fea79f9a| gnu cset x30, lt
+e5639f5a| gnu csetm w5, vc
+e4739fda| gnu csetm x4, vs
+bad4981a| gnu csinc w26, w5, w24, le
+5167909a| gnu csinc x17, x26, x16, vs
+65e3955a| gnu csinv w5, w27, w21, al
+8e338bda| gnu csinv x14, x28, x11, cc
+0a269d5a| gnu csneg w10, w16, w29, cs
+ab1692da| gnu csneg x11, x21, x18, ne
+418ea5d4| gnu dcps1 #0x2c72
+6239a5d4| gnu dcps2 #0x29cb
+e3ebabd4| gnu dcps3 #0x5f5f
+bf3a03d5| gnu dmb ishst
+e003bfd6| gnu drps
+9f3003d5| gnu dsb #0x00
+c974354a| gnu eon w9, w6, w21, lsl #29
+89b86eca| gnu eon x9, x4, x14, lsr #46
+76e343d2| gnu eor x22, x27, #0xe03fffffffffffff
+536d8c4a| gnu eor w19, w10, w12, asr #27
+d1ef1cca| gnu eor x17, x30, x28, lsl #59
+e0039fd6| gnu eret
+591d8813| gnu extr w25, w10, w8, #7
+888dd693| gnu extr x8, x12, x22, #35
+bf2003d5| gnu sevl
+df2003d5| gnu hint #0x6
+a0fc5fd4| gnu hlt #0xffe5
+df3103d5| gnu isb #0x1
+9dfddf88| gnu ldar w29, [x12]
+76ffdfc8| gnu ldar x22, [x27]
+36ffdf08| gnu ldarb w22, [x25]
+bcfcdf48| gnu ldarh w28, [x5]
+54c17f88| gnu ldaxp w20, w16, [x10]
+3eaf7fc8| gnu ldaxp x30, x11, [x25]
+e2fd5f88| gnu ldaxr w2, [x15]
+f5fd5fc8| gnu ldaxr x21, [x15]
+70fe5f08| gnu ldaxrb w16, [x19]
+bcfc5f48| gnu ldaxrh w28, [x5]
+ecff5928| gnu ldnp w12, wzr, [sp,#204]
+852744a8| gnu ldnp x5, x9, [x28,#64]
+1286d728| gnu ldp w18, w1, [x16],#188
+7668e8a8| gnu ldp x22, x26, [x3],#-384
+6d8bc729| gnu ldp w13, w2, [x27,#60]!
+1cadd1a9| gnu ldp x28, x11, [x8,#280]!
+bf4e7e29| gnu ldp wzr, w19, [x21,#-16]
+61695fa9| gnu ldp x1, x26, [x11,#496]
+4c00e668| gnu ldpsw x12, x0, [x2],#-208
+85a0cb69| gnu ldpsw x5, x8, [x4,#92]!
+9b894d69| gnu ldpsw x27, x2, [x12,#108]
+e9955ab8| gnu ldr w9, [x15],#-87
+5c255df8| gnu ldr x28, [x10],#-46
+703c57b8| gnu ldr w16, [x3,#-141]!
+1dac57f8| gnu ldr x29, [x0,#-134]!
+393c50b9| gnu ldr w25, [x1,#4156]
+498d5cf9| gnu ldr x9, [x10,#14616]
+841fe218| gnu ldr w4, .+0xfffffffffffc43f0
+cce88858| gnu ldr x12, .+0xfffffffffff11d18
+72fa72b8| gnu ldr w18, [x19,x18,sxtx #2]
+daeb66f8| gnu ldr x26, [x30,x6,sxtx]
+8ca74238| gnu ldrb w12, [x28],#42
+4e5c5e38| gnu ldrb w14, [x2,#-27]!
+03936d39| gnu ldrb w3, [x24,#2916]
+577a6e38| gnu ldrb w23, [x18,x14,lsl #0]
+adb54678| gnu ldrh w13, [x13],#107
+820f4c78| gnu ldrh w2, [x28,#192]!
+92787579| gnu ldrh w18, [x4,#6844]
+4bd6c438| gnu ldrsb w11, [x18],#77
+fb478238| gnu ldrsb x27, [sp],#36
+4d7edc38| gnu ldrsb w13, [x18,#-57]!
+18ee9438| gnu ldrsb x24, [x16,#-178]!
+16b9c639| gnu ldrsb w22, [x8,#430]
+37958f39| gnu ldrsb x23, [x9,#997]
+af7ae238| gnu ldrsb w15, [x21,x2,lsl #0]
+1568fa38| gnu ldrsb w21, [x0,x26]
+744bbf38| gnu ldrsb x20, [x27,wzr,uxtw]
+f069a538| gnu ldrsb x16, [x15,x5]
+d9a6cd78| gnu ldrsh w25, [x22],#218
+ff368b78| gnu ldrsh xzr, [x23],#179
+5b8cc878| gnu ldrsh w27, [x2,#136]!
+361f9c78| gnu ldrsh x22, [x25,#-63]!
+359bec79| gnu ldrsh w21, [x25,#5708]
+4d6c8079| gnu ldrsh x13, [x2,#54]
+9deae578| gnu ldrsh w29, [x20,x5,sxtx]
+f2fab878| gnu ldrsh x18, [x23,x24,sxtx #1]
+02669cb8| gnu ldrsw x2, [x16],#-58
+5c8e92b8| gnu ldrsw x28, [x18,#-216]!
+ea9e92b9| gnu ldrsw x10, [x23,#4764]
+6e280c98| gnu ldrsw x14, .+0x1850c
+49dabcb8| gnu ldrsw x9, [x18,w28,sxtw #2]
+64285eb8| gnu ldtr w4, [x3,#-30]
+6ab851f8| gnu ldtr x10, [x3,#-229]
+aa094f38| gnu ldtrb w10, [x13,#240]
+b7894e78| gnu ldtrh w23, [x13,#232]
+85cadd38| gnu ldtrsb w5, [x20,#-36]
+2db99838| gnu ldtrsb x13, [x9,#-117]
+7ef8ce78| gnu ldtrsh w30, [x3,#239]
+786a8978| gnu ldtrsh x24, [x19,#150]
+c5eb81b8| gnu ldtrsw x5, [x30,#30]
+a1f14bb8| gnu ldur w1, [x13,#191]
+c3425cf8| gnu ldur x3, [x22,#-60]
+2e125038| gnu ldurb w14, [x17,#-255]
+26004878| gnu ldurh w6, [x1,#128]
+c3e3cd38| gnu ldursb w3, [x30,#222]
+27618938| gnu ldursb x7, [x9,#150]
+7c71db78| gnu ldursh w28, [x11,#-73]
+1d109e78| gnu ldursh x29, [x0,#-31]
+d48084b8| gnu ldursw x20, [x6,#72]
+172f7f88| gnu ldxp w23, w11, [x24]
+10347fc8| gnu ldxp x16, x13, [x0]
+fe7f5f88| gnu ldxr w30, [sp]
+6c7f5fc8| gnu ldxr x12, [x27]
+047c5f08| gnu ldxrb w4, [x0]
+9a7d5f48| gnu ldxrh w26, [x12]
+4f21cb1a| gnu lsl w15, w10, w11
+1523db9a| gnu lsl x21, x24, x27
+81c74fd3| gnu ubfx x1, x28, #15, #35
+c922c81a| gnu lsl w9, w22, w8
+fd22dc9a| gnu lsl x29, x23, x28
+4226dd1a| gnu lsr w2, w18, w29
+a224ca9a| gnu lsr x2, x5, x10
+707c0153| gnu lsr w16, w3, #1
+34fc4cd3| gnu lsr x20, x1, #12
+6c24c91a| gnu lsr w12, w3, w9
+8527c89a| gnu lsr x5, x28, x8
+ea36171b| gnu madd w10, w23, w23, w13
+e47a0a9b| gnu madd x4, x23, x10, x30
+35fd001b| gnu mneg w21, w9, w0
+77ff0e9b| gnu mneg x23, x27, x14
+38030011| gnu add w24, w25, #0x0
+37030091| gnu add x23, x25, #0x0
+94b8ad12| gnu mov w20, #0x923bffff
+fff29892| gnu mov xzr, #0xffffffffffff3868
+d4adb252| gnu mov w20, #0x956e0000
+8747e2d2| gnu mov x7, #0x123c000000000000
+f5132d32| gnu orr w21, wzr, #0xf80000
+eb7f34b2| gnu mov x11, #0xffffffffffffffff
+f503092a| gnu mov w21, w9
+e7031eaa| gnu mov x7, x30
+35e8c1f2| gnu movk x21, #0xf41, lsl #32
+44629512| gnu mov w4, #0xffff54ed
+cc0dd392| gnu mov x12, #0xffff6791ffffffff
+cbfb9152| gnu mov w11, #0x8fde
+3d25ebd2| gnu mov x29, #0x5929000000000000
+e67a3fd5| gnu mrs x6, s3_7_c7_c10_7
+f9dd15d5| gnu msr s2_5_c13_c13_7, x25
+25840c1b| gnu msub w5, w1, w12, w1
+02ce1a9b| gnu msub x2, x16, x26, x19
+b67c1a1b| gnu mul w22, w5, w26
+607c049b| gnu mul x0, x3, x4
+e97f6daa| gnu mvn x9, x13, lsr #31
+fe071f6b| gnu negs w30, wzr, lsl #1
+f68f14eb| gnu negs x22, x20, lsl #35
+e8030d5a| gnu ngc w8, w13
+fe031eda| gnu ngc x30, x30
+e5030a7a| gnu ngcs w5, w10
+f00318fa| gnu ngcs x16, x24
+1f2003d5| gnu nop
+032ee42a| gnu orn w3, w16, w4, ror #11
+634cf6aa| gnu orn x3, x3, x22, ror #19
+f8492d32| gnu orr w24, w15, #0xfff8003f
+96f542b2| gnu orr x22, x12, #0xcfffffffffffffff
+1c110d2a| gnu orr w28, w8, w13, lsl #4
+c65b1eaa| gnu orr x6, x30, x30, lsl #22
+f300b2f9| gnu prfm pstl2strm, [x7,#25600]
+2aa196d8| gnu prfm plil2keep, .+0xfffffffffff2d424
+2ad8bef8| gnu prfm plil2keep, [x1,w30,sxtw #3]
+c62184f8| gnu prfum #0x06, [x14,#66]
+3601c05a| gnu rbit w22, w9
+6401c0da| gnu rbit x4, x11
+e0035fd6| gnu ret xzr
+0a09c05a| gnu rev w10, w8
+220cc0da| gnu rev x2, x1
+b206c05a| gnu rev16 w18, w21
+2407c0da| gnu rev16 x4, x25
+7e0bc0da| gnu rev32 x30, x27
+ae0ec0da| gnu rev x14, x21
+336f8413| gnu extr w19, w25, w4, #27
+af47ca93| gnu extr x15, x29, x10, #17
+bc2cdb1a| gnu ror w28, w5, w27
+e52fdd9a| gnu ror x5, xzr, x29
+832dc31a| gnu ror w3, w12, w3
+e22ec09a| gnu ror x2, x23, x0
+1801045a| gnu sbc w24, w8, w4
+5a0119da| gnu sbc x26, x10, x25
+52021b7a| gnu sbcs w18, w18, w27
+250105fa| gnu sbcs x5, x9, x5
+fc430b13| gnu sbfx w28, wzr, #11, #6
+a0574093| gnu sbfx x0, x29, #0, #22
+8b3b7a93| gnu sbfiz x11, x28, #6, #15
+fc310513| gnu sbfx w28, w15, #5, #8
+fbdc4293| gnu sbfx x27, x7, #2, #54
+c90dd61a| gnu sdiv w9, w14, w22
+a90ecd9a| gnu sdiv x9, x21, x13
+9f2003d5| gnu sev
+bf2003d5| gnu sevl
+d27f229b| gnu smull x18, w30, w2
+efff3a9b| gnu smnegl x15, wzr, w26
+7d963f9b| gnu smsubl x29, w19, wzr, x5
+b57e519b| gnu smulh x21, x21, x17
+a07c209b| gnu smull x0, w5, w0
+d0fe9f88| gnu stlr w16, [x22]
+03ff9fc8| gnu stlr x3, [x24]
+8bff9f08| gnu stlrb w11, [x28]
+f0fe9f48| gnu stlrh w16, [x23]
+c6ae3588| gnu stlxp w21, w6, w11, [x22]
+c6fa22c8| gnu stlxp w2, x6, x30, [x22]
+affd0e88| gnu stlxr w14, w15, [x13]
+67ff1cc8| gnu stlxr w28, x7, [x27]
+17ff1c08| gnu stlxrb w28, w23, [x24]
+7bfe0b48| gnu stlxrh w11, w27, [x19]
+2a8c0528| gnu stnp w10, w3, [x1,#44]
+67fc10a8| gnu stnp x7, xzr, [x3,#264]
+5559bd28| gnu stp w21, w22, [x10],#-24
+166c96a8| gnu stp x22, x27, [x0],#352
+3d4a8729| gnu stp w29, w18, [x17,#56]!
+912f86a9| gnu stp x17, x11, [x28,#96]!
+c40d3029| gnu stp w4, w3, [x14,#-128]
+f73f39a9| gnu stp x23, x15, [sp,#-112]
+34441eb8| gnu str w20, [x1],#-28
+11f60bf8| gnu str x17, [x16],#191
+c15d15b8| gnu str w1, [x14,#-171]!
+ae4d12f8| gnu str x14, [x13,#-220]!
+03ef39b9| gnu str w3, [x24,#14828]
+208228f9| gnu str x0, [x17,#20736]
+734823f8| gnu str x19, [x3,w3,uxtw]
+ffb41838| gnu strb wzr, [x7],#-117
+bb0d1a38| gnu strb w27, [x13,#-96]!
+b1612239| gnu strb w17, [x13,#2200]
+92682038| gnu strb w18, [x4,x0]
+81682638| gnu strb w1, [x4,x6]
+87841b78| gnu strh w7, [x4],#-72
+cc3d1878| gnu strh w12, [x14,#-125]!
+53cf1c79| gnu strh w19, [x26,#3686]
+63792d78| gnu strh w3, [x11,x13,lsl #1]
+9d7803b8| gnu sttr w29, [x4,#55]
+b9c807f8| gnu sttr x25, [x5,#124]
+f04a1e38| gnu sttrb w16, [x23,#-28]
+52990078| gnu sttrh w18, [x10,#9]
+152002b8| gnu stur w21, [x0,#34]
+397217f8| gnu stur x25, [x17,#-137]
+8f320138| gnu sturb w15, [x20,#19]
+eb021b78| gnu sturh w11, [x23,#-80]
+854a3f88| gnu stxp wzr, w5, w18, [x20]
+d12620c8| gnu stxp w0, x17, x9, [x22]
+537e0288| gnu stxr w2, w19, [x18]
+af7d15c8| gnu stxr w21, x15, [x13]
+e97c1d08| gnu stxrb w29, w9, [x7]
+837d1b48| gnu stxrh w27, w3, [x12]
+f25e344b| gnu sub w18, w23, w20, uxtw #7
+3ac825cb| gnu sub x26, x1, w5, sxtw #2
+e8f40ccb| gnu sub x8, x7, x12, lsl #61
+a6ad226b| gnu subs w6, w13, w2, sxth #3
+647735eb| gnu subs x4, x27, x21, uxtx #5
+c770566b| gnu subs w7, w6, w22, lsr #28
+d03c1aeb| gnu subs x16, x6, x26, lsl #15
+a17f03d4| gnu svc #0x1bfd
+991f0013| gnu sxtb w25, w28
+a91d4093| gnu sxtb x9, w13
+083d0013| gnu sxth w8, w8
+393e4093| gnu sxth x25, w17
+1b7c4093| gnu sxtw x27, w0
+0c5b2cd5| gnu sysl x12, #4, C5, C11, #0
+09868bb7| gnu tbnz x9, #49, .+0x70c0
+8c2e6836| gnu tbz w12, #13, .+0x5d0
+3f0d0172| gnu tst w9, #0x80000007
+df6f7cf2| gnu tst x30, #0xfffffff0
+1f2f11ea| gnu tst x24, x17, lsl #11
+9ced71d3| gnu ubfx x28, x12, #49, #11
+1cbb7fd3| gnu ubfiz x28, x24, #1, #47
+25e661d3| gnu ubfx x5, x17, #33, #25
+af0adc1a| gnu udiv w15, w21, w28
+550ac29a| gnu udiv x21, x18, x2
+9102b19b| gnu umaddl x17, w20, w17, x0
+41fea39b| gnu umnegl x1, w18, w3
+87d8a39b| gnu umsubl x7, w4, w3, x22
+987ed89b| gnu umulh x24, x20, x24
+d37eb29b| gnu umull x19, w22, w18
+461c0053| gnu uxtb w6, w2
+f43c0053| gnu uxth w20, w7
+5f2003d5| gnu wfe
+7f2003d5| gnu wfi
+3f2003d5| gnu yield
+e5bb200e| gnu abs v5.8b, v31.8b
+c9842d0e| gnu add v9.8b, v6.8b, v13.8b
+f4bd394e| gnu addp v20.16b, v15.16b, v25.16b
+b3b8b14e| gnu addv s19, v5.4s
+cd5b284e| gnu aesd v13.16b, v30.16b
+4b4b284e| gnu aese v11.16b, v26.16b
+2879284e| gnu aesimc v8.16b, v9.16b
+fe68284e| gnu aesmc v30.16b, v7.16b
+f61e334e| gnu and v22.16b, v23.16b, v19.16b
+88a4002f| gnu mvni v8.4h, #0x4, lsl #8
+1877076f| gnu bic v24.4s, #0xf8, lsl #24
+0d1e6c0e| gnu bic v13.8b, v16.8b, v12.8b
+b81ce26e| gnu bif v24.16b, v5.16b, v2.16b
+381cbf2e| gnu bit v24.8b, v1.8b, v31.8b
+cd1f6c6e| gnu bsl v13.16b, v30.16b, v12.16b
+8d48a00e| gnu cls v13.2s, v4.2s
+324ba02e| gnu clz v18.2s, v25.2s
+c88f2b2e| gnu cmeq v8.8b, v30.8b, v11.8b
+a799e05e| gnu cmeq d7, d13, #0
+dc9be04e| gnu cmeq v28.2d, v30.2d, #0
+623f2d4e| gnu cmge v2.16b, v27.16b, v13.16b
+e889e06e| gnu cmge v8.2d, v15.2d, #0
+cb37e55e| gnu cmgt d11, d30, d5
+8e37b00e| gnu cmgt v14.2s, v28.2s, v16.2s
+1a8be04e| gnu cmgt v26.2d, v24.2d, #0
+7f37eb7e| gnu cmhi d31, d27, d11
+333d356e| gnu cmhs v19.16b, v9.16b, v21.16b
+bd9ae07e| gnu cmle d29, d21, #0
+8999602e| gnu cmle v9.4h, v12.4h, #0
+aca9e05e| gnu cmlt d12, d13, #0
+7fa8204e| gnu cmlt v31.16b, v3.16b, #0
+588db20e| gnu cmtst v24.2s, v10.2s, v18.2s
+cc051d5e| gnu mov b12, v14.b[14]
+4c06050e| gnu dup v12.8b, v18.b[2]
+790c020e| gnu dup v25.4h, w3
+391d286e| gnu eor v25.16b, v9.16b, v8.16b
+4b30156e| gnu ext v11.16b, v2.16b, v21.16b, #6
+44d6bf7e| gnu fabd s4, s18, s31
+17fba00e| gnu fabs v23.2s, v24.2s
+90c2201e| gnu fabs s16, s20
+62c2601e| gnu fabs d2, d19
+eeef3f7e| gnu facge s14, s31, s31
+09efa07e| gnu facgt s9, s24, s0
+72edae6e| gnu facgt v18.4s, v11.4s, v14.4s
+61d5394e| gnu fadd v1.4s, v11.4s, v25.4s
+0d2a3d1e| gnu fadd s13, s16, s29
+4b296f1e| gnu fadd d11, d10, d15
+78d8307e| gnu faddp s24, v3.2s
+e7d7322e| gnu faddp v7.2s, v31.2s, v18.2s
+e8253c1e| gnu fccmp s15, s28, #0x8, cs
+e8857f1e| gnu fccmp d15, d31, #0x8, hi
+5714291e| gnu fccmpe s2, s9, #0x7, ne
+b484631e| gnu fccmpe d5, d3, #0x4, hi
+3ce5685e| gnu fcmeq d28, d9, d8
+50e6214e| gnu fcmeq v16.4s, v18.4s, v1.4s
+9ddae05e| gnu fcmeq d29, d20, #0
+b3e62b7e| gnu fcmge s19, s21, s11
+0ce4396e| gnu fcmge v12.4s, v0.4s, v25.4s
+a6c9e07e| gnu fcmge d6, d13, #0
+ede6bd7e| gnu fcmgt s13, s23, s29
+13e6ae2e| gnu fcmgt v19.2s, v16.2s, v14.2s
+4cc9e05e| gnu fcmgt d12, d10, #0
+41cba04e| gnu fcmgt v1.4s, v26.4s, #0
+96d8e07e| gnu fcmle d22, d4, #0
+0be9a05e| gnu fcmlt s11, s8, #0
+dfe9a04e| gnu fcmlt v31.4s, v14.4s, #0
+a023301e| gnu fcmp s29, s16
+68213e1e| gnu fcmp s11, #0
+20236d1e| gnu fcmp d25, d13
+68216b1e| gnu fcmp d11, #0
+3023351e| gnu fcmpe s25, s21
+78203e1e| gnu fcmpe s3, #0
+b022721e| gnu fcmpe d21, d18
+f8226f1e| gnu fcmpe d23, #0
+b54e271e| gnu fcsel s21, s21, s7, mi
+319f611e| gnu fcsel d17, d25, d1, ls
+2142e21e| gnu fcvt s1, h17
+cfc3e21e| gnu fcvt d15, h30
+01c1231e| gnu fcvt h1, s8
+4fc0221e| gnu fcvt d15, s2
+f9c0631e| gnu fcvt h25, d7
+2b43621e| gnu fcvt s11, d25
+f1c8615e| gnu fcvtas d17, d7
+ea01241e| gnu fcvtas w10, s15
+0c02249e| gnu fcvtas x12, s16
+e702641e| gnu fcvtas w7, d23
+f501649e| gnu fcvtas x21, d15
+45ca217e| gnu fcvtau s5, s18
+66c9212e| gnu fcvtau v6.2s, v11.2s
+b302251e| gnu fcvtau w19, s21
+e102259e| gnu fcvtau x1, s23
+5703651e| gnu fcvtau w23, d26
+2c01659e| gnu fcvtau x12, d9
+2c7b210e| gnu fcvtl v12.4s, v25.4h
+f478214e| gnu fcvtl2 v20.4s, v7.8h
+d1b8615e| gnu fcvtms d17, d6
+a2ba614e| gnu fcvtms v2.2d, v21.2d
+ee01301e| gnu fcvtms w14, s15
+de01309e| gnu fcvtms x30, s14
+8401701e| gnu fcvtms w4, d12
+c502709e| gnu fcvtms x5, d22
+44b8617e| gnu fcvtmu d4, d2
+5601311e| gnu fcvtmu w22, s10
+4602319e| gnu fcvtmu x6, s18
+1003711e| gnu fcvtmu w16, d24
+e602719e| gnu fcvtmu x6, d23
+c16b210e| gnu fcvtn v1.4h, v30.4s
+4d6b614e| gnu fcvtn2 v13.4s, v26.2d
+95ab215e| gnu fcvtns s21, s28
+65a9614e| gnu fcvtns v5.2d, v11.2d
+8a02201e| gnu fcvtns w10, s20
+bc03209e| gnu fcvtns x28, s29
+fc01601e| gnu fcvtns w28, d15
+9800609e| gnu fcvtns x24, d4
+b1aa617e| gnu fcvtnu d17, d21
+80a9216e| gnu fcvtnu v0.4s, v12.4s
+3201211e| gnu fcvtnu w18, s9
+e101219e| gnu fcvtnu x1, s15
+ae00611e| gnu fcvtnu w14, d5
+9503619e| gnu fcvtnu x21, d28
+3faae15e| gnu fcvtps d31, d17
+c4a8e14e| gnu fcvtps v4.2d, v6.2d
+ab01281e| gnu fcvtps w11, s13
+5800289e| gnu fcvtps x24, s2
+9b02681e| gnu fcvtps w27, d20
+de03689e| gnu fcvtps x30, d30
+d8aaa17e| gnu fcvtpu s24, s22
+e203291e| gnu fcvtpu w2, s31
+5302299e| gnu fcvtpu x19, s18
+5302691e| gnu fcvtpu w19, d18
+8501699e| gnu fcvtpu x5, d12
+93ff735f| gnu fcvtzs d19, d28, #13
+b7fd504f| gnu fcvtzs v23.2d, v13.2d, #48
+7ebba15e| gnu fcvtzs s30, s27
+d49f181e| gnu fcvtzs w20, s30, #25
+538d189e| gnu fcvtzs x19, s10, #29
+7e74589e| gnu fcvtzs x30, d3, #35
+4300381e| gnu fcvtzs w3, s2
+bc03389e| gnu fcvtzs x28, s29
+c702781e| gnu fcvtzs w7, d22
+0401789e| gnu fcvtzs x4, d8
+d1ff2e7f| gnu fcvtzu s17, s30, #18
+d0fd3b2f| gnu fcvtzu v16.2s, v14.2s, #5
+70bae17e| gnu fcvtzu d16, d19
+3ef6191e| gnu fcvtzu w30, s17, #3
+cae7199e| gnu fcvtzu x10, s30, #7
+cffb599e| gnu fcvtzu x15, d30, #2
+e402391e| gnu fcvtzu w4, s23
+1a03399e| gnu fcvtzu x26, s24
+0401791e| gnu fcvtzu w4, d8
+c200799e| gnu fcvtzu x2, d6
+ebfe346e| gnu fdiv v11.4s, v23.4s, v20.4s
+c918371e| gnu fdiv s9, s6, s23
+911a7f1e| gnu fdiv d17, d20, d31
+a81f0c1f| gnu fmadd s8, s29, s12, s7
+d0404a1f| gnu fmadd d16, d6, d10, d16
+7ff6324e| gnu fmax v31.4s, v19.4s, v18.4s
+b84b351e| gnu fmax s24, s29, s21
+d64b621e| gnu fmax d22, d30, d2
+016b241e| gnu fmaxnm s1, s24, s4
+5b69781e| gnu fmaxnm d27, d10, d24
+f1c8707e| gnu fmaxnmp d17, v7.2d
+27c5306e| gnu fmaxnmp v7.4s, v9.4s, v16.4s
+aef8707e| gnu fmaxp d14, v5.2d
+53f6202e| gnu fmaxp v19.2s, v18.2s, v0.2s
+78fb306e| gnu fmaxv s24, v27.4s
+5af4ec4e| gnu fmin v26.2d, v2.2d, v12.2d
+505a3c1e| gnu fmin s16, s18, s28
+4858661e| gnu fmin d8, d2, d6
+a9c6e04e| gnu fminnm v9.2d, v21.2d, v0.2d
+987b311e| gnu fminnm s24, s28, s17
+95796f1e| gnu fminnm d21, d12, d15
+f5cbb07e| gnu fminnmp s21, v31.2s
+b0f8f07e| gnu fminp d16, v5.2d
+8bf5a42e| gnu fminp v11.2s, v12.2s, v4.2s
+87cd384e| gnu fmla v7.4s, v12.4s, v24.4s
+fd50db5f| gnu fmls d29, d7, v27.d[0]
+d1ccb44e| gnu fmls v17.4s, v6.4s, v20.4s
+ebf5064f| gnu fmov v11.4s, #-2.421875000000000000e-01
+49f4056f| gnu fmov v9.2d, #-9.000000000000000000e+00
+0940201e| gnu fmov s9, s0
+db43601e| gnu fmov d27, d30
+a901271e| gnu fmov s9, w13
+3702261e| gnu fmov w23, s17
+4d02679e| gnu fmov d13, x18
+9d02af9e| gnu fmov v29.d[1], x20
+ef03669e| gnu fmov x15, d31
+7101ae9e| gnu fmov x17, v11.d[1]
+0e103d1e| gnu fmov s14, #-7.500000000000000000e-01
+1e50761e| gnu fmov d30, #-1.800000000000000000e+01
+d2b4121f| gnu fmsub s18, s6, s18, s13
+0a9c4c1f| gnu fmsub d10, d0, d12, d7
+0d99b35f| gnu fmul s13, s8, v19.s[3]
+a89b9b0f| gnu fmul v8.2s, v29.2s, v27.s[2]
+75dc376e| gnu fmul v21.4s, v3.4s, v23.4s
+7909241e| gnu fmul s25, s11, s4
+d7096b1e| gnu fmul d23, d14, d11
+2999ab7f| gnu fmulx s9, s9, v11.s[3]
+35dd6d5e| gnu fmulx d21, d9, d13
+c8dc284e| gnu fmulx v8.4s, v6.4s, v8.4s
+c043211e| gnu fneg s0, s30
+4742611e| gnu fneg d7, d18
+9c51251f| gnu fnmadd s28, s12, s5, s20
+e407771f| gnu fnmadd d4, d31, d23, d1
+fbfa3a1f| gnu fnmsub s27, s23, s26, s30
+bbb0691f| gnu fnmsub d27, d5, d9, d12
+6a8b3f1e| gnu fnmul s10, s27, s31
+1a8b751e| gnu fnmul d26, d24, d21
+57d8e15e| gnu frecpe d23, d2
+62dba14e| gnu frecpe v2.4s, v27.4s
+81fd325e| gnu frecps s1, s12, s18
+31fe224e| gnu frecps v17.4s, v17.4s, v2.4s
+ecf9e15e| gnu frecpx d12, d15
+c18b216e| gnu frinta v1.4s, v30.4s
+0240261e| gnu frinta s2, s0
+8041661e| gnu frinta d0, d12
+c89ba12e| gnu frinti v8.2s, v30.2s
+2ec2271e| gnu frinti s14, s17
+5cc0671e| gnu frinti d28, d2
+3898210e| gnu frintm v24.2s, v1.2s
+9843251e| gnu frintm s24, s28
+5b40651e| gnu frintm d27, d2
+2189614e| gnu frintn v1.2d, v9.2d
+7e42241e| gnu frintn s30, s19
+5d40641e| gnu frintn d29, d2
+85c3241e| gnu frintp s5, s28
+46c2641e| gnu frintp d6, d18
+c39b216e| gnu frintx v3.4s, v30.4s
+a243271e| gnu frintx s2, s29
+1d41671e| gnu frintx d29, d8
+5499e14e| gnu frintz v20.2d, v10.2d
+92c2251e| gnu frintz s18, s20
+75c2651e| gnu frintz d21, d19
+ddd9e17e| gnu frsqrte d29, d14
+60fff85e| gnu frsqrts d0, d27, d24
+dafffb4e| gnu frsqrts v26.2d, v30.2d, v27.2d
+1ff9a12e| gnu fsqrt v31.2s, v8.2s
+2dc3211e| gnu fsqrt s13, s25
+72c0611e| gnu fsqrt d18, d3
+7d3a3e1e| gnu fsub s29, s19, s30
+3f38771e| gnu fsub d31, d1, d23
+185e016e| gnu mov v24.b[0], v16.b[11]
+911d0d4e| gnu mov v17.b[6], w12
+2877400c| gnu ld1 {v8.4h}, [x25]
+8ea8404c| gnu ld1 {v14.4s, v15.4s}, [x4]
+0f62404c| gnu ld1 {v15.16b-v17.16b}, [x16]
+0f27400c| gnu ld1 {v15.4h-v18.4h}, [x24]
+4c75df0c| gnu ld1 {v12.4h}, [x10],#8
+2f7bd04c| gnu ld1 {v15.4s}, [x25], x16
+eaaadf0c| gnu ld1 {v10.2s, v11.2s}, [x23],#16
+eca7cc4c| gnu ld1 {v12.8h, v13.8h}, [sp], x12
+cd60df4c| gnu ld1 {v13.16b-v15.16b}, [x6],#48
+9163df0c| gnu ld1 {v17.8b-v19.8b}, [x28],#24
+152ddf4c| gnu ld1 {v21.2d-v24.2d}, [x8],#64
+0725c04c| gnu ld1 {v7.8h-v10.8h}, [x8], x0
+7c04404d| gnu ld1 {v28.b}[9], [x3]
+6d49404d| gnu ld1 {v13.h}[5], [x11]
+9e81400d| gnu ld1 {v30.s}[0], [x12]
+d384404d| gnu ld1 {v19.d}[1], [x6]
+b20ddf4d| gnu ld1 {v18.b}[11], [x13],#1
+f114cd4d| gnu ld1 {v17.b}[13], [x7], x13
+bb92df4d| gnu ld1 {v27.s}[3], [x21],#4
+a883d64d| gnu ld1 {v8.s}[2], [x29], x22
+f584df4d| gnu ld1 {v21.d}[1], [x7],#8
+0284c80d| gnu ld1 {v2.d}[0], [x0], x8
+91c3400d| gnu ld1r {v17.8b}, [x28]
+71c9df0d| gnu ld1r {v17.2s}, [x11],#4
+e7c4db0d| gnu ld1r {v7.4h}, [x7], x27
+b787404c| gnu ld2 {v23.8h, v24.8h}, [x29]
+1280df0c| gnu ld2 {v18.8b, v19.8b}, [x0],#16
+2f88c10c| gnu ld2 {v15.2s, v16.2s}, [x1], x1
+a01e604d| gnu ld2 {v0.b, v1.b}[15], [x21]
+eb82604d| gnu ld2 {v11.s, v12.s}[2], [x23]
+f985600d| gnu ld2 {v25.d, v26.d}[0], [x15]
+e315ff0d| gnu ld2 {v3.b, v4.b}[5], [x15],#2
+1c11f24d| gnu ld2 {v28.b, v29.b}[12], [x8], x18
+f341ef4d| gnu ld2 {v19.h, v20.h}[4], [x15], x15
+5a80ff4d| gnu ld2 {v26.s, v27.s}[2], [x2],#8
+d781fd0d| gnu ld2 {v23.s, v24.s}[0], [x14], x29
+c885ff0d| gnu ld2 {v8.d, v9.d}[0], [x14],#16
+1286f34d| gnu ld2 {v18.d, v19.d}[1], [x16], x19
+06c2600d| gnu ld2r {v6.8b, v7.8b}, [x16]
+95c7ff4d| gnu ld2r {v21.8h, v22.8h}, [x28],#4
+d4c1e14d| gnu ld2r {v20.16b, v21.16b}, [x14], x1
+eb4bdf4c| gnu ld3 {v11.4s-v13.4s}, [sp],#48
+ce4fc24c| gnu ld3 {v14.2d-v16.2d}, [x30], x2
+db23400d| gnu ld3 {v27.b-v29.b}[0], [x30]
+26b3400d| gnu ld3 {v6.s-v8.s}[1], [x25]
+37a4400d| gnu ld3 {v23.d-v25.d}[0], [x1]
+052edf4d| gnu ld3 {v5.b-v7.b}[11], [x16],#3
+8c3ccd0d| gnu ld3 {v12.b-v14.b}[7], [x4], x13
+74b0df4d| gnu ld3 {v20.s-v22.s}[3], [x3],#12
+b7b1c84d| gnu ld3 {v23.s-v25.s}[3], [x13], x8
+e6a5df4d| gnu ld3 {v6.d-v8.d}[1], [x15],#24
+42a5c80d| gnu ld3 {v2.d-v4.d}[0], [x10], x8
+9ceb400d| gnu ld3r {v28.2s-v30.2s}, [x28]
+6aeadf4d| gnu ld3r {v10.4s-v12.4s}, [x19],#12
+65ebce4d| gnu ld3r {v5.4s-v7.4s}, [x27], x14
+ea05400c| gnu ld4 {v10.4h-v13.4h}, [x15]
+1f03df0c| gnu ld4 {v31.8b, v0.8b, v1.8b, v2.8b}, [x24],#32
+ae09c90c| gnu ld4 {v14.2s-v17.2s}, [x13], x9
+fd3a604d| gnu ld4 {v29.b, v30.b, v31.b, v0.b}[14], [x23]
+d8a0604d| gnu ld4 {v24.s-v27.s}[2], [x6]
+62a4604d| gnu ld4 {v2.d-v5.d}[1], [x3]
+712fff0d| gnu ld4 {v17.b-v20.b}[3], [x27],#4
+aa27f40d| gnu ld4 {v10.b-v13.b}[1], [x29], x20
+be71ff4d| gnu ld4 {v30.h, v31.h, v0.h, v1.h}[6], [x13],#8
+e360ee4d| gnu ld4 {v3.h-v6.h}[4], [x7], x14
+c0a0ff0d| gnu ld4 {v0.s-v3.s}[0], [x6],#16
+d3a3e00d| gnu ld4 {v19.s-v22.s}[0], [x30], x0
+95a7ff0d| gnu ld4 {v21.d-v24.d}[0], [x28],#32
+32a6e14d| gnu ld4 {v18.d-v21.d}[1], [x17], x1
+56e0604d| gnu ld4r {v22.16b-v25.16b}, [x2]
+dce7ff0d| gnu ld4r {v28.4h-v31.4h}, [x30],#8
+14e8ef0d| gnu ld4r {v20.2s-v23.2s}, [x0], x15
+7776732c| gnu ldnp s23, s29, [x19,#-104]
+23dd746c| gnu ldnp d3, d23, [x9,#-184]
+383e48ac| gnu ldnp q24, q15, [x17,#256]
+0d10c12c| gnu ldp s13, s4, [x0],#8
+fe3ae66c| gnu ldp d30, d14, [x23],#-416
+f627f9ac| gnu ldp q22, q9, [sp],#-224
+918cd82d| gnu ldp s17, s3, [x4,#196]!
+986be46d| gnu ldp d24, d26, [x28,#-448]!
+ebd8f8ad| gnu ldp q11, q22, [x7,#-240]!
+3c905c2d| gnu ldp s28, s4, [x1,#228]
+5887536d| gnu ldp d24, d1, [x26,#312]
+08957cad| gnu ldp q8, q5, [x8,#-112]
+c5e5543c| gnu ldr b5, [x14],#-178
+4ff5417c| gnu ldr h15, [x10],#31
+72e54bbc| gnu ldr s18, [x11],#190
+16b55dfc| gnu ldr d22, [x8],#-37
+9e24db3c| gnu ldr q30, [x4],#-78
+d20c503c| gnu ldr b18, [x6,#-256]!
+1f1c4d7c| gnu ldr h31, [x0,#209]!
+2fbf4dbc| gnu ldr s15, [x25,#219]!
+a06c59fc| gnu ldr d0, [x5,#-106]!
+886ddd3c| gnu ldr q8, [x12,#-42]!
+58f64e3d| gnu ldr b24, [x18,#957]
+f5c3547d| gnu ldr h21, [sp,#2656]
+8e8a7bbd| gnu ldr s14, [x20,#15240]
+8e3c7afd| gnu ldr d14, [x4,#29816]
+f2aeff3d| gnu ldr q18, [x23,#65200]
+92831b1c| gnu ldr s18, .+0x37070
+3e01b55c| gnu ldr d30, .+0xfffffffffff6a024
+fdee3b9c| gnu ldr q29, .+0x77ddc
+1d78793c| gnu ldr b29, [x0,x25,lsl #0]
+b8f15d3c| gnu ldur b24, [x13,#-33]
+95635c7c| gnu ldur h21, [x28,#-58]
+27d046bc| gnu ldur s7, [x1,#109]
+21624efc| gnu ldur d1, [x17,#230]
+6dd2d83c| gnu ldur q13, [x19,#-115]
+dc09be6f| gnu mla v28.4s, v14.4s, v30.s[3]
+eb97af4e| gnu mla v11.4s, v31.4s, v15.4s
+0495722e| gnu mls v4.4h, v8.4h, v18.4h
+21070a5e| gnu mov h1, v25.h[2]
+92471b6e| gnu mov v18.b[13], v28.b[8]
+7a1e134e| gnu mov v26.b[9], w19
+761fa30e| gnu orr v22.8b, v27.8b, v3.8b
+f23d070e| gnu umov w18, v15.b[3]
+a5e6064f| gnu movi v5.16b, #0xd5
+63c5064f| gnu movi v3.4s, #0xcb, msl #8
+bca7014f| gnu movi v28.8h, #0x3d, lsl #8
+95e4040f| gnu movi v21.8b, #0x84
+fce4072f| gnu movi d28, #0xffffff0000ffffff
+24e6036f| gnu movi v4.2d, #0xffffff000000ff
+429d6a4e| gnu mul v2.8h, v10.8h, v10.8h
+e558202e| gnu mvn v5.8b, v7.8b
+fe65012f| gnu mvni v30.2s, #0x2f, lsl #24
+2b16046f| gnu bic v11.4s, #0x91
+7756016f| gnu bic v23.4s, #0x33, lsl #16
+e159202e| gnu mvn v1.8b, v15.8b
+da1cf14e| gnu orn v26.16b, v6.16b, v17.16b
+ca04014f| gnu movi v10.4s, #0x26
+14a6020f| gnu movi v20.4h, #0x50, lsl #8
+2f1fbf0e| gnu orr v15.8b, v25.8b, v31.8b
+74e2f20e| gnu pmull v20.1q, v19.1d, v18.1d
+2740262e| gnu raddhn v7.8b, v1.8h, v6.8h
+17412e6e| gnu raddhn2 v23.16b, v8.8h, v14.8h
+da59602e| gnu rbit v26.8b, v14.8b
+230a604e| gnu rev64 v3.8h, v17.8h
+178d210f| gnu rshrn v23.2s, v8.2d, #31
+6b8d2c4f| gnu rshrn2 v11.4s, v11.2d, #20
+b57c2a0e| gnu saba v21.8b, v5.8b, v10.8b
+71533d0e| gnu sabal v17.8h, v27.8b, v29.8b
+1c50774e| gnu sabal2 v28.4s, v0.8h, v23.8h
+1974be4e| gnu sabd v25.4s, v0.4s, v30.4s
+6b71ad0e| gnu sabdl v11.2d, v11.2s, v13.2s
+5270324e| gnu sabdl2 v18.8h, v2.16b, v18.16b
+366b200e| gnu sadalp v22.4h, v25.8b
+1802680e| gnu saddl v24.4s, v16.4h, v8.4h
+022b604e| gnu saddlp v2.4s, v24.8h
+413ab04e| gnu saddlv d1, v18.4s
+4013750e| gnu saddw v0.4s, v26.4s, v21.4h
+4412744e| gnu saddw2 v4.4s, v18.4s, v20.8h
+2ee6255f| gnu scvtf s14, s17, #27
+dce75f4f| gnu scvtf v28.2d, v30.2d, #33
+5bdb615e| gnu scvtf d27, d26
+3ad9210e| gnu scvtf v26.2s, v9.2s
+1ceb421e| gnu scvtf d28, w24, #6
+9dde029e| gnu scvtf s29, x20, #9
+57d1429e| gnu scvtf d23, x10, #12
+d600221e| gnu scvtf s22, w6
+c503621e| gnu scvtf d5, w30
+3303229e| gnu scvtf s19, x25
+0003629e| gnu scvtf d0, x24
+6f01075e| gnu sha1c q15, s11, v7.4s
+9308285e| gnu sha1h s19, s4
+b420105e| gnu sha1m q20, s5, v16.4s
+f4131f5e| gnu sha1p q20, s31, v31.4s
+dc311f5e| gnu sha1su0 v28.4s, v14.4s, v31.4s
+bb1a285e| gnu sha1su1 v27.4s, v21.4s
+2753075e| gnu sha256h2 q7, q25, v7.4s
+3141065e| gnu sha256h q17, q9, v6.4s
+172b285e| gnu sha256su0 v23.4s, v24.4s
+bb621b5e| gnu sha256su1 v27.4s, v21.4s, v27.4s
+7005644e| gnu shadd v16.8h, v11.8h, v4.8h
+2d870e0f| gnu shrn v13.8b, v25.8h, #2
+ac86024f| gnu movi v12.8h, #0x55
+1c26a50e| gnu shsub v28.2s, v16.2s, v5.2s
+db576b6f| gnu sli v27.2d, v30.2d, #43
+c3652c4e| gnu smax v3.16b, v14.16b, v12.16b
+b5a7ab0e| gnu smaxp v21.2s, v29.2s, v11.2s
+f1aeb34e| gnu sminp v17.4s, v23.4s, v19.4s
+87a8b14e| gnu sminv s7, v4.4s
+1e21bc4f| gnu smlal2 v30.2d, v8.4s, v28.s[1]
+50a33a0e| gnu smlsl v16.8h, v26.8b, v26.8b
+4e2d1a0e| gnu smov w14, v10.h[6]
+9ba9b30f| gnu smull v27.2d, v12.2s, v19.s[3]
+417a205e| gnu sqabs b1, b18
+9f78a04e| gnu sqabs v31.4s, v4.4s
+580d2e5e| gnu sqadd b24, b10, b14
+3d30764f| gnu sqdmlal2 v29.4s, v1.8h, v6.h[3]
+9591b25e| gnu sqdmlal d21, s12, s18
+0d92670e| gnu sqdmlal v13.4s, v16.4h, v7.4h
+90b1765e| gnu sqdmlsl s16, h12, h22
+83c2ad5f| gnu sqdmulh s3, s20, v13.s[1]
+bbb7aa5e| gnu sqdmulh s27, s29, s10
+c8b99a5f| gnu sqdmull d8, s14, v26.s[2]
+75b3920f| gnu sqdmull v21.2d, v27.2s, v18.s[0]
+86d1b75e| gnu sqdmull d6, s12, s23
+edd06f4e| gnu sqdmull2 v13.4s, v7.8h, v15.8h
+0f7ae07e| gnu sqneg d15, d16
+e87b602e| gnu sqneg v8.4h, v31.4h
+ecb5a92e| gnu sqrdmulh v12.2s, v15.2s, v9.2s
+d75fba5e| gnu sqrshl s23, s30, s26
+f75f324e| gnu sqrshl v23.16b, v31.16b, v18.16b
+af9c114f| gnu sqrshrn2 v15.8h, v5.4s, #15
+318d2f6f| gnu sqrshrun2 v17.4s, v9.2d, #17
+b3757c5f| gnu sqshl d19, d13, #60
+0c776f4f| gnu sqshl v12.2d, v24.2d, #47
+d84c2a5e| gnu sqshl b24, b6, b10
+ae4e704e| gnu sqshl v14.8h, v21.8h, v16.8h
+b566727f| gnu sqshlu d21, d21, #50
+4566596f| gnu sqshlu v5.2d, v18.2d, #25
+d595140f| gnu sqshrn v21.4h, v14.4s, #12
+00940b4f| gnu sqshrn2 v0.16b, v0.8h, #5
+5384352f| gnu sqshrun v19.2s, v2.2d, #11
+1a2e3d5e| gnu sqsub b26, b16, b29
+b02e6b4e| gnu sqsub v16.8h, v21.8h, v11.8h
+1249a15e| gnu sqxtn s18, d8
+eb49610e| gnu sqxtn v11.4h, v15.4s
+cb4a614e| gnu sqxtn2 v11.8h, v22.4s
+102b217e| gnu sqxtun b16, h24
+492a212e| gnu sqxtun v9.8b, v18.8h
+112a616e| gnu sqxtun2 v17.8h, v16.4s
+6c16ae4e| gnu srhadd v12.4s, v19.4s, v14.4s
+5946467f| gnu sri d25, d18, #58
+21460a2f| gnu sri v1.8b, v17.8b, #6
+9f56b10e| gnu srshl v31.2s, v20.2s, v17.2s
+e724635f| gnu srshr d7, d7, #29
+e8266b4f| gnu srshr v8.2d, v23.2d, #21
+2b37180f| gnu srsra v11.4h, v25.4h, #8
+1644f95e| gnu sshl d22, d0, d25
+3644fc4e| gnu sshl v22.2d, v1.2d, v28.2d
+d9a61f4f| gnu sshll2 v25.4s, v22.8h, #15
+9b075e5f| gnu sshr d27, d28, #34
+2c044c4f| gnu sshr v12.2d, v1.2d, #52
+d915324f| gnu ssra v25.4s, v14.4s, #14
+de21260e| gnu ssubl v30.8h, v14.8b, v6.8b
+c720254e| gnu ssubl2 v7.8h, v6.16b, v5.16b
+9d33b90e| gnu ssubw v29.2d, v28.2d, v25.2s
+7e71000c| gnu st1 {v30.8b}, [x11]
+cca6000c| gnu st1 {v12.4h, v13.4h}, [x22]
+5467000c| gnu st1 {v20.4h-v22.4h}, [x26]
+cc28004c| gnu st1 {v12.4s-v15.4s}, [x6]
+9e7e9f4c| gnu st1 {v30.2d}, [x20],#16
+4b769d0c| gnu st1 {v11.4h}, [x18], x29
+adaa9f0c| gnu st1 {v13.2s, v14.2s}, [x21],#16
+bca7844c| gnu st1 {v28.8h, v29.8h}, [x29], x4
+b5659f0c| gnu st1 {v21.4h-v23.4h}, [x13],#24
+e669874c| gnu st1 {v6.4s-v8.4s}, [x15], x7
+9b2a9f0c| gnu st1 {v27.2s-v30.2s}, [x20],#32
+14278b0c| gnu st1 {v20.4h-v23.4h}, [x24], x11
+d002004d| gnu st1 {v16.b}[8], [x22]
+9780004d| gnu st1 {v23.s}[2], [x4]
+7787004d| gnu st1 {v23.d}[1], [x27]
+850d9f0d| gnu st1 {v5.b}[3], [x12],#1
+7b1f8f0d| gnu st1 {v27.b}[7], [x27], x15
+7a5a9f4d| gnu st1 {v26.h}[7], [x19],#2
+e14b9e4d| gnu st1 {v1.h}[5], [sp], x30
+dd819f4d| gnu st1 {v29.s}[2], [x14],#4
+a281910d| gnu st1 {v2.s}[0], [x13], x17
+b2849f0d| gnu st1 {v18.d}[0], [x5],#8
+c484964d| gnu st1 {v4.d}[1], [x6], x22
+f686004c| gnu st2 {v22.8h, v23.8h}, [x23]
+2e869f0c| gnu st2 {v14.4h, v15.4h}, [x17],#16
+d200200d| gnu st2 {v18.b, v19.b}[0], [x6]
+ab58200d| gnu st2 {v11.h, v12.h}[3], [x5]
+c491204d| gnu st2 {v4.s, v5.s}[3], [x14]
+5a85204d| gnu st2 {v26.d, v27.d}[1], [x10]
+f217bf0d| gnu st2 {v18.b, v19.b}[5], [sp],#2
+2b0ea04d| gnu st2 {v11.b, v12.b}[11], [x17], x0
+4042bf0d| gnu st2 {v0.h, v1.h}[0], [x18],#4
+9342af4d| gnu st2 {v19.h, v20.h}[4], [x20], x15
+9b91bf4d| gnu st2 {v27.s, v28.s}[3], [x12],#8
+7480a10d| gnu st2 {v20.s, v21.s}[0], [x3], x1
+c884bf0d| gnu st2 {v8.d, v9.d}[0], [x6],#16
+ae86ac4d| gnu st2 {v14.d, v15.d}[1], [x21], x12
+614d004c| gnu st3 {v1.2d-v3.2d}, [x11]
+324b9f4c| gnu st3 {v18.4s-v20.4s}, [x25],#48
+7340870c| gnu st3 {v19.8b-v21.8b}, [x3], x7
+ac24004d| gnu st3 {v12.b-v14.b}[9], [x5]
+a161004d| gnu st3 {v1.h-v3.h}[4], [x13]
+09b1004d| gnu st3 {v9.s-v11.s}[3], [x8]
+78a7004d| gnu st3 {v24.d-v26.d}[1], [x27]
+4f349f0d| gnu st3 {v15.b-v17.b}[5], [x2],#3
+643d840d| gnu st3 {v4.b-v6.b}[7], [x11], x4
+48699f0d| gnu st3 {v8.h-v10.h}[1], [x10],#6
+85b19f4d| gnu st3 {v5.s-v7.s}[3], [x12],#12
+60a18a0d| gnu st3 {v0.s-v2.s}[0], [x11], x10
+69a49f0d| gnu st3 {v9.d-v11.d}[0], [x3],#24
+ada7814d| gnu st3 {v13.d-v15.d}[1], [x29], x1
+760c004c| gnu st4 {v22.2d-v25.2d}, [x3]
+ee0d9f4c| gnu st4 {v14.2d-v17.2d}, [x15],#64
+7800970c| gnu st4 {v24.8b-v27.8b}, [x3], x23
+a221200d| gnu st4 {v2.b-v5.b}[0], [x13]
+9a69204d| gnu st4 {v26.h-v29.h}[5], [x12]
+02a1204d| gnu st4 {v2.s-v5.s}[2], [x8]
+3fa6200d| gnu st4 {v31.d, v0.d, v1.d, v2.d}[0], [x17]
+943abf0d| gnu st4 {v20.b-v23.b}[6], [x20],#4
+bf26a60d| gnu st4 {v31.b, v0.b, v1.b, v2.b}[1], [x21], x6
+55b3bf4d| gnu st4 {v21.s-v24.s}[3], [x26],#16
+dda1b04d| gnu st4 {v29.s, v30.s, v31.s, v0.s}[2], [x14], x16
+6aa5bf0d| gnu st4 {v10.d-v13.d}[0], [x11],#32
+e7a7ac0d| gnu st4 {v7.d-v10.d}[0], [sp], x12
+f9c9202c| gnu stnp s25, s18, [x15,#-252]
+18b8316c| gnu stnp d24, d14, [x0,#-232]
+409c1cac| gnu stnp q0, q7, [x2,#912]
+73f0812c| gnu stp s19, s28, [x3],#12
+28d0826c| gnu stp d8, d20, [x1],#40
+9bf5bfac| gnu stp q27, q29, [x12],#-16
+885ead2d| gnu stp s8, s23, [x20,#-152]!
+b0de926d| gnu stp d16, d23, [x21,#296]!
+713387ad| gnu stp q17, q12, [x27,#224]!
+52130a2d| gnu stp s18, s4, [x26,#80]
+b63a236d| gnu stp d22, d14, [x21,#-464]
+6d5424ad| gnu stp q13, q21, [x3,#-896]
+afb60f3c| gnu str b15, [x21],#251
+81e7077c| gnu str h1, [x28],#126
+203713bc| gnu str s0, [x25],#-205
+60c61ffc| gnu str d0, [x19],#-4
+d256813c| gnu str q18, [x22],#21
+ffce083c| gnu str b31, [x23,#140]!
+6d3d017c| gnu str h13, [x11,#19]!
+52ed01bc| gnu str s18, [x10,#30]!
+fafd11fc| gnu str d26, [x15,#-225]!
+663e9b3c| gnu str q6, [x19,#-77]!
+7d0c393d| gnu str b29, [x3,#3651]
+8f50067d| gnu str h15, [x4,#808]
+94680dbd| gnu str s20, [x4,#3432]
+b7673bfd| gnu str d23, [x29,#30408]
+fed3a63d| gnu str q30, [sp,#39744]
+8a6a243c| gnu str b10, [x20,x4]
+29493fbc| gnu str s9, [x9,wzr,uxtw]
+8bd93bfc| gnu str d11, [x12,w27,sxtw #3]
+c768a93c| gnu str q7, [x6,x9]
+a7b00a3c| gnu stur b7, [x5,#171]
+40e3107c| gnu stur h0, [x26,#-242]
+18911fbc| gnu stur s24, [x8,#-7]
+fcc007fc| gnu stur d28, [x7,#124]
+db12893c| gnu stur q27, [x22,#145]
+1686716e| gnu sub v22.8h, v16.8h, v17.8h
+5362320e| gnu subhn v19.8b, v18.8h, v18.8h
+6163bf4e| gnu subhn2 v1.4s, v27.2d, v31.2d
+a73be05e| gnu suqadd d7, d29
+21a4100f| gnu sxtl v1.4s, v1.4h
+8b23164e| gnu tbl v11.16b, {v28.16b, v29.16b}, v22.16b
+3642120e| gnu tbl v22.8b, {v17.16b-v19.16b}, v18.8b
+cf611f0e| gnu tbl v15.8b, {v14.16b-v17.16b}, v31.8b
+0b020e4e| gnu tbl v11.16b, {v16.16b}, v14.16b
+9830014e| gnu tbx v24.16b, {v4.16b, v5.16b}, v1.16b
+1452044e| gnu tbx v20.16b, {v16.16b-v18.16b}, v4.16b
+b4711a0e| gnu tbx v20.8b, {v13.16b-v16.16b}, v26.8b
+f911140e| gnu tbx v25.8b, {v15.16b}, v20.8b
+9f28500e| gnu trn1 v31.4h, v4.4h, v16.4h
+2e69c64e| gnu trn2 v14.2d, v9.2d, v6.2d
+c752756e| gnu uabal2 v7.4s, v22.8h, v21.8h
+8675696e| gnu uabd v6.8h, v12.8h, v9.8h
+a973ab6e| gnu uabdl2 v9.2d, v29.4s, v11.4s
+fa006c2e| gnu uaddl v26.4s, v7.4h, v12.4h
+da00236e| gnu uaddl2 v26.8h, v6.16b, v3.16b
+ab3a306e| gnu uaddlv h11, v21.16b
+a312746e| gnu uaddw2 v3.4s, v21.4s, v20.8h
+cee55e7f| gnu ucvtf d14, d14, #34
+8edb617e| gnu ucvtf d14, d28
+ab8f431e| gnu ucvtf d11, w29, #29
+68b3039e| gnu ucvtf s8, x27, #20
+7686439e| gnu ucvtf d22, x19, #31
+2a03231e| gnu ucvtf s10, w25
+9f01631e| gnu ucvtf d31, w12
+a800239e| gnu ucvtf s8, x5
+0302639e| gnu ucvtf d3, x16
+df65a42e| gnu umax v31.2s, v14.2s, v4.2s
+29ab702e| gnu umaxv h9, v25.4h
+6f6e2e6e| gnu umin v15.16b, v19.16b, v14.16b
+fdada32e| gnu uminp v29.2s, v15.2s, v3.2s
+07289a6f| gnu umlal2 v7.2d, v0.4s, v26.s[2]
+aa80ad2e| gnu umlal v10.2d, v5.2s, v13.2s
+d66b462f| gnu umlsl v22.4s, v30.4h, v6.h[4]
+12a3b62e| gnu umlsl v18.2d, v24.2s, v22.2s
+583e0d0e| gnu umov w24, v18.b[6]
+20c3b52e| gnu umull v0.2d, v25.2s, v21.2s
+20c2616e| gnu umull2 v0.4s, v17.8h, v1.8h
+2f0f6d7e| gnu uqadd h15, h25, h13
+a60c272e| gnu uqadd v6.8b, v5.8b, v7.8b
+5b5da27e| gnu uqrshl s27, s10, s2
+195c786e| gnu uqrshl v25.8h, v0.8h, v24.8h
+209e282f| gnu uqrshrn v0.2s, v17.2d, #24
+e89e3b6f| gnu uqrshrn2 v8.4s, v23.2d, #5
+4f75147f| gnu uqshl h15, h10, #4
+d2767d6f| gnu uqshl v18.2d, v22.2d, #61
+bb4cfe7e| gnu uqshl d27, d5, d30
+794ea42e| gnu uqshl v25.2s, v19.2s, v4.2s
+51960b7f| gnu uqshrn b17, h18, #5
+642ce77e| gnu uqsub d4, d3, d7
+6149617e| gnu uqxtn h1, s11
+4e48a12e| gnu uqxtn v14.2s, v2.2d
+9cc8a14e| gnu urecpe v28.4s, v4.4s
+2f15a52e| gnu urhadd v15.2s, v9.2s, v5.2s
+5757fb7e| gnu urshl d23, d26, d27
+2756706e| gnu urshl v7.8h, v17.8h, v16.8h
+a424487f| gnu urshr d4, d5, #56
+b926796f| gnu urshr v25.2d, v21.2d, #7
+1336076f| gnu bic v19.4s, #0xf0, lsl #8
+e347e06e| gnu ushl v3.2d, v31.2d, v0.2d
+f7a5272f| gnu ushll v23.2d, v15.2s, #7
+9ba63d6f| gnu ushll2 v27.2d, v20.4s, #29
+d405737f| gnu ushr d20, d14, #13
+3a05116f| gnu ushr v26.8h, v9.8h, #15
+1d39607e| gnu usqadd h29, h8
+0e39e06e| gnu usqadd v14.2d, v8.2d
+8022b02e| gnu usubl v0.2d, v20.2s, v16.2s
+9a20786e| gnu usubl2 v26.4s, v4.8h, v24.8h
+df33692e| gnu usubw v31.4s, v30.4s, v9.4h
+92a5102f| gnu uxtl v18.4s, v12.4h
+0e19464e| gnu uzp1 v14.8h, v8.8h, v6.8h
+7629610e| gnu xtn v22.4h, v11.4s
+7338504e| gnu zip1 v19.8h, v3.8h, v16.8h
+357bd64e| gnu zip2 v21.2d, v25.2d, v22.2d
+63020f1a| gnu adc w3, w19, w15
+1f03159a| gnu adc xzr, x24, x21
+d300103a| gnu adcs w19, w6, w16
+1b0010ba| gnu adcs x27, x0, x16
+dd133f0b| gnu add w29, w30, wzr, uxtb #4
+89c42f8b| gnu add x9, x4, w15, sxtw #1
+4e242a11| gnu add w14, w2, #0xa89
+e1c12f2b| gnu adds w1, w15, w15, sxtw
+733421ab| gnu adds x19, x3, w1, uxth #5
+0ccc5aab| gnu adds x12, x0, x26, lsr #51
+51354470| gnu adr x17, .+0x886ab
+ef6796d0| gnu adrp x15, .+0xffffffff2ccfe000
+2e122612| gnu and w14, w17, #0x7c000000
+5e4c2992| gnu and x30, x2, #0xff8007ffff8007ff
+2805410a| gnu and w8, w9, w1, lsr #1
+ede1938a| gnu and x13, x15, x19, asr #56
+e7c10f72| gnu ands w7, w15, #0x2020202
+23ed55f2| gnu ands x3, x9, #0xfffff87fffffffff
+e6935bea| gnu ands x6, xzr, x27, lsr #36
+0e2ac61a| gnu asr w14, w16, w6
+802ad59a| gnu asr x0, x20, x21
+7cfd7793| gnu asr x28, x11, #55
+f028cd1a| gnu asr w16, w7, w13
+132bd29a| gnu asr x19, x24, x18
+c2560e54| gnu b.cs .+0x1cad8
+83516b17| gnu b .+0xfffffffffdad460c
+7a571233| gnu bfxil w26, w27, #18, #4
+71b858b3| gnu bfxil x17, x3, #24, #23
+c3964bb3| gnu bfxil x3, x22, #11, #27
+eb561233| gnu bfxil w11, w23, #18, #4
+063f5db3| gnu bfi x6, x24, #35, #16
+0a337a0a| gnu bic w10, w24, w26, lsr #12
+2a71e28a| gnu bic x10, x9, x2, ror #28
+c168bf6a| gnu bics w1, w6, wzr, asr #26
+d8bb3cea| gnu bics x24, x30, x28, lsl #46
+82e81795| gnu bl .+0x45fa208
+40033fd6| gnu blr x26
+c0011fd6| gnu br x14
+00dd31d4| gnu brk #0x8ee8
+7267db35| gnu cbnz w18, .+0xfffffffffffb6cec
+e44c7fb5| gnu cbnz x4, .+0xfe99c
+9dc4c334| gnu cbz w29, .+0xfffffffffff87890
+376eceb4| gnu cbz x23, .+0xfffffffffff9cdc4
+a6cb563a| gnu ccmn w29, #0x16, #0x6, gt
+87db55ba| gnu ccmn x28, #0x15, #0x7, le
+a042493a| gnu ccmn w21, w9, #0x0, mi
+6a0040ba| gnu ccmn x3, x0, #0xa, eq
+46bb5c7a| gnu ccmp w26, #0x1c, #0x6, lt
+c72942fa| gnu ccmp x14, #0x2, #0x7, cs
+cda1427a| gnu ccmp w14, w2, #0xd, ge
+a1314dfa| gnu ccmp x13, x13, #0x1, cc
+8706931a| gnu csinc w7, w20, w19, eq
+3ae69a9a| gnu csinc x26, x17, x26, al
+9e51945a| gnu csinv w30, w12, w20, pl
+d5e386da| gnu csinv x21, x30, x6, al
+5f3503d5| gnu clrex #0x5
+e515c05a| gnu cls w5, w15
+a815c0da| gnu cls x8, x13
+4a12c05a| gnu clz w10, w18
+3c10c0da| gnu clz x28, x1
+ff70252b| gnu cmn w7, w5, uxtx #4
+9fa133ab| gnu cmn x12, w19, sxth
+3f3a822b| gnu cmn w17, w2, asr #14
+df1d44ab| gnu cmn x14, x4, lsr #7
+3f95386b| gnu cmp w9, w24, sxtb #5
+9f653feb| gnu cmp x12, xzr, uxtx #1
+1626915a| gnu csneg w22, w16, w17, cs
+b4d587da| gnu csneg x20, x13, x7, le
+9841d41a| gnu crc32b w24, w12, w20
+ec45d01a| gnu crc32h w12, w15, w16
+8048ca1a| gnu crc32w w0, w4, w10
+d44ec19a| gnu crc32x w20, w22, x1
+1552d31a| gnu crc32cb w21, w16, w19
+4b54c71a| gnu crc32ch w11, w2, w7
+245ad41a| gnu crc32cw w4, w17, w20
+c35cc89a| gnu crc32cx w3, w6, x8
+14219f1a| gnu csel w20, w8, wzr, cs
+9c73979a| gnu csel x28, x28, x23, vc
+e7279f1a| gnu cset w7, cc
+ec579f9a| gnu cset x12, mi
+e5f39f5a| gnu csinv w5, wzr, wzr, al
+e8639fda| gnu csetm x8, vc
+ea76971a| gnu cinc w10, w23, vs
+78a7859a| gnu csinc x24, x27, x5, ge
+b590845a| gnu csinv w21, w5, w4, ls
+b4029eda| gnu csinv x20, x21, x30, eq
+b3969b5a| gnu csneg w19, w21, w27, ls
+938591da| gnu csneg x19, x12, x17, hi
+016ea8d4| gnu dcps1 #0x4370
+0275a4d4| gnu dcps2 #0x23a8
+a3e9a6d4| gnu dcps3 #0x374d
+bf3903d5| gnu dmb ishld
+e003bfd6| gnu drps
+9f3e03d5| gnu dsb st
+50b1a0ca| gnu eon x16, x10, x0, asr #44
+c0b02f52| gnu eor w0, w6, #0x3ffe3ffe
+4b0c1ed2| gnu eor x11, x2, #0x3c0000003c
+693c074a| gnu eor w9, w3, w7, lsl #15
+113e1aca| gnu eor x17, x16, x26, lsl #15
+e0039fd6| gnu eret
+fef8c693| gnu extr x30, x7, x6, #62
+3f2003d5| gnu yield
+3f2403d5| gnu hint #0x21
+c0425ad4| gnu hlt #0xd216
+df3003d5| gnu isb #0x0
+f7fddf88| gnu ldar w23, [x15]
+96fedfc8| gnu ldar x22, [x20]
+11fedf08| gnu ldarb w17, [x16]
+c2fedf48| gnu ldarh w2, [x22]
+2d927f88| gnu ldaxp w13, w4, [x17]
+198f7fc8| gnu ldaxp x25, x3, [x24]
+46ff5f88| gnu ldaxr w6, [x26]
+81fe5fc8| gnu ldaxr x1, [x20]
+86fe5f08| gnu ldaxrb w6, [x20]
+78ff5f48| gnu ldaxrh w24, [x27]
+35864a28| gnu ldnp w21, w1, [x17,#84]
+6da05fa8| gnu ldnp x13, x8, [x3,#504]
+a8f9f428| gnu ldp w8, w30, [x13],#-92
+b749e3a8| gnu ldp x23, x18, [x13],#-464
+bdedd929| gnu ldp w29, w27, [x13,#204]!
+c8e5c6a9| gnu ldp x8, x25, [x14,#104]!
+c0857f29| gnu ldp w0, w1, [x14,#-4]
+388a6ca9| gnu ldp x24, x2, [x17,#-312]
+086be468| gnu ldpsw x8, x26, [x24],#-224
+d107d269| gnu ldpsw x17, x1, [x30,#144]!
+738e4e69| gnu ldpsw x19, x3, [x19,#116]
+6ee55fb8| gnu ldr w14, [x11],#-2
+233459f8| gnu ldr x3, [x1],#-109
+919f44b8| gnu ldr w17, [x28,#73]!
+acdd45f8| gnu ldr x12, [x13,#93]!
+e1cd51b9| gnu ldr w1, [x15,#4556]
+95e27bf9| gnu ldr x21, [x20,#30656]
+09c4fa18| gnu ldr w9, .+0xffffffffffff5880
+f528ad58| gnu ldr x21, .+0xfffffffffff5a51c
+0c554b38| gnu ldrb w12, [x8],#181
+054f5938| gnu ldrb w5, [x24,#-108]!
+1f206539| gnu ldrb wzr, [x0,#2376]
+73796a38| gnu ldrb w19, [x11,x10,lsl #0]
+a8b74f78| gnu ldrh w8, [x29],#251
+021e5e78| gnu ldrh w2, [x16,#-31]!
+ec126b79| gnu ldrh w12, [x23,#5512]
+fc5a6178| gnu ldrh w28, [x23,w1,uxtw #1]
+eaf6c238| gnu ldrsb w10, [x23],#47
+87679838| gnu ldrsb x7, [x28],#-122
+567fdb38| gnu ldrsb w22, [x26,#-73]!
+3b2e8138| gnu ldrsb x27, [x17,#18]!
+7d74c039| gnu ldrsb w29, [x3,#29]
+7d1f8539| gnu ldrsb x29, [x27,#327]
+225bff38| gnu ldrsb w2, [x25,wzr,uxtw #0]
+6a7bed38| gnu ldrsb w10, [x27,x13,lsl #0]
+0f69b538| gnu ldrsb x15, [x8,x21]
+c796cc78| gnu ldrsh w7, [x22],#201
+50268e78| gnu ldrsh x16, [x18],#226
+229ddb78| gnu ldrsh w2, [x9,#-71]!
+0f4f9178| gnu ldrsh x15, [x24,#-236]!
+59ecc379| gnu ldrsh w25, [x2,#502]
+83d49679| gnu ldrsh x3, [x4,#2922]
+986be878| gnu ldrsh w24, [x28,x8]
+cad8bf78| gnu ldrsh x10, [x6,wzr,sxtw #1]
+6b4693b8| gnu ldrsw x11, [x19],#-204
+cb9e81b8| gnu ldrsw x11, [x22,#25]!
+280d9eb9| gnu ldrsw x8, [x9,#7692]
+93dec198| gnu ldrsw x19, .+0xfffffffffff83bd0
+1a68b8b8| gnu ldrsw x26, [x0,x24]
+35b955b8| gnu ldtr w21, [x9,#-165]
+658b57f8| gnu ldtr x5, [x27,#-136]
+b3594038| gnu ldtrb w19, [x13,#5]
+5ac95d78| gnu ldtrh w26, [x10,#-36]
+2c3ade38| gnu ldtrsb w12, [x17,#-29]
+4de99038| gnu ldtrsb x13, [x10,#-242]
+e178c378| gnu ldtrsh w1, [x7,#55]
+a77a8778| gnu ldtrsh x7, [x21,#119]
+cde982b8| gnu ldtrsw x13, [x14,#46]
+04d15bb8| gnu ldur w4, [x8,#-67]
+02a256f8| gnu ldur x2, [x16,#-150]
+97405438| gnu ldurb w23, [x4,#-188]
+99b14b78| gnu ldurh w25, [x12,#187]
+f9a1cf38| gnu ldursb w25, [x15,#250]
+c0218c38| gnu ldursb x0, [x14,#194]
+5790d278| gnu ldursh w23, [x2,#-215]
+a3808278| gnu ldursh x3, [x5,#40]
+a9b08fb8| gnu ldursw x9, [x5,#251]
+98217f88| gnu ldxp w24, w8, [x12]
+4d6a7fc8| gnu ldxp x13, x26, [x18]
+9c7e5f88| gnu ldxr w28, [x20]
+0e7c5fc8| gnu ldxr x14, [x0]
+507c5f08| gnu ldxrb w16, [x2]
+ea7f5f48| gnu ldxrh w10, [sp]
+5523dd1a| gnu lsl w21, w26, w29
+9721ca9a| gnu lsl x23, x12, x10
+75665bd3| gnu ubfiz x21, x19, #37, #26
+0a20df1a| gnu lsl w10, w0, wzr
+5222c99a| gnu lsl x18, x18, x9
+5124df1a| gnu lsr w17, w2, wzr
+6b26d69a| gnu lsr x11, x19, x22
+9a7c0753| gnu lsr w26, w4, #7
+7bfd53d3| gnu lsr x27, x11, #19
+5f26d91a| gnu lsr wzr, w18, w25
+3625d89a| gnu lsr x22, x9, x24
+9d76001b| gnu madd w29, w20, w0, w29
+822f0e9b| gnu madd x2, x28, x14, x11
+e8fe101b| gnu mneg w8, w23, w16
+88fc099b| gnu mneg x8, x4, x9
+dd030011| gnu add w29, w30, #0x0
+db010091| gnu add x27, x14, #0x0
+0c6db012| gnu mov w12, #0x7c97ffff
+3ff5aa92| gnu mov xzr, #0xffffffffa856ffff
+87f0f6d2| gnu mov x7, #0xb784000000000000
+f3571132| gnu orr w19, wzr, #0xffff801f
+f3bb0bb2| gnu mov x19, #0xffefffefffefffef
+f103082a| gnu mov w17, w8
+ef031faa| gnu mov x15, xzr
+4a6bf5f2| gnu movk x10, #0xab5a, lsl #48
+383b9312| gnu mov w24, #0xffff6626
+f5fb9092| gnu mov x21, #0xffffffffffff7820
+d5b4b052| gnu mov w21, #0x85a60000
+fdc5eed2| gnu mov x29, #0x762f000000000000
+c58435d5| gnu mrs x5, s2_5_c8_c4_6
+1a0f13d5| gnu msr s2_3_c0_c15_0, x26
+52d5181b| gnu msub w18, w10, w24, w21
+c4f81d9b| gnu msub x4, x6, x29, x30
+a57c1b1b| gnu mul w5, w5, w27
+8f7f0a9b| gnu mul x15, x28, x10
+e75361aa| gnu mvn x7, x1, lsr #20
+e0cb15cb| gnu neg x0, x21, lsl #50
+ffdb49eb| gnu cmp xzr, x9, lsr #54
+f5031c5a| gnu ngc w21, w28
+e6031eda| gnu ngc x6, x30
+e103077a| gnu ngcs w1, w7
+f20301fa| gnu ngcs x18, x1
+1f2003d5| gnu nop
+9347722a| gnu orn w19, w28, w18, lsr #17
+0591e1aa| gnu orn x5, x8, x1, ror #36
+7ba82a32| gnu orr w27, w3, #0xffc1ffc1
+ae087db2| gnu orr x14, x5, #0x38
+9608472a| gnu orr w22, w4, w7, lsr #2
+c40dc5aa| gnu orr x4, x14, x5, ror #3
+9d83bcf9| gnu prfm #0x1d, [x28,#30976]
+78ab03d8| gnu prfm #0x18, .+0x756c
+6e9186f8| gnu prfum #0x0e, [x11,#105]
+c001c05a| gnu rbit w0, w14
+4203c0da| gnu rbit x2, x26
+c0035fd6| gnu ret
+9b08c05a| gnu rev w27, w4
+740cc0da| gnu rev x20, x3
+0205c05a| gnu rev16 w2, w8
+dd07c0da| gnu rev16 x29, x30
+020bc0da| gnu rev32 x2, x24
+780cc0da| gnu rev x24, x3
+9b7f9513| gnu extr w27, w28, w21, #31
+5243dd93| gnu extr x18, x26, x29, #16
+822eca1a| gnu ror w2, w20, w10
+f02ddb9a| gnu ror x16, x15, x27
+082ed81a| gnu ror w8, w16, w24
+7b2cc39a| gnu ror x27, x3, x3
+3b030b5a| gnu sbc w27, w25, w11
+f2021dda| gnu sbc x18, x23, x29
+e600127a| gnu sbcs w6, w7, w18
+cf030ffa| gnu sbcs x15, x30, x15
+3a797793| gnu sbfiz x26, x9, #9, #31
+4a305193| gnu sbfiz x10, x2, #47, #13
+a1c74493| gnu sbfx x1, x29, #4, #46
+a00fc01a| gnu sdiv w0, w29, w0
+f10edd9a| gnu sdiv x17, x23, x29
+9f2003d5| gnu sev
+bf2003d5| gnu sevl
+a52d319b| gnu smaddl x5, w13, w17, x11
+b4fc399b| gnu smnegl x20, w5, w25
+579e369b| gnu smsubl x23, w18, w22, x7
+ea7e429b| gnu smulh x10, x23, x2
+eb7f219b| gnu smull x11, wzr, w1
+f1fe9f88| gnu stlr w17, [x23]
+edff9fc8| gnu stlr x13, [sp]
+bffe9f08| gnu stlrb wzr, [x21]
+9cfd9f48| gnu stlrh w28, [x12]
+41bf2688| gnu stlxp w6, w1, w15, [x26]
+01e93cc8| gnu stlxp w28, x1, x26, [x8]
+e0fd1f88| gnu stlxr wzr, w0, [x15]
+12fe17c8| gnu stlxr w23, x18, [x16]
+d4fc1008| gnu stlxrb w16, w20, [x6]
+befc0048| gnu stlxrh w0, w30, [x5]
+76613728| gnu stnp w22, w24, [x11,#-72]
+c7523ba8| gnu stnp x7, x20, [x22,#-80]
+8e3a9f28| gnu stp w14, w14, [x20],#248
+aa1fa6a8| gnu stp x10, x7, [x29],#-416
+fbae8d29| gnu stp w27, w11, [x23,#108]!
+f63c80a9| gnu stp x22, x15, [x7,#0]!
+43d73629| gnu stp w3, w21, [x26,#-76]
+1ae01ba9| gnu stp x26, x24, [x0,#440]
+8f650cb8| gnu str w15, [x12],#198
+aad503f8| gnu str x10, [x13],#61
+ec4d00b8| gnu str w12, [x15,#4]!
+7dbc1df8| gnu str x29, [x3,#-37]!
+9b0226b9| gnu str w27, [x20,#9728]
+91691af9| gnu str x17, [x12,#13520]
+20840838| gnu strb w0, [x1],#136
+060c1f38| gnu strb w6, [x0,#-16]!
+2b213a39| gnu strb w11, [x9,#3720]
+ab6b3438| gnu strb w11, [x29,x20]
+50e51e78| gnu strh w16, [x10],#-18
+5d5d1878| gnu strh w29, [x10,#-123]!
+ea862379| gnu strh w10, [x23,#4546]
+d65a2778| gnu strh w22, [x22,w7,uxtw #1]
+d5ca12b8| gnu sttr w21, [x22,#-212]
+001b18f8| gnu sttr x0, [x24,#-127]
+290a1e38| gnu sttrb w9, [x17,#-32]
+0b381078| gnu sttrh w11, [x0,#-253]
+c78101b8| gnu stur w7, [x14,#24]
+c0b217f8| gnu stur x0, [x22,#-133]
+f8401e38| gnu sturb w24, [x7,#-28]
+5e911a78| gnu sturh w30, [x10,#-87]
+b7622d88| gnu stxp w13, w23, w24, [x21]
+233d37c8| gnu stxp w23, x3, x15, [x9]
+847d0088| gnu stxr w0, w4, [x12]
+a27d0bc8| gnu stxr w11, x2, [x13]
+f27f1e08| gnu stxrb w30, w18, [sp]
+3a7d1848| gnu stxrh w24, w26, [x9]
+d4dc204b| gnu sub w20, w6, w0, sxtw #7
+874023cb| gnu sub x7, x4, w3, uxtw
+44eb4f51| gnu sub w4, w26, #0x3fa, lsl #12
+17b012cb| gnu sub x23, x0, x18, lsl #44
+ac1e376b| gnu subs w12, w21, w23, uxtb #7
+b0483beb| gnu subs x16, x5, w27, uxtw #2
+d1f994eb| gnu subs x17, x14, x20, asr #62
+61d513d4| gnu svc #0x9eab
+591d0013| gnu sxtb w25, w10
+9f1f4093| gnu sxtb xzr, w28
+773f0013| gnu sxth w23, w27
+453c4093| gnu sxth x5, w2
+b77c4093| gnu sxtw x23, w5
+743628d5| gnu sysl x20, #0, C3, C6, #3
+6fd248b7| gnu tbnz x15, #41, .+0x1a4c
+5afe3036| gnu tbz w26, #6, .+0x1fc8
+9f613672| gnu tst w12, #0xfffffc07
+1f8d22f2| gnu tst x8, #0xc003c003c003c003
+ff6e93ea| gnu tst x23, x19, asr #27
+06997ed3| gnu ubfiz x6, x8, #2, #39
+5dd054d3| gnu ubfx x29, x2, #20, #33
+a54273d3| gnu ubfiz x5, x21, #13, #17
+7d08d11a| gnu udiv w29, w3, w17
+120acf9a| gnu udiv x18, x16, x15
+1401a89b| gnu umaddl x20, w8, w8, x0
+08feb29b| gnu umnegl x8, w16, w18
+eeb0b99b| gnu umsubl x14, w7, w25, x12
+967fdd9b| gnu umulh x22, x28, x29
+947eb59b| gnu umull x20, w20, w21
+7e1f0053| gnu uxtb w30, w27
+983c0053| gnu uxth w24, w4
+5f2003d5| gnu wfe
+7f2003d5| gnu wfi
+3f2003d5| gnu yield
+02bb200e| gnu abs v2.8b, v24.8b
+0686ec4e| gnu add v6.2d, v16.2d, v12.2d
+ea42ac0e| gnu addhn v10.2s, v23.2d, v12.2d
+7d43624e| gnu addhn2 v29.8h, v27.4s, v2.4s
+2cbd710e| gnu addp v12.4h, v9.4h, v17.4h
+f5bab14e| gnu addv s21, v23.4s
+8158284e| gnu aesd v1.16b, v4.16b
+ba48284e| gnu aese v26.16b, v5.16b
+0c7a284e| gnu aesimc v12.16b, v16.16b
+3e6a284e| gnu aesmc v30.16b, v17.16b
+091f384e| gnu and v9.16b, v24.16b, v24.16b
+07b6046f| gnu bic v7.8h, #0x90, lsl #8
+00c5006f| gnu mvni v0.4s, #0x8, msl #8
+f81e6c0e| gnu bic v24.8b, v23.8b, v12.8b
+6f1ced2e| gnu bif v15.8b, v3.8b, v13.8b
+e31da16e| gnu bit v3.16b, v15.16b, v1.16b
+6a1d7c6e| gnu bsl v10.16b, v11.16b, v28.16b
+284a600e| gnu cls v8.4h, v17.4h
+9a49202e| gnu clz v26.8b, v12.8b
+d78f706e| gnu cmeq v23.8h, v30.8h, v16.8h
+7798e05e| gnu cmeq d23, d3, #0
+739a200e| gnu cmeq v19.8b, v19.8b, #0
+ff3f2b4e| gnu cmge v31.16b, v31.16b, v11.16b
+5337370e| gnu cmgt v19.8b, v26.8b, v23.8b
+3489604e| gnu cmgt v20.8h, v9.8h, #0
+083d782e| gnu cmhs v8.4h, v8.4h, v24.4h
+c899e07e| gnu cmle d8, d14, #0
+3498a06e| gnu cmle v20.4s, v1.4s, #0
+ebaa200e| gnu cmlt v11.8b, v23.8b, #0
+408dfe4e| gnu cmtst v0.2d, v10.2d, v30.2d
+0e06085e| gnu mov d14, v16.d[0]
+1e0d0d0e| gnu dup v30.8b, w8
+8e1d3a6e| gnu eor v14.16b, v12.16b, v26.16b
+632a086e| gnu ext v3.16b, v19.16b, v8.16b, #5
+97d7e57e| gnu fabd d23, d28, d5
+6bd4a82e| gnu fabd v11.2s, v3.2s, v8.2s
+f7faa00e| gnu fabs v23.2s, v23.2s
+54c2201e| gnu fabs s20, s18
+3ec3601e| gnu fabs d30, d25
+2aee317e| gnu facge s10, s17, s17
+2fed392e| gnu facge v15.2s, v9.2s, v25.2s
+2befe97e| gnu facgt d11, d25, d9
+65eced6e| gnu facgt v5.2d, v3.2d, v13.2d
+55d53c4e| gnu fadd v21.4s, v10.4s, v28.4s
+8b283f1e| gnu fadd s11, s4, s31
+d828601e| gnu fadd d24, d6, d0
+e9d8307e| gnu faddp s9, v7.2s
+4084391e| gnu fccmp s2, s25, #0x0, hi
+ef046d1e| gnu fccmp d7, d13, #0xf, eq
+d7a4241e| gnu fccmpe s6, s4, #0x7, ge
+dbf5601e| gnu fccmpe d14, d0, #0xb, al
+77e7625e| gnu fcmeq d23, d27, d2
+2de67f4e| gnu fcmeq v13.2d, v17.2d, v31.2d
+59daa05e| gnu fcmeq s25, s18, #0
+add9a00e| gnu fcmeq v13.2s, v13.2s, #0
+dce42d7e| gnu fcmge s28, s6, s13
+62e6776e| gnu fcmge v2.2d, v19.2d, v23.2d
+f9cae07e| gnu fcmge d25, d23, #0
+18e5ab7e| gnu fcmgt s24, s8, s11
+84e7ae6e| gnu fcmgt v4.4s, v28.4s, v14.4s
+a0c8e05e| gnu fcmgt d0, d5, #0
+c6cae04e| gnu fcmgt v6.2d, v22.2d, #0
+4fdaa07e| gnu fcmle s15, s18, #0
+e1d9a02e| gnu fcmle v1.2s, v15.2s, #0
+1ee9a05e| gnu fcmlt s30, s8, #0
+23eaa04e| gnu fcmlt v3.4s, v17.4s, #0
+6023321e| gnu fcmp s27, s18
+2823391e| gnu fcmp s25, #0
+00236d1e| gnu fcmp d24, d13
+e820601e| gnu fcmp d7, #0
+3022381e| gnu fcmpe s17, s24
+f8233e1e| gnu fcmpe s31, #0
+b0206a1e| gnu fcmpe d5, d10
+3820691e| gnu fcmpe d1, #0
+d85f271e| gnu fcsel s24, s30, s7, pl
+ed8f7a1e| gnu fcsel d13, d31, d26, hi
+0042e21e| gnu fcvt s0, h16
+efc1e21e| gnu fcvt d15, h15
+edc1231e| gnu fcvt h13, s15
+0ac0221e| gnu fcvt d10, s0
+39c3631e| gnu fcvt h25, d25
+da43621e| gnu fcvt s26, d30
+10cb615e| gnu fcvtas d16, d24
+f400241e| gnu fcvtas w20, s7
+2f00249e| gnu fcvtas x15, s1
+1d02641e| gnu fcvtas w29, d16
+9303649e| gnu fcvtas x19, d28
+02ca217e| gnu fcvtau s2, s16
+afc8212e| gnu fcvtau v15.2s, v5.2s
+6e02251e| gnu fcvtau w14, s19
+fd02259e| gnu fcvtau x29, s23
+8603651e| gnu fcvtau w6, d28
+4001659e| gnu fcvtau x0, d10
+1f78210e| gnu fcvtl v31.4s, v0.4h
+d179214e| gnu fcvtl2 v17.4s, v14.8h
+fdbb615e| gnu fcvtms d29, d31
+9601301e| gnu fcvtms w22, s12
+f403309e| gnu fcvtms x20, s31
+6b02701e| gnu fcvtms w11, d19
+4802709e| gnu fcvtms x8, d18
+84ba217e| gnu fcvtmu s4, s20
+ae01311e| gnu fcvtmu w14, s13
+8402319e| gnu fcvtmu x4, s20
+7403711e| gnu fcvtmu w20, d27
+2a03719e| gnu fcvtmu x10, d25
+a36b210e| gnu fcvtn v3.4h, v29.4s
+5c6a214e| gnu fcvtn2 v28.8h, v18.4s
+78a9215e| gnu fcvtns s24, s11
+b1ab614e| gnu fcvtns v17.2d, v29.2d
+0c01201e| gnu fcvtns w12, s8
+b303209e| gnu fcvtns x19, s29
+c401601e| gnu fcvtns w4, d14
+5200609e| gnu fcvtns x18, d2
+c2a8617e| gnu fcvtnu d2, d6
+daab616e| gnu fcvtnu v26.2d, v30.2d
+d001211e| gnu fcvtnu w16, s14
+0402219e| gnu fcvtnu x4, s16
+7800611e| gnu fcvtnu w24, d3
+e602619e| gnu fcvtnu x6, d23
+74aaa15e| gnu fcvtps s20, s19
+c801281e| gnu fcvtps w8, s14
+8f02289e| gnu fcvtps x15, s20
+6d02681e| gnu fcvtps w13, d19
+bc00689e| gnu fcvtps x28, d5
+43aba17e| gnu fcvtpu s3, s26
+cda9a12e| gnu fcvtpu v13.2s, v14.2s
+c102291e| gnu fcvtpu w1, s22
+9103299e| gnu fcvtpu x17, s28
+7602691e| gnu fcvtpu w22, d19
+4501699e| gnu fcvtpu x5, d10
+976a616e| gnu fcvtxn2 v23.4s, v20.2d
+d5fc575f| gnu fcvtzs d21, d6, #41
+babaa15e| gnu fcvtzs s26, s21
+7aa6181e| gnu fcvtzs w26, s19, #23
+c410189e| gnu fcvtzs x4, s6, #60
+4db5589e| gnu fcvtzs x13, d10, #19
+9000381e| gnu fcvtzs w16, s4
+1702389e| gnu fcvtzs x23, s16
+8a03781e| gnu fcvtzs w10, d28
+d501789e| gnu fcvtzs x21, d14
+eefd2d7f| gnu fcvtzu s14, s15, #19
+4dfc3c6f| gnu fcvtzu v13.4s, v2.4s, #4
+96bbe17e| gnu fcvtzu d22, d28
+30b8e16e| gnu fcvtzu v16.2d, v1.2d
+fdef191e| gnu fcvtzu w29, s31, #5
+1d7b199e| gnu fcvtzu x29, s24, #34
+b8f5591e| gnu fcvtzu w24, d13, #3
+5080599e| gnu fcvtzu x16, d2, #32
+d002391e| gnu fcvtzu w16, s22
+9b03399e| gnu fcvtzu x27, s28
+7501791e| gnu fcvtzu w21, d11
+7603799e| gnu fcvtzu x22, d27
+06fe3c6e| gnu fdiv v6.4s, v16.4s, v28.4s
+c41b201e| gnu fdiv s4, s30, s0
+1618781e| gnu fdiv d22, d0, d24
+507b0d1f| gnu fmadd s16, s26, s13, s30
+8803491f| gnu fmadd d8, d28, d9, d0
+75f7394e| gnu fmax v21.4s, v27.4s, v25.4s
+804b3c1e| gnu fmax s0, s28, s28
+c1496c1e| gnu fmax d1, d14, d12
+5b69371e| gnu fmaxnm s27, s10, s23
+1468711e| gnu fmaxnm d20, d0, d17
+a4c8707e| gnu fmaxnmp d4, v5.2d
+89f9707e| gnu fmaxp d9, v12.2d
+4af63e2e| gnu fmaxp v10.2s, v18.2s, v30.2s
+25fa306e| gnu fmaxv s5, v17.4s
+01f4e04e| gnu fmin v1.2d, v0.2d, v0.2d
+59592a1e| gnu fmin s25, s10, s10
+3959611e| gnu fmin d25, d9, d1
+73c7ba4e| gnu fminnm v19.4s, v27.4s, v26.4s
+1279391e| gnu fminnm s18, s8, s25
+75796c1e| gnu fminnm d21, d11, d12
+90cbb07e| gnu fminnmp s16, v28.2s
+c5c8b06e| gnu fminnmv s5, v6.4s
+cdfbf07e| gnu fminp d13, v30.2d
+edf6f66e| gnu fminp v13.2d, v23.2d, v22.2d
+6513b85f| gnu fmla s5, s27, v24.s[1]
+ee18984f| gnu fmla v14.4s, v7.4s, v24.s[2]
+b85ab75f| gnu fmls s24, s21, v23.s[3]
+a3f5030f| gnu fmov v3.2s, #9.062500000000000000e-01
+eaf7056f| gnu fmov v10.2d, #-3.100000000000000000e+01
+3b41201e| gnu fmov s27, s9
+0d41601e| gnu fmov d13, d8
+9700271e| gnu fmov s23, w4
+ad03261e| gnu fmov w13, s29
+2302679e| gnu fmov d3, x17
+e101af9e| gnu fmov v1.d[1], x15
+f301669e| gnu fmov x19, d15
+1103ae9e| gnu fmov x17, v24.d[1]
+0230321e| gnu fmov s2, #-4.250000000000000000e+00
+18b0751e| gnu fmov d24, #-1.450000000000000000e+01
+92bc1b1f| gnu fmsub s18, s4, s27, s15
+f8e14a1f| gnu fmsub d24, d15, d10, d24
+ef91d35f| gnu fmul d15, d15, v19.d[0]
+d293c24f| gnu fmul v18.2d, v30.2d, v2.d[0]
+18dd2b2e| gnu fmul v24.2s, v8.2s, v11.2s
+a4093d1e| gnu fmul s4, s13, s29
+94096f1e| gnu fmul d20, d12, d15
+fe918e7f| gnu fmulx s30, s15, v14.s[0]
+7199c56f| gnu fmulx v17.2d, v11.2d, v5.d[1]
+32dc695e| gnu fmulx d18, d1, d9
+c8f9e06e| gnu fneg v8.2d, v14.2d
+9c41211e| gnu fneg s28, s12
+c443611e| gnu fneg d4, d30
+e77f301f| gnu fnmadd s7, s31, s16, s31
+9f326c1f| gnu fnmadd d31, d20, d12, d12
+d9e92f1f| gnu fnmsub s25, s14, s15, s26
+00ad711f| gnu fnmsub d0, d8, d17, d11
+c889211e| gnu fnmul s8, s14, s1
+528b761e| gnu fnmul d18, d26, d22
+01d8e15e| gnu frecpe d1, d0
+9aff7e5e| gnu frecps d26, d28, d30
+78fe2a4e| gnu frecps v24.4s, v19.4s, v10.4s
+01f9e15e| gnu frecpx d1, d8
+128b216e| gnu frinta v18.4s, v24.4s
+b241261e| gnu frinta s18, s13
+a841661e| gnu frinta d8, d13
+799aa16e| gnu frinti v25.4s, v19.4s
+1cc2271e| gnu frinti s28, s16
+93c2671e| gnu frinti d19, d20
+1a40251e| gnu frintm s26, s0
+ac42651e| gnu frintm d12, d21
+5889214e| gnu frintn v24.4s, v10.4s
+5740241e| gnu frintn s23, s2
+9443641e| gnu frintn d20, d28
+4b89a10e| gnu frintp v11.2s, v10.2s
+a0c1241e| gnu frintp s0, s13
+93c2641e| gnu frintp d19, d20
+d49b216e| gnu frintx v20.4s, v30.4s
+df41271e| gnu frintx s31, s14
+8d41671e| gnu frintx d13, d12
+3998a10e| gnu frintz v25.2s, v1.2s
+fdc2251e| gnu frintz s29, s23
+abc2651e| gnu frintz d11, d21
+10dba17e| gnu frsqrte s16, s24
+edd9e16e| gnu frsqrte v13.2d, v15.2d
+75ffe35e| gnu frsqrts d21, d27, d3
+b4fdbe4e| gnu frsqrts v20.4s, v13.4s, v30.4s
+24f8a16e| gnu fsqrt v4.4s, v1.4s
+b6c1211e| gnu fsqrt s22, s13
+c1c3611e| gnu fsqrt d1, d30
+ffd5b44e| gnu fsub v31.4s, v15.4s, v20.4s
+d438331e| gnu fsub s20, s6, s19
+f038771e| gnu fsub d16, d7, d23
+675e1a6e| gnu mov v7.h[6], v19.h[5]
+2a1c0a4e| gnu mov v10.h[2], w1
+de7f400c| gnu ld1 {v30.1d}, [x30]
+4aa7404c| gnu ld1 {v10.8h, v11.8h}, [x26]
+5d61400c| gnu ld1 {v29.8b-v31.8b}, [x10]
+af21404c| gnu ld1 {v15.16b-v18.16b}, [x13]
+737edf0c| gnu ld1 {v19.1d}, [x19],#8
+757dd10c| gnu ld1 {v21.1d}, [x11], x17
+5ca3df4c| gnu ld1 {v28.16b, v29.16b}, [x26],#32
+93a1ce0c| gnu ld1 {v19.8b, v20.8b}, [x12], x14
+1c65df0c| gnu ld1 {v28.4h-v30.4h}, [x8],#24
+4461d34c| gnu ld1 {v4.16b-v6.16b}, [x10], x19
+b22edf4c| gnu ld1 {v18.2d-v21.2d}, [x21],#64
+c12fcc4c| gnu ld1 {v1.2d-v4.2d}, [x30], x12
+5a03400d| gnu ld1 {v26.b}[0], [x26]
+8d93404d| gnu ld1 {v13.s}[3], [x28]
+2186404d| gnu ld1 {v1.d}[1], [x17]
+9604df4d| gnu ld1 {v22.b}[9], [x4],#1
+4a1dc94d| gnu ld1 {v10.b}[15], [x10], x9
+4852df4d| gnu ld1 {v8.h}[6], [x18],#2
+2582df4d| gnu ld1 {v5.s}[2], [x17],#4
+2191c84d| gnu ld1 {v1.s}[3], [x9], x8
+c284df4d| gnu ld1 {v2.d}[1], [x6],#8
+8f85ce0d| gnu ld1 {v15.d}[0], [x12], x14
+87cd400d| gnu ld1r {v7.1d}, [x12]
+3bc8df4d| gnu ld1r {v27.4s}, [x1],#4
+77c4dd4d| gnu ld1r {v23.8h}, [x3], x29
+5384404c| gnu ld2 {v19.8h, v20.8h}, [x2]
+ca87df0c| gnu ld2 {v10.4h, v11.4h}, [x30],#16
+1280d70c| gnu ld2 {v18.8b, v19.8b}, [x0], x23
+4c0a604d| gnu ld2 {v12.b, v13.b}[10], [x18]
+3080600d| gnu ld2 {v16.s, v17.s}[0], [x1]
+6686600d| gnu ld2 {v6.d, v7.d}[0], [x19]
+061eff0d| gnu ld2 {v6.b, v7.b}[7], [x16],#2
+db05fa0d| gnu ld2 {v27.b, v28.b}[1], [x14], x26
+8a49ff4d| gnu ld2 {v10.h, v11.h}[5], [x12],#4
+bb59ec4d| gnu ld2 {v27.h, v28.h}[7], [x13], x12
+5a82ff0d| gnu ld2 {v26.s, v27.s}[0], [x18],#8
+6180e30d| gnu ld2 {v1.s, v2.s}[0], [x3], x3
+6485ff0d| gnu ld2 {v4.d, v5.d}[0], [x11],#16
+7c86ed4d| gnu ld2 {v28.d, v29.d}[1], [x19], x13
+54c0604d| gnu ld2r {v20.16b, v21.16b}, [x2]
+fdcaff0d| gnu ld2r {v29.2s, v30.2s}, [x23],#8
+7bc5e40d| gnu ld2r {v27.4h, v28.4h}, [x11], x4
+b349404c| gnu ld3 {v19.4s-v21.4s}, [x13]
+cf46df4c| gnu ld3 {v15.8h-v17.8h}, [x22],#48
+934acc4c| gnu ld3 {v19.4s-v21.4s}, [x20], x12
+2c33404d| gnu ld3 {v12.b-v14.b}[12], [x25]
+897a400d| gnu ld3 {v9.h-v11.h}[3], [x20]
+f9b2400d| gnu ld3 {v25.s-v27.s}[1], [x23]
+4aa7404d| gnu ld3 {v10.d-v12.d}[1], [x26]
+4e25df4d| gnu ld3 {v14.b-v16.b}[9], [x10],#3
+7827c40d| gnu ld3 {v24.b-v26.b}[1], [x27], x4
+c4a3df4d| gnu ld3 {v4.s-v6.s}[2], [x30],#12
+f0a1cf0d| gnu ld3 {v16.s-v18.s}[0], [x15], x15
+1ba7df0d| gnu ld3 {v27.d-v29.d}[0], [x24],#24
+f7a7d50d| gnu ld3 {v23.d-v25.d}[0], [sp], x21
+a9ed404d| gnu ld3r {v9.2d-v11.2d}, [x13]
+5aecdf4d| gnu ld3r {v26.2d-v28.2d}, [x2],#24
+bae9c74d| gnu ld3r {v26.4s-v28.4s}, [x13], x7
+5904404c| gnu ld4 {v25.8h-v28.8h}, [x2]
+743b604d| gnu ld4 {v20.b-v23.b}[14], [x27]
+bda1600d| gnu ld4 {v29.s, v30.s, v31.s, v0.s}[0], [x13]
+a3a4600d| gnu ld4 {v3.d-v6.d}[0], [x5]
+2f3aff4d| gnu ld4 {v15.b-v18.b}[14], [x17],#4
+e73bef4d| gnu ld4 {v7.b-v10.b}[14], [sp], x15
+5d78ef0d| gnu ld4 {v29.h, v30.h, v31.h, v0.h}[3], [x2], x15
+acb3ff0d| gnu ld4 {v12.s-v15.s}[1], [x29],#16
+a8b2f04d| gnu ld4 {v8.s-v11.s}[3], [x21], x16
+75a7ff4d| gnu ld4 {v21.d-v24.d}[1], [x27],#32
+75a6ee4d| gnu ld4 {v21.d-v24.d}[1], [x19], x14
+d8e3604d| gnu ld4r {v24.16b-v27.16b}, [x30]
+49e9ff0d| gnu ld4r {v9.2s-v12.2s}, [x10],#16
+81effc0d| gnu ld4r {v1.1d-v4.1d}, [x28], x28
+893e622c| gnu ldnp s9, s15, [x20,#-240]
+f90e626c| gnu ldnp d25, d3, [x23,#-480]
+b0224fac| gnu ldnp q16, q8, [x21,#480]
+9186de2c| gnu ldp s17, s1, [x20],#244
+e820d06c| gnu ldp d8, d8, [x7],#256
+417de8ac| gnu ldp q1, q31, [x10],#-768
+7969ed2d| gnu ldp s25, s26, [x11,#-152]!
+70c8c36d| gnu ldp d16, d18, [x3,#56]!
+30b4c4ad| gnu ldp q16, q13, [x1,#144]!
+a1857f2d| gnu ldp s1, s1, [x13,#-4]
+f4ae786d| gnu ldp d20, d11, [x23,#-120]
+998366ad| gnu ldp q25, q0, [x28,#-816]
+7535453c| gnu ldr b21, [x11],#83
+5465477c| gnu ldr h20, [x10],#118
+a2b44bbc| gnu ldr s2, [x5],#187
+ab045bfc| gnu ldr d11, [x5],#-80
+0515d43c| gnu ldr q5, [x8],#-191
+43ad413c| gnu ldr b3, [x10,#26]!
+22cd4f7c| gnu ldr h2, [x9,#252]!
+5fad44bc| gnu ldr s31, [x10,#74]!
+db7d5afc| gnu ldr d27, [x14,#-89]!
+15ccd63c| gnu ldr q21, [x0,#-148]!
+95c34b3d| gnu ldr b21, [x28,#752]
+f5885e7d| gnu ldr h21, [x7,#3908]
+54db66bd| gnu ldr s20, [x26,#9944]
+46ee78fd| gnu ldr d6, [x18,#29144]
+0cc4e93d| gnu ldr q12, [x0,#42768]
+e1c4211c| gnu ldr s1, .+0x4389c
+2071c35c| gnu ldr d0, .+0xfffffffffff86e24
+4765789c| gnu ldr q7, .+0xf0ca8
+ae79703c| gnu ldr b14, [x13,x16,lsl #0]
+38fb67bc| gnu ldr s24, [x25,x7,sxtx #2]
+3e6b6dfc| gnu ldr d30, [x25,x13]
+a278ff3c| gnu ldr q2, [x5,xzr,lsl #4]
+ed02563c| gnu ldur b13, [x23,#-160]
+01c0507c| gnu ldur h1, [x0,#-244]
+7fd24ebc| gnu ldur s31, [x19,#237]
+7a734ffc| gnu ldur d26, [x27,#247]
+d4a3dd3c| gnu ldur q20, [x30,#-38]
+1c97250e| gnu mla v28.8b, v24.8b, v5.8b
+af97a12e| gnu mls v15.2s, v29.2s, v1.2s
+2b061f5e| gnu mov b11, v17.b[15]
+805e086e| gnu mov v0.d[0], v20.d[1]
+d91fbc4e| gnu orr v25.16b, v30.16b, v28.16b
+a43f040e| gnu mov w4, v29.s[0]
+fbe6054f| gnu movi v27.16b, #0xb7
+9b75024f| gnu orr v27.4s, #0x4c, lsl #24
+8436020f| gnu orr v4.2s, #0x54, lsl #8
+19f5010f| gnu fmov v25.2s, #1.200000000000000000e+01
+02e5062f| gnu movi d2, #0xffff0000ff000000
+d6e5066f| gnu movi v22.2d, #0xffff0000ffffff00
+be9c240e| gnu mul v30.8b, v5.8b, v4.8b
+2659202e| gnu mvn v6.8b, v9.8b
+f394046f| gnu bic v19.8h, #0x87
+d856056f| gnu bic v24.4s, #0xb6, lsl #16
+2f85022f| gnu mvni v15.4h, #0x49
+24baa02e| gnu neg v4.2s, v17.2s
+145b206e| gnu mvn v20.16b, v24.16b
+191fff4e| gnu orn v25.16b, v24.16b, v31.16b
+6f96004f| gnu orr v15.8h, #0x13
+a564020f| gnu movi v5.2s, #0x45, lsl #24
+ae1ead0e| gnu orr v14.8b, v21.8b, v13.8b
+f2e1e00e| gnu pmull v18.1q, v15.1d, v0.1d
+0d426e2e| gnu raddhn v13.4h, v16.4s, v14.4s
+4443246e| gnu raddhn2 v4.16b, v26.8h, v4.8h
+015b602e| gnu rbit v1.8b, v24.8b
+4209202e| gnu rev32 v2.8b, v10.8b
+d109a04e| gnu rev64 v17.4s, v14.4s
+5a8e380f| gnu rshrn v26.2s, v18.2d, #8
+438d234f| gnu rshrn2 v3.4s, v10.2d, #29
+a861716e| gnu rsubhn2 v8.8h, v13.4s, v17.4s
+017c2f0e| gnu saba v1.8b, v0.8b, v15.8b
+5d51a90e| gnu sabal v29.2d, v10.2s, v9.2s
+c076a04e| gnu sabd v0.4s, v22.4s, v0.4s
+2d722e0e| gnu sabdl v13.8h, v17.8b, v14.8b
+1f732e4e| gnu sabdl2 v31.8h, v24.16b, v14.16b
+c628604e| gnu saddlp v6.4s, v6.8h
+103b704e| gnu saddlv s16, v24.8h
+8f122f0e| gnu saddw v15.8h, v20.8h, v15.8b
+30e6755f| gnu scvtf d16, d17, #11
+73e7544f| gnu scvtf v19.2d, v27.2d, #44
+51d9615e| gnu scvtf d17, d10
+fad9210e| gnu scvtf v26.2s, v15.2s
+96c0421e| gnu scvtf d22, w4, #16
+76e1029e| gnu scvtf s22, x11, #8
+a791429e| gnu scvtf d7, x13, #28
+f100221e| gnu scvtf s17, w7
+e101621e| gnu scvtf d1, w15
+6e03229e| gnu scvtf s14, x27
+0b01629e| gnu scvtf d11, x8
+2401025e| gnu sha1c q4, s9, v2.4s
+5d08285e| gnu sha1h s29, s2
+65210d5e| gnu sha1m q5, s11, v13.4s
+29131a5e| gnu sha1p q9, s25, v26.4s
+2b311a5e| gnu sha1su0 v11.4s, v9.4s, v26.4s
+0919285e| gnu sha1su1 v9.4s, v8.4s
+f052035e| gnu sha256h2 q16, q23, v3.4s
+fe401e5e| gnu sha256h q30, q7, v30.4s
+7529285e| gnu sha256su0 v21.4s, v11.4s
+cc60195e| gnu sha256su1 v12.4s, v6.4s, v25.4s
+8b56060f| gnu orr v11.2s, #0xd4, lsl #16
+3f3aa16e| gnu shll2 v31.2d, v17.4s, #32
+0986394f| gnu shrn2 v9.4s, v16.2d, #7
+35276e4e| gnu shsub v21.8h, v25.8h, v14.8h
+e2556d7f| gnu sli d2, d15, #45
+f7541e6f| gnu sli v23.8h, v7.8h, #14
+3167630e| gnu smax v17.4h, v25.4h, v3.4h
+68a6230e| gnu smaxp v8.8b, v19.8b, v3.8b
+a4aa304e| gnu smaxv b4, v21.16b
+2520440f| gnu smlal v5.4s, v1.4h, v4.h[0]
+8c286f4f| gnu smlal2 v12.4s, v4.8h, v15.h[6]
+3a82660e| gnu smlal v26.4s, v17.4h, v6.4h
+d92f1f0e| gnu smov w25, v30.b[15]
+912d114e| gnu smov x17, v12.b[8]
+b87ae05e| gnu sqabs d24, d21
+2d7b200e| gnu sqabs v13.8b, v25.8b
+560f645e| gnu sqadd h22, h26, h4
+4f0da54e| gnu sqadd v15.4s, v10.4s, v5.4s
+5992ba5e| gnu sqdmlal d25, s18, s26
+b892684e| gnu sqdmlal2 v24.4s, v21.8h, v8.8h
+63786e5f| gnu sqdmlsl s3, h3, v14.h[6]
+0c79a10f| gnu sqdmlsl v12.2d, v8.2s, v1.s[3]
+1d73504f| gnu sqdmlsl2 v29.4s, v24.8h, v0.h[1]
+6cb36c5e| gnu sqdmlsl s12, h27, h12
+82b36e4e| gnu sqdmlsl2 v2.4s, v28.8h, v14.8h
+8dca5d4f| gnu sqdmulh v13.8h, v20.8h, v13.h[5]
+fcb6b64e| gnu sqdmulh v28.4s, v23.4s, v22.4s
+d6b0974f| gnu sqdmull2 v22.2d, v6.4s, v23.s[0]
+afd0b84e| gnu sqdmull2 v15.2d, v5.4s, v24.4s
+067b207e| gnu sqneg b6, b24
+9979606e| gnu sqneg v25.8h, v12.8h
+bfdbae0f| gnu sqrdmulh v31.2s, v29.2s, v14.s[3]
+c3b7a07e| gnu sqrdmulh s3, s30, s0
+845d3d5e| gnu sqrshl b4, b12, b29
+495dba0e| gnu sqrshl v9.2s, v10.2s, v26.2s
+fa8e0d7f| gnu sqrshrun b26, h23, #3
+cf75185f| gnu sqshl h15, h14, #8
+a975250f| gnu sqshl v9.2s, v13.2s, #5
+424da05e| gnu sqshl s2, s10, s0
+464db90e| gnu sqshl v6.2s, v10.2s, v25.2s
+af656d7f| gnu sqshlu d15, d13, #45
+e564436f| gnu sqshlu v5.2d, v7.2d, #3
+c1973b5f| gnu sqshrn s1, d30, #5
+d586036f| gnu mvni v21.8h, #0x76
+4c2ea95e| gnu sqsub s12, s18, s9
+df2efe4e| gnu sqsub v31.2d, v22.2d, v30.2d
+c149a10e| gnu sqxtn v1.2s, v14.2d
+712a217e| gnu sqxtun b17, h19
+9a29a12e| gnu sqxtun v26.2s, v12.2d
+6a166e0e| gnu srhadd v10.4h, v19.4h, v14.4h
+0445647f| gnu sri d4, d8, #28
+6f44172f| gnu sri v15.4h, v3.4h, #9
+cd56f94e| gnu srshl v13.2d, v22.2d, v25.2d
+12345b5f| gnu srsra d18, d0, #37
+f746fa5e| gnu sshl d23, d23, d26
+89476c4e| gnu sshl v9.8h, v28.8h, v12.8h
+0da60e0f| gnu sshll v13.8h, v16.8b, #6
+a504585f| gnu sshr d5, d5, #40
+3b07544f| gnu sshr v27.2d, v25.2d, #44
+3417350f| gnu ssra v20.2s, v25.2s, #11
+1a213f0e| gnu ssubl v26.8h, v8.8b, v31.8b
+1322a34e| gnu ssubl2 v19.2d, v16.4s, v3.4s
+e931b84e| gnu ssubw2 v9.2d, v15.2d, v24.4s
+dd7d004c| gnu st1 {v29.2d}, [x14]
+cea4000c| gnu st1 {v14.4h, v15.4h}, [x6]
+5a64000c| gnu st1 {v26.4h-v28.4h}, [x2]
+2b2c004c| gnu st1 {v11.2d-v14.2d}, [x1]
+39719f0c| gnu st1 {v25.8b}, [x9],#8
+b771874c| gnu st1 {v23.16b}, [x13], x7
+1da39f0c| gnu st1 {v29.8b, v30.8b}, [x24],#16
+20a0800c| gnu st1 {v0.8b, v1.8b}, [x1], x0
+5a6a9f4c| gnu st1 {v26.4s-v28.4s}, [x18],#48
+0d69994c| gnu st1 {v13.4s-v15.4s}, [x8], x25
+7e239f0c| gnu st1 {v30.8b, v31.8b, v0.8b, v1.8b}, [x27],#32
+9a2d8e0c| gnu st1 {v26.1d-v29.1d}, [x12], x14
+fd0b004d| gnu st1 {v29.b}[10], [sp]
+1058004d| gnu st1 {v16.h}[7], [x0]
+0593000d| gnu st1 {v5.s}[1], [x24]
+3d87000d| gnu st1 {v29.d}[0], [x25]
+1a079f0d| gnu st1 {v26.b}[1], [x24],#1
+421b8f4d| gnu st1 {v2.b}[14], [x26], x15
+54489f4d| gnu st1 {v20.h}[5], [x2],#2
+c4809f4d| gnu st1 {v4.s}[2], [x6],#4
+0481840d| gnu st1 {v4.s}[0], [x8], x4
+6b859f0d| gnu st1 {v11.d}[0], [x11],#8
+f7878e4d| gnu st1 {v23.d}[1], [sp], x14
+e788004c| gnu st2 {v7.4s, v8.4s}, [x7]
+79889f0c| gnu st2 {v25.2s, v26.2s}, [x3],#16
+a502204d| gnu st2 {v5.b, v6.b}[8], [x21]
+0e50204d| gnu st2 {v14.h, v15.h}[6], [x0]
+6b93204d| gnu st2 {v11.s, v12.s}[3], [x27]
+0987200d| gnu st2 {v9.d, v10.d}[0], [x24]
+7003bf0d| gnu st2 {v16.b, v17.b}[0], [x27],#2
+1a09a94d| gnu st2 {v26.b, v27.b}[10], [x8], x9
+1e43b00d| gnu st2 {v30.h, v31.h}[0], [x24], x16
+1a82bf0d| gnu st2 {v26.s, v27.s}[0], [x16],#8
+9892a50d| gnu st2 {v24.s, v25.s}[1], [x20], x5
+5884bf0d| gnu st2 {v24.d, v25.d}[0], [x2],#16
+9e87a34d| gnu st2 {v30.d, v31.d}[1], [x28], x3
+4e47004c| gnu st3 {v14.8h-v16.8h}, [x26]
+76489f4c| gnu st3 {v22.4s-v24.4s}, [x3],#48
+3b48860c| gnu st3 {v27.2s-v29.2s}, [x1], x6
+e52a000d| gnu st3 {v5.b-v7.b}[2], [x23]
+6f73004d| gnu st3 {v15.h-v17.h}[6], [x27]
+9bb1004d| gnu st3 {v27.s-v29.s}[3], [x12]
+0ca7000d| gnu st3 {v12.d-v14.d}[0], [x24]
+2a259f0d| gnu st3 {v10.b-v12.b}[1], [x9],#3
+0524860d| gnu st3 {v5.b-v7.b}[1], [x0], x6
+94689a4d| gnu st3 {v20.h-v22.h}[5], [x4], x26
+c2a19f4d| gnu st3 {v2.s-v4.s}[2], [x14],#12
+5fb38c0d| gnu st3 {v31.s, v0.s, v1.s}[1], [x26], x12
+6da59f4d| gnu st3 {v13.d-v15.d}[1], [x11],#24
+32a7924d| gnu st3 {v18.d-v20.d}[1], [x25], x18
+5b03000c| gnu st4 {v27.8b-v30.8b}, [x26]
+cd059f0c| gnu st4 {v13.4h-v16.4h}, [x14],#32
+8601820c| gnu st4 {v6.8b-v9.8b}, [x12], x2
+7925200d| gnu st4 {v25.b-v28.b}[1], [x11]
+cd7a204d| gnu st4 {v13.h-v16.h}[7], [x22]
+dfb2204d| gnu st4 {v31.s, v0.s, v1.s, v2.s}[3], [x22]
+daa4200d| gnu st4 {v26.d-v29.d}[0], [x6]
+2135bf0d| gnu st4 {v1.b-v4.b}[5], [x9],#4
+7727a90d| gnu st4 {v23.b-v26.b}[1], [x27], x9
+b4a3bf0d| gnu st4 {v20.s-v23.s}[0], [x29],#16
+1ba3ae0d| gnu st4 {v27.s-v30.s}[0], [x24], x14
+93a4bf0d| gnu st4 {v19.d-v22.d}[0], [x4],#32
+50a6b80d| gnu st4 {v16.d-v19.d}[0], [x18], x24
+79b53d2c| gnu stnp s25, s13, [x11,#-20]
+d895326c| gnu stnp d24, d5, [x14,#-216]
+d1810dac| gnu stnp q17, q0, [x14,#432]
+08728c2c| gnu stp s8, s28, [x16],#96
+ac1ba16c| gnu stp d12, d6, [x29],#-496
+f4fab1ac| gnu stp q20, q30, [x23],#-464
+c15bbe2d| gnu stp s1, s22, [x30,#-16]!
+2422856d| gnu stp d4, d8, [x17,#80]!
+3d5282ad| gnu stp q29, q20, [x17,#64]!
+5df5352d| gnu stp s29, s29, [x10,#-84]
+5c54286d| gnu stp d28, d21, [x2,#-384]
+753c11ad| gnu stp q21, q15, [x3,#544]
+54e4033c| gnu str b20, [x2],#62
+aa54137c| gnu str h10, [x5],#-203
+c9d615bc| gnu str s9, [x22],#-163
+fc471efc| gnu str d28, [sp],#-28
+20f78d3c| gnu str q0, [x25],#223
+028d1b3c| gnu str b2, [x8,#-72]!
+35be037c| gnu str h21, [x17,#59]!
+b98c15bc| gnu str s25, [x5,#-168]!
+fd1e11fc| gnu str d29, [x23,#-239]!
+13ec9a3c| gnu str q19, [x0,#-82]!
+b12d123d| gnu str b17, [x13,#1163]
+d6500b7d| gnu str h22, [x6,#1448]
+d46e39bd| gnu str s20, [x22,#14700]
+b84f30fd| gnu str d24, [x29,#24728]
+3cee993d| gnu str q28, [x17,#26544]
+4348293c| gnu str b3, [x2,w9,uxtw]
+ed7b253c| gnu str b13, [sp,x5,lsl #0]
+8fc9357c| gnu str h15, [x12,w21,sxtw]
+87f832bc| gnu str s7, [x4,x18,sxtx #2]
+f1ea38fc| gnu str d17, [x23,x24,sxtx]
+1c68a43c| gnu str q28, [x0,x4]
+dcb1023c| gnu stur b28, [x14,#43]
+6701117c| gnu stur h7, [x11,#-240]
+85b11bbc| gnu stur s5, [x12,#-69]
+8ea10efc| gnu stur d14, [x12,#234]
+eab08f3c| gnu stur q10, [x7,#251]
+ca876a2e| gnu sub v10.4h, v30.4h, v10.4h
+603be05e| gnu suqadd d0, d27
+513a600e| gnu suqadd v17.4h, v18.4h
+25231c4e| gnu tbl v5.16b, {v25.16b, v26.16b}, v28.16b
+8c40100e| gnu tbl v12.8b, {v4.16b-v6.16b}, v16.8b
+0462040e| gnu tbl v4.8b, {v16.16b-v19.16b}, v4.8b
+34000f0e| gnu tbl v20.8b, {v1.16b}, v15.8b
+eb301f4e| gnu tbx v11.16b, {v7.16b, v8.16b}, v31.16b
+bb51124e| gnu tbx v27.16b, {v13.16b-v15.16b}, v18.16b
+cf701d0e| gnu tbx v15.8b, {v6.16b-v9.16b}, v29.8b
+4213080e| gnu tbx v2.8b, {v26.16b}, v8.8b
+2b2b114e| gnu trn1 v11.16b, v25.16b, v17.16b
+766ada4e| gnu trn2 v22.2d, v19.2d, v26.2d
+4152672e| gnu uabal v1.4s, v18.4h, v7.4h
+0953296e| gnu uabal2 v9.8h, v24.16b, v9.16b
+41756c6e| gnu uabd v1.8h, v10.8h, v12.8h
+3670ae2e| gnu uabdl v22.2d, v1.2s, v14.2s
+5401312e| gnu uaddl v20.8h, v10.8b, v17.8b
+d103286e| gnu uaddl2 v17.8h, v30.16b, v8.16b
+a92a206e| gnu uaddlp v9.8h, v21.16b
+b839706e| gnu uaddlv s24, v13.8h
+ea106d2e| gnu uaddw v10.4s, v7.4s, v13.4h
+c010726e| gnu uaddw2 v0.4s, v6.4s, v18.8h
+e7e5517f| gnu ucvtf d7, d15, #47
+49e7376f| gnu ucvtf v9.4s, v26.4s, #9
+4ada617e| gnu ucvtf d10, d18
+6b82431e| gnu ucvtf d11, w19, #32
+db84039e| gnu ucvtf s27, x6, #31
+1c72439e| gnu ucvtf d28, x16, #36
+f301231e| gnu ucvtf s19, w15
+3503631e| gnu ucvtf d21, w25
+e602239e| gnu ucvtf s6, x23
+d503639e| gnu ucvtf d21, x30
+ec04606e| gnu uhadd v12.8h, v7.8h, v0.8h
+3f65782e| gnu umax v31.4h, v9.4h, v24.4h
+afa6232e| gnu umaxp v15.8b, v21.8b, v3.8b
+cdaa706e| gnu umaxv h13, v22.8h
+736c236e| gnu umin v19.16b, v3.16b, v3.16b
+a0afa62e| gnu uminp v0.2s, v29.2s, v6.2s
+3c229e2f| gnu umlal v28.2d, v17.2s, v30.s[0]
+9d29a56f| gnu umlal2 v29.2d, v12.4s, v5.s[3]
+6c80392e| gnu umlal v12.8h, v3.8b, v25.8b
+4f60692f| gnu umlsl v15.4s, v2.4h, v9.h[2]
+61a1606e| gnu umlsl2 v1.4s, v11.8h, v0.8h
+183e0b0e| gnu umov w24, v16.b[5]
+c0a89b6f| gnu umull2 v0.2d, v6.4s, v27.s[2]
+36c0736e| gnu umull2 v22.4s, v1.8h, v19.8h
+120d757e| gnu uqadd h18, h8, h21
+3a0c2e2e| gnu uqadd v26.8b, v1.8b, v14.8b
+0d5d617e| gnu uqrshl h13, h8, h1
+4d5cb16e| gnu uqrshl v13.4s, v2.4s, v17.4s
+439c382f| gnu uqrshrn v3.2s, v2.2d, #8
+9d745c7f| gnu uqshl d29, d4, #28
+7b76656f| gnu uqshl v27.2d, v19.2d, #37
+774ef37e| gnu uqshl d23, d19, d19
+124eb32e| gnu uqshl v18.2s, v16.2s, v19.2s
+bc961f6f| gnu uqshrn2 v28.8h, v21.4s, #1
+a62ce07e| gnu uqsub d6, d5, d0
+0f2dae2e| gnu uqsub v15.2s, v8.2s, v14.2s
+b24b217e| gnu uqxtn b18, h29
+f148216e| gnu uqxtn2 v17.16b, v7.8h
+7d15a42e| gnu urhadd v29.2s, v11.2s, v4.2s
+9055fc6e| gnu urshl v16.2d, v12.2d, v28.2d
+eb275e7f| gnu urshr d11, d31, #34
+c0347c7f| gnu ursra d0, d6, #4
+fe44e97e| gnu ushl d30, d7, d9
+fa47e86e| gnu ushl v26.2d, v31.2d, v8.2d
+95a7262f| gnu ushll v21.2d, v28.2s, #6
+9ca7096f| gnu ushll2 v28.8h, v28.16b, #1
+8a07527f| gnu ushr d10, d28, #46
+c7076b6f| gnu ushr v7.2d, v30.2d, #21
+8d39e07e| gnu usqadd d13, d12
+f716727f| gnu usra d23, d23, #14
+3f14066f| gnu bic v31.4s, #0xc1
+b423ac2e| gnu usubl v20.2d, v29.2s, v12.2s
+7c22736e| gnu usubl2 v28.4s, v19.8h, v19.8h
+76317d2e| gnu usubw v22.4s, v11.4s, v29.4h
+8f302a6e| gnu usubw2 v15.8h, v4.8h, v10.16b
+c5a4286f| gnu ushll2 v5.2d, v6.4s, #8
+d3198c0e| gnu uzp1 v19.2s, v14.2s, v12.2s
+c05bdb4e| gnu uzp2 v0.2d, v30.2d, v27.2d
+362b610e| gnu xtn v22.4h, v25.4s
+0c29214e| gnu xtn2 v12.16b, v8.8h
+2b39c64e| gnu zip1 v11.2d, v9.2d, v6.2d
+9500091a| gnu adc w21, w4, w9
+c2001a9a| gnu adc x2, x6, x26
+6a02163a| gnu adcs w10, w19, w22
+0c0118ba| gnu adcs x12, x8, x24
+b1c42b0b| gnu add w17, w5, w11, sxtw #1
+bf15368b| gnu add sp, x13, w22, uxtb #5
+be1f468b| gnu add x30, x29, x6, lsr #7
+8f51352b| gnu adds w15, w12, w21, uxtw #4
+97043eab| gnu adds x23, x4, w30, uxtb #1
+09b00931| gnu adds w9, w0, #0x26c
+4de204ab| gnu adds x13, x18, x4, lsl #56
+bba87030| gnu adr x27, .+0xe1515
+a9bf40d0| gnu adrp x9, .+0x817f6000
+f6b60912| gnu and w22, w23, #0xff9fff9f
+a6d13b92| gnu and x6, x13, #0xe3e3e3e3e3e3e3e3
+1cc0138a| gnu and x28, x0, x19, lsl #48
+73882072| gnu ands w19, w3, #0x70007
+b5780af2| gnu ands x21, x5, #0xffdfffffffdfffff
+766c90ea| gnu ands x22, x3, x16, asr #27
+a72ac31a| gnu asr w7, w21, w3
+ff28d59a| gnu asr xzr, x7, x21
+3e7f0913| gnu asr w30, w25, #9
+bafd5493| gnu asr x26, x13, #20
+302ad21a| gnu asr w16, w17, w18
+602bd79a| gnu asr x0, x27, x23
+4fa4df54| gnu b.al .+0xfffffffffffbf488
+a2e9cf15| gnu b .+0x73fa688
+eff373b3| gnu bfxil x15, xzr, #51, #10
+9e3e7db3| gnu bfi x30, x20, #3, #16
+87fa41b3| gnu bfxil x7, x20, #1, #62
+b831f80a| gnu bic w24, w13, w24, ror #12
+ffe0ae8a| gnu bic xzr, x7, x14, asr #56
+7c2c276a| gnu bics w28, w3, w7, lsl #11
+ccf2fbea| gnu bics x12, x22, x27, ror #60
+722cd195| gnu bl .+0x744b1c8
+20003fd6| gnu blr x1
+e0021fd6| gnu br x23
+80db37d4| gnu brk #0xbedc
+f25a4335| gnu cbnz w18, .+0x86b5c
+5d5376b5| gnu cbnz x29, .+0xeca68
+5ce56834| gnu cbz w28, .+0xd1ca8
+29b08cb4| gnu cbz x9, .+0xfffffffffff19604
+e048533a| gnu ccmn w7, #0x13, #0x0, mi
+e7da4fba| gnu ccmn x23, #0xf, #0x7, le
+67f2583a| gnu ccmn w19, w24, #0x7, al
+60a05aba| gnu ccmn x3, x26, #0x0, ge
+6a3b517a| gnu ccmp w27, #0x11, #0xa, cc
+8a4b55fa| gnu ccmp x28, #0x15, #0xa, mi
+ed934b7a| gnu ccmp wzr, w11, #0xd, ls
+24414ffa| gnu ccmp x9, x15, #0x4, mi
+0e169c1a| gnu csinc w14, w16, w28, ne
+8264949a| gnu csinc x2, x4, x20, vs
+b363935a| gnu csinv w19, w29, w19, vs
+ff619dda| gnu csinv xzr, x15, x29, vs
+5f3703d5| gnu clrex #0x7
+0017c05a| gnu cls w0, w24
+8216c0da| gnu cls x2, x20
+3310c05a| gnu clz w19, w1
+6e13c0da| gnu clz x14, x27
+7fd02b2b| gnu cmn w3, w11, sxtw #4
+5f3928ab| gnu cmn x10, w8, uxth #6
+1fb92cb1| gnu cmn x8, #0xb2e
+ff164eab| gnu cmn x23, x14, lsr #5
+ff71256b| gnu cmp w15, w5, uxtx #4
+df6034eb| gnu cmp x6, x20, uxtx
+ff776af1| gnu cmp sp, #0xa9d, lsl #12
+80e4855a| gnu csneg w0, w4, w5, al
+da3490da| gnu csneg x26, x6, x16, cc
+af40c71a| gnu crc32b w15, w5, w7
+c546cf1a| gnu crc32h w5, w22, w15
+6148c01a| gnu crc32w w1, w3, w0
+0f4eda9a| gnu crc32x w15, w16, x26
+4950d01a| gnu crc32cb w9, w2, w16
+8155c31a| gnu crc32ch w1, w12, w3
+835ace1a| gnu crc32cw w3, w20, w14
+f05fc59a| gnu crc32cx w16, wzr, x5
+0ae3901a| gnu csel w10, w24, w16, al
+ed51969a| gnu csel x13, x15, x22, pl
+ee679f1a| gnu cset w14, vc
+ed579f9a| gnu cset x13, mi
+f2539f5a| gnu csetm w18, mi
+ffe39fda| gnu csinv xzr, xzr, xzr, al
+9d25941a| gnu csinc w29, w12, w20, cs
+afb7829a| gnu csinc x15, x29, x2, lt
+7602895a| gnu csinv w22, w19, w9, eq
+011394da| gnu csinv x1, x24, x20, ne
+68b7935a| gnu csneg w8, w27, w19, lt
+a32784da| gnu csneg x3, x29, x4, cs
+8159a6d4| gnu dcps1 #0x32cc
+c2d9aad4| gnu dcps2 #0x56ce
+63ceb7d4| gnu dcps3 #0xbe73
+bf3903d5| gnu dmb ishld
+e003bfd6| gnu drps
+9f3603d5| gnu dsb nshst
+fc76a9ca| gnu eon x28, x23, x9, asr #29
+540f2352| gnu eor w20, w26, #0xe0000001
+187e1ed2| gnu eor x24, x16, #0xffffffffffffffff
+fd37004a| gnu eor w29, wzr, w0, lsl #13
+b8c542ca| gnu eor x24, x13, x2, lsr #49
+e0039fd6| gnu eret
+5f26c193| gnu extr xzr, x18, x1, #9
+7f2003d5| gnu wfi
+ff2a03d5| gnu hint #0x57
+804a59d4| gnu hlt #0xca54
+df3003d5| gnu isb #0x0
+10fcdf88| gnu ldar w16, [x0]
+fafcdfc8| gnu ldar x26, [x7]
+30fedf08| gnu ldarb w16, [x17]
+63fedf48| gnu ldarh w3, [x19]
+82ba7f88| gnu ldaxp w2, w14, [x20]
+d6917fc8| gnu ldaxp x22, x4, [x14]
+59ff5f88| gnu ldaxr w25, [x26]
+fefe5fc8| gnu ldaxr x30, [x23]
+a0fc5f08| gnu ldaxrb w0, [x5]
+fafd5f48| gnu ldaxrh w26, [x15]
+b8804428| gnu ldnp w24, w0, [x5,#36]
+93e969a8| gnu ldnp x19, x26, [x12,#-360]
+caccef28| gnu ldp w10, w19, [x6],#-132
+7365c3a8| gnu ldp x19, x25, [x11],#48
+3106ca29| gnu ldp w17, w1, [x17,#80]!
+0c02f7a9| gnu ldp x12, x0, [x16,#-144]!
+41af6529| gnu ldp w1, w11, [x26,#-212]
+706b65a9| gnu ldp x16, x26, [x27,#-432]
+746ecf68| gnu ldpsw x20, x27, [x19],#120
+c051c669| gnu ldpsw x0, x20, [x14,#48]!
+aded5b69| gnu ldpsw x13, x27, [x13,#220]
+990457b8| gnu ldr w25, [x4],#-144
+bbd556f8| gnu ldr x27, [x13],#-147
+a45c51b8| gnu ldr w4, [x5,#-235]!
+344c41f8| gnu ldr x20, [x1,#20]!
+2d8755b9| gnu ldr w13, [x25,#5508]
+56e360f9| gnu ldr x22, [x26,#16832]
+1739b718| gnu ldr w23, .+0xfffffffffff6e720
+97b91c58| gnu ldr x23, .+0x39730
+3b264e38| gnu ldrb w27, [x17],#226
+898f5738| gnu ldrb w9, [x28,#-136]!
+c44e6839| gnu ldrb w4, [x22,#2579]
+2d687738| gnu ldrb w13, [x1,x23]
+4d475978| gnu ldrh w13, [x26],#-108
+39de5278| gnu ldrh w25, [x17,#-211]!
+9cc54879| gnu ldrh w28, [x12,#1122]
+87fb6978| gnu ldrh w7, [x28,x9,sxtx #1]
+3967cb38| gnu ldrsb w25, [x25],#182
+abf69438| gnu ldrsb x11, [x21],#-177
+159ed138| gnu ldrsb w21, [x16,#-231]!
+b63e8038| gnu ldrsb x22, [x21,#3]!
+4491c939| gnu ldrsb w4, [x10,#612]
+497e8039| gnu ldrsb x9, [x18,#31]
+7d6bf638| gnu ldrsb w29, [x27,x22]
+e578ba38| gnu ldrsb x5, [x7,x26,lsl #0]
+9f06ca78| gnu ldrsh wzr, [x20],#160
+15c59d78| gnu ldrsh x21, [x8],#-36
+c07fd278| gnu ldrsh w0, [x30,#-217]!
+bdec9278| gnu ldrsh x29, [x5,#-210]!
+10e2c979| gnu ldrsh w16, [x16,#1264]
+54d29d79| gnu ldrsh x20, [x18,#3816]
+eb9484b8| gnu ldrsw x11, [x7],#73
+ba2e8ab8| gnu ldrsw x26, [x21,#162]!
+ac7f8ab9| gnu ldrsw x12, [x29,#2684]
+9466e898| gnu ldrsw x20, .+0xfffffffffffd0cd0
+a359b3b8| gnu ldrsw x3, [x13,w19,uxtw #2]
+f8b941b8| gnu ldtr w24, [x15,#27]
+fc0a4ef8| gnu ldtr x28, [x23,#224]
+60d84638| gnu ldtrb w0, [x3,#109]
+44685978| gnu ldtrh w4, [x2,#-106]
+5379dc38| gnu ldtrsb w19, [x10,#-57]
+ade99538| gnu ldtrsb x13, [x13,#-162]
+905ac078| gnu ldtrsh w16, [x20,#5]
+10898478| gnu ldtrsh x16, [x8,#72]
+37188eb8| gnu ldtrsw x23, [x1,#225]
+992351b8| gnu ldur w25, [x28,#-238]
+c9f155f8| gnu ldur x9, [x14,#-161]
+76e14e38| gnu ldurb w22, [x11,#238]
+47b24478| gnu ldurh w7, [x18,#75]
+4020da38| gnu ldursb w0, [x2,#-94]
+0dd09e38| gnu ldursb x13, [x0,#-19]
+8f81d478| gnu ldursh w15, [x12,#-184]
+96918378| gnu ldursh x22, [x12,#57]
+b2e383b8| gnu ldursw x18, [x29,#62]
+d3717f88| gnu ldxp w19, w28, [x14]
+cb677fc8| gnu ldxp x11, x25, [x30]
+ed7c5f88| gnu ldxr w13, [x7]
+aa7d5fc8| gnu ldxr x10, [x13]
+1c7d5f08| gnu ldxrb w28, [x8]
+de7f5f48| gnu ldxrh w30, [x30]
+1622dc1a| gnu lsl w22, w16, w28
+cd20d59a| gnu lsl x13, x6, x21
+882957d3| gnu ubfiz x8, x12, #41, #11
+3320cc1a| gnu lsl w19, w1, w12
+7320de9a| gnu lsl x19, x3, x30
+af25d31a| gnu lsr w15, w13, w19
+e426c39a| gnu lsr x4, x23, x3
+e87f0653| gnu lsr w8, wzr, #6
+85fe5fd3| gnu lsr x5, x20, #31
+0025dc1a| gnu lsr w0, w8, w28
+6e27c79a| gnu lsr x14, x27, x7
+6d69111b| gnu madd w13, w11, w17, w26
+245d0d9b| gnu madd x4, x9, x13, x23
+85fe1f1b| gnu mneg w5, w20, wzr
+9bfc199b| gnu mneg x27, x4, x25
+13000011| gnu add w19, w0, #0x0
+e3000091| gnu add x3, x7, #0x0
+986c9e12| gnu mov w24, #0xffff0c9b
+cb24f092| gnu mov x11, #0x7ed9ffffffffffff
+3cbb88d2| gnu mov x28, #0x45d9
+e4170232| gnu mov w4, #0xc000000f
+fe636bb2| gnu mov x30, #0x3fffffe00000
+ed031b2a| gnu mov w13, w27
+fb0308aa| gnu mov x27, x8
+be3ed1f2| gnu movk x30, #0x89f5, lsl #32
+e0a08312| gnu mov w0, #0xffffe2f8
+a1a6e592| gnu mov x1, #0xd2caffffffffffff
+5260f0d2| gnu mov x18, #0x8302000000000000
+a60739d5| gnu mrs x6, s3_1_c0_c7_5
+281a1ed5| gnu msr s3_6_c1_c10_1, x8
+10f31b1b| gnu msub w16, w24, w27, w28
+46b41a9b| gnu msub x6, x2, x26, x13
+ec7f041b| gnu mul w12, wzr, w4
+147f009b| gnu mul x20, x24, x0
+f67f692a| gnu mvn w22, w9, lsr #31
+f2a3f7aa| gnu mvn x18, x23, ror #40
+fe8b0bcb| gnu neg x30, x11, lsl #34
+fef710eb| gnu negs x30, x16, lsl #61
+e0031b5a| gnu ngc w0, w27
+e0031dda| gnu ngc x0, x29
+f003167a| gnu ngcs w16, w22
+e60302fa| gnu ngcs x6, x2
+1f2003d5| gnu nop
+2f51732a| gnu orn w15, w9, w19, lsr #20
+9b0facaa| gnu orn x27, x28, x12, asr #3
+efa40032| gnu orr w15, w7, #0x3ff03ff
+3a0b19b2| gnu orr x26, x25, #0x38000000380
+4b9ec4aa| gnu orr x11, x18, x4, ror #39
+f5eaa2f9| gnu prfm pstl3strm, [x23,#17872]
+731df8d8| gnu prfm pstl2strm, .+0xffffffffffff03ac
+85c194f8| gnu prfum pldl3strm, [x12,#-180]
+c303c05a| gnu rbit w3, w30
+3000c0da| gnu rbit x16, x1
+20025fd6| gnu ret x17
+ec08c05a| gnu rev w12, w7
+180cc0da| gnu rev x24, x0
+4b07c05a| gnu rev16 w11, w26
+7805c0da| gnu rev16 x24, x11
+ea08c0da| gnu rev32 x10, x7
+a90fc0da| gnu rev x9, x29
+fd788213| gnu extr w29, w7, w2, #30
+e1a0cc93| gnu extr x1, x7, x12, #40
+792fdc1a| gnu ror w25, w27, w28
+2b2cc39a| gnu ror x11, x1, x3
+7e2ec71a| gnu ror w30, w19, w7
+392edd9a| gnu ror x25, x17, x29
+47020a5a| gnu sbc w7, w18, w10
+b7021dda| gnu sbc x23, x21, x29
+7800197a| gnu sbcs w24, w3, w25
+1e0203fa| gnu sbcs x30, x16, x3
+a6b07393| gnu sbfiz x6, x5, #13, #45
+94957d93| gnu sbfiz x20, x12, #3, #38
+ecff5e93| gnu asr x12, xzr, #30
+a50ddb1a| gnu sdiv w5, w13, w27
+7c0ec89a| gnu sdiv x28, x19, x8
+9f2003d5| gnu sev
+bf2003d5| gnu sevl
+5953349b| gnu smaddl x25, w26, w20, x20
+bafc399b| gnu smnegl x26, w5, w25
+a5cc289b| gnu smsubl x5, w5, w8, x19
+297c579b| gnu smulh x9, x1, x23
+5e7e299b| gnu smull x30, w18, w9
+29fd9f88| gnu stlr w9, [x9]
+fdff9fc8| gnu stlr x29, [sp]
+defe9f08| gnu stlrb w30, [x22]
+2ffc9f48| gnu stlrh w15, [x1]
+c1e12f88| gnu stlxp w15, w1, w24, [x14]
+62aa2ec8| gnu stlxp w14, x2, x10, [x19]
+b9fe1b88| gnu stlxr w27, w25, [x21]
+cbff14c8| gnu stlxr w20, x11, [x30]
+edfc0608| gnu stlxrb w6, w13, [x7]
+8dfe1048| gnu stlxrh w16, w13, [x20]
+1a323628| gnu stnp w26, w12, [x16,#-80]
+b3cb3da8| gnu stnp x19, x18, [x29,#-40]
+52398828| gnu stp w18, w14, [x10],#64
+434c95a8| gnu stp x3, x19, [x2],#336
+2badbd29| gnu stp w11, w11, [x9,#-20]!
+daeabaa9| gnu stp x26, x26, [x22,#-88]!
+9bc91529| gnu stp w27, w18, [x12,#172]
+eea024a9| gnu stp x14, x8, [x7,#-440]
+fec514b8| gnu str w30, [x15],#-180
+d21508f8| gnu str x18, [x14],#129
+7c5c0ab8| gnu str w28, [x3,#165]!
+6dec1ff8| gnu str x13, [x3,#-2]!
+35681eb9| gnu str w21, [x1,#7784]
+374d35f9| gnu str x23, [x9,#27288]
+1dd83df8| gnu str x29, [x0,w29,sxtw #3]
+1b441b38| gnu strb w27, [x0],#-76
+d69c0f38| gnu strb w22, [x6,#249]!
+b7ce0d39| gnu strb w23, [x21,#883]
+2b7b3938| gnu strb w11, [x25,x25,lsl #0]
+4e771d78| gnu strh w14, [x26],#-41
+64cc0b78| gnu strh w4, [x3,#188]!
+07b90279| gnu strh w7, [x8,#348]
+2eb91cb8| gnu sttr w14, [x9,#-53]
+373a1bf8| gnu sttr x23, [x17,#-77]
+d0881138| gnu sttrb w16, [x6,#-232]
+941a0e78| gnu sttrh w20, [x20,#225]
+da3000b8| gnu stur w26, [x6,#3]
+5e921cf8| gnu stur x30, [x18,#-55]
+09821e38| gnu sturb w9, [x16,#-24]
+67d21c78| gnu sturh w7, [x19,#-51]
+0c352188| gnu stxp w1, w12, w13, [x8]
+146d26c8| gnu stxp w6, x20, x27, [x8]
+837d1888| gnu stxr w24, w3, [x12]
+f17f1bc8| gnu stxr w27, x17, [sp]
+3b7d0f08| gnu stxrb w15, w27, [x9]
+6b7c1f48| gnu stxrh wzr, w11, [x3]
+70ab204b| gnu sub w16, w27, w0, sxth #2
+303b20cb| gnu sub x16, x25, w0, uxth #6
+69a909d1| gnu sub x9, x11, #0x26a
+87384e4b| gnu sub w7, w4, w14, lsr #14
+ec720ecb| gnu sub x12, x23, x14, lsl #28
+2b58256b| gnu subs w11, w1, w5, uxtw #6
+59e93ceb| gnu subs x25, x10, x28, sxtx #2
+9e7b6ff1| gnu subs x30, x28, #0xbde, lsl #12
+3e6d196b| gnu subs w30, w9, w25, lsl #27
+54029ceb| gnu subs x20, x18, x28, asr #0
+c1f91cd4| gnu svc #0xe7ce
+091e0013| gnu sxtb w9, w16
+7f1c4093| gnu sxtb xzr, w3
+b53c0013| gnu sxth w21, w5
+773e4093| gnu sxth x23, w19
+707f4093| gnu sxtw x16, w27
+df3a2dd5| gnu sysl xzr, #5, C3, C10, #6
+607f3137| gnu tbnz w0, #6, .+0x2fec
+3b700c36| gnu tbz w27, #1, .+0xffffffffffff8e04
+5f612972| gnu tst w10, #0xff80ffff
+bf2007f2| gnu tst x5, #0xfe000003fe000003
+1f11136a| gnu tst w8, w19, lsl #4
+5fd10dea| gnu tst x10, x13, lsl #52
+5c826bd3| gnu ubfiz x28, x18, #21, #33
+ad690c53| gnu ubfx w13, w13, #12, #15
+3a0f41d3| gnu ubfx x26, x25, #1, #3
+6a197dd3| gnu ubfiz x10, x11, #3, #7
+520aca1a| gnu udiv w18, w18, w10
+0809c89a| gnu udiv x8, x8, x8
+4e55a69b| gnu umaddl x14, w10, w6, x21
+99fda59b| gnu umnegl x25, w12, w5
+1adabb9b| gnu umsubl x26, w16, w27, x22
+177ddf9b| gnu umulh x23, x8, xzr
+1d7da49b| gnu umull x29, w8, w4
+5a1c0053| gnu uxtb w26, w2
+603c0053| gnu uxth w0, w3
+5f2003d5| gnu wfe
+7f2003d5| gnu wfi
+3f2003d5| gnu yield
+02b8600e| gnu abs v2.4h, v0.4h
+c886f94e| gnu add v8.2d, v22.2d, v25.2d
+5642740e| gnu addhn v22.4h, v18.4s, v20.4s
+3743294e| gnu addhn2 v23.16b, v25.8h, v9.8h
+2abef74e| gnu addp v10.2d, v17.2d, v23.2d
+18bbb14e| gnu addv s24, v24.4s
+1a59284e| gnu aesd v26.16b, v8.16b
+cf48284e| gnu aese v15.16b, v6.16b
+557a284e| gnu aesimc v21.16b, v18.16b
+2f6b284e| gnu aesmc v15.16b, v25.16b
+cf1c324e| gnu and v15.16b, v6.16b, v18.16b
+c9c6032f| gnu mvni v9.2s, #0x76, msl #8
+f1a7012f| gnu mvni v17.4h, #0x3f, lsl #8
+691d600e| gnu bic v9.8b, v11.8b, v0.8b
+c31dfe6e| gnu bif v3.16b, v14.16b, v30.16b
+c81cb66e| gnu bit v8.16b, v6.16b, v22.16b
+701f6b2e| gnu bsl v16.8b, v27.8b, v11.8b
+7c4b600e| gnu cls v28.4h, v27.4h
+ce4a602e| gnu clz v14.4h, v22.4h
+d08de37e| gnu cmeq d16, d14, d3
+e98db96e| gnu cmeq v9.4s, v15.4s, v25.4s
+6e99a00e| gnu cmeq v14.2s, v11.2s, #0
+933d304e| gnu cmge v19.16b, v12.16b, v16.16b
+0e88e07e| gnu cmge d14, d0, #0
+9b89202e| gnu cmge v27.8b, v12.8b, #0
+6a372f4e| gnu cmgt v10.16b, v27.16b, v15.16b
+128be05e| gnu cmgt d18, d24, #0
+9189a00e| gnu cmgt v17.2s, v12.2s, #0
+f734e67e| gnu cmhi d23, d7, d6
+4d36b82e| gnu cmhi v13.2s, v18.2s, v24.2s
+003e2b2e| gnu cmhs v0.8b, v16.8b, v11.8b
+729ae07e| gnu cmle d18, d19, #0
+3699206e| gnu cmle v22.16b, v9.16b, #0
+d1ab600e| gnu cmlt v17.4h, v30.4h, #0
+ad8e244e| gnu cmtst v13.16b, v21.16b, v4.16b
+ef06035e| gnu mov b15, v23.b[1]
+5007040e| gnu dup v16.2s, v26.s[0]
+890e0b4e| gnu dup v9.16b, w20
+951c276e| gnu eor v21.16b, v4.16b, v7.16b
+98d4bf7e| gnu fabd s24, s4, s31
+bcd4ad6e| gnu fabd v28.4s, v5.4s, v13.4s
+78f8e04e| gnu fabs v24.2d, v3.2d
+8cc0201e| gnu fabs s12, s4
+9ac1601e| gnu fabs d26, d12
+3aee307e| gnu facge s26, s17, s16
+41ed352e| gnu facge v1.2s, v10.2s, v21.2s
+35edaf7e| gnu facgt s21, s9, s15
+02efe36e| gnu facgt v2.2d, v24.2d, v3.2d
+21d6664e| gnu fadd v1.2d, v17.2d, v6.2d
+5e282e1e| gnu fadd s30, s2, s14
+4d2a621e| gnu fadd d13, d18, d2
+7cd8707e| gnu faddp d28, v3.2d
+5dd4386e| gnu faddp v29.4s, v2.4s, v24.4s
+69363e1e| gnu fccmp s19, s30, #0x9, cc
+c8b56a1e| gnu fccmp d14, d10, #0x8, lt
+d1f5271e| gnu fccmpe s14, s7, #0x1, al
+3645751e| gnu fccmpe d9, d21, #0x6, mi
+21e6735e| gnu fcmeq d1, d17, d19
+b6dba05e| gnu fcmeq s22, s29, #0
+49d8a04e| gnu fcmeq v9.4s, v2.4s, #0
+2ee5667e| gnu fcmge d14, d9, d6
+4ee7766e| gnu fcmge v14.2d, v26.2d, v22.2d
+4bcba07e| gnu fcmge s11, s26, #0
+11c9a02e| gnu fcmge v17.2s, v8.2s, #0
+81e4a97e| gnu fcmgt s1, s4, s9
+d3e4b56e| gnu fcmgt v19.4s, v6.4s, v21.4s
+efc8e05e| gnu fcmgt d15, d7, #0
+3ec9e04e| gnu fcmgt v30.2d, v9.2d, #0
+38d9a07e| gnu fcmle s24, s9, #0
+7dd9a02e| gnu fcmle v29.2s, v11.2s, #0
+bae8a05e| gnu fcmlt s26, s5, #0
+a2eaa04e| gnu fcmlt v2.4s, v21.4s, #0
+60212f1e| gnu fcmp s11, s15
+a8233a1e| gnu fcmp s29, #0
+a020641e| gnu fcmp d5, d4
+e820701e| gnu fcmp d7, #0
+b0203a1e| gnu fcmpe s5, s26
+78203d1e| gnu fcmpe s3, #0
+70226e1e| gnu fcmpe d19, d14
+3821601e| gnu fcmpe d9, #0
+06de241e| gnu fcsel s6, s16, s4, le
+51de761e| gnu fcsel d17, d18, d22, le
+5e42e21e| gnu fcvt s30, h18
+b9c1e21e| gnu fcvt d25, h13
+58c0231e| gnu fcvt h24, s2
+9bc2221e| gnu fcvt d27, s20
+2bc3631e| gnu fcvt h11, d25
+f640621e| gnu fcvt s22, d7
+caca215e| gnu fcvtas s10, s22
+5ec9210e| gnu fcvtas v30.2s, v10.2s
+0302241e| gnu fcvtas w3, s16
+c103249e| gnu fcvtas x1, s30
+3003641e| gnu fcvtas w16, d25
+6201649e| gnu fcvtas x2, d11
+d3c9217e| gnu fcvtau s19, s14
+3bc8212e| gnu fcvtau v27.2s, v1.2s
+0802251e| gnu fcvtau w8, s16
+5f02259e| gnu fcvtau xzr, s18
+2801651e| gnu fcvtau w8, d9
+f200659e| gnu fcvtau x18, d7
+d179610e| gnu fcvtl v17.2d, v14.2s
+347b614e| gnu fcvtl2 v20.2d, v25.4s
+08b9615e| gnu fcvtms d8, d8
+f000301e| gnu fcvtms w16, s7
+8002309e| gnu fcvtms x0, s20
+5202701e| gnu fcvtms w18, d18
+c803709e| gnu fcvtms x8, d30
+1cbb217e| gnu fcvtmu s28, s24
+d1b9212e| gnu fcvtmu v17.2s, v14.2s
+2e02311e| gnu fcvtmu w14, s17
+d003319e| gnu fcvtmu x16, s30
+ce03711e| gnu fcvtmu w14, d30
+0801719e| gnu fcvtmu x8, d8
+4c6b210e| gnu fcvtn v12.4h, v26.4s
+6869214e| gnu fcvtn2 v8.8h, v11.4s
+2faa615e| gnu fcvtns d15, d17
+33aa614e| gnu fcvtns v19.2d, v17.2d
+d303201e| gnu fcvtns w19, s30
+4001209e| gnu fcvtns x0, s10
+b202601e| gnu fcvtns w18, d21
+c603609e| gnu fcvtns x6, d30
+8ea8217e| gnu fcvtnu s14, s4
+cc01211e| gnu fcvtnu w12, s14
+3a00219e| gnu fcvtnu x26, s1
+2002611e| gnu fcvtnu w0, d17
+ff01619e| gnu fcvtnu xzr, d15
+1baba15e| gnu fcvtps s27, s24
+9d00281e| gnu fcvtps w29, s4
+eb02289e| gnu fcvtps x11, s23
+3503681e| gnu fcvtps w21, d25
+4301689e| gnu fcvtps x3, d10
+63aba17e| gnu fcvtpu s3, s27
+caa8a12e| gnu fcvtpu v10.2s, v6.2s
+7702291e| gnu fcvtpu w23, s19
+b503299e| gnu fcvtpu x21, s29
+2f03691e| gnu fcvtpu w15, d25
+5b01699e| gnu fcvtpu x27, d10
+7369617e| gnu fcvtxn s19, d11
+6b6b612e| gnu fcvtxn v11.2s, v27.2d
+f268616e| gnu fcvtxn2 v18.4s, v7.2d
+bcff7b5f| gnu fcvtzs d28, d29, #5
+19bbe15e| gnu fcvtzs d25, d24
+c6b9e14e| gnu fcvtzs v6.2d, v14.2d
+e9fc189e| gnu fcvtzs x9, s7, #1
+6661589e| gnu fcvtzs x6, d11, #40
+9702381e| gnu fcvtzs w23, s20
+ed00389e| gnu fcvtzs x13, s7
+3a01781e| gnu fcvtzs w26, d9
+8801789e| gnu fcvtzs x8, d12
+a5ff2e2f| gnu fcvtzu v5.2s, v29.2s, #18
+5bbbe17e| gnu fcvtzu d27, d26
+1a74199e| gnu fcvtzu x26, s0, #35
+e391599e| gnu fcvtzu x3, d15, #28
+b203391e| gnu fcvtzu w18, s29
+ed01399e| gnu fcvtzu x13, s15
+c200791e| gnu fcvtzu w2, d6
+5402799e| gnu fcvtzu x20, d18
+1aff2b6e| gnu fdiv v26.4s, v24.4s, v11.4s
+171a391e| gnu fdiv s23, s16, s25
+7d196b1e| gnu fdiv d29, d11, d11
+f9721f1f| gnu fmadd s25, s23, s31, s28
+7070551f| gnu fmadd d16, d3, d21, d28
+05f7624e| gnu fmax v5.2d, v24.2d, v2.2d
+88493d1e| gnu fmax s8, s12, s29
+4a496d1e| gnu fmax d10, d10, d13
+5068321e| gnu fmaxnm s16, s2, s18
+a66a761e| gnu fmaxnm d6, d21, d22
+0ccb707e| gnu fmaxnmp d12, v24.2d
+6ec66f6e| gnu fmaxnmp v14.2d, v19.2d, v15.2d
+41f8307e| gnu fmaxp s1, v2.2s
+05f72a6e| gnu fmaxp v5.4s, v24.4s, v10.4s
+aa5b231e| gnu fmin s10, s29, s3
+d6596a1e| gnu fmin d22, d14, d10
+15c4b24e| gnu fminnm v21.4s, v0.4s, v18.4s
+6279281e| gnu fminnm s2, s11, s8
+af7b6a1e| gnu fminnm d15, d29, d10
+7dc9f07e| gnu fminnmp d29, v11.2d
+dfc6bb6e| gnu fminnmp v31.4s, v22.4s, v27.4s
+56c8b06e| gnu fminnmv s22, v2.4s
+0ff8f07e| gnu fminp d15, v0.2d
+a211c55f| gnu fmla d2, d13, v5.d[0]
+0dce224e| gnu fmla v13.4s, v16.4s, v2.4s
+4c5ba15f| gnu fmls s12, s26, v1.s[3]
+8953ba0f| gnu fmls v9.2s, v28.2s, v26.s[1]
+09cdbd4e| gnu fmls v9.4s, v8.4s, v29.4s
+97f7044f| gnu fmov v23.4s, #-7.000000000000000000e+00
+dff4006f| gnu fmov v31.2d, #2.750000000000000000e+00
+c543201e| gnu fmov s5, s30
+1740601e| gnu fmov d23, d0
+a100271e| gnu fmov s1, w5
+f102261e| gnu fmov w17, s23
+b302679e| gnu fmov d19, x21
+4001af9e| gnu fmov v0.d[1], x10
+db01669e| gnu fmov x27, d14
+8300ae9e| gnu fmov x3, v4.d[1]
+1870331e| gnu fmov s24, #-6.750000000000000000e+00
+08507d1e| gnu fmov d8, #-8.125000000000000000e-01
+5cbf0c1f| gnu fmsub s28, s26, s12, s15
+89e3501f| gnu fmsub d9, d28, d16, d24
+3a93c95f| gnu fmul d26, d25, v9.d[0]
+5a90ae4f| gnu fmul v26.4s, v2.4s, v14.s[1]
+ba0a2f1e| gnu fmul s26, s21, s15
+5b0a7c1e| gnu fmul d27, d18, d28
+e991c07f| gnu fmulx d9, d15, v0.d[0]
+be989c6f| gnu fmulx v30.4s, v5.4s, v28.s[2]
+d3dc7a5e| gnu fmulx d19, d6, d26
+d4de7f4e| gnu fmulx v20.2d, v22.2d, v31.2d
+8e41211e| gnu fneg s14, s12
+dc42611e| gnu fneg d28, d22
+cb362e1f| gnu fnmadd s11, s22, s14, s13
+6441791f| gnu fnmadd d4, d11, d25, d16
+36ed291f| gnu fnmsub s22, s9, s9, s27
+35b27a1f| gnu fnmsub d21, d17, d26, d12
+9388301e| gnu fnmul s19, s4, s16
+c088711e| gnu fnmul d0, d6, d17
+e8daa15e| gnu frecpe s8, s23
+a9fc395e| gnu frecps s9, s5, s25
+49fe284e| gnu frecps v9.4s, v18.4s, v8.4s
+85f8a15e| gnu frecpx s5, s4
+ee43261e| gnu frinta s14, s31
+7042661e| gnu frinta d16, d19
+2b98a16e| gnu frinti v11.4s, v1.4s
+fac2271e| gnu frinti s26, s23
+76c3671e| gnu frinti d22, d27
+7942251e| gnu frintm s25, s19
+8742651e| gnu frintm d7, d20
+fc8a214e| gnu frintn v28.4s, v23.4s
+c041241e| gnu frintn s0, s14
+b241641e| gnu frintn d18, d13
+c588a14e| gnu frintp v5.4s, v6.4s
+6ec2241e| gnu frintp s14, s19
+ddc0641e| gnu frintp d29, d6
+1a9a616e| gnu frintx v26.2d, v16.2d
+7c41271e| gnu frintx s28, s11
+d243671e| gnu frintx d18, d30
+b49aa14e| gnu frintz v20.4s, v21.4s
+5bc0251e| gnu frintz s27, s2
+43c1651e| gnu frintz d3, d10
+3bdba17e| gnu frsqrte s27, s25
+9ddba12e| gnu frsqrte v29.2s, v28.2s
+1ffee65e| gnu frsqrts d31, d16, d6
+8bfdb54e| gnu frsqrts v11.4s, v12.4s, v21.4s
+33c1211e| gnu fsqrt s19, s9
+a5c0611e| gnu fsqrt d5, d5
+a2d7b74e| gnu fsub v2.4s, v29.4s, v23.4s
+a338301e| gnu fsub s3, s5, s16
+e139681e| gnu fsub d1, d15, d8
+96170e6e| gnu mov v22.h[3], v28.h[1]
+791c014e| gnu mov v25.b[0], w3
+cf79404c| gnu ld1 {v15.4s}, [x14]
+75a6404c| gnu ld1 {v21.8h, v22.8h}, [x19]
+ed62404c| gnu ld1 {v13.16b-v15.16b}, [x23]
+392a400c| gnu ld1 {v25.2s-v28.2s}, [x17]
+cd7cdf4c| gnu ld1 {v13.2d}, [x6],#16
+f677ce4c| gnu ld1 {v22.8h}, [sp], x14
+d4a3df0c| gnu ld1 {v20.8b, v21.8b}, [x30],#16
+8ba1d90c| gnu ld1 {v11.8b, v12.8b}, [x12], x25
+396fdf0c| gnu ld1 {v25.1d-v27.1d}, [x25],#24
+4c64db0c| gnu ld1 {v12.4h-v14.4h}, [x2], x27
+3f2adf4c| gnu ld1 {v31.4s, v0.4s, v1.4s, v2.4s}, [x17],#64
+b329ce4c| gnu ld1 {v19.4s-v22.4s}, [x13], x14
+aa02400d| gnu ld1 {v10.b}[0], [x21]
+7980404d| gnu ld1 {v25.s}[2], [x3]
+5884404d| gnu ld1 {v24.d}[1], [x2]
+f203df4d| gnu ld1 {v18.b}[8], [sp],#1
+3519c40d| gnu ld1 {v21.b}[6], [x9], x4
+ed59df0d| gnu ld1 {v13.h}[3], [x15],#2
+9e52d90d| gnu ld1 {v30.h}[2], [x20], x25
+cd93df4d| gnu ld1 {v13.s}[3], [x30],#4
+5982cb4d| gnu ld1 {v25.s}[2], [x18], x11
+4f84df4d| gnu ld1 {v15.d}[1], [x2],#8
+2d85d50d| gnu ld1 {v13.d}[0], [x9], x21
+33c2400d| gnu ld1r {v19.8b}, [x17]
+e2c8df4d| gnu ld1r {v2.4s}, [x7],#4
+83c2c44d| gnu ld1r {v3.16b}, [x20], x4
+5487400c| gnu ld2 {v20.4h, v21.4h}, [x26]
+e08adf0c| gnu ld2 {v0.2s, v1.2s}, [x23],#16
+768ac40c| gnu ld2 {v22.2s, v23.2s}, [x19], x4
+4c0f604d| gnu ld2 {v12.b, v13.b}[11], [x26]
+e043604d| gnu ld2 {v0.h, v1.h}[4], [sp]
+c281600d| gnu ld2 {v2.s, v3.s}[0], [x14]
+e585600d| gnu ld2 {v5.d, v6.d}[0], [x15]
+2c1aff4d| gnu ld2 {v12.b, v13.b}[14], [x17],#2
+820bfd4d| gnu ld2 {v2.b, v3.b}[10], [x28], x29
+d593ff0d| gnu ld2 {v21.s, v22.s}[1], [x30],#8
+6780ea0d| gnu ld2 {v7.s, v8.s}[0], [x3], x10
+3484ff4d| gnu ld2 {v20.d, v21.d}[1], [x1],#16
+6a86ee4d| gnu ld2 {v10.d, v11.d}[1], [x19], x14
+e4c7604d| gnu ld2r {v4.8h, v5.8h}, [sp]
+69c8ff0d| gnu ld2r {v9.2s, v10.2s}, [x3],#8
+52ccf30d| gnu ld2r {v18.1d, v19.1d}, [x2], x19
+9e4b404c| gnu ld3 {v30.4s, v31.4s, v0.4s}, [x28]
+0440df4c| gnu ld3 {v4.16b-v6.16b}, [x0],#48
+0f49cf0c| gnu ld3 {v15.2s-v17.2s}, [x8], x15
+b22e400d| gnu ld3 {v18.b-v20.b}[3], [x21]
+9473400d| gnu ld3 {v20.h-v22.h}[2], [x28]
+1da0404d| gnu ld3 {v29.s-v31.s}[2], [x0]
+21a5404d| gnu ld3 {v1.d-v3.d}[1], [x9]
+3b23df0d| gnu ld3 {v27.b-v29.b}[0], [x25],#3
+0937c60d| gnu ld3 {v9.b-v11.b}[5], [x24], x6
+926bcb4d| gnu ld3 {v18.h-v20.h}[5], [x28], x11
+f5a1df4d| gnu ld3 {v21.s-v23.s}[2], [x15],#12
+dba3c44d| gnu ld3 {v27.s-v29.s}[2], [x30], x4
+12a5df0d| gnu ld3 {v18.d-v20.d}[0], [x8],#24
+daa7d30d| gnu ld3 {v26.d-v28.d}[0], [x30], x19
+3beb400d| gnu ld3r {v27.2s-v29.2s}, [x25]
+cde4df4d| gnu ld3r {v13.8h-v15.8h}, [x6],#6
+a4efc44d| gnu ld3r {v4.2d-v6.2d}, [x29], x4
+fc0a400c| gnu ld4 {v28.2s-v31.2s}, [x23]
+ae05df0c| gnu ld4 {v14.4h-v17.4h}, [x13],#32
+cb07c84c| gnu ld4 {v11.8h-v14.8h}, [x30], x8
+1825604d| gnu ld4 {v24.b-v27.b}[9], [x8]
+2869604d| gnu ld4 {v8.h-v11.h}[5], [x9]
+07b2600d| gnu ld4 {v7.s-v10.s}[1], [x16]
+9fa4600d| gnu ld4 {v31.d, v0.d, v1.d, v2.d}[0], [x4]
+de22ff0d| gnu ld4 {v30.b, v31.b, v0.b, v1.b}[0], [x22],#4
+6a36ed4d| gnu ld4 {v10.b-v13.b}[13], [x19], x13
+23a2ff4d| gnu ld4 {v3.s-v6.s}[2], [x17],#16
+22a0fe4d| gnu ld4 {v2.s-v5.s}[2], [x1], x30
+7ca4ff4d| gnu ld4 {v28.d-v31.d}[1], [x3],#32
+03a7ec4d| gnu ld4 {v3.d-v6.d}[1], [x24], x12
+b9ee600d| gnu ld4r {v25.1d-v28.1d}, [x21]
+03e8ff0d| gnu ld4r {v3.2s-v6.2s}, [x0],#16
+e7e3f24d| gnu ld4r {v7.16b-v10.16b}, [sp], x18
+451a4e2c| gnu ldnp s5, s6, [x18,#112]
+01236f6c| gnu ldnp d1, d8, [x24,#-272]
+204041ac| gnu ldnp q0, q16, [x1,#32]
+1b21cc2c| gnu ldp s27, s8, [x8],#96
+41ccc06c| gnu ldp d1, d19, [x2],#8
+65b8e6ac| gnu ldp q5, q14, [x3],#-816
+a58bed2d| gnu ldp s5, s2, [x29,#-148]!
+d8a3c46d| gnu ldp d24, d8, [x30,#72]!
+dc82c0ad| gnu ldp q28, q0, [x22,#16]!
+eda7782d| gnu ldp s13, s9, [sp,#-60]
+041b6c6d| gnu ldp d4, d6, [x24,#-320]
+17ea6bad| gnu ldp q23, q26, [x16,#-656]
+4e14433c| gnu ldr b14, [x2],#49
+cd844e7c| gnu ldr h13, [x6],#232
+99945dbc| gnu ldr s25, [x4],#-39
+170556fc| gnu ldr d23, [x8],#-160
+3115d53c| gnu ldr q17, [x9],#-175
+3c6d403c| gnu ldr b28, [x9,#6]!
+f8fc527c| gnu ldr h24, [x7,#-209]!
+776c58bc| gnu ldr s23, [x3,#-122]!
+075f57fc| gnu ldr d7, [x24,#-139]!
+28cdc33c| gnu ldr q8, [x9,#60]!
+40a15f3d| gnu ldr b0, [x10,#2024]
+3b8c597d| gnu ldr h27, [x1,#3270]
+28f958bd| gnu ldr s8, [x9,#6392]
+852d6ffd| gnu ldr d5, [x12,#24152]
+e149ea3d| gnu ldr q1, [x15,#43296]
+807f7c1c| gnu ldr s0, .+0xf8ff0
+e7a61c5c| gnu ldr d7, .+0x394dc
+261ec59c| gnu ldr q6, .+0xfffffffffff8a3c4
+4bca773c| gnu ldr b11, [x18,w23,sxtw]
+8d69623c| gnu ldr b13, [x12,x2]
+cef8797c| gnu ldr h14, [x6,x25,sxtx #1]
+b7497bfc| gnu ldr d23, [x13,w27,uxtw]
+dbdbfc3c| gnu ldr q27, [x30,w28,sxtw #4]
+1a60553c| gnu ldur b26, [x0,#-170]
+74f3477c| gnu ldur h20, [x27,#127]
+f46249bc| gnu ldur s20, [x23,#150]
+b8015bfc| gnu ldur d24, [x13,#-80]
+3372de3c| gnu ldur q19, [x17,#-25]
+04972c0e| gnu mla v4.8b, v24.8b, v12.8b
+f0051b5e| gnu mov b16, v15.b[13]
+7f76146e| gnu mov v31.s[2], v19.s[3]
+6c1cb60e| gnu orr v12.8b, v3.8b, v22.8b
+ae3f1e0e| gnu umov w14, v29.h[7]
+f8e5004f| gnu movi v24.16b, #0xf
+0355010f| gnu orr v3.2s, #0x28, lsl #16
+4825020f| gnu movi v8.2s, #0x4a, lsl #8
+64d7040f| gnu movi v4.2s, #0x9b, msl #16
+46e6062f| gnu movi d6, #0xffff00ff0000ff00
+bde6056f| gnu movi v29.2d, #0xff00ffff00ff00ff
+789f350e| gnu mul v24.8b, v27.8b, v21.8b
+7b5b202e| gnu mvn v27.8b, v27.8b
+2dd4066f| gnu mvni v13.4s, #0xc1, msl #16
+8266012f| gnu mvni v2.2s, #0x34, lsl #24
+1025022f| gnu mvni v16.2s, #0x48, lsl #8
+eabba06e| gnu neg v10.4s, v31.4s
+7e5a206e| gnu mvn v30.16b, v19.16b
+6a1fea0e| gnu orn v10.8b, v27.8b, v10.8b
+b406010f| gnu movi v20.2s, #0x35
+f564040f| gnu movi v21.2s, #0x87, lsl #24
+b21cb80e| gnu orr v18.8b, v5.8b, v24.8b
+2b437a2e| gnu raddhn v11.4h, v25.4s, v26.4s
+6d402c6e| gnu raddhn2 v13.16b, v3.8h, v12.8h
+655a606e| gnu rbit v5.16b, v19.16b
+5108202e| gnu rev32 v17.8b, v2.8b
+750a200e| gnu rev64 v21.8b, v19.8b
+f88f0b0f| gnu rshrn v24.8b, v31.8h, #5
+8263236e| gnu rsubhn2 v2.16b, v28.8h, v3.8h
+787c320e| gnu saba v24.8b, v3.8b, v18.8b
+f551220e| gnu sabal v21.8h, v15.8b, v2.8b
+b5766d0e| gnu sabd v21.4h, v21.4h, v13.4h
+9270240e| gnu sabdl v18.8h, v4.8b, v4.8b
+4d71384e| gnu sabdl2 v13.8h, v10.16b, v24.16b
+8f6a600e| gnu sadalp v15.2s, v20.4h
+e501750e| gnu saddl v5.4s, v15.4h, v21.4h
+5202ab4e| gnu saddl2 v18.2d, v18.4s, v11.4s
+7029200e| gnu saddlp v16.4h, v11.8b
+3913710e| gnu saddw v25.4s, v25.4s, v17.4h
+d7e4575f| gnu scvtf d23, d6, #41
+c6db215e| gnu scvtf s6, s30
+17d8214e| gnu scvtf v23.4s, v0.4s
+62c4021e| gnu scvtf s2, w3, #15
+f5cd421e| gnu scvtf d21, w15, #13
+6128029e| gnu scvtf s1, x3, #54
+9a7c429e| gnu scvtf d26, x4, #33
+6102221e| gnu scvtf s1, w19
+0b03621e| gnu scvtf d11, w24
+ed01229e| gnu scvtf s13, x15
+6f02629e| gnu scvtf d15, x19
+ac03055e| gnu sha1c q12, s29, v5.4s
+e309285e| gnu sha1h s3, s15
+2a221b5e| gnu sha1m q10, s17, v27.4s
+a013185e| gnu sha1p q0, s29, v24.4s
+6032005e| gnu sha1su0 v0.4s, v19.4s, v0.4s
+f918285e| gnu sha1su1 v25.4s, v7.4s
+fb50035e| gnu sha256h2 q27, q7, v3.4s
+6d421c5e| gnu sha256h q13, q19, v28.4s
+c12b285e| gnu sha256su0 v1.4s, v30.4s
+6362095e| gnu sha256su1 v3.4s, v19.4s, v9.4s
+a805bb0e| gnu shadd v8.2s, v13.2s, v27.2s
+783b616e| gnu shll2 v24.4s, v27.8h, #16
+48841b0f| gnu shrn v8.4h, v2.4s, #5
+a924bc4e| gnu shsub v9.4s, v5.4s, v28.4s
+1557717f| gnu sli d21, d24, #49
+2a56456f| gnu sli v10.2d, v17.2d, #5
+7c663b0e| gnu smax v28.8b, v19.8b, v27.8b
+b5a7694e| gnu smaxp v21.8h, v29.8h, v9.8h
+8ea8b04e| gnu smaxv s14, v4.4s
+936cb44e| gnu smin v19.4s, v4.4s, v20.4s
+15af7e4e| gnu sminp v21.8h, v24.8h, v30.8h
+3e81694e| gnu smlal2 v30.4s, v9.8h, v9.8h
+29a26d0e| gnu smlsl v9.4s, v17.4h, v13.4h
+442e0b4e| gnu smov x4, v18.b[5]
+e1a0540f| gnu smull v1.4s, v7.4h, v4.h[1]
+5eaa604f| gnu smull2 v30.4s, v18.8h, v0.h[6]
+4cc32d4e| gnu smull2 v12.8h, v26.16b, v13.16b
+1e7a205e| gnu sqabs b30, b16
+e67ae04e| gnu sqabs v6.2d, v23.2d
+a80ded5e| gnu sqadd d8, d13, d13
+e60dae4e| gnu sqadd v6.4s, v15.4s, v14.4s
+fe33570f| gnu sqdmlal v30.4s, v31.4h, v7.h[1]
+ee90b64e| gnu sqdmlal2 v14.2d, v7.4s, v22.4s
+ce79a05f| gnu sqdmlsl d14, s14, v0.s[3]
+d5b2a14e| gnu sqdmlsl2 v21.2d, v22.4s, v1.4s
+51cb575f| gnu sqdmulh h17, h26, v7.h[5]
+0cb5b54e| gnu sqdmulh v12.4s, v8.4s, v21.4s
+95d0760e| gnu sqdmull v21.4s, v4.4h, v22.4h
+a1d37c4e| gnu sqdmull2 v1.4s, v29.8h, v28.8h
+d679e07e| gnu sqneg d22, d14
+3f78602e| gnu sqneg v31.4h, v1.4h
+80b4717e| gnu sqrdmulh h0, h4, h17
+4cb76e2e| gnu sqrdmulh v12.4h, v26.4h, v14.4h
+aa5ce95e| gnu sqrshl d10, d5, d9
+d25fb74e| gnu sqrshl v18.4s, v30.4s, v23.4s
+998c0c6f| gnu sqrshrun2 v25.16b, v4.8h, #4
+4375605f| gnu sqshl d3, d10, #32
+de743f0f| gnu sqshl v30.2s, v6.2s, #31
+a84d675e| gnu sqshl h8, h13, h7
+674dbe4e| gnu sqshl v7.4s, v11.4s, v30.4s
+5165587f| gnu sqshlu d17, d10, #24
+b464042f| gnu mvni v20.2s, #0x85, lsl #24
+2086207f| gnu sqshrun s0, d17, #32
+8a851a2f| gnu sqshrun v10.4h, v12.4s, #6
+652c255e| gnu sqsub b5, b3, b5
+632eb30e| gnu sqsub v3.2s, v19.2s, v19.2s
+104ba15e| gnu sqxtn s16, d24
+2249214e| gnu sqxtn2 v2.16b, v9.8h
+1c14360e| gnu srhadd v28.8b, v0.8b, v22.8b
+8044076f| gnu mvni v0.4s, #0xe4, lsl #16
+3a57ed5e| gnu srshl d26, d25, d13
+2c56ef4e| gnu srshl v12.2d, v17.2d, v15.2d
+9627140f| gnu srshr v22.4h, v28.4h, #12
+bd37565f| gnu srsra d29, d29, #42
+db34594f| gnu srsra v27.2d, v6.2d, #39
+4546a10e| gnu sshl v5.2s, v18.2s, v1.2s
+aca7020f| gnu movi v12.4h, #0x5d, lsl #8
+e004675f| gnu sshr d0, d7, #25
+e5057f4f| gnu sshr v5.2d, v15.2d, #1
+1b15595f| gnu ssra d27, d8, #39
+ba15250f| gnu ssra v26.2s, v13.2s, #27
+3620330e| gnu ssubl v22.8h, v1.8b, v19.8b
+c1316d4e| gnu ssubw2 v1.4s, v14.4s, v13.8h
+8a76000c| gnu st1 {v10.4h}, [x20]
+10a5004c| gnu st1 {v16.8h, v17.8h}, [x8]
+ab6b004c| gnu st1 {v11.4s-v13.4s}, [x29]
+8d2b004c| gnu st1 {v13.4s-v16.4s}, [x28]
+8d7d9f0c| gnu st1 {v13.1d}, [x12],#8
+eb73840c| gnu st1 {v11.8b}, [sp], x4
+48a69f4c| gnu st1 {v8.8h, v9.8h}, [x18],#32
+dca19b4c| gnu st1 {v28.16b, v29.16b}, [x14], x27
+7c699f4c| gnu st1 {v28.4s-v30.4s}, [x11],#48
+da6d870c| gnu st1 {v26.1d-v28.1d}, [x14], x7
+7f279f0c| gnu st1 {v31.4h, v0.4h, v1.4h, v2.4h}, [x27],#32
+4421810c| gnu st1 {v4.8b-v7.8b}, [x10], x1
+a615004d| gnu st1 {v6.b}[13], [x13]
+ce92000d| gnu st1 {v14.s}[1], [x22]
+c985000d| gnu st1 {v9.d}[0], [x14]
+380f9f0d| gnu st1 {v24.b}[3], [x25],#1
+de0b944d| gnu st1 {v30.b}[10], [x30], x20
+3141880d| gnu st1 {v17.h}[0], [x9], x8
+8e939f0d| gnu st1 {v14.s}[1], [x28],#4
+c890870d| gnu st1 {v8.s}[1], [x6], x7
+9f869f4d| gnu st1 {v31.d}[1], [x20],#8
+38879b4d| gnu st1 {v24.d}[1], [x25], x27
+4181004c| gnu st2 {v1.16b, v2.16b}, [x10]
+d6819f0c| gnu st2 {v22.8b, v23.8b}, [x14],#16
+bf808a0c| gnu st2 {v31.8b, v0.8b}, [x5], x10
+bd0e204d| gnu st2 {v29.b, v30.b}[11], [x21]
+4551204d| gnu st2 {v5.h, v6.h}[6], [x10]
+9982204d| gnu st2 {v25.s, v26.s}[2], [x20]
+ea86200d| gnu st2 {v10.d, v11.d}[0], [x23]
+7b02bf0d| gnu st2 {v27.b, v28.b}[0], [x19],#2
+c000a04d| gnu st2 {v0.b, v1.b}[8], [x6], x0
+fb59a40d| gnu st2 {v27.h, v28.h}[3], [x15], x4
+f880bf0d| gnu st2 {v24.s, v25.s}[0], [x7],#8
+f582ac4d| gnu st2 {v21.s, v22.s}[2], [x23], x12
+9c86bf4d| gnu st2 {v28.d, v29.d}[1], [x20],#16
+3386b14d| gnu st2 {v19.d, v20.d}[1], [x17], x17
+c0469f0c| gnu st3 {v0.4h-v2.4h}, [x22],#24
+2243820c| gnu st3 {v2.8b-v4.8b}, [x25], x2
+c629000d| gnu st3 {v6.b-v8.b}[2], [x14]
+4f6a004d| gnu st3 {v15.h-v17.h}[5], [x18]
+72a0004d| gnu st3 {v18.s-v20.s}[2], [x3]
+c1a4000d| gnu st3 {v1.d-v3.d}[0], [x6]
+312e9f0d| gnu st3 {v17.b-v19.b}[3], [x17],#3
+9a28934d| gnu st3 {v26.b-v28.b}[10], [x4], x19
+a1799f4d| gnu st3 {v1.h-v3.h}[7], [x13],#6
+3ba29f0d| gnu st3 {v27.s-v29.s}[0], [x17],#12
+80b2870d| gnu st3 {v0.s-v2.s}[1], [x20], x7
+f6a49f4d| gnu st3 {v22.d-v24.d}[1], [x7],#24
+8fa69a4d| gnu st3 {v15.d-v17.d}[1], [x20], x26
+ee09000c| gnu st4 {v14.2s-v17.2s}, [x15]
+1e07880c| gnu st4 {v30.4h, v31.4h, v0.4h, v1.4h}, [x24], x8
+6426204d| gnu st4 {v4.b-v7.b}[9], [x19]
+4ea2204d| gnu st4 {v14.s-v17.s}[2], [x18]
+05a6200d| gnu st4 {v5.d-v8.d}[0], [x16]
+5b21bf0d| gnu st4 {v27.b-v30.b}[0], [x10],#4
+ce28a00d| gnu st4 {v14.b-v17.b}[2], [x6], x0
+767bbf4d| gnu st4 {v22.h-v25.h}[7], [x27],#8
+747aa24d| gnu st4 {v20.h-v23.h}[7], [x19], x2
+24b0bf0d| gnu st4 {v4.s-v7.s}[1], [x1],#16
+c7b1a90d| gnu st4 {v7.s-v10.s}[1], [x14], x9
+9fa4bf4d| gnu st4 {v31.d, v0.d, v1.d, v2.d}[1], [x4],#32
+70a4ab4d| gnu st4 {v16.d-v19.d}[1], [x3], x11
+89fe2e2c| gnu stnp s9, s31, [x20,#-140]
+bfd31d6c| gnu stnp d31, d20, [x29,#472]
+ddf301ac| gnu stnp q29, q28, [x30,#48]
+14f6ac2c| gnu stp s20, s29, [x16],#-156
+251db76c| gnu stp d5, d7, [x9],#-144
+e51fb7ac| gnu stp q5, q7, [sp],#-288
+5c90852d| gnu stp s28, s4, [x2,#44]!
+4c51a56d| gnu stp d12, d20, [x10,#-432]!
+265d8aad| gnu stp q6, q23, [x9,#320]!
+9c0c392d| gnu stp s28, s3, [x4,#-56]
+b49e1e6d| gnu stp d20, d7, [x21,#488]
+55f105ad| gnu stp q21, q28, [x10,#176]
+4dd6003c| gnu str b13, [x18],#13
+e357067c| gnu str h3, [sp],#101
+f6841dbc| gnu str s22, [x7],#-40
+54b710fc| gnu str d20, [x26],#-245
+0d07833c| gnu str q13, [x24],#48
+393f003c| gnu str b25, [x25,#3]!
+1fac007c| gnu str h31, [x0,#10]!
+d41d13bc| gnu str s20, [x14,#-207]!
+908f0dfc| gnu str d16, [x28,#216]!
+5ded9d3c| gnu str q29, [x10,#-34]!
+6d72073d| gnu str b13, [x19,#476]
+68752d7d| gnu str h8, [x11,#5818]
+084728bd| gnu str s8, [x24,#10308]
+409503fd| gnu str d0, [x10,#1832]
+58a1963d| gnu str q24, [x10,#23168]
+51c8253c| gnu str b17, [x2,w5,sxtw]
+967b313c| gnu str b22, [x28,x17,lsl #0]
+b4683e7c| gnu str h20, [x5,x30]
+64d9a33c| gnu str q4, [x11,w3,sxtw #4]
+e5e1143c| gnu stur b5, [x15,#-178]
+99901e7c| gnu stur h25, [x4,#-23]
+bb0012bc| gnu stur s27, [x5,#-224]
+1d710cfc| gnu stur d29, [x8,#199]
+17e1873c| gnu stur q23, [x8,#126]
+ed84a26e| gnu sub v13.4s, v7.4s, v2.4s
+7761b80e| gnu subhn v23.2s, v11.2d, v24.2d
+f838205e| gnu suqadd b24, b7
+7739600e| gnu suqadd v23.4h, v11.4h
+26a5204f| gnu sxtl2 v6.2d, v9.4s
+5a201a4e| gnu tbl v26.16b, {v2.16b, v3.16b}, v26.16b
+c2400f0e| gnu tbl v2.8b, {v6.16b-v8.16b}, v15.8b
+7263024e| gnu tbl v18.16b, {v27.16b-v30.16b}, v2.16b
+bb010b4e| gnu tbl v27.16b, {v13.16b}, v11.16b
+5f31184e| gnu tbx v31.16b, {v10.16b, v11.16b}, v24.16b
+a952100e| gnu tbx v9.8b, {v21.16b-v23.16b}, v16.8b
+4872170e| gnu tbx v8.8b, {v18.16b-v21.16b}, v23.8b
+dc110e4e| gnu tbx v28.16b, {v14.16b}, v14.16b
+d7289a4e| gnu trn1 v23.4s, v6.4s, v26.4s
+cd6a924e| gnu trn2 v13.4s, v22.4s, v18.4s
+a552392e| gnu uabal v5.8h, v21.8b, v25.8b
+a653256e| gnu uabal2 v6.8h, v29.16b, v5.16b
+fb70b42e| gnu uabdl v27.2d, v7.2s, v20.2s
+3b6a202e| gnu uadalp v27.4h, v17.8b
+8a03b22e| gnu uaddl v10.2d, v28.2s, v18.2s
+262a206e| gnu uaddlp v6.8h, v17.16b
+8410312e| gnu uaddw v4.8h, v4.8h, v17.8b
+bf11ae6e| gnu uaddw2 v31.2d, v13.2d, v14.4s
+a7e65d7f| gnu ucvtf d7, d21, #35
+8bda617e| gnu ucvtf d11, d20
+7fb8431e| gnu ucvtf d31, w3, #18
+1c0f039e| gnu ucvtf s28, x24, #61
+2241439e| gnu ucvtf d2, x9, #48
+d701231e| gnu ucvtf s23, w14
+9600631e| gnu ucvtf d22, w4
+8b01239e| gnu ucvtf s11, x12
+7202639e| gnu ucvtf d18, x19
+3406b82e| gnu uhadd v20.2s, v17.2s, v24.2s
+9264612e| gnu umax v18.4h, v4.4h, v1.4h
+d9a5772e| gnu umaxp v25.4h, v14.4h, v23.4h
+74a8b06e| gnu umaxv s20, v3.4s
+24a8312e| gnu uminv b4, v1.8b
+c5218e2f| gnu umlal v5.2d, v14.2s, v14.s[0]
+3d20a76f| gnu umlal2 v29.2d, v1.4s, v7.s[1]
+90817e6e| gnu umlal2 v16.4s, v12.8h, v30.8h
+0f69a46f| gnu umlsl2 v15.2d, v8.4s, v4.s[3]
+4aa27c2e| gnu umlsl v10.4s, v18.4h, v28.4h
+48a27b6e| gnu umlsl2 v8.4s, v18.8h, v27.8h
+833c0d0e| gnu umov w3, v4.b[6]
+e2a1b22f| gnu umull v2.2d, v15.2s, v18.s[1]
+07c06f2e| gnu umull v7.4s, v0.4h, v15.4h
+470e367e| gnu uqadd b7, b18, b22
+490e252e| gnu uqadd v9.8b, v18.8b, v5.8b
+bf5eaa7e| gnu uqrshl s31, s21, s10
+c49c347f| gnu uqrshrn s4, d6, #12
+b4757a7f| gnu uqshl d20, d13, #58
+d14f777e| gnu uqshl h17, h30, h23
+9e2d7a7e| gnu uqsub h30, h12, h26
+a62c296e| gnu uqsub v6.16b, v5.16b, v9.16b
+5d4ba17e| gnu uqxtn s29, d26
+454b212e| gnu uqxtn v5.8b, v26.8h
+1c48a16e| gnu uqxtn2 v28.4s, v0.2d
+4157736e| gnu urshl v1.8h, v26.8h, v19.8h
+2d26797f| gnu urshr d13, d17, #7
+bd27466f| gnu urshr v29.2d, v29.2d, #58
+bcc8a12e| gnu ursqrte v28.2s, v5.2s
+f5345d7f| gnu ursra d21, d7, #35
+f8353a6f| gnu ursra v24.4s, v15.4s, #6
+85a6342f| gnu ushll v5.2d, v20.2s, #20
+e7a70e6f| gnu ushll2 v7.8h, v31.16b, #6
+ed04787f| gnu ushr d13, d7, #8
+8f07362f| gnu ushr v15.2s, v28.2s, #10
+963a607e| gnu usqadd h22, h20
+383a206e| gnu usqadd v24.16b, v17.16b
+ef16596f| gnu usra v15.2d, v23.2d, #39
+f222ab2e| gnu usubl v18.2d, v23.2s, v11.2s
+9220696e| gnu usubl2 v18.4s, v4.8h, v9.8h
+0130312e| gnu usubw v1.8h, v0.8h, v17.8b
+a932a06e| gnu usubw2 v9.2d, v21.2d, v0.4s
+9a19910e| gnu uzp1 v26.2s, v12.2s, v17.2s
+a379ca4e| gnu zip2 v3.2d, v13.2d, v10.2d
+1202011a| gnu adc w18, w16, w1
+6900199a| gnu adc x9, x3, x25
+01010f3a| gnu adcs w1, w8, w15
+13010fba| gnu adcs x19, x8, x15
+55ed280b| gnu add w21, w10, w8, sxtx #3
+2077268b| gnu add x0, x25, x6, uxtx #5
+7f40560b| gnu add wzr, w3, w22, lsr #16
+3a16282b| gnu adds w26, w17, w8, uxtb #5
+f8a336ab| gnu adds x24, sp, w22, sxth
+000e6d31| gnu adds w0, w16, #0xb43, lsl #12
+b48e49b1| gnu adds x20, x21, #0x263, lsl #12
+7e174e2b| gnu adds w30, w27, w14, lsr #5
+25e2f250| gnu adr x5, .+0xfffffffffffe5c46
+294079f0| gnu adrp x9, .+0xf2807000
+3aa13f12| gnu and w26, w9, #0x3fe03fe
+32a23592| gnu and x18, x17, #0xf80ff80ff80ff80f
+b478070a| gnu and w20, w5, w7, lsl #30
+dd1f988a| gnu and x29, x30, x24, asr #7
+a7351b72| gnu ands w7, w13, #0x7ffe0
+1c056ef2| gnu ands x28, x8, #0xc0000
+defd52ea| gnu ands x30, x14, x18, lsr #63
+8c28d01a| gnu asr w12, w4, w16
+582ac09a| gnu asr x24, x18, x0
+647d1813| gnu asr w4, w11, #24
+d1fe5b93| gnu asr x17, x22, #27
+2329c31a| gnu asr w3, w9, w3
+d929d69a| gnu asr x25, x14, x22
+aefa5354| gnu b.al .+0xa7f54
+76ad3917| gnu b .+0xfffffffffce6b5d8
+de320f33| gnu bfi w30, w22, #17, #13
+af144db3| gnu bfi x15, x5, #51, #6
+161c7eb3| gnu bfi x22, x0, #2, #8
+f9791733| gnu bfxil w25, w15, #23, #8
+781577b3| gnu bfi x24, x11, #9, #6
+0f65f98a| gnu bic x15, x8, x25, ror #25
+2c37e16a| gnu bics w12, w25, w1, ror #13
+a6f473ea| gnu bics x6, x5, x19, lsr #61
+f064ad96| gnu bl .+0xfffffffffab593c0
+80023fd6| gnu blr x20
+00001fd6| gnu br x0
+80de3ed4| gnu brk #0xf6f4
+08276a35| gnu cbnz w8, .+0xd44e0
+acd1c0b5| gnu cbnz x12, .+0xfffffffffff81a34
+ef50bf34| gnu cbz w15, .+0xfffffffffff7ea1c
+4bd681b4| gnu cbz x11, .+0xfffffffffff03ac8
+4e2a483a| gnu ccmn w18, #0x8, #0xe, cs
+4a3a4eba| gnu ccmn x18, #0xe, #0xa, cc
+0143553a| gnu ccmn w24, w21, #0x1, mi
+c09359ba| gnu ccmn x30, x25, #0x0, ls
+020a567a| gnu ccmp w16, #0x16, #0x2, eq
+a6985afa| gnu ccmp x5, #0x1a, #0x6, ls
+6fc0487a| gnu ccmp w3, w8, #0xf, gt
+21d14bfa| gnu ccmp x9, x11, #0x1, le
+75f5991a| gnu csinc w21, w11, w25, al
+5a25919a| gnu csinc x26, x10, x17, cs
+6a938c5a| gnu csinv w10, w27, w12, ls
+6a408eda| gnu csinv x10, x3, x14, mi
+5f3603d5| gnu clrex #0x6
+a017c05a| gnu cls w0, w29
+2616c0da| gnu cls x6, x17
+9411c05a| gnu clz w20, w12
+c611c0da| gnu clz x6, x14
+9fc3322b| gnu cmn w28, w18, sxtw
+3f9638ab| gnu cmn x17, w24, sxtb #5
+3f681db1| gnu cmn x1, #0x75a
+bfd15bab| gnu cmn x13, x27, lsr #52
+ff723b6b| gnu cmp w23, w27, uxtx #4
+1f5234eb| gnu cmp x16, w20, uxtw #4
+9fb22a71| gnu cmp w20, #0xaac
+df2478f1| gnu cmp x6, #0xe09, lsl #12
+bf07026b| gnu cmp w29, w2, lsl #1
+bfc514eb| gnu cmp x13, x20, lsl #49
+d494975a| gnu csneg w20, w6, w23, ls
+763591da| gnu csneg x22, x11, x17, cc
+b440c91a| gnu crc32b w20, w5, w9
+5745cd1a| gnu crc32h w23, w10, w13
+684ad01a| gnu crc32w w8, w19, w16
+884fd59a| gnu crc32x w8, w28, x21
+ea50c61a| gnu crc32cb w10, w7, w6
+1357cf1a| gnu crc32ch w19, w24, w15
+9859c21a| gnu crc32cw w24, w12, w2
+6e5fde9a| gnu crc32cx w14, w27, x30
+9340941a| gnu csel w19, w4, w20, mi
+dd42839a| gnu csel x29, x22, x3, mi
+fe779f1a| gnu cset w30, vs
+f1279f9a| gnu cset x17, cc
+eb839f5a| gnu csetm w11, ls
+e3139fda| gnu csetm x3, eq
+a986841a| gnu csinc w9, w21, w4, hi
+19b78b9a| gnu csinc x25, x24, x11, lt
+4643835a| gnu csinv w6, w26, w3, mi
+5ee38cda| gnu csinv x30, x26, x12, al
+d166945a| gnu csneg w17, w22, w20, vs
+55f793da| gnu csneg x21, x26, x19, al
+0158add4| gnu dcps1 #0x6ac0
+82ceb2d4| gnu dcps2 #0x9674
+a31eb3d4| gnu dcps3 #0x98f5
+bf3203d5| gnu dmb oshst
+e003bfd6| gnu drps
+9f3403d5| gnu dsb #0x04
+2e2faeca| gnu eon x14, x25, x14, asr #11
+de6b0152| gnu eor w30, w30, #0x83ffffff
+4a7714d2| gnu eor x10, x26, #0xfffff3fffffff3ff
+2cea0dca| gnu eor x12, x17, x13, lsl #58
+e0039fd6| gnu eret
+834cce93| gnu extr x3, x4, x14, #19
+5f2003d5| gnu wfe
+bf2e03d5| gnu hint #0x75
+e0f055d4| gnu hlt #0xaf87
+df3403d5| gnu isb #0x4
+22fcdf88| gnu ldar w2, [x1]
+78fedfc8| gnu ldar x24, [x19]
+cffcdf08| gnu ldarb w15, [x6]
+34fedf48| gnu ldarh w20, [x17]
+17bb7f88| gnu ldaxp w23, w14, [x24]
+6ffe7fc8| gnu ldaxp x15, xzr, [x19]
+acfe5f88| gnu ldaxr w12, [x21]
+cafe5fc8| gnu ldaxr x10, [x22]
+ddfd5f08| gnu ldaxrb w29, [x14]
+0efd5f48| gnu ldaxrh w14, [x8]
+66445128| gnu ldnp w6, w17, [x3,#136]
+3fa77fa8| gnu ldnp xzr, x9, [x25,#-8]
+1e04eb28| gnu ldp w30, w1, [x0],#-168
+0da6c0a8| gnu ldp x13, x9, [x16],#8
+7d00d429| gnu ldp w29, w0, [x3,#160]!
+d26ae1a9| gnu ldp x18, x26, [x22,#-496]!
+d0ca6829| gnu ldp w16, w18, [x22,#-188]
+a5e34fa9| gnu ldp x5, x24, [x29,#248]
+3e44d168| gnu ldpsw x30, x17, [x1],#136
+5f08e169| gnu ldpsw xzr, x2, [x2,#-248]!
+430d6769| gnu ldpsw x3, x3, [x10,#-200]
+2c555bb8| gnu ldr w12, [x9],#-75
+83c557f8| gnu ldr x3, [x12],#-132
+f36e47b8| gnu ldr w19, [x23,#118]!
+6b1f48f8| gnu ldr x11, [x27,#129]!
+f5d64ab9| gnu ldr w21, [x23,#2772]
+872d7cf9| gnu ldr x7, [x12,#30808]
+f23e8c18| gnu ldr w18, .+0xfffffffffff187dc
+a7e72a58| gnu ldr x7, .+0x55cf4
+82a75438| gnu ldrb w2, [x28],#-182
+a7fd5738| gnu ldrb w7, [x13,#-129]!
+c83d4239| gnu ldrb w8, [x14,#143]
+58c96438| gnu ldrb w24, [x10,w4,sxtw]
+8e687e38| gnu ldrb w14, [x4,x30]
+70575378| gnu ldrh w16, [x27],#-203
+015f5078| gnu ldrh w1, [x24,#-251]!
+7add5c79| gnu ldrh w26, [x11,#3694]
+2fcb7778| gnu ldrh w15, [x25,w23,sxtw]
+c474c338| gnu ldrsb w4, [x6],#55
+28869638| gnu ldrsb x8, [x17],#-152
+fe3fd438| gnu ldrsb w30, [sp,#-189]!
+da0f9938| gnu ldrsb x26, [x30,#-112]!
+5b3ac739| gnu ldrsb w27, [x18,#462]
+2c579e39| gnu ldrsb x12, [x25,#1941]
+54faf838| gnu ldrsb w20, [x18,x24,sxtx #0]
+fb68f238| gnu ldrsb w27, [x7,x18]
+f26aad38| gnu ldrsb x18, [x23,x13]
+17e4c978| gnu ldrsh w23, [x0],#158
+a2759f78| gnu ldrsh x2, [x13],#-9
+9c6ec478| gnu ldrsh w28, [x20,#70]!
+fd6f8278| gnu ldrsh x29, [sp,#38]!
+a82bc279| gnu ldrsh w8, [x29,#276]
+9d89b979| gnu ldrsh x29, [x12,#7364]
+962685b8| gnu ldrsw x22, [x20],#82
+76ae8bb8| gnu ldrsw x22, [x19,#186]!
+fc2193b9| gnu ldrsw x28, [x15,#4896]
+7561fa98| gnu ldrsw x21, .+0xffffffffffff4c2c
+e34842b8| gnu ldtr w3, [x7,#36]
+4ff84df8| gnu ldtr x15, [x2,#223]
+d9e84f38| gnu ldtrb w25, [x6,#254]
+397b5378| gnu ldtrh w25, [x25,#-201]
+c4c9d138| gnu ldtrsb w4, [x14,#-228]
+02789638| gnu ldtrsb x2, [x0,#-153]
+a988cb78| gnu ldtrsh w9, [x5,#184]
+03888978| gnu ldtrsh x3, [x0,#152]
+ccb99fb8| gnu ldtrsw x12, [x14,#-5]
+efb154b8| gnu ldur w15, [x15,#-181]
+fc2051f8| gnu ldur x28, [x7,#-238]
+86d04438| gnu ldurb w6, [x4,#77]
+73405d78| gnu ldurh w19, [x3,#-44]
+7a81d538| gnu ldursb w26, [x11,#-168]
+b0b28038| gnu ldursb x16, [x21,#11]
+b4a1d278| gnu ldursh w20, [x13,#-214]
+3ed18078| gnu ldursh x30, [x9,#13]
+09628eb8| gnu ldursw x9, [x16,#230]
+c07e7f88| gnu ldxp w0, wzr, [x22]
+3e167fc8| gnu ldxp x30, x5, [x17]
+727c5f88| gnu ldxr w18, [x3]
+487c5fc8| gnu ldxr x8, [x2]
+867d5f08| gnu ldxrb w6, [x12]
+747f5f48| gnu ldxrh w20, [x27]
+d920d71a| gnu lsl w25, w6, w23
+b920c59a| gnu lsl x25, x5, x5
+4da947d3| gnu ubfx x13, x10, #7, #36
+be23ca1a| gnu lsl w30, w29, w10
+cc20d19a| gnu lsl x12, x6, x17
+ae26c31a| gnu lsr w14, w21, w3
+fc27cb9a| gnu lsr x28, xzr, x11
+2b7e1053| gnu lsr w11, w17, #16
+cefe75d3| gnu lsr x14, x22, #53
+3b25d01a| gnu lsr w27, w9, w16
+e826d79a| gnu lsr x8, x23, x23
+5504031b| gnu madd w21, w2, w3, w1
+9e5c109b| gnu madd x30, x4, x16, x23
+00fe1f1b| gnu mneg w0, w16, wzr
+6efe179b| gnu mneg x14, x19, x23
+31020011| gnu add w17, w17, #0x0
+21000091| gnu add x1, x1, #0x0
+39f1bf12| gnu mov w25, #0x76ffff
+53b3e992| gnu mov x19, #0xb265ffffffffffff
+c0fd9552| gnu mov w0, #0xafee
+f16b97d2| gnu mov x17, #0xbb5f
+e8972232| gnu mov w8, #0xc00fc00f
+e27323b2| gnu mov x2, #0xe3ffffffe3ffffff
+e9030e2a| gnu mov w9, w14
+fb0310aa| gnu mov x27, x16
+d0e48472| gnu movk w16, #0x2726
+432dbcf2| gnu movk x3, #0xe16a, lsl #16
+4b679612| gnu mov w11, #0xffff4cc5
+9121e492| gnu mov x17, #0xdef3ffffffffffff
+00be90d2| gnu mov x0, #0x85f0
+91d730d5| gnu mrs x17, s2_0_c13_c7_4
+cf301fd5| gnu msr s3_7_c3_c0_6, x15
+daea181b| gnu msub w26, w22, w24, w26
+e1a7109b| gnu msub x1, xzr, x16, x9
+477f0d1b| gnu mul w7, w26, w13
+a17d1c9b| gnu mul x1, x13, x28
+fc9b79aa| gnu mvn x28, x25, lsr #38
+f71b904b| gnu neg w23, w16, asr #6
+e3df4acb| gnu neg x3, x10, lsr #55
+f0334e6b| gnu negs w16, w14, lsr #12
+e6031f5a| gnu ngc w6, wzr
+f40302da| gnu ngc x20, x2
+ee03137a| gnu ngcs w14, w19
+ee0303fa| gnu ngcs x14, x3
+1f2003d5| gnu nop
+ab14e92a| gnu orn w11, w5, w9, ror #5
+185c3faa| gnu orn x24, x0, xzr, lsl #23
+a8850c32| gnu orr w8, w13, #0x300030
+cad023b2| gnu orr x10, x6, #0xe3e3e3e3e3e3e3e3
+5487ccaa| gnu orr x20, x26, x12, ror #33
+293783f9| gnu prfm plil1strm, [x25,#1640]
+501010d8| gnu prfm pstl1keep, .+0x20208
+bc7389f8| gnu prfum #0x1c, [x29,#151]
+9203c05a| gnu rbit w18, w28
+0501c0da| gnu rbit x5, x8
+40005fd6| gnu ret x2
+940ac05a| gnu rev w20, w20
+ca0fc0da| gnu rev x10, x30
+7807c05a| gnu rev16 w24, w27
+fb06c0da| gnu rev16 x27, x23
+dc0ac0da| gnu rev32 x28, x22
+970dc0da| gnu rev x23, x12
+42408813| gnu extr w2, w2, w8, #16
+5a96db93| gnu extr x26, x18, x27, #37
+782cc41a| gnu ror w24, w3, w4
+8c2ec69a| gnu ror x12, x20, x6
+372ec61a| gnu ror w23, w17, w6
+b72ddc9a| gnu ror x23, x13, x28
+e501185a| gnu sbc w5, w15, w24
+ac0011da| gnu sbc x12, x5, x17
+7a03067a| gnu sbcs w26, w27, w6
+310008fa| gnu sbcs x17, x1, x8
+65837f93| gnu sbfiz x5, x27, #1, #33
+5c1b4793| gnu sbfiz x28, x26, #57, #7
+a71f5b93| gnu sbfiz x7, x29, #37, #8
+640ede1a| gnu sdiv w4, w19, w30
+2a0dd99a| gnu sdiv x10, x9, x25
+9f2003d5| gnu sev
+bf2003d5| gnu sevl
+045c389b| gnu smaddl x4, w0, w24, x23
+6efe3e9b| gnu smnegl x14, w19, w30
+ebac239b| gnu smsubl x11, w7, w3, x11
+947f459b| gnu smulh x20, x28, x5
+d67e3e9b| gnu smull x22, w22, w30
+6dff9f88| gnu stlr w13, [x27]
+1ffd9fc8| gnu stlr xzr, [x8]
+a8fe9f08| gnu stlrb w8, [x21]
+abfd9f48| gnu stlrh w11, [x13]
+2ec02888| gnu stlxp w8, w14, w16, [x1]
+11993ec8| gnu stlxp w30, x17, x6, [x8]
+bbfe0f88| gnu stlxr w15, w27, [x21]
+e9fc09c8| gnu stlxr w9, x9, [x7]
+c6fe0708| gnu stlxrb w7, w6, [x22]
+c6fe0c48| gnu stlxrh w12, w6, [x22]
+b3283028| gnu stnp w19, w10, [x5,#-128]
+252e26a8| gnu stnp x5, x11, [x17,#-416]
+9fb18c28| gnu stp wzr, w12, [x12],#100
+9ce5aba8| gnu stp x28, x25, [x12],#-328
+e5d08229| gnu stp w5, w20, [x7,#20]!
+d6e79ea9| gnu stp x22, x25, [x30,#488]!
+9eef2029| gnu stp w30, w27, [x28,#-252]
+57b314a9| gnu stp x23, x12, [x26,#328]
+eda503b8| gnu str w13, [x15],#58
+62241df8| gnu str x2, [x3],#-46
+d2bd18b8| gnu str w18, [x14,#-117]!
+542d12f8| gnu str x20, [x10,#-222]!
+e92c3bb9| gnu str w9, [x7,#15148]
+de4804f9| gnu str x30, [x6,#2192]
+cce40b38| gnu strb w12, [x6],#190
+eafd1238| gnu strb w10, [x15,#-209]!
+7fcb0639| gnu strb wzr, [x27,#434]
+03f82738| gnu strb w3, [x0,x7,sxtx #0]
+5c6a3e38| gnu strb w28, [x18,x30]
+a8551978| gnu strh w8, [x13],#-107
+9e6c0c78| gnu strh w30, [x4,#198]!
+c83d0e79| gnu strh w8, [x14,#1822]
+502a1db8| gnu sttr w16, [x18,#-46]
+ae180af8| gnu sttr x14, [x5,#161]
+ea1a0138| gnu sttrb w10, [x23,#17]
+416b0278| gnu sttrh w1, [x26,#38]
+659107b8| gnu stur w5, [x11,#121]
+6b611ff8| gnu stur x11, [x11,#-10]
+99a01c38| gnu sturb w25, [x4,#-54]
+99421e78| gnu sturh w25, [x20,#-28]
+3e2a2688| gnu stxp w6, w30, w10, [x17]
+2f6a2cc8| gnu stxp w12, x15, x26, [x17]
+7d7f1b88| gnu stxr w27, w29, [x27]
+6e7e1bc8| gnu stxr w27, x14, [x19]
+ec7c0208| gnu stxrb w2, w12, [x7]
+ee7f0648| gnu stxrh w6, w14, [sp]
+2f8d204b| gnu sub w15, w9, w0, sxtb #3
+1fbe3acb| gnu sub sp, x16, w26, sxth #7
+5af778d1| gnu sub x26, x26, #0xe3d, lsl #12
+6729034b| gnu sub w7, w11, w3, lsl #10
+ae683f6b| gnu subs w14, w5, wzr, uxtx #2
+2f993deb| gnu subs x15, x9, w29, sxtb #6
+db0d5f71| gnu subs w27, w14, #0x7c3, lsl #12
+3aec1ff1| gnu subs x26, x1, #0x7fb
+1f24016b| gnu cmp w0, w1, lsl #9
+a1ae1bd4| gnu svc #0xdd75
+a61e0013| gnu sxtb w6, w21
+441c4093| gnu sxtb x4, w2
+0c3c0013| gnu sxth w12, w0
+b33f4093| gnu sxth x19, w29
+407f4093| gnu sxtw x0, w26
+455929d5| gnu sysl x5, #1, C5, C9, #2
+d1005b37| gnu tbnz w17, #11, .+0x6018
+798eaeb6| gnu tbz x25, #53, .+0xffffffffffffd1cc
+bf8c1f72| gnu tst w5, #0x1e001e
+ff10836a| gnu tst w7, w3, asr #4
+dfc5daea| gnu tst x14, x26, ror #49
+aa6e43d3| gnu ubfx x10, x21, #3, #25
+46181a53| gnu ubfiz w6, w2, #6, #7
+43294bd3| gnu lsl x3, x10, #53
+77787dd3| gnu ubfiz x23, x3, #3, #31
+1a0bd61a| gnu udiv w26, w24, w22
+9308c19a| gnu udiv x19, x4, x1
+755aa19b| gnu umaddl x21, w19, w1, x22
+1ffdbe9b| gnu umnegl xzr, w8, w30
+cbaaba9b| gnu umsubl x11, w22, w26, x10
+0c7fdb9b| gnu umulh x12, x24, x27
+cc7da79b| gnu umull x12, w14, w7
+3d1c0053| gnu uxtb w29, w1
+0e3f0053| gnu uxth w14, w24
+5f2003d5| gnu wfe
+7f2003d5| gnu wfi
+3f2003d5| gnu yield
+71b9604e| gnu abs v17.8h, v11.8h
+5186f65e| gnu add d17, d18, d22
+4986f34e| gnu add v9.2d, v18.2d, v19.2d
+1243720e| gnu addhn v18.4h, v24.4s, v18.4s
+0640354e| gnu addhn2 v6.16b, v0.8h, v21.8h
+d9bdfa4e| gnu addp v25.2d, v14.2d, v26.2d
+4c59284e| gnu aesd v12.16b, v10.16b
+8c48284e| gnu aese v12.16b, v4.16b
+f47a284e| gnu aesimc v20.16b, v23.16b
+c56b284e| gnu aesmc v5.16b, v30.16b
+bf1c3b0e| gnu and v31.8b, v5.8b, v27.8b
+6444026f| gnu mvni v4.4s, #0x43, lsl #16
+1357032f| gnu bic v19.2s, #0x78, lsl #16
+561d6a0e| gnu bic v22.8b, v10.8b, v10.8b
+cd1ff06e| gnu bif v13.16b, v30.16b, v16.16b
+f31ebd6e| gnu bit v19.16b, v23.16b, v29.16b
+6f1d6c2e| gnu bsl v15.8b, v11.8b, v12.8b
+1e48600e| gnu cls v30.4h, v0.4h
+6948202e| gnu clz v9.8b, v3.8b
+968efd7e| gnu cmeq d22, d20, d29
+e58f6d6e| gnu cmeq v5.8h, v31.8h, v13.8h
+8f98600e| gnu cmeq v15.4h, v4.4h, #0
+4f3db84e| gnu cmge v15.4s, v10.4s, v24.4s
+2788a02e| gnu cmge v7.2s, v1.2s, #0
+bf35714e| gnu cmgt v31.8h, v13.8h, v17.8h
+4a89604e| gnu cmgt v10.8h, v10.8h, #0
+9635252e| gnu cmhi v22.8b, v12.8b, v5.8b
+d83eff6e| gnu cmhs v24.2d, v22.2d, v31.2d
+cb99206e| gnu cmle v11.16b, v14.16b, #0
+29a9604e| gnu cmlt v9.8h, v9.8h, #0
+d18eea5e| gnu cmtst d17, d22, d10
+d18ea94e| gnu cmtst v17.4s, v22.4s, v9.4s
+4a04075e| gnu mov b10, v2.b[3]
+0504040e| gnu dup v5.2s, v0.s[0]
+b20e1f4e| gnu dup v18.16b, w21
+2a1f3e6e| gnu eor v10.16b, v25.16b, v30.16b
+0bd5aa7e| gnu fabd s11, s8, s10
+12d7b96e| gnu fabd v18.4s, v24.4s, v25.4s
+a1f9a04e| gnu fabs v1.4s, v13.4s
+1ac3201e| gnu fabs s26, s24
+d8c3601e| gnu fabs d24, d30
+95ee267e| gnu facge s21, s20, s6
+2bee262e| gnu facge v11.2s, v17.2s, v6.2s
+1aedec7e| gnu facgt d26, d8, d12
+74effa6e| gnu facgt v20.2d, v27.2d, v26.2d
+7ed4260e| gnu fadd v30.2s, v3.2s, v6.2s
+4528251e| gnu fadd s5, s2, s5
+262b661e| gnu fadd d6, d25, d6
+84d8707e| gnu faddp d4, v4.2d
+71d4276e| gnu faddp v17.4s, v3.4s, v7.4s
+a5f43f1e| gnu fccmp s5, s31, #0x5, al
+20e5601e| gnu fccmp d9, d0, #0x0, al
+52d4331e| gnu fccmpe s2, s19, #0x2, le
+1e66761e| gnu fccmpe d16, d22, #0xe, vs
+d7e6695e| gnu fcmeq d23, d22, d9
+e7d9a05e| gnu fcmeq s7, s15, #0
+dadaa04e| gnu fcmeq v26.4s, v22.4s, #0
+28e5737e| gnu fcmge d8, d9, d19
+a2e73a6e| gnu fcmge v2.4s, v29.4s, v26.4s
+4fcba07e| gnu fcmge s15, s26, #0
+43c8a02e| gnu fcmge v3.2s, v2.2s, #0
+ffe5a67e| gnu fcmgt s31, s15, s6
+7ee7bd2e| gnu fcmgt v30.2s, v27.2s, v29.2s
+5bc8e05e| gnu fcmgt d27, d2, #0
+3dc9a04e| gnu fcmgt v29.4s, v9.4s, #0
+38daa07e| gnu fcmle s24, s17, #0
+8fdaa02e| gnu fcmle v15.2s, v20.2s, #0
+93e8e05e| gnu fcmlt d19, d4, #0
+9fe9a04e| gnu fcmlt v31.4s, v12.4s, #0
+a023201e| gnu fcmp s29, s0
+c822231e| gnu fcmp s22, #0
+a022651e| gnu fcmp d21, d5
+a8227d1e| gnu fcmp d21, #0
+70203e1e| gnu fcmpe s3, s30
+38232b1e| gnu fcmpe s25, #0
+70206c1e| gnu fcmpe d3, d12
+b823731e| gnu fcmpe d29, #0
+3e6f331e| gnu fcsel s30, s25, s19, vs
+a64f6d1e| gnu fcsel d6, d29, d13, mi
+0d41e21e| gnu fcvt s13, h8
+cbc0e21e| gnu fcvt d11, h6
+18c0231e| gnu fcvt h24, s0
+a7c0221e| gnu fcvt d7, s5
+e7c3631e| gnu fcvt h7, d31
+9f43621e| gnu fcvt s31, d28
+a0c8215e| gnu fcvtas s0, s5
+4dc8210e| gnu fcvtas v13.2s, v2.2s
+0300241e| gnu fcvtas w3, s0
+fd03249e| gnu fcvtas x29, s31
+ef01641e| gnu fcvtas w15, d15
+4c01649e| gnu fcvtas x12, d10
+9ac8617e| gnu fcvtau d26, d4
+b802251e| gnu fcvtau w24, s21
+2a03259e| gnu fcvtau x10, s25
+ea00651e| gnu fcvtau w10, d7
+0102659e| gnu fcvtau x1, d16
+0d7a610e| gnu fcvtl v13.2d, v16.2s
+ed79214e| gnu fcvtl2 v13.4s, v15.8h
+43bb615e| gnu fcvtms d3, d26
+c000301e| gnu fcvtms w0, s6
+9202309e| gnu fcvtms x18, s20
+0800701e| gnu fcvtms w8, d0
+6603709e| gnu fcvtms x6, d27
+f0b9217e| gnu fcvtmu s16, s15
+3bba212e| gnu fcvtmu v27.2s, v17.2s
+5900311e| gnu fcvtmu w25, s2
+9a03319e| gnu fcvtmu x26, s28
+fa01711e| gnu fcvtmu w26, d15
+6f01719e| gnu fcvtmu x15, d11
+1968210e| gnu fcvtn v25.4h, v0.4s
+3d69214e| gnu fcvtn2 v29.8h, v9.4s
+87aa615e| gnu fcvtns d7, d20
+e301201e| gnu fcvtns w3, s15
+6002209e| gnu fcvtns x0, s19
+1600601e| gnu fcvtns w22, d0
+8503609e| gnu fcvtns x5, d28
+f5ab617e| gnu fcvtnu d21, d31
+2b02211e| gnu fcvtnu w11, s17
+f902219e| gnu fcvtnu x25, s23
+0702611e| gnu fcvtnu w7, d16
+9d03619e| gnu fcvtnu x29, d28
+dcaba15e| gnu fcvtps s28, s30
+b4a8a10e| gnu fcvtps v20.2s, v5.2s
+5302281e| gnu fcvtps w19, s18
+e003289e| gnu fcvtps x0, s31
+9501681e| gnu fcvtps w21, d12
+6703689e| gnu fcvtps x7, d27
+68a8a17e| gnu fcvtpu s8, s3
+dcaba12e| gnu fcvtpu v28.2s, v30.2s
+9d03291e| gnu fcvtpu w29, s28
+5f01299e| gnu fcvtpu xzr, s10
+e101691e| gnu fcvtpu w1, d15
+3f00699e| gnu fcvtpu xzr, d1
+ee6b612e| gnu fcvtxn v14.2s, v31.2d
+b1fd215f| gnu fcvtzs s17, s13, #31
+bafd2c0f| gnu fcvtzs v26.2s, v13.2s, #20
+47b8e15e| gnu fcvtzs d7, d2
+dcbbe14e| gnu fcvtzs v28.2d, v30.2d
+56f8181e| gnu fcvtzs w22, s2, #2
+9265189e| gnu fcvtzs x18, s12, #39
+d3ad581e| gnu fcvtzs w19, d14, #21
+3d9b589e| gnu fcvtzs x29, d25, #26
+1a00381e| gnu fcvtzs w26, s0
+d302389e| gnu fcvtzs x19, s22
+5303781e| gnu fcvtzs w19, d26
+8f01789e| gnu fcvtzs x15, d12
+57fe537f| gnu fcvtzu d23, d18, #45
+beff796f| gnu fcvtzu v30.2d, v29.2d, #7
+08b9e17e| gnu fcvtzu d8, d8
+cdbbe16e| gnu fcvtzu v13.2d, v30.2d
+2126199e| gnu fcvtzu x1, s17, #55
+70a9591e| gnu fcvtzu w16, d11, #22
+8c25599e| gnu fcvtzu x12, d12, #55
+1201391e| gnu fcvtzu w18, s8
+0800399e| gnu fcvtzu x8, s0
+da00791e| gnu fcvtzu w26, d6
+2903799e| gnu fcvtzu x9, d25
+56fd3f2e| gnu fdiv v22.2s, v10.2s, v31.2s
+1f182e1e| gnu fdiv s31, s0, s14
+ce1b741e| gnu fdiv d14, d30, d20
+0d61021f| gnu fmadd s13, s8, s2, s24
+03205e1f| gnu fmadd d3, d0, d30, d8
+72f6654e| gnu fmax v18.2d, v19.2d, v5.2d
+1849281e| gnu fmax s24, s8, s8
+8e4a6e1e| gnu fmax d14, d20, d14
+54c7304e| gnu fmaxnm v20.4s, v26.4s, v16.4s
+91683a1e| gnu fmaxnm s17, s4, s26
+f56a721e| gnu fmaxnm d21, d23, d18
+c8cb307e| gnu fmaxnmp s8, v30.2s
+06c9306e| gnu fmaxnmv s6, v8.4s
+b6fb707e| gnu fmaxp d22, v29.2d
+1759341e| gnu fmin s23, s8, s20
+675b721e| gnu fmin d7, d27, d18
+69792d1e| gnu fminnm s9, s11, s13
+ab786b1e| gnu fminnm d11, d5, d11
+0fcab07e| gnu fminnmp s15, v16.2s
+d2c6b26e| gnu fminnmp v18.4s, v22.4s, v18.4s
+22fab07e| gnu fminp s2, v17.2s
+f5f5f56e| gnu fminp v21.2d, v15.2d, v21.2d
+bc13c95f| gnu fmla d28, d29, v9.d[0]
+5d51a85f| gnu fmls s29, s10, v8.s[1]
+d3ccb94e| gnu fmls v19.4s, v6.4s, v25.4s
+5bf4014f| gnu fmov v27.4s, #9.000000000000000000e+00
+5bf5026f| gnu fmov v27.2d, #2.031250000000000000e-01
+6541201e| gnu fmov s5, s11
+b742601e| gnu fmov d23, d21
+6002271e| gnu fmov s0, w19
+5301261e| gnu fmov w19, s10
+c103679e| gnu fmov d1, x30
+3301af9e| gnu fmov v19.d[1], x9
+bd00669e| gnu fmov x29, d5
+ee02ae9e| gnu fmov x14, v23.d[1]
+0ff0251e| gnu fmov s15, #1.550000000000000000e+01
+16506a1e| gnu fmov d22, #2.812500000000000000e-01
+d1c20e1f| gnu fmsub s17, s22, s14, s16
+fdae491f| gnu fmsub d29, d23, d9, d11
+a4989d4f| gnu fmul v4.4s, v5.4s, v29.s[2]
+efde706e| gnu fmul v15.2d, v23.2d, v16.2d
+190a291e| gnu fmul s25, s16, s9
+430a671e| gnu fmul d3, d18, d7
+21919e7f| gnu fmulx s1, s9, v30.s[0]
+5298c76f| gnu fmulx v18.2d, v2.2d, v7.d[1]
+1ddf3c5e| gnu fmulx s29, s24, s28
+a2fba06e| gnu fneg v2.4s, v29.4s
+7a40211e| gnu fneg s26, s3
+f843611e| gnu fneg d24, d31
+326b381f| gnu fnmadd s18, s25, s24, s26
+4b636a1f| gnu fnmadd d11, d26, d10, d24
+48fa201f| gnu fnmsub s8, s18, s0, s30
+04d87f1f| gnu fnmsub d4, d0, d31, d22
+0289371e| gnu fnmul s2, s8, s23
+0e8a691e| gnu fnmul d14, d16, d9
+05dba15e| gnu frecpe s5, s24
+42d9a14e| gnu frecpe v2.4s, v10.4s
+2eff655e| gnu frecps d14, d25, d5
+03fe774e| gnu frecps v3.2d, v16.2d, v23.2d
+b4fba15e| gnu frecpx s20, s29
+9d41261e| gnu frinta s29, s12
+ea42661e| gnu frinta d10, d23
+e399a16e| gnu frinti v3.4s, v15.4s
+6ec3271e| gnu frinti s14, s27
+ecc1671e| gnu frinti d12, d15
+4543251e| gnu frintm s5, s26
+f242651e| gnu frintm d18, d23
+898a214e| gnu frintn v9.4s, v20.4s
+1641241e| gnu frintn s22, s8
+5341641e| gnu frintn d19, d10
+248be14e| gnu frintp v4.2d, v25.2d
+35c2241e| gnu frintp s21, s17
+6fc3641e| gnu frintp d15, d27
+0940271e| gnu frintx s9, s0
+4643671e| gnu frintx d6, d26
+749aa14e| gnu frintz v20.4s, v19.4s
+8bc0251e| gnu frintz s11, s4
+7cc1651e| gnu frintz d28, d11
+dedbe17e| gnu frsqrte d30, d30
+04daa16e| gnu frsqrte v4.4s, v16.4s
+cdfce45e| gnu frsqrts d13, d6, d4
+d9fda04e| gnu frsqrts v25.4s, v14.4s, v0.4s
+c5c1211e| gnu fsqrt s5, s14
+67c1611e| gnu fsqrt d7, d11
+a4d6b14e| gnu fsub v4.4s, v21.4s, v17.4s
+6138351e| gnu fsub s1, s3, s21
+be3b6a1e| gnu fsub d30, d29, d10
+4d2f016e| gnu mov v13.b[0], v26.b[5]
+741e174e| gnu mov v20.b[11], w19
+e170404c| gnu ld1 {v1.16b}, [x7]
+7aa9404c| gnu ld1 {v26.4s, v27.4s}, [x11]
+4b6d400c| gnu ld1 {v11.1d-v13.1d}, [x10]
+582b400c| gnu ld1 {v24.2s-v27.2s}, [x26]
+8f7cdf4c| gnu ld1 {v15.2d}, [x4],#16
+0a76ce4c| gnu ld1 {v10.8h}, [x16], x14
+2aa6df0c| gnu ld1 {v10.4h, v11.4h}, [x17],#16
+35a7d70c| gnu ld1 {v21.4h, v22.4h}, [x25], x23
+ae6ddf4c| gnu ld1 {v14.2d-v16.2d}, [x13],#48
+b362d74c| gnu ld1 {v19.16b-v21.16b}, [x21], x23
+6d22df0c| gnu ld1 {v13.8b-v16.8b}, [x19],#32
+6722c90c| gnu ld1 {v7.8b-v10.8b}, [x19], x9
+c71f404d| gnu ld1 {v7.b}[15], [x30]
+f55a400d| gnu ld1 {v21.h}[3], [x23]
+f080400d| gnu ld1 {v16.s}[0], [x7]
+ed84404d| gnu ld1 {v13.d}[1], [x7]
+fd0bdf4d| gnu ld1 {v29.b}[10], [sp],#1
+c811dc0d| gnu ld1 {v8.b}[4], [x14], x28
+6548cb4d| gnu ld1 {v5.h}[5], [x3], x11
+9882df4d| gnu ld1 {v24.s}[2], [x20],#4
+f482c74d| gnu ld1 {v20.s}[2], [x23], x7
+0d87df0d| gnu ld1 {v13.d}[0], [x24],#8
+1b85db0d| gnu ld1 {v27.d}[0], [x8], x27
+58c3404d| gnu ld1r {v24.16b}, [x26]
+c0c6df4d| gnu ld1r {v0.8h}, [x22],#2
+a6cec90d| gnu ld1r {v6.1d}, [x21], x9
+e68a400c| gnu ld2 {v6.2s, v7.2s}, [x23]
+4007604d| gnu ld2 {v0.b, v1.b}[9], [x26]
+8c49604d| gnu ld2 {v12.h, v13.h}[5], [x12]
+4f92600d| gnu ld2 {v15.s, v16.s}[1], [x18]
+b186600d| gnu ld2 {v17.d, v18.d}[0], [x21]
+631aff0d| gnu ld2 {v3.b, v4.b}[6], [x19],#2
+330ceb4d| gnu ld2 {v19.b, v20.b}[11], [x1], x11
+454bff4d| gnu ld2 {v5.h, v6.h}[5], [x26],#4
+0792ff0d| gnu ld2 {v7.s, v8.s}[1], [x16],#8
+3b91fd0d| gnu ld2 {v27.s, v28.s}[1], [x9], x29
+b086ff4d| gnu ld2 {v16.d, v17.d}[1], [x21],#16
+da86e30d| gnu ld2 {v26.d, v27.d}[0], [x22], x3
+e7cf604d| gnu ld2r {v7.2d, v8.2d}, [sp]
+5ac8ff0d| gnu ld2r {v26.2s, v27.2s}, [x2],#8
+13c1f10d| gnu ld2r {v19.8b, v20.8b}, [x8], x17
+0947404c| gnu ld3 {v9.8h-v11.8h}, [x24]
+8043df0c| gnu ld3 {v0.8b-v2.8b}, [x28],#24
+6344d50c| gnu ld3 {v3.4h-v5.4h}, [x3], x21
+663d400d| gnu ld3 {v6.b-v8.b}[7], [x11]
+5b6b400d| gnu ld3 {v27.h-v29.h}[1], [x26]
+02a0404d| gnu ld3 {v2.s-v4.s}[2], [x0]
+e1a5404d| gnu ld3 {v1.d-v3.d}[1], [x15]
+b53edf0d| gnu ld3 {v21.b-v23.b}[7], [x21],#3
+f625d10d| gnu ld3 {v22.b-v24.b}[1], [x15], x17
+3d7bda4d| gnu ld3 {v29.h-v31.h}[7], [x25], x26
+6ea0df0d| gnu ld3 {v14.s-v16.s}[0], [x3],#12
+d9a0c60d| gnu ld3 {v25.s-v27.s}[0], [x6], x6
+b6a7df0d| gnu ld3 {v22.d-v24.d}[0], [x29],#24
+dfa6d94d| gnu ld3 {v31.d, v0.d, v1.d}[1], [x22], x25
+7de9404d| gnu ld3r {v29.4s-v31.4s}, [x11]
+2fe6df4d| gnu ld3r {v15.8h-v17.8h}, [x17],#6
+cae7c84d| gnu ld3r {v10.8h-v12.8h}, [x30], x8
+9a0b400c| gnu ld4 {v26.2s-v29.2s}, [x28]
+4b03df0c| gnu ld4 {v11.8b-v14.8b}, [x26],#32
+8e0bcc4c| gnu ld4 {v14.4s-v17.4s}, [x28], x12
+182c604d| gnu ld4 {v24.b-v27.b}[11], [x0]
+feb2600d| gnu ld4 {v30.s, v31.s, v0.s, v1.s}[1], [x23]
+59a4604d| gnu ld4 {v25.d-v28.d}[1], [x2]
+9b25ff4d| gnu ld4 {v27.b-v30.b}[9], [x12],#4
+1f35e84d| gnu ld4 {v31.b, v0.b, v1.b, v2.b}[13], [x8], x8
+91b2ff4d| gnu ld4 {v17.s-v20.s}[3], [x20],#16
+88b3ed4d| gnu ld4 {v8.s-v11.s}[3], [x28], x13
+9aa5ff4d| gnu ld4 {v26.d-v29.d}[1], [x12],#32
+efa5e10d| gnu ld4 {v15.d-v18.d}[0], [x15], x1
+07ed604d| gnu ld4r {v7.2d-v10.2d}, [x8]
+0defff0d| gnu ld4r {v13.1d-v16.1d}, [x24],#32
+43e1f14d| gnu ld4r {v3.16b-v6.16b}, [x10], x17
+136e682c| gnu ldnp s19, s27, [x16,#-192]
+cc67676c| gnu ldnp d12, d25, [x30,#-400]
+e6dd4eac| gnu ldnp q6, q23, [x15,#464]
+b7e9c22c| gnu ldp s23, s26, [x13],#20
+92c3fe6c| gnu ldp d18, d16, [x28],#-24
+f281e6ac| gnu ldp q18, q0, [x15],#-816
+4f06cd2d| gnu ldp s15, s1, [x18,#104]!
+0f6fdc6d| gnu ldp d15, d27, [x24,#448]!
+170ccbad| gnu ldp q23, q3, [x0,#352]!
+71ea7a2d| gnu ldp s17, s26, [x19,#-44]
+c8816c6d| gnu ldp d8, d0, [x14,#-312]
+da6540ad| gnu ldp q26, q25, [x14]
+92064c3c| gnu ldr b18, [x20],#192
+94d4577c| gnu ldr h20, [x4],#-131
+39055fbc| gnu ldr s25, [x9],#-16
+989551fc| gnu ldr d24, [x12],#-231
+4764c23c| gnu ldr q7, [x2],#38
+c15e4e3c| gnu ldr b1, [x22,#229]!
+c8ce487c| gnu ldr h8, [x22,#140]!
+ca5d5bbc| gnu ldr s10, [x14,#-75]!
+34fd56fc| gnu ldr d20, [x9,#-145]!
+bd0dd53c| gnu ldr q29, [x13,#-176]!
+ab65443d| gnu ldr b11, [x13,#281]
+cb57537d| gnu ldr h11, [x30,#2474]
+f2606fbd| gnu ldr s18, [x7,#12128]
+088b67fd| gnu ldr d8, [x24,#20240]
+0173ce3d| gnu ldr q1, [x24,#14784]
+ba112c1c| gnu ldr s26, .+0x58234
+e489c25c| gnu ldr d4, .+0xfffffffffff8513c
+42458d9c| gnu ldr q2, .+0xfffffffffff1a8a8
+3cdb753c| gnu ldr b28, [x25,w21,sxtw #0]
+726b733c| gnu ldr b18, [x27,x19]
+395b627c| gnu ldr h25, [x25,w2,uxtw #1]
+9b486cbc| gnu ldr s27, [x4,w12,uxtw]
+1cda7efc| gnu ldr d28, [x16,w30,sxtw #3]
+365bf33c| gnu ldr q22, [x25,w19,uxtw #4]
+43a1413c| gnu ldur b3, [x10,#26]
+c7034f7c| gnu ldur h7, [x30,#240]
+ad8350bc| gnu ldur s13, [x29,#-248]
+07a350fc| gnu ldur d7, [x24,#-246]
+0212c63c| gnu ldur q2, [x16,#97]
+6f0a7a2f| gnu mla v15.4h, v19.4h, v10.h[7]
+fe95294e| gnu mla v30.16b, v15.16b, v9.16b
+f24a4f2f| gnu mls v18.4h, v23.4h, v15.h[4]
+26947e2e| gnu mls v6.4h, v1.4h, v30.4h
+6606115e| gnu mov b6, v19.b[8]
+0866116e| gnu mov v8.b[8], v16.b[12]
+6e1d0f4e| gnu mov v14.b[7], w11
+6d1fa10e| gnu orr v13.8b, v27.8b, v1.8b
+b93f1a0e| gnu umov w25, v29.h[6]
+74e7020f| gnu movi v20.8b, #0x5b
+0ff4040f| gnu fmov v15.2s, #-2.000000000000000000e+00
+4c47060f| gnu movi v12.2s, #0xda, lsl #16
+aa06064f| gnu movi v10.4s, #0xd5
+8de4042f| gnu movi d13, #0xff00000000ff0000
+b1e6046f| gnu movi v17.2d, #0xff0000ff00ff00ff
+609f214e| gnu mul v0.16b, v27.16b, v1.16b
+9f5a206e| gnu mvn v31.16b, v20.16b
+da65032f| gnu mvni v26.2s, #0x6e, lsl #24
+4d36036f| gnu bic v13.4s, #0x72, lsl #8
+4d66052f| gnu mvni v13.2s, #0xb2, lsl #24
+a4bbe06e| gnu neg v4.2d, v29.2d
+bf5a206e| gnu mvn v31.16b, v21.16b
+2b1fe24e| gnu orn v11.16b, v25.16b, v2.16b
+22e4024f| gnu movi v2.16b, #0x41
+3086050f| gnu movi v16.4h, #0xb1
+051db80e| gnu orr v5.8b, v8.8b, v24.8b
+48e2290e| gnu pmull v8.8h, v18.8b, v9.8b
+7341652e| gnu raddhn v19.4h, v11.4s, v5.4s
+1b417f6e| gnu raddhn2 v27.8h, v8.4s, v31.4s
+e158606e| gnu rbit v1.16b, v7.16b
+f418200e| gnu rev16 v20.8b, v7.8b
+228d2a0f| gnu rshrn v2.2s, v9.2d, #22
+a861aa2e| gnu rsubhn v8.2s, v13.2d, v10.2d
+7160786e| gnu rsubhn2 v17.8h, v3.4s, v24.4s
+cc7f314e| gnu saba v12.16b, v30.16b, v17.16b
+1350644e| gnu sabal2 v19.4s, v0.8h, v4.8h
+a1757d4e| gnu sabd v1.8h, v13.8h, v29.8h
+0971a00e| gnu sabdl v9.2d, v8.2s, v0.2s
+af70214e| gnu sabdl2 v15.8h, v5.16b, v1.16b
+626ba04e| gnu sadalp v2.2d, v27.4s
+1503374e| gnu saddl2 v21.8h, v24.16b, v23.16b
+592b204e| gnu saddlp v25.8h, v26.16b
+d813600e| gnu saddw v24.4s, v30.4s, v0.4h
+31e5210f| gnu scvtf v17.2s, v9.2s, #31
+aeda215e| gnu scvtf s14, s21
+f0e9021e| gnu scvtf s16, w15, #6
+42b4421e| gnu scvtf d2, w2, #19
+8b10029e| gnu scvtf s11, x4, #60
+59e6429e| gnu scvtf d25, x18, #7
+cf01221e| gnu scvtf s15, w14
+2d03621e| gnu scvtf d13, w25
+af00229e| gnu scvtf s15, x5
+bf00629e| gnu scvtf d31, x5
+2a02025e| gnu sha1c q10, s17, v2.4s
+8b0b285e| gnu sha1h s11, s28
+11201f5e| gnu sha1m q17, s0, v31.4s
+f110115e| gnu sha1p q17, s7, v17.4s
+b732115e| gnu sha1su0 v23.4s, v21.4s, v17.4s
+cf18285e| gnu sha1su1 v15.4s, v6.4s
+2e520f5e| gnu sha256h2 q14, q17, v15.4s
+77401a5e| gnu sha256h q23, q3, v26.4s
+b92a285e| gnu sha256su0 v25.4s, v21.4s
+7e63175e| gnu sha256su1 v30.4s, v27.4s, v23.4s
+d504ab0e| gnu shadd v21.2s, v6.2s, v11.2s
+5a54734f| gnu shl v26.2d, v2.2d, #51
+0638212e| gnu shll v6.8h, v0.8b, #8
+a238216e| gnu shll2 v2.8h, v5.16b, #8
+f5863e0f| gnu shrn v21.2s, v23.2d, #2
+f187234f| gnu shrn2 v17.4s, v31.2d, #29
+e124b04e| gnu shsub v1.4s, v7.4s, v16.4s
+3657252f| gnu sli v22.2s, v25.2s, #5
+c266aa4e| gnu smax v2.4s, v22.4s, v10.4s
+2c6ca74e| gnu smin v12.4s, v1.4s, v7.4s
+4aae390e| gnu sminp v10.8b, v18.8b, v25.8b
+1a82ba0e| gnu smlal v26.2d, v16.2s, v26.2s
+2381ad4e| gnu smlal2 v3.2d, v9.4s, v13.4s
+0da17a4e| gnu smlsl2 v13.4s, v8.8h, v26.8h
+4f2e0d4e| gnu smov x15, v18.b[6]
+e4a0980f| gnu smull v4.2d, v7.2s, v24.s[0]
+51c2220e| gnu smull v17.8h, v18.8b, v2.8b
+01c26d4e| gnu smull2 v1.4s, v16.8h, v13.8h
+f978205e| gnu sqabs b25, b7
+760cef5e| gnu sqadd d22, d3, d15
+390c224e| gnu sqadd v25.16b, v1.16b, v2.16b
+5439455f| gnu sqdmlal s20, h10, v5.h[4]
+8391765e| gnu sqdmlal s3, h12, h22
+c9907a4e| gnu sqdmlal2 v9.4s, v6.8h, v26.8h
+0b73445f| gnu sqdmlsl s11, h24, v4.h[0]
+8e728d0f| gnu sqdmlsl v14.2d, v20.2s, v13.s[0]
+fe787d4f| gnu sqdmlsl2 v30.4s, v7.8h, v13.h[7]
+bdb2b55e| gnu sqdmlsl d29, s21, s21
+d0c9be4f| gnu sqdmulh v16.4s, v14.4s, v30.s[3]
+89b77c5e| gnu sqdmulh h9, h28, h28
+c9bb515f| gnu sqdmull s9, h30, v1.h[5]
+5379e07e| gnu sqneg d19, d10
+4b7aa06e| gnu sqneg v11.4s, v18.4s
+1bd1750f| gnu sqrdmulh v27.4h, v8.4h, v5.h[3]
+f55e755e| gnu sqrshl h21, h23, h21
+ba5fbd4e| gnu sqrshl v26.4s, v29.4s, v29.4s
+ba9d1e0f| gnu sqrshrn v26.4h, v13.4s, #2
+3d9c284f| gnu sqrshrn2 v29.4s, v1.2d, #24
+8a8f2c6f| gnu sqrshrun2 v10.4s, v28.2d, #20
+eb760b5f| gnu sqshl b11, b23, #3
+4a77220f| gnu sqshl v10.2s, v26.2s, #2
+6c4cfb5e| gnu sqshl d12, d3, d27
+ad4eba4e| gnu sqshl v13.4s, v21.4s, v26.4s
+9364257f| gnu sqshlu s19, s4, #5
+b267392f| gnu sqshlu v18.2s, v29.2s, #25
+c085042f| gnu mvni v0.4h, #0x8e
+7584326f| gnu sqshrun2 v21.4s, v3.2d, #14
+3a2fe25e| gnu sqsub d26, d25, d2
+2c2ca34e| gnu sqsub v12.4s, v1.4s, v3.4s
+484ba15e| gnu sqxtn s8, d26
+824b210e| gnu sqxtn v2.8b, v28.8h
+5b48214e| gnu sqxtn2 v27.16b, v2.8h
+e228a16e| gnu sqxtun2 v2.4s, v7.2d
+1c44416f| gnu sri v28.2d, v0.2d, #63
+1e56eb5e| gnu srshl d30, d16, d11
+bb56fe4e| gnu srshl v27.2d, v21.2d, v30.2d
+c6262d0f| gnu srshr v6.2s, v22.2s, #19
+0c366c5f| gnu srsra d12, d16, #20
+13376e4f| gnu srsra v19.2d, v24.2d, #18
+7ba5040f| gnu movi v27.4h, #0x8b, lsl #8
+9c076f5f| gnu sshr d28, d28, #17
+2804434f| gnu sshr v8.2d, v1.2d, #61
+b717535f| gnu ssra d23, d29, #45
+c2160f0f| gnu ssra v2.8b, v22.8b, #1
+8a333a4e| gnu ssubw2 v10.8h, v28.8h, v26.16b
+3a70000c| gnu st1 {v26.8b}, [x1]
+1bab004c| gnu st1 {v27.4s, v28.4s}, [x24]
+8d69004c| gnu st1 {v13.4s-v15.4s}, [x12]
+9c26004c| gnu st1 {v28.8h-v31.8h}, [x20]
+c87a9f0c| gnu st1 {v8.2s}, [x22],#8
+5a7f800c| gnu st1 {v26.1d}, [x26], x0
+eea99f4c| gnu st1 {v14.4s, v15.4s}, [x15],#32
+11af9d4c| gnu st1 {v17.2d, v18.2d}, [x24], x29
+ec689f0c| gnu st1 {v12.2s-v14.2s}, [x7],#24
+8662900c| gnu st1 {v6.8b-v8.8b}, [x20], x16
+0b249f4c| gnu st1 {v11.8h-v14.8h}, [x0],#64
+6b2d8b4c| gnu st1 {v11.2d-v14.2d}, [x11], x11
+3212004d| gnu st1 {v18.b}[12], [x17]
+3392004d| gnu st1 {v19.s}[3], [x17]
+0284000d| gnu st1 {v2.d}[0], [x0]
+340f9f0d| gnu st1 {v20.b}[3], [x25],#1
+0d069a4d| gnu st1 {v13.b}[9], [x16], x26
+2e51950d| gnu st1 {v14.h}[2], [x9], x21
+3f839f0d| gnu st1 {v31.s}[0], [x25],#4
+1492844d| gnu st1 {v20.s}[3], [x16], x4
+dd869f4d| gnu st1 {v29.d}[1], [x22],#8
+2e869b4d| gnu st1 {v14.d}[1], [x17], x27
+1e87000c| gnu st2 {v30.4h, v31.4h}, [x24]
+07829f0c| gnu st2 {v7.8b, v8.8b}, [x16],#16
+d38a884c| gnu st2 {v19.4s, v20.4s}, [x22], x8
+541c204d| gnu st2 {v20.b, v21.b}[15], [x2]
+9180200d| gnu st2 {v17.s, v18.s}[0], [x4]
+2585204d| gnu st2 {v5.d, v6.d}[1], [x9]
+2f06bf4d| gnu st2 {v15.b, v16.b}[9], [x17],#2
+3b08b44d| gnu st2 {v27.b, v28.b}[10], [x1], x20
+805bbf0d| gnu st2 {v0.h, v1.h}[3], [x28],#4
+fb80bf0d| gnu st2 {v27.s, v28.s}[0], [x7],#8
+6290a80d| gnu st2 {v2.s, v3.s}[1], [x3], x8
+b587bf4d| gnu st2 {v21.d, v22.d}[1], [x29],#16
+2c84b64d| gnu st2 {v12.d, v13.d}[1], [x1], x22
+22469f0c| gnu st3 {v2.4h-v4.4h}, [x17],#24
+0e30004d| gnu st3 {v14.b-v16.b}[12], [x0]
+62a1004d| gnu st3 {v2.s-v4.s}[2], [x11]
+54a4000d| gnu st3 {v20.d-v22.d}[0], [x2]
+84259f4d| gnu st3 {v4.b-v6.b}[9], [x12],#3
+693c9d4d| gnu st3 {v9.b-v11.b}[15], [x3], x29
+5b709f0d| gnu st3 {v27.h-v29.h}[2], [x2],#6
+e47a960d| gnu st3 {v4.h-v6.h}[3], [x23], x22
+a0a39f0d| gnu st3 {v0.s-v2.s}[0], [x29],#12
+37b0890d| gnu st3 {v23.s-v25.s}[1], [x1], x9
+9aa59f4d| gnu st3 {v26.d-v28.d}[1], [x12],#24
+26a5924d| gnu st3 {v6.d-v8.d}[1], [x9], x18
+3e05000c| gnu st4 {v30.4h, v31.4h, v0.4h, v1.4h}, [x9]
+a8039f0c| gnu st4 {v8.8b-v11.8b}, [x29],#32
+4126204d| gnu st4 {v1.b-v4.b}[9], [x18]
+3b71204d| gnu st4 {v27.h-v30.h}[6], [x9]
+f2b3204d| gnu st4 {v18.s-v21.s}[3], [sp]
+7fa4200d| gnu st4 {v31.d, v0.d, v1.d, v2.d}[0], [x3]
+562ebf4d| gnu st4 {v22.b-v25.b}[11], [x18],#4
+563cae0d| gnu st4 {v22.b-v25.b}[7], [x2], x14
+1271bf4d| gnu st4 {v18.h-v21.h}[6], [x8],#8
+e7a1bf0d| gnu st4 {v7.s-v10.s}[0], [x15],#16
+f3b2a30d| gnu st4 {v19.s-v22.s}[1], [x23], x3
+eca5bf4d| gnu st4 {v12.d-v15.d}[1], [x15],#32
+4ca7bb0d| gnu st4 {v12.d-v15.d}[0], [x26], x27
+4f5b182c| gnu stnp s15, s22, [x26,#192]
+e05e0b6c| gnu stnp d0, d23, [x23,#176]
+77be2eac| gnu stnp q23, q15, [x19,#-560]
+bb3fa72c| gnu stp s27, s15, [x29],#-200
+ef18bb6c| gnu stp d15, d6, [x7],#-80
+777d84ac| gnu stp q23, q31, [x11],#128
+d0f9952d| gnu stp s16, s30, [x14,#172]!
+125ca26d| gnu stp d18, d23, [x0,#-480]!
+33bbbfad| gnu stp q19, q14, [x25,#-16]!
+6ebb322d| gnu stp s14, s14, [x27,#-108]
+cb92096d| gnu stp d11, d4, [x22,#152]
+f2871dad| gnu stp q18, q1, [sp,#944]
+f676003c| gnu str b22, [x23],#7
+50f50d7c| gnu str h16, [x10],#223
+0d251ebc| gnu str s13, [x8],#-30
+1f3510fc| gnu str d31, [x8],#-253
+05a4883c| gnu str q5, [x0],#138
+800e063c| gnu str b0, [x20,#96]!
+668d157c| gnu str h6, [x11,#-168]!
+1f3d11bc| gnu str s31, [x8,#-237]!
+71bf06fc| gnu str d17, [x27,#107]!
+f50c843c| gnu str q21, [x7,#64]!
+f186013d| gnu str b17, [x23,#97]
+f0e5357d| gnu str h16, [x15,#6898]
+938d3bbd| gnu str s19, [x12,#15244]
+aeb813fd| gnu str d14, [x5,#10096]
+2cc4943d| gnu str q12, [x1,#21264]
+e2f8263c| gnu str b2, [x7,x6,sxtx #0]
+1d79373c| gnu str b29, [x8,x23,lsl #0]
+bc70003c| gnu stur b28, [x5,#7]
+7190157c| gnu stur h17, [x3,#-167]
+073309bc| gnu stur s7, [x24,#147]
+298100fc| gnu stur d9, [x9,#8]
+e8c1843c| gnu stur q8, [x15,#76]
+3384266e| gnu sub v19.16b, v1.16b, v6.16b
+9163750e| gnu subhn v17.4h, v28.4s, v21.4s
+f3627d4e| gnu subhn2 v19.8h, v23.4s, v29.4s
+1939205e| gnu suqadd b25, b8
+0638604e| gnu suqadd v6.8h, v0.8h
+81a4284f| gnu sshll2 v1.2d, v4.4s, #8
+f920030e| gnu tbl v25.8b, {v7.16b, v8.16b}, v3.8b
+71400e4e| gnu tbl v17.16b, {v3.16b-v5.16b}, v14.16b
+bc630d4e| gnu tbl v28.16b, {v29.16b, v30.16b, v31.16b, v0.16b}, v13.16b
+6803030e| gnu tbl v8.8b, {v27.16b}, v3.8b
+4b32124e| gnu tbx v11.16b, {v18.16b, v19.16b}, v18.16b
+8f50170e| gnu tbx v15.8b, {v4.16b-v6.16b}, v23.8b
+5673020e| gnu tbx v22.8b, {v26.16b-v29.16b}, v2.8b
+f2130f4e| gnu tbx v18.16b, {v31.16b}, v15.16b
+9e29c34e| gnu trn1 v30.2d, v12.2d, v3.2d
+9b6bcf4e| gnu trn2 v27.2d, v28.2d, v15.2d
+157cb02e| gnu uaba v21.2s, v0.2s, v16.2s
+28513c2e| gnu uabal v8.8h, v9.8b, v28.8b
+f950a26e| gnu uabal2 v25.2d, v7.4s, v2.4s
+a776b26e| gnu uabd v7.4s, v21.4s, v18.4s
+da726b2e| gnu uabdl v26.4s, v22.4h, v11.4h
+9473746e| gnu uabdl2 v20.4s, v28.8h, v20.8h
+aa6b602e| gnu uadalp v10.2s, v29.4h
+ac013d2e| gnu uaddl v12.8h, v13.8b, v29.8b
+e500a86e| gnu uaddl2 v5.2d, v7.4s, v8.4s
+9c28a02e| gnu uaddlp v28.1d, v4.2s
+4c3a302e| gnu uaddlv h12, v18.8b
+2810b62e| gnu uaddw v8.2d, v1.2d, v22.2s
+f2132d6e| gnu uaddw2 v18.8h, v31.8h, v13.16b
+b3e67f7f| gnu ucvtf d19, d21, #1
+ece5676f| gnu ucvtf v12.2d, v15.2d, #25
+d7d8217e| gnu ucvtf s23, s6
+cdd9212e| gnu ucvtf v13.2s, v14.2s
+5788031e| gnu ucvtf s23, w2, #30
+c7ac431e| gnu ucvtf d7, w6, #21
+0777039e| gnu ucvtf s7, x24, #35
+e4f4439e| gnu ucvtf d4, x7, #3
+9100231e| gnu ucvtf s17, w4
+e202631e| gnu ucvtf d2, w23
+3903239e| gnu ucvtf s25, x25
+2001639e| gnu ucvtf d0, x9
+2a07b76e| gnu uhadd v10.4s, v25.4s, v23.4s
+dc25372e| gnu uhsub v28.8b, v14.8b, v23.8b
+de646f2e| gnu umax v30.4h, v6.4h, v15.4h
+4ba6766e| gnu umaxp v11.8h, v18.8h, v22.8h
+e26db42e| gnu umin v2.2s, v15.2s, v20.2s
+a7ae712e| gnu uminp v7.4h, v21.4h, v17.4h
+afaa716e| gnu uminv h15, v21.8h
+42298c2f| gnu umlal v2.2d, v10.2s, v12.s[2]
+0a826e2e| gnu umlal v10.4s, v16.4h, v14.4h
+2681a06e| gnu umlal2 v6.2d, v9.4s, v0.4s
+2860bd6f| gnu umlsl2 v8.2d, v1.4s, v29.s[1]
+19a26b6e| gnu umlsl2 v25.4s, v16.8h, v11.8h
+8a3d140e| gnu mov w10, v12.s[2]
+22a1ba6f| gnu umull2 v2.2d, v9.4s, v26.s[1]
+15c0712e| gnu umull v21.4s, v0.4h, v17.4h
+2ec0296e| gnu umull2 v14.8h, v1.16b, v9.16b
+6e0fba7e| gnu uqadd s14, s27, s26
+db0fe06e| gnu uqadd v27.2d, v30.2d, v0.2d
+535e6c7e| gnu uqrshl h19, h18, h12
+7c5cfe6e| gnu uqrshl v28.2d, v3.2d, v30.2d
+9a9e327f| gnu uqrshrn s26, d20, #14
+339f0b2f| gnu uqrshrn v19.8b, v25.8h, #5
+7e77337f| gnu uqshl s30, s27, #19
+8b4d657e| gnu uqshl h11, h12, h5
+414c622e| gnu uqshl v1.4h, v2.4h, v2.4h
+95942b2f| gnu uqshrn v21.2s, v4.2d, #21
+d396246f| gnu uqshrn2 v19.4s, v22.2d, #28
+b22ff27e| gnu uqsub d18, d29, d18
+b32e756e| gnu uqsub v19.8h, v21.8h, v21.8h
+0e4b616e| gnu uqxtn2 v14.8h, v24.4s
+ca16236e| gnu urhadd v10.16b, v22.16b, v3.16b
+1f57a26e| gnu urshl v31.4s, v24.4s, v2.4s
+8324777f| gnu urshr d3, d4, #9
+37caa16e| gnu ursqrte v23.4s, v17.4s
+b735517f| gnu ursra d23, d13, #47
+0a47f67e| gnu ushl d10, d24, d22
+e7a71c2f| gnu ushll v7.4s, v31.4h, #12
+9c38607e| gnu usqadd h28, h4
+dc39206e| gnu usqadd v28.16b, v14.16b
+dc145d7f| gnu usra d28, d6, #35
+d720752e| gnu usubl v23.4s, v6.4h, v21.4h
+2c236f6e| gnu usubl2 v12.4s, v25.8h, v15.8h
+ed32222e| gnu usubw v13.8h, v23.8h, v2.8b
+72332d6e| gnu usubw2 v18.8h, v27.8h, v13.16b
+655a1c4e| gnu uzp2 v5.16b, v19.16b, v28.16b
+972a210e| gnu xtn v23.8b, v20.8h
+5f2aa14e| gnu xtn2 v31.4s, v18.2d
+9a38910e| gnu zip1 v26.2s, v4.2s, v17.2s
+d979990e| gnu zip2 v25.2s, v14.2s, v25.2s
+41e5a454| gnu b.ne .+0xfffffffffff49ca8
+ea1b543a| gnu ccmn wzr, #0x14, #0xa, ne
+681946ba| gnu ccmn x11, #0x6, #0x8, ne
+2410463a| gnu ccmn w1, w6, #0x4, ne
+6e134cba| gnu ccmn x27, x12, #0xe, ne
+ad194f7a| gnu ccmp w13, #0xf, #0xd, ne
+471b53fa| gnu ccmp x26, #0x13, #0x7, ne
+a210467a| gnu ccmp w5, w6, #0x2, ne
+ee1246fa| gnu ccmp x23, x6, #0xe, ne
+be149b1a| gnu csinc w30, w5, w27, ne
+c415819a| gnu csinc x4, x14, x1, ne
+0510955a| gnu csinv w5, w0, w21, ne
+c51093da| gnu csinv x5, x6, x19, ne
+12158e5a| gnu csneg w18, w8, w14, ne
+5c159cda| gnu csneg x28, x10, x28, ne
+c810941a| gnu csel w8, w6, w20, ne
+80128c9a| gnu csel x0, x20, x12, ne
+f6179f1a| gnu cset w22, eq
+f5179f9a| gnu cset x21, eq
+ec139f5a| gnu csetm w12, eq
+ee139fda| gnu csetm x14, eq
+4b17981a| gnu csinc w11, w26, w24, ne
+b515909a| gnu csinc x21, x13, x16, ne
+b613955a| gnu csinv w22, w29, w21, ne
+f8108bda| gnu csinv x24, x7, x11, ne
+a0149d5a| gnu csneg w0, w5, w29, ne
+6a1492da| gnu csneg x10, x3, x18, ne
+8f143c1e| gnu fccmp s4, s28, #0xf, ne
+0f167f1e| gnu fccmp d16, d31, #0xf, ne
+5214291e| gnu fccmpe s2, s9, #0x2, ne
+1516631e| gnu fccmpe d16, d3, #0x5, ne
+2b1d271e| gnu fcsel s11, s9, s7, ne
+731e611e| gnu fcsel d19, d19, d1, ne
+c2560e54| gnu b.cs .+0x1cad8
+2d2b563a| gnu ccmn w25, #0x16, #0xd, cs
+6c2b55ba| gnu ccmn x27, #0x15, #0xc, cs
+2521493a| gnu ccmn w9, w9, #0x5, cs
+032040ba| gnu ccmn x0, x0, #0x3, cs
+ea2a5c7a| gnu ccmp w23, #0x1c, #0xa, cs
+8e2842fa| gnu ccmp x4, #0x2, #0xe, cs
+8e22427a| gnu ccmp w20, w2, #0xe, cs
+cd204dfa| gnu ccmp x6, x13, #0xd, cs
+2824931a| gnu csinc w8, w1, w19, cs
+a3279a9a| gnu csinc x3, x29, x26, cs
+5921945a| gnu csinv w25, w10, w20, cs
+bd2386da| gnu csinv x29, x29, x6, cs
+a124915a| gnu csneg w1, w5, w17, cs
+5b2787da| gnu csneg x27, x26, x7, cs
+91209f1a| gnu csel w17, w4, wzr, cs
+f921979a| gnu csel x25, x15, x23, cs
+e4279f1a| gnu cset w4, cc
+ea279f9a| gnu cset x10, cc
+fe239f5a| gnu csetm w30, cc
+ec239fda| gnu csetm x12, cc
+ee25971a| gnu csinc w14, w15, w23, cs
+b726859a| gnu csinc x23, x21, x5, cs
+4b22845a| gnu csinv w11, w18, w4, cs
+2b209eda| gnu csinv x11, x1, x30, cs
+6b269b5a| gnu csneg w11, w19, w27, cs
+192691da| gnu csneg x25, x16, x17, cs
+0226391e| gnu fccmp s16, s25, #0x2, cs
+07246d1e| gnu fccmp d0, d13, #0x7, cs
+9626241e| gnu fccmpe s20, s4, #0x6, cs
+de27601e| gnu fccmpe d30, d0, #0xe, cs
+7d2d271e| gnu fcsel s29, s11, s7, cs
+3e2e7a1e| gnu fcsel d30, d17, d26, cs
+43a4df54| gnu b.cc .+0xfffffffffffbf488
+0739533a| gnu ccmn w8, #0x13, #0x7, cc
+673b4fba| gnu ccmn x27, #0xf, #0x7, cc
+e333583a| gnu ccmn wzr, w24, #0x3, cc
+83325aba| gnu ccmn x20, x26, #0x3, cc
+eb38517a| gnu ccmp w7, #0x11, #0xb, cc
+2c3955fa| gnu ccmp x9, #0x15, #0xc, cc
+6f324b7a| gnu ccmp w19, w11, #0xf, cc
+09314ffa| gnu ccmp x8, x15, #0x9, cc
+60349c1a| gnu csinc w0, w3, w28, cc
+8835949a| gnu csinc x8, x12, x20, cc
+bb31935a| gnu csinv w27, w13, w19, cc
+9f319dda| gnu csinv xzr, x12, x29, cc
+8837855a| gnu csneg w8, w28, w5, cc
+cd3490da| gnu csneg x13, x6, x16, cc
+b033901a| gnu csel w16, w29, w16, cc
+5e31969a| gnu csel x30, x10, x22, cc
+ec379f1a| gnu cset w12, cs
+ea379f9a| gnu cset x10, cs
+eb339f5a| gnu csetm w11, cs
+fd339fda| gnu csetm x29, cs
+9934941a| gnu csinc w25, w4, w20, cc
+fa36829a| gnu csinc x26, x23, x2, cc
+2730895a| gnu csinv w7, w1, w9, cc
+703094da| gnu csinv x16, x3, x20, cc
+f636935a| gnu csneg w22, w23, w19, cc
+ba3484da| gnu csneg x26, x5, x4, cc
+e3343e1e| gnu fccmp s7, s30, #0x3, cc
+ce366a1e| gnu fccmp d22, d10, #0xe, cc
+de37271e| gnu fccmpe s30, s7, #0xe, cc
+1935751e| gnu fccmpe d8, d21, #0x9, cc
+603f241e| gnu fcsel s0, s27, s4, cc
+653f761e| gnu fcsel d5, d27, d22, cc
+a4fa5354| gnu b.mi .+0xa7f54
+a248483a| gnu ccmn w5, #0x8, #0x2, mi
+e2484eba| gnu ccmn x7, #0xe, #0x2, mi
+2841553a| gnu ccmn w9, w21, #0x8, mi
+6e4259ba| gnu ccmn x19, x25, #0xe, mi
+2048567a| gnu ccmp w1, #0x16, #0x0, mi
+454a5afa| gnu ccmp x18, #0x1a, #0x5, mi
+0343487a| gnu ccmp w24, w8, #0x3, mi
+49434bfa| gnu ccmp x26, x11, #0x9, mi
+d747991a| gnu csinc w23, w30, w25, mi
+9544919a| gnu csinc x21, x4, x17, mi
+76428c5a| gnu csinv w22, w19, w12, mi
+06418eda| gnu csinv x6, x8, x14, mi
+4d46975a| gnu csneg w13, w18, w23, mi
+d74491da| gnu csneg x23, x6, x17, mi
+0941941a| gnu csel w9, w8, w20, mi
+2d41839a| gnu csel x13, x9, x3, mi
+ef479f1a| gnu cset w15, pl
+e5479f9a| gnu cset x5, pl
+f0439f5a| gnu csetm w16, pl
+e2439fda| gnu csetm x2, pl
+2a46841a| gnu csinc w10, w17, w4, mi
+f1468b9a| gnu csinc x17, x23, x11, mi
+3441835a| gnu csinv w20, w9, w3, mi
+b5438cda| gnu csinv x21, x29, x12, mi
+ad45945a| gnu csneg w13, w13, w20, mi
+f54793da| gnu csneg x21, xzr, x19, mi
+c5473f1e| gnu fccmp s30, s31, #0x5, mi
+8947601e| gnu fccmp d28, d0, #0x9, mi
+5247331e| gnu fccmpe s26, s19, #0x2, mi
+b045761e| gnu fccmpe d13, d22, #0x0, mi
+b34d331e| gnu fcsel s19, s13, s19, mi
+3a4d6d1e| gnu fcsel d26, d9, d13, mi
+a5497054| gnu b.pl .+0xe0934
+eb5a493a| gnu ccmn w23, #0x9, #0xb, pl
+0a5941ba| gnu ccmn x8, #0x1, #0xa, pl
+0452523a| gnu ccmn w16, w18, #0x4, pl
+e55053ba| gnu ccmn x7, x19, #0x5, pl
+a45b407a| gnu ccmp w29, #0x0, #0x4, pl
+ca5b4efa| gnu ccmp x30, #0xe, #0xa, pl
+ab514e7a| gnu ccmp w13, w14, #0xb, pl
+ce5349fa| gnu ccmp x30, x9, #0xe, pl
+8555971a| gnu csinc w5, w12, w23, pl
+4b569e9a| gnu csinc x11, x18, x30, pl
+90538f5a| gnu csinv w16, w28, w15, pl
+c3508bda| gnu csinv x3, x6, x11, pl
+1f55955a| gnu csneg wzr, w8, w21, pl
+52568eda| gnu csneg x18, x18, x14, pl
+a750851a| gnu csel w7, w5, w5, pl
+b252899a| gnu csel x18, x21, x9, pl
+eb579f1a| gnu cset w11, mi
+e6579f9a| gnu cset x6, mi
+fd539f5a| gnu csetm w29, mi
+e1539fda| gnu csetm x1, mi
+33579e1a| gnu csinc w19, w25, w30, pl
+b5558c9a| gnu csinc x21, x13, x12, pl
+ec53885a| gnu csinv w12, wzr, w8, pl
+ec5196da| gnu csinv x12, x15, x22, pl
+ae57945a| gnu csneg w14, w29, w20, pl
+64578bda| gnu csneg x4, x27, x11, pl
+2657241e| gnu fccmp s25, s4, #0x6, pl
+2357761e| gnu fccmp d25, d22, #0x3, pl
+f255361e| gnu fccmpe s15, s22, #0x2, pl
+3756781e| gnu fccmpe d17, d24, #0x7, pl
+985c3f1e| gnu fcsel s24, s4, s31, pl
+5b5d621e| gnu fcsel d27, d10, d2, pl
+c6d26454| gnu b.vs .+0xc9a58
+6c6a4f3a| gnu ccmn w19, #0xf, #0xc, vs
+2f694cba| gnu ccmn x9, #0xc, #0xf, vs
+e962583a| gnu ccmn w23, w24, #0x9, vs
+80615fba| gnu ccmn x12, xzr, #0x0, vs
+4b6b497a| gnu ccmp w26, #0x9, #0xb, vs
+cc6a48fa| gnu ccmp x22, #0x8, #0xc, vs
+4e61567a| gnu ccmp w10, w22, #0xe, vs
+476054fa| gnu ccmp x2, x20, #0x7, vs
+c965911a| gnu csinc w9, w14, w17, vs
+41668f9a| gnu csinc x1, x18, x15, vs
+db608f5a| gnu csinv w27, w6, w15, vs
+896097da| gnu csinv x9, x4, x23, vs
+1867915a| gnu csneg w24, w24, w17, vs
+49678eda| gnu csneg x9, x26, x14, vs
+3162881a| gnu csel w17, w17, w8, vs
+db608f9a| gnu csel x27, x6, x15, vs
+f9679f1a| gnu cset w25, vc
+f9679f9a| gnu cset x25, vc
+f7639f5a| gnu csetm w23, vc
+e1639fda| gnu csetm x1, vc
+f4678a1a| gnu csinc w20, wzr, w10, vs
+3e65879a| gnu csinc x30, x9, x7, vs
+6c63975a| gnu csinv w12, w27, w23, vs
+806191da| gnu csinv x0, x12, x17, vs
+7f679f5a| gnu csneg wzr, w27, wzr, vs
+3b6488da| gnu csneg x27, x1, x8, vs
+0565301e| gnu fccmp s8, s16, #0x5, vs
+e266621e| gnu fccmp d23, d2, #0x2, vs
+b7653a1e| gnu fccmpe s13, s26, #0x7, vs
+d866791e| gnu fccmpe d22, d25, #0x8, vs
+326d3d1e| gnu fcsel s18, s9, s29, vs
+f66e7b1e| gnu fcsel d22, d23, d27, vs
+e774fd54| gnu b.vc .+0xffffffffffffae9c
+0479483a| gnu ccmn w8, #0x8, #0x4, vc
+897b56ba| gnu ccmn x28, #0x16, #0x9, vc
+8b70513a| gnu ccmn w4, w17, #0xb, vc
+ca7150ba| gnu ccmn x14, x16, #0xa, vc
+46794f7a| gnu ccmp w10, #0xf, #0x6, vc
+057948fa| gnu ccmp x8, #0x8, #0x5, vc
+0373417a| gnu ccmp w24, w1, #0x3, vc
+ca705ffa| gnu ccmp x6, xzr, #0xa, vc
+d3769f1a| gnu csinc w19, w22, wzr, vc
+1076899a| gnu csinc x16, x16, x9, vc
+c8718e5a| gnu cinv w8, w14, vs
+06729eda| gnu csinv x6, x16, x30, vc
+6076895a| gnu csneg w0, w19, w9, vc
+b87589da| gnu csneg x24, x13, x9, vc
+3b72891a| gnu csel w27, w17, w9, vc
+fd70899a| gnu csel x29, x7, x9, vc
+e3779f1a| gnu cset w3, vs
+f4779f9a| gnu cset x20, vs
+fc739f5a| gnu csetm w28, vs
+ea739fda| gnu csetm x10, vs
+ab75891a| gnu csinc w11, w13, w9, vc
+6177859a| gnu csinc x1, x27, x5, vc
+3272945a| gnu csinv w18, w17, w20, vc
+7a729dda| gnu csinv x26, x19, x29, vc
+b5779e5a| gnu csneg w21, w29, w30, vc
+fe748eda| gnu csneg x30, x7, x14, vc
+ed76231e| gnu fccmp s23, s3, #0xd, vc
+cf74791e| gnu fccmp d6, d25, #0xf, vc
+b4763e1e| gnu fccmpe s21, s30, #0x4, vc
+59766e1e| gnu fccmpe d18, d14, #0x9, vc
+ce7c271e| gnu fcsel s14, s6, s7, vc
+be7c651e| gnu fcsel d30, d5, d5, vc
+88f29d54| gnu b.hi .+0xfffffffffff3be50
+8f8b513a| gnu ccmn w28, #0x11, #0xf, hi
+6f8b5cba| gnu ccmn x27, #0x1c, #0xf, hi
+8780463a| gnu ccmn w4, w6, #0x7, hi
+4f8348ba| gnu ccmn x26, x8, #0xf, hi
+48884d7a| gnu ccmp w2, #0xd, #0x8, hi
+088957fa| gnu ccmp x8, #0x17, #0x8, hi
+0180517a| gnu ccmp w0, w17, #0x1, hi
+ce805efa| gnu ccmp x6, x30, #0xe, hi
+1d868e1a| gnu csinc w29, w16, w14, hi
+0785889a| gnu cinc x7, x8, ls
+4782935a| gnu csinv w7, w18, w19, hi
+118197da| gnu csinv x17, x8, x23, hi
+00868a5a| gnu csneg w0, w16, w10, hi
+128585da| gnu csneg x18, x8, x5, hi
+4c808f1a| gnu csel w12, w2, w15, hi
+7783909a| gnu csel x23, x27, x16, hi
+e5879f1a| gnu cset w5, ls
+f3879f9a| gnu cset x19, ls
+f9839f5a| gnu csetm w25, ls
+eb839fda| gnu csetm x11, ls
+b3869e1a| gnu csinc w19, w21, w30, hi
+f086909a| gnu csinc x16, x23, x16, hi
+34839c5a| gnu csinv w20, w25, w28, hi
+ea8294da| gnu csinv x10, x23, x20, hi
+8e84895a| gnu csneg w14, w4, w9, hi
+c48695da| gnu csneg x4, x22, x21, hi
+cc84361e| gnu fccmp s6, s22, #0xc, hi
+8086781e| gnu fccmp d20, d24, #0x0, hi
+7187341e| gnu fccmpe s27, s20, #0x1, hi
+30867e1e| gnu fccmpe d17, d30, #0x0, hi
+b98e361e| gnu fcsel s25, s21, s22, hi
+2c8c651e| gnu fcsel d12, d1, d5, hi
+69888c54| gnu b.ls .+0xfffffffffff1910c
+0e9b523a| gnu ccmn w24, #0x12, #0xe, ls
+679854ba| gnu ccmn x3, #0x14, #0x7, ls
+0492563a| gnu ccmn w16, w22, #0x4, ls
+42924dba| gnu ccmn x18, x13, #0x2, ls
+2198417a| gnu ccmp w1, #0x1, #0x1, ls
+c89a54fa| gnu ccmp x22, #0x14, #0x8, ls
+0f905e7a| gnu ccmp w0, w30, #0xf, ls
+c59342fa| gnu ccmp x30, x2, #0x5, ls
+0d958c1a| gnu csinc w13, w8, w12, ls
+7596879a| gnu csinc x21, x19, x7, ls
+1791905a| gnu csinv w23, w8, w16, ls
+5e9186da| gnu csinv x30, x10, x6, ls
+23969e5a| gnu csneg w3, w17, w30, ls
+619493da| gnu csneg x1, x3, x19, ls
+b5918e1a| gnu csel w21, w13, w14, ls
+b393819a| gnu csel x19, x29, x1, ls
+f9979f1a| gnu cset w25, hi
+ee979f9a| gnu cset x14, hi
+eb939f5a| gnu csetm w11, hi
+ea939fda| gnu csetm x10, hi
+f497871a| gnu csinc w20, wzr, w7, ls
+c4949d9a| gnu csinc x4, x6, x29, ls
+e892895a| gnu csinv w8, w23, w9, ls
+6c908eda| gnu csinv x12, x3, x14, ls
+26949f5a| gnu csneg w6, w1, wzr, ls
+329498da| gnu csneg x18, x1, x24, ls
+81952d1e| gnu fccmp s12, s13, #0x1, ls
+60967f1e| gnu fccmp d19, d31, #0x0, ls
+1794321e| gnu fccmpe s0, s18, #0x7, ls
+3f97641e| gnu fccmpe d25, d4, #0xf, ls
+089c2d1e| gnu fcsel s8, s0, s13, ls
+699f631e| gnu fcsel d9, d27, d3, ls
+8afbfe54| gnu b.ge .+0xffffffffffffdf70
+44aa573a| gnu ccmn w18, #0x17, #0x4, ge
+00a84fba| gnu ccmn x0, #0xf, #0x0, ge
+c9a04d3a| gnu ccmn w6, w13, #0x9, ge
+88a041ba| gnu ccmn x4, x1, #0x8, ge
+caaa467a| gnu ccmp w22, #0x6, #0xa, ge
+85a85cfa| gnu ccmp x4, #0x1c, #0x5, ge
+47a35f7a| gnu ccmp w26, wzr, #0x7, ge
+0aa34dfa| gnu ccmp x24, x13, #0xa, ge
+dea7981a| gnu csinc w30, w30, w24, ge
+c6a5909a| gnu csinc x6, x14, x16, ge
+8aa1965a| gnu csinv w10, w12, w22, ge
+e3a392da| gnu csinv x3, xzr, x18, ge
+20a5845a| gnu csneg w0, w9, w4, ge
+fba694da| gnu csneg x27, x23, x20, ge
+faa1851a| gnu csel w26, w15, w5, ge
+25a3959a| gnu csel x5, x25, x21, ge
+e2a79f1a| gnu cset w2, lt
+fda79f9a| gnu cset x29, lt
+eea39f5a| gnu csetm w14, lt
+e2a39fda| gnu csetm x2, lt
+efa6951a| gnu csinc w15, w23, w21, ge
+4ca69e9a| gnu csinc x12, x18, x30, ge
+22a2885a| gnu csinv w2, w17, w8, ge
+53a089da| gnu csinv x19, x2, x9, ge
+f9a6875a| gnu csneg w25, w23, w7, ge
+c9a795da| gnu csneg x9, x30, x21, ge
+24a73e1e| gnu fccmp s25, s30, #0x4, ge
+6da5651e| gnu fccmp d11, d5, #0xd, ge
+bda52e1e| gnu fccmpe s13, s14, #0xd, ge
+f6a7651e| gnu fccmpe d31, d5, #0x6, ge
+e3ac251e| gnu fcsel s3, s7, s5, ge
+b3ae781e| gnu fcsel d19, d21, d24, ge
+ab621754| gnu b.lt .+0x2ec54
+e1b84c3a| gnu ccmn w7, #0xc, #0x1, lt
+89ba4eba| gnu ccmn x20, #0xe, #0x9, lt
+88b14a3a| gnu ccmn w12, w10, #0x8, lt
+89b145ba| gnu ccmn x12, x5, #0x9, lt
+47b9547a| gnu ccmp w10, #0x14, #0x7, lt
+07b95bfa| gnu ccmp x8, #0x1b, #0x7, lt
+4ab2407a| gnu ccmp w18, w0, #0xa, lt
+8ab144fa| gnu ccmp x12, x4, #0xa, lt
+79b5821a| gnu csinc w25, w11, w2, lt
+8bb4919a| gnu csinc x11, x4, x17, lt
+c9b19f5a| gnu csinv w9, w14, wzr, lt
+10b28bda| gnu csinv x16, x16, x11, lt
+d8b4925a| gnu csneg w24, w6, w18, lt
+3ab69fda| gnu csneg x26, x17, xzr, lt
+2cb3841a| gnu csel w12, w25, w4, lt
+77b0969a| gnu csel x23, x3, x22, lt
+e2b79f1a| gnu cset w2, ge
+e9b79f9a| gnu cset x9, ge
+f4b39f5a| gnu csetm w20, ge
+f2b39fda| gnu csetm x18, ge
+87b59a1a| gnu csinc w7, w12, w26, lt
+70b69c9a| gnu csinc x16, x19, x28, lt
+17b08f5a| gnu csinv w23, w0, w15, lt
+cab288da| gnu csinv x10, x22, x8, lt
+bab7905a| gnu csneg w26, w29, w16, lt
+08b796da| gnu csneg x8, x24, x22, lt
+2eb73e1e| gnu fccmp s25, s30, #0xe, lt
+86b7671e| gnu fccmp d28, d7, #0x6, lt
+f0b6211e| gnu fccmpe s23, s1, #0x0, lt
+b2b76b1e| gnu fccmpe d29, d11, #0x2, lt
+e8bf241e| gnu fcsel s8, s31, s4, lt
+9ebd7d1e| gnu fcsel d30, d12, d29, lt
+cc87d354| gnu b.gt .+0xfffffffffffa70f8
+43c8563a| gnu ccmn w2, #0x16, #0x3, gt
+c5c94dba| gnu ccmn x14, #0xd, #0x5, gt
+6fc0533a| gnu ccmn w3, w19, #0xf, gt
+06c351ba| gnu ccmn x24, x17, #0x6, gt
+c3c95c7a| gnu ccmp w14, #0x1c, #0x3, gt
+29cb52fa| gnu ccmp x25, #0x12, #0x9, gt
+8bc25a7a| gnu ccmp w20, w26, #0xb, gt
+45c14dfa| gnu ccmp x10, x13, #0x5, gt
+80c7841a| gnu csinc w0, w28, w4, gt
+40c4919a| gnu csinc x0, x2, x17, gt
+04c2805a| gnu csinv w4, w16, w0, gt
+55c086da| gnu csinv x21, x2, x6, gt
+32c7935a| gnu csneg w18, w25, w19, gt
+31c59fda| gnu csneg x17, x9, xzr, gt
+6cc2921a| gnu csel w12, w19, w18, gt
+37c08d9a| gnu csel x23, x1, x13, gt
+eec79f1a| gnu cset w14, le
+eec79f9a| gnu cset x14, le
+f4c39f5a| gnu csetm w20, le
+f6c39fda| gnu csetm x22, le
+31c5971a| gnu csinc w17, w9, w23, gt
+76c7899a| gnu csinc x22, x27, x9, gt
+bbc1805a| gnu csinv w27, w13, w0, gt
+e8c384da| gnu csinv x8, xzr, x4, gt
+83c5955a| gnu csneg w3, w12, w21, gt
+77c790da| gnu csneg x23, x27, x16, gt
+e9c5251e| gnu fccmp s15, s5, #0x9, gt
+a3c4671e| gnu fccmp d5, d7, #0x3, gt
+71c72e1e| gnu fccmpe s27, s14, #0x1, gt
+3dc4781e| gnu fccmpe d1, d24, #0xd, gt
+57cf3d1e| gnu fcsel s23, s26, s29, gt
+8fcc7e1e| gnu fcsel d15, d4, d30, gt
+8d1ec054| gnu b.le .+0xfffffffffff803d0
+4bdb5b3a| gnu ccmn w26, #0x1b, #0xb, le
+47d94fba| gnu ccmn x10, #0xf, #0x7, le
+4dd1443a| gnu ccmn w10, w4, #0xd, le
+82d353ba| gnu ccmn x28, x19, #0x2, le
+e8d9527a| gnu ccmp w15, #0x12, #0x8, le
+00db45fa| gnu ccmp x24, #0x5, #0x0, le
+c5d1437a| gnu ccmp w14, w3, #0x5, le
+e4d041fa| gnu ccmp x7, x1, #0x4, le
+0bd6941a| gnu csinc w11, w16, w20, le
+57d6929a| gnu cinc x23, x18, gt
+3dd29a5a| gnu csinv w29, w17, w26, le
+ded085da| gnu csinv x30, x6, x5, le
+27d5985a| gnu csneg w7, w9, w24, le
+7fd59ada| gnu csneg xzr, x11, x26, le
+b7d0911a| gnu csel w23, w5, w17, le
+a4d3879a| gnu csel x4, x29, x7, le
+e6d79f1a| gnu cset w6, gt
+f1d79f9a| gnu cset x17, gt
+f3d39f5a| gnu csetm w19, gt
+f9d39fda| gnu csetm x25, gt
+42d78d1a| gnu csinc w2, w26, w13, le
+88d58a9a| gnu csinc x8, x12, x10, le
+ccd3805a| gnu csinv w12, w30, w0, le
+0fd085da| gnu csinv x15, x0, x5, le
+55d5975a| gnu csneg w21, w10, w23, le
+3fd699da| gnu csneg xzr, x17, x25, le
+60d4251e| gnu fccmp s3, s5, #0x0, le
+6dd6601e| gnu fccmp d19, d0, #0xd, le
+bdd5221e| gnu fccmpe s13, s2, #0xd, le
+f4d67d1e| gnu fccmpe d23, d29, #0x4, le
+0cdd381e| gnu fcsel s12, s8, s24, le
+70de7e1e| gnu fcsel d16, d19, d30, le
+8e585454| gnu b.al .+0xa8b10
+41eb483a| gnu ccmn w26, #0x8, #0x1, al
+8aeb42ba| gnu ccmn x28, #0x2, #0xa, al
+c8e3473a| gnu ccmn w30, w7, #0x8, al
+ade059ba| gnu ccmn x5, x25, #0xd, al
+67eb5b7a| gnu ccmp w27, #0x1b, #0x7, al
+05e849fa| gnu ccmp x0, #0x9, #0x5, al
+42e3407a| gnu ccmp w26, w0, #0x2, al
+03e053fa| gnu ccmp x0, x19, #0x3, al
+9ce4931a| gnu csinc w28, w4, w19, al
+8ee69d9a| gnu csinc x14, x20, x29, al
+68e0835a| gnu csinv w8, w3, w3, al
+20e381da| gnu csinv x0, x25, x1, al
+e0e58d5a| gnu csneg w0, w15, w13, al
+9ae589da| gnu csneg x26, x12, x9, al
+6ee0941a| gnu csel w14, w3, w20, al
+77e38a9a| gnu csel x23, x27, x10, al
+efe79f1a| gnu csinc w15, wzr, wzr, al
+e5e79f9a| gnu csinc x5, xzr, xzr, al
+f2e39f5a| gnu csinv w18, wzr, wzr, al
+fae39fda| gnu csinv x26, xzr, xzr, al
+ede7861a| gnu csinc w13, wzr, w6, al
+0ce58a9a| gnu csinc x12, x8, x10, al
+75e2835a| gnu csinv w21, w19, w3, al
+38e391da| gnu csinv x24, x25, x17, al
+fee4845a| gnu csneg w30, w7, w4, al
+09e49bda| gnu csneg x9, x0, x27, al
+a8e6271e| gnu fccmp s21, s7, #0x8, al
+ede67d1e| gnu fccmp d23, d29, #0xd, al
+bbe53b1e| gnu fccmpe s13, s27, #0xb, al
+70e6661e| gnu fccmpe d19, d6, #0x0, al
+01ee3b1e| gnu fcsel s1, s16, s27, al
+15ec651e| gnu fcsel d21, d0, d5, al
+4f462554| gnu b.al .+0x4a8c8
+eef9493a| gnu ccmn w15, #0x9, #0xe, al
+88fa53ba| gnu ccmn x20, #0x13, #0x8, al
+c0f25f3a| gnu ccmn w22, wzr, #0x0, al
+c6f05cba| gnu ccmn x6, x28, #0x6, al
+45f84c7a| gnu ccmp w2, #0xc, #0x5, al
+a3fa4afa| gnu ccmp x21, #0xa, #0x3, al
+caf3517a| gnu ccmp w30, w17, #0xa, al
+81f055fa| gnu ccmp x4, x21, #0x1, al
+cbf69e1a| gnu csinc w11, w22, w30, al
+01f48e9a| gnu csinc x1, x0, x14, al
+61f1845a| gnu csinv w1, w11, w4, al
+11f397da| gnu csinv x17, x24, x23, al
+7bf69f5a| gnu csneg w27, w19, wzr, al
+b1f686da| gnu csneg x17, x21, x6, al
+69f39e1a| gnu csel w9, w27, w30, al
+79f2859a| gnu csel x25, x19, x5, al
+e1f79f1a| gnu csinc w1, wzr, wzr, al
+e6f79f9a| gnu csinc x6, xzr, xzr, al
+fcf39f5a| gnu csinv w28, wzr, wzr, al
+fbf39fda| gnu csinv x27, xzr, xzr, al
+2ef4831a| gnu csinc w14, w1, w3, al
+55f6859a| gnu csinc x21, x18, x5, al
+4ff0905a| gnu csinv w15, w2, w16, al
+81f393da| gnu csinv x1, x28, x19, al
+8bf68d5a| gnu csneg w11, w20, w13, al
+c2f48fda| gnu csneg x2, x6, x15, al
+e9f6391e| gnu fccmp s23, s25, #0x9, al
+27f46f1e| gnu fccmp d1, d15, #0x7, al
+72f6301e| gnu fccmpe s19, s16, #0x2, al
+37f57a1e| gnu fccmpe d9, d26, #0x7, al
+fcfe3a1e| gnu fcsel s28, s23, s26, al
+80fd701e| gnu fcsel d0, d12, d16, al
+40946454| gnu b.eq .+0xc9288
+8b09473a| gnu ccmn w12, #0x7, #0xb, eq
+c50a5eba| gnu ccmn x22, #0x1e, #0x5, eq
+05005a3a| gnu ccmn w0, w26, #0x5, eq
+cf024bba| gnu ccmn x22, x11, #0xf, eq
+8a084f7a| gnu ccmp w4, #0xf, #0xa, eq
+e20a41fa| gnu ccmp x23, #0x1, #0x2, eq
+8c015f7a| gnu ccmp w12, wzr, #0xc, eq
+e4015cfa| gnu ccmp x15, x28, #0x4, eq
+42078e1a| gnu csinc w2, w26, w14, eq
+2005879a| gnu csinc x0, x9, x7, eq
+f003955a| gnu csinv w16, wzr, w21, eq
+dc019dda| gnu csinv x28, x14, x29, eq
+4607885a| gnu csneg w6, w26, w8, eq
+26069eda| gnu csneg x6, x17, x30, eq
+72018a1a| gnu csel w18, w11, w10, eq
+8003849a| gnu csel x0, x28, x4, eq
+f1079f1a| gnu cset w17, ne
+fb079f9a| gnu cset x27, ne
+ef039f5a| gnu csetm w15, ne
+e1039fda| gnu csetm x1, ne
+5307881a| gnu csinc w19, w26, w8, eq
+8a06969a| gnu csinc x10, x20, x22, eq
+ab00955a| gnu csinv w11, w5, w21, eq
+c3039bda| gnu csinv x3, x30, x27, eq
+8005875a| gnu csneg w0, w12, w7, eq
+740694da| gnu csneg x20, x19, x20, eq
+e207281e| gnu fccmp s31, s8, #0x2, eq
+2b056a1e| gnu fccmp d9, d10, #0xb, eq
+7e063f1e| gnu fccmpe s19, s31, #0xe, eq
+3c05671e| gnu fccmpe d9, d7, #0xc, eq
+830f271e| gnu fcsel s3, s28, s7, eq
+4d0d621e| gnu fcsel d13, d10, d2, eq
+bf2003d5| gnu sevl
+9f2003d5| gnu sev
+7f2003d5| gnu wfi
+5f2003d5| gnu wfe
+3f2003d5| gnu yield
+1f2003d5| gnu nop
+df4d03d5| gnu msr daifset, #0xd
+ff4d03d5| gnu msr daifclr, #0xd
+28d91b14| gnu b .+0x6f64a0
+da6cb530| gnu adr x26, .+0xfffffffffff6ad99
+15e5e514| gnu b .+0x3979454
+ff4603d5| gnu msr daifclr, #0x6
+df4803d5| gnu msr daifset, #0x8
+bf4100d5| gnu msr spsel, #0x1
+9f3f03d5| gnu dsb sy
+9f3e03d5| gnu dsb st
+9f3d03d5| gnu dsb ld
+9f3b03d5| gnu dsb ish
+9f3a03d5| gnu dsb ishst
+9f3903d5| gnu dsb ishld
+9f3703d5| gnu dsb nsh
+9f3603d5| gnu dsb nshst
+9f3503d5| gnu dsb nshld
+9f3303d5| gnu dsb osh
+9f3203d5| gnu dsb oshst
+9f3103d5| gnu dsb oshld
+ff4603d5| gnu msr daifclr, #0x6
+df4803d5| gnu msr daifset, #0x8
+bf4100d5| gnu msr spsel, #0x1
+a3681b53| gnu lsl w3, w5, #5
+47dc78d3| gnu lsl x7, x2, #8
+0500a012| gnu movn w5, #0x0, lsl #16
+0500e092| gnu movn x5, #0x0, lsl #48
+0500a052| gnu movz w5, #0x0, lsl #16
+0500a0d2| gnu movz x5, #0x0, lsl #16
+cd5a206e| gnu mvn v13.16b, v22.16b
+cd5a202e| gnu mvn v13.8b, v22.8b
+743d050e| gnu umov w20, v11.b[2]
+743d0a0e| gnu umov w20, v11.h[2]
+743d0c0e| gnu mov w20, v11.s[1]
+743d084e| gnu mov x20, v11.d[0]
+0a011f1a| plan9 ADCW ZR, R8, R10
+4c00009a| plan9 ADC R0, R2, R12
+a602093a| plan9 ADCSW R9, R21, R6
+d60217ba| plan9 ADCS R23, R22, R22
+0921250b| plan9 ADDW R5.UXTH, R8, R9
+ee9e288b| plan9 ADD R8.SXTB<<7, R23, R14
+23123011| plan9 ADDW $3076, R17, R3
+2ba32391| plan9 ADD $2280, R25, R11
+67158d0b| plan9 ADDW R13->5, R11, R7
+30da198b| plan9 ADD R25<<54, R17, R16
+a7e72c2b| plan9 ADDSW R12.SXTX<<1, R29, R7
+357338ab| plan9 ADDS R24.UXTX<<4, R25, R21
+6b147731| plan9 ADDSW $(3525<<12), R3, R11
+cd59872b| plan9 ADDSW R7->22, R14, R13
+e41f4eab| plan9 ADDS R14>>7, ZR, R4
+a2432412| plan9 ANDW $4026540031, R29, R2
+93910e92| plan9 AND $34903429696192636, R12, R19
+7a1ec98a| plan9 AND R9@>7, R19, R26
+1ff32972| plan9 TSTW $2863311530, R24
+458051f2| plan9 ANDS $-140737488289793, R2, R5
+af629a6a| plan9 ANDSW R26->24, R21, R15
+7ab0dfea| plan9 ANDS ZR@>44, R3, R26
+792bcc1a| plan9 ASRW R12, R27, R25
+872bce9a| plan9 ASR R14, R28, R7
+99ff4b93| plan9 ASR $11, R28, R25
+1628c91a| plan9 ASRW R9, R0, R22
+4e2acf9a| plan9 ASR R15, R18, R14
+4be5a454| plan9 BLT -186582(PC)
+53257114| plan9 JMP 7415123(PC)
+dbb557b3| plan9 BFXIL $23, R14, $23, R27
+70e861b3| plan9 BFXIL $33, R3, $26, R16
+88a75ab3| plan9 BFXIL $26, R28, $16, R8
+b03ce70a| plan9 BICW R7@>15, R5, R16
+9235ec8a| plan9 BIC R12@>13, R12, R18
+7450b96a| plan9 BICSW R25->20, R3, R20
+3730b3ea| plan9 BICS R19->12, R1, R23
+9b897797| plan9 CALL -8943205(PC)
+e0013fd6| plan9 CALL (R15)
+a0031fd6| plan9 JMP (R29)
+e08c31d4| plan9 BRK $35943
+4bfb543a| plan9 CCMNW AL, R26, $20, $11
+015b46ba| plan9 CCMN PL, R24, $6, $1
+8602463a| plan9 CCMNW EQ, R20, R6, $6
+c6d34cba| plan9 CCMN LE, R30, R12, $6
+a76b4f7a| plan9 CCMPW VS, R29, $15, $7
+e3d853fa| plan9 CCMP LE, R7, $19, $3
+4022467a| plan9 CCMPW HS, R18, R6, $0
+c7b346fa| plan9 CCMP LT, R30, R6, $7
+ee279b1a| plan9 CSINCW HS, ZR, R27, R14
+4174819a| plan9 CSINC VC, R2, R1, R1
+5100955a| plan9 CSINVW EQ, R2, R21, R17
+573093da| plan9 CSINV LO, R2, R19, R23
+5f3403d5| plan9 CLREX $4
+e615c05a| plan9 CLSW R15, R6
+ff15c0da| plan9 CLS R15, ZR
+2e10c05a| plan9 CLZW R1, R14
+a912c0da| plan9 CLZ R21, R9
+ff11352b| plan9 CMNW R21.UXTB<<4, R15
+1f5220ab| plan9 CMN R0.UXTW<<4, R16
+ff02266b| plan9 CMPW R6.UXTB, R23
+5fb739eb| plan9 CMP R25.SXTH<<5, R26
+bfa73bf1| plan9 CMP $3817, R29
+7f5c47eb| plan9 CMP R7>>23, R3
+2e458e5a| plan9 CSNEGW MI, R9, R14, R14
+c3559cda| plan9 CSNEG PL, R14, R28, R3
+1041d11a| plan9 CRC32B R17, R8, R16
+bb46c31a| plan9 CRC32H R3, R21, R27
+c94bd61a| plan9 CRC32W R22, R30, R9
+8f4cd49a| plan9 CRC32X R20, R4, R15
+7653d21a| plan9 CRC32CB R18, R27, R22
+1454d51a| plan9 CRC32CH R21, R0, R20
+7c58c91a| plan9 CRC32CW R9, R3, R28
+185ccb9a| plan9 CRC32CX R11, R0, R24
+8c30941a| plan9 CSELW LO, R4, R20, R12
+0ea08c9a| plan9 CSEL GE, R0, R12, R14
+e3b79f1a| plan9 CSETW GE, R3
+fea79f9a| plan9 CSET LT, R30
+e5639f5a| plan9 CSETMW VC, R5
+e4739fda| plan9 CSETM VS, R4
+bad4981a| plan9 CSINCW LE, R5, R24, R26
+5167909a| plan9 CSINC VS, R26, R16, R17
+65e3955a| plan9 CSINVW AL, R27, R21, R5
+8e338bda| plan9 CSINV LO, R28, R11, R14
+0a269d5a| plan9 CSNEGW HS, R16, R29, R10
+ab1692da| plan9 CSNEG NE, R21, R18, R11
+418ea5d4| plan9 DCPS1 $11378
+6239a5d4| plan9 DCPS2 $10699
+e3ebabd4| plan9 DCPS3 $24415
+bf3a03d5| plan9 DMB $10
+e003bfd6| plan9 DRPS
+9f3003d5| plan9 DSB $0
+c974354a| plan9 EONW R21<<29, R6, R9
+89b86eca| plan9 EON R14>>46, R4, R9
+76e343d2| plan9 EOR $-2287828610704211969, R27, R22
+536d8c4a| plan9 EORW R12->27, R10, R19
+d1ef1cca| plan9 EOR R28<<59, R30, R17
+e0039fd6| plan9 ERET
+591d8813| plan9 EXTRW $7, R8, R10, R25
+888dd693| plan9 EXTR $35, R22, R12, R8
+bf2003d5| plan9 SEVL
+df2003d5| plan9 HINT $6
+a0fc5fd4| plan9 HLT $65509
+df3103d5| plan9 ISB $1
+9dfddf88| plan9 LDARW (R12), R29
+76ffdfc8| plan9 LDAR (R27), R22
+36ffdf08| plan9 LDARB (R25), R22
+bcfcdf48| plan9 LDARH (R5), R28
+54c17f88| plan9 LDAXPW (R10), R16, R20
+3eaf7fc8| plan9 LDAXP (R25), R11, R30
+e2fd5f88| plan9 LDAXRW (R15), R2
+f5fd5fc8| plan9 LDAXR (R15), R21
+70fe5f08| plan9 LDAXRB (R19), R16
+bcfc5f48| plan9 LDAXRH (R5), R28
+ecff5928| plan9 LDNPW 204(RSP), ZR, R12
+852744a8| plan9 LDNP 64(R28), R9, R5
+1286d728| plan9 LDP.P 188(R16), (R18, R1)
+7668e8a8| plan9 LDP.P -384(R3), (R22, R26)
+6d8bc729| plan9 LDP.W 60(R27), (R13, R2)
+1cadd1a9| plan9 LDP.W 280(R8), (R28, R11)
+bf4e7e29| plan9 LDP -16(R21), (ZR, R19)
+61695fa9| plan9 LDP 496(R11), (R1, R26)
+4c00e668| plan9 LDPSW -208(R2), R0, R12
+85a0cb69| plan9 LDPSW 92(R4), R8, R5
+9b894d69| plan9 LDPSW 108(R12), R2, R27
+e9955ab8| plan9 MOVWU.P -87(R15), R9
+5c255df8| plan9 MOVD.P -46(R10), R28
+703c57b8| plan9 MOVWU.W -141(R3), R16
+1dac57f8| plan9 MOVD.W -134(R0), R29
+393c50b9| plan9 MOVWU 4156(R1), R25
+498d5cf9| plan9 MOVD 14616(R10), R9
+8ca74238| plan9 MOVBU.P 42(R28), R12
+4e5c5e38| plan9 MOVBU.W -27(R2), R14
+03936d39| plan9 MOVBU 2916(R24), R3
+577a6e38| plan9 MOVBU R14<<1(R18), R23
+adb54678| plan9 MOVHU.P 107(R13), R13
+820f4c78| plan9 MOVHU.W 192(R28), R2
+92787579| plan9 MOVHU 6844(R4), R18
+4bd6c438| plan9 MOVBW.P 77(R18), R11
+fb478238| plan9 MOVB.P 36(RSP), R27
+4d7edc38| plan9 MOVBW.W -57(R18), R13
+18ee9438| plan9 MOVB.W -178(R16), R24
+16b9c639| plan9 MOVBW 430(R8), R22
+37958f39| plan9 MOVB 997(R9), R23
+af7ae238| plan9 MOVBW R2<<1(R21), R15
+1568fa38| plan9 MOVBW R26(R0), R21
+f069a538| plan9 MOVB R5(R15), R16
+d9a6cd78| plan9 MOVHW.P 218(R22), R25
+ff368b78| plan9 MOVH.P 179(R23), ZR
+5b8cc878| plan9 MOVHW.W 136(R2), R27
+361f9c78| plan9 MOVH.W -63(R25), R22
+359bec79| plan9 MOVHW 5708(R25), R21
+4d6c8079| plan9 MOVH 54(R2), R13
+02669cb8| plan9 MOVW.P -58(R16), R2
+5c8e92b8| plan9 MOVW.W -216(R18), R28
+ea9e92b9| plan9 MOVW 4764(R23), R10
+64285eb8| plan9 LDTRW -30(R3), R4
+6ab851f8| plan9 LDTR -229(R3), R10
+aa094f38| plan9 LDTRBW 240(R13), R10
+b7894e78| plan9 LDTRHW 232(R13), R23
+85cadd38| plan9 LDTRSBW -36(R20), R5
+2db99838| plan9 LDTRSB -117(R9), R13
+7ef8ce78| plan9 LDTRSHW 239(R3), R30
+786a8978| plan9 LDTRSH 150(R19), R24
+c5eb81b8| plan9 LDTRSW 30(R30), R5
+a1f14bb8| plan9 LDURW 191(R13), R1
+c3425cf8| plan9 LDUR -60(R22), R3
+2e125038| plan9 LDURBW -255(R17), R14
+26004878| plan9 LDURHW 128(R1), R6
+c3e3cd38| plan9 LDURSBW 222(R30), R3
+27618938| plan9 LDURSB 150(R9), R7
+7c71db78| plan9 LDURSHW -73(R11), R28
+1d109e78| plan9 LDURSH -31(R0), R29
+d48084b8| plan9 LDURSW 72(R6), R20
+172f7f88| plan9 LDXPW (R24), R11, R23
+10347fc8| plan9 LDXP (R0), R13, R16
+fe7f5f88| plan9 LDXRW (RSP), R30
+6c7f5fc8| plan9 LDXR (R27), R12
+047c5f08| plan9 LDXRB (R0), R4
+9a7d5f48| plan9 LDXRH (R12), R26
+4f21cb1a| plan9 LSLW R11, R10, R15
+1523db9a| plan9 LSL R27, R24, R21
+81c74fd3| plan9 UBFX $15, R28, $35, R1
+c922c81a| plan9 LSLW R8, R22, R9
+fd22dc9a| plan9 LSL R28, R23, R29
+4226dd1a| plan9 LSRW R29, R18, R2
+a224ca9a| plan9 LSR R10, R5, R2
+707c0153| plan9 LSRW $1, R3, R16
+34fc4cd3| plan9 LSR $12, R1, R20
+6c24c91a| plan9 LSRW R9, R3, R12
+8527c89a| plan9 LSR R8, R28, R5
+ea36171b| plan9 MADDW R23, R13, R23, R10
+e47a0a9b| plan9 MADD R10, R30, R23, R4
+35fd001b| plan9 MNEGW R0, R9, R21
+77ff0e9b| plan9 MNEG R14, R27, R23
+38030011| plan9 ADDW $0, R25, R24
+37030091| plan9 ADD $0, R25, R23
+94b8ad12| plan9 MOVW $2453405695, R20
+fff29892| plan9 MOVD $-51096, ZR
+d4adb252| plan9 MOVW $2507014144, R20
+8747e2d2| plan9 MOVD $1313925191285342208, R7
+f5132d32| plan9 ORRW $16252928, ZR, R21
+eb7f34b2| plan9 MOVD $-1, R11
+f503092a| plan9 MOVW R9, R21
+e7031eaa| plan9 MOVD R30, R7
+35e8c1f2| plan9 MOVK $(3905<<32), R21
+44629512| plan9 MOVW $4294923501, R4
+cc0dd392| plan9 MOVD $-167598213824513, R12
+cbfb9152| plan9 MOVW $36830, R11
+3d25ebd2| plan9 MOVD $6424666343420723200, R29
+e67a3fd5| plan9 MRS $31703, R6
+f9dd15d5| plan9 MSR R25, $12015
+25840c1b| plan9 MSUBW R12, R1, R1, R5
+02ce1a9b| plan9 MSUB R26, R19, R16, R2
+b67c1a1b| plan9 MULW R26, R5, R22
+607c049b| plan9 MUL R4, R3, R0
+e97f6daa| plan9 MVN R13>>31, R9
+fe071f6b| plan9 NEGSW ZR<<1, R30
+f68f14eb| plan9 NEGS R20<<35, R22
+e8030d5a| plan9 NGCW R13, R8
+fe031eda| plan9 NGC R30, R30
+e5030a7a| plan9 NGCSW R10, R5
+f00318fa| plan9 NGCS R24, R16
+1f2003d5| plan9 NOP
+032ee42a| plan9 ORNW R4@>11, R16, R3
+634cf6aa| plan9 ORN R22@>19, R3, R3
+f8492d32| plan9 ORRW $4294443071, R15, R24
+96f542b2| plan9 ORR $-3458764513820540929, R12, R22
+1c110d2a| plan9 ORRW R13<<4, R8, R28
+c65b1eaa| plan9 ORR R30<<22, R30, R6
+f300b2f9| plan9 PRFM 25600(R7), PSTL2STRM
+c62184f8| plan9 PRFUM 66(R14), #0X06
+3601c05a| plan9 RBITW R9, R22
+6401c0da| plan9 RBIT R11, R4
+e0035fd6| plan9 RET ZR
+0a09c05a| plan9 REVW R8, R10
+220cc0da| plan9 REV R1, R2
+b206c05a| plan9 REV16W R21, R18
+2407c0da| plan9 REV16 R25, R4
+7e0bc0da| plan9 REV32 R27, R30
+ae0ec0da| plan9 REV R21, R14
+336f8413| plan9 EXTRW $27, R4, R25, R19
+af47ca93| plan9 EXTR $17, R10, R29, R15
+bc2cdb1a| plan9 RORW R27, R5, R28
+e52fdd9a| plan9 ROR R29, ZR, R5
+832dc31a| plan9 RORW R3, R12, R3
+e22ec09a| plan9 ROR R0, R23, R2
+1801045a| plan9 SBCW R4, R8, R24
+5a0119da| plan9 SBC R25, R10, R26
+52021b7a| plan9 SBCSW R27, R18, R18
+250105fa| plan9 SBCS R5, R9, R5
+fc430b13| plan9 SBFXW $11, ZR, $6, R28
+a0574093| plan9 SBFX $0, R29, $22, R0
+8b3b7a93| plan9 SBFIZ $6, R28, $15, R11
+fc310513| plan9 SBFXW $5, R15, $8, R28
+fbdc4293| plan9 SBFX $2, R7, $54, R27
+c90dd61a| plan9 SDIVW R22, R14, R9
+a90ecd9a| plan9 SDIV R13, R21, R9
+9f2003d5| plan9 SEV
+bf2003d5| plan9 SEVL
+d27f229b| plan9 SMULL R2, R30, R18
+efff3a9b| plan9 SMNEGL R26, ZR, R15
+7d963f9b| plan9 SMSUBL ZR, R5, R19, R29
+b57e519b| plan9 SMULH R17, R21, R21
+a07c209b| plan9 SMULL R0, R5, R0
+d0fe9f88| plan9 STLRW R16, (R22)
+03ff9fc8| plan9 STLR R3, (R24)
+8bff9f08| plan9 STLRB R11, (R28)
+f0fe9f48| plan9 STLRH R16, (R23)
+c6ae3588| plan9 STLXPW (R22), R11, R6, R21
+c6fa22c8| plan9 STLXPW (R22), R30, R6, R2
+affd0e88| plan9 STLXRW R15, (R13), R14
+67ff1cc8| plan9 STLXR R7, (R27), R28
+17ff1c08| plan9 STLXRB R23, (R24), R28
+7bfe0b48| plan9 STLXRH R27, (R19), R11
+2a8c0528| plan9 STNPW 44(R1), R3, R10
+67fc10a8| plan9 STNP 264(R3), ZR, R7
+5559bd28| plan9 STP.P (R21, R22), -24(R10)
+166c96a8| plan9 STP.P (R22, R27), 352(R0)
+3d4a8729| plan9 STP.W (R29, R18), 56(R17)
+912f86a9| plan9 STP.W (R17, R11), 96(R28)
+c40d3029| plan9 STP (R4, R3), -128(R14)
+f73f39a9| plan9 STP (R23, R15), -112(RSP)
+34441eb8| plan9 MOVW.P R20, -28(R1)
+11f60bf8| plan9 MOVD.P R17, 191(R16)
+c15d15b8| plan9 MOVW.W R1, -171(R14)
+ae4d12f8| plan9 MOVD.W R14, -220(R13)
+03ef39b9| plan9 MOVW R3, 14828(R24)
+208228f9| plan9 MOVD R0, 20736(R17)
+ffb41838| plan9 MOVB.P ZR, -117(R7)
+bb0d1a38| plan9 MOVB.W R27, -96(R13)
+b1612239| plan9 MOVB R17, 2200(R13)
+92682038| plan9 MOVB R18, R0(R4)
+81682638| plan9 MOVB R1, R6(R4)
+87841b78| plan9 MOVH.P R7, -72(R4)
+cc3d1878| plan9 MOVH.W R12, -125(R14)
+53cf1c79| plan9 MOVH R19, 3686(R26)
+63792d78| plan9 MOVH R3, R13<<1(R11)
+9d7803b8| plan9 STTRW 55(R4), R29
+b9c807f8| plan9 STTR 124(R5), R25
+f04a1e38| plan9 STTRBW -28(R23), R16
+52990078| plan9 STTRHW 9(R10), R18
+152002b8| plan9 MOVW R21, 34(R0)
+397217f8| plan9 MOVD R25, -137(R17)
+8f320138| plan9 MOVB R15, 19(R20)
+eb021b78| plan9 MOVH R11, -80(R23)
+854a3f88| plan9 STXPW (R20), R18, R5, ZR
+d12620c8| plan9 STXPW (R22), R9, R17, R0
+537e0288| plan9 STXRW R19, (R18), R2
+af7d15c8| plan9 STXR R15, (R13), R21
+e97c1d08| plan9 STXRB R9, (R7), R29
+837d1b48| plan9 STXRH R3, (R12), R27
+f25e344b| plan9 SUBW R20.UXTW<<7, R23, R18
+3ac825cb| plan9 SUB R5.SXTW<<2, R1, R26
+e8f40ccb| plan9 SUB R12<<61, R7, R8
+a6ad226b| plan9 SUBSW R2.SXTH<<3, R13, R6
+647735eb| plan9 SUBS R21.UXTX<<5, R27, R4
+c770566b| plan9 SUBSW R22>>28, R6, R7
+d03c1aeb| plan9 SUBS R26<<15, R6, R16
+a17f03d4| plan9 SVC $7165
+991f0013| plan9 SXTBW R28, R25
+a91d4093| plan9 SXTB R13, R9
+083d0013| plan9 SXTHW R8, R8
+393e4093| plan9 SXTH R17, R25
+1b7c4093| plan9 SXTW R0, R27
+0c5b2cd5| plan9 SYSL $285440, R12
+3f0d0172| plan9 TSTW $2147483655, R9
+df6f7cf2| plan9 TST $4294967280, R30
+1f2f11ea| plan9 TST R17<<11, R24
+9ced71d3| plan9 UBFX $49, R12, $11, R28
+1cbb7fd3| plan9 UBFIZ $1, R24, $47, R28
+25e661d3| plan9 UBFX $33, R17, $25, R5
+af0adc1a| plan9 UDIVW R28, R21, R15
+550ac29a| plan9 UDIV R2, R18, R21
+9102b19b| plan9 UMADDL R17, R0, R20, R17
+41fea39b| plan9 UMNEGL R3, R18, R1
+87d8a39b| plan9 UMSUBL R3, R22, R4, R7
+987ed89b| plan9 UMULH R24, R20, R24
+d37eb29b| plan9 UMULL R18, R22, R19
+461c0053| plan9 UXTBW R2, R6
+f43c0053| plan9 UXTHW R7, R20
+5f2003d5| plan9 WFE
+7f2003d5| plan9 WFI
+3f2003d5| plan9 YIELD
+e5bb200e| plan9 VABS V31.B8, V5.B8
+c9842d0e| plan9 VADD V13.B8, V6.B8, V9.B8
+f4bd394e| plan9 VADDP V25.B16, V15.B16, V20.B16
+b3b8b14e| plan9 ADDV V5.S4, F19
+cd5b284e| plan9 VAESD V30.B16, V13.B16
+4b4b284e| plan9 VAESE V26.B16, V11.B16
+2879284e| plan9 VAESIMC V9.B16, V8.B16
+fe68284e| plan9 VAESMC V7.B16, V30.B16
+f61e334e| plan9 VAND V19.B16, V23.B16, V22.B16
+88a4002f| plan9 VMVNI $(4<<8), V8.H4
+1877076f| plan9 VBIC $(248<<24), V24.S4
+0d1e6c0e| plan9 VBIC V12.B8, V16.B8, V13.B8
+b81ce26e| plan9 VBIF V2.B16, V5.B16, V24.B16
+381cbf2e| plan9 VBIT V31.B8, V1.B8, V24.B8
+cd1f6c6e| plan9 VBSL V12.B16, V30.B16, V13.B16
+8d48a00e| plan9 VCLS V4.S2, V13.S2
+324ba02e| plan9 VCLZ V25.S2, V18.S2
+c88f2b2e| plan9 VCMEQ V11.B8, V30.B8, V8.B8
+a799e05e| plan9 CMEQ $0, F13, F7
+dc9be04e| plan9 VCMEQ $0, V30.D2, V28.D2
+623f2d4e| plan9 VCMGE V13.B16, V27.B16, V2.B16
+e889e06e| plan9 VCMGE $0, V15.D2, V8.D2
+cb37e55e| plan9 CMGT F5, F30, F11
+8e37b00e| plan9 VCMGT V16.S2, V28.S2, V14.S2
+1a8be04e| plan9 VCMGT $0, V24.D2, V26.D2
+7f37eb7e| plan9 CMHI F11, F27, F31
+333d356e| plan9 VCMHS V21.B16, V9.B16, V19.B16
+bd9ae07e| plan9 CMLE $0, F21, F29
+8999602e| plan9 VCMLE $0, V12.H4, V9.H4
+aca9e05e| plan9 CMLT $0, F13, F12
+7fa8204e| plan9 VCMLT $0, V3.B16, V31.B16
+588db20e| plan9 VCMTST V18.S2, V10.S2, V24.S2
+cc051d5e| plan9 VMOV V14.B[14], F12
+4c06050e| plan9 VDUP V18.B[2], V12.B8
+790c020e| plan9 VDUP R3, V25.H4
+391d286e| plan9 VEOR V8.B16, V9.B16, V25.B16
+4b30156e| plan9 VEXT $6, V21.B16, V2.B16, V11.B16
+44d6bf7e| plan9 FABD F31, F18, F4
+17fba00e| plan9 FABS V24.S2, V23.S2
+90c2201e| plan9 FABSS F20, F16
+62c2601e| plan9 FABSD F19, F2
+eeef3f7e| plan9 FACGE F31, F31, F14
+09efa07e| plan9 FACGT F0, F24, F9
+72edae6e| plan9 VFACGT V14.S4, V11.S4, V18.S4
+61d5394e| plan9 FADD V25.S4, V11.S4, V1.S4
+0d2a3d1e| plan9 FADDS F29, F16, F13
+4b296f1e| plan9 FADDD F15, F10, F11
+78d8307e| plan9 FADDP V3.S2, F24
+e7d7322e| plan9 VFADDP V18.S2, V31.S2, V7.S2
+e8253c1e| plan9 FCCMPS HS, F28, F15, $8
+e8857f1e| plan9 FCCMPD HI, F31, F15, $8
+5714291e| plan9 FCCMPES NE, F9, F2, $7
+b484631e| plan9 FCCMPED HI, F3, F5, $4
+3ce5685e| plan9 FCMEQ F8, F9, F28
+50e6214e| plan9 VFCMEQ V1.S4, V18.S4, V16.S4
+9ddae05e| plan9 FCMEQ $0, F20, F29
+b3e62b7e| plan9 FCMGE F11, F21, F19
+0ce4396e| plan9 VFCMGE V25.S4, V0.S4, V12.S4
+a6c9e07e| plan9 FCMGE $0, F13, F6
+ede6bd7e| plan9 FCMGT F29, F23, F13
+13e6ae2e| plan9 VFCMGT V14.S2, V16.S2, V19.S2
+4cc9e05e| plan9 FCMGT $0, F10, F12
+41cba04e| plan9 VFCMGT $0, V26.S4, V1.S4
+96d8e07e| plan9 FCMLE $0, F4, F22
+0be9a05e| plan9 FCMLT $0, F8, F11
+dfe9a04e| plan9 VFCMLT $0, V14.S4, V31.S4
+a023301e| plan9 FCMPS F16, F29
+68213e1e| plan9 FCMPS $(0.0), F11
+20236d1e| plan9 FCMPD F13, F25
+68216b1e| plan9 FCMPD $(0.0), F11
+3023351e| plan9 FCMPES F21, F25
+78203e1e| plan9 FCMPES $(0.0), F3
+b022721e| plan9 FCMPED F18, F21
+f8226f1e| plan9 FCMPED $(0.0), F23
+b54e271e| plan9 FCSELS MI, F21, F7, F21
+319f611e| plan9 FCSELD LS, F25, F1, F17
+2142e21e| plan9 FCVTHS F17, F1
+cfc3e21e| plan9 FCVTHD F30, F15
+01c1231e| plan9 FCVTSH F8, F1
+4fc0221e| plan9 FCVTSD F2, F15
+f9c0631e| plan9 FCVTDH F7, F25
+2b43621e| plan9 FCVTDS F25, F11
+f1c8615e| plan9 FCVTAS F7, F17
+ea01241e| plan9 FCVTASW F15, R10
+0c02249e| plan9 FCVTAS F16, R12
+e702641e| plan9 FCVTASW F23, R7
+f501649e| plan9 FCVTAS F15, R21
+45ca217e| plan9 FCVTAU F18, F5
+66c9212e| plan9 VFCVTAU V11.S2, V6.S2
+b302251e| plan9 FCVTAUW F21, R19
+e102259e| plan9 FCVTAU F23, R1
+5703651e| plan9 FCVTAUW F26, R23
+2c01659e| plan9 FCVTAU F9, R12
+2c7b210e| plan9 VFCVTL V25.H4, V12.S4
+f478214e| plan9 VFCVTL2 V7.H8, V20.S4
+d1b8615e| plan9 FCVTMS F6, F17
+a2ba614e| plan9 VFCVTMS V21.D2, V2.D2
+ee01301e| plan9 FCVTMSW F15, R14
+de01309e| plan9 FCVTMS F14, R30
+8401701e| plan9 FCVTMSW F12, R4
+c502709e| plan9 FCVTMS F22, R5
+44b8617e| plan9 FCVTMU F2, F4
+5601311e| plan9 FCVTMUW F10, R22
+4602319e| plan9 FCVTMU F18, R6
+1003711e| plan9 FCVTMUW F24, R16
+e602719e| plan9 FCVTMU F23, R6
+c16b210e| plan9 VFCVTN V30.S4, V1.H4
+4d6b614e| plan9 VFCVTN2 V26.D2, V13.S4
+95ab215e| plan9 FCVTNS F28, F21
+65a9614e| plan9 VFCVTNS V11.D2, V5.D2
+8a02201e| plan9 FCVTNSW F20, R10
+bc03209e| plan9 FCVTNS F29, R28
+fc01601e| plan9 FCVTNSW F15, R28
+9800609e| plan9 FCVTNS F4, R24
+b1aa617e| plan9 FCVTNU F21, F17
+80a9216e| plan9 VFCVTNU V12.S4, V0.S4
+3201211e| plan9 FCVTNUW F9, R18
+e101219e| plan9 FCVTNU F15, R1
+ae00611e| plan9 FCVTNUW F5, R14
+9503619e| plan9 FCVTNU F28, R21
+3faae15e| plan9 FCVTPS F17, F31
+c4a8e14e| plan9 VFCVTPS V6.D2, V4.D2
+ab01281e| plan9 FCVTPSW F13, R11
+5800289e| plan9 FCVTPS F2, R24
+9b02681e| plan9 FCVTPSW F20, R27
+de03689e| plan9 FCVTPS F30, R30
+d8aaa17e| plan9 FCVTPU F22, F24
+e203291e| plan9 FCVTPUW F31, R2
+5302299e| plan9 FCVTPU F18, R19
+5302691e| plan9 FCVTPUW F18, R19
+8501699e| plan9 FCVTPU F12, R5
+93ff735f| plan9 FCVTZS $13, F28, F19
+b7fd504f| plan9 FCVTZS $48, V13.D2, V23.D2
+7ebba15e| plan9 FCVTZSSS F27, F30
+d49f181e| plan9 FCVTZS $25, F30, R20
+538d189e| plan9 FCVTZS $29, F10, R19
+7e74589e| plan9 FCVTZS $35, F3, R30
+4300381e| plan9 FCVTZSSW F2, R3
+bc03389e| plan9 FCVTZSS F29, R28
+c702781e| plan9 FCVTZSDW F22, R7
+0401789e| plan9 FCVTZSD F8, R4
+d1ff2e7f| plan9 FCVTZU $18, F30, F17
+d0fd3b2f| plan9 FCVTZU $5, V14.S2, V16.S2
+70bae17e| plan9 FCVTZUDD F19, F16
+3ef6191e| plan9 FCVTZU $3, F17, R30
+cae7199e| plan9 FCVTZU $7, F30, R10
+cffb599e| plan9 FCVTZU $2, F30, R15
+e402391e| plan9 FCVTZUSW F23, R4
+1a03399e| plan9 FCVTZUS F24, R26
+0401791e| plan9 FCVTZUDW F8, R4
+c200799e| plan9 FCVTZUD F6, R2
+ebfe346e| plan9 FDIV V20.S4, V23.S4, V11.S4
+c918371e| plan9 FDIVS F23, F6, F9
+911a7f1e| plan9 FDIVD F31, F20, F17
+a81f0c1f| plan9 FMADD F7, F12, F29, F8
+d0404a1f| plan9 FMADD F16, F10, F6, F16
+7ff6324e| plan9 FMAX V18.S4, V19.S4, V31.S4
+b84b351e| plan9 FMAXS F21, F29, F24
+d64b621e| plan9 FMAXD F2, F30, F22
+016b241e| plan9 FMAXNMS F4, F24, F1
+5b69781e| plan9 FMAXNMD F24, F10, F27
+f1c8707e| plan9 FMAXNMP V7.D2, F17
+27c5306e| plan9 VFMAXNMP V16.S4, V9.S4, V7.S4
+aef8707e| plan9 FMAXP V5.D2, F14
+53f6202e| plan9 VFMAXP V0.S2, V18.S2, V19.S2
+78fb306e| plan9 FMAXV V27.S4, F24
+5af4ec4e| plan9 FMIN V12.D2, V2.D2, V26.D2
+505a3c1e| plan9 FMINS F28, F18, F16
+4858661e| plan9 FMIND F6, F2, F8
+a9c6e04e| plan9 FMINNM V0.D2, V21.D2, V9.D2
+987b311e| plan9 FMINNMS F17, F28, F24
+95796f1e| plan9 FMINNMD F15, F12, F21
+f5cbb07e| plan9 FMINNMP V31.S2, F21
+b0f8f07e| plan9 FMINP V5.D2, F16
+8bf5a42e| plan9 VFMINP V4.S2, V12.S2, V11.S2
+87cd384e| plan9 VFMLA V24.S4, V12.S4, V7.S4
+fd50db5f| plan9 FMLS V27.D[0], F7, F29
+d1ccb44e| plan9 VFMLS V20.S4, V6.S4, V17.S4
+ebf5064f| plan9 FMOV $-0.242188, V11.S4
+49f4056f| plan9 FMOV $-9., V9.D2
+0940201e| plan9 FMOVS F0, F9
+db43601e| plan9 FMOVD F30, F27
+a901271e| plan9 FMOVS R13, F9
+3702261e| plan9 FMOVS F17, R23
+4d02679e| plan9 FMOVD R18, F13
+9d02af9e| plan9 FMOV R20, V29.D[1]
+ef03669e| plan9 FMOVD F31, R15
+7101ae9e| plan9 FMOV V11.D[1], R17
+0e103d1e| plan9 FMOVS $-0.75, F14
+1e50761e| plan9 FMOVD $-18., F30
+d2b4121f| plan9 FMSUB F13, F18, F6, F18
+0a9c4c1f| plan9 FMSUB F7, F12, F0, F10
+0d99b35f| plan9 FMULS V19.S[3], F8, F13
+a89b9b0f| plan9 FMUL V27.S[2], V29.S2, V8.S2
+75dc376e| plan9 FMUL V23.S4, V3.S4, V21.S4
+7909241e| plan9 FMULS F4, F11, F25
+d7096b1e| plan9 FMULD F11, F14, F23
+2999ab7f| plan9 FMULX V11.S[3], F9, F9
+35dd6d5e| plan9 FMULX F13, F9, F21
+c8dc284e| plan9 VFMULX V8.S4, V6.S4, V8.S4
+c043211e| plan9 FNEGS F30, F0
+4742611e| plan9 FNEGD F18, F7
+9c51251f| plan9 FNMADD F20, F5, F12, F28
+e407771f| plan9 FNMADD F1, F23, F31, F4
+fbfa3a1f| plan9 FNMSUB F30, F26, F23, F27
+bbb0691f| plan9 FNMSUB F12, F9, F5, F27
+6a8b3f1e| plan9 FNMULS F31, F27, F10
+1a8b751e| plan9 FNMULD F21, F24, F26
+57d8e15e| plan9 FRECPE F2, F23
+62dba14e| plan9 VFRECPE V27.S4, V2.S4
+81fd325e| plan9 FRECPS F18, F12, F1
+31fe224e| plan9 VFRECPS V2.S4, V17.S4, V17.S4
+ecf9e15e| plan9 FRECPX F15, F12
+c18b216e| plan9 FRINTA V30.S4, V1.S4
+0240261e| plan9 FRINTAS F0, F2
+8041661e| plan9 FRINTAD F12, F0
+c89ba12e| plan9 FRINTI V30.S2, V8.S2
+2ec2271e| plan9 FRINTIS F17, F14
+5cc0671e| plan9 FRINTID F2, F28
+3898210e| plan9 FRINTM V1.S2, V24.S2
+9843251e| plan9 FRINTMS F28, F24
+5b40651e| plan9 FRINTMD F2, F27
+2189614e| plan9 FRINTN V9.D2, V1.D2
+7e42241e| plan9 FRINTNS F19, F30
+5d40641e| plan9 FRINTND F2, F29
+85c3241e| plan9 FRINTPS F28, F5
+46c2641e| plan9 FRINTPD F18, F6
+c39b216e| plan9 FRINTX V30.S4, V3.S4
+a243271e| plan9 FRINTXS F29, F2
+1d41671e| plan9 FRINTXD F8, F29
+5499e14e| plan9 FRINTZ V10.D2, V20.D2
+92c2251e| plan9 FRINTZS F20, F18
+75c2651e| plan9 FRINTZD F19, F21
+ddd9e17e| plan9 FRSQRTE F14, F29
+60fff85e| plan9 FRSQRTS F24, F27, F0
+dafffb4e| plan9 VFRSQRTS V27.D2, V30.D2, V26.D2
+1ff9a12e| plan9 FSQRT V8.S2, V31.S2
+2dc3211e| plan9 FSQRTS F25, F13
+72c0611e| plan9 FSQRTD F3, F18
+7d3a3e1e| plan9 FSUBS F30, F19, F29
+3f38771e| plan9 FSUBD F23, F1, F31
+185e016e| plan9 VMOV V16.B[11], V24.B[0]
+911d0d4e| plan9 VMOV R12, V17.B[6]
+2877400c| plan9 VLD1 (R25), [V8.H4]
+8ea8404c| plan9 VLD1 (R4), [V14.S4, V15.S4]
+0f62404c| plan9 VLD1 (R16), [V15.B16, V16.B16, V17.B16]
+0f27400c| plan9 VLD1 (R24), [V15.H4, V16.H4, V17.H4, V18.H4]
+4c75df0c| plan9 VLD1.P 8(R10), [V12.H4]
+2f7bd04c| plan9 VLD1.P (R25)(R16), [V15.S4]
+eaaadf0c| plan9 VLD1.P 16(R23), [V10.S2, V11.S2]
+eca7cc4c| plan9 VLD1.P (RSP)(R12), [V12.H8, V13.H8]
+cd60df4c| plan9 VLD1.P 48(R6), [V13.B16, V14.B16, V15.B16]
+9163df0c| plan9 VLD1.P 24(R28), [V17.B8, V18.B8, V19.B8]
+152ddf4c| plan9 VLD1.P 64(R8), [V21.D2, V22.D2, V23.D2, V24.D2]
+0725c04c| plan9 VLD1.P (R8)(R0), [V7.H8, V8.H8, V9.H8, V10.H8]
+7c04404d| plan9 LD1 (R3), [V28.B][9]
+6d49404d| plan9 LD1 (R11), [V13.H][5]
+9e81400d| plan9 LD1 (R12), [V30.S][0]
+d384404d| plan9 LD1 (R6), [V19.D][1]
+b20ddf4d| plan9 LD1.P 1(R13), [V18.B][11]
+f114cd4d| plan9 LD1.P (R7)(R13), [V17.B][13]
+bb92df4d| plan9 LD1.P 4(R21), [V27.S][3]
+a883d64d| plan9 LD1.P (R29)(R22), [V8.S][2]
+f584df4d| plan9 LD1.P 8(R7), [V21.D][1]
+0284c80d| plan9 LD1.P (R0)(R8), [V2.D][0]
+91c3400d| plan9 VLD1R (R28), [V17.B8]
+71c9df0d| plan9 VLD1R 4(R11), [V17.S2]
+e7c4db0d| plan9 VLD1R (R7)(R27), [V7.H4]
+b787404c| plan9 VLD2 (R29), [V23.H8, V24.H8]
+1280df0c| plan9 VLD2 16(R0), [V18.B8, V19.B8]
+2f88c10c| plan9 VLD2 (R1)(R1), [V15.S2, V16.S2]
+a01e604d| plan9 LD2 (R21), [V0.B, V1.B][15]
+eb82604d| plan9 LD2 (R23), [V11.S, V12.S][2]
+f985600d| plan9 LD2 (R15), [V25.D, V26.D][0]
+e315ff0d| plan9 LD2 2(R15), [V3.B, V4.B][5]
+1c11f24d| plan9 LD2 (R8)(R18), [V28.B, V29.B][12]
+f341ef4d| plan9 LD2 (R15)(R15), [V19.H, V20.H][4]
+5a80ff4d| plan9 LD2 8(R2), [V26.S, V27.S][2]
+d781fd0d| plan9 LD2 (R14)(R29), [V23.S, V24.S][0]
+c885ff0d| plan9 LD2 16(R14), [V8.D, V9.D][0]
+1286f34d| plan9 LD2 (R16)(R19), [V18.D, V19.D][1]
+06c2600d| plan9 VLD2R (R16), [V6.B8, V7.B8]
+95c7ff4d| plan9 VLD2R 4(R28), [V21.H8, V22.H8]
+d4c1e14d| plan9 VLD2R (R14)(R1), [V20.B16, V21.B16]
+eb4bdf4c| plan9 VLD3 48(RSP), [V11.S4, V12.S4, V13.S4]
+ce4fc24c| plan9 VLD3 (R30)(R2), [V14.D2, V15.D2, V16.D2]
+db23400d| plan9 LD3 (R30), [V27.B, V28.B, V29.B][0]
+26b3400d| plan9 LD3 (R25), [V6.S, V7.S, V8.S][1]
+37a4400d| plan9 LD3 (R1), [V23.D, V24.D, V25.D][0]
+052edf4d| plan9 LD3 3(R16), [V5.B, V6.B, V7.B][11]
+8c3ccd0d| plan9 LD3 (R4)(R13), [V12.B, V13.B, V14.B][7]
+74b0df4d| plan9 LD3 12(R3), [V20.S, V21.S, V22.S][3]
+b7b1c84d| plan9 LD3 (R13)(R8), [V23.S, V24.S, V25.S][3]
+e6a5df4d| plan9 LD3 24(R15), [V6.D, V7.D, V8.D][1]
+42a5c80d| plan9 LD3 (R10)(R8), [V2.D, V3.D, V4.D][0]
+9ceb400d| plan9 VLD3R (R28), [V28.S2, V29.S2, V30.S2]
+6aeadf4d| plan9 VLD3R 12(R19), [V10.S4, V11.S4, V12.S4]
+65ebce4d| plan9 VLD3R (R27)(R14), [V5.S4, V6.S4, V7.S4]
+ea05400c| plan9 VLD4 (R15), [V10.H4, V11.H4, V12.H4, V13.H4]
+1f03df0c| plan9 VLD4 32(R24), [V31.B8, V0.B8, V1.B8, V2.B8]
+ae09c90c| plan9 VLD4 (R13)(R9), [V14.S2, V15.S2, V16.S2, V17.S2]
+fd3a604d| plan9 LD4 (R23), [V29.B, V30.B, V31.B, V0.B][14]
+d8a0604d| plan9 LD4 (R6), [V24.S, V25.S, V26.S, V27.S][2]
+62a4604d| plan9 LD4 (R3), [V2.D, V3.D, V4.D, V5.D][1]
+712fff0d| plan9 LD4 4(R27), [V17.B, V18.B, V19.B, V20.B][3]
+aa27f40d| plan9 LD4 (R29)(R20), [V10.B, V11.B, V12.B, V13.B][1]
+be71ff4d| plan9 LD4 8(R13), [V30.H, V31.H, V0.H, V1.H][6]
+e360ee4d| plan9 LD4 (R7)(R14), [V3.H, V4.H, V5.H, V6.H][4]
+c0a0ff0d| plan9 LD4 16(R6), [V0.S, V1.S, V2.S, V3.S][0]
+d3a3e00d| plan9 LD4 (R30)(R0), [V19.S, V20.S, V21.S, V22.S][0]
+95a7ff0d| plan9 LD4 32(R28), [V21.D, V22.D, V23.D, V24.D][0]
+32a6e14d| plan9 LD4 (R17)(R1), [V18.D, V19.D, V20.D, V21.D][1]
+56e0604d| plan9 VLD4R (R2), [V22.B16, V23.B16, V24.B16, V25.B16]
+dce7ff0d| plan9 VLD4R 8(R30), [V28.H4, V29.H4, V30.H4, V31.H4]
+14e8ef0d| plan9 VLD4R (R0)(R15), [V20.S2, V21.S2, V22.S2, V23.S2]
+7776732c| plan9 LDNP -104(R19), F29, F23
+23dd746c| plan9 LDNP -184(R9), F23, F3
+383e48ac| plan9 LDNP 256(R17), V15, V24
+0d10c12c| plan9 LDP.P 8(R0), (F13, F4)
+fe3ae66c| plan9 LDP.P -416(R23), (F30, F14)
+f627f9ac| plan9 LDP.P -224(RSP), (V22, V9)
+918cd82d| plan9 LDP.W 196(R4), (F17, F3)
+986be46d| plan9 LDP.W -448(R28), (F24, F26)
+ebd8f8ad| plan9 LDP.W -240(R7), (V11, V22)
+3c905c2d| plan9 LDP 228(R1), (F28, F4)
+5887536d| plan9 LDP 312(R26), (F24, F1)
+08957cad| plan9 LDP -112(R8), (V8, V5)
+c5e5543c| plan9 MOVD.P -178(R14), F5
+4ff5417c| plan9 MOVD.P 31(R10), F15
+72e54bbc| plan9 MOVD.P 190(R11), F18
+16b55dfc| plan9 MOVD.P -37(R8), F22
+9e24db3c| plan9 MOVD.P -78(R4), V30
+d20c503c| plan9 MOVD.W -256(R6), F18
+1f1c4d7c| plan9 MOVD.W 209(R0), F31
+2fbf4dbc| plan9 MOVD.W 219(R25), F15
+a06c59fc| plan9 MOVD.W -106(R5), F0
+886ddd3c| plan9 MOVD.W -42(R12), V8
+58f64e3d| plan9 MOVD 957(R18), F24
+f5c3547d| plan9 MOVD 2656(RSP), F21
+8e8a7bbd| plan9 MOVD 15240(R20), F14
+8e3c7afd| plan9 MOVD 29816(R4), F14
+f2aeff3d| plan9 MOVD 65200(R23), V18
+1d78793c| plan9 MOVD R25<<1(R0), F29
+b8f15d3c| plan9 LDUR -33(R13), F24
+95635c7c| plan9 LDUR -58(R28), F21
+27d046bc| plan9 LDUR 109(R1), F7
+21624efc| plan9 LDUR 230(R17), F1
+6dd2d83c| plan9 LDUR -115(R19), V13
+dc09be6f| plan9 VMLA V30.S[3], V14.S4, V28.S4
+eb97af4e| plan9 VMLA V15.S4, V31.S4, V11.S4
+0495722e| plan9 VMLS V18.H4, V8.H4, V4.H4
+21070a5e| plan9 VMOV V25.H[2], F1
+92471b6e| plan9 VMOV V28.B[8], V18.B[13]
+7a1e134e| plan9 VMOV R19, V26.B[9]
+761fa30e| plan9 VORR V3.B8, V27.B8, V22.B8
+f23d070e| plan9 UMOVW V15.B[3], R18
+a5e6064f| plan9 VMOVI $213, V5.B16
+63c5064f| plan9 VMOVI $(203<<136), V3.S4
+bca7014f| plan9 VMOVI $(61<<8), V28.H8
+95e4040f| plan9 VMOVI $132, V21.B8
+fce4072f| plan9 MOVI $-1099494850561, F28
+24e6036f| plan9 VMOVI $72057589742960895, V4.D2
+429d6a4e| plan9 VMUL V10.H8, V10.H8, V2.H8
+e558202e| plan9 VMVN V7.B8, V5.B8
+fe65012f| plan9 VMVNI $(47<<24), V30.S2
+2b16046f| plan9 VBIC $145, V11.S4
+7756016f| plan9 VBIC $(51<<16), V23.S4
+e159202e| plan9 VMVN V15.B8, V1.B8
+da1cf14e| plan9 VORN V17.B16, V6.B16, V26.B16
+ca04014f| plan9 VMOVI $38, V10.S4
+14a6020f| plan9 VMOVI $(80<<8), V20.H4
+2f1fbf0e| plan9 VORR V31.B8, V25.B8, V15.B8
+74e2f20e| plan9 VPMULL V18.D1, V19.D1, V20.Q1
+2740262e| plan9 VRADDHN V6.H8, V1.H8, V7.B8
+17412e6e| plan9 VRADDHN2 V14.H8, V8.H8, V23.B16
+da59602e| plan9 VRBIT V14.B8, V26.B8
+230a604e| plan9 VREV64 V17.H8, V3.H8
+178d210f| plan9 VRSHRN $31, V8.D2, V23.S2
+6b8d2c4f| plan9 VRSHRN2 $20, V11.D2, V11.S4
+b57c2a0e| plan9 VSABA V10.B8, V5.B8, V21.B8
+71533d0e| plan9 VSABAL V29.B8, V27.B8, V17.H8
+1c50774e| plan9 VSABAL2 V23.H8, V0.H8, V28.S4
+1974be4e| plan9 VSABD V30.S4, V0.S4, V25.S4
+6b71ad0e| plan9 VSABDL V13.S2, V11.S2, V11.D2
+5270324e| plan9 VSABDL2 V18.B16, V2.B16, V18.H8
+366b200e| plan9 VSADALP V25.B8, V22.H4
+1802680e| plan9 VSADDL V8.H4, V16.H4, V24.S4
+022b604e| plan9 VSADDLP V24.H8, V2.S4
+413ab04e| plan9 SADDLV V18.S4, F1
+4013750e| plan9 VSADDW V21.H4, V26.S4, V0.S4
+4412744e| plan9 VSADDW2 V20.H8, V18.S4, V4.S4
+2ee6255f| plan9 SCVTF $27, F17, F14
+dce75f4f| plan9 SCVTF $33, V30.D2, V28.D2
+5bdb615e| plan9 SCVTFDD F26, F27
+3ad9210e| plan9 SCVTF V9.S2, V26.S2
+1ceb421e| plan9 SCVTF $6, R24, F28
+9dde029e| plan9 SCVTF $9, R20, F29
+57d1429e| plan9 SCVTF $12, R10, F23
+d600221e| plan9 SCVTFWS R6, F22
+c503621e| plan9 SCVTFWD R30, F5
+3303229e| plan9 SCVTFS R25, F19
+0003629e| plan9 SCVTFD R24, F0
+6f01075e| plan9 SHA1C V7.S4, F11, V15
+9308285e| plan9 SHA1H F4, F19
+b420105e| plan9 SHA1M V16.S4, F5, V20
+f4131f5e| plan9 SHA1P V31.S4, F31, V20
+dc311f5e| plan9 VSHA1SU0 V31.S4, V14.S4, V28.S4
+bb1a285e| plan9 VSHA1SU1 V21.S4, V27.S4
+2753075e| plan9 SHA256H2 V7.S4, V25, V7
+3141065e| plan9 SHA256H V6.S4, V9, V17
+172b285e| plan9 VSHA256SU0 V24.S4, V23.S4
+bb621b5e| plan9 VSHA256SU1 V27.S4, V21.S4, V27.S4
+7005644e| plan9 VSHADD V4.H8, V11.H8, V16.H8
+2d870e0f| plan9 VSHRN $2, V25.H8, V13.B8
+ac86024f| plan9 VMOVI $85, V12.H8
+1c26a50e| plan9 VSHSUB V5.S2, V16.S2, V28.S2
+db576b6f| plan9 VSLI $43, V30.D2, V27.D2
+c3652c4e| plan9 VSMAX V12.B16, V14.B16, V3.B16
+b5a7ab0e| plan9 VSMAXP V11.S2, V29.S2, V21.S2
+f1aeb34e| plan9 VSMINP V19.S4, V23.S4, V17.S4
+87a8b14e| plan9 SMINV V4.S4, F7
+1e21bc4f| plan9 VSMLAL2 V28.S[1], V8.S4, V30.D2
+50a33a0e| plan9 VSMLSL V26.B8, V26.B8, V16.H8
+4e2d1a0e| plan9 SMOVW V10.H[6], R14
+9ba9b30f| plan9 VSMULL V19.S[3], V12.S2, V27.D2
+417a205e| plan9 SQABS F18, F1
+9f78a04e| plan9 VSQABS V4.S4, V31.S4
+580d2e5e| plan9 SQADD F14, F10, F24
+3d30764f| plan9 VSQDMLAL2 V6.H[3], V1.H8, V29.S4
+9591b25e| plan9 SQDMLAL F18, F12, F21
+0d92670e| plan9 VSQDMLAL V7.H4, V16.H4, V13.S4
+90b1765e| plan9 SQDMLSL F22, F12, F16
+83c2ad5f| plan9 SQDMULH V13.S[1], F20, F3
+bbb7aa5e| plan9 SQDMULH F10, F29, F27
+c8b99a5f| plan9 SQDMULL V26.S[2], F14, F8
+75b3920f| plan9 VSQDMULL V18.S[0], V27.S2, V21.D2
+86d1b75e| plan9 SQDMULL F23, F12, F6
+edd06f4e| plan9 VSQDMULL2 V15.H8, V7.H8, V13.S4
+0f7ae07e| plan9 SQNEG F16, F15
+e87b602e| plan9 VSQNEG V31.H4, V8.H4
+ecb5a92e| plan9 VSQRDMULH V9.S2, V15.S2, V12.S2
+d75fba5e| plan9 SQRSHL F26, F30, F23
+f75f324e| plan9 VSQRSHL V18.B16, V31.B16, V23.B16
+af9c114f| plan9 VSQRSHRN2 $15, V5.S4, V15.H8
+318d2f6f| plan9 VSQRSHRUN2 $17, V9.D2, V17.S4
+b3757c5f| plan9 SQSHL $60, F13, F19
+0c776f4f| plan9 VSQSHL $47, V24.D2, V12.D2
+d84c2a5e| plan9 SQSHL F10, F6, F24
+ae4e704e| plan9 VSQSHL V16.H8, V21.H8, V14.H8
+b566727f| plan9 SQSHLU $50, F21, F21
+4566596f| plan9 VSQSHLU $25, V18.D2, V5.D2
+d595140f| plan9 VSQSHRN $12, V14.S4, V21.H4
+00940b4f| plan9 VSQSHRN2 $5, V0.H8, V0.B16
+5384352f| plan9 VSQSHRUN $11, V2.D2, V19.S2
+1a2e3d5e| plan9 SQSUB F29, F16, F26
+b02e6b4e| plan9 VSQSUB V11.H8, V21.H8, V16.H8
+1249a15e| plan9 SQXTN F8, F18
+eb49610e| plan9 VSQXTN V15.S4, V11.H4
+cb4a614e| plan9 VSQXTN2 V22.S4, V11.H8
+102b217e| plan9 SQXTUN F24, F16
+492a212e| plan9 VSQXTUN V18.H8, V9.B8
+112a616e| plan9 VSQXTUN2 V16.S4, V17.H8
+6c16ae4e| plan9 VSRHADD V14.S4, V19.S4, V12.S4
+5946467f| plan9 SRI $58, F18, F25
+21460a2f| plan9 VSRI $6, V17.B8, V1.B8
+9f56b10e| plan9 VSRSHL V17.S2, V20.S2, V31.S2
+e724635f| plan9 SRSHR $29, F7, F7
+e8266b4f| plan9 VSRSHR $21, V23.D2, V8.D2
+2b37180f| plan9 VSRSRA $8, V25.H4, V11.H4
+1644f95e| plan9 SSHL F25, F0, F22
+3644fc4e| plan9 VSSHL V28.D2, V1.D2, V22.D2
+d9a61f4f| plan9 VSSHLL2 $15, V22.H8, V25.S4
+9b075e5f| plan9 SSHR $34, F28, F27
+2c044c4f| plan9 VSSHR $52, V1.D2, V12.D2
+d915324f| plan9 VSSRA $14, V14.S4, V25.S4
+de21260e| plan9 VSSUBL V6.B8, V14.B8, V30.H8
+c720254e| plan9 VSSUBL2 V5.B16, V6.B16, V7.H8
+9d33b90e| plan9 VSSUBW V25.S2, V28.D2, V29.D2
+7e71000c| plan9 VST1 (R11), [V30.B8]
+cca6000c| plan9 VST1 (R22), [V12.H4, V13.H4]
+5467000c| plan9 VST1 (R26), [V20.H4, V21.H4, V22.H4]
+cc28004c| plan9 VST1 (R6), [V12.S4, V13.S4, V14.S4, V15.S4]
+9e7e9f4c| plan9 VST1 16(R20), [V30.D2]
+4b769d0c| plan9 VST1 (R18)(R29), [V11.H4]
+adaa9f0c| plan9 VST1 16(R21), [V13.S2, V14.S2]
+bca7844c| plan9 VST1 (R29)(R4), [V28.H8, V29.H8]
+b5659f0c| plan9 VST1 24(R13), [V21.H4, V22.H4, V23.H4]
+e669874c| plan9 VST1 (R15)(R7), [V6.S4, V7.S4, V8.S4]
+9b2a9f0c| plan9 VST1 32(R20), [V27.S2, V28.S2, V29.S2, V30.S2]
+14278b0c| plan9 VST1 (R24)(R11), [V20.H4, V21.H4, V22.H4, V23.H4]
+d002004d| plan9 ST1 (R22), [V16.B][8]
+9780004d| plan9 ST1 (R4), [V23.S][2]
+7787004d| plan9 ST1 (R27), [V23.D][1]
+850d9f0d| plan9 ST1 1(R12), [V5.B][3]
+7b1f8f0d| plan9 ST1 (R27)(R15), [V27.B][7]
+7a5a9f4d| plan9 ST1 2(R19), [V26.H][7]
+e14b9e4d| plan9 ST1 (RSP)(R30), [V1.H][5]
+dd819f4d| plan9 ST1 4(R14), [V29.S][2]
+a281910d| plan9 ST1 (R13)(R17), [V2.S][0]
+b2849f0d| plan9 ST1 8(R5), [V18.D][0]
+c484964d| plan9 ST1 (R6)(R22), [V4.D][1]
+f686004c| plan9 VST2 (R23), [V22.H8, V23.H8]
+2e869f0c| plan9 VST2 16(R17), [V14.H4, V15.H4]
+d200200d| plan9 ST2 (R6), [V18.B, V19.B][0]
+ab58200d| plan9 ST2 (R5), [V11.H, V12.H][3]
+c491204d| plan9 ST2 (R14), [V4.S, V5.S][3]
+5a85204d| plan9 ST2 (R10), [V26.D, V27.D][1]
+f217bf0d| plan9 ST2 2(RSP), [V18.B, V19.B][5]
+2b0ea04d| plan9 ST2 (R17)(R0), [V11.B, V12.B][11]
+4042bf0d| plan9 ST2 4(R18), [V0.H, V1.H][0]
+9342af4d| plan9 ST2 (R20)(R15), [V19.H, V20.H][4]
+9b91bf4d| plan9 ST2 8(R12), [V27.S, V28.S][3]
+7480a10d| plan9 ST2 (R3)(R1), [V20.S, V21.S][0]
+c884bf0d| plan9 ST2 16(R6), [V8.D, V9.D][0]
+ae86ac4d| plan9 ST2 (R21)(R12), [V14.D, V15.D][1]
+614d004c| plan9 VST3 (R11), [V1.D2, V2.D2, V3.D2]
+324b9f4c| plan9 VST3 48(R25), [V18.S4, V19.S4, V20.S4]
+7340870c| plan9 VST3 (R3)(R7), [V19.B8, V20.B8, V21.B8]
+ac24004d| plan9 ST3 (R5), [V12.B, V13.B, V14.B][9]
+a161004d| plan9 ST3 (R13), [V1.H, V2.H, V3.H][4]
+09b1004d| plan9 ST3 (R8), [V9.S, V10.S, V11.S][3]
+78a7004d| plan9 ST3 (R27), [V24.D, V25.D, V26.D][1]
+4f349f0d| plan9 ST3 3(R2), [V15.B, V16.B, V17.B][5]
+643d840d| plan9 ST3 (R11)(R4), [V4.B, V5.B, V6.B][7]
+48699f0d| plan9 ST3 6(R10), [V8.H, V9.H, V10.H][1]
+85b19f4d| plan9 ST3 12(R12), [V5.S, V6.S, V7.S][3]
+60a18a0d| plan9 ST3 (R11)(R10), [V0.S, V1.S, V2.S][0]
+69a49f0d| plan9 ST3 24(R3), [V9.D, V10.D, V11.D][0]
+ada7814d| plan9 ST3 (R29)(R1), [V13.D, V14.D, V15.D][1]
+760c004c| plan9 VST4 (R3), [V22.D2, V23.D2, V24.D2, V25.D2]
+ee0d9f4c| plan9 VST4 64(R15), [V14.D2, V15.D2, V16.D2, V17.D2]
+7800970c| plan9 VST4 (R3)(R23), [V24.B8, V25.B8, V26.B8, V27.B8]
+a221200d| plan9 ST4 (R13), [V2.B, V3.B, V4.B, V5.B][0]
+9a69204d| plan9 ST4 (R12), [V26.H, V27.H, V28.H, V29.H][5]
+02a1204d| plan9 ST4 (R8), [V2.S, V3.S, V4.S, V5.S][2]
+3fa6200d| plan9 ST4 (R17), [V31.D, V0.D, V1.D, V2.D][0]
+943abf0d| plan9 ST4 4(R20), [V20.B, V21.B, V22.B, V23.B][6]
+bf26a60d| plan9 ST4 (R21)(R6), [V31.B, V0.B, V1.B, V2.B][1]
+55b3bf4d| plan9 ST4 16(R26), [V21.S, V22.S, V23.S, V24.S][3]
+dda1b04d| plan9 ST4 (R14)(R16), [V29.S, V30.S, V31.S, V0.S][2]
+6aa5bf0d| plan9 ST4 32(R11), [V10.D, V11.D, V12.D, V13.D][0]
+e7a7ac0d| plan9 ST4 (RSP)(R12), [V7.D, V8.D, V9.D, V10.D][0]
+f9c9202c| plan9 STNP -252(R15), F18, F25
+18b8316c| plan9 STNP -232(R0), F14, F24
+409c1cac| plan9 STNP 912(R2), V7, V0
+73f0812c| plan9 STP.P (F19, F28), 12(R3)
+28d0826c| plan9 STP.P (F8, F20), 40(R1)
+9bf5bfac| plan9 STP.P (V27, V29), -16(R12)
+885ead2d| plan9 STP.W (F8, F23), -152(R20)
+b0de926d| plan9 STP.W (F16, F23), 296(R21)
+713387ad| plan9 STP.W (V17, V12), 224(R27)
+52130a2d| plan9 STP (F18, F4), 80(R26)
+b63a236d| plan9 STP (F22, F14), -464(R21)
+6d5424ad| plan9 STP (V13, V21), -896(R3)
+afb60f3c| plan9 MOVD.P F15, 251(R21)
+81e7077c| plan9 MOVD.P F1, 126(R28)
+203713bc| plan9 MOVD.P F0, -205(R25)
+60c61ffc| plan9 MOVD.P F0, -4(R19)
+d256813c| plan9 MOVD.P V18, 21(R22)
+ffce083c| plan9 MOVD.W F31, 140(R23)
+6d3d017c| plan9 MOVD.W F13, 19(R11)
+52ed01bc| plan9 MOVD.W F18, 30(R10)
+fafd11fc| plan9 MOVD.W F26, -225(R15)
+663e9b3c| plan9 MOVD.W V6, -77(R19)
+7d0c393d| plan9 MOVD F29, 3651(R3)
+8f50067d| plan9 MOVD F15, 808(R4)
+94680dbd| plan9 MOVD F20, 3432(R4)
+b7673bfd| plan9 MOVD F23, 30408(R29)
+fed3a63d| plan9 MOVD V30, 39744(RSP)
+8a6a243c| plan9 MOVD F10, R4(R20)
+c768a93c| plan9 MOVD V7, R9(R6)
+a7b00a3c| plan9 MOVD F7, 171(R5)
+40e3107c| plan9 MOVD F0, -242(R26)
+18911fbc| plan9 MOVD F24, -7(R8)
+fcc007fc| plan9 MOVD F28, 124(R7)
+db12893c| plan9 MOVD V27, 145(R22)
+1686716e| plan9 VSUB V17.H8, V16.H8, V22.H8
+5362320e| plan9 VSUBHN V18.H8, V18.H8, V19.B8
+6163bf4e| plan9 VSUBHN2 V31.D2, V27.D2, V1.S4
+a73be05e| plan9 SUQADD F29, F7
+21a4100f| plan9 VSXTL V1.H4, V1.S4
+8b23164e| plan9 VTBL V22.B16, [V28.B16, V29.B16], V11.B16
+3642120e| plan9 VTBL V18.B8, [V17.B16, V18.B16, V19.B16], V22.B8
+cf611f0e| plan9 VTBL V31.B8, [V14.B16, V15.B16, V16.B16, V17.B16], V15.B8
+0b020e4e| plan9 VTBL V14.B16, [V16.B16], V11.B16
+9830014e| plan9 VTBX V1.B16, [V4.B16, V5.B16], V24.B16
+1452044e| plan9 VTBX V4.B16, [V16.B16, V17.B16, V18.B16], V20.B16
+b4711a0e| plan9 VTBX V26.B8, [V13.B16, V14.B16, V15.B16, V16.B16], V20.B8
+f911140e| plan9 VTBX V20.B8, [V15.B16], V25.B8
+9f28500e| plan9 VTRN1 V16.H4, V4.H4, V31.H4
+2e69c64e| plan9 VTRN2 V6.D2, V9.D2, V14.D2
+c752756e| plan9 VUABAL2 V21.H8, V22.H8, V7.S4
+8675696e| plan9 VUABD V9.H8, V12.H8, V6.H8
+a973ab6e| plan9 VUABDL2 V11.S4, V29.S4, V9.D2
+fa006c2e| plan9 VUADDL V12.H4, V7.H4, V26.S4
+da00236e| plan9 VUADDL2 V3.B16, V6.B16, V26.H8
+ab3a306e| plan9 UADDLV V21.B16, F11
+a312746e| plan9 VUADDW2 V20.H8, V21.S4, V3.S4
+cee55e7f| plan9 UCVTF $34, F14, F14
+8edb617e| plan9 UCVTFDD F28, F14
+ab8f431e| plan9 UCVTF $29, R29, F11
+68b3039e| plan9 UCVTF $20, R27, F8
+7686439e| plan9 UCVTF $31, R19, F22
+2a03231e| plan9 UCVTFWS R25, F10
+9f01631e| plan9 UCVTFWD R12, F31
+a800239e| plan9 UCVTFS R5, F8
+0302639e| plan9 UCVTFD R16, F3
+df65a42e| plan9 VUMAX V4.S2, V14.S2, V31.S2
+29ab702e| plan9 UMAXV V25.H4, F9
+6f6e2e6e| plan9 VUMIN V14.B16, V19.B16, V15.B16
+fdada32e| plan9 VUMINP V3.S2, V15.S2, V29.S2
+07289a6f| plan9 VUMLAL2 V26.S[2], V0.S4, V7.D2
+aa80ad2e| plan9 VUMLAL V13.S2, V5.S2, V10.D2
+d66b462f| plan9 VUMLSL V6.H[4], V30.H4, V22.S4
+12a3b62e| plan9 VUMLSL V22.S2, V24.S2, V18.D2
+583e0d0e| plan9 UMOVW V18.B[6], R24
+20c3b52e| plan9 VUMULL V21.S2, V25.S2, V0.D2
+20c2616e| plan9 VUMULL2 V1.H8, V17.H8, V0.S4
+2f0f6d7e| plan9 UQADD F13, F25, F15
+a60c272e| plan9 VUQADD V7.B8, V5.B8, V6.B8
+5b5da27e| plan9 UQRSHL F2, F10, F27
+195c786e| plan9 VUQRSHL V24.H8, V0.H8, V25.H8
+209e282f| plan9 VUQRSHRN $24, V17.D2, V0.S2
+e89e3b6f| plan9 VUQRSHRN2 $5, V23.D2, V8.S4
+4f75147f| plan9 UQSHL $4, F10, F15
+d2767d6f| plan9 VUQSHL $61, V22.D2, V18.D2
+bb4cfe7e| plan9 UQSHL F30, F5, F27
+794ea42e| plan9 VUQSHL V4.S2, V19.S2, V25.S2
+51960b7f| plan9 UQSHRN $5, F18, F17
+642ce77e| plan9 UQSUB F7, F3, F4
+6149617e| plan9 UQXTN F11, F1
+4e48a12e| plan9 VUQXTN V2.D2, V14.S2
+9cc8a14e| plan9 VURECPE V4.S4, V28.S4
+2f15a52e| plan9 VURHADD V5.S2, V9.S2, V15.S2
+5757fb7e| plan9 URSHL F27, F26, F23
+2756706e| plan9 VURSHL V16.H8, V17.H8, V7.H8
+a424487f| plan9 URSHR $56, F5, F4
+b926796f| plan9 VURSHR $7, V21.D2, V25.D2
+1336076f| plan9 VBIC $(240<<8), V19.S4
+e347e06e| plan9 VUSHL V0.D2, V31.D2, V3.D2
+f7a5272f| plan9 VUSHLL $7, V15.S2, V23.D2
+9ba63d6f| plan9 VUSHLL2 $29, V20.S4, V27.D2
+d405737f| plan9 USHR $13, F14, F20
+3a05116f| plan9 VUSHR $15, V9.H8, V26.H8
+1d39607e| plan9 USQADD F8, F29
+0e39e06e| plan9 VUSQADD V8.D2, V14.D2
+8022b02e| plan9 VUSUBL V16.S2, V20.S2, V0.D2
+9a20786e| plan9 VUSUBL2 V24.H8, V4.H8, V26.S4
+df33692e| plan9 VUSUBW V9.H4, V30.S4, V31.S4
+92a5102f| plan9 VUXTL V12.H4, V18.S4
+0e19464e| plan9 VUZP1 V6.H8, V8.H8, V14.H8
+7629610e| plan9 VXTN V11.S4, V22.H4
+7338504e| plan9 VZIP1 V16.H8, V3.H8, V19.H8
+357bd64e| plan9 VZIP2 V22.D2, V25.D2, V21.D2
+63020f1a| plan9 ADCW R15, R19, R3
+1f03159a| plan9 ADC R21, R24, ZR
+d300103a| plan9 ADCSW R16, R6, R19
+1b0010ba| plan9 ADCS R16, R0, R27
+dd133f0b| plan9 ADDW ZR.UXTB<<4, R30, R29
+89c42f8b| plan9 ADD R15.SXTW<<1, R4, R9
+4e242a11| plan9 ADDW $2697, R2, R14
+e1c12f2b| plan9 ADDSW R15.SXTW, R15, R1
+733421ab| plan9 ADDS R1.UXTH<<5, R3, R19
+0ccc5aab| plan9 ADDS R26>>51, R0, R12
+2e122612| plan9 ANDW $2080374784, R17, R14
+5e4c2992| plan9 AND $-36020000934328321, R2, R30
+2805410a| plan9 ANDW R1>>1, R9, R8
+ede1938a| plan9 AND R19->56, R15, R13
+e7c10f72| plan9 ANDSW $33686018, R15, R7
+23ed55f2| plan9 ANDS $-8246337208321, R9, R3
+e6935bea| plan9 ANDS R27>>36, ZR, R6
+0e2ac61a| plan9 ASRW R6, R16, R14
+802ad59a| plan9 ASR R21, R20, R0
+7cfd7793| plan9 ASR $55, R11, R28
+f028cd1a| plan9 ASRW R13, R7, R16
+132bd29a| plan9 ASR R18, R24, R19
+c2560e54| plan9 BCS 29366(PC)
+83516b17| plan9 JMP -9743997(PC)
+7a571233| plan9 BFXILW $18, R27, $4, R26
+71b858b3| plan9 BFXIL $24, R3, $23, R17
+c3964bb3| plan9 BFXIL $11, R22, $27, R3
+eb561233| plan9 BFXILW $18, R23, $4, R11
+063f5db3| plan9 BFI $35, R24, $16, R6
+0a337a0a| plan9 BICW R26>>12, R24, R10
+2a71e28a| plan9 BIC R2@>28, R9, R10
+c168bf6a| plan9 BICSW ZR->26, R6, R1
+d8bb3cea| plan9 BICS R28<<46, R30, R24
+82e81795| plan9 CALL 18344066(PC)
+40033fd6| plan9 CALL (R26)
+c0011fd6| plan9 JMP (R14)
+00dd31d4| plan9 BRK $36584
+a6cb563a| plan9 CCMNW GT, R29, $22, $6
+87db55ba| plan9 CCMN LE, R28, $21, $7
+a042493a| plan9 CCMNW MI, R21, R9, $0
+6a0040ba| plan9 CCMN EQ, R3, R0, $10
+46bb5c7a| plan9 CCMPW LT, R26, $28, $6
+c72942fa| plan9 CCMP HS, R14, $2, $7
+cda1427a| plan9 CCMPW GE, R14, R2, $13
+a1314dfa| plan9 CCMP LO, R13, R13, $1
+8706931a| plan9 CSINCW EQ, R20, R19, R7
+3ae69a9a| plan9 CSINC AL, R17, R26, R26
+9e51945a| plan9 CSINVW PL, R12, R20, R30
+d5e386da| plan9 CSINV AL, R30, R6, R21
+5f3503d5| plan9 CLREX $5
+e515c05a| plan9 CLSW R15, R5
+a815c0da| plan9 CLS R13, R8
+4a12c05a| plan9 CLZW R18, R10
+3c10c0da| plan9 CLZ R1, R28
+ff70252b| plan9 CMNW R5.UXTX<<4, R7
+9fa133ab| plan9 CMN R19.SXTH, R12
+3f3a822b| plan9 CMNW R2->14, R17
+df1d44ab| plan9 CMN R4>>7, R14
+3f95386b| plan9 CMPW R24.SXTB<<5, R9
+9f653feb| plan9 CMP ZR.UXTX<<1, R12
+1626915a| plan9 CSNEGW HS, R16, R17, R22
+b4d587da| plan9 CSNEG LE, R13, R7, R20
+9841d41a| plan9 CRC32B R20, R12, R24
+ec45d01a| plan9 CRC32H R16, R15, R12
+8048ca1a| plan9 CRC32W R10, R4, R0
+d44ec19a| plan9 CRC32X R1, R22, R20
+1552d31a| plan9 CRC32CB R19, R16, R21
+4b54c71a| plan9 CRC32CH R7, R2, R11
+245ad41a| plan9 CRC32CW R20, R17, R4
+c35cc89a| plan9 CRC32CX R8, R6, R3
+14219f1a| plan9 CSELW HS, R8, ZR, R20
+9c73979a| plan9 CSEL VC, R28, R23, R28
+e7279f1a| plan9 CSETW LO, R7
+ec579f9a| plan9 CSET MI, R12
+e5f39f5a| plan9 CSINVW AL, ZR, ZR, R5
+e8639fda| plan9 CSETM VC, R8
+ea76971a| plan9 CINCW VS, R23, R10
+78a7859a| plan9 CSINC GE, R27, R5, R24
+b590845a| plan9 CSINVW LS, R5, R4, R21
+b4029eda| plan9 CSINV EQ, R21, R30, R20
+b3969b5a| plan9 CSNEGW LS, R21, R27, R19
+938591da| plan9 CSNEG HI, R12, R17, R19
+016ea8d4| plan9 DCPS1 $17264
+0275a4d4| plan9 DCPS2 $9128
+a3e9a6d4| plan9 DCPS3 $14157
+bf3903d5| plan9 DMB $9
+e003bfd6| plan9 DRPS
+9f3e03d5| plan9 DSB $14
+50b1a0ca| plan9 EON R0->44, R10, R16
+c0b02f52| plan9 EORW $1073627134, R6, R0
+4b0c1ed2| plan9 EOR $257698037820, R2, R11
+693c074a| plan9 EORW R7<<15, R3, R9
+113e1aca| plan9 EOR R26<<15, R16, R17
+e0039fd6| plan9 ERET
+fef8c693| plan9 EXTR $62, R6, R7, R30
+3f2003d5| plan9 YIELD
+3f2403d5| plan9 HINT $33
+c0425ad4| plan9 HLT $53782
+df3003d5| plan9 ISB $0
+f7fddf88| plan9 LDARW (R15), R23
+96fedfc8| plan9 LDAR (R20), R22
+11fedf08| plan9 LDARB (R16), R17
+c2fedf48| plan9 LDARH (R22), R2
+2d927f88| plan9 LDAXPW (R17), R4, R13
+198f7fc8| plan9 LDAXP (R24), R3, R25
+46ff5f88| plan9 LDAXRW (R26), R6
+81fe5fc8| plan9 LDAXR (R20), R1
+86fe5f08| plan9 LDAXRB (R20), R6
+78ff5f48| plan9 LDAXRH (R27), R24
+35864a28| plan9 LDNPW 84(R17), R1, R21
+6da05fa8| plan9 LDNP 504(R3), R8, R13
+a8f9f428| plan9 LDP.P -92(R13), (R8, R30)
+b749e3a8| plan9 LDP.P -464(R13), (R23, R18)
+bdedd929| plan9 LDP.W 204(R13), (R29, R27)
+c8e5c6a9| plan9 LDP.W 104(R14), (R8, R25)
+c0857f29| plan9 LDP -4(R14), (R0, R1)
+388a6ca9| plan9 LDP -312(R17), (R24, R2)
+086be468| plan9 LDPSW -224(R24), R26, R8
+d107d269| plan9 LDPSW 144(R30), R1, R17
+738e4e69| plan9 LDPSW 116(R19), R3, R19
+6ee55fb8| plan9 MOVWU.P -2(R11), R14
+233459f8| plan9 MOVD.P -109(R1), R3
+919f44b8| plan9 MOVWU.W 73(R28), R17
+acdd45f8| plan9 MOVD.W 93(R13), R12
+e1cd51b9| plan9 MOVWU 4556(R15), R1
+95e27bf9| plan9 MOVD 30656(R20), R21
+0c554b38| plan9 MOVBU.P 181(R8), R12
+054f5938| plan9 MOVBU.W -108(R24), R5
+1f206539| plan9 MOVBU 2376(R0), ZR
+73796a38| plan9 MOVBU R10<<1(R11), R19
+a8b74f78| plan9 MOVHU.P 251(R29), R8
+021e5e78| plan9 MOVHU.W -31(R16), R2
+ec126b79| plan9 MOVHU 5512(R23), R12
+eaf6c238| plan9 MOVBW.P 47(R23), R10
+87679838| plan9 MOVB.P -122(R28), R7
+567fdb38| plan9 MOVBW.W -73(R26), R22
+3b2e8138| plan9 MOVB.W 18(R17), R27
+7d74c039| plan9 MOVBW 29(R3), R29
+7d1f8539| plan9 MOVB 327(R27), R29
+6a7bed38| plan9 MOVBW R13<<1(R27), R10
+0f69b538| plan9 MOVB R21(R8), R15
+c796cc78| plan9 MOVHW.P 201(R22), R7
+50268e78| plan9 MOVH.P 226(R18), R16
+229ddb78| plan9 MOVHW.W -71(R9), R2
+0f4f9178| plan9 MOVH.W -236(R24), R15
+59ecc379| plan9 MOVHW 502(R2), R25
+83d49679| plan9 MOVH 2922(R4), R3
+986be878| plan9 MOVHW R8(R28), R24
+6b4693b8| plan9 MOVW.P -204(R19), R11
+cb9e81b8| plan9 MOVW.W 25(R22), R11
+280d9eb9| plan9 MOVW 7692(R9), R8
+1a68b8b8| plan9 MOVW R24(R0), R26
+35b955b8| plan9 LDTRW -165(R9), R21
+658b57f8| plan9 LDTR -136(R27), R5
+b3594038| plan9 LDTRBW 5(R13), R19
+5ac95d78| plan9 LDTRHW -36(R10), R26
+2c3ade38| plan9 LDTRSBW -29(R17), R12
+4de99038| plan9 LDTRSB -242(R10), R13
+e178c378| plan9 LDTRSHW 55(R7), R1
+a77a8778| plan9 LDTRSH 119(R21), R7
+cde982b8| plan9 LDTRSW 46(R14), R13
+04d15bb8| plan9 LDURW -67(R8), R4
+02a256f8| plan9 LDUR -150(R16), R2
+97405438| plan9 LDURBW -188(R4), R23
+99b14b78| plan9 LDURHW 187(R12), R25
+f9a1cf38| plan9 LDURSBW 250(R15), R25
+c0218c38| plan9 LDURSB 194(R14), R0
+5790d278| plan9 LDURSHW -215(R2), R23
+a3808278| plan9 LDURSH 40(R5), R3
+a9b08fb8| plan9 LDURSW 251(R5), R9
+98217f88| plan9 LDXPW (R12), R8, R24
+4d6a7fc8| plan9 LDXP (R18), R26, R13
+9c7e5f88| plan9 LDXRW (R20), R28
+0e7c5fc8| plan9 LDXR (R0), R14
+507c5f08| plan9 LDXRB (R2), R16
+ea7f5f48| plan9 LDXRH (RSP), R10
+5523dd1a| plan9 LSLW R29, R26, R21
+9721ca9a| plan9 LSL R10, R12, R23
+75665bd3| plan9 UBFIZ $37, R19, $26, R21
+0a20df1a| plan9 LSLW ZR, R0, R10
+5222c99a| plan9 LSL R9, R18, R18
+5124df1a| plan9 LSRW ZR, R2, R17
+6b26d69a| plan9 LSR R22, R19, R11
+9a7c0753| plan9 LSRW $7, R4, R26
+7bfd53d3| plan9 LSR $19, R11, R27
+5f26d91a| plan9 LSRW R25, R18, ZR
+3625d89a| plan9 LSR R24, R9, R22
+9d76001b| plan9 MADDW R0, R29, R20, R29
+822f0e9b| plan9 MADD R14, R11, R28, R2
+e8fe101b| plan9 MNEGW R16, R23, R8
+88fc099b| plan9 MNEG R9, R4, R8
+dd030011| plan9 ADDW $0, R30, R29
+db010091| plan9 ADD $0, R14, R27
+0c6db012| plan9 MOVW $2090336255, R12
+3ff5aa92| plan9 MOVD $-1470693377, ZR
+87f0f6d2| plan9 MOVD $-5223049667842932736, R7
+f3571132| plan9 ORRW $4294934559, ZR, R19
+f3bb0bb2| plan9 MOVD $-4503668347895825, R19
+f103082a| plan9 MOVW R8, R17
+ef031faa| plan9 MOVD ZR, R15
+4a6bf5f2| plan9 MOVK $(43866<<48), R10
+383b9312| plan9 MOVW $4294927910, R24
+f5fb9092| plan9 MOVD $-34784, R21
+d5b4b052| plan9 MOVW $2242248704, R21
+fdc5eed2| plan9 MOVD $8516025420380897280, R29
+c58435d5| plan9 MRS $11302, R5
+1a0f13d5| plan9 MSR R26, $6264
+52d5181b| plan9 MSUBW R24, R21, R10, R18
+c4f81d9b| plan9 MSUB R29, R30, R6, R4
+a57c1b1b| plan9 MULW R27, R5, R5
+8f7f0a9b| plan9 MUL R10, R28, R15
+e75361aa| plan9 MVN R1>>20, R7
+e0cb15cb| plan9 NEG R21<<50, R0
+ffdb49eb| plan9 CMP R9>>54, ZR
+f5031c5a| plan9 NGCW R28, R21
+e6031eda| plan9 NGC R30, R6
+e103077a| plan9 NGCSW R7, R1
+f20301fa| plan9 NGCS R1, R18
+1f2003d5| plan9 NOP
+9347722a| plan9 ORNW R18>>17, R28, R19
+0591e1aa| plan9 ORN R1@>36, R8, R5
+7ba82a32| plan9 ORRW $4290904001, R3, R27
+ae087db2| plan9 ORR $56, R5, R14
+9608472a| plan9 ORRW R7>>2, R4, R22
+c40dc5aa| plan9 ORR R5@>3, R14, R4
+9d83bcf9| plan9 PRFM 30976(R28), #0X1D
+6e9186f8| plan9 PRFUM 105(R11), #0X0E
+c001c05a| plan9 RBITW R14, R0
+4203c0da| plan9 RBIT R26, R2
+c0035fd6| plan9 RET
+9b08c05a| plan9 REVW R4, R27
+740cc0da| plan9 REV R3, R20
+0205c05a| plan9 REV16W R8, R2
+dd07c0da| plan9 REV16 R30, R29
+020bc0da| plan9 REV32 R24, R2
+780cc0da| plan9 REV R3, R24
+9b7f9513| plan9 EXTRW $31, R21, R28, R27
+5243dd93| plan9 EXTR $16, R29, R26, R18
+822eca1a| plan9 RORW R10, R20, R2
+f02ddb9a| plan9 ROR R27, R15, R16
+082ed81a| plan9 RORW R24, R16, R8
+7b2cc39a| plan9 ROR R3, R3, R27
+3b030b5a| plan9 SBCW R11, R25, R27
+f2021dda| plan9 SBC R29, R23, R18
+e600127a| plan9 SBCSW R18, R7, R6
+cf030ffa| plan9 SBCS R15, R30, R15
+3a797793| plan9 SBFIZ $9, R9, $31, R26
+4a305193| plan9 SBFIZ $47, R2, $13, R10
+a1c74493| plan9 SBFX $4, R29, $46, R1
+a00fc01a| plan9 SDIVW R0, R29, R0
+f10edd9a| plan9 SDIV R29, R23, R17
+9f2003d5| plan9 SEV
+bf2003d5| plan9 SEVL
+a52d319b| plan9 SMADDL R17, R11, R13, R5
+b4fc399b| plan9 SMNEGL R25, R5, R20
+579e369b| plan9 SMSUBL R22, R7, R18, R23
+ea7e429b| plan9 SMULH R2, R23, R10
+eb7f219b| plan9 SMULL R1, ZR, R11
+f1fe9f88| plan9 STLRW R17, (R23)
+edff9fc8| plan9 STLR R13, (RSP)
+bffe9f08| plan9 STLRB ZR, (R21)
+9cfd9f48| plan9 STLRH R28, (R12)
+41bf2688| plan9 STLXPW (R26), R15, R1, R6
+01e93cc8| plan9 STLXPW (R8), R26, R1, R28
+e0fd1f88| plan9 STLXRW R0, (R15), ZR
+12fe17c8| plan9 STLXR R18, (R16), R23
+d4fc1008| plan9 STLXRB R20, (R6), R16
+befc0048| plan9 STLXRH R30, (R5), R0
+76613728| plan9 STNPW -72(R11), R24, R22
+c7523ba8| plan9 STNP -80(R22), R20, R7
+8e3a9f28| plan9 STP.P (R14, R14), 248(R20)
+aa1fa6a8| plan9 STP.P (R10, R7), -416(R29)
+fbae8d29| plan9 STP.W (R27, R11), 108(R23)
+f63c80a9| plan9 STP.W (R22, R15), (R7)
+43d73629| plan9 STP (R3, R21), -76(R26)
+1ae01ba9| plan9 STP (R26, R24), 440(R0)
+8f650cb8| plan9 MOVW.P R15, 198(R12)
+aad503f8| plan9 MOVD.P R10, 61(R13)
+ec4d00b8| plan9 MOVW.W R12, 4(R15)
+7dbc1df8| plan9 MOVD.W R29, -37(R3)
+9b0226b9| plan9 MOVW R27, 9728(R20)
+91691af9| plan9 MOVD R17, 13520(R12)
+20840838| plan9 MOVB.P R0, 136(R1)
+060c1f38| plan9 MOVB.W R6, -16(R0)
+2b213a39| plan9 MOVB R11, 3720(R9)
+ab6b3438| plan9 MOVB R11, R20(R29)
+50e51e78| plan9 MOVH.P R16, -18(R10)
+5d5d1878| plan9 MOVH.W R29, -123(R10)
+ea862379| plan9 MOVH R10, 4546(R23)
+d5ca12b8| plan9 STTRW -212(R22), R21
+001b18f8| plan9 STTR -127(R24), R0
+290a1e38| plan9 STTRBW -32(R17), R9
+0b381078| plan9 STTRHW -253(R0), R11
+c78101b8| plan9 MOVW R7, 24(R14)
+c0b217f8| plan9 MOVD R0, -133(R22)
+f8401e38| plan9 MOVB R24, -28(R7)
+5e911a78| plan9 MOVH R30, -87(R10)
+b7622d88| plan9 STXPW (R21), R24, R23, R13
+233d37c8| plan9 STXPW (R9), R15, R3, R23
+847d0088| plan9 STXRW R4, (R12), R0
+a27d0bc8| plan9 STXR R2, (R13), R11
+f27f1e08| plan9 STXRB R18, (RSP), R30
+3a7d1848| plan9 STXRH R26, (R9), R24
+d4dc204b| plan9 SUBW R0.SXTW<<7, R6, R20
+874023cb| plan9 SUB R3.UXTW, R4, R7
+44eb4f51| plan9 SUBW $(1018<<12), R26, R4
+17b012cb| plan9 SUB R18<<44, R0, R23
+ac1e376b| plan9 SUBSW R23.UXTB<<7, R21, R12
+b0483beb| plan9 SUBS R27.UXTW<<2, R5, R16
+d1f994eb| plan9 SUBS R20->62, R14, R17
+61d513d4| plan9 SVC $40619
+591d0013| plan9 SXTBW R10, R25
+9f1f4093| plan9 SXTB R28, ZR
+773f0013| plan9 SXTHW R27, R23
+453c4093| plan9 SXTH R2, R5
+b77c4093| plan9 SXTW R5, R23
+743628d5| plan9 SYSL $13920, R20
+9f613672| plan9 TSTW $4294966279, R12
+1f8d22f2| plan9 TST $-4610630471158349821, R8
+ff6e93ea| plan9 TST R19->27, R23
+06997ed3| plan9 UBFIZ $2, R8, $39, R6
+5dd054d3| plan9 UBFX $20, R2, $33, R29
+a54273d3| plan9 UBFIZ $13, R21, $17, R5
+7d08d11a| plan9 UDIVW R17, R3, R29
+120acf9a| plan9 UDIV R15, R16, R18
+1401a89b| plan9 UMADDL R8, R0, R8, R20
+08feb29b| plan9 UMNEGL R18, R16, R8
+eeb0b99b| plan9 UMSUBL R25, R12, R7, R14
+967fdd9b| plan9 UMULH R29, R28, R22
+947eb59b| plan9 UMULL R21, R20, R20
+7e1f0053| plan9 UXTBW R27, R30
+983c0053| plan9 UXTHW R4, R24
+5f2003d5| plan9 WFE
+7f2003d5| plan9 WFI
+3f2003d5| plan9 YIELD
+02bb200e| plan9 VABS V24.B8, V2.B8
+0686ec4e| plan9 VADD V12.D2, V16.D2, V6.D2
+ea42ac0e| plan9 VADDHN V12.D2, V23.D2, V10.S2
+7d43624e| plan9 VADDHN2 V2.S4, V27.S4, V29.H8
+2cbd710e| plan9 VADDP V17.H4, V9.H4, V12.H4
+f5bab14e| plan9 ADDV V23.S4, F21
+8158284e| plan9 VAESD V4.B16, V1.B16
+ba48284e| plan9 VAESE V5.B16, V26.B16
+0c7a284e| plan9 VAESIMC V16.B16, V12.B16
+3e6a284e| plan9 VAESMC V17.B16, V30.B16
+091f384e| plan9 VAND V24.B16, V24.B16, V9.B16
+07b6046f| plan9 VBIC $(144<<8), V7.H8
+00c5006f| plan9 VMVNI $(8<<136), V0.S4
+f81e6c0e| plan9 VBIC V12.B8, V23.B8, V24.B8
+6f1ced2e| plan9 VBIF V13.B8, V3.B8, V15.B8
+e31da16e| plan9 VBIT V1.B16, V15.B16, V3.B16
+6a1d7c6e| plan9 VBSL V28.B16, V11.B16, V10.B16
+284a600e| plan9 VCLS V17.H4, V8.H4
+9a49202e| plan9 VCLZ V12.B8, V26.B8
+d78f706e| plan9 VCMEQ V16.H8, V30.H8, V23.H8
+7798e05e| plan9 CMEQ $0, F3, F23
+739a200e| plan9 VCMEQ $0, V19.B8, V19.B8
+ff3f2b4e| plan9 VCMGE V11.B16, V31.B16, V31.B16
+5337370e| plan9 VCMGT V23.B8, V26.B8, V19.B8
+3489604e| plan9 VCMGT $0, V9.H8, V20.H8
+083d782e| plan9 VCMHS V24.H4, V8.H4, V8.H4
+c899e07e| plan9 CMLE $0, F14, F8
+3498a06e| plan9 VCMLE $0, V1.S4, V20.S4
+ebaa200e| plan9 VCMLT $0, V23.B8, V11.B8
+408dfe4e| plan9 VCMTST V30.D2, V10.D2, V0.D2
+0e06085e| plan9 VMOV V16.D[0], F14
+1e0d0d0e| plan9 VDUP R8, V30.B8
+8e1d3a6e| plan9 VEOR V26.B16, V12.B16, V14.B16
+632a086e| plan9 VEXT $5, V8.B16, V19.B16, V3.B16
+97d7e57e| plan9 FABD F5, F28, F23
+6bd4a82e| plan9 VFABD V8.S2, V3.S2, V11.S2
+f7faa00e| plan9 FABS V23.S2, V23.S2
+54c2201e| plan9 FABSS F18, F20
+3ec3601e| plan9 FABSD F25, F30
+2aee317e| plan9 FACGE F17, F17, F10
+2fed392e| plan9 VFACGE V25.S2, V9.S2, V15.S2
+2befe97e| plan9 FACGT F9, F25, F11
+65eced6e| plan9 VFACGT V13.D2, V3.D2, V5.D2
+55d53c4e| plan9 FADD V28.S4, V10.S4, V21.S4
+8b283f1e| plan9 FADDS F31, F4, F11
+d828601e| plan9 FADDD F0, F6, F24
+e9d8307e| plan9 FADDP V7.S2, F9
+4084391e| plan9 FCCMPS HI, F25, F2, $0
+ef046d1e| plan9 FCCMPD EQ, F13, F7, $15
+d7a4241e| plan9 FCCMPES GE, F4, F6, $7
+dbf5601e| plan9 FCCMPED AL, F0, F14, $11
+77e7625e| plan9 FCMEQ F2, F27, F23
+2de67f4e| plan9 VFCMEQ V31.D2, V17.D2, V13.D2
+59daa05e| plan9 FCMEQ $0, F18, F25
+add9a00e| plan9 VFCMEQ $0, V13.S2, V13.S2
+dce42d7e| plan9 FCMGE F13, F6, F28
+62e6776e| plan9 VFCMGE V23.D2, V19.D2, V2.D2
+f9cae07e| plan9 FCMGE $0, F23, F25
+18e5ab7e| plan9 FCMGT F11, F8, F24
+84e7ae6e| plan9 VFCMGT V14.S4, V28.S4, V4.S4
+a0c8e05e| plan9 FCMGT $0, F5, F0
+c6cae04e| plan9 VFCMGT $0, V22.D2, V6.D2
+4fdaa07e| plan9 FCMLE $0, F18, F15
+e1d9a02e| plan9 VFCMLE $0, V15.S2, V1.S2
+1ee9a05e| plan9 FCMLT $0, F8, F30
+23eaa04e| plan9 VFCMLT $0, V17.S4, V3.S4
+6023321e| plan9 FCMPS F18, F27
+2823391e| plan9 FCMPS $(0.0), F25
+00236d1e| plan9 FCMPD F13, F24
+e820601e| plan9 FCMPD $(0.0), F7
+3022381e| plan9 FCMPES F24, F17
+f8233e1e| plan9 FCMPES $(0.0), F31
+b0206a1e| plan9 FCMPED F10, F5
+3820691e| plan9 FCMPED $(0.0), F1
+d85f271e| plan9 FCSELS PL, F30, F7, F24
+ed8f7a1e| plan9 FCSELD HI, F31, F26, F13
+0042e21e| plan9 FCVTHS F16, F0
+efc1e21e| plan9 FCVTHD F15, F15
+edc1231e| plan9 FCVTSH F15, F13
+0ac0221e| plan9 FCVTSD F0, F10
+39c3631e| plan9 FCVTDH F25, F25
+da43621e| plan9 FCVTDS F30, F26
+10cb615e| plan9 FCVTAS F24, F16
+f400241e| plan9 FCVTASW F7, R20
+2f00249e| plan9 FCVTAS F1, R15
+1d02641e| plan9 FCVTASW F16, R29
+9303649e| plan9 FCVTAS F28, R19
+02ca217e| plan9 FCVTAU F16, F2
+afc8212e| plan9 VFCVTAU V5.S2, V15.S2
+6e02251e| plan9 FCVTAUW F19, R14
+fd02259e| plan9 FCVTAU F23, R29
+8603651e| plan9 FCVTAUW F28, R6
+4001659e| plan9 FCVTAU F10, R0
+1f78210e| plan9 VFCVTL V0.H4, V31.S4
+d179214e| plan9 VFCVTL2 V14.H8, V17.S4
+fdbb615e| plan9 FCVTMS F31, F29
+9601301e| plan9 FCVTMSW F12, R22
+f403309e| plan9 FCVTMS F31, R20
+6b02701e| plan9 FCVTMSW F19, R11
+4802709e| plan9 FCVTMS F18, R8
+84ba217e| plan9 FCVTMU F20, F4
+ae01311e| plan9 FCVTMUW F13, R14
+8402319e| plan9 FCVTMU F20, R4
+7403711e| plan9 FCVTMUW F27, R20
+2a03719e| plan9 FCVTMU F25, R10
+a36b210e| plan9 VFCVTN V29.S4, V3.H4
+5c6a214e| plan9 VFCVTN2 V18.S4, V28.H8
+78a9215e| plan9 FCVTNS F11, F24
+b1ab614e| plan9 VFCVTNS V29.D2, V17.D2
+0c01201e| plan9 FCVTNSW F8, R12
+b303209e| plan9 FCVTNS F29, R19
+c401601e| plan9 FCVTNSW F14, R4
+5200609e| plan9 FCVTNS F2, R18
+c2a8617e| plan9 FCVTNU F6, F2
+daab616e| plan9 VFCVTNU V30.D2, V26.D2
+d001211e| plan9 FCVTNUW F14, R16
+0402219e| plan9 FCVTNU F16, R4
+7800611e| plan9 FCVTNUW F3, R24
+e602619e| plan9 FCVTNU F23, R6
+74aaa15e| plan9 FCVTPS F19, F20
+c801281e| plan9 FCVTPSW F14, R8
+8f02289e| plan9 FCVTPS F20, R15
+6d02681e| plan9 FCVTPSW F19, R13
+bc00689e| plan9 FCVTPS F5, R28
+43aba17e| plan9 FCVTPU F26, F3
+cda9a12e| plan9 VFCVTPU V14.S2, V13.S2
+c102291e| plan9 FCVTPUW F22, R1
+9103299e| plan9 FCVTPU F28, R17
+7602691e| plan9 FCVTPUW F19, R22
+4501699e| plan9 FCVTPU F10, R5
+976a616e| plan9 VFCVTXN2 V20.D2, V23.S4
+d5fc575f| plan9 FCVTZS $41, F6, F21
+babaa15e| plan9 FCVTZSSS F21, F26
+7aa6181e| plan9 FCVTZS $23, F19, R26
+c410189e| plan9 FCVTZS $60, F6, R4
+4db5589e| plan9 FCVTZS $19, F10, R13
+9000381e| plan9 FCVTZSSW F4, R16
+1702389e| plan9 FCVTZSS F16, R23
+8a03781e| plan9 FCVTZSDW F28, R10
+d501789e| plan9 FCVTZSD F14, R21
+eefd2d7f| plan9 FCVTZU $19, F15, F14
+4dfc3c6f| plan9 FCVTZU $4, V2.S4, V13.S4
+96bbe17e| plan9 FCVTZUDD F28, F22
+30b8e16e| plan9 FCVTZU V1.D2, V16.D2
+fdef191e| plan9 FCVTZU $5, F31, R29
+1d7b199e| plan9 FCVTZU $34, F24, R29
+b8f5591e| plan9 FCVTZU $3, F13, R24
+5080599e| plan9 FCVTZU $32, F2, R16
+d002391e| plan9 FCVTZUSW F22, R16
+9b03399e| plan9 FCVTZUS F28, R27
+7501791e| plan9 FCVTZUDW F11, R21
+7603799e| plan9 FCVTZUD F27, R22
+06fe3c6e| plan9 FDIV V28.S4, V16.S4, V6.S4
+c41b201e| plan9 FDIVS F0, F30, F4
+1618781e| plan9 FDIVD F24, F0, F22
+507b0d1f| plan9 FMADD F30, F13, F26, F16
+8803491f| plan9 FMADD F0, F9, F28, F8
+75f7394e| plan9 FMAX V25.S4, V27.S4, V21.S4
+804b3c1e| plan9 FMAXS F28, F28, F0
+c1496c1e| plan9 FMAXD F12, F14, F1
+5b69371e| plan9 FMAXNMS F23, F10, F27
+1468711e| plan9 FMAXNMD F17, F0, F20
+a4c8707e| plan9 FMAXNMP V5.D2, F4
+89f9707e| plan9 FMAXP V12.D2, F9
+4af63e2e| plan9 VFMAXP V30.S2, V18.S2, V10.S2
+25fa306e| plan9 FMAXV V17.S4, F5
+01f4e04e| plan9 FMIN V0.D2, V0.D2, V1.D2
+59592a1e| plan9 FMINS F10, F10, F25
+3959611e| plan9 FMIND F1, F9, F25
+73c7ba4e| plan9 FMINNM V26.S4, V27.S4, V19.S4
+1279391e| plan9 FMINNMS F25, F8, F18
+75796c1e| plan9 FMINNMD F12, F11, F21
+90cbb07e| plan9 FMINNMP V28.S2, F16
+c5c8b06e| plan9 FMINNMV V6.S4, F5
+cdfbf07e| plan9 FMINP V30.D2, F13
+edf6f66e| plan9 VFMINP V22.D2, V23.D2, V13.D2
+6513b85f| plan9 FMLA V24.S[1], F27, F5
+ee18984f| plan9 VFMLA V24.S[2], V7.S4, V14.S4
+b85ab75f| plan9 FMLS V23.S[3], F21, F24
+a3f5030f| plan9 FMOV $0.90625, V3.S2
+eaf7056f| plan9 FMOV $-31., V10.D2
+3b41201e| plan9 FMOVS F9, F27
+0d41601e| plan9 FMOVD F8, F13
+9700271e| plan9 FMOVS R4, F23
+ad03261e| plan9 FMOVS F29, R13
+2302679e| plan9 FMOVD R17, F3
+e101af9e| plan9 FMOV R15, V1.D[1]
+f301669e| plan9 FMOVD F15, R19
+1103ae9e| plan9 FMOV V24.D[1], R17
+0230321e| plan9 FMOVS $-4.25, F2
+18b0751e| plan9 FMOVD $-14.5, F24
+92bc1b1f| plan9 FMSUB F15, F27, F4, F18
+f8e14a1f| plan9 FMSUB F24, F10, F15, F24
+ef91d35f| plan9 FMULD V19.D[0], F15, F15
+d293c24f| plan9 FMUL V2.D[0], V30.D2, V18.D2
+18dd2b2e| plan9 FMUL V11.S2, V8.S2, V24.S2
+a4093d1e| plan9 FMULS F29, F13, F4
+94096f1e| plan9 FMULD F15, F12, F20
+fe918e7f| plan9 FMULX V14.S[0], F15, F30
+7199c56f| plan9 VFMULX V5.D[1], V11.D2, V17.D2
+32dc695e| plan9 FMULX F9, F1, F18
+c8f9e06e| plan9 FNEG V14.D2, V8.D2
+9c41211e| plan9 FNEGS F12, F28
+c443611e| plan9 FNEGD F30, F4
+e77f301f| plan9 FNMADD F31, F16, F31, F7
+9f326c1f| plan9 FNMADD F12, F12, F20, F31
+d9e92f1f| plan9 FNMSUB F26, F15, F14, F25
+00ad711f| plan9 FNMSUB F11, F17, F8, F0
+c889211e| plan9 FNMULS F1, F14, F8
+528b761e| plan9 FNMULD F22, F26, F18
+01d8e15e| plan9 FRECPE F0, F1
+9aff7e5e| plan9 FRECPS F30, F28, F26
+78fe2a4e| plan9 VFRECPS V10.S4, V19.S4, V24.S4
+01f9e15e| plan9 FRECPX F8, F1
+128b216e| plan9 FRINTA V24.S4, V18.S4
+b241261e| plan9 FRINTAS F13, F18
+a841661e| plan9 FRINTAD F13, F8
+799aa16e| plan9 FRINTI V19.S4, V25.S4
+1cc2271e| plan9 FRINTIS F16, F28
+93c2671e| plan9 FRINTID F20, F19
+1a40251e| plan9 FRINTMS F0, F26
+ac42651e| plan9 FRINTMD F21, F12
+5889214e| plan9 FRINTN V10.S4, V24.S4
+5740241e| plan9 FRINTNS F2, F23
+9443641e| plan9 FRINTND F28, F20
+4b89a10e| plan9 FRINTP V10.S2, V11.S2
+a0c1241e| plan9 FRINTPS F13, F0
+93c2641e| plan9 FRINTPD F20, F19
+d49b216e| plan9 FRINTX V30.S4, V20.S4
+df41271e| plan9 FRINTXS F14, F31
+8d41671e| plan9 FRINTXD F12, F13
+3998a10e| plan9 FRINTZ V1.S2, V25.S2
+fdc2251e| plan9 FRINTZS F23, F29
+abc2651e| plan9 FRINTZD F21, F11
+10dba17e| plan9 FRSQRTE F24, F16
+edd9e16e| plan9 VFRSQRTE V15.D2, V13.D2
+75ffe35e| plan9 FRSQRTS F3, F27, F21
+b4fdbe4e| plan9 VFRSQRTS V30.S4, V13.S4, V20.S4
+24f8a16e| plan9 FSQRT V1.S4, V4.S4
+b6c1211e| plan9 FSQRTS F13, F22
+c1c3611e| plan9 FSQRTD F30, F1
+ffd5b44e| plan9 FSUB V20.S4, V15.S4, V31.S4
+d438331e| plan9 FSUBS F19, F6, F20
+f038771e| plan9 FSUBD F23, F7, F16
+675e1a6e| plan9 VMOV V19.H[5], V7.H[6]
+2a1c0a4e| plan9 VMOV R1, V10.H[2]
+de7f400c| plan9 VLD1 (R30), [V30.D1]
+4aa7404c| plan9 VLD1 (R26), [V10.H8, V11.H8]
+5d61400c| plan9 VLD1 (R10), [V29.B8, V30.B8, V31.B8]
+af21404c| plan9 VLD1 (R13), [V15.B16, V16.B16, V17.B16, V18.B16]
+737edf0c| plan9 VLD1.P 8(R19), [V19.D1]
+757dd10c| plan9 VLD1.P (R11)(R17), [V21.D1]
+5ca3df4c| plan9 VLD1.P 32(R26), [V28.B16, V29.B16]
+93a1ce0c| plan9 VLD1.P (R12)(R14), [V19.B8, V20.B8]
+1c65df0c| plan9 VLD1.P 24(R8), [V28.H4, V29.H4, V30.H4]
+4461d34c| plan9 VLD1.P (R10)(R19), [V4.B16, V5.B16, V6.B16]
+b22edf4c| plan9 VLD1.P 64(R21), [V18.D2, V19.D2, V20.D2, V21.D2]
+c12fcc4c| plan9 VLD1.P (R30)(R12), [V1.D2, V2.D2, V3.D2, V4.D2]
+5a03400d| plan9 LD1 (R26), [V26.B][0]
+8d93404d| plan9 LD1 (R28), [V13.S][3]
+2186404d| plan9 LD1 (R17), [V1.D][1]
+9604df4d| plan9 LD1.P 1(R4), [V22.B][9]
+4a1dc94d| plan9 LD1.P (R10)(R9), [V10.B][15]
+4852df4d| plan9 LD1.P 2(R18), [V8.H][6]
+2582df4d| plan9 LD1.P 4(R17), [V5.S][2]
+2191c84d| plan9 LD1.P (R9)(R8), [V1.S][3]
+c284df4d| plan9 LD1.P 8(R6), [V2.D][1]
+8f85ce0d| plan9 LD1.P (R12)(R14), [V15.D][0]
+87cd400d| plan9 VLD1R (R12), [V7.D1]
+3bc8df4d| plan9 VLD1R 4(R1), [V27.S4]
+77c4dd4d| plan9 VLD1R (R3)(R29), [V23.H8]
+5384404c| plan9 VLD2 (R2), [V19.H8, V20.H8]
+ca87df0c| plan9 VLD2 16(R30), [V10.H4, V11.H4]
+1280d70c| plan9 VLD2 (R0)(R23), [V18.B8, V19.B8]
+4c0a604d| plan9 LD2 (R18), [V12.B, V13.B][10]
+3080600d| plan9 LD2 (R1), [V16.S, V17.S][0]
+6686600d| plan9 LD2 (R19), [V6.D, V7.D][0]
+061eff0d| plan9 LD2 2(R16), [V6.B, V7.B][7]
+db05fa0d| plan9 LD2 (R14)(R26), [V27.B, V28.B][1]
+8a49ff4d| plan9 LD2 4(R12), [V10.H, V11.H][5]
+bb59ec4d| plan9 LD2 (R13)(R12), [V27.H, V28.H][7]
+5a82ff0d| plan9 LD2 8(R18), [V26.S, V27.S][0]
+6180e30d| plan9 LD2 (R3)(R3), [V1.S, V2.S][0]
+6485ff0d| plan9 LD2 16(R11), [V4.D, V5.D][0]
+7c86ed4d| plan9 LD2 (R19)(R13), [V28.D, V29.D][1]
+54c0604d| plan9 VLD2R (R2), [V20.B16, V21.B16]
+fdcaff0d| plan9 VLD2R 8(R23), [V29.S2, V30.S2]
+7bc5e40d| plan9 VLD2R (R11)(R4), [V27.H4, V28.H4]
+b349404c| plan9 VLD3 (R13), [V19.S4, V20.S4, V21.S4]
+cf46df4c| plan9 VLD3 48(R22), [V15.H8, V16.H8, V17.H8]
+934acc4c| plan9 VLD3 (R20)(R12), [V19.S4, V20.S4, V21.S4]
+2c33404d| plan9 LD3 (R25), [V12.B, V13.B, V14.B][12]
+897a400d| plan9 LD3 (R20), [V9.H, V10.H, V11.H][3]
+f9b2400d| plan9 LD3 (R23), [V25.S, V26.S, V27.S][1]
+4aa7404d| plan9 LD3 (R26), [V10.D, V11.D, V12.D][1]
+4e25df4d| plan9 LD3 3(R10), [V14.B, V15.B, V16.B][9]
+7827c40d| plan9 LD3 (R27)(R4), [V24.B, V25.B, V26.B][1]
+c4a3df4d| plan9 LD3 12(R30), [V4.S, V5.S, V6.S][2]
+f0a1cf0d| plan9 LD3 (R15)(R15), [V16.S, V17.S, V18.S][0]
+1ba7df0d| plan9 LD3 24(R24), [V27.D, V28.D, V29.D][0]
+f7a7d50d| plan9 LD3 (RSP)(R21), [V23.D, V24.D, V25.D][0]
+a9ed404d| plan9 VLD3R (R13), [V9.D2, V10.D2, V11.D2]
+5aecdf4d| plan9 VLD3R 24(R2), [V26.D2, V27.D2, V28.D2]
+bae9c74d| plan9 VLD3R (R13)(R7), [V26.S4, V27.S4, V28.S4]
+5904404c| plan9 VLD4 (R2), [V25.H8, V26.H8, V27.H8, V28.H8]
+743b604d| plan9 LD4 (R27), [V20.B, V21.B, V22.B, V23.B][14]
+bda1600d| plan9 LD4 (R13), [V29.S, V30.S, V31.S, V0.S][0]
+a3a4600d| plan9 LD4 (R5), [V3.D, V4.D, V5.D, V6.D][0]
+2f3aff4d| plan9 LD4 4(R17), [V15.B, V16.B, V17.B, V18.B][14]
+e73bef4d| plan9 LD4 (RSP)(R15), [V7.B, V8.B, V9.B, V10.B][14]
+5d78ef0d| plan9 LD4 (R2)(R15), [V29.H, V30.H, V31.H, V0.H][3]
+acb3ff0d| plan9 LD4 16(R29), [V12.S, V13.S, V14.S, V15.S][1]
+a8b2f04d| plan9 LD4 (R21)(R16), [V8.S, V9.S, V10.S, V11.S][3]
+75a7ff4d| plan9 LD4 32(R27), [V21.D, V22.D, V23.D, V24.D][1]
+75a6ee4d| plan9 LD4 (R19)(R14), [V21.D, V22.D, V23.D, V24.D][1]
+d8e3604d| plan9 VLD4R (R30), [V24.B16, V25.B16, V26.B16, V27.B16]
+49e9ff0d| plan9 VLD4R 16(R10), [V9.S2, V10.S2, V11.S2, V12.S2]
+81effc0d| plan9 VLD4R (R28)(R28), [V1.D1, V2.D1, V3.D1, V4.D1]
+893e622c| plan9 LDNP -240(R20), F15, F9
+f90e626c| plan9 LDNP -480(R23), F3, F25
+b0224fac| plan9 LDNP 480(R21), V8, V16
+9186de2c| plan9 LDP.P 244(R20), (F17, F1)
+e820d06c| plan9 LDP.P 256(R7), (F8, F8)
+417de8ac| plan9 LDP.P -768(R10), (V1, V31)
+7969ed2d| plan9 LDP.W -152(R11), (F25, F26)
+70c8c36d| plan9 LDP.W 56(R3), (F16, F18)
+30b4c4ad| plan9 LDP.W 144(R1), (V16, V13)
+a1857f2d| plan9 LDP -4(R13), (F1, F1)
+f4ae786d| plan9 LDP -120(R23), (F20, F11)
+998366ad| plan9 LDP -816(R28), (V25, V0)
+7535453c| plan9 MOVD.P 83(R11), F21
+5465477c| plan9 MOVD.P 118(R10), F20
+a2b44bbc| plan9 MOVD.P 187(R5), F2
+ab045bfc| plan9 MOVD.P -80(R5), F11
+0515d43c| plan9 MOVD.P -191(R8), V5
+43ad413c| plan9 MOVD.W 26(R10), F3
+22cd4f7c| plan9 MOVD.W 252(R9), F2
+5fad44bc| plan9 MOVD.W 74(R10), F31
+db7d5afc| plan9 MOVD.W -89(R14), F27
+15ccd63c| plan9 MOVD.W -148(R0), V21
+95c34b3d| plan9 MOVD 752(R28), F21
+f5885e7d| plan9 MOVD 3908(R7), F21
+54db66bd| plan9 MOVD 9944(R26), F20
+46ee78fd| plan9 MOVD 29144(R18), F6
+0cc4e93d| plan9 MOVD 42768(R0), V12
+ae79703c| plan9 MOVD R16<<1(R13), F14
+3e6b6dfc| plan9 MOVD R13(R25), F30
+a278ff3c| plan9 MOVD ZR<<4(R5), V2
+ed02563c| plan9 LDUR -160(R23), F13
+01c0507c| plan9 LDUR -244(R0), F1
+7fd24ebc| plan9 LDUR 237(R19), F31
+7a734ffc| plan9 LDUR 247(R27), F26
+d4a3dd3c| plan9 LDUR -38(R30), V20
+1c97250e| plan9 VMLA V5.B8, V24.B8, V28.B8
+af97a12e| plan9 VMLS V1.S2, V29.S2, V15.S2
+2b061f5e| plan9 VMOV V17.B[15], F11
+805e086e| plan9 VMOV V20.D[1], V0.D[0]
+d91fbc4e| plan9 VORR V28.B16, V30.B16, V25.B16
+a43f040e| plan9 VMOV V29.S[0], R4
+fbe6054f| plan9 VMOVI $183, V27.B16
+9b75024f| plan9 VORR $(76<<24), V27.S4
+8436020f| plan9 VORR $(84<<8), V4.S2
+19f5010f| plan9 FMOV $12., V25.S2
+02e5062f| plan9 MOVI $-281470698520576, F2
+d6e5066f| plan9 VMOVI $-281470681743616, V22.D2
+be9c240e| plan9 VMUL V4.B8, V5.B8, V30.B8
+2659202e| plan9 VMVN V9.B8, V6.B8
+f394046f| plan9 VBIC $135, V19.H8
+d856056f| plan9 VBIC $(182<<16), V24.S4
+2f85022f| plan9 VMVNI $73, V15.H4
+24baa02e| plan9 VNEG V17.S2, V4.S2
+145b206e| plan9 VMVN V24.B16, V20.B16
+191fff4e| plan9 VORN V31.B16, V24.B16, V25.B16
+6f96004f| plan9 VORR $19, V15.H8
+a564020f| plan9 VMOVI $(69<<24), V5.S2
+ae1ead0e| plan9 VORR V13.B8, V21.B8, V14.B8
+f2e1e00e| plan9 VPMULL V0.D1, V15.D1, V18.Q1
+0d426e2e| plan9 VRADDHN V14.S4, V16.S4, V13.H4
+4443246e| plan9 VRADDHN2 V4.H8, V26.H8, V4.B16
+015b602e| plan9 VRBIT V24.B8, V1.B8
+4209202e| plan9 VREV32 V10.B8, V2.B8
+d109a04e| plan9 VREV64 V14.S4, V17.S4
+5a8e380f| plan9 VRSHRN $8, V18.D2, V26.S2
+438d234f| plan9 VRSHRN2 $29, V10.D2, V3.S4
+a861716e| plan9 VRSUBHN2 V17.S4, V13.S4, V8.H8
+017c2f0e| plan9 VSABA V15.B8, V0.B8, V1.B8
+5d51a90e| plan9 VSABAL V9.S2, V10.S2, V29.D2
+c076a04e| plan9 VSABD V0.S4, V22.S4, V0.S4
+2d722e0e| plan9 VSABDL V14.B8, V17.B8, V13.H8
+1f732e4e| plan9 VSABDL2 V14.B16, V24.B16, V31.H8
+c628604e| plan9 VSADDLP V6.H8, V6.S4
+103b704e| plan9 SADDLV V24.H8, F16
+8f122f0e| plan9 VSADDW V15.B8, V20.H8, V15.H8
+30e6755f| plan9 SCVTF $11, F17, F16
+73e7544f| plan9 SCVTF $44, V27.D2, V19.D2
+51d9615e| plan9 SCVTFDD F10, F17
+fad9210e| plan9 SCVTF V15.S2, V26.S2
+96c0421e| plan9 SCVTF $16, R4, F22
+76e1029e| plan9 SCVTF $8, R11, F22
+a791429e| plan9 SCVTF $28, R13, F7
+f100221e| plan9 SCVTFWS R7, F17
+e101621e| plan9 SCVTFWD R15, F1
+6e03229e| plan9 SCVTFS R27, F14
+0b01629e| plan9 SCVTFD R8, F11
+2401025e| plan9 SHA1C V2.S4, F9, V4
+5d08285e| plan9 SHA1H F2, F29
+65210d5e| plan9 SHA1M V13.S4, F11, V5
+29131a5e| plan9 SHA1P V26.S4, F25, V9
+2b311a5e| plan9 VSHA1SU0 V26.S4, V9.S4, V11.S4
+0919285e| plan9 VSHA1SU1 V8.S4, V9.S4
+f052035e| plan9 SHA256H2 V3.S4, V23, V16
+fe401e5e| plan9 SHA256H V30.S4, V7, V30
+7529285e| plan9 VSHA256SU0 V11.S4, V21.S4
+cc60195e| plan9 VSHA256SU1 V25.S4, V6.S4, V12.S4
+8b56060f| plan9 VORR $(212<<16), V11.S2
+3f3aa16e| plan9 VSHLL2 $32, V17.S4, V31.D2
+0986394f| plan9 VSHRN2 $7, V16.D2, V9.S4
+35276e4e| plan9 VSHSUB V14.H8, V25.H8, V21.H8
+e2556d7f| plan9 SLI $45, F15, F2
+f7541e6f| plan9 VSLI $14, V7.H8, V23.H8
+3167630e| plan9 VSMAX V3.H4, V25.H4, V17.H4
+68a6230e| plan9 VSMAXP V3.B8, V19.B8, V8.B8
+a4aa304e| plan9 SMAXV V21.B16, F4
+2520440f| plan9 VSMLAL V4.H[0], V1.H4, V5.S4
+8c286f4f| plan9 VSMLAL2 V15.H[6], V4.H8, V12.S4
+3a82660e| plan9 VSMLAL V6.H4, V17.H4, V26.S4
+d92f1f0e| plan9 SMOVW V30.B[15], R25
+912d114e| plan9 SMOV V12.B[8], R17
+b87ae05e| plan9 SQABS F21, F24
+2d7b200e| plan9 VSQABS V25.B8, V13.B8
+560f645e| plan9 SQADD F4, F26, F22
+4f0da54e| plan9 VSQADD V5.S4, V10.S4, V15.S4
+5992ba5e| plan9 SQDMLAL F26, F18, F25
+b892684e| plan9 VSQDMLAL2 V8.H8, V21.H8, V24.S4
+63786e5f| plan9 SQDMLSL V14.H[6], F3, F3
+0c79a10f| plan9 VSQDMLSL V1.S[3], V8.S2, V12.D2
+1d73504f| plan9 VSQDMLSL2 V0.H[1], V24.H8, V29.S4
+6cb36c5e| plan9 SQDMLSL F12, F27, F12
+82b36e4e| plan9 VSQDMLSL2 V14.H8, V28.H8, V2.S4
+8dca5d4f| plan9 VSQDMULH V13.H[5], V20.H8, V13.H8
+fcb6b64e| plan9 VSQDMULH V22.S4, V23.S4, V28.S4
+d6b0974f| plan9 VSQDMULL2 V23.S[0], V6.S4, V22.D2
+afd0b84e| plan9 VSQDMULL2 V24.S4, V5.S4, V15.D2
+067b207e| plan9 SQNEG F24, F6
+9979606e| plan9 VSQNEG V12.H8, V25.H8
+bfdbae0f| plan9 VSQRDMULH V14.S[3], V29.S2, V31.S2
+c3b7a07e| plan9 SQRDMULH F0, F30, F3
+845d3d5e| plan9 SQRSHL F29, F12, F4
+495dba0e| plan9 VSQRSHL V26.S2, V10.S2, V9.S2
+fa8e0d7f| plan9 SQRSHRUN $3, F23, F26
+cf75185f| plan9 SQSHL $8, F14, F15
+a975250f| plan9 VSQSHL $5, V13.S2, V9.S2
+424da05e| plan9 SQSHL F0, F10, F2
+464db90e| plan9 VSQSHL V25.S2, V10.S2, V6.S2
+af656d7f| plan9 SQSHLU $45, F13, F15
+e564436f| plan9 VSQSHLU $3, V7.D2, V5.D2
+c1973b5f| plan9 SQSHRN $5, F30, F1
+d586036f| plan9 VMVNI $118, V21.H8
+4c2ea95e| plan9 SQSUB F9, F18, F12
+df2efe4e| plan9 VSQSUB V30.D2, V22.D2, V31.D2
+c149a10e| plan9 VSQXTN V14.D2, V1.S2
+712a217e| plan9 SQXTUN F19, F17
+9a29a12e| plan9 VSQXTUN V12.D2, V26.S2
+6a166e0e| plan9 VSRHADD V14.H4, V19.H4, V10.H4
+0445647f| plan9 SRI $28, F8, F4
+6f44172f| plan9 VSRI $9, V3.H4, V15.H4
+cd56f94e| plan9 VSRSHL V25.D2, V22.D2, V13.D2
+12345b5f| plan9 SRSRA $37, F0, F18
+f746fa5e| plan9 SSHL F26, F23, F23
+89476c4e| plan9 VSSHL V12.H8, V28.H8, V9.H8
+0da60e0f| plan9 VSSHLL $6, V16.B8, V13.H8
+a504585f| plan9 SSHR $40, F5, F5
+3b07544f| plan9 VSSHR $44, V25.D2, V27.D2
+3417350f| plan9 VSSRA $11, V25.S2, V20.S2
+1a213f0e| plan9 VSSUBL V31.B8, V8.B8, V26.H8
+1322a34e| plan9 VSSUBL2 V3.S4, V16.S4, V19.D2
+e931b84e| plan9 VSSUBW2 V24.S4, V15.D2, V9.D2
+dd7d004c| plan9 VST1 (R14), [V29.D2]
+cea4000c| plan9 VST1 (R6), [V14.H4, V15.H4]
+5a64000c| plan9 VST1 (R2), [V26.H4, V27.H4, V28.H4]
+2b2c004c| plan9 VST1 (R1), [V11.D2, V12.D2, V13.D2, V14.D2]
+39719f0c| plan9 VST1 8(R9), [V25.B8]
+b771874c| plan9 VST1 (R13)(R7), [V23.B16]
+1da39f0c| plan9 VST1 16(R24), [V29.B8, V30.B8]
+20a0800c| plan9 VST1 (R1)(R0), [V0.B8, V1.B8]
+5a6a9f4c| plan9 VST1 48(R18), [V26.S4, V27.S4, V28.S4]
+0d69994c| plan9 VST1 (R8)(R25), [V13.S4, V14.S4, V15.S4]
+7e239f0c| plan9 VST1 32(R27), [V30.B8, V31.B8, V0.B8, V1.B8]
+9a2d8e0c| plan9 VST1 (R12)(R14), [V26.D1, V27.D1, V28.D1, V29.D1]
+fd0b004d| plan9 ST1 (RSP), [V29.B][10]
+1058004d| plan9 ST1 (R0), [V16.H][7]
+0593000d| plan9 ST1 (R24), [V5.S][1]
+3d87000d| plan9 ST1 (R25), [V29.D][0]
+1a079f0d| plan9 ST1 1(R24), [V26.B][1]
+421b8f4d| plan9 ST1 (R26)(R15), [V2.B][14]
+54489f4d| plan9 ST1 2(R2), [V20.H][5]
+c4809f4d| plan9 ST1 4(R6), [V4.S][2]
+0481840d| plan9 ST1 (R8)(R4), [V4.S][0]
+6b859f0d| plan9 ST1 8(R11), [V11.D][0]
+f7878e4d| plan9 ST1 (RSP)(R14), [V23.D][1]
+e788004c| plan9 VST2 (R7), [V7.S4, V8.S4]
+79889f0c| plan9 VST2 16(R3), [V25.S2, V26.S2]
+a502204d| plan9 ST2 (R21), [V5.B, V6.B][8]
+0e50204d| plan9 ST2 (R0), [V14.H, V15.H][6]
+6b93204d| plan9 ST2 (R27), [V11.S, V12.S][3]
+0987200d| plan9 ST2 (R24), [V9.D, V10.D][0]
+7003bf0d| plan9 ST2 2(R27), [V16.B, V17.B][0]
+1a09a94d| plan9 ST2 (R8)(R9), [V26.B, V27.B][10]
+1e43b00d| plan9 ST2 (R24)(R16), [V30.H, V31.H][0]
+1a82bf0d| plan9 ST2 8(R16), [V26.S, V27.S][0]
+9892a50d| plan9 ST2 (R20)(R5), [V24.S, V25.S][1]
+5884bf0d| plan9 ST2 16(R2), [V24.D, V25.D][0]
+9e87a34d| plan9 ST2 (R28)(R3), [V30.D, V31.D][1]
+4e47004c| plan9 VST3 (R26), [V14.H8, V15.H8, V16.H8]
+76489f4c| plan9 VST3 48(R3), [V22.S4, V23.S4, V24.S4]
+3b48860c| plan9 VST3 (R1)(R6), [V27.S2, V28.S2, V29.S2]
+e52a000d| plan9 ST3 (R23), [V5.B, V6.B, V7.B][2]
+6f73004d| plan9 ST3 (R27), [V15.H, V16.H, V17.H][6]
+9bb1004d| plan9 ST3 (R12), [V27.S, V28.S, V29.S][3]
+0ca7000d| plan9 ST3 (R24), [V12.D, V13.D, V14.D][0]
+2a259f0d| plan9 ST3 3(R9), [V10.B, V11.B, V12.B][1]
+0524860d| plan9 ST3 (R0)(R6), [V5.B, V6.B, V7.B][1]
+94689a4d| plan9 ST3 (R4)(R26), [V20.H, V21.H, V22.H][5]
+c2a19f4d| plan9 ST3 12(R14), [V2.S, V3.S, V4.S][2]
+5fb38c0d| plan9 ST3 (R26)(R12), [V31.S, V0.S, V1.S][1]
+6da59f4d| plan9 ST3 24(R11), [V13.D, V14.D, V15.D][1]
+32a7924d| plan9 ST3 (R25)(R18), [V18.D, V19.D, V20.D][1]
+5b03000c| plan9 VST4 (R26), [V27.B8, V28.B8, V29.B8, V30.B8]
+cd059f0c| plan9 VST4 32(R14), [V13.H4, V14.H4, V15.H4, V16.H4]
+8601820c| plan9 VST4 (R12)(R2), [V6.B8, V7.B8, V8.B8, V9.B8]
+7925200d| plan9 ST4 (R11), [V25.B, V26.B, V27.B, V28.B][1]
+cd7a204d| plan9 ST4 (R22), [V13.H, V14.H, V15.H, V16.H][7]
+dfb2204d| plan9 ST4 (R22), [V31.S, V0.S, V1.S, V2.S][3]
+daa4200d| plan9 ST4 (R6), [V26.D, V27.D, V28.D, V29.D][0]
+2135bf0d| plan9 ST4 4(R9), [V1.B, V2.B, V3.B, V4.B][5]
+7727a90d| plan9 ST4 (R27)(R9), [V23.B, V24.B, V25.B, V26.B][1]
+b4a3bf0d| plan9 ST4 16(R29), [V20.S, V21.S, V22.S, V23.S][0]
+1ba3ae0d| plan9 ST4 (R24)(R14), [V27.S, V28.S, V29.S, V30.S][0]
+93a4bf0d| plan9 ST4 32(R4), [V19.D, V20.D, V21.D, V22.D][0]
+50a6b80d| plan9 ST4 (R18)(R24), [V16.D, V17.D, V18.D, V19.D][0]
+79b53d2c| plan9 STNP -20(R11), F13, F25
+d895326c| plan9 STNP -216(R14), F5, F24
+d1810dac| plan9 STNP 432(R14), V0, V17
+08728c2c| plan9 STP.P (F8, F28), 96(R16)
+ac1ba16c| plan9 STP.P (F12, F6), -496(R29)
+f4fab1ac| plan9 STP.P (V20, V30), -464(R23)
+c15bbe2d| plan9 STP.W (F1, F22), -16(R30)
+2422856d| plan9 STP.W (F4, F8), 80(R17)
+3d5282ad| plan9 STP.W (V29, V20), 64(R17)
+5df5352d| plan9 STP (F29, F29), -84(R10)
+5c54286d| plan9 STP (F28, F21), -384(R2)
+753c11ad| plan9 STP (V21, V15), 544(R3)
+54e4033c| plan9 MOVD.P F20, 62(R2)
+aa54137c| plan9 MOVD.P F10, -203(R5)
+c9d615bc| plan9 MOVD.P F9, -163(R22)
+fc471efc| plan9 MOVD.P F28, -28(RSP)
+20f78d3c| plan9 MOVD.P V0, 223(R25)
+028d1b3c| plan9 MOVD.W F2, -72(R8)
+35be037c| plan9 MOVD.W F21, 59(R17)
+b98c15bc| plan9 MOVD.W F25, -168(R5)
+fd1e11fc| plan9 MOVD.W F29, -239(R23)
+13ec9a3c| plan9 MOVD.W V19, -82(R0)
+b12d123d| plan9 MOVD F17, 1163(R13)
+d6500b7d| plan9 MOVD F22, 1448(R6)
+d46e39bd| plan9 MOVD F20, 14700(R22)
+b84f30fd| plan9 MOVD F24, 24728(R29)
+3cee993d| plan9 MOVD V28, 26544(R17)
+ed7b253c| plan9 MOVD F13, R5<<1(RSP)
+1c68a43c| plan9 MOVD V28, R4(R0)
+dcb1023c| plan9 MOVD F28, 43(R14)
+6701117c| plan9 MOVD F7, -240(R11)
+85b11bbc| plan9 MOVD F5, -69(R12)
+8ea10efc| plan9 MOVD F14, 234(R12)
+eab08f3c| plan9 MOVD V10, 251(R7)
+ca876a2e| plan9 VSUB V10.H4, V30.H4, V10.H4
+603be05e| plan9 SUQADD F27, F0
+513a600e| plan9 VSUQADD V18.H4, V17.H4
+25231c4e| plan9 VTBL V28.B16, [V25.B16, V26.B16], V5.B16
+8c40100e| plan9 VTBL V16.B8, [V4.B16, V5.B16, V6.B16], V12.B8
+0462040e| plan9 VTBL V4.B8, [V16.B16, V17.B16, V18.B16, V19.B16], V4.B8
+34000f0e| plan9 VTBL V15.B8, [V1.B16], V20.B8
+eb301f4e| plan9 VTBX V31.B16, [V7.B16, V8.B16], V11.B16
+bb51124e| plan9 VTBX V18.B16, [V13.B16, V14.B16, V15.B16], V27.B16
+cf701d0e| plan9 VTBX V29.B8, [V6.B16, V7.B16, V8.B16, V9.B16], V15.B8
+4213080e| plan9 VTBX V8.B8, [V26.B16], V2.B8
+2b2b114e| plan9 VTRN1 V17.B16, V25.B16, V11.B16
+766ada4e| plan9 VTRN2 V26.D2, V19.D2, V22.D2
+4152672e| plan9 VUABAL V7.H4, V18.H4, V1.S4
+0953296e| plan9 VUABAL2 V9.B16, V24.B16, V9.H8
+41756c6e| plan9 VUABD V12.H8, V10.H8, V1.H8
+3670ae2e| plan9 VUABDL V14.S2, V1.S2, V22.D2
+5401312e| plan9 VUADDL V17.B8, V10.B8, V20.H8
+d103286e| plan9 VUADDL2 V8.B16, V30.B16, V17.H8
+a92a206e| plan9 VUADDLP V21.B16, V9.H8
+b839706e| plan9 UADDLV V13.H8, F24
+ea106d2e| plan9 VUADDW V13.H4, V7.S4, V10.S4
+c010726e| plan9 VUADDW2 V18.H8, V6.S4, V0.S4
+e7e5517f| plan9 UCVTF $47, F15, F7
+49e7376f| plan9 UCVTF $9, V26.S4, V9.S4
+4ada617e| plan9 UCVTFDD F18, F10
+6b82431e| plan9 UCVTF $32, R19, F11
+db84039e| plan9 UCVTF $31, R6, F27
+1c72439e| plan9 UCVTF $36, R16, F28
+f301231e| plan9 UCVTFWS R15, F19
+3503631e| plan9 UCVTFWD R25, F21
+e602239e| plan9 UCVTFS R23, F6
+d503639e| plan9 UCVTFD R30, F21
+ec04606e| plan9 VUHADD V0.H8, V7.H8, V12.H8
+3f65782e| plan9 VUMAX V24.H4, V9.H4, V31.H4
+afa6232e| plan9 VUMAXP V3.B8, V21.B8, V15.B8
+cdaa706e| plan9 UMAXV V22.H8, F13
+736c236e| plan9 VUMIN V3.B16, V3.B16, V19.B16
+a0afa62e| plan9 VUMINP V6.S2, V29.S2, V0.S2
+3c229e2f| plan9 VUMLAL V30.S[0], V17.S2, V28.D2
+9d29a56f| plan9 VUMLAL2 V5.S[3], V12.S4, V29.D2
+6c80392e| plan9 VUMLAL V25.B8, V3.B8, V12.H8
+4f60692f| plan9 VUMLSL V9.H[2], V2.H4, V15.S4
+61a1606e| plan9 VUMLSL2 V0.H8, V11.H8, V1.S4
+183e0b0e| plan9 UMOVW V16.B[5], R24
+c0a89b6f| plan9 VUMULL2 V27.S[2], V6.S4, V0.D2
+36c0736e| plan9 VUMULL2 V19.H8, V1.H8, V22.S4
+120d757e| plan9 UQADD F21, F8, F18
+3a0c2e2e| plan9 VUQADD V14.B8, V1.B8, V26.B8
+0d5d617e| plan9 UQRSHL F1, F8, F13
+4d5cb16e| plan9 VUQRSHL V17.S4, V2.S4, V13.S4
+439c382f| plan9 VUQRSHRN $8, V2.D2, V3.S2
+9d745c7f| plan9 UQSHL $28, F4, F29
+7b76656f| plan9 VUQSHL $37, V19.D2, V27.D2
+774ef37e| plan9 UQSHL F19, F19, F23
+124eb32e| plan9 VUQSHL V19.S2, V16.S2, V18.S2
+bc961f6f| plan9 VUQSHRN2 $1, V21.S4, V28.H8
+a62ce07e| plan9 UQSUB F0, F5, F6
+0f2dae2e| plan9 VUQSUB V14.S2, V8.S2, V15.S2
+b24b217e| plan9 UQXTN F29, F18
+f148216e| plan9 VUQXTN2 V7.H8, V17.B16
+7d15a42e| plan9 VURHADD V4.S2, V11.S2, V29.S2
+9055fc6e| plan9 VURSHL V28.D2, V12.D2, V16.D2
+eb275e7f| plan9 URSHR $34, F31, F11
+c0347c7f| plan9 URSRA $4, F6, F0
+fe44e97e| plan9 USHL F9, F7, F30
+fa47e86e| plan9 VUSHL V8.D2, V31.D2, V26.D2
+95a7262f| plan9 VUSHLL $6, V28.S2, V21.D2
+9ca7096f| plan9 VUSHLL2 $1, V28.B16, V28.H8
+8a07527f| plan9 USHR $46, F28, F10
+c7076b6f| plan9 VUSHR $21, V30.D2, V7.D2
+8d39e07e| plan9 USQADD F12, F13
+f716727f| plan9 USRA $14, F23, F23
+3f14066f| plan9 VBIC $193, V31.S4
+b423ac2e| plan9 VUSUBL V12.S2, V29.S2, V20.D2
+7c22736e| plan9 VUSUBL2 V19.H8, V19.H8, V28.S4
+76317d2e| plan9 VUSUBW V29.H4, V11.S4, V22.S4
+8f302a6e| plan9 VUSUBW2 V10.B16, V4.H8, V15.H8
+c5a4286f| plan9 VUSHLL2 $8, V6.S4, V5.D2
+d3198c0e| plan9 VUZP1 V12.S2, V14.S2, V19.S2
+c05bdb4e| plan9 VUZP2 V27.D2, V30.D2, V0.D2
+362b610e| plan9 VXTN V25.S4, V22.H4
+0c29214e| plan9 VXTN2 V8.H8, V12.B16
+2b39c64e| plan9 VZIP1 V6.D2, V9.D2, V11.D2
+9500091a| plan9 ADCW R9, R4, R21
+c2001a9a| plan9 ADC R26, R6, R2
+6a02163a| plan9 ADCSW R22, R19, R10
+0c0118ba| plan9 ADCS R24, R8, R12
+b1c42b0b| plan9 ADDW R11.SXTW<<1, R5, R17
+bf15368b| plan9 ADD R22.UXTB<<5, R13, RSP
+be1f468b| plan9 ADD R6>>7, R29, R30
+8f51352b| plan9 ADDSW R21.UXTW<<4, R12, R15
+97043eab| plan9 ADDS R30.UXTB<<1, R4, R23
+09b00931| plan9 ADDSW $620, R0, R9
+4de204ab| plan9 ADDS R4<<56, R18, R13
+f6b60912| plan9 ANDW $4288675743, R23, R22
+a6d13b92| plan9 AND $-2025524839466146845, R13, R6
+1cc0138a| plan9 AND R19<<48, R0, R28
+73882072| plan9 ANDSW $458759, R3, R19
+b5780af2| plan9 ANDS $-9007199256838145, R5, R21
+766c90ea| plan9 ANDS R16->27, R3, R22
+a72ac31a| plan9 ASRW R3, R21, R7
+ff28d59a| plan9 ASR R21, R7, ZR
+3e7f0913| plan9 ASRW $9, R25, R30
+bafd5493| plan9 ASR $20, R13, R26
+302ad21a| plan9 ASRW R18, R17, R16
+602bd79a| plan9 ASR R23, R27, R0
+4fa4df54| plan9 BAL -66270(PC)
+a2e9cf15| plan9 JMP 30402978(PC)
+eff373b3| plan9 BFXIL $51, ZR, $10, R15
+9e3e7db3| plan9 BFI $3, R20, $16, R30
+87fa41b3| plan9 BFXIL $1, R20, $62, R7
+b831f80a| plan9 BICW R24@>12, R13, R24
+ffe0ae8a| plan9 BIC R14->56, R7, ZR
+7c2c276a| plan9 BICSW R7<<11, R3, R28
+ccf2fbea| plan9 BICS R27@>60, R22, R12
+722cd195| plan9 CALL 30485618(PC)
+20003fd6| plan9 CALL (R1)
+e0021fd6| plan9 JMP (R23)
+80db37d4| plan9 BRK $48860
+e048533a| plan9 CCMNW MI, R7, $19, $0
+e7da4fba| plan9 CCMN LE, R23, $15, $7
+67f2583a| plan9 CCMNW AL, R19, R24, $7
+60a05aba| plan9 CCMN GE, R3, R26, $0
+6a3b517a| plan9 CCMPW LO, R27, $17, $10
+8a4b55fa| plan9 CCMP MI, R28, $21, $10
+ed934b7a| plan9 CCMPW LS, ZR, R11, $13
+24414ffa| plan9 CCMP MI, R9, R15, $4
+0e169c1a| plan9 CSINCW NE, R16, R28, R14
+8264949a| plan9 CSINC VS, R4, R20, R2
+b363935a| plan9 CSINVW VS, R29, R19, R19
+ff619dda| plan9 CSINV VS, R15, R29, ZR
+5f3703d5| plan9 CLREX $7
+0017c05a| plan9 CLSW R24, R0
+8216c0da| plan9 CLS R20, R2
+3310c05a| plan9 CLZW R1, R19
+6e13c0da| plan9 CLZ R27, R14
+7fd02b2b| plan9 CMNW R11.SXTW<<4, R3
+5f3928ab| plan9 CMN R8.UXTH<<6, R10
+1fb92cb1| plan9 CMN $2862, R8
+ff164eab| plan9 CMN R14>>5, R23
+ff71256b| plan9 CMPW R5.UXTX<<4, R15
+df6034eb| plan9 CMP R20.UXTX, R6
+ff776af1| plan9 CMP $(2717<<12), RSP
+80e4855a| plan9 CSNEGW AL, R4, R5, R0
+da3490da| plan9 CSNEG LO, R6, R16, R26
+af40c71a| plan9 CRC32B R7, R5, R15
+c546cf1a| plan9 CRC32H R15, R22, R5
+6148c01a| plan9 CRC32W R0, R3, R1
+0f4eda9a| plan9 CRC32X R26, R16, R15
+4950d01a| plan9 CRC32CB R16, R2, R9
+8155c31a| plan9 CRC32CH R3, R12, R1
+835ace1a| plan9 CRC32CW R14, R20, R3
+f05fc59a| plan9 CRC32CX R5, ZR, R16
+0ae3901a| plan9 CSELW AL, R24, R16, R10
+ed51969a| plan9 CSEL PL, R15, R22, R13
+ee679f1a| plan9 CSETW VC, R14
+ed579f9a| plan9 CSET MI, R13
+f2539f5a| plan9 CSETMW MI, R18
+ffe39fda| plan9 CSINV AL, ZR, ZR, ZR
+9d25941a| plan9 CSINCW HS, R12, R20, R29
+afb7829a| plan9 CSINC LT, R29, R2, R15
+7602895a| plan9 CSINVW EQ, R19, R9, R22
+011394da| plan9 CSINV NE, R24, R20, R1
+68b7935a| plan9 CSNEGW LT, R27, R19, R8
+a32784da| plan9 CSNEG HS, R29, R4, R3
+8159a6d4| plan9 DCPS1 $13004
+c2d9aad4| plan9 DCPS2 $22222
+63ceb7d4| plan9 DCPS3 $48755
+bf3903d5| plan9 DMB $9
+e003bfd6| plan9 DRPS
+9f3603d5| plan9 DSB $6
+fc76a9ca| plan9 EON R9->29, R23, R28
+540f2352| plan9 EORW $3758096385, R26, R20
+187e1ed2| plan9 EOR $-1, R16, R24
+fd37004a| plan9 EORW R0<<13, ZR, R29
+b8c542ca| plan9 EOR R2>>49, R13, R24
+e0039fd6| plan9 ERET
+5f26c193| plan9 EXTR $9, R1, R18, ZR
+7f2003d5| plan9 WFI
+ff2a03d5| plan9 HINT $87
+804a59d4| plan9 HLT $51796
+df3003d5| plan9 ISB $0
+10fcdf88| plan9 LDARW (R0), R16
+fafcdfc8| plan9 LDAR (R7), R26
+30fedf08| plan9 LDARB (R17), R16
+63fedf48| plan9 LDARH (R19), R3
+82ba7f88| plan9 LDAXPW (R20), R14, R2
+d6917fc8| plan9 LDAXP (R14), R4, R22
+59ff5f88| plan9 LDAXRW (R26), R25
+fefe5fc8| plan9 LDAXR (R23), R30
+a0fc5f08| plan9 LDAXRB (R5), R0
+fafd5f48| plan9 LDAXRH (R15), R26
+b8804428| plan9 LDNPW 36(R5), R0, R24
+93e969a8| plan9 LDNP -360(R12), R26, R19
+caccef28| plan9 LDP.P -132(R6), (R10, R19)
+7365c3a8| plan9 LDP.P 48(R11), (R19, R25)
+3106ca29| plan9 LDP.W 80(R17), (R17, R1)
+0c02f7a9| plan9 LDP.W -144(R16), (R12, R0)
+41af6529| plan9 LDP -212(R26), (R1, R11)
+706b65a9| plan9 LDP -432(R27), (R16, R26)
+746ecf68| plan9 LDPSW 120(R19), R27, R20
+c051c669| plan9 LDPSW 48(R14), R20, R0
+aded5b69| plan9 LDPSW 220(R13), R27, R13
+990457b8| plan9 MOVWU.P -144(R4), R25
+bbd556f8| plan9 MOVD.P -147(R13), R27
+a45c51b8| plan9 MOVWU.W -235(R5), R4
+344c41f8| plan9 MOVD.W 20(R1), R20
+2d8755b9| plan9 MOVWU 5508(R25), R13
+56e360f9| plan9 MOVD 16832(R26), R22
+3b264e38| plan9 MOVBU.P 226(R17), R27
+898f5738| plan9 MOVBU.W -136(R28), R9
+c44e6839| plan9 MOVBU 2579(R22), R4
+2d687738| plan9 MOVBU R23(R1), R13
+4d475978| plan9 MOVHU.P -108(R26), R13
+39de5278| plan9 MOVHU.W -211(R17), R25
+9cc54879| plan9 MOVHU 1122(R12), R28
+3967cb38| plan9 MOVBW.P 182(R25), R25
+abf69438| plan9 MOVB.P -177(R21), R11
+159ed138| plan9 MOVBW.W -231(R16), R21
+b63e8038| plan9 MOVB.W 3(R21), R22
+4491c939| plan9 MOVBW 612(R10), R4
+497e8039| plan9 MOVB 31(R18), R9
+7d6bf638| plan9 MOVBW R22(R27), R29
+e578ba38| plan9 MOVB R26<<1(R7), R5
+9f06ca78| plan9 MOVHW.P 160(R20), ZR
+15c59d78| plan9 MOVH.P -36(R8), R21
+c07fd278| plan9 MOVHW.W -217(R30), R0
+bdec9278| plan9 MOVH.W -210(R5), R29
+10e2c979| plan9 MOVHW 1264(R16), R16
+54d29d79| plan9 MOVH 3816(R18), R20
+eb9484b8| plan9 MOVW.P 73(R7), R11
+ba2e8ab8| plan9 MOVW.W 162(R21), R26
+ac7f8ab9| plan9 MOVW 2684(R29), R12
+f8b941b8| plan9 LDTRW 27(R15), R24
+fc0a4ef8| plan9 LDTR 224(R23), R28
+60d84638| plan9 LDTRBW 109(R3), R0
+44685978| plan9 LDTRHW -106(R2), R4
+5379dc38| plan9 LDTRSBW -57(R10), R19
+ade99538| plan9 LDTRSB -162(R13), R13
+905ac078| plan9 LDTRSHW 5(R20), R16
+10898478| plan9 LDTRSH 72(R8), R16
+37188eb8| plan9 LDTRSW 225(R1), R23
+992351b8| plan9 LDURW -238(R28), R25
+c9f155f8| plan9 LDUR -161(R14), R9
+76e14e38| plan9 LDURBW 238(R11), R22
+47b24478| plan9 LDURHW 75(R18), R7
+4020da38| plan9 LDURSBW -94(R2), R0
+0dd09e38| plan9 LDURSB -19(R0), R13
+8f81d478| plan9 LDURSHW -184(R12), R15
+96918378| plan9 LDURSH 57(R12), R22
+b2e383b8| plan9 LDURSW 62(R29), R18
+d3717f88| plan9 LDXPW (R14), R28, R19
+cb677fc8| plan9 LDXP (R30), R25, R11
+ed7c5f88| plan9 LDXRW (R7), R13
+aa7d5fc8| plan9 LDXR (R13), R10
+1c7d5f08| plan9 LDXRB (R8), R28
+de7f5f48| plan9 LDXRH (R30), R30
+1622dc1a| plan9 LSLW R28, R16, R22
+cd20d59a| plan9 LSL R21, R6, R13
+882957d3| plan9 UBFIZ $41, R12, $11, R8
+3320cc1a| plan9 LSLW R12, R1, R19
+7320de9a| plan9 LSL R30, R3, R19
+af25d31a| plan9 LSRW R19, R13, R15
+e426c39a| plan9 LSR R3, R23, R4
+e87f0653| plan9 LSRW $6, ZR, R8
+85fe5fd3| plan9 LSR $31, R20, R5
+0025dc1a| plan9 LSRW R28, R8, R0
+6e27c79a| plan9 LSR R7, R27, R14
+6d69111b| plan9 MADDW R17, R26, R11, R13
+245d0d9b| plan9 MADD R13, R23, R9, R4
+85fe1f1b| plan9 MNEGW ZR, R20, R5
+9bfc199b| plan9 MNEG R25, R4, R27
+13000011| plan9 ADDW $0, R0, R19
+e3000091| plan9 ADD $0, R7, R3
+986c9e12| plan9 MOVW $4294904987, R24
+cb24f092| plan9 MOVD $9140618393701842943, R11
+3cbb88d2| plan9 MOVD $17881, R28
+e4170232| plan9 MOVW $3221225487, R4
+fe636bb2| plan9 MOVD $70368742080512, R30
+ed031b2a| plan9 MOVW R27, R13
+fb0308aa| plan9 MOVD R8, R27
+be3ed1f2| plan9 MOVK $(35317<<32), R30
+e0a08312| plan9 MOVW $4294959864, R0
+a1a6e592| plan9 MOVD $-3257509905472421889, R1
+5260f0d2| plan9 MOVD $-9006636304787570688, R18
+a60739d5| plan9 MRS $18493, R6
+281a1ed5| plan9 MSR R8, $28881
+10f31b1b| plan9 MSUBW R27, R28, R24, R16
+46b41a9b| plan9 MSUB R26, R13, R2, R6
+ec7f041b| plan9 MULW R4, ZR, R12
+147f009b| plan9 MUL R0, R24, R20
+f67f692a| plan9 MVNW R9>>31, R22
+f2a3f7aa| plan9 MVN R23@>40, R18
+fe8b0bcb| plan9 NEG R11<<34, R30
+fef710eb| plan9 NEGS R16<<61, R30
+e0031b5a| plan9 NGCW R27, R0
+e0031dda| plan9 NGC R29, R0
+f003167a| plan9 NGCSW R22, R16
+e60302fa| plan9 NGCS R2, R6
+1f2003d5| plan9 NOP
+2f51732a| plan9 ORNW R19>>20, R9, R15
+9b0facaa| plan9 ORN R12->3, R28, R27
+efa40032| plan9 ORRW $67044351, R7, R15
+3a0b19b2| plan9 ORR $3848290698112, R25, R26
+4b9ec4aa| plan9 ORR R4@>39, R18, R11
+f5eaa2f9| plan9 PRFM 17872(R23), PSTL3STRM
+85c194f8| plan9 PRFUM -180(R12), PLDL3STRM
+c303c05a| plan9 RBITW R30, R3
+3000c0da| plan9 RBIT R1, R16
+20025fd6| plan9 RET R17
+ec08c05a| plan9 REVW R7, R12
+180cc0da| plan9 REV R0, R24
+4b07c05a| plan9 REV16W R26, R11
+7805c0da| plan9 REV16 R11, R24
+ea08c0da| plan9 REV32 R7, R10
+a90fc0da| plan9 REV R29, R9
+fd788213| plan9 EXTRW $30, R2, R7, R29
+e1a0cc93| plan9 EXTR $40, R12, R7, R1
+792fdc1a| plan9 RORW R28, R27, R25
+2b2cc39a| plan9 ROR R3, R1, R11
+7e2ec71a| plan9 RORW R7, R19, R30
+392edd9a| plan9 ROR R29, R17, R25
+47020a5a| plan9 SBCW R10, R18, R7
+b7021dda| plan9 SBC R29, R21, R23
+7800197a| plan9 SBCSW R25, R3, R24
+1e0203fa| plan9 SBCS R3, R16, R30
+a6b07393| plan9 SBFIZ $13, R5, $45, R6
+94957d93| plan9 SBFIZ $3, R12, $38, R20
+ecff5e93| plan9 ASR $30, ZR, R12
+a50ddb1a| plan9 SDIVW R27, R13, R5
+7c0ec89a| plan9 SDIV R8, R19, R28
+9f2003d5| plan9 SEV
+bf2003d5| plan9 SEVL
+5953349b| plan9 SMADDL R20, R20, R26, R25
+bafc399b| plan9 SMNEGL R25, R5, R26
+a5cc289b| plan9 SMSUBL R8, R19, R5, R5
+297c579b| plan9 SMULH R23, R1, R9
+5e7e299b| plan9 SMULL R9, R18, R30
+29fd9f88| plan9 STLRW R9, (R9)
+fdff9fc8| plan9 STLR R29, (RSP)
+defe9f08| plan9 STLRB R30, (R22)
+2ffc9f48| plan9 STLRH R15, (R1)
+c1e12f88| plan9 STLXPW (R14), R24, R1, R15
+62aa2ec8| plan9 STLXPW (R19), R10, R2, R14
+b9fe1b88| plan9 STLXRW R25, (R21), R27
+cbff14c8| plan9 STLXR R11, (R30), R20
+edfc0608| plan9 STLXRB R13, (R7), R6
+8dfe1048| plan9 STLXRH R13, (R20), R16
+1a323628| plan9 STNPW -80(R16), R12, R26
+b3cb3da8| plan9 STNP -40(R29), R18, R19
+52398828| plan9 STP.P (R18, R14), 64(R10)
+434c95a8| plan9 STP.P (R3, R19), 336(R2)
+2badbd29| plan9 STP.W (R11, R11), -20(R9)
+daeabaa9| plan9 STP.W (R26, R26), -88(R22)
+9bc91529| plan9 STP (R27, R18), 172(R12)
+eea024a9| plan9 STP (R14, R8), -440(R7)
+fec514b8| plan9 MOVW.P R30, -180(R15)
+d21508f8| plan9 MOVD.P R18, 129(R14)
+7c5c0ab8| plan9 MOVW.W R28, 165(R3)
+6dec1ff8| plan9 MOVD.W R13, -2(R3)
+35681eb9| plan9 MOVW R21, 7784(R1)
+374d35f9| plan9 MOVD R23, 27288(R9)
+1b441b38| plan9 MOVB.P R27, -76(R0)
+d69c0f38| plan9 MOVB.W R22, 249(R6)
+b7ce0d39| plan9 MOVB R23, 883(R21)
+2b7b3938| plan9 MOVB R11, R25<<1(R25)
+4e771d78| plan9 MOVH.P R14, -41(R26)
+64cc0b78| plan9 MOVH.W R4, 188(R3)
+07b90279| plan9 MOVH R7, 348(R8)
+2eb91cb8| plan9 STTRW -53(R9), R14
+373a1bf8| plan9 STTR -77(R17), R23
+d0881138| plan9 STTRBW -232(R6), R16
+941a0e78| plan9 STTRHW 225(R20), R20
+da3000b8| plan9 MOVW R26, 3(R6)
+5e921cf8| plan9 MOVD R30, -55(R18)
+09821e38| plan9 MOVB R9, -24(R16)
+67d21c78| plan9 MOVH R7, -51(R19)
+0c352188| plan9 STXPW (R8), R13, R12, R1
+146d26c8| plan9 STXPW (R8), R27, R20, R6
+837d1888| plan9 STXRW R3, (R12), R24
+f17f1bc8| plan9 STXR R17, (RSP), R27
+3b7d0f08| plan9 STXRB R27, (R9), R15
+6b7c1f48| plan9 STXRH R11, (R3), ZR
+70ab204b| plan9 SUBW R0.SXTH<<2, R27, R16
+303b20cb| plan9 SUB R0.UXTH<<6, R25, R16
+69a909d1| plan9 SUB $618, R11, R9
+87384e4b| plan9 SUBW R14>>14, R4, R7
+ec720ecb| plan9 SUB R14<<28, R23, R12
+2b58256b| plan9 SUBSW R5.UXTW<<6, R1, R11
+59e93ceb| plan9 SUBS R28.SXTX<<2, R10, R25
+9e7b6ff1| plan9 SUBS $(3038<<12), R28, R30
+3e6d196b| plan9 SUBSW R25<<27, R9, R30
+54029ceb| plan9 SUBS R28->0, R18, R20
+c1f91cd4| plan9 SVC $59342
+091e0013| plan9 SXTBW R16, R9
+7f1c4093| plan9 SXTB R3, ZR
+b53c0013| plan9 SXTHW R5, R21
+773e4093| plan9 SXTH R19, R23
+707f4093| plan9 SXTW R27, R16
+df3a2dd5| plan9 SYSL $342720, ZR
+5f612972| plan9 TSTW $4286644223, R10
+bf2007f2| plan9 TST $-144115170929541117, R5
+1f11136a| plan9 TSTW R19<<4, R8
+5fd10dea| plan9 TST R13<<52, R10
+5c826bd3| plan9 UBFIZ $21, R18, $33, R28
+ad690c53| plan9 UBFXW $12, R13, $15, R13
+3a0f41d3| plan9 UBFX $1, R25, $3, R26
+6a197dd3| plan9 UBFIZ $3, R11, $7, R10
+520aca1a| plan9 UDIVW R10, R18, R18
+0809c89a| plan9 UDIV R8, R8, R8
+4e55a69b| plan9 UMADDL R6, R21, R10, R14
+99fda59b| plan9 UMNEGL R5, R12, R25
+1adabb9b| plan9 UMSUBL R27, R22, R16, R26
+177ddf9b| plan9 UMULH ZR, R8, R23
+1d7da49b| plan9 UMULL R4, R8, R29
+5a1c0053| plan9 UXTBW R2, R26
+603c0053| plan9 UXTHW R3, R0
+5f2003d5| plan9 WFE
+7f2003d5| plan9 WFI
+3f2003d5| plan9 YIELD
+02b8600e| plan9 VABS V0.H4, V2.H4
+c886f94e| plan9 VADD V25.D2, V22.D2, V8.D2
+5642740e| plan9 VADDHN V20.S4, V18.S4, V22.H4
+3743294e| plan9 VADDHN2 V9.H8, V25.H8, V23.B16
+2abef74e| plan9 VADDP V23.D2, V17.D2, V10.D2
+18bbb14e| plan9 ADDV V24.S4, F24
+1a59284e| plan9 VAESD V8.B16, V26.B16
+cf48284e| plan9 VAESE V6.B16, V15.B16
+557a284e| plan9 VAESIMC V18.B16, V21.B16
+2f6b284e| plan9 VAESMC V25.B16, V15.B16
+cf1c324e| plan9 VAND V18.B16, V6.B16, V15.B16
+c9c6032f| plan9 VMVNI $(118<<136), V9.S2
+f1a7012f| plan9 VMVNI $(63<<8), V17.H4
+691d600e| plan9 VBIC V0.B8, V11.B8, V9.B8
+c31dfe6e| plan9 VBIF V30.B16, V14.B16, V3.B16
+c81cb66e| plan9 VBIT V22.B16, V6.B16, V8.B16
+701f6b2e| plan9 VBSL V11.B8, V27.B8, V16.B8
+7c4b600e| plan9 VCLS V27.H4, V28.H4
+ce4a602e| plan9 VCLZ V22.H4, V14.H4
+d08de37e| plan9 CMEQ F3, F14, F16
+e98db96e| plan9 VCMEQ V25.S4, V15.S4, V9.S4
+6e99a00e| plan9 VCMEQ $0, V11.S2, V14.S2
+933d304e| plan9 VCMGE V16.B16, V12.B16, V19.B16
+0e88e07e| plan9 CMGE $0, F0, F14
+9b89202e| plan9 VCMGE $0, V12.B8, V27.B8
+6a372f4e| plan9 VCMGT V15.B16, V27.B16, V10.B16
+128be05e| plan9 CMGT $0, F24, F18
+9189a00e| plan9 VCMGT $0, V12.S2, V17.S2
+f734e67e| plan9 CMHI F6, F7, F23
+4d36b82e| plan9 VCMHI V24.S2, V18.S2, V13.S2
+003e2b2e| plan9 VCMHS V11.B8, V16.B8, V0.B8
+729ae07e| plan9 CMLE $0, F19, F18
+3699206e| plan9 VCMLE $0, V9.B16, V22.B16
+d1ab600e| plan9 VCMLT $0, V30.H4, V17.H4
+ad8e244e| plan9 VCMTST V4.B16, V21.B16, V13.B16
+ef06035e| plan9 VMOV V23.B[1], F15
+5007040e| plan9 VDUP V26.S[0], V16.S2
+890e0b4e| plan9 VDUP R20, V9.B16
+951c276e| plan9 VEOR V7.B16, V4.B16, V21.B16
+98d4bf7e| plan9 FABD F31, F4, F24
+bcd4ad6e| plan9 VFABD V13.S4, V5.S4, V28.S4
+78f8e04e| plan9 FABS V3.D2, V24.D2
+8cc0201e| plan9 FABSS F4, F12
+9ac1601e| plan9 FABSD F12, F26
+3aee307e| plan9 FACGE F16, F17, F26
+41ed352e| plan9 VFACGE V21.S2, V10.S2, V1.S2
+35edaf7e| plan9 FACGT F15, F9, F21
+02efe36e| plan9 VFACGT V3.D2, V24.D2, V2.D2
+21d6664e| plan9 FADD V6.D2, V17.D2, V1.D2
+5e282e1e| plan9 FADDS F14, F2, F30
+4d2a621e| plan9 FADDD F2, F18, F13
+7cd8707e| plan9 FADDP V3.D2, F28
+5dd4386e| plan9 VFADDP V24.S4, V2.S4, V29.S4
+69363e1e| plan9 FCCMPS LO, F30, F19, $9
+c8b56a1e| plan9 FCCMPD LT, F10, F14, $8
+d1f5271e| plan9 FCCMPES AL, F7, F14, $1
+3645751e| plan9 FCCMPED MI, F21, F9, $6
+21e6735e| plan9 FCMEQ F19, F17, F1
+b6dba05e| plan9 FCMEQ $0, F29, F22
+49d8a04e| plan9 VFCMEQ $0, V2.S4, V9.S4
+2ee5667e| plan9 FCMGE F6, F9, F14
+4ee7766e| plan9 VFCMGE V22.D2, V26.D2, V14.D2
+4bcba07e| plan9 FCMGE $0, F26, F11
+11c9a02e| plan9 VFCMGE $0, V8.S2, V17.S2
+81e4a97e| plan9 FCMGT F9, F4, F1
+d3e4b56e| plan9 VFCMGT V21.S4, V6.S4, V19.S4
+efc8e05e| plan9 FCMGT $0, F7, F15
+3ec9e04e| plan9 VFCMGT $0, V9.D2, V30.D2
+38d9a07e| plan9 FCMLE $0, F9, F24
+7dd9a02e| plan9 VFCMLE $0, V11.S2, V29.S2
+bae8a05e| plan9 FCMLT $0, F5, F26
+a2eaa04e| plan9 VFCMLT $0, V21.S4, V2.S4
+60212f1e| plan9 FCMPS F15, F11
+a8233a1e| plan9 FCMPS $(0.0), F29
+a020641e| plan9 FCMPD F4, F5
+e820701e| plan9 FCMPD $(0.0), F7
+b0203a1e| plan9 FCMPES F26, F5
+78203d1e| plan9 FCMPES $(0.0), F3
+70226e1e| plan9 FCMPED F14, F19
+3821601e| plan9 FCMPED $(0.0), F9
+06de241e| plan9 FCSELS LE, F16, F4, F6
+51de761e| plan9 FCSELD LE, F18, F22, F17
+5e42e21e| plan9 FCVTHS F18, F30
+b9c1e21e| plan9 FCVTHD F13, F25
+58c0231e| plan9 FCVTSH F2, F24
+9bc2221e| plan9 FCVTSD F20, F27
+2bc3631e| plan9 FCVTDH F25, F11
+f640621e| plan9 FCVTDS F7, F22
+caca215e| plan9 FCVTAS F22, F10
+5ec9210e| plan9 VFCVTAS V10.S2, V30.S2
+0302241e| plan9 FCVTASW F16, R3
+c103249e| plan9 FCVTAS F30, R1
+3003641e| plan9 FCVTASW F25, R16
+6201649e| plan9 FCVTAS F11, R2
+d3c9217e| plan9 FCVTAU F14, F19
+3bc8212e| plan9 VFCVTAU V1.S2, V27.S2
+0802251e| plan9 FCVTAUW F16, R8
+5f02259e| plan9 FCVTAU F18, ZR
+2801651e| plan9 FCVTAUW F9, R8
+f200659e| plan9 FCVTAU F7, R18
+d179610e| plan9 VFCVTL V14.S2, V17.D2
+347b614e| plan9 VFCVTL2 V25.S4, V20.D2
+08b9615e| plan9 FCVTMS F8, F8
+f000301e| plan9 FCVTMSW F7, R16
+8002309e| plan9 FCVTMS F20, R0
+5202701e| plan9 FCVTMSW F18, R18
+c803709e| plan9 FCVTMS F30, R8
+1cbb217e| plan9 FCVTMU F24, F28
+d1b9212e| plan9 VFCVTMU V14.S2, V17.S2
+2e02311e| plan9 FCVTMUW F17, R14
+d003319e| plan9 FCVTMU F30, R16
+ce03711e| plan9 FCVTMUW F30, R14
+0801719e| plan9 FCVTMU F8, R8
+4c6b210e| plan9 VFCVTN V26.S4, V12.H4
+6869214e| plan9 VFCVTN2 V11.S4, V8.H8
+2faa615e| plan9 FCVTNS F17, F15
+33aa614e| plan9 VFCVTNS V17.D2, V19.D2
+d303201e| plan9 FCVTNSW F30, R19
+4001209e| plan9 FCVTNS F10, R0
+b202601e| plan9 FCVTNSW F21, R18
+c603609e| plan9 FCVTNS F30, R6
+8ea8217e| plan9 FCVTNU F4, F14
+cc01211e| plan9 FCVTNUW F14, R12
+3a00219e| plan9 FCVTNU F1, R26
+2002611e| plan9 FCVTNUW F17, R0
+ff01619e| plan9 FCVTNU F15, ZR
+1baba15e| plan9 FCVTPS F24, F27
+9d00281e| plan9 FCVTPSW F4, R29
+eb02289e| plan9 FCVTPS F23, R11
+3503681e| plan9 FCVTPSW F25, R21
+4301689e| plan9 FCVTPS F10, R3
+63aba17e| plan9 FCVTPU F27, F3
+caa8a12e| plan9 VFCVTPU V6.S2, V10.S2
+7702291e| plan9 FCVTPUW F19, R23
+b503299e| plan9 FCVTPU F29, R21
+2f03691e| plan9 FCVTPUW F25, R15
+5b01699e| plan9 FCVTPU F10, R27
+7369617e| plan9 FCVTXN F11, F19
+6b6b612e| plan9 VFCVTXN V27.D2, V11.S2
+f268616e| plan9 VFCVTXN2 V7.D2, V18.S4
+bcff7b5f| plan9 FCVTZS $5, F29, F28
+19bbe15e| plan9 FCVTZSDD F24, F25
+c6b9e14e| plan9 FCVTZS V14.D2, V6.D2
+e9fc189e| plan9 FCVTZS $1, F7, R9
+6661589e| plan9 FCVTZS $40, F11, R6
+9702381e| plan9 FCVTZSSW F20, R23
+ed00389e| plan9 FCVTZSS F7, R13
+3a01781e| plan9 FCVTZSDW F9, R26
+8801789e| plan9 FCVTZSD F12, R8
+a5ff2e2f| plan9 FCVTZU $18, V29.S2, V5.S2
+5bbbe17e| plan9 FCVTZUDD F26, F27
+1a74199e| plan9 FCVTZU $35, F0, R26
+e391599e| plan9 FCVTZU $28, F15, R3
+b203391e| plan9 FCVTZUSW F29, R18
+ed01399e| plan9 FCVTZUS F15, R13
+c200791e| plan9 FCVTZUDW F6, R2
+5402799e| plan9 FCVTZUD F18, R20
+1aff2b6e| plan9 FDIV V11.S4, V24.S4, V26.S4
+171a391e| plan9 FDIVS F25, F16, F23
+7d196b1e| plan9 FDIVD F11, F11, F29
+f9721f1f| plan9 FMADD F28, F31, F23, F25
+7070551f| plan9 FMADD F28, F21, F3, F16
+05f7624e| plan9 FMAX V2.D2, V24.D2, V5.D2
+88493d1e| plan9 FMAXS F29, F12, F8
+4a496d1e| plan9 FMAXD F13, F10, F10
+5068321e| plan9 FMAXNMS F18, F2, F16
+a66a761e| plan9 FMAXNMD F22, F21, F6
+0ccb707e| plan9 FMAXNMP V24.D2, F12
+6ec66f6e| plan9 VFMAXNMP V15.D2, V19.D2, V14.D2
+41f8307e| plan9 FMAXP V2.S2, F1
+05f72a6e| plan9 VFMAXP V10.S4, V24.S4, V5.S4
+aa5b231e| plan9 FMINS F3, F29, F10
+d6596a1e| plan9 FMIND F10, F14, F22
+15c4b24e| plan9 FMINNM V18.S4, V0.S4, V21.S4
+6279281e| plan9 FMINNMS F8, F11, F2
+af7b6a1e| plan9 FMINNMD F10, F29, F15
+7dc9f07e| plan9 FMINNMP V11.D2, F29
+dfc6bb6e| plan9 VFMINNMP V27.S4, V22.S4, V31.S4
+56c8b06e| plan9 FMINNMV V2.S4, F22
+0ff8f07e| plan9 FMINP V0.D2, F15
+a211c55f| plan9 FMLA V5.D[0], F13, F2
+0dce224e| plan9 VFMLA V2.S4, V16.S4, V13.S4
+4c5ba15f| plan9 FMLS V1.S[3], F26, F12
+8953ba0f| plan9 VFMLS V26.S[1], V28.S2, V9.S2
+09cdbd4e| plan9 VFMLS V29.S4, V8.S4, V9.S4
+97f7044f| plan9 FMOV $-7., V23.S4
+dff4006f| plan9 FMOV $2.75, V31.D2
+c543201e| plan9 FMOVS F30, F5
+1740601e| plan9 FMOVD F0, F23
+a100271e| plan9 FMOVS R5, F1
+f102261e| plan9 FMOVS F23, R17
+b302679e| plan9 FMOVD R21, F19
+4001af9e| plan9 FMOV R10, V0.D[1]
+db01669e| plan9 FMOVD F14, R27
+8300ae9e| plan9 FMOV V4.D[1], R3
+1870331e| plan9 FMOVS $-6.75, F24
+08507d1e| plan9 FMOVD $-0.8125, F8
+5cbf0c1f| plan9 FMSUB F15, F12, F26, F28
+89e3501f| plan9 FMSUB F24, F16, F28, F9
+3a93c95f| plan9 FMULD V9.D[0], F25, F26
+5a90ae4f| plan9 FMUL V14.S[1], V2.S4, V26.S4
+ba0a2f1e| plan9 FMULS F15, F21, F26
+5b0a7c1e| plan9 FMULD F28, F18, F27
+e991c07f| plan9 FMULX V0.D[0], F15, F9
+be989c6f| plan9 VFMULX V28.S[2], V5.S4, V30.S4
+d3dc7a5e| plan9 FMULX F26, F6, F19
+d4de7f4e| plan9 VFMULX V31.D2, V22.D2, V20.D2
+8e41211e| plan9 FNEGS F12, F14
+dc42611e| plan9 FNEGD F22, F28
+cb362e1f| plan9 FNMADD F13, F14, F22, F11
+6441791f| plan9 FNMADD F16, F25, F11, F4
+36ed291f| plan9 FNMSUB F27, F9, F9, F22
+35b27a1f| plan9 FNMSUB F12, F26, F17, F21
+9388301e| plan9 FNMULS F16, F4, F19
+c088711e| plan9 FNMULD F17, F6, F0
+e8daa15e| plan9 FRECPE F23, F8
+a9fc395e| plan9 FRECPS F25, F5, F9
+49fe284e| plan9 VFRECPS V8.S4, V18.S4, V9.S4
+85f8a15e| plan9 FRECPX F4, F5
+ee43261e| plan9 FRINTAS F31, F14
+7042661e| plan9 FRINTAD F19, F16
+2b98a16e| plan9 FRINTI V1.S4, V11.S4
+fac2271e| plan9 FRINTIS F23, F26
+76c3671e| plan9 FRINTID F27, F22
+7942251e| plan9 FRINTMS F19, F25
+8742651e| plan9 FRINTMD F20, F7
+fc8a214e| plan9 FRINTN V23.S4, V28.S4
+c041241e| plan9 FRINTNS F14, F0
+b241641e| plan9 FRINTND F13, F18
+c588a14e| plan9 FRINTP V6.S4, V5.S4
+6ec2241e| plan9 FRINTPS F19, F14
+ddc0641e| plan9 FRINTPD F6, F29
+1a9a616e| plan9 FRINTX V16.D2, V26.D2
+7c41271e| plan9 FRINTXS F11, F28
+d243671e| plan9 FRINTXD F30, F18
+b49aa14e| plan9 FRINTZ V21.S4, V20.S4
+5bc0251e| plan9 FRINTZS F2, F27
+43c1651e| plan9 FRINTZD F10, F3
+3bdba17e| plan9 FRSQRTE F25, F27
+9ddba12e| plan9 VFRSQRTE V28.S2, V29.S2
+1ffee65e| plan9 FRSQRTS F6, F16, F31
+8bfdb54e| plan9 VFRSQRTS V21.S4, V12.S4, V11.S4
+33c1211e| plan9 FSQRTS F9, F19
+a5c0611e| plan9 FSQRTD F5, F5
+a2d7b74e| plan9 FSUB V23.S4, V29.S4, V2.S4
+a338301e| plan9 FSUBS F16, F5, F3
+e139681e| plan9 FSUBD F8, F15, F1
+96170e6e| plan9 VMOV V28.H[1], V22.H[3]
+791c014e| plan9 VMOV R3, V25.B[0]
+cf79404c| plan9 VLD1 (R14), [V15.S4]
+75a6404c| plan9 VLD1 (R19), [V21.H8, V22.H8]
+ed62404c| plan9 VLD1 (R23), [V13.B16, V14.B16, V15.B16]
+392a400c| plan9 VLD1 (R17), [V25.S2, V26.S2, V27.S2, V28.S2]
+cd7cdf4c| plan9 VLD1.P 16(R6), [V13.D2]
+f677ce4c| plan9 VLD1.P (RSP)(R14), [V22.H8]
+d4a3df0c| plan9 VLD1.P 16(R30), [V20.B8, V21.B8]
+8ba1d90c| plan9 VLD1.P (R12)(R25), [V11.B8, V12.B8]
+396fdf0c| plan9 VLD1.P 24(R25), [V25.D1, V26.D1, V27.D1]
+4c64db0c| plan9 VLD1.P (R2)(R27), [V12.H4, V13.H4, V14.H4]
+3f2adf4c| plan9 VLD1.P 64(R17), [V31.S4, V0.S4, V1.S4, V2.S4]
+b329ce4c| plan9 VLD1.P (R13)(R14), [V19.S4, V20.S4, V21.S4, V22.S4]
+aa02400d| plan9 LD1 (R21), [V10.B][0]
+7980404d| plan9 LD1 (R3), [V25.S][2]
+5884404d| plan9 LD1 (R2), [V24.D][1]
+f203df4d| plan9 LD1.P 1(RSP), [V18.B][8]
+3519c40d| plan9 LD1.P (R9)(R4), [V21.B][6]
+ed59df0d| plan9 LD1.P 2(R15), [V13.H][3]
+9e52d90d| plan9 LD1.P (R20)(R25), [V30.H][2]
+cd93df4d| plan9 LD1.P 4(R30), [V13.S][3]
+5982cb4d| plan9 LD1.P (R18)(R11), [V25.S][2]
+4f84df4d| plan9 LD1.P 8(R2), [V15.D][1]
+2d85d50d| plan9 LD1.P (R9)(R21), [V13.D][0]
+33c2400d| plan9 VLD1R (R17), [V19.B8]
+e2c8df4d| plan9 VLD1R 4(R7), [V2.S4]
+83c2c44d| plan9 VLD1R (R20)(R4), [V3.B16]
+5487400c| plan9 VLD2 (R26), [V20.H4, V21.H4]
+e08adf0c| plan9 VLD2 16(R23), [V0.S2, V1.S2]
+768ac40c| plan9 VLD2 (R19)(R4), [V22.S2, V23.S2]
+4c0f604d| plan9 LD2 (R26), [V12.B, V13.B][11]
+e043604d| plan9 LD2 (RSP), [V0.H, V1.H][4]
+c281600d| plan9 LD2 (R14), [V2.S, V3.S][0]
+e585600d| plan9 LD2 (R15), [V5.D, V6.D][0]
+2c1aff4d| plan9 LD2 2(R17), [V12.B, V13.B][14]
+820bfd4d| plan9 LD2 (R28)(R29), [V2.B, V3.B][10]
+d593ff0d| plan9 LD2 8(R30), [V21.S, V22.S][1]
+6780ea0d| plan9 LD2 (R3)(R10), [V7.S, V8.S][0]
+3484ff4d| plan9 LD2 16(R1), [V20.D, V21.D][1]
+6a86ee4d| plan9 LD2 (R19)(R14), [V10.D, V11.D][1]
+e4c7604d| plan9 VLD2R (RSP), [V4.H8, V5.H8]
+69c8ff0d| plan9 VLD2R 8(R3), [V9.S2, V10.S2]
+52ccf30d| plan9 VLD2R (R2)(R19), [V18.D1, V19.D1]
+9e4b404c| plan9 VLD3 (R28), [V30.S4, V31.S4, V0.S4]
+0440df4c| plan9 VLD3 48(R0), [V4.B16, V5.B16, V6.B16]
+0f49cf0c| plan9 VLD3 (R8)(R15), [V15.S2, V16.S2, V17.S2]
+b22e400d| plan9 LD3 (R21), [V18.B, V19.B, V20.B][3]
+9473400d| plan9 LD3 (R28), [V20.H, V21.H, V22.H][2]
+1da0404d| plan9 LD3 (R0), [V29.S, V30.S, V31.S][2]
+21a5404d| plan9 LD3 (R9), [V1.D, V2.D, V3.D][1]
+3b23df0d| plan9 LD3 3(R25), [V27.B, V28.B, V29.B][0]
+0937c60d| plan9 LD3 (R24)(R6), [V9.B, V10.B, V11.B][5]
+926bcb4d| plan9 LD3 (R28)(R11), [V18.H, V19.H, V20.H][5]
+f5a1df4d| plan9 LD3 12(R15), [V21.S, V22.S, V23.S][2]
+dba3c44d| plan9 LD3 (R30)(R4), [V27.S, V28.S, V29.S][2]
+12a5df0d| plan9 LD3 24(R8), [V18.D, V19.D, V20.D][0]
+daa7d30d| plan9 LD3 (R30)(R19), [V26.D, V27.D, V28.D][0]
+3beb400d| plan9 VLD3R (R25), [V27.S2, V28.S2, V29.S2]
+cde4df4d| plan9 VLD3R 6(R6), [V13.H8, V14.H8, V15.H8]
+a4efc44d| plan9 VLD3R (R29)(R4), [V4.D2, V5.D2, V6.D2]
+fc0a400c| plan9 VLD4 (R23), [V28.S2, V29.S2, V30.S2, V31.S2]
+ae05df0c| plan9 VLD4 32(R13), [V14.H4, V15.H4, V16.H4, V17.H4]
+cb07c84c| plan9 VLD4 (R30)(R8), [V11.H8, V12.H8, V13.H8, V14.H8]
+1825604d| plan9 LD4 (R8), [V24.B, V25.B, V26.B, V27.B][9]
+2869604d| plan9 LD4 (R9), [V8.H, V9.H, V10.H, V11.H][5]
+07b2600d| plan9 LD4 (R16), [V7.S, V8.S, V9.S, V10.S][1]
+9fa4600d| plan9 LD4 (R4), [V31.D, V0.D, V1.D, V2.D][0]
+de22ff0d| plan9 LD4 4(R22), [V30.B, V31.B, V0.B, V1.B][0]
+6a36ed4d| plan9 LD4 (R19)(R13), [V10.B, V11.B, V12.B, V13.B][13]
+23a2ff4d| plan9 LD4 16(R17), [V3.S, V4.S, V5.S, V6.S][2]
+22a0fe4d| plan9 LD4 (R1)(R30), [V2.S, V3.S, V4.S, V5.S][2]
+7ca4ff4d| plan9 LD4 32(R3), [V28.D, V29.D, V30.D, V31.D][1]
+03a7ec4d| plan9 LD4 (R24)(R12), [V3.D, V4.D, V5.D, V6.D][1]
+b9ee600d| plan9 VLD4R (R21), [V25.D1, V26.D1, V27.D1, V28.D1]
+03e8ff0d| plan9 VLD4R 16(R0), [V3.S2, V4.S2, V5.S2, V6.S2]
+e7e3f24d| plan9 VLD4R (RSP)(R18), [V7.B16, V8.B16, V9.B16, V10.B16]
+451a4e2c| plan9 LDNP 112(R18), F6, F5
+01236f6c| plan9 LDNP -272(R24), F8, F1
+204041ac| plan9 LDNP 32(R1), V16, V0
+1b21cc2c| plan9 LDP.P 96(R8), (F27, F8)
+41ccc06c| plan9 LDP.P 8(R2), (F1, F19)
+65b8e6ac| plan9 LDP.P -816(R3), (V5, V14)
+a58bed2d| plan9 LDP.W -148(R29), (F5, F2)
+d8a3c46d| plan9 LDP.W 72(R30), (F24, F8)
+dc82c0ad| plan9 LDP.W 16(R22), (V28, V0)
+eda7782d| plan9 LDP -60(RSP), (F13, F9)
+041b6c6d| plan9 LDP -320(R24), (F4, F6)
+17ea6bad| plan9 LDP -656(R16), (V23, V26)
+4e14433c| plan9 MOVD.P 49(R2), F14
+cd844e7c| plan9 MOVD.P 232(R6), F13
+99945dbc| plan9 MOVD.P -39(R4), F25
+170556fc| plan9 MOVD.P -160(R8), F23
+3115d53c| plan9 MOVD.P -175(R9), V17
+3c6d403c| plan9 MOVD.W 6(R9), F28
+f8fc527c| plan9 MOVD.W -209(R7), F24
+776c58bc| plan9 MOVD.W -122(R3), F23
+075f57fc| plan9 MOVD.W -139(R24), F7
+28cdc33c| plan9 MOVD.W 60(R9), V8
+40a15f3d| plan9 MOVD 2024(R10), F0
+3b8c597d| plan9 MOVD 3270(R1), F27
+28f958bd| plan9 MOVD 6392(R9), F8
+852d6ffd| plan9 MOVD 24152(R12), F5
+e149ea3d| plan9 MOVD 43296(R15), V1
+8d69623c| plan9 MOVD R2(R12), F13
+1a60553c| plan9 LDUR -170(R0), F26
+74f3477c| plan9 LDUR 127(R27), F20
+f46249bc| plan9 LDUR 150(R23), F20
+b8015bfc| plan9 LDUR -80(R13), F24
+3372de3c| plan9 LDUR -25(R17), V19
+04972c0e| plan9 VMLA V12.B8, V24.B8, V4.B8
+f0051b5e| plan9 VMOV V15.B[13], F16
+7f76146e| plan9 VMOV V19.S[3], V31.S[2]
+6c1cb60e| plan9 VORR V22.B8, V3.B8, V12.B8
+ae3f1e0e| plan9 UMOVW V29.H[7], R14
+f8e5004f| plan9 VMOVI $15, V24.B16
+0355010f| plan9 VORR $(40<<16), V3.S2
+4825020f| plan9 VMOVI $(74<<8), V8.S2
+64d7040f| plan9 VMOVI $(155<<144), V4.S2
+46e6062f| plan9 MOVI $-280379759984896, F6
+bde6056f| plan9 VMOVI $-71776123339472641, V29.D2
+789f350e| plan9 VMUL V21.B8, V27.B8, V24.B8
+7b5b202e| plan9 VMVN V27.B8, V27.B8
+2dd4066f| plan9 VMVNI $(193<<144), V13.S4
+8266012f| plan9 VMVNI $(52<<24), V2.S2
+1025022f| plan9 VMVNI $(72<<8), V16.S2
+eabba06e| plan9 VNEG V31.S4, V10.S4
+7e5a206e| plan9 VMVN V19.B16, V30.B16
+6a1fea0e| plan9 VORN V10.B8, V27.B8, V10.B8
+b406010f| plan9 VMOVI $53, V20.S2
+f564040f| plan9 VMOVI $(135<<24), V21.S2
+b21cb80e| plan9 VORR V24.B8, V5.B8, V18.B8
+2b437a2e| plan9 VRADDHN V26.S4, V25.S4, V11.H4
+6d402c6e| plan9 VRADDHN2 V12.H8, V3.H8, V13.B16
+655a606e| plan9 VRBIT V19.B16, V5.B16
+5108202e| plan9 VREV32 V2.B8, V17.B8
+750a200e| plan9 VREV64 V19.B8, V21.B8
+f88f0b0f| plan9 VRSHRN $5, V31.H8, V24.B8
+8263236e| plan9 VRSUBHN2 V3.H8, V28.H8, V2.B16
+787c320e| plan9 VSABA V18.B8, V3.B8, V24.B8
+f551220e| plan9 VSABAL V2.B8, V15.B8, V21.H8
+b5766d0e| plan9 VSABD V13.H4, V21.H4, V21.H4
+9270240e| plan9 VSABDL V4.B8, V4.B8, V18.H8
+4d71384e| plan9 VSABDL2 V24.B16, V10.B16, V13.H8
+8f6a600e| plan9 VSADALP V20.H4, V15.S2
+e501750e| plan9 VSADDL V21.H4, V15.H4, V5.S4
+5202ab4e| plan9 VSADDL2 V11.S4, V18.S4, V18.D2
+7029200e| plan9 VSADDLP V11.B8, V16.H4
+3913710e| plan9 VSADDW V17.H4, V25.S4, V25.S4
+d7e4575f| plan9 SCVTF $41, F6, F23
+c6db215e| plan9 SCVTFSS F30, F6
+17d8214e| plan9 SCVTF V0.S4, V23.S4
+62c4021e| plan9 SCVTF $15, R3, F2
+f5cd421e| plan9 SCVTF $13, R15, F21
+6128029e| plan9 SCVTF $54, R3, F1
+9a7c429e| plan9 SCVTF $33, R4, F26
+6102221e| plan9 SCVTFWS R19, F1
+0b03621e| plan9 SCVTFWD R24, F11
+ed01229e| plan9 SCVTFS R15, F13
+6f02629e| plan9 SCVTFD R19, F15
+ac03055e| plan9 SHA1C V5.S4, F29, V12
+e309285e| plan9 SHA1H F15, F3
+2a221b5e| plan9 SHA1M V27.S4, F17, V10
+a013185e| plan9 SHA1P V24.S4, F29, V0
+6032005e| plan9 VSHA1SU0 V0.S4, V19.S4, V0.S4
+f918285e| plan9 VSHA1SU1 V7.S4, V25.S4
+fb50035e| plan9 SHA256H2 V3.S4, V7, V27
+6d421c5e| plan9 SHA256H V28.S4, V19, V13
+c12b285e| plan9 VSHA256SU0 V30.S4, V1.S4
+6362095e| plan9 VSHA256SU1 V9.S4, V19.S4, V3.S4
+a805bb0e| plan9 VSHADD V27.S2, V13.S2, V8.S2
+783b616e| plan9 VSHLL2 $16, V27.H8, V24.S4
+48841b0f| plan9 VSHRN $5, V2.S4, V8.H4
+a924bc4e| plan9 VSHSUB V28.S4, V5.S4, V9.S4
+1557717f| plan9 SLI $49, F24, F21
+2a56456f| plan9 VSLI $5, V17.D2, V10.D2
+7c663b0e| plan9 VSMAX V27.B8, V19.B8, V28.B8
+b5a7694e| plan9 VSMAXP V9.H8, V29.H8, V21.H8
+8ea8b04e| plan9 SMAXV V4.S4, F14
+936cb44e| plan9 VSMIN V20.S4, V4.S4, V19.S4
+15af7e4e| plan9 VSMINP V30.H8, V24.H8, V21.H8
+3e81694e| plan9 VSMLAL2 V9.H8, V9.H8, V30.S4
+29a26d0e| plan9 VSMLSL V13.H4, V17.H4, V9.S4
+442e0b4e| plan9 SMOV V18.B[5], R4
+e1a0540f| plan9 VSMULL V4.H[1], V7.H4, V1.S4
+5eaa604f| plan9 VSMULL2 V0.H[6], V18.H8, V30.S4
+4cc32d4e| plan9 VSMULL2 V13.B16, V26.B16, V12.H8
+1e7a205e| plan9 SQABS F16, F30
+e67ae04e| plan9 VSQABS V23.D2, V6.D2
+a80ded5e| plan9 SQADD F13, F13, F8
+e60dae4e| plan9 VSQADD V14.S4, V15.S4, V6.S4
+fe33570f| plan9 VSQDMLAL V7.H[1], V31.H4, V30.S4
+ee90b64e| plan9 VSQDMLAL2 V22.S4, V7.S4, V14.D2
+ce79a05f| plan9 SQDMLSL V0.S[3], F14, F14
+d5b2a14e| plan9 VSQDMLSL2 V1.S4, V22.S4, V21.D2
+51cb575f| plan9 SQDMULH V7.H[5], F26, F17
+0cb5b54e| plan9 VSQDMULH V21.S4, V8.S4, V12.S4
+95d0760e| plan9 VSQDMULL V22.H4, V4.H4, V21.S4
+a1d37c4e| plan9 VSQDMULL2 V28.H8, V29.H8, V1.S4
+d679e07e| plan9 SQNEG F14, F22
+3f78602e| plan9 VSQNEG V1.H4, V31.H4
+80b4717e| plan9 SQRDMULH F17, F4, F0
+4cb76e2e| plan9 VSQRDMULH V14.H4, V26.H4, V12.H4
+aa5ce95e| plan9 SQRSHL F9, F5, F10
+d25fb74e| plan9 VSQRSHL V23.S4, V30.S4, V18.S4
+998c0c6f| plan9 VSQRSHRUN2 $4, V4.H8, V25.B16
+4375605f| plan9 SQSHL $32, F10, F3
+de743f0f| plan9 VSQSHL $31, V6.S2, V30.S2
+a84d675e| plan9 SQSHL F7, F13, F8
+674dbe4e| plan9 VSQSHL V30.S4, V11.S4, V7.S4
+5165587f| plan9 SQSHLU $24, F10, F17
+b464042f| plan9 VMVNI $(133<<24), V20.S2
+2086207f| plan9 SQSHRUN $32, F17, F0
+8a851a2f| plan9 VSQSHRUN $6, V12.S4, V10.H4
+652c255e| plan9 SQSUB F5, F3, F5
+632eb30e| plan9 VSQSUB V19.S2, V19.S2, V3.S2
+104ba15e| plan9 SQXTN F24, F16
+2249214e| plan9 VSQXTN2 V9.H8, V2.B16
+1c14360e| plan9 VSRHADD V22.B8, V0.B8, V28.B8
+8044076f| plan9 VMVNI $(228<<16), V0.S4
+3a57ed5e| plan9 SRSHL F13, F25, F26
+2c56ef4e| plan9 VSRSHL V15.D2, V17.D2, V12.D2
+9627140f| plan9 VSRSHR $12, V28.H4, V22.H4
+bd37565f| plan9 SRSRA $42, F29, F29
+db34594f| plan9 VSRSRA $39, V6.D2, V27.D2
+4546a10e| plan9 VSSHL V1.S2, V18.S2, V5.S2
+aca7020f| plan9 VMOVI $(93<<8), V12.H4
+e004675f| plan9 SSHR $25, F7, F0
+e5057f4f| plan9 VSSHR $1, V15.D2, V5.D2
+1b15595f| plan9 SSRA $39, F8, F27
+ba15250f| plan9 VSSRA $27, V13.S2, V26.S2
+3620330e| plan9 VSSUBL V19.B8, V1.B8, V22.H8
+c1316d4e| plan9 VSSUBW2 V13.H8, V14.S4, V1.S4
+8a76000c| plan9 VST1 (R20), [V10.H4]
+10a5004c| plan9 VST1 (R8), [V16.H8, V17.H8]
+ab6b004c| plan9 VST1 (R29), [V11.S4, V12.S4, V13.S4]
+8d2b004c| plan9 VST1 (R28), [V13.S4, V14.S4, V15.S4, V16.S4]
+8d7d9f0c| plan9 VST1 8(R12), [V13.D1]
+eb73840c| plan9 VST1 (RSP)(R4), [V11.B8]
+48a69f4c| plan9 VST1 32(R18), [V8.H8, V9.H8]
+dca19b4c| plan9 VST1 (R14)(R27), [V28.B16, V29.B16]
+7c699f4c| plan9 VST1 48(R11), [V28.S4, V29.S4, V30.S4]
+da6d870c| plan9 VST1 (R14)(R7), [V26.D1, V27.D1, V28.D1]
+7f279f0c| plan9 VST1 32(R27), [V31.H4, V0.H4, V1.H4, V2.H4]
+4421810c| plan9 VST1 (R10)(R1), [V4.B8, V5.B8, V6.B8, V7.B8]
+a615004d| plan9 ST1 (R13), [V6.B][13]
+ce92000d| plan9 ST1 (R22), [V14.S][1]
+c985000d| plan9 ST1 (R14), [V9.D][0]
+380f9f0d| plan9 ST1 1(R25), [V24.B][3]
+de0b944d| plan9 ST1 (R30)(R20), [V30.B][10]
+3141880d| plan9 ST1 (R9)(R8), [V17.H][0]
+8e939f0d| plan9 ST1 4(R28), [V14.S][1]
+c890870d| plan9 ST1 (R6)(R7), [V8.S][1]
+9f869f4d| plan9 ST1 8(R20), [V31.D][1]
+38879b4d| plan9 ST1 (R25)(R27), [V24.D][1]
+4181004c| plan9 VST2 (R10), [V1.B16, V2.B16]
+d6819f0c| plan9 VST2 16(R14), [V22.B8, V23.B8]
+bf808a0c| plan9 VST2 (R5)(R10), [V31.B8, V0.B8]
+bd0e204d| plan9 ST2 (R21), [V29.B, V30.B][11]
+4551204d| plan9 ST2 (R10), [V5.H, V6.H][6]
+9982204d| plan9 ST2 (R20), [V25.S, V26.S][2]
+ea86200d| plan9 ST2 (R23), [V10.D, V11.D][0]
+7b02bf0d| plan9 ST2 2(R19), [V27.B, V28.B][0]
+c000a04d| plan9 ST2 (R6)(R0), [V0.B, V1.B][8]
+fb59a40d| plan9 ST2 (R15)(R4), [V27.H, V28.H][3]
+f880bf0d| plan9 ST2 8(R7), [V24.S, V25.S][0]
+f582ac4d| plan9 ST2 (R23)(R12), [V21.S, V22.S][2]
+9c86bf4d| plan9 ST2 16(R20), [V28.D, V29.D][1]
+3386b14d| plan9 ST2 (R17)(R17), [V19.D, V20.D][1]
+c0469f0c| plan9 VST3 24(R22), [V0.H4, V1.H4, V2.H4]
+2243820c| plan9 VST3 (R25)(R2), [V2.B8, V3.B8, V4.B8]
+c629000d| plan9 ST3 (R14), [V6.B, V7.B, V8.B][2]
+4f6a004d| plan9 ST3 (R18), [V15.H, V16.H, V17.H][5]
+72a0004d| plan9 ST3 (R3), [V18.S, V19.S, V20.S][2]
+c1a4000d| plan9 ST3 (R6), [V1.D, V2.D, V3.D][0]
+312e9f0d| plan9 ST3 3(R17), [V17.B, V18.B, V19.B][3]
+9a28934d| plan9 ST3 (R4)(R19), [V26.B, V27.B, V28.B][10]
+a1799f4d| plan9 ST3 6(R13), [V1.H, V2.H, V3.H][7]
+3ba29f0d| plan9 ST3 12(R17), [V27.S, V28.S, V29.S][0]
+80b2870d| plan9 ST3 (R20)(R7), [V0.S, V1.S, V2.S][1]
+f6a49f4d| plan9 ST3 24(R7), [V22.D, V23.D, V24.D][1]
+8fa69a4d| plan9 ST3 (R20)(R26), [V15.D, V16.D, V17.D][1]
+ee09000c| plan9 VST4 (R15), [V14.S2, V15.S2, V16.S2, V17.S2]
+1e07880c| plan9 VST4 (R24)(R8), [V30.H4, V31.H4, V0.H4, V1.H4]
+6426204d| plan9 ST4 (R19), [V4.B, V5.B, V6.B, V7.B][9]
+4ea2204d| plan9 ST4 (R18), [V14.S, V15.S, V16.S, V17.S][2]
+05a6200d| plan9 ST4 (R16), [V5.D, V6.D, V7.D, V8.D][0]
+5b21bf0d| plan9 ST4 4(R10), [V27.B, V28.B, V29.B, V30.B][0]
+ce28a00d| plan9 ST4 (R6)(R0), [V14.B, V15.B, V16.B, V17.B][2]
+767bbf4d| plan9 ST4 8(R27), [V22.H, V23.H, V24.H, V25.H][7]
+747aa24d| plan9 ST4 (R19)(R2), [V20.H, V21.H, V22.H, V23.H][7]
+24b0bf0d| plan9 ST4 16(R1), [V4.S, V5.S, V6.S, V7.S][1]
+c7b1a90d| plan9 ST4 (R14)(R9), [V7.S, V8.S, V9.S, V10.S][1]
+9fa4bf4d| plan9 ST4 32(R4), [V31.D, V0.D, V1.D, V2.D][1]
+70a4ab4d| plan9 ST4 (R3)(R11), [V16.D, V17.D, V18.D, V19.D][1]
+89fe2e2c| plan9 STNP -140(R20), F31, F9
+bfd31d6c| plan9 STNP 472(R29), F20, F31
+ddf301ac| plan9 STNP 48(R30), V28, V29
+14f6ac2c| plan9 STP.P (F20, F29), -156(R16)
+251db76c| plan9 STP.P (F5, F7), -144(R9)
+e51fb7ac| plan9 STP.P (V5, V7), -288(RSP)
+5c90852d| plan9 STP.W (F28, F4), 44(R2)
+4c51a56d| plan9 STP.W (F12, F20), -432(R10)
+265d8aad| plan9 STP.W (V6, V23), 320(R9)
+9c0c392d| plan9 STP (F28, F3), -56(R4)
+b49e1e6d| plan9 STP (F20, F7), 488(R21)
+55f105ad| plan9 STP (V21, V28), 176(R10)
+4dd6003c| plan9 MOVD.P F13, 13(R18)
+e357067c| plan9 MOVD.P F3, 101(RSP)
+f6841dbc| plan9 MOVD.P F22, -40(R7)
+54b710fc| plan9 MOVD.P F20, -245(R26)
+0d07833c| plan9 MOVD.P V13, 48(R24)
+393f003c| plan9 MOVD.W F25, 3(R25)
+1fac007c| plan9 MOVD.W F31, 10(R0)
+d41d13bc| plan9 MOVD.W F20, -207(R14)
+908f0dfc| plan9 MOVD.W F16, 216(R28)
+5ded9d3c| plan9 MOVD.W V29, -34(R10)
+6d72073d| plan9 MOVD F13, 476(R19)
+68752d7d| plan9 MOVD F8, 5818(R11)
+084728bd| plan9 MOVD F8, 10308(R24)
+409503fd| plan9 MOVD F0, 1832(R10)
+58a1963d| plan9 MOVD V24, 23168(R10)
+967b313c| plan9 MOVD F22, R17<<1(R28)
+b4683e7c| plan9 MOVD F20, R30(R5)
+e5e1143c| plan9 MOVD F5, -178(R15)
+99901e7c| plan9 MOVD F25, -23(R4)
+bb0012bc| plan9 MOVD F27, -224(R5)
+1d710cfc| plan9 MOVD F29, 199(R8)
+17e1873c| plan9 MOVD V23, 126(R8)
+ed84a26e| plan9 VSUB V2.S4, V7.S4, V13.S4
+7761b80e| plan9 VSUBHN V24.D2, V11.D2, V23.S2
+f838205e| plan9 SUQADD F7, F24
+7739600e| plan9 VSUQADD V11.H4, V23.H4
+26a5204f| plan9 VSXTL2 V9.S4, V6.D2
+5a201a4e| plan9 VTBL V26.B16, [V2.B16, V3.B16], V26.B16
+c2400f0e| plan9 VTBL V15.B8, [V6.B16, V7.B16, V8.B16], V2.B8
+7263024e| plan9 VTBL V2.B16, [V27.B16, V28.B16, V29.B16, V30.B16], V18.B16
+bb010b4e| plan9 VTBL V11.B16, [V13.B16], V27.B16
+5f31184e| plan9 VTBX V24.B16, [V10.B16, V11.B16], V31.B16
+a952100e| plan9 VTBX V16.B8, [V21.B16, V22.B16, V23.B16], V9.B8
+4872170e| plan9 VTBX V23.B8, [V18.B16, V19.B16, V20.B16, V21.B16], V8.B8
+dc110e4e| plan9 VTBX V14.B16, [V14.B16], V28.B16
+d7289a4e| plan9 VTRN1 V26.S4, V6.S4, V23.S4
+cd6a924e| plan9 VTRN2 V18.S4, V22.S4, V13.S4
+a552392e| plan9 VUABAL V25.B8, V21.B8, V5.H8
+a653256e| plan9 VUABAL2 V5.B16, V29.B16, V6.H8
+fb70b42e| plan9 VUABDL V20.S2, V7.S2, V27.D2
+3b6a202e| plan9 VUADALP V17.B8, V27.H4
+8a03b22e| plan9 VUADDL V18.S2, V28.S2, V10.D2
+262a206e| plan9 VUADDLP V17.B16, V6.H8
+8410312e| plan9 VUADDW V17.B8, V4.H8, V4.H8
+bf11ae6e| plan9 VUADDW2 V14.S4, V13.D2, V31.D2
+a7e65d7f| plan9 UCVTF $35, F21, F7
+8bda617e| plan9 UCVTFDD F20, F11
+7fb8431e| plan9 UCVTF $18, R3, F31
+1c0f039e| plan9 UCVTF $61, R24, F28
+2241439e| plan9 UCVTF $48, R9, F2
+d701231e| plan9 UCVTFWS R14, F23
+9600631e| plan9 UCVTFWD R4, F22
+8b01239e| plan9 UCVTFS R12, F11
+7202639e| plan9 UCVTFD R19, F18
+3406b82e| plan9 VUHADD V24.S2, V17.S2, V20.S2
+9264612e| plan9 VUMAX V1.H4, V4.H4, V18.H4
+d9a5772e| plan9 VUMAXP V23.H4, V14.H4, V25.H4
+74a8b06e| plan9 UMAXV V3.S4, F20
+24a8312e| plan9 UMINV V1.B8, F4
+c5218e2f| plan9 VUMLAL V14.S[0], V14.S2, V5.D2
+3d20a76f| plan9 VUMLAL2 V7.S[1], V1.S4, V29.D2
+90817e6e| plan9 VUMLAL2 V30.H8, V12.H8, V16.S4
+0f69a46f| plan9 VUMLSL2 V4.S[3], V8.S4, V15.D2
+4aa27c2e| plan9 VUMLSL V28.H4, V18.H4, V10.S4
+48a27b6e| plan9 VUMLSL2 V27.H8, V18.H8, V8.S4
+833c0d0e| plan9 UMOVW V4.B[6], R3
+e2a1b22f| plan9 VUMULL V18.S[1], V15.S2, V2.D2
+07c06f2e| plan9 VUMULL V15.H4, V0.H4, V7.S4
+470e367e| plan9 UQADD F22, F18, F7
+490e252e| plan9 VUQADD V5.B8, V18.B8, V9.B8
+bf5eaa7e| plan9 UQRSHL F10, F21, F31
+c49c347f| plan9 UQRSHRN $12, F6, F4
+b4757a7f| plan9 UQSHL $58, F13, F20
+d14f777e| plan9 UQSHL F23, F30, F17
+9e2d7a7e| plan9 UQSUB F26, F12, F30
+a62c296e| plan9 VUQSUB V9.B16, V5.B16, V6.B16
+5d4ba17e| plan9 UQXTN F26, F29
+454b212e| plan9 VUQXTN V26.H8, V5.B8
+1c48a16e| plan9 VUQXTN2 V0.D2, V28.S4
+4157736e| plan9 VURSHL V19.H8, V26.H8, V1.H8
+2d26797f| plan9 URSHR $7, F17, F13
+bd27466f| plan9 VURSHR $58, V29.D2, V29.D2
+bcc8a12e| plan9 VURSQRTE V5.S2, V28.S2
+f5345d7f| plan9 URSRA $35, F7, F21
+f8353a6f| plan9 VURSRA $6, V15.S4, V24.S4
+85a6342f| plan9 VUSHLL $20, V20.S2, V5.D2
+e7a70e6f| plan9 VUSHLL2 $6, V31.B16, V7.H8
+ed04787f| plan9 USHR $8, F7, F13
+8f07362f| plan9 VUSHR $10, V28.S2, V15.S2
+963a607e| plan9 USQADD F20, F22
+383a206e| plan9 VUSQADD V17.B16, V24.B16
+ef16596f| plan9 VUSRA $39, V23.D2, V15.D2
+f222ab2e| plan9 VUSUBL V11.S2, V23.S2, V18.D2
+9220696e| plan9 VUSUBL2 V9.H8, V4.H8, V18.S4
+0130312e| plan9 VUSUBW V17.B8, V0.H8, V1.H8
+a932a06e| plan9 VUSUBW2 V0.S4, V21.D2, V9.D2
+9a19910e| plan9 VUZP1 V17.S2, V12.S2, V26.S2
+a379ca4e| plan9 VZIP2 V10.D2, V13.D2, V3.D2
+1202011a| plan9 ADCW R1, R16, R18
+6900199a| plan9 ADC R25, R3, R9
+01010f3a| plan9 ADCSW R15, R8, R1
+13010fba| plan9 ADCS R15, R8, R19
+55ed280b| plan9 ADDW R8.SXTX<<3, R10, R21
+2077268b| plan9 ADD R6.UXTX<<5, R25, R0
+7f40560b| plan9 ADDW R22>>16, R3, ZR
+3a16282b| plan9 ADDSW R8.UXTB<<5, R17, R26
+f8a336ab| plan9 ADDS R22.SXTH, RSP, R24
+000e6d31| plan9 ADDSW $(2883<<12), R16, R0
+b48e49b1| plan9 ADDS $(611<<12), R21, R20
+7e174e2b| plan9 ADDSW R14>>5, R27, R30
+3aa13f12| plan9 ANDW $66978814, R9, R26
+32a23592| plan9 AND $-571965880182769649, R17, R18
+b478070a| plan9 ANDW R7<<30, R5, R20
+dd1f988a| plan9 AND R24->7, R30, R29
+a7351b72| plan9 ANDSW $524256, R13, R7
+1c056ef2| plan9 ANDS $786432, R8, R28
+defd52ea| plan9 ANDS R18>>63, R14, R30
+8c28d01a| plan9 ASRW R16, R4, R12
+582ac09a| plan9 ASR R0, R18, R24
+647d1813| plan9 ASRW $24, R11, R4
+d1fe5b93| plan9 ASR $27, R22, R17
+2329c31a| plan9 ASRW R3, R9, R3
+d929d69a| plan9 ASR R22, R14, R25
+aefa5354| plan9 BAL 171989(PC)
+76ad3917| plan9 JMP -12997258(PC)
+de320f33| plan9 BFIW $17, R22, $13, R30
+af144db3| plan9 BFI $51, R5, $6, R15
+161c7eb3| plan9 BFI $2, R0, $8, R22
+f9791733| plan9 BFXILW $23, R15, $8, R25
+781577b3| plan9 BFI $9, R11, $6, R24
+0f65f98a| plan9 BIC R25@>25, R8, R15
+2c37e16a| plan9 BICSW R1@>13, R25, R12
+a6f473ea| plan9 BICS R19>>61, R5, R6
+f064ad96| plan9 CALL -22190864(PC)
+80023fd6| plan9 CALL (R20)
+00001fd6| plan9 JMP (R0)
+80de3ed4| plan9 BRK $63220
+4e2a483a| plan9 CCMNW HS, R18, $8, $14
+4a3a4eba| plan9 CCMN LO, R18, $14, $10
+0143553a| plan9 CCMNW MI, R24, R21, $1
+c09359ba| plan9 CCMN LS, R30, R25, $0
+020a567a| plan9 CCMPW EQ, R16, $22, $2
+a6985afa| plan9 CCMP LS, R5, $26, $6
+6fc0487a| plan9 CCMPW GT, R3, R8, $15
+21d14bfa| plan9 CCMP LE, R9, R11, $1
+75f5991a| plan9 CSINCW AL, R11, R25, R21
+5a25919a| plan9 CSINC HS, R10, R17, R26
+6a938c5a| plan9 CSINVW LS, R27, R12, R10
+6a408eda| plan9 CSINV MI, R3, R14, R10
+5f3603d5| plan9 CLREX $6
+a017c05a| plan9 CLSW R29, R0
+2616c0da| plan9 CLS R17, R6
+9411c05a| plan9 CLZW R12, R20
+c611c0da| plan9 CLZ R14, R6
+9fc3322b| plan9 CMNW R18.SXTW, R28
+3f9638ab| plan9 CMN R24.SXTB<<5, R17
+3f681db1| plan9 CMN $1882, R1
+bfd15bab| plan9 CMN R27>>52, R13
+ff723b6b| plan9 CMPW R27.UXTX<<4, R23
+1f5234eb| plan9 CMP R20.UXTW<<4, R16
+9fb22a71| plan9 CMPW $2732, R20
+df2478f1| plan9 CMP $(3593<<12), R6
+bf07026b| plan9 CMPW R2<<1, R29
+bfc514eb| plan9 CMP R20<<49, R13
+d494975a| plan9 CSNEGW LS, R6, R23, R20
+763591da| plan9 CSNEG LO, R11, R17, R22
+b440c91a| plan9 CRC32B R9, R5, R20
+5745cd1a| plan9 CRC32H R13, R10, R23
+684ad01a| plan9 CRC32W R16, R19, R8
+884fd59a| plan9 CRC32X R21, R28, R8
+ea50c61a| plan9 CRC32CB R6, R7, R10
+1357cf1a| plan9 CRC32CH R15, R24, R19
+9859c21a| plan9 CRC32CW R2, R12, R24
+6e5fde9a| plan9 CRC32CX R30, R27, R14
+9340941a| plan9 CSELW MI, R4, R20, R19
+dd42839a| plan9 CSEL MI, R22, R3, R29
+fe779f1a| plan9 CSETW VS, R30
+f1279f9a| plan9 CSET LO, R17
+eb839f5a| plan9 CSETMW LS, R11
+e3139fda| plan9 CSETM EQ, R3
+a986841a| plan9 CSINCW HI, R21, R4, R9
+19b78b9a| plan9 CSINC LT, R24, R11, R25
+4643835a| plan9 CSINVW MI, R26, R3, R6
+5ee38cda| plan9 CSINV AL, R26, R12, R30
+d166945a| plan9 CSNEGW VS, R22, R20, R17
+55f793da| plan9 CSNEG AL, R26, R19, R21
+0158add4| plan9 DCPS1 $27328
+82ceb2d4| plan9 DCPS2 $38516
+a31eb3d4| plan9 DCPS3 $39157
+bf3203d5| plan9 DMB $2
+e003bfd6| plan9 DRPS
+9f3403d5| plan9 DSB $4
+2e2faeca| plan9 EON R14->11, R25, R14
+de6b0152| plan9 EORW $2214592511, R30, R30
+4a7714d2| plan9 EOR $-13194139536385, R26, R10
+2cea0dca| plan9 EOR R13<<58, R17, R12
+e0039fd6| plan9 ERET
+834cce93| plan9 EXTR $19, R14, R4, R3
+5f2003d5| plan9 WFE
+bf2e03d5| plan9 HINT $117
+e0f055d4| plan9 HLT $44935
+df3403d5| plan9 ISB $4
+22fcdf88| plan9 LDARW (R1), R2
+78fedfc8| plan9 LDAR (R19), R24
+cffcdf08| plan9 LDARB (R6), R15
+34fedf48| plan9 LDARH (R17), R20
+17bb7f88| plan9 LDAXPW (R24), R14, R23
+6ffe7fc8| plan9 LDAXP (R19), ZR, R15
+acfe5f88| plan9 LDAXRW (R21), R12
+cafe5fc8| plan9 LDAXR (R22), R10
+ddfd5f08| plan9 LDAXRB (R14), R29
+0efd5f48| plan9 LDAXRH (R8), R14
+66445128| plan9 LDNPW 136(R3), R17, R6
+3fa77fa8| plan9 LDNP -8(R25), R9, ZR
+1e04eb28| plan9 LDP.P -168(R0), (R30, R1)
+0da6c0a8| plan9 LDP.P 8(R16), (R13, R9)
+7d00d429| plan9 LDP.W 160(R3), (R29, R0)
+d26ae1a9| plan9 LDP.W -496(R22), (R18, R26)
+d0ca6829| plan9 LDP -188(R22), (R16, R18)
+a5e34fa9| plan9 LDP 248(R29), (R5, R24)
+3e44d168| plan9 LDPSW 136(R1), R17, R30
+5f08e169| plan9 LDPSW -248(R2), R2, ZR
+430d6769| plan9 LDPSW -200(R10), R3, R3
+2c555bb8| plan9 MOVWU.P -75(R9), R12
+83c557f8| plan9 MOVD.P -132(R12), R3
+f36e47b8| plan9 MOVWU.W 118(R23), R19
+6b1f48f8| plan9 MOVD.W 129(R27), R11
+f5d64ab9| plan9 MOVWU 2772(R23), R21
+872d7cf9| plan9 MOVD 30808(R12), R7
+82a75438| plan9 MOVBU.P -182(R28), R2
+a7fd5738| plan9 MOVBU.W -129(R13), R7
+c83d4239| plan9 MOVBU 143(R14), R8
+8e687e38| plan9 MOVBU R30(R4), R14
+70575378| plan9 MOVHU.P -203(R27), R16
+015f5078| plan9 MOVHU.W -251(R24), R1
+7add5c79| plan9 MOVHU 3694(R11), R26
+c474c338| plan9 MOVBW.P 55(R6), R4
+28869638| plan9 MOVB.P -152(R17), R8
+fe3fd438| plan9 MOVBW.W -189(RSP), R30
+da0f9938| plan9 MOVB.W -112(R30), R26
+5b3ac739| plan9 MOVBW 462(R18), R27
+2c579e39| plan9 MOVB 1941(R25), R12
+fb68f238| plan9 MOVBW R18(R7), R27
+f26aad38| plan9 MOVB R13(R23), R18
+17e4c978| plan9 MOVHW.P 158(R0), R23
+a2759f78| plan9 MOVH.P -9(R13), R2
+9c6ec478| plan9 MOVHW.W 70(R20), R28
+fd6f8278| plan9 MOVH.W 38(RSP), R29
+a82bc279| plan9 MOVHW 276(R29), R8
+9d89b979| plan9 MOVH 7364(R12), R29
+962685b8| plan9 MOVW.P 82(R20), R22
+76ae8bb8| plan9 MOVW.W 186(R19), R22
+fc2193b9| plan9 MOVW 4896(R15), R28
+e34842b8| plan9 LDTRW 36(R7), R3
+4ff84df8| plan9 LDTR 223(R2), R15
+d9e84f38| plan9 LDTRBW 254(R6), R25
+397b5378| plan9 LDTRHW -201(R25), R25
+c4c9d138| plan9 LDTRSBW -228(R14), R4
+02789638| plan9 LDTRSB -153(R0), R2
+a988cb78| plan9 LDTRSHW 184(R5), R9
+03888978| plan9 LDTRSH 152(R0), R3
+ccb99fb8| plan9 LDTRSW -5(R14), R12
+efb154b8| plan9 LDURW -181(R15), R15
+fc2051f8| plan9 LDUR -238(R7), R28
+86d04438| plan9 LDURBW 77(R4), R6
+73405d78| plan9 LDURHW -44(R3), R19
+7a81d538| plan9 LDURSBW -168(R11), R26
+b0b28038| plan9 LDURSB 11(R21), R16
+b4a1d278| plan9 LDURSHW -214(R13), R20
+3ed18078| plan9 LDURSH 13(R9), R30
+09628eb8| plan9 LDURSW 230(R16), R9
+c07e7f88| plan9 LDXPW (R22), ZR, R0
+3e167fc8| plan9 LDXP (R17), R5, R30
+727c5f88| plan9 LDXRW (R3), R18
+487c5fc8| plan9 LDXR (R2), R8
+867d5f08| plan9 LDXRB (R12), R6
+747f5f48| plan9 LDXRH (R27), R20
+d920d71a| plan9 LSLW R23, R6, R25
+b920c59a| plan9 LSL R5, R5, R25
+4da947d3| plan9 UBFX $7, R10, $36, R13
+be23ca1a| plan9 LSLW R10, R29, R30
+cc20d19a| plan9 LSL R17, R6, R12
+ae26c31a| plan9 LSRW R3, R21, R14
+fc27cb9a| plan9 LSR R11, ZR, R28
+2b7e1053| plan9 LSRW $16, R17, R11
+cefe75d3| plan9 LSR $53, R22, R14
+3b25d01a| plan9 LSRW R16, R9, R27
+e826d79a| plan9 LSR R23, R23, R8
+5504031b| plan9 MADDW R3, R1, R2, R21
+9e5c109b| plan9 MADD R16, R23, R4, R30
+00fe1f1b| plan9 MNEGW ZR, R16, R0
+6efe179b| plan9 MNEG R23, R19, R14
+31020011| plan9 ADDW $0, R17, R17
+21000091| plan9 ADD $0, R1, R1
+39f1bf12| plan9 MOVW $7798783, R25
+53b3e992| plan9 MOVD $-5591781887333892097, R19
+c0fd9552| plan9 MOVW $45038, R0
+f16b97d2| plan9 MOVD $47967, R17
+e8972232| plan9 MOVW $3222257679, R8
+e27323b2| plan9 MOVD $-2017612633531744257, R2
+e9030e2a| plan9 MOVW R14, R9
+fb0310aa| plan9 MOVD R16, R27
+d0e48472| plan9 MOVKW $10022, R16
+432dbcf2| plan9 MOVK $(57706<<16), R3
+4b679612| plan9 MOVW $4294921413, R11
+9121e492| plan9 MOVD $-2381278302972149761, R17
+00be90d2| plan9 MOVD $34288, R0
+91d730d5| plan9 MRS $1724, R17
+cf301fd5| plan9 MSR R15, $31110
+daea181b| plan9 MSUBW R24, R26, R22, R26
+e1a7109b| plan9 MSUB R16, R9, ZR, R1
+477f0d1b| plan9 MULW R13, R26, R7
+a17d1c9b| plan9 MUL R28, R13, R1
+fc9b79aa| plan9 MVN R25>>38, R28
+f71b904b| plan9 NEGW R16->6, R23
+e3df4acb| plan9 NEG R10>>55, R3
+f0334e6b| plan9 NEGSW R14>>12, R16
+e6031f5a| plan9 NGCW ZR, R6
+f40302da| plan9 NGC R2, R20
+ee03137a| plan9 NGCSW R19, R14
+ee0303fa| plan9 NGCS R3, R14
+1f2003d5| plan9 NOP
+ab14e92a| plan9 ORNW R9@>5, R5, R11
+185c3faa| plan9 ORN ZR<<23, R0, R24
+a8850c32| plan9 ORRW $3145776, R13, R8
+cad023b2| plan9 ORR $-2025524839466146845, R6, R10
+5487ccaa| plan9 ORR R12@>33, R26, R20
+293783f9| plan9 PRFM 1640(R25), PLIL1STRM
+bc7389f8| plan9 PRFUM 151(R29), #0X1C
+9203c05a| plan9 RBITW R28, R18
+0501c0da| plan9 RBIT R8, R5
+40005fd6| plan9 RET R2
+940ac05a| plan9 REVW R20, R20
+ca0fc0da| plan9 REV R30, R10
+7807c05a| plan9 REV16W R27, R24
+fb06c0da| plan9 REV16 R23, R27
+dc0ac0da| plan9 REV32 R22, R28
+970dc0da| plan9 REV R12, R23
+42408813| plan9 EXTRW $16, R8, R2, R2
+5a96db93| plan9 EXTR $37, R27, R18, R26
+782cc41a| plan9 RORW R4, R3, R24
+8c2ec69a| plan9 ROR R6, R20, R12
+372ec61a| plan9 RORW R6, R17, R23
+b72ddc9a| plan9 ROR R28, R13, R23
+e501185a| plan9 SBCW R24, R15, R5
+ac0011da| plan9 SBC R17, R5, R12
+7a03067a| plan9 SBCSW R6, R27, R26
+310008fa| plan9 SBCS R8, R1, R17
+65837f93| plan9 SBFIZ $1, R27, $33, R5
+5c1b4793| plan9 SBFIZ $57, R26, $7, R28
+a71f5b93| plan9 SBFIZ $37, R29, $8, R7
+640ede1a| plan9 SDIVW R30, R19, R4
+2a0dd99a| plan9 SDIV R25, R9, R10
+9f2003d5| plan9 SEV
+bf2003d5| plan9 SEVL
+045c389b| plan9 SMADDL R24, R23, R0, R4
+6efe3e9b| plan9 SMNEGL R30, R19, R14
+ebac239b| plan9 SMSUBL R3, R11, R7, R11
+947f459b| plan9 SMULH R5, R28, R20
+d67e3e9b| plan9 SMULL R30, R22, R22
+6dff9f88| plan9 STLRW R13, (R27)
+1ffd9fc8| plan9 STLR ZR, (R8)
+a8fe9f08| plan9 STLRB R8, (R21)
+abfd9f48| plan9 STLRH R11, (R13)
+2ec02888| plan9 STLXPW (R1), R16, R14, R8
+11993ec8| plan9 STLXPW (R8), R6, R17, R30
+bbfe0f88| plan9 STLXRW R27, (R21), R15
+e9fc09c8| plan9 STLXR R9, (R7), R9
+c6fe0708| plan9 STLXRB R6, (R22), R7
+c6fe0c48| plan9 STLXRH R6, (R22), R12
+b3283028| plan9 STNPW -128(R5), R10, R19
+252e26a8| plan9 STNP -416(R17), R11, R5
+9fb18c28| plan9 STP.P (ZR, R12), 100(R12)
+9ce5aba8| plan9 STP.P (R28, R25), -328(R12)
+e5d08229| plan9 STP.W (R5, R20), 20(R7)
+d6e79ea9| plan9 STP.W (R22, R25), 488(R30)
+9eef2029| plan9 STP (R30, R27), -252(R28)
+57b314a9| plan9 STP (R23, R12), 328(R26)
+eda503b8| plan9 MOVW.P R13, 58(R15)
+62241df8| plan9 MOVD.P R2, -46(R3)
+d2bd18b8| plan9 MOVW.W R18, -117(R14)
+542d12f8| plan9 MOVD.W R20, -222(R10)
+e92c3bb9| plan9 MOVW R9, 15148(R7)
+de4804f9| plan9 MOVD R30, 2192(R6)
+cce40b38| plan9 MOVB.P R12, 190(R6)
+eafd1238| plan9 MOVB.W R10, -209(R15)
+7fcb0639| plan9 MOVB ZR, 434(R27)
+5c6a3e38| plan9 MOVB R28, R30(R18)
+a8551978| plan9 MOVH.P R8, -107(R13)
+9e6c0c78| plan9 MOVH.W R30, 198(R4)
+c83d0e79| plan9 MOVH R8, 1822(R14)
+502a1db8| plan9 STTRW -46(R18), R16
+ae180af8| plan9 STTR 161(R5), R14
+ea1a0138| plan9 STTRBW 17(R23), R10
+416b0278| plan9 STTRHW 38(R26), R1
+659107b8| plan9 MOVW R5, 121(R11)
+6b611ff8| plan9 MOVD R11, -10(R11)
+99a01c38| plan9 MOVB R25, -54(R4)
+99421e78| plan9 MOVH R25, -28(R20)
+3e2a2688| plan9 STXPW (R17), R10, R30, R6
+2f6a2cc8| plan9 STXPW (R17), R26, R15, R12
+7d7f1b88| plan9 STXRW R29, (R27), R27
+6e7e1bc8| plan9 STXR R14, (R19), R27
+ec7c0208| plan9 STXRB R12, (R7), R2
+ee7f0648| plan9 STXRH R14, (RSP), R6
+2f8d204b| plan9 SUBW R0.SXTB<<3, R9, R15
+1fbe3acb| plan9 SUB R26.SXTH<<7, R16, RSP
+5af778d1| plan9 SUB $(3645<<12), R26, R26
+6729034b| plan9 SUBW R3<<10, R11, R7
+ae683f6b| plan9 SUBSW ZR.UXTX<<2, R5, R14
+2f993deb| plan9 SUBS R29.SXTB<<6, R9, R15
+db0d5f71| plan9 SUBSW $(1987<<12), R14, R27
+3aec1ff1| plan9 SUBS $2043, R1, R26
+1f24016b| plan9 CMPW R1<<9, R0
+a1ae1bd4| plan9 SVC $56693
+a61e0013| plan9 SXTBW R21, R6
+441c4093| plan9 SXTB R2, R4
+0c3c0013| plan9 SXTHW R0, R12
+b33f4093| plan9 SXTH R29, R19
+407f4093| plan9 SXTW R26, R0
+455929d5| plan9 SYSL $88384, R5
+bf8c1f72| plan9 TSTW $1966110, R5
+ff10836a| plan9 TSTW R3->4, R7
+dfc5daea| plan9 TST R26@>49, R14
+aa6e43d3| plan9 UBFX $3, R21, $25, R10
+46181a53| plan9 UBFIZW $6, R2, $7, R6
+43294bd3| plan9 LSL $53, R10, R3
+77787dd3| plan9 UBFIZ $3, R3, $31, R23
+1a0bd61a| plan9 UDIVW R22, R24, R26
+9308c19a| plan9 UDIV R1, R4, R19
+755aa19b| plan9 UMADDL R1, R22, R19, R21
+1ffdbe9b| plan9 UMNEGL R30, R8, ZR
+cbaaba9b| plan9 UMSUBL R26, R10, R22, R11
+0c7fdb9b| plan9 UMULH R27, R24, R12
+cc7da79b| plan9 UMULL R7, R14, R12
+3d1c0053| plan9 UXTBW R1, R29
+0e3f0053| plan9 UXTHW R24, R14
+5f2003d5| plan9 WFE
+7f2003d5| plan9 WFI
+3f2003d5| plan9 YIELD
+71b9604e| plan9 VABS V11.H8, V17.H8
+5186f65e| plan9 ADD F22, F18, F17
+4986f34e| plan9 VADD V19.D2, V18.D2, V9.D2
+1243720e| plan9 VADDHN V18.S4, V24.S4, V18.H4
+0640354e| plan9 VADDHN2 V21.H8, V0.H8, V6.B16
+d9bdfa4e| plan9 VADDP V26.D2, V14.D2, V25.D2
+4c59284e| plan9 VAESD V10.B16, V12.B16
+8c48284e| plan9 VAESE V4.B16, V12.B16
+f47a284e| plan9 VAESIMC V23.B16, V20.B16
+c56b284e| plan9 VAESMC V30.B16, V5.B16
+bf1c3b0e| plan9 VAND V27.B8, V5.B8, V31.B8
+6444026f| plan9 VMVNI $(67<<16), V4.S4
+1357032f| plan9 VBIC $(120<<16), V19.S2
+561d6a0e| plan9 VBIC V10.B8, V10.B8, V22.B8
+cd1ff06e| plan9 VBIF V16.B16, V30.B16, V13.B16
+f31ebd6e| plan9 VBIT V29.B16, V23.B16, V19.B16
+6f1d6c2e| plan9 VBSL V12.B8, V11.B8, V15.B8
+1e48600e| plan9 VCLS V0.H4, V30.H4
+6948202e| plan9 VCLZ V3.B8, V9.B8
+968efd7e| plan9 CMEQ F29, F20, F22
+e58f6d6e| plan9 VCMEQ V13.H8, V31.H8, V5.H8
+8f98600e| plan9 VCMEQ $0, V4.H4, V15.H4
+4f3db84e| plan9 VCMGE V24.S4, V10.S4, V15.S4
+2788a02e| plan9 VCMGE $0, V1.S2, V7.S2
+bf35714e| plan9 VCMGT V17.H8, V13.H8, V31.H8
+4a89604e| plan9 VCMGT $0, V10.H8, V10.H8
+9635252e| plan9 VCMHI V5.B8, V12.B8, V22.B8
+d83eff6e| plan9 VCMHS V31.D2, V22.D2, V24.D2
+cb99206e| plan9 VCMLE $0, V14.B16, V11.B16
+29a9604e| plan9 VCMLT $0, V9.H8, V9.H8
+d18eea5e| plan9 CMTST F10, F22, F17
+d18ea94e| plan9 VCMTST V9.S4, V22.S4, V17.S4
+4a04075e| plan9 VMOV V2.B[3], F10
+0504040e| plan9 VDUP V0.S[0], V5.S2
+b20e1f4e| plan9 VDUP R21, V18.B16
+2a1f3e6e| plan9 VEOR V30.B16, V25.B16, V10.B16
+0bd5aa7e| plan9 FABD F10, F8, F11
+12d7b96e| plan9 VFABD V25.S4, V24.S4, V18.S4
+a1f9a04e| plan9 FABS V13.S4, V1.S4
+1ac3201e| plan9 FABSS F24, F26
+d8c3601e| plan9 FABSD F30, F24
+95ee267e| plan9 FACGE F6, F20, F21
+2bee262e| plan9 VFACGE V6.S2, V17.S2, V11.S2
+1aedec7e| plan9 FACGT F12, F8, F26
+74effa6e| plan9 VFACGT V26.D2, V27.D2, V20.D2
+7ed4260e| plan9 FADD V6.S2, V3.S2, V30.S2
+4528251e| plan9 FADDS F5, F2, F5
+262b661e| plan9 FADDD F6, F25, F6
+84d8707e| plan9 FADDP V4.D2, F4
+71d4276e| plan9 VFADDP V7.S4, V3.S4, V17.S4
+a5f43f1e| plan9 FCCMPS AL, F31, F5, $5
+20e5601e| plan9 FCCMPD AL, F0, F9, $0
+52d4331e| plan9 FCCMPES LE, F19, F2, $2
+1e66761e| plan9 FCCMPED VS, F22, F16, $14
+d7e6695e| plan9 FCMEQ F9, F22, F23
+e7d9a05e| plan9 FCMEQ $0, F15, F7
+dadaa04e| plan9 VFCMEQ $0, V22.S4, V26.S4
+28e5737e| plan9 FCMGE F19, F9, F8
+a2e73a6e| plan9 VFCMGE V26.S4, V29.S4, V2.S4
+4fcba07e| plan9 FCMGE $0, F26, F15
+43c8a02e| plan9 VFCMGE $0, V2.S2, V3.S2
+ffe5a67e| plan9 FCMGT F6, F15, F31
+7ee7bd2e| plan9 VFCMGT V29.S2, V27.S2, V30.S2
+5bc8e05e| plan9 FCMGT $0, F2, F27
+3dc9a04e| plan9 VFCMGT $0, V9.S4, V29.S4
+38daa07e| plan9 FCMLE $0, F17, F24
+8fdaa02e| plan9 VFCMLE $0, V20.S2, V15.S2
+93e8e05e| plan9 FCMLT $0, F4, F19
+9fe9a04e| plan9 VFCMLT $0, V12.S4, V31.S4
+a023201e| plan9 FCMPS F0, F29
+c822231e| plan9 FCMPS $(0.0), F22
+a022651e| plan9 FCMPD F5, F21
+a8227d1e| plan9 FCMPD $(0.0), F21
+70203e1e| plan9 FCMPES F30, F3
+38232b1e| plan9 FCMPES $(0.0), F25
+70206c1e| plan9 FCMPED F12, F3
+b823731e| plan9 FCMPED $(0.0), F29
+3e6f331e| plan9 FCSELS VS, F25, F19, F30
+a64f6d1e| plan9 FCSELD MI, F29, F13, F6
+0d41e21e| plan9 FCVTHS F8, F13
+cbc0e21e| plan9 FCVTHD F6, F11
+18c0231e| plan9 FCVTSH F0, F24
+a7c0221e| plan9 FCVTSD F5, F7
+e7c3631e| plan9 FCVTDH F31, F7
+9f43621e| plan9 FCVTDS F28, F31
+a0c8215e| plan9 FCVTAS F5, F0
+4dc8210e| plan9 VFCVTAS V2.S2, V13.S2
+0300241e| plan9 FCVTASW F0, R3
+fd03249e| plan9 FCVTAS F31, R29
+ef01641e| plan9 FCVTASW F15, R15
+4c01649e| plan9 FCVTAS F10, R12
+9ac8617e| plan9 FCVTAU F4, F26
+b802251e| plan9 FCVTAUW F21, R24
+2a03259e| plan9 FCVTAU F25, R10
+ea00651e| plan9 FCVTAUW F7, R10
+0102659e| plan9 FCVTAU F16, R1
+0d7a610e| plan9 VFCVTL V16.S2, V13.D2
+ed79214e| plan9 VFCVTL2 V15.H8, V13.S4
+43bb615e| plan9 FCVTMS F26, F3
+c000301e| plan9 FCVTMSW F6, R0
+9202309e| plan9 FCVTMS F20, R18
+0800701e| plan9 FCVTMSW F0, R8
+6603709e| plan9 FCVTMS F27, R6
+f0b9217e| plan9 FCVTMU F15, F16
+3bba212e| plan9 VFCVTMU V17.S2, V27.S2
+5900311e| plan9 FCVTMUW F2, R25
+9a03319e| plan9 FCVTMU F28, R26
+fa01711e| plan9 FCVTMUW F15, R26
+6f01719e| plan9 FCVTMU F11, R15
+1968210e| plan9 VFCVTN V0.S4, V25.H4
+3d69214e| plan9 VFCVTN2 V9.S4, V29.H8
+87aa615e| plan9 FCVTNS F20, F7
+e301201e| plan9 FCVTNSW F15, R3
+6002209e| plan9 FCVTNS F19, R0
+1600601e| plan9 FCVTNSW F0, R22
+8503609e| plan9 FCVTNS F28, R5
+f5ab617e| plan9 FCVTNU F31, F21
+2b02211e| plan9 FCVTNUW F17, R11
+f902219e| plan9 FCVTNU F23, R25
+0702611e| plan9 FCVTNUW F16, R7
+9d03619e| plan9 FCVTNU F28, R29
+dcaba15e| plan9 FCVTPS F30, F28
+b4a8a10e| plan9 VFCVTPS V5.S2, V20.S2
+5302281e| plan9 FCVTPSW F18, R19
+e003289e| plan9 FCVTPS F31, R0
+9501681e| plan9 FCVTPSW F12, R21
+6703689e| plan9 FCVTPS F27, R7
+68a8a17e| plan9 FCVTPU F3, F8
+dcaba12e| plan9 VFCVTPU V30.S2, V28.S2
+9d03291e| plan9 FCVTPUW F28, R29
+5f01299e| plan9 FCVTPU F10, ZR
+e101691e| plan9 FCVTPUW F15, R1
+3f00699e| plan9 FCVTPU F1, ZR
+ee6b612e| plan9 VFCVTXN V31.D2, V14.S2
+b1fd215f| plan9 FCVTZS $31, F13, F17
+bafd2c0f| plan9 FCVTZS $20, V13.S2, V26.S2
+47b8e15e| plan9 FCVTZSDD F2, F7
+dcbbe14e| plan9 FCVTZS V30.D2, V28.D2
+56f8181e| plan9 FCVTZS $2, F2, R22
+9265189e| plan9 FCVTZS $39, F12, R18
+d3ad581e| plan9 FCVTZS $21, F14, R19
+3d9b589e| plan9 FCVTZS $26, F25, R29
+1a00381e| plan9 FCVTZSSW F0, R26
+d302389e| plan9 FCVTZSS F22, R19
+5303781e| plan9 FCVTZSDW F26, R19
+8f01789e| plan9 FCVTZSD F12, R15
+57fe537f| plan9 FCVTZU $45, F18, F23
+beff796f| plan9 FCVTZU $7, V29.D2, V30.D2
+08b9e17e| plan9 FCVTZUDD F8, F8
+cdbbe16e| plan9 FCVTZU V30.D2, V13.D2
+2126199e| plan9 FCVTZU $55, F17, R1
+70a9591e| plan9 FCVTZU $22, F11, R16
+8c25599e| plan9 FCVTZU $55, F12, R12
+1201391e| plan9 FCVTZUSW F8, R18
+0800399e| plan9 FCVTZUS F0, R8
+da00791e| plan9 FCVTZUDW F6, R26
+2903799e| plan9 FCVTZUD F25, R9
+56fd3f2e| plan9 FDIV V31.S2, V10.S2, V22.S2
+1f182e1e| plan9 FDIVS F14, F0, F31
+ce1b741e| plan9 FDIVD F20, F30, F14
+0d61021f| plan9 FMADD F24, F2, F8, F13
+03205e1f| plan9 FMADD F8, F30, F0, F3
+72f6654e| plan9 FMAX V5.D2, V19.D2, V18.D2
+1849281e| plan9 FMAXS F8, F8, F24
+8e4a6e1e| plan9 FMAXD F14, F20, F14
+54c7304e| plan9 FMAXNM V16.S4, V26.S4, V20.S4
+91683a1e| plan9 FMAXNMS F26, F4, F17
+f56a721e| plan9 FMAXNMD F18, F23, F21
+c8cb307e| plan9 FMAXNMP V30.S2, F8
+06c9306e| plan9 FMAXNMV V8.S4, F6
+b6fb707e| plan9 FMAXP V29.D2, F22
+1759341e| plan9 FMINS F20, F8, F23
+675b721e| plan9 FMIND F18, F27, F7
+69792d1e| plan9 FMINNMS F13, F11, F9
+ab786b1e| plan9 FMINNMD F11, F5, F11
+0fcab07e| plan9 FMINNMP V16.S2, F15
+d2c6b26e| plan9 VFMINNMP V18.S4, V22.S4, V18.S4
+22fab07e| plan9 FMINP V17.S2, F2
+f5f5f56e| plan9 VFMINP V21.D2, V15.D2, V21.D2
+bc13c95f| plan9 FMLA V9.D[0], F29, F28
+5d51a85f| plan9 FMLS V8.S[1], F10, F29
+d3ccb94e| plan9 VFMLS V25.S4, V6.S4, V19.S4
+5bf4014f| plan9 FMOV $9., V27.S4
+5bf5026f| plan9 FMOV $0.203125, V27.D2
+6541201e| plan9 FMOVS F11, F5
+b742601e| plan9 FMOVD F21, F23
+6002271e| plan9 FMOVS R19, F0
+5301261e| plan9 FMOVS F10, R19
+c103679e| plan9 FMOVD R30, F1
+3301af9e| plan9 FMOV R9, V19.D[1]
+bd00669e| plan9 FMOVD F5, R29
+ee02ae9e| plan9 FMOV V23.D[1], R14
+0ff0251e| plan9 FMOVS $15.5, F15
+16506a1e| plan9 FMOVD $0.28125, F22
+d1c20e1f| plan9 FMSUB F16, F14, F22, F17
+fdae491f| plan9 FMSUB F11, F9, F23, F29
+a4989d4f| plan9 FMUL V29.S[2], V5.S4, V4.S4
+efde706e| plan9 FMUL V16.D2, V23.D2, V15.D2
+190a291e| plan9 FMULS F9, F16, F25
+430a671e| plan9 FMULD F7, F18, F3
+21919e7f| plan9 FMULX V30.S[0], F9, F1
+5298c76f| plan9 VFMULX V7.D[1], V2.D2, V18.D2
+1ddf3c5e| plan9 FMULX F28, F24, F29
+a2fba06e| plan9 FNEG V29.S4, V2.S4
+7a40211e| plan9 FNEGS F3, F26
+f843611e| plan9 FNEGD F31, F24
+326b381f| plan9 FNMADD F26, F24, F25, F18
+4b636a1f| plan9 FNMADD F24, F10, F26, F11
+48fa201f| plan9 FNMSUB F30, F0, F18, F8
+04d87f1f| plan9 FNMSUB F22, F31, F0, F4
+0289371e| plan9 FNMULS F23, F8, F2
+0e8a691e| plan9 FNMULD F9, F16, F14
+05dba15e| plan9 FRECPE F24, F5
+42d9a14e| plan9 VFRECPE V10.S4, V2.S4
+2eff655e| plan9 FRECPS F5, F25, F14
+03fe774e| plan9 VFRECPS V23.D2, V16.D2, V3.D2
+b4fba15e| plan9 FRECPX F29, F20
+9d41261e| plan9 FRINTAS F12, F29
+ea42661e| plan9 FRINTAD F23, F10
+e399a16e| plan9 FRINTI V15.S4, V3.S4
+6ec3271e| plan9 FRINTIS F27, F14
+ecc1671e| plan9 FRINTID F15, F12
+4543251e| plan9 FRINTMS F26, F5
+f242651e| plan9 FRINTMD F23, F18
+898a214e| plan9 FRINTN V20.S4, V9.S4
+1641241e| plan9 FRINTNS F8, F22
+5341641e| plan9 FRINTND F10, F19
+248be14e| plan9 FRINTP V25.D2, V4.D2
+35c2241e| plan9 FRINTPS F17, F21
+6fc3641e| plan9 FRINTPD F27, F15
+0940271e| plan9 FRINTXS F0, F9
+4643671e| plan9 FRINTXD F26, F6
+749aa14e| plan9 FRINTZ V19.S4, V20.S4
+8bc0251e| plan9 FRINTZS F4, F11
+7cc1651e| plan9 FRINTZD F11, F28
+dedbe17e| plan9 FRSQRTE F30, F30
+04daa16e| plan9 VFRSQRTE V16.S4, V4.S4
+cdfce45e| plan9 FRSQRTS F4, F6, F13
+d9fda04e| plan9 VFRSQRTS V0.S4, V14.S4, V25.S4
+c5c1211e| plan9 FSQRTS F14, F5
+67c1611e| plan9 FSQRTD F11, F7
+a4d6b14e| plan9 FSUB V17.S4, V21.S4, V4.S4
+6138351e| plan9 FSUBS F21, F3, F1
+be3b6a1e| plan9 FSUBD F10, F29, F30
+4d2f016e| plan9 VMOV V26.B[5], V13.B[0]
+741e174e| plan9 VMOV R19, V20.B[11]
+e170404c| plan9 VLD1 (R7), [V1.B16]
+7aa9404c| plan9 VLD1 (R11), [V26.S4, V27.S4]
+4b6d400c| plan9 VLD1 (R10), [V11.D1, V12.D1, V13.D1]
+582b400c| plan9 VLD1 (R26), [V24.S2, V25.S2, V26.S2, V27.S2]
+8f7cdf4c| plan9 VLD1.P 16(R4), [V15.D2]
+0a76ce4c| plan9 VLD1.P (R16)(R14), [V10.H8]
+2aa6df0c| plan9 VLD1.P 16(R17), [V10.H4, V11.H4]
+35a7d70c| plan9 VLD1.P (R25)(R23), [V21.H4, V22.H4]
+ae6ddf4c| plan9 VLD1.P 48(R13), [V14.D2, V15.D2, V16.D2]
+b362d74c| plan9 VLD1.P (R21)(R23), [V19.B16, V20.B16, V21.B16]
+6d22df0c| plan9 VLD1.P 32(R19), [V13.B8, V14.B8, V15.B8, V16.B8]
+6722c90c| plan9 VLD1.P (R19)(R9), [V7.B8, V8.B8, V9.B8, V10.B8]
+c71f404d| plan9 LD1 (R30), [V7.B][15]
+f55a400d| plan9 LD1 (R23), [V21.H][3]
+f080400d| plan9 LD1 (R7), [V16.S][0]
+ed84404d| plan9 LD1 (R7), [V13.D][1]
+fd0bdf4d| plan9 LD1.P 1(RSP), [V29.B][10]
+c811dc0d| plan9 LD1.P (R14)(R28), [V8.B][4]
+6548cb4d| plan9 LD1.P (R3)(R11), [V5.H][5]
+9882df4d| plan9 LD1.P 4(R20), [V24.S][2]
+f482c74d| plan9 LD1.P (R23)(R7), [V20.S][2]
+0d87df0d| plan9 LD1.P 8(R24), [V13.D][0]
+1b85db0d| plan9 LD1.P (R8)(R27), [V27.D][0]
+58c3404d| plan9 VLD1R (R26), [V24.B16]
+c0c6df4d| plan9 VLD1R 2(R22), [V0.H8]
+a6cec90d| plan9 VLD1R (R21)(R9), [V6.D1]
+e68a400c| plan9 VLD2 (R23), [V6.S2, V7.S2]
+4007604d| plan9 LD2 (R26), [V0.B, V1.B][9]
+8c49604d| plan9 LD2 (R12), [V12.H, V13.H][5]
+4f92600d| plan9 LD2 (R18), [V15.S, V16.S][1]
+b186600d| plan9 LD2 (R21), [V17.D, V18.D][0]
+631aff0d| plan9 LD2 2(R19), [V3.B, V4.B][6]
+330ceb4d| plan9 LD2 (R1)(R11), [V19.B, V20.B][11]
+454bff4d| plan9 LD2 4(R26), [V5.H, V6.H][5]
+0792ff0d| plan9 LD2 8(R16), [V7.S, V8.S][1]
+3b91fd0d| plan9 LD2 (R9)(R29), [V27.S, V28.S][1]
+b086ff4d| plan9 LD2 16(R21), [V16.D, V17.D][1]
+da86e30d| plan9 LD2 (R22)(R3), [V26.D, V27.D][0]
+e7cf604d| plan9 VLD2R (RSP), [V7.D2, V8.D2]
+5ac8ff0d| plan9 VLD2R 8(R2), [V26.S2, V27.S2]
+13c1f10d| plan9 VLD2R (R8)(R17), [V19.B8, V20.B8]
+0947404c| plan9 VLD3 (R24), [V9.H8, V10.H8, V11.H8]
+8043df0c| plan9 VLD3 24(R28), [V0.B8, V1.B8, V2.B8]
+6344d50c| plan9 VLD3 (R3)(R21), [V3.H4, V4.H4, V5.H4]
+663d400d| plan9 LD3 (R11), [V6.B, V7.B, V8.B][7]
+5b6b400d| plan9 LD3 (R26), [V27.H, V28.H, V29.H][1]
+02a0404d| plan9 LD3 (R0), [V2.S, V3.S, V4.S][2]
+e1a5404d| plan9 LD3 (R15), [V1.D, V2.D, V3.D][1]
+b53edf0d| plan9 LD3 3(R21), [V21.B, V22.B, V23.B][7]
+f625d10d| plan9 LD3 (R15)(R17), [V22.B, V23.B, V24.B][1]
+3d7bda4d| plan9 LD3 (R25)(R26), [V29.H, V30.H, V31.H][7]
+6ea0df0d| plan9 LD3 12(R3), [V14.S, V15.S, V16.S][0]
+d9a0c60d| plan9 LD3 (R6)(R6), [V25.S, V26.S, V27.S][0]
+b6a7df0d| plan9 LD3 24(R29), [V22.D, V23.D, V24.D][0]
+dfa6d94d| plan9 LD3 (R22)(R25), [V31.D, V0.D, V1.D][1]
+7de9404d| plan9 VLD3R (R11), [V29.S4, V30.S4, V31.S4]
+2fe6df4d| plan9 VLD3R 6(R17), [V15.H8, V16.H8, V17.H8]
+cae7c84d| plan9 VLD3R (R30)(R8), [V10.H8, V11.H8, V12.H8]
+9a0b400c| plan9 VLD4 (R28), [V26.S2, V27.S2, V28.S2, V29.S2]
+4b03df0c| plan9 VLD4 32(R26), [V11.B8, V12.B8, V13.B8, V14.B8]
+8e0bcc4c| plan9 VLD4 (R28)(R12), [V14.S4, V15.S4, V16.S4, V17.S4]
+182c604d| plan9 LD4 (R0), [V24.B, V25.B, V26.B, V27.B][11]
+feb2600d| plan9 LD4 (R23), [V30.S, V31.S, V0.S, V1.S][1]
+59a4604d| plan9 LD4 (R2), [V25.D, V26.D, V27.D, V28.D][1]
+9b25ff4d| plan9 LD4 4(R12), [V27.B, V28.B, V29.B, V30.B][9]
+1f35e84d| plan9 LD4 (R8)(R8), [V31.B, V0.B, V1.B, V2.B][13]
+91b2ff4d| plan9 LD4 16(R20), [V17.S, V18.S, V19.S, V20.S][3]
+88b3ed4d| plan9 LD4 (R28)(R13), [V8.S, V9.S, V10.S, V11.S][3]
+9aa5ff4d| plan9 LD4 32(R12), [V26.D, V27.D, V28.D, V29.D][1]
+efa5e10d| plan9 LD4 (R15)(R1), [V15.D, V16.D, V17.D, V18.D][0]
+07ed604d| plan9 VLD4R (R8), [V7.D2, V8.D2, V9.D2, V10.D2]
+0defff0d| plan9 VLD4R 32(R24), [V13.D1, V14.D1, V15.D1, V16.D1]
+43e1f14d| plan9 VLD4R (R10)(R17), [V3.B16, V4.B16, V5.B16, V6.B16]
+136e682c| plan9 LDNP -192(R16), F27, F19
+cc67676c| plan9 LDNP -400(R30), F25, F12
+e6dd4eac| plan9 LDNP 464(R15), V23, V6
+b7e9c22c| plan9 LDP.P 20(R13), (F23, F26)
+92c3fe6c| plan9 LDP.P -24(R28), (F18, F16)
+f281e6ac| plan9 LDP.P -816(R15), (V18, V0)
+4f06cd2d| plan9 LDP.W 104(R18), (F15, F1)
+0f6fdc6d| plan9 LDP.W 448(R24), (F15, F27)
+170ccbad| plan9 LDP.W 352(R0), (V23, V3)
+71ea7a2d| plan9 LDP -44(R19), (F17, F26)
+c8816c6d| plan9 LDP -312(R14), (F8, F0)
+da6540ad| plan9 LDP (R14), (V26, V25)
+92064c3c| plan9 MOVD.P 192(R20), F18
+94d4577c| plan9 MOVD.P -131(R4), F20
+39055fbc| plan9 MOVD.P -16(R9), F25
+989551fc| plan9 MOVD.P -231(R12), F24
+4764c23c| plan9 MOVD.P 38(R2), V7
+c15e4e3c| plan9 MOVD.W 229(R22), F1
+c8ce487c| plan9 MOVD.W 140(R22), F8
+ca5d5bbc| plan9 MOVD.W -75(R14), F10
+34fd56fc| plan9 MOVD.W -145(R9), F20
+bd0dd53c| plan9 MOVD.W -176(R13), V29
+ab65443d| plan9 MOVD 281(R13), F11
+cb57537d| plan9 MOVD 2474(R30), F11
+f2606fbd| plan9 MOVD 12128(R7), F18
+088b67fd| plan9 MOVD 20240(R24), F8
+0173ce3d| plan9 MOVD 14784(R24), V1
+726b733c| plan9 MOVD R19(R27), F18
+43a1413c| plan9 LDUR 26(R10), F3
+c7034f7c| plan9 LDUR 240(R30), F7
+ad8350bc| plan9 LDUR -248(R29), F13
+07a350fc| plan9 LDUR -246(R24), F7
+0212c63c| plan9 LDUR 97(R16), V2
+6f0a7a2f| plan9 VMLA V10.H[7], V19.H4, V15.H4
+fe95294e| plan9 VMLA V9.B16, V15.B16, V30.B16
+f24a4f2f| plan9 VMLS V15.H[4], V23.H4, V18.H4
+26947e2e| plan9 VMLS V30.H4, V1.H4, V6.H4
+6606115e| plan9 VMOV V19.B[8], F6
+0866116e| plan9 VMOV V16.B[12], V8.B[8]
+6e1d0f4e| plan9 VMOV R11, V14.B[7]
+6d1fa10e| plan9 VORR V1.B8, V27.B8, V13.B8
+b93f1a0e| plan9 UMOVW V29.H[6], R25
+74e7020f| plan9 VMOVI $91, V20.B8
+0ff4040f| plan9 FMOV $-2., V15.S2
+4c47060f| plan9 VMOVI $(218<<16), V12.S2
+aa06064f| plan9 VMOVI $213, V10.S4
+8de4042f| plan9 MOVI $-72057594021216256, F13
+b1e6046f| plan9 VMOVI $-72056498804555521, V17.D2
+609f214e| plan9 VMUL V1.B16, V27.B16, V0.B16
+9f5a206e| plan9 VMVN V20.B16, V31.B16
+da65032f| plan9 VMVNI $(110<<24), V26.S2
+4d36036f| plan9 VBIC $(114<<8), V13.S4
+4d66052f| plan9 VMVNI $(178<<24), V13.S2
+a4bbe06e| plan9 VNEG V29.D2, V4.D2
+bf5a206e| plan9 VMVN V21.B16, V31.B16
+2b1fe24e| plan9 VORN V2.B16, V25.B16, V11.B16
+22e4024f| plan9 VMOVI $65, V2.B16
+3086050f| plan9 VMOVI $177, V16.H4
+051db80e| plan9 VORR V24.B8, V8.B8, V5.B8
+48e2290e| plan9 VPMULL V9.B8, V18.B8, V8.H8
+7341652e| plan9 VRADDHN V5.S4, V11.S4, V19.H4
+1b417f6e| plan9 VRADDHN2 V31.S4, V8.S4, V27.H8
+e158606e| plan9 VRBIT V7.B16, V1.B16
+f418200e| plan9 VREV16 V7.B8, V20.B8
+228d2a0f| plan9 VRSHRN $22, V9.D2, V2.S2
+a861aa2e| plan9 VRSUBHN V10.D2, V13.D2, V8.S2
+7160786e| plan9 VRSUBHN2 V24.S4, V3.S4, V17.H8
+cc7f314e| plan9 VSABA V17.B16, V30.B16, V12.B16
+1350644e| plan9 VSABAL2 V4.H8, V0.H8, V19.S4
+a1757d4e| plan9 VSABD V29.H8, V13.H8, V1.H8
+0971a00e| plan9 VSABDL V0.S2, V8.S2, V9.D2
+af70214e| plan9 VSABDL2 V1.B16, V5.B16, V15.H8
+626ba04e| plan9 VSADALP V27.S4, V2.D2
+1503374e| plan9 VSADDL2 V23.B16, V24.B16, V21.H8
+592b204e| plan9 VSADDLP V26.B16, V25.H8
+d813600e| plan9 VSADDW V0.H4, V30.S4, V24.S4
+31e5210f| plan9 SCVTF $31, V9.S2, V17.S2
+aeda215e| plan9 SCVTFSS F21, F14
+f0e9021e| plan9 SCVTF $6, R15, F16
+42b4421e| plan9 SCVTF $19, R2, F2
+8b10029e| plan9 SCVTF $60, R4, F11
+59e6429e| plan9 SCVTF $7, R18, F25
+cf01221e| plan9 SCVTFWS R14, F15
+2d03621e| plan9 SCVTFWD R25, F13
+af00229e| plan9 SCVTFS R5, F15
+bf00629e| plan9 SCVTFD R5, F31
+2a02025e| plan9 SHA1C V2.S4, F17, V10
+8b0b285e| plan9 SHA1H F28, F11
+11201f5e| plan9 SHA1M V31.S4, F0, V17
+f110115e| plan9 SHA1P V17.S4, F7, V17
+b732115e| plan9 VSHA1SU0 V17.S4, V21.S4, V23.S4
+cf18285e| plan9 VSHA1SU1 V6.S4, V15.S4
+2e520f5e| plan9 SHA256H2 V15.S4, V17, V14
+77401a5e| plan9 SHA256H V26.S4, V3, V23
+b92a285e| plan9 VSHA256SU0 V21.S4, V25.S4
+7e63175e| plan9 VSHA256SU1 V23.S4, V27.S4, V30.S4
+d504ab0e| plan9 VSHADD V11.S2, V6.S2, V21.S2
+5a54734f| plan9 VSHL $51, V2.D2, V26.D2
+0638212e| plan9 VSHLL $8, V0.B8, V6.H8
+a238216e| plan9 VSHLL2 $8, V5.B16, V2.H8
+f5863e0f| plan9 VSHRN $2, V23.D2, V21.S2
+f187234f| plan9 VSHRN2 $29, V31.D2, V17.S4
+e124b04e| plan9 VSHSUB V16.S4, V7.S4, V1.S4
+3657252f| plan9 VSLI $5, V25.S2, V22.S2
+c266aa4e| plan9 VSMAX V10.S4, V22.S4, V2.S4
+2c6ca74e| plan9 VSMIN V7.S4, V1.S4, V12.S4
+4aae390e| plan9 VSMINP V25.B8, V18.B8, V10.B8
+1a82ba0e| plan9 VSMLAL V26.S2, V16.S2, V26.D2
+2381ad4e| plan9 VSMLAL2 V13.S4, V9.S4, V3.D2
+0da17a4e| plan9 VSMLSL2 V26.H8, V8.H8, V13.S4
+4f2e0d4e| plan9 SMOV V18.B[6], R15
+e4a0980f| plan9 VSMULL V24.S[0], V7.S2, V4.D2
+51c2220e| plan9 VSMULL V2.B8, V18.B8, V17.H8
+01c26d4e| plan9 VSMULL2 V13.H8, V16.H8, V1.S4
+f978205e| plan9 SQABS F7, F25
+760cef5e| plan9 SQADD F15, F3, F22
+390c224e| plan9 VSQADD V2.B16, V1.B16, V25.B16
+5439455f| plan9 SQDMLAL V5.H[4], F10, F20
+8391765e| plan9 SQDMLAL F22, F12, F3
+c9907a4e| plan9 VSQDMLAL2 V26.H8, V6.H8, V9.S4
+0b73445f| plan9 SQDMLSL V4.H[0], F24, F11
+8e728d0f| plan9 VSQDMLSL V13.S[0], V20.S2, V14.D2
+fe787d4f| plan9 VSQDMLSL2 V13.H[7], V7.H8, V30.S4
+bdb2b55e| plan9 SQDMLSL F21, F21, F29
+d0c9be4f| plan9 VSQDMULH V30.S[3], V14.S4, V16.S4
+89b77c5e| plan9 SQDMULH F28, F28, F9
+c9bb515f| plan9 SQDMULL V1.H[5], F30, F9
+5379e07e| plan9 SQNEG F10, F19
+4b7aa06e| plan9 VSQNEG V18.S4, V11.S4
+1bd1750f| plan9 VSQRDMULH V5.H[3], V8.H4, V27.H4
+f55e755e| plan9 SQRSHL F21, F23, F21
+ba5fbd4e| plan9 VSQRSHL V29.S4, V29.S4, V26.S4
+ba9d1e0f| plan9 VSQRSHRN $2, V13.S4, V26.H4
+3d9c284f| plan9 VSQRSHRN2 $24, V1.D2, V29.S4
+8a8f2c6f| plan9 VSQRSHRUN2 $20, V28.D2, V10.S4
+eb760b5f| plan9 SQSHL $3, F23, F11
+4a77220f| plan9 VSQSHL $2, V26.S2, V10.S2
+6c4cfb5e| plan9 SQSHL F27, F3, F12
+ad4eba4e| plan9 VSQSHL V26.S4, V21.S4, V13.S4
+9364257f| plan9 SQSHLU $5, F4, F19
+b267392f| plan9 VSQSHLU $25, V29.S2, V18.S2
+c085042f| plan9 VMVNI $142, V0.H4
+7584326f| plan9 VSQSHRUN2 $14, V3.D2, V21.S4
+3a2fe25e| plan9 SQSUB F2, F25, F26
+2c2ca34e| plan9 VSQSUB V3.S4, V1.S4, V12.S4
+484ba15e| plan9 SQXTN F26, F8
+824b210e| plan9 VSQXTN V28.H8, V2.B8
+5b48214e| plan9 VSQXTN2 V2.H8, V27.B16
+e228a16e| plan9 VSQXTUN2 V7.D2, V2.S4
+1c44416f| plan9 VSRI $63, V0.D2, V28.D2
+1e56eb5e| plan9 SRSHL F11, F16, F30
+bb56fe4e| plan9 VSRSHL V30.D2, V21.D2, V27.D2
+c6262d0f| plan9 VSRSHR $19, V22.S2, V6.S2
+0c366c5f| plan9 SRSRA $20, F16, F12
+13376e4f| plan9 VSRSRA $18, V24.D2, V19.D2
+7ba5040f| plan9 VMOVI $(139<<8), V27.H4
+9c076f5f| plan9 SSHR $17, F28, F28
+2804434f| plan9 VSSHR $61, V1.D2, V8.D2
+b717535f| plan9 SSRA $45, F29, F23
+c2160f0f| plan9 VSSRA $1, V22.B8, V2.B8
+8a333a4e| plan9 VSSUBW2 V26.B16, V28.H8, V10.H8
+3a70000c| plan9 VST1 (R1), [V26.B8]
+1bab004c| plan9 VST1 (R24), [V27.S4, V28.S4]
+8d69004c| plan9 VST1 (R12), [V13.S4, V14.S4, V15.S4]
+9c26004c| plan9 VST1 (R20), [V28.H8, V29.H8, V30.H8, V31.H8]
+c87a9f0c| plan9 VST1 8(R22), [V8.S2]
+5a7f800c| plan9 VST1 (R26)(R0), [V26.D1]
+eea99f4c| plan9 VST1 32(R15), [V14.S4, V15.S4]
+11af9d4c| plan9 VST1 (R24)(R29), [V17.D2, V18.D2]
+ec689f0c| plan9 VST1 24(R7), [V12.S2, V13.S2, V14.S2]
+8662900c| plan9 VST1 (R20)(R16), [V6.B8, V7.B8, V8.B8]
+0b249f4c| plan9 VST1 64(R0), [V11.H8, V12.H8, V13.H8, V14.H8]
+6b2d8b4c| plan9 VST1 (R11)(R11), [V11.D2, V12.D2, V13.D2, V14.D2]
+3212004d| plan9 ST1 (R17), [V18.B][12]
+3392004d| plan9 ST1 (R17), [V19.S][3]
+0284000d| plan9 ST1 (R0), [V2.D][0]
+340f9f0d| plan9 ST1 1(R25), [V20.B][3]
+0d069a4d| plan9 ST1 (R16)(R26), [V13.B][9]
+2e51950d| plan9 ST1 (R9)(R21), [V14.H][2]
+3f839f0d| plan9 ST1 4(R25), [V31.S][0]
+1492844d| plan9 ST1 (R16)(R4), [V20.S][3]
+dd869f4d| plan9 ST1 8(R22), [V29.D][1]
+2e869b4d| plan9 ST1 (R17)(R27), [V14.D][1]
+1e87000c| plan9 VST2 (R24), [V30.H4, V31.H4]
+07829f0c| plan9 VST2 16(R16), [V7.B8, V8.B8]
+d38a884c| plan9 VST2 (R22)(R8), [V19.S4, V20.S4]
+541c204d| plan9 ST2 (R2), [V20.B, V21.B][15]
+9180200d| plan9 ST2 (R4), [V17.S, V18.S][0]
+2585204d| plan9 ST2 (R9), [V5.D, V6.D][1]
+2f06bf4d| plan9 ST2 2(R17), [V15.B, V16.B][9]
+3b08b44d| plan9 ST2 (R1)(R20), [V27.B, V28.B][10]
+805bbf0d| plan9 ST2 4(R28), [V0.H, V1.H][3]
+fb80bf0d| plan9 ST2 8(R7), [V27.S, V28.S][0]
+6290a80d| plan9 ST2 (R3)(R8), [V2.S, V3.S][1]
+b587bf4d| plan9 ST2 16(R29), [V21.D, V22.D][1]
+2c84b64d| plan9 ST2 (R1)(R22), [V12.D, V13.D][1]
+22469f0c| plan9 VST3 24(R17), [V2.H4, V3.H4, V4.H4]
+0e30004d| plan9 ST3 (R0), [V14.B, V15.B, V16.B][12]
+62a1004d| plan9 ST3 (R11), [V2.S, V3.S, V4.S][2]
+54a4000d| plan9 ST3 (R2), [V20.D, V21.D, V22.D][0]
+84259f4d| plan9 ST3 3(R12), [V4.B, V5.B, V6.B][9]
+693c9d4d| plan9 ST3 (R3)(R29), [V9.B, V10.B, V11.B][15]
+5b709f0d| plan9 ST3 6(R2), [V27.H, V28.H, V29.H][2]
+e47a960d| plan9 ST3 (R23)(R22), [V4.H, V5.H, V6.H][3]
+a0a39f0d| plan9 ST3 12(R29), [V0.S, V1.S, V2.S][0]
+37b0890d| plan9 ST3 (R1)(R9), [V23.S, V24.S, V25.S][1]
+9aa59f4d| plan9 ST3 24(R12), [V26.D, V27.D, V28.D][1]
+26a5924d| plan9 ST3 (R9)(R18), [V6.D, V7.D, V8.D][1]
+3e05000c| plan9 VST4 (R9), [V30.H4, V31.H4, V0.H4, V1.H4]
+a8039f0c| plan9 VST4 32(R29), [V8.B8, V9.B8, V10.B8, V11.B8]
+4126204d| plan9 ST4 (R18), [V1.B, V2.B, V3.B, V4.B][9]
+3b71204d| plan9 ST4 (R9), [V27.H, V28.H, V29.H, V30.H][6]
+f2b3204d| plan9 ST4 (RSP), [V18.S, V19.S, V20.S, V21.S][3]
+7fa4200d| plan9 ST4 (R3), [V31.D, V0.D, V1.D, V2.D][0]
+562ebf4d| plan9 ST4 4(R18), [V22.B, V23.B, V24.B, V25.B][11]
+563cae0d| plan9 ST4 (R2)(R14), [V22.B, V23.B, V24.B, V25.B][7]
+1271bf4d| plan9 ST4 8(R8), [V18.H, V19.H, V20.H, V21.H][6]
+e7a1bf0d| plan9 ST4 16(R15), [V7.S, V8.S, V9.S, V10.S][0]
+f3b2a30d| plan9 ST4 (R23)(R3), [V19.S, V20.S, V21.S, V22.S][1]
+eca5bf4d| plan9 ST4 32(R15), [V12.D, V13.D, V14.D, V15.D][1]
+4ca7bb0d| plan9 ST4 (R26)(R27), [V12.D, V13.D, V14.D, V15.D][0]
+4f5b182c| plan9 STNP 192(R26), F22, F15
+e05e0b6c| plan9 STNP 176(R23), F23, F0
+77be2eac| plan9 STNP -560(R19), V15, V23
+bb3fa72c| plan9 STP.P (F27, F15), -200(R29)
+ef18bb6c| plan9 STP.P (F15, F6), -80(R7)
+777d84ac| plan9 STP.P (V23, V31), 128(R11)
+d0f9952d| plan9 STP.W (F16, F30), 172(R14)
+125ca26d| plan9 STP.W (F18, F23), -480(R0)
+33bbbfad| plan9 STP.W (V19, V14), -16(R25)
+6ebb322d| plan9 STP (F14, F14), -108(R27)
+cb92096d| plan9 STP (F11, F4), 152(R22)
+f2871dad| plan9 STP (V18, V1), 944(RSP)
+f676003c| plan9 MOVD.P F22, 7(R23)
+50f50d7c| plan9 MOVD.P F16, 223(R10)
+0d251ebc| plan9 MOVD.P F13, -30(R8)
+1f3510fc| plan9 MOVD.P F31, -253(R8)
+05a4883c| plan9 MOVD.P V5, 138(R0)
+800e063c| plan9 MOVD.W F0, 96(R20)
+668d157c| plan9 MOVD.W F6, -168(R11)
+1f3d11bc| plan9 MOVD.W F31, -237(R8)
+71bf06fc| plan9 MOVD.W F17, 107(R27)
+f50c843c| plan9 MOVD.W V21, 64(R7)
+f186013d| plan9 MOVD F17, 97(R23)
+f0e5357d| plan9 MOVD F16, 6898(R15)
+938d3bbd| plan9 MOVD F19, 15244(R12)
+aeb813fd| plan9 MOVD F14, 10096(R5)
+2cc4943d| plan9 MOVD V12, 21264(R1)
+1d79373c| plan9 MOVD F29, R23<<1(R8)
+bc70003c| plan9 MOVD F28, 7(R5)
+7190157c| plan9 MOVD F17, -167(R3)
+073309bc| plan9 MOVD F7, 147(R24)
+298100fc| plan9 MOVD F9, 8(R9)
+e8c1843c| plan9 MOVD V8, 76(R15)
+3384266e| plan9 VSUB V6.B16, V1.B16, V19.B16
+9163750e| plan9 VSUBHN V21.S4, V28.S4, V17.H4
+f3627d4e| plan9 VSUBHN2 V29.S4, V23.S4, V19.H8
+1939205e| plan9 SUQADD F8, F25
+0638604e| plan9 VSUQADD V0.H8, V6.H8
+81a4284f| plan9 VSSHLL2 $8, V4.S4, V1.D2
+f920030e| plan9 VTBL V3.B8, [V7.B16, V8.B16], V25.B8
+71400e4e| plan9 VTBL V14.B16, [V3.B16, V4.B16, V5.B16], V17.B16
+bc630d4e| plan9 VTBL V13.B16, [V29.B16, V30.B16, V31.B16, V0.B16], V28.B16
+6803030e| plan9 VTBL V3.B8, [V27.B16], V8.B8
+4b32124e| plan9 VTBX V18.B16, [V18.B16, V19.B16], V11.B16
+8f50170e| plan9 VTBX V23.B8, [V4.B16, V5.B16, V6.B16], V15.B8
+5673020e| plan9 VTBX V2.B8, [V26.B16, V27.B16, V28.B16, V29.B16], V22.B8
+f2130f4e| plan9 VTBX V15.B16, [V31.B16], V18.B16
+9e29c34e| plan9 VTRN1 V3.D2, V12.D2, V30.D2
+9b6bcf4e| plan9 VTRN2 V15.D2, V28.D2, V27.D2
+157cb02e| plan9 VUABA V16.S2, V0.S2, V21.S2
+28513c2e| plan9 VUABAL V28.B8, V9.B8, V8.H8
+f950a26e| plan9 VUABAL2 V2.S4, V7.S4, V25.D2
+a776b26e| plan9 VUABD V18.S4, V21.S4, V7.S4
+da726b2e| plan9 VUABDL V11.H4, V22.H4, V26.S4
+9473746e| plan9 VUABDL2 V20.H8, V28.H8, V20.S4
+aa6b602e| plan9 VUADALP V29.H4, V10.S2
+ac013d2e| plan9 VUADDL V29.B8, V13.B8, V12.H8
+e500a86e| plan9 VUADDL2 V8.S4, V7.S4, V5.D2
+9c28a02e| plan9 VUADDLP V4.S2, V28.D1
+4c3a302e| plan9 UADDLV V18.B8, F12
+2810b62e| plan9 VUADDW V22.S2, V1.D2, V8.D2
+f2132d6e| plan9 VUADDW2 V13.B16, V31.H8, V18.H8
+b3e67f7f| plan9 UCVTF $1, F21, F19
+ece5676f| plan9 UCVTF $25, V15.D2, V12.D2
+d7d8217e| plan9 UCVTFSS F6, F23
+cdd9212e| plan9 UCVTF V14.S2, V13.S2
+5788031e| plan9 UCVTF $30, R2, F23
+c7ac431e| plan9 UCVTF $21, R6, F7
+0777039e| plan9 UCVTF $35, R24, F7
+e4f4439e| plan9 UCVTF $3, R7, F4
+9100231e| plan9 UCVTFWS R4, F17
+e202631e| plan9 UCVTFWD R23, F2
+3903239e| plan9 UCVTFS R25, F25
+2001639e| plan9 UCVTFD R9, F0
+2a07b76e| plan9 VUHADD V23.S4, V25.S4, V10.S4
+dc25372e| plan9 VUHSUB V23.B8, V14.B8, V28.B8
+de646f2e| plan9 VUMAX V15.H4, V6.H4, V30.H4
+4ba6766e| plan9 VUMAXP V22.H8, V18.H8, V11.H8
+e26db42e| plan9 VUMIN V20.S2, V15.S2, V2.S2
+a7ae712e| plan9 VUMINP V17.H4, V21.H4, V7.H4
+afaa716e| plan9 UMINV V21.H8, F15
+42298c2f| plan9 VUMLAL V12.S[2], V10.S2, V2.D2
+0a826e2e| plan9 VUMLAL V14.H4, V16.H4, V10.S4
+2681a06e| plan9 VUMLAL2 V0.S4, V9.S4, V6.D2
+2860bd6f| plan9 VUMLSL2 V29.S[1], V1.S4, V8.D2
+19a26b6e| plan9 VUMLSL2 V11.H8, V16.H8, V25.S4
+8a3d140e| plan9 VMOV V12.S[2], R10
+22a1ba6f| plan9 VUMULL2 V26.S[1], V9.S4, V2.D2
+15c0712e| plan9 VUMULL V17.H4, V0.H4, V21.S4
+2ec0296e| plan9 VUMULL2 V9.B16, V1.B16, V14.H8
+6e0fba7e| plan9 UQADD F26, F27, F14
+db0fe06e| plan9 VUQADD V0.D2, V30.D2, V27.D2
+535e6c7e| plan9 UQRSHL F12, F18, F19
+7c5cfe6e| plan9 VUQRSHL V30.D2, V3.D2, V28.D2
+9a9e327f| plan9 UQRSHRN $14, F20, F26
+339f0b2f| plan9 VUQRSHRN $5, V25.H8, V19.B8
+7e77337f| plan9 UQSHL $19, F27, F30
+8b4d657e| plan9 UQSHL F5, F12, F11
+414c622e| plan9 VUQSHL V2.H4, V2.H4, V1.H4
+95942b2f| plan9 VUQSHRN $21, V4.D2, V21.S2
+d396246f| plan9 VUQSHRN2 $28, V22.D2, V19.S4
+b22ff27e| plan9 UQSUB F18, F29, F18
+b32e756e| plan9 VUQSUB V21.H8, V21.H8, V19.H8
+0e4b616e| plan9 VUQXTN2 V24.S4, V14.H8
+ca16236e| plan9 VURHADD V3.B16, V22.B16, V10.B16
+1f57a26e| plan9 VURSHL V2.S4, V24.S4, V31.S4
+8324777f| plan9 URSHR $9, F4, F3
+37caa16e| plan9 VURSQRTE V17.S4, V23.S4
+b735517f| plan9 URSRA $47, F13, F23
+0a47f67e| plan9 USHL F22, F24, F10
+e7a71c2f| plan9 VUSHLL $12, V31.H4, V7.S4
+9c38607e| plan9 USQADD F4, F28
+dc39206e| plan9 VUSQADD V14.B16, V28.B16
+dc145d7f| plan9 USRA $35, F6, F28
+d720752e| plan9 VUSUBL V21.H4, V6.H4, V23.S4
+2c236f6e| plan9 VUSUBL2 V15.H8, V25.H8, V12.S4
+ed32222e| plan9 VUSUBW V2.B8, V23.H8, V13.H8
+72332d6e| plan9 VUSUBW2 V13.B16, V27.H8, V18.H8
+655a1c4e| plan9 VUZP2 V28.B16, V19.B16, V5.B16
+972a210e| plan9 VXTN V20.H8, V23.B8
+5f2aa14e| plan9 VXTN2 V18.D2, V31.S4
+9a38910e| plan9 VZIP1 V17.S2, V4.S2, V26.S2
+d979990e| plan9 VZIP2 V25.S2, V14.S2, V25.S2
+41e5a454| plan9 BNE -186582(PC)
+ea1b543a| plan9 CCMNW NE, ZR, $20, $10
+681946ba| plan9 CCMN NE, R11, $6, $8
+2410463a| plan9 CCMNW NE, R1, R6, $4
+6e134cba| plan9 CCMN NE, R27, R12, $14
+ad194f7a| plan9 CCMPW NE, R13, $15, $13
+471b53fa| plan9 CCMP NE, R26, $19, $7
+a210467a| plan9 CCMPW NE, R5, R6, $2
+ee1246fa| plan9 CCMP NE, R23, R6, $14
+be149b1a| plan9 CSINCW NE, R5, R27, R30
+c415819a| plan9 CSINC NE, R14, R1, R4
+0510955a| plan9 CSINVW NE, R0, R21, R5
+c51093da| plan9 CSINV NE, R6, R19, R5
+12158e5a| plan9 CSNEGW NE, R8, R14, R18
+5c159cda| plan9 CSNEG NE, R10, R28, R28
+c810941a| plan9 CSELW NE, R6, R20, R8
+80128c9a| plan9 CSEL NE, R20, R12, R0
+f6179f1a| plan9 CSETW EQ, R22
+f5179f9a| plan9 CSET EQ, R21
+ec139f5a| plan9 CSETMW EQ, R12
+ee139fda| plan9 CSETM EQ, R14
+4b17981a| plan9 CSINCW NE, R26, R24, R11
+b515909a| plan9 CSINC NE, R13, R16, R21
+b613955a| plan9 CSINVW NE, R29, R21, R22
+f8108bda| plan9 CSINV NE, R7, R11, R24
+a0149d5a| plan9 CSNEGW NE, R5, R29, R0
+6a1492da| plan9 CSNEG NE, R3, R18, R10
+8f143c1e| plan9 FCCMPS NE, F28, F4, $15
+0f167f1e| plan9 FCCMPD NE, F31, F16, $15
+5214291e| plan9 FCCMPES NE, F9, F2, $2
+1516631e| plan9 FCCMPED NE, F3, F16, $5
+2b1d271e| plan9 FCSELS NE, F9, F7, F11
+731e611e| plan9 FCSELD NE, F19, F1, F19
+c2560e54| plan9 BCS 29366(PC)
+2d2b563a| plan9 CCMNW HS, R25, $22, $13
+6c2b55ba| plan9 CCMN HS, R27, $21, $12
+2521493a| plan9 CCMNW HS, R9, R9, $5
+032040ba| plan9 CCMN HS, R0, R0, $3
+ea2a5c7a| plan9 CCMPW HS, R23, $28, $10
+8e2842fa| plan9 CCMP HS, R4, $2, $14
+8e22427a| plan9 CCMPW HS, R20, R2, $14
+cd204dfa| plan9 CCMP HS, R6, R13, $13
+2824931a| plan9 CSINCW HS, R1, R19, R8
+a3279a9a| plan9 CSINC HS, R29, R26, R3
+5921945a| plan9 CSINVW HS, R10, R20, R25
+bd2386da| plan9 CSINV HS, R29, R6, R29
+a124915a| plan9 CSNEGW HS, R5, R17, R1
+5b2787da| plan9 CSNEG HS, R26, R7, R27
+91209f1a| plan9 CSELW HS, R4, ZR, R17
+f921979a| plan9 CSEL HS, R15, R23, R25
+e4279f1a| plan9 CSETW LO, R4
+ea279f9a| plan9 CSET LO, R10
+fe239f5a| plan9 CSETMW LO, R30
+ec239fda| plan9 CSETM LO, R12
+ee25971a| plan9 CSINCW HS, R15, R23, R14
+b726859a| plan9 CSINC HS, R21, R5, R23
+4b22845a| plan9 CSINVW HS, R18, R4, R11
+2b209eda| plan9 CSINV HS, R1, R30, R11
+6b269b5a| plan9 CSNEGW HS, R19, R27, R11
+192691da| plan9 CSNEG HS, R16, R17, R25
+0226391e| plan9 FCCMPS HS, F25, F16, $2
+07246d1e| plan9 FCCMPD HS, F13, F0, $7
+9626241e| plan9 FCCMPES HS, F4, F20, $6
+de27601e| plan9 FCCMPED HS, F0, F30, $14
+7d2d271e| plan9 FCSELS HS, F11, F7, F29
+3e2e7a1e| plan9 FCSELD HS, F17, F26, F30
+43a4df54| plan9 BCC -66270(PC)
+0739533a| plan9 CCMNW LO, R8, $19, $7
+673b4fba| plan9 CCMN LO, R27, $15, $7
+e333583a| plan9 CCMNW LO, ZR, R24, $3
+83325aba| plan9 CCMN LO, R20, R26, $3
+eb38517a| plan9 CCMPW LO, R7, $17, $11
+2c3955fa| plan9 CCMP LO, R9, $21, $12
+6f324b7a| plan9 CCMPW LO, R19, R11, $15
+09314ffa| plan9 CCMP LO, R8, R15, $9
+60349c1a| plan9 CSINCW LO, R3, R28, R0
+8835949a| plan9 CSINC LO, R12, R20, R8
+bb31935a| plan9 CSINVW LO, R13, R19, R27
+9f319dda| plan9 CSINV LO, R12, R29, ZR
+8837855a| plan9 CSNEGW LO, R28, R5, R8
+cd3490da| plan9 CSNEG LO, R6, R16, R13
+b033901a| plan9 CSELW LO, R29, R16, R16
+5e31969a| plan9 CSEL LO, R10, R22, R30
+ec379f1a| plan9 CSETW HS, R12
+ea379f9a| plan9 CSET HS, R10
+eb339f5a| plan9 CSETMW HS, R11
+fd339fda| plan9 CSETM HS, R29
+9934941a| plan9 CSINCW LO, R4, R20, R25
+fa36829a| plan9 CSINC LO, R23, R2, R26
+2730895a| plan9 CSINVW LO, R1, R9, R7
+703094da| plan9 CSINV LO, R3, R20, R16
+f636935a| plan9 CSNEGW LO, R23, R19, R22
+ba3484da| plan9 CSNEG LO, R5, R4, R26
+e3343e1e| plan9 FCCMPS LO, F30, F7, $3
+ce366a1e| plan9 FCCMPD LO, F10, F22, $14
+de37271e| plan9 FCCMPES LO, F7, F30, $14
+1935751e| plan9 FCCMPED LO, F21, F8, $9
+603f241e| plan9 FCSELS LO, F27, F4, F0
+653f761e| plan9 FCSELD LO, F27, F22, F5
+a4fa5354| plan9 BMI 171989(PC)
+a248483a| plan9 CCMNW MI, R5, $8, $2
+e2484eba| plan9 CCMN MI, R7, $14, $2
+2841553a| plan9 CCMNW MI, R9, R21, $8
+6e4259ba| plan9 CCMN MI, R19, R25, $14
+2048567a| plan9 CCMPW MI, R1, $22, $0
+454a5afa| plan9 CCMP MI, R18, $26, $5
+0343487a| plan9 CCMPW MI, R24, R8, $3
+49434bfa| plan9 CCMP MI, R26, R11, $9
+d747991a| plan9 CSINCW MI, R30, R25, R23
+9544919a| plan9 CSINC MI, R4, R17, R21
+76428c5a| plan9 CSINVW MI, R19, R12, R22
+06418eda| plan9 CSINV MI, R8, R14, R6
+4d46975a| plan9 CSNEGW MI, R18, R23, R13
+d74491da| plan9 CSNEG MI, R6, R17, R23
+0941941a| plan9 CSELW MI, R8, R20, R9
+2d41839a| plan9 CSEL MI, R9, R3, R13
+ef479f1a| plan9 CSETW PL, R15
+e5479f9a| plan9 CSET PL, R5
+f0439f5a| plan9 CSETMW PL, R16
+e2439fda| plan9 CSETM PL, R2
+2a46841a| plan9 CSINCW MI, R17, R4, R10
+f1468b9a| plan9 CSINC MI, R23, R11, R17
+3441835a| plan9 CSINVW MI, R9, R3, R20
+b5438cda| plan9 CSINV MI, R29, R12, R21
+ad45945a| plan9 CSNEGW MI, R13, R20, R13
+f54793da| plan9 CSNEG MI, ZR, R19, R21
+c5473f1e| plan9 FCCMPS MI, F31, F30, $5
+8947601e| plan9 FCCMPD MI, F0, F28, $9
+5247331e| plan9 FCCMPES MI, F19, F26, $2
+b045761e| plan9 FCCMPED MI, F22, F13, $0
+b34d331e| plan9 FCSELS MI, F13, F19, F19
+3a4d6d1e| plan9 FCSELD MI, F9, F13, F26
+a5497054| plan9 BPL 229965(PC)
+eb5a493a| plan9 CCMNW PL, R23, $9, $11
+0a5941ba| plan9 CCMN PL, R8, $1, $10
+0452523a| plan9 CCMNW PL, R16, R18, $4
+e55053ba| plan9 CCMN PL, R7, R19, $5
+a45b407a| plan9 CCMPW PL, R29, $0, $4
+ca5b4efa| plan9 CCMP PL, R30, $14, $10
+ab514e7a| plan9 CCMPW PL, R13, R14, $11
+ce5349fa| plan9 CCMP PL, R30, R9, $14
+8555971a| plan9 CSINCW PL, R12, R23, R5
+4b569e9a| plan9 CSINC PL, R18, R30, R11
+90538f5a| plan9 CSINVW PL, R28, R15, R16
+c3508bda| plan9 CSINV PL, R6, R11, R3
+1f55955a| plan9 CSNEGW PL, R8, R21, ZR
+52568eda| plan9 CSNEG PL, R18, R14, R18
+a750851a| plan9 CSELW PL, R5, R5, R7
+b252899a| plan9 CSEL PL, R21, R9, R18
+eb579f1a| plan9 CSETW MI, R11
+e6579f9a| plan9 CSET MI, R6
+fd539f5a| plan9 CSETMW MI, R29
+e1539fda| plan9 CSETM MI, R1
+33579e1a| plan9 CSINCW PL, R25, R30, R19
+b5558c9a| plan9 CSINC PL, R13, R12, R21
+ec53885a| plan9 CSINVW PL, ZR, R8, R12
+ec5196da| plan9 CSINV PL, R15, R22, R12
+ae57945a| plan9 CSNEGW PL, R29, R20, R14
+64578bda| plan9 CSNEG PL, R27, R11, R4
+2657241e| plan9 FCCMPS PL, F4, F25, $6
+2357761e| plan9 FCCMPD PL, F22, F25, $3
+f255361e| plan9 FCCMPES PL, F22, F15, $2
+3756781e| plan9 FCCMPED PL, F24, F17, $7
+985c3f1e| plan9 FCSELS PL, F4, F31, F24
+5b5d621e| plan9 FCSELD PL, F10, F2, F27
+c6d26454| plan9 BVS 206486(PC)
+6c6a4f3a| plan9 CCMNW VS, R19, $15, $12
+2f694cba| plan9 CCMN VS, R9, $12, $15
+e962583a| plan9 CCMNW VS, R23, R24, $9
+80615fba| plan9 CCMN VS, R12, ZR, $0
+4b6b497a| plan9 CCMPW VS, R26, $9, $11
+cc6a48fa| plan9 CCMP VS, R22, $8, $12
+4e61567a| plan9 CCMPW VS, R10, R22, $14
+476054fa| plan9 CCMP VS, R2, R20, $7
+c965911a| plan9 CSINCW VS, R14, R17, R9
+41668f9a| plan9 CSINC VS, R18, R15, R1
+db608f5a| plan9 CSINVW VS, R6, R15, R27
+896097da| plan9 CSINV VS, R4, R23, R9
+1867915a| plan9 CSNEGW VS, R24, R17, R24
+49678eda| plan9 CSNEG VS, R26, R14, R9
+3162881a| plan9 CSELW VS, R17, R8, R17
+db608f9a| plan9 CSEL VS, R6, R15, R27
+f9679f1a| plan9 CSETW VC, R25
+f9679f9a| plan9 CSET VC, R25
+f7639f5a| plan9 CSETMW VC, R23
+e1639fda| plan9 CSETM VC, R1
+f4678a1a| plan9 CSINCW VS, ZR, R10, R20
+3e65879a| plan9 CSINC VS, R9, R7, R30
+6c63975a| plan9 CSINVW VS, R27, R23, R12
+806191da| plan9 CSINV VS, R12, R17, R0
+7f679f5a| plan9 CSNEGW VS, R27, ZR, ZR
+3b6488da| plan9 CSNEG VS, R1, R8, R27
+0565301e| plan9 FCCMPS VS, F16, F8, $5
+e266621e| plan9 FCCMPD VS, F2, F23, $2
+b7653a1e| plan9 FCCMPES VS, F26, F13, $7
+d866791e| plan9 FCCMPED VS, F25, F22, $8
+326d3d1e| plan9 FCSELS VS, F9, F29, F18
+f66e7b1e| plan9 FCSELD VS, F23, F27, F22
+e774fd54| plan9 BVC -5209(PC)
+0479483a| plan9 CCMNW VC, R8, $8, $4
+897b56ba| plan9 CCMN VC, R28, $22, $9
+8b70513a| plan9 CCMNW VC, R4, R17, $11
+ca7150ba| plan9 CCMN VC, R14, R16, $10
+46794f7a| plan9 CCMPW VC, R10, $15, $6
+057948fa| plan9 CCMP VC, R8, $8, $5
+0373417a| plan9 CCMPW VC, R24, R1, $3
+ca705ffa| plan9 CCMP VC, R6, ZR, $10
+d3769f1a| plan9 CSINCW VC, R22, ZR, R19
+1076899a| plan9 CSINC VC, R16, R9, R16
+c8718e5a| plan9 CINVW VS, R14, R8
+06729eda| plan9 CSINV VC, R16, R30, R6
+6076895a| plan9 CSNEGW VC, R19, R9, R0
+b87589da| plan9 CSNEG VC, R13, R9, R24
+3b72891a| plan9 CSELW VC, R17, R9, R27
+fd70899a| plan9 CSEL VC, R7, R9, R29
+e3779f1a| plan9 CSETW VS, R3
+f4779f9a| plan9 CSET VS, R20
+fc739f5a| plan9 CSETMW VS, R28
+ea739fda| plan9 CSETM VS, R10
+ab75891a| plan9 CSINCW VC, R13, R9, R11
+6177859a| plan9 CSINC VC, R27, R5, R1
+3272945a| plan9 CSINVW VC, R17, R20, R18
+7a729dda| plan9 CSINV VC, R19, R29, R26
+b5779e5a| plan9 CSNEGW VC, R29, R30, R21
+fe748eda| plan9 CSNEG VC, R7, R14, R30
+ed76231e| plan9 FCCMPS VC, F3, F23, $13
+cf74791e| plan9 FCCMPD VC, F25, F6, $15
+b4763e1e| plan9 FCCMPES VC, F30, F21, $4
+59766e1e| plan9 FCCMPED VC, F14, F18, $9
+ce7c271e| plan9 FCSELS VC, F6, F7, F14
+be7c651e| plan9 FCSELD VC, F5, F5, F30
+88f29d54| plan9 BHI -200812(PC)
+8f8b513a| plan9 CCMNW HI, R28, $17, $15
+6f8b5cba| plan9 CCMN HI, R27, $28, $15
+8780463a| plan9 CCMNW HI, R4, R6, $7
+4f8348ba| plan9 CCMN HI, R26, R8, $15
+48884d7a| plan9 CCMPW HI, R2, $13, $8
+088957fa| plan9 CCMP HI, R8, $23, $8
+0180517a| plan9 CCMPW HI, R0, R17, $1
+ce805efa| plan9 CCMP HI, R6, R30, $14
+1d868e1a| plan9 CSINCW HI, R16, R14, R29
+0785889a| plan9 CINC LS, R8, R7
+4782935a| plan9 CSINVW HI, R18, R19, R7
+118197da| plan9 CSINV HI, R8, R23, R17
+00868a5a| plan9 CSNEGW HI, R16, R10, R0
+128585da| plan9 CSNEG HI, R8, R5, R18
+4c808f1a| plan9 CSELW HI, R2, R15, R12
+7783909a| plan9 CSEL HI, R27, R16, R23
+e5879f1a| plan9 CSETW LS, R5
+f3879f9a| plan9 CSET LS, R19
+f9839f5a| plan9 CSETMW LS, R25
+eb839fda| plan9 CSETM LS, R11
+b3869e1a| plan9 CSINCW HI, R21, R30, R19
+f086909a| plan9 CSINC HI, R23, R16, R16
+34839c5a| plan9 CSINVW HI, R25, R28, R20
+ea8294da| plan9 CSINV HI, R23, R20, R10
+8e84895a| plan9 CSNEGW HI, R4, R9, R14
+c48695da| plan9 CSNEG HI, R22, R21, R4
+cc84361e| plan9 FCCMPS HI, F22, F6, $12
+8086781e| plan9 FCCMPD HI, F24, F20, $0
+7187341e| plan9 FCCMPES HI, F20, F27, $1
+30867e1e| plan9 FCCMPED HI, F30, F17, $0
+b98e361e| plan9 FCSELS HI, F21, F22, F25
+2c8c651e| plan9 FCSELD HI, F1, F5, F12
+69888c54| plan9 BLS -236477(PC)
+0e9b523a| plan9 CCMNW LS, R24, $18, $14
+679854ba| plan9 CCMN LS, R3, $20, $7
+0492563a| plan9 CCMNW LS, R16, R22, $4
+42924dba| plan9 CCMN LS, R18, R13, $2
+2198417a| plan9 CCMPW LS, R1, $1, $1
+c89a54fa| plan9 CCMP LS, R22, $20, $8
+0f905e7a| plan9 CCMPW LS, R0, R30, $15
+c59342fa| plan9 CCMP LS, R30, R2, $5
+0d958c1a| plan9 CSINCW LS, R8, R12, R13
+7596879a| plan9 CSINC LS, R19, R7, R21
+1791905a| plan9 CSINVW LS, R8, R16, R23
+5e9186da| plan9 CSINV LS, R10, R6, R30
+23969e5a| plan9 CSNEGW LS, R17, R30, R3
+619493da| plan9 CSNEG LS, R3, R19, R1
+b5918e1a| plan9 CSELW LS, R13, R14, R21
+b393819a| plan9 CSEL LS, R29, R1, R19
+f9979f1a| plan9 CSETW HI, R25
+ee979f9a| plan9 CSET HI, R14
+eb939f5a| plan9 CSETMW HI, R11
+ea939fda| plan9 CSETM HI, R10
+f497871a| plan9 CSINCW LS, ZR, R7, R20
+c4949d9a| plan9 CSINC LS, R6, R29, R4
+e892895a| plan9 CSINVW LS, R23, R9, R8
+6c908eda| plan9 CSINV LS, R3, R14, R12
+26949f5a| plan9 CSNEGW LS, R1, ZR, R6
+329498da| plan9 CSNEG LS, R1, R24, R18
+81952d1e| plan9 FCCMPS LS, F13, F12, $1
+60967f1e| plan9 FCCMPD LS, F31, F19, $0
+1794321e| plan9 FCCMPES LS, F18, F0, $7
+3f97641e| plan9 FCCMPED LS, F4, F25, $15
+089c2d1e| plan9 FCSELS LS, F0, F13, F8
+699f631e| plan9 FCSELD LS, F27, F3, F9
+8afbfe54| plan9 BGE -2084(PC)
+44aa573a| plan9 CCMNW GE, R18, $23, $4
+00a84fba| plan9 CCMN GE, R0, $15, $0
+c9a04d3a| plan9 CCMNW GE, R6, R13, $9
+88a041ba| plan9 CCMN GE, R4, R1, $8
+caaa467a| plan9 CCMPW GE, R22, $6, $10
+85a85cfa| plan9 CCMP GE, R4, $28, $5
+47a35f7a| plan9 CCMPW GE, R26, ZR, $7
+0aa34dfa| plan9 CCMP GE, R24, R13, $10
+dea7981a| plan9 CSINCW GE, R30, R24, R30
+c6a5909a| plan9 CSINC GE, R14, R16, R6
+8aa1965a| plan9 CSINVW GE, R12, R22, R10
+e3a392da| plan9 CSINV GE, ZR, R18, R3
+20a5845a| plan9 CSNEGW GE, R9, R4, R0
+fba694da| plan9 CSNEG GE, R23, R20, R27
+faa1851a| plan9 CSELW GE, R15, R5, R26
+25a3959a| plan9 CSEL GE, R25, R21, R5
+e2a79f1a| plan9 CSETW LT, R2
+fda79f9a| plan9 CSET LT, R29
+eea39f5a| plan9 CSETMW LT, R14
+e2a39fda| plan9 CSETM LT, R2
+efa6951a| plan9 CSINCW GE, R23, R21, R15
+4ca69e9a| plan9 CSINC GE, R18, R30, R12
+22a2885a| plan9 CSINVW GE, R17, R8, R2
+53a089da| plan9 CSINV GE, R2, R9, R19
+f9a6875a| plan9 CSNEGW GE, R23, R7, R25
+c9a795da| plan9 CSNEG GE, R30, R21, R9
+24a73e1e| plan9 FCCMPS GE, F30, F25, $4
+6da5651e| plan9 FCCMPD GE, F5, F11, $13
+bda52e1e| plan9 FCCMPES GE, F14, F13, $13
+f6a7651e| plan9 FCCMPED GE, F5, F31, $6
+e3ac251e| plan9 FCSELS GE, F7, F5, F3
+b3ae781e| plan9 FCSELD GE, F21, F24, F19
+ab621754| plan9 BLT 47893(PC)
+e1b84c3a| plan9 CCMNW LT, R7, $12, $1
+89ba4eba| plan9 CCMN LT, R20, $14, $9
+88b14a3a| plan9 CCMNW LT, R12, R10, $8
+89b145ba| plan9 CCMN LT, R12, R5, $9
+47b9547a| plan9 CCMPW LT, R10, $20, $7
+07b95bfa| plan9 CCMP LT, R8, $27, $7
+4ab2407a| plan9 CCMPW LT, R18, R0, $10
+8ab144fa| plan9 CCMP LT, R12, R4, $10
+79b5821a| plan9 CSINCW LT, R11, R2, R25
+8bb4919a| plan9 CSINC LT, R4, R17, R11
+c9b19f5a| plan9 CSINVW LT, R14, ZR, R9
+10b28bda| plan9 CSINV LT, R16, R11, R16
+d8b4925a| plan9 CSNEGW LT, R6, R18, R24
+3ab69fda| plan9 CSNEG LT, R17, ZR, R26
+2cb3841a| plan9 CSELW LT, R25, R4, R12
+77b0969a| plan9 CSEL LT, R3, R22, R23
+e2b79f1a| plan9 CSETW GE, R2
+e9b79f9a| plan9 CSET GE, R9
+f4b39f5a| plan9 CSETMW GE, R20
+f2b39fda| plan9 CSETM GE, R18
+87b59a1a| plan9 CSINCW LT, R12, R26, R7
+70b69c9a| plan9 CSINC LT, R19, R28, R16
+17b08f5a| plan9 CSINVW LT, R0, R15, R23
+cab288da| plan9 CSINV LT, R22, R8, R10
+bab7905a| plan9 CSNEGW LT, R29, R16, R26
+08b796da| plan9 CSNEG LT, R24, R22, R8
+2eb73e1e| plan9 FCCMPS LT, F30, F25, $14
+86b7671e| plan9 FCCMPD LT, F7, F28, $6
+f0b6211e| plan9 FCCMPES LT, F1, F23, $0
+b2b76b1e| plan9 FCCMPED LT, F11, F29, $2
+e8bf241e| plan9 FCSELS LT, F31, F4, F8
+9ebd7d1e| plan9 FCSELD LT, F12, F29, F30
+cc87d354| plan9 BGT -91074(PC)
+43c8563a| plan9 CCMNW GT, R2, $22, $3
+c5c94dba| plan9 CCMN GT, R14, $13, $5
+6fc0533a| plan9 CCMNW GT, R3, R19, $15
+06c351ba| plan9 CCMN GT, R24, R17, $6
+c3c95c7a| plan9 CCMPW GT, R14, $28, $3
+29cb52fa| plan9 CCMP GT, R25, $18, $9
+8bc25a7a| plan9 CCMPW GT, R20, R26, $11
+45c14dfa| plan9 CCMP GT, R10, R13, $5
+80c7841a| plan9 CSINCW GT, R28, R4, R0
+40c4919a| plan9 CSINC GT, R2, R17, R0
+04c2805a| plan9 CSINVW GT, R16, R0, R4
+55c086da| plan9 CSINV GT, R2, R6, R21
+32c7935a| plan9 CSNEGW GT, R25, R19, R18
+31c59fda| plan9 CSNEG GT, R9, ZR, R17
+6cc2921a| plan9 CSELW GT, R19, R18, R12
+37c08d9a| plan9 CSEL GT, R1, R13, R23
+eec79f1a| plan9 CSETW LE, R14
+eec79f9a| plan9 CSET LE, R14
+f4c39f5a| plan9 CSETMW LE, R20
+f6c39fda| plan9 CSETM LE, R22
+31c5971a| plan9 CSINCW GT, R9, R23, R17
+76c7899a| plan9 CSINC GT, R27, R9, R22
+bbc1805a| plan9 CSINVW GT, R13, R0, R27
+e8c384da| plan9 CSINV GT, ZR, R4, R8
+83c5955a| plan9 CSNEGW GT, R12, R21, R3
+77c790da| plan9 CSNEG GT, R27, R16, R23
+e9c5251e| plan9 FCCMPS GT, F5, F15, $9
+a3c4671e| plan9 FCCMPD GT, F7, F5, $3
+71c72e1e| plan9 FCCMPES GT, F14, F27, $1
+3dc4781e| plan9 FCCMPED GT, F24, F1, $13
+57cf3d1e| plan9 FCSELS GT, F26, F29, F23
+8fcc7e1e| plan9 FCSELD GT, F4, F30, F15
+8d1ec054| plan9 BLE -130828(PC)
+4bdb5b3a| plan9 CCMNW LE, R26, $27, $11
+47d94fba| plan9 CCMN LE, R10, $15, $7
+4dd1443a| plan9 CCMNW LE, R10, R4, $13
+82d353ba| plan9 CCMN LE, R28, R19, $2
+e8d9527a| plan9 CCMPW LE, R15, $18, $8
+00db45fa| plan9 CCMP LE, R24, $5, $0
+c5d1437a| plan9 CCMPW LE, R14, R3, $5
+e4d041fa| plan9 CCMP LE, R7, R1, $4
+0bd6941a| plan9 CSINCW LE, R16, R20, R11
+57d6929a| plan9 CINC GT, R18, R23
+3dd29a5a| plan9 CSINVW LE, R17, R26, R29
+ded085da| plan9 CSINV LE, R6, R5, R30
+27d5985a| plan9 CSNEGW LE, R9, R24, R7
+7fd59ada| plan9 CSNEG LE, R11, R26, ZR
+b7d0911a| plan9 CSELW LE, R5, R17, R23
+a4d3879a| plan9 CSEL LE, R29, R7, R4
+e6d79f1a| plan9 CSETW GT, R6
+f1d79f9a| plan9 CSET GT, R17
+f3d39f5a| plan9 CSETMW GT, R19
+f9d39fda| plan9 CSETM GT, R25
+42d78d1a| plan9 CSINCW LE, R26, R13, R2
+88d58a9a| plan9 CSINC LE, R12, R10, R8
+ccd3805a| plan9 CSINVW LE, R30, R0, R12
+0fd085da| plan9 CSINV LE, R0, R5, R15
+55d5975a| plan9 CSNEGW LE, R10, R23, R21
+3fd699da| plan9 CSNEG LE, R17, R25, ZR
+60d4251e| plan9 FCCMPS LE, F5, F3, $0
+6dd6601e| plan9 FCCMPD LE, F0, F19, $13
+bdd5221e| plan9 FCCMPES LE, F2, F13, $13
+f4d67d1e| plan9 FCCMPED LE, F29, F23, $4
+0cdd381e| plan9 FCSELS LE, F8, F24, F12
+70de7e1e| plan9 FCSELD LE, F19, F30, F16
+8e585454| plan9 BAL 172740(PC)
+41eb483a| plan9 CCMNW AL, R26, $8, $1
+8aeb42ba| plan9 CCMN AL, R28, $2, $10
+c8e3473a| plan9 CCMNW AL, R30, R7, $8
+ade059ba| plan9 CCMN AL, R5, R25, $13
+67eb5b7a| plan9 CCMPW AL, R27, $27, $7
+05e849fa| plan9 CCMP AL, R0, $9, $5
+42e3407a| plan9 CCMPW AL, R26, R0, $2
+03e053fa| plan9 CCMP AL, R0, R19, $3
+9ce4931a| plan9 CSINCW AL, R4, R19, R28
+8ee69d9a| plan9 CSINC AL, R20, R29, R14
+68e0835a| plan9 CSINVW AL, R3, R3, R8
+20e381da| plan9 CSINV AL, R25, R1, R0
+e0e58d5a| plan9 CSNEGW AL, R15, R13, R0
+9ae589da| plan9 CSNEG AL, R12, R9, R26
+6ee0941a| plan9 CSELW AL, R3, R20, R14
+77e38a9a| plan9 CSEL AL, R27, R10, R23
+efe79f1a| plan9 CSINCW AL, ZR, ZR, R15
+e5e79f9a| plan9 CSINC AL, ZR, ZR, R5
+f2e39f5a| plan9 CSINVW AL, ZR, ZR, R18
+fae39fda| plan9 CSINV AL, ZR, ZR, R26
+ede7861a| plan9 CSINCW AL, ZR, R6, R13
+0ce58a9a| plan9 CSINC AL, R8, R10, R12
+75e2835a| plan9 CSINVW AL, R19, R3, R21
+38e391da| plan9 CSINV AL, R25, R17, R24
+fee4845a| plan9 CSNEGW AL, R7, R4, R30
+09e49bda| plan9 CSNEG AL, R0, R27, R9
+a8e6271e| plan9 FCCMPS AL, F7, F21, $8
+ede67d1e| plan9 FCCMPD AL, F29, F23, $13
+bbe53b1e| plan9 FCCMPES AL, F27, F13, $11
+70e6661e| plan9 FCCMPED AL, F6, F19, $0
+01ee3b1e| plan9 FCSELS AL, F16, F27, F1
+15ec651e| plan9 FCSELD AL, F0, F5, F21
+4f462554| plan9 BAL 76338(PC)
+eef9493a| plan9 CCMNW AL, R15, $9, $14
+88fa53ba| plan9 CCMN AL, R20, $19, $8
+c0f25f3a| plan9 CCMNW AL, R22, ZR, $0
+c6f05cba| plan9 CCMN AL, R6, R28, $6
+45f84c7a| plan9 CCMPW AL, R2, $12, $5
+a3fa4afa| plan9 CCMP AL, R21, $10, $3
+caf3517a| plan9 CCMPW AL, R30, R17, $10
+81f055fa| plan9 CCMP AL, R4, R21, $1
+cbf69e1a| plan9 CSINCW AL, R22, R30, R11
+01f48e9a| plan9 CSINC AL, R0, R14, R1
+61f1845a| plan9 CSINVW AL, R11, R4, R1
+11f397da| plan9 CSINV AL, R24, R23, R17
+7bf69f5a| plan9 CSNEGW AL, R19, ZR, R27
+b1f686da| plan9 CSNEG AL, R21, R6, R17
+69f39e1a| plan9 CSELW AL, R27, R30, R9
+79f2859a| plan9 CSEL AL, R19, R5, R25
+e1f79f1a| plan9 CSINCW AL, ZR, ZR, R1
+e6f79f9a| plan9 CSINC AL, ZR, ZR, R6
+fcf39f5a| plan9 CSINVW AL, ZR, ZR, R28
+fbf39fda| plan9 CSINV AL, ZR, ZR, R27
+2ef4831a| plan9 CSINCW AL, R1, R3, R14
+55f6859a| plan9 CSINC AL, R18, R5, R21
+4ff0905a| plan9 CSINVW AL, R2, R16, R15
+81f393da| plan9 CSINV AL, R28, R19, R1
+8bf68d5a| plan9 CSNEGW AL, R20, R13, R11
+c2f48fda| plan9 CSNEG AL, R6, R15, R2
+e9f6391e| plan9 FCCMPS AL, F25, F23, $9
+27f46f1e| plan9 FCCMPD AL, F15, F1, $7
+72f6301e| plan9 FCCMPES AL, F16, F19, $2
+37f57a1e| plan9 FCCMPED AL, F26, F9, $7
+fcfe3a1e| plan9 FCSELS AL, F23, F26, F28
+80fd701e| plan9 FCSELD AL, F12, F16, F0
+40946454| plan9 BEQ 205986(PC)
+8b09473a| plan9 CCMNW EQ, R12, $7, $11
+c50a5eba| plan9 CCMN EQ, R22, $30, $5
+05005a3a| plan9 CCMNW EQ, R0, R26, $5
+cf024bba| plan9 CCMN EQ, R22, R11, $15
+8a084f7a| plan9 CCMPW EQ, R4, $15, $10
+e20a41fa| plan9 CCMP EQ, R23, $1, $2
+8c015f7a| plan9 CCMPW EQ, R12, ZR, $12
+e4015cfa| plan9 CCMP EQ, R15, R28, $4
+42078e1a| plan9 CSINCW EQ, R26, R14, R2
+2005879a| plan9 CSINC EQ, R9, R7, R0
+f003955a| plan9 CSINVW EQ, ZR, R21, R16
+dc019dda| plan9 CSINV EQ, R14, R29, R28
+4607885a| plan9 CSNEGW EQ, R26, R8, R6
+26069eda| plan9 CSNEG EQ, R17, R30, R6
+72018a1a| plan9 CSELW EQ, R11, R10, R18
+8003849a| plan9 CSEL EQ, R28, R4, R0
+f1079f1a| plan9 CSETW NE, R17
+fb079f9a| plan9 CSET NE, R27
+ef039f5a| plan9 CSETMW NE, R15
+e1039fda| plan9 CSETM NE, R1
+5307881a| plan9 CSINCW EQ, R26, R8, R19
+8a06969a| plan9 CSINC EQ, R20, R22, R10
+ab00955a| plan9 CSINVW EQ, R5, R21, R11
+c3039bda| plan9 CSINV EQ, R30, R27, R3
+8005875a| plan9 CSNEGW EQ, R12, R7, R0
+740694da| plan9 CSNEG EQ, R19, R20, R20
+e207281e| plan9 FCCMPS EQ, F8, F31, $2
+2b056a1e| plan9 FCCMPD EQ, F10, F9, $11
+7e063f1e| plan9 FCCMPES EQ, F31, F19, $14
+3c05671e| plan9 FCCMPED EQ, F7, F9, $12
+830f271e| plan9 FCSELS EQ, F28, F7, F3
+4d0d621e| plan9 FCSELD EQ, F10, F2, F13
+bf2003d5| plan9 SEVL
+9f2003d5| plan9 SEV
+7f2003d5| plan9 WFI
+5f2003d5| plan9 WFE
+3f2003d5| plan9 YIELD
+1f2003d5| plan9 NOP
+df4d03d5| plan9 MSR $13, DAIFSET
+ff4d03d5| plan9 MSR $13, DAIFCLR
+28d91b14| plan9 JMP 1825064(PC)
+15e5e514| plan9 JMP 15066389(PC)
+ff4603d5| plan9 MSR $6, DAIFCLR
+df4803d5| plan9 MSR $8, DAIFSET
+bf4100d5| plan9 MSR $1, SPSEL
+9f3f03d5| plan9 DSB $15
+9f3e03d5| plan9 DSB $14
+9f3d03d5| plan9 DSB $13
+9f3b03d5| plan9 DSB $11
+9f3a03d5| plan9 DSB $10
+9f3903d5| plan9 DSB $9
+9f3703d5| plan9 DSB $7
+9f3603d5| plan9 DSB $6
+9f3503d5| plan9 DSB $5
+9f3303d5| plan9 DSB $3
+9f3203d5| plan9 DSB $2
+9f3103d5| plan9 DSB $1
+ff4603d5| plan9 MSR $6, DAIFCLR
+df4803d5| plan9 MSR $8, DAIFSET
+bf4100d5| plan9 MSR $1, SPSEL
+a3681b53| plan9 LSLW $5, R5, R3
+47dc78d3| plan9 LSL $8, R2, R7
+0500a012| plan9 MOVNW $(0<<16), R5
+0500e092| plan9 MOVN $(0<<48), R5
+0500a052| plan9 MOVZW $(0<<16), R5
+0500a0d2| plan9 MOVZ $(0<<16), R5
+cd5a206e| plan9 VMVN V22.B16, V13.B16
+cd5a202e| plan9 VMVN V22.B8, V13.B8
+743d050e| plan9 UMOVW V11.B[2], R20
+743d0a0e| plan9 UMOVW V11.H[2], R20
+743d0c0e| plan9 VMOV V11.S[1], R20
+743d084e| plan9 VMOV V11.D[0], R20
diff --git a/arm64/arm64spec/spec.go b/arm64/arm64spec/spec.go
new file mode 100644
index 0000000..ee784e5
--- /dev/null
+++ b/arm64/arm64spec/spec.go
@@ -0,0 +1,714 @@
+// Copyright 2017 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// arm64spec reads the ``ARMv8-A Reference Manual''
+// to collect instruction encoding details and writes those
+// details to standard output in JSON format.
+// usage: arm64spec file.pdf
+
+package main
+
+import (
+ "bufio"
+ "bytes"
+ "encoding/json"
+ "fmt"
+ "log"
+ "math"
+ "os"
+ "regexp"
+ "sort"
+ "strconv"
+ "strings"
+
+ "rsc.io/pdf"
+)
+
+type Inst struct {
+ Name string
+ Bits string
+ Arch string
+ Syntax string
+ Code string
+ Alias string
+}
+
+const debugPage = 0
+
+var stdout *bufio.Writer
+
+func check(e error) {
+ if e != nil {
+ panic(e)
+ }
+}
+
+func main() {
+ log.SetFlags(0)
+ log.SetPrefix("arm64spec: ")
+
+ if len(os.Args) != 2 {
+ fmt.Fprintf(os.Stderr, "usage: arm64spec file.pdf\n")
+ os.Exit(2)
+ }
+ f, err := pdf.Open(os.Args[1])
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ // Find instruction set reference in outline, to build instruction list.
+ instList := instHeadings(f.Outline())
+ if debugPage == 0 {
+ fmt.Println("the number of instructions:", len(instList))
+ }
+ if len(instList) < 200 {
+ log.Fatalf("only found %d instructions in table of contents", len(instList))
+ }
+
+ file, err := os.Create("inst.json")
+ check(err)
+ w := bufio.NewWriter(file)
+ _, err = w.WriteString("[")
+ check(err)
+ numTable := 0
+ defer w.Flush()
+ defer file.Close()
+
+ // Scan document looking for instructions.
+ // Must find exactly the ones in the outline.
+ n := f.NumPage()
+PageLoop:
+ for pageNum := 435; pageNum <= n; pageNum++ {
+ if debugPage > 0 && pageNum != debugPage {
+ continue
+ }
+ if pageNum == 770 {
+ continue
+ }
+ if pageNum > 1495 {
+ break
+ }
+ p := f.Page(pageNum)
+ name, table := parsePage(pageNum, p, f)
+ if name == "" {
+ continue
+ }
+ if len(table) < 1 {
+ if false {
+ fmt.Fprintf(os.Stderr, "no encodings for instruction %q (page %d)\n", name, pageNum)
+ }
+ continue
+ }
+ for _, inst := range table {
+ if numTable > 0 {
+ _, err = w.WriteString(jsFix.Replace(","))
+ check(err)
+ _, err = w.WriteString("\n")
+ check(err)
+ }
+ numTable++
+ js, _ := json.Marshal(inst)
+ _, err = w.WriteString(jsFix.Replace(string(js)))
+ check(err)
+ }
+ for j, headline := range instList {
+ if name == headline {
+ instList[j] = ""
+ continue PageLoop
+ }
+ }
+ fmt.Fprintf(os.Stderr, "unexpected instruction %q (page %d)\n", name, pageNum)
+ }
+
+ _, err = w.WriteString("\n]\n")
+ check(err)
+ w.Flush()
+
+ if debugPage == 0 {
+ for _, headline := range instList {
+ if headline != "" {
+ fmt.Fprintf(os.Stderr, "missing instruction %q\n", headline)
+ }
+ }
+ }
+}
+
+func instHeadings(outline pdf.Outline) []string {
+ return appendInstHeadings(outline, nil)
+}
+
+var instRE = regexp.MustCompile(`C[\d.]+ Alphabetical list of A64 base instructions`)
+var instRE_A = regexp.MustCompile(`C[\d.]+ Alphabetical list of A64 floating-point and Advanced SIMD instructions`)
+var childRE = regexp.MustCompile(`C[\d.]+ (.+)`)
+var sectionRE = regexp.MustCompile(`^C[\d.]+$`)
+var bitRE = regexp.MustCompile(`^( |[01]|\([01]\))*$`)
+var IMMRE = regexp.MustCompile(`^imm[\d]+$`)
+
+func appendInstHeadings(outline pdf.Outline, list []string) []string {
+ if instRE.MatchString(outline.Title) || instRE_A.MatchString(outline.Title) {
+ for _, child := range outline.Child {
+ m := childRE.FindStringSubmatch(child.Title)
+ if m == nil {
+ fmt.Fprintf(os.Stderr, "cannot parse section title: %s\n", child.Title)
+ continue
+ }
+ list = append(list, m[1])
+ }
+ }
+ for _, child := range outline.Child {
+ list = appendInstHeadings(child, list)
+ }
+ return list
+}
+
+const inch = 72.0
+
+func parsePage(num int, p pdf.Page, f *pdf.Reader) (name string, table []Inst) {
+ content := p.Content()
+ var text []pdf.Text
+ CrossTwoPage := true
+ for _, t := range content.Text {
+ text = append(text, t)
+ }
+ text = findWords(text)
+ if !(instRE.MatchString(text[1].S) || instRE_A.MatchString(text[1].S)) || len(text) == 0 || !sectionRE.MatchString(text[2].S) {
+ return "", nil
+ }
+ // Check whether the content crosses the page.
+ for _, t := range text {
+ if match(t, "Arial,Bold", 10, "Assembler symbols") {
+ CrossTwoPage = false
+ break
+ }
+ }
+ // Deal with cross page issue. To the next page content.
+ var Ncontent pdf.Content
+ Npagebox := false
+ CrossThreePage := false
+ Noffset := ""
+ if CrossTwoPage == true {
+ Np := f.Page(num + 1)
+ Ncontent = Np.Content()
+ var Ntext []pdf.Text
+ for _, t := range Ncontent.Text {
+ Ntext = append(Ntext, t)
+ }
+ Ntext = findWords(Ntext)
+ if len(Ntext) == 0 || sectionRE.MatchString(Ntext[2].S) {
+ Ntext = text[:0]
+ } else {
+ for _, t := range Ntext {
+ if match(t, "Arial,Bold", 10, "offset") {
+ Noffset = t.S
+ Npagebox = true
+ }
+ // This istruction cross three pages.
+ if match(t, "Arial,Bold", 10, "Assembler symbols") {
+ CrossThreePage = false
+ } else {
+ CrossThreePage = true
+ }
+ text = append(text, t)
+ }
+ }
+ }
+ if CrossThreePage == true {
+ NNp := f.Page(num + 2)
+ NNcontent := NNp.Content()
+ var NNtext []pdf.Text
+ for _, t := range NNcontent.Text {
+ NNtext = append(NNtext, t)
+ }
+ NNtext = findWords(NNtext)
+ if len(NNtext) == 0 || sectionRE.MatchString(NNtext[2].S) {
+ NNtext = text[:0]
+ } else {
+ for _, t := range NNtext {
+ text = append(text, t)
+ }
+ }
+ }
+ // Get alias and remove text we should ignore.
+ out := text[:0]
+ alias := ""
+ for _, t := range text {
+ if strings.Contains(t.S, "instruction is used by the alias") || strings.Contains(t.S, "instruction is an alias of") {
+ alias_t := strings.SplitAfter(t.S, ".")
+ alias = alias_t[0]
+ }
+ // Skip page footer
+ if match(t, "Arial-ItalicMT", 8, "") || match(t, "ArialMT", 8, "") {
+ if debugPage > 0 {
+ fmt.Println("==the skip page footer is:==", t)
+ }
+ continue
+ }
+ // Skip the body text
+ if match(t, "TimesNewRoman", 9, "") || match(t, "TimesNewRomanPS-ItalicMT", 9, "") {
+ if debugPage > 0 {
+ fmt.Println("==the skip body text is:==", t)
+ }
+ continue
+ }
+ out = append(out, t)
+ }
+ text = out
+ // Page header must be child title.
+ if len(text) == 0 || !sectionRE.MatchString(text[0].S) {
+ return "", nil
+ }
+
+ name = text[1].S
+ inst := Inst{
+ Name: name,
+ Alias: alias,
+ }
+ text = text[2:]
+ // Skip body text before bits.
+ OffsetMark := false
+ k := 0
+ for k = 0; k < len(text); {
+ if !match(text[k], "Arial", 8, "31") {
+ k++
+ } else {
+ break
+ }
+ }
+ // Check offset.
+ if k > 0 && match(text[k-1], "Arial,Bold", 10, "") {
+ OffsetMark = true
+ text = text[k-1:]
+ } else {
+ text = text[k:]
+ }
+ // Encodings follow.
+ BitMark := false
+ bits := ""
+ // Find bits.
+ for i := 0; i < len(text); {
+ inst.Bits = ""
+ offset := ""
+ abits := ""
+ // Read bits only one time.
+ if OffsetMark == true {
+ for i < len(text) && !match(text[i], "Arial", 8, "") {
+ i++
+ }
+ if i < len(text) {
+ offset = text[i-1].S
+ BitMark = false
+ bits = ""
+ } else {
+ break
+ }
+ }
+ if BitMark == false {
+ if Npagebox == true && Noffset == offset {
+ bits, i = readBitBox(name, Ncontent, text, i)
+ } else {
+ bits, i = readBitBox(name, content, text, i)
+ }
+ BitMark = true
+ // Every time, get "then SEE" after get bits.
+ enc := false
+ if i < len(text)-1 {
+ m := i
+ for m < len(text)-1 && !match(text[m], "Arial-BoldItalicMT", 9, "encoding") {
+ m++
+ }
+ if match(text[m], "Arial-BoldItalicMT", 9, "encoding") && m < len(text) {
+ enc = true
+ m = m + 1
+ }
+ if enc == true {
+ for m < len(text) && !match(text[m], "Arial,Bold", 10, "") && match(text[m], "LucidaSansTypewriteX", 6.48, "") {
+ if strings.Contains(text[m].S, "then SEE") {
+ inst.Code = text[m].S
+ break
+ } else {
+ m++
+ }
+ }
+ }
+ }
+ }
+
+ // Possible subarchitecture notes.
+ ArchLoop:
+ for i < len(text) {
+ if !match(text[i], "Arial-BoldItalicMT", 9, "variant") || match(text[i], "Arial-BoldItalicMT", 9, "encoding") {
+ i++
+ continue
+ }
+ inst.Arch = ""
+ inst.Arch += offset
+ inst.Arch += " "
+ inst.Arch += text[i].S
+ inst.Arch = strings.TrimSpace(inst.Arch)
+ i++
+ // Encoding syntaxes.
+ sign := ""
+ SynMark := false
+ for i < len(text) && match(text[i], "LucidaSansTypewriteX", 6.48, "") && SynMark == false {
+ if (strings.Contains(text[i].S, "==") || strings.Contains(text[i].S, "!=")) && SynMark == false {
+ sign = text[i].S
+ i++
+ continue
+ }
+ // Avoid "equivalent to" another syntax.
+ if SynMark == false {
+ SynMark = true
+ inst.Syntax = ""
+ inst.Syntax = text[i].S
+ i++
+ }
+ }
+ abits = bits
+ // Analyse and replace some bits value.eg, sf==1
+ if strings.Contains(sign, "&&") {
+ split := strings.Split(sign, "&&")
+ for k := 0; k < len(split); {
+ if strings.Contains(split[k], "==") && !strings.Contains(split[k], "!") {
+ tmp := strings.Split(split[k], "==")
+ prefix := strings.TrimSpace(tmp[0])
+ value := strings.TrimSpace(tmp[1])
+ if strings.Contains(bits, prefix) && !strings.Contains(value, "x") {
+ abits = strings.Replace(abits, prefix, value, -1)
+ }
+ }
+ k++
+ }
+ } else if strings.Contains(sign, "==") && !strings.Contains(sign, "!") {
+ split := strings.Split(sign, "==")
+ prefix := strings.TrimSpace(split[0])
+ value := strings.TrimSpace(split[1])
+ if strings.Contains(bits, prefix) && !strings.Contains(value, "x") {
+ abits = strings.Replace(abits, prefix, value, -1)
+ }
+ }
+ // Deal with syntax contains {2}
+ if strings.Contains(inst.Syntax, "{2}") {
+ if !strings.Contains(abits, "Q") {
+ fmt.Fprintf(os.Stderr, "instruction%s - syntax%s: is wrong!!\n", name, inst.Syntax)
+ }
+ syn := inst.Syntax
+ bits := abits
+ for i := 0; i < 2; {
+ if i == 0 {
+ inst.Bits = strings.Replace(bits, "Q", "0", -1)
+ inst.Syntax = strings.Replace(syn, "{2}", "", -1)
+ table = append(table, inst)
+ }
+ if i == 1 {
+ inst.Bits = strings.Replace(bits, "Q", "1", -1)
+ inst.Syntax = strings.Replace(syn, "{2}", "2", -1)
+ table = append(table, inst)
+ }
+ i++
+ }
+ } else {
+ inst.Bits = abits
+ table = append(table, inst)
+ }
+
+ if OffsetMark == true && i < len(text) && match(text[i], "Arial-BoldItalicMT", 9, "variant") && !match(text[i], "Arial-BoldItalicMT", 9, "encoding") {
+ continue ArchLoop
+ } else {
+ break
+ }
+ }
+ }
+ return name, table
+}
+
+func readBitBox(name string, content pdf.Content, text []pdf.Text, i int) (string, int) {
+ // Bits headings
+ y3 := 0.0
+ x1 := 0.0
+ for i < len(text) && match(text[i], "Arial", 8, "") {
+ if y3 == 0 {
+ y3 = text[i].Y
+ }
+ if x1 == 0 {
+ x1 = text[i].X
+ }
+ if text[i].Y != y3 {
+ break
+ }
+ i++
+ }
+ // Bits fields in box
+ x2 := 0.0
+ y2 := 0.0
+ dy1 := 0.0
+ for i < len(text) && match(text[i], "Arial", 8, "") {
+ if x2 < text[i].X+text[i].W {
+ x2 = text[i].X + text[i].W
+ }
+ if y2 == 0 {
+ y2 = text[i].Y
+ }
+ if text[i].Y != y2 {
+ break
+ }
+ dy1 = text[i].FontSize
+ i++
+ }
+ // Bits fields below box
+ x3 := 0.0
+ y1 := 0.0
+ for i < len(text) && match(text[i], "Arial", 8, "") {
+ if x3 < text[i].X+text[i].W {
+ x3 = text[i].X + text[i].W
+ }
+ y1 = text[i].Y
+ if text[i].Y != y1 {
+ break
+ }
+ i++
+ }
+ //no bits fields below box
+ below_flag := true
+ if y1 == 0.0 {
+ below_flag = false
+ y1 = y2
+ }
+ // Encoding box
+ if debugPage > 0 {
+ fmt.Println("encoding box", x1, y3, x2, y1)
+ }
+
+ // Find lines (thin rectangles) separating bit fields.
+ var bottom, top pdf.Rect
+ const (
+ yMargin = 0.25 * 72
+ xMargin = 2 * 72
+ )
+ cont := 0
+ if below_flag == true {
+ for _, r := range content.Rect {
+ cont = cont + 1
+ if x1-xMargin < r.Min.X && r.Min.X < x1 && x2 < r.Max.X && r.Max.X < x2+xMargin {
+ if y1-yMargin < r.Min.Y && r.Min.Y < y2-dy1 {
+ bottom = r
+ }
+ if y2+dy1 < r.Min.Y && r.Min.Y < y3+yMargin {
+ top = r
+ }
+ }
+ }
+ } else {
+ for _, r := range content.Rect {
+ cont = cont + 1
+ if x1-xMargin < r.Min.X && r.Min.X < x1 && x2 < r.Max.X && r.Max.X < x2+xMargin {
+ if y1-yMargin-dy1 < r.Min.Y && r.Min.Y < y3-dy1 {
+ bottom = r
+ }
+ if y2+dy1 < r.Min.Y && r.Min.Y < y3+yMargin {
+ top = r
+ }
+ }
+ }
+ }
+
+ if debugPage > 0 {
+ fmt.Println("top", top, "bottom", bottom, "content.Rect number", cont)
+ }
+
+ const ε = 0.5 * 72
+ cont_1 := 0
+ var bars []pdf.Rect
+ for _, r := range content.Rect {
+ if math.Abs(r.Min.X-r.Max.X) < bottom.Max.X-bottom.Min.X-(ε/2) && math.Abs(r.Min.Y-bottom.Min.Y) < ε && math.Abs(r.Max.Y-top.Min.Y) < ε {
+ cont_1 = cont_1 + 1
+ bars = append(bars, r)
+ }
+ }
+ sort.Sort(RectHorizontal(bars))
+ if debugPage > 0 {
+ fmt.Println("==bars number==", cont_1)
+ }
+
+ // There are 16-bit and 32-bit encodings.
+ // In practice, they are about 2.65 and 5.3 inches wide, respectively.
+ // Use 4 inches as a cutoff.
+ nbit := 32
+ dx := top.Max.X - top.Min.X
+ if top.Max.X-top.Min.X < 4*72 {
+ nbit = 16
+ }
+
+ total := 0
+ var buf bytes.Buffer
+ for i := 0; i < len(bars); i++ {
+ if i > 0 {
+ fmt.Fprintf(&buf, "|")
+ }
+ var sub []pdf.Text
+ x1, x2 := bars[i].Min.X, bars[i].Max.X
+ for _, t := range content.Text {
+ tx := t.X + t.W/2
+ ty := t.Y
+ if x1 < tx && tx < x2 && y2-dy1 < ty && ty < y2+dy1 {
+ sub = append(sub, t)
+ }
+ }
+ var str []string
+ for _, t := range findWords(sub) {
+ str = append(str, t.S)
+ }
+ s := strings.Join(str, " ")
+ s = strings.Replace(s, ")(", ") (", -1)
+
+ // If bits contain "!" or "x", be replaced by the bits below it.
+ if strings.Contains(s, "!") || strings.Contains(s, "x") {
+ var sub1 []pdf.Text
+ for _, t := range content.Text {
+ tx := t.X + t.W/2
+ ty := t.Y
+ if x1 < tx && tx < x2 && y1-dy1 < ty && ty < y1+dy1 {
+ sub1 = append(sub1, t)
+ }
+
+ }
+ var str1 []string
+ for _, t := range findWords(sub1) {
+ str1 = append(str1, t.S)
+ }
+ s = strings.Join(str1, " ")
+ s = strings.Replace(s, ")(", ") (", -1)
+ }
+
+ n := len(strings.Fields(s))
+
+ var b int
+ if IMMRE.MatchString(s) {
+ bitNum := strings.TrimPrefix(s, "imm")
+ b, _ = strconv.Atoi(bitNum)
+ } else if s == "immhi" {
+ b = 19
+ } else {
+ b = int(float64(nbit)*(x2-x1)/dx + 0.5)
+ }
+ if n == b {
+ for k, f := range strings.Fields(s) {
+ if k > 0 {
+ fmt.Fprintf(&buf, "|")
+ }
+ fmt.Fprintf(&buf, "%s", f)
+ }
+ } else {
+ if n != 1 {
+ fmt.Fprintf(os.Stderr, "%s - multi-field %d-bit encoding: %s\n", name, n, s)
+ }
+ fmt.Fprintf(&buf, "%s:%d", s, b)
+ }
+ total += b
+ }
+
+ if total != nbit || total == 0 {
+ fmt.Fprintf(os.Stderr, "%s - %d-bit encoding\n", name, total)
+ }
+ return buf.String(), i
+}
+
+type RectHorizontal []pdf.Rect
+
+func (x RectHorizontal) Swap(i, j int) { x[i], x[j] = x[j], x[i] }
+func (x RectHorizontal) Less(i, j int) bool { return x[i].Min.X < x[j].Min.X }
+func (x RectHorizontal) Len() int { return len(x) }
+
+func checkNoEncodings(num int, text []pdf.Text) {
+ for _, t := range text {
+ if match(t, "Helvetica-Bold", 9, "Encoding") {
+ fmt.Fprintf(os.Stderr, "page %d: unexpected encoding: %s\n", num, t.S)
+ }
+ }
+}
+
+func match(t pdf.Text, font string, size float64, substr string) bool {
+ return t.Font == font && math.Abs(t.FontSize-size) < 0.1 && strings.Contains(t.S, substr)
+}
+
+func findWords(chars []pdf.Text) (words []pdf.Text) {
+ // Sort by Y coordinate and normalize.
+ const nudge = 1
+ sort.Sort(pdf.TextVertical(chars))
+ old := -100000.0
+ for i, c := range chars {
+ if c.Y != old && math.Abs(old-c.Y) < nudge {
+ chars[i].Y = old
+ } else {
+ old = c.Y
+ }
+ }
+
+ // Sort by Y coordinate, breaking ties with X.
+ // This will bring letters in a single word together.
+ sort.Sort(pdf.TextVertical(chars))
+
+ // Loop over chars.
+ for i := 0; i < len(chars); {
+ // Find all chars on line.
+ j := i + 1
+ for j < len(chars) && chars[j].Y == chars[i].Y {
+ j++
+ }
+ var end float64
+ // Split line into words (really, phrases).
+ for k := i; k < j; {
+ ck := &chars[k]
+ s := ck.S
+ end = ck.X + ck.W
+ charSpace := ck.FontSize / 6
+ wordSpace := ck.FontSize * 2 / 3
+ l := k + 1
+ for l < j {
+ // Grow word.
+ cl := &chars[l]
+ if sameFont(cl.Font, ck.Font) && math.Abs(cl.FontSize-ck.FontSize) < 0.1 && cl.X <= end+charSpace {
+ s += cl.S
+ end = cl.X + cl.W
+ l++
+ continue
+ }
+ // Add space to phrase before next word.
+ if sameFont(cl.Font, ck.Font) && math.Abs(cl.FontSize-ck.FontSize) < 0.1 && cl.X <= end+wordSpace {
+ s += " " + cl.S
+ end = cl.X + cl.W
+ l++
+ continue
+ }
+ break
+ }
+ f := ck.Font
+ f = strings.TrimSuffix(f, ",Italic")
+ f = strings.TrimSuffix(f, "-Italic")
+ words = append(words, pdf.Text{f, ck.FontSize, ck.X, ck.Y, end - ck.X, s})
+ k = l
+ }
+ i = j
+ }
+
+ return words
+}
+
+func sameFont(f1, f2 string) bool {
+ f1 = strings.TrimSuffix(f1, ",Italic")
+ f1 = strings.TrimSuffix(f1, "-Italic")
+ f2 = strings.TrimSuffix(f1, ",Italic")
+ f2 = strings.TrimSuffix(f1, "-Italic")
+ return strings.TrimSuffix(f1, ",Italic") == strings.TrimSuffix(f2, ",Italic") || f1 == "Symbol" || f2 == "Symbol" || f1 == "TimesNewRoman" || f2 == "TimesNewRoman"
+}
+
+var jsFix = strings.NewReplacer(
+ `\u003c`, `<`,
+ `\u003e`, `>`,
+ `\u0026`, `&`,
+ `\u0009`, `\t`,
+)
+
+func printTable(name string, table []Inst) {
+ _ = strconv.Atoi
+}