case AARCH64_OPND_SVE_Zt:
case AARCH64_OPND_SME_Zm:
case AARCH64_OPND_SME_Zm_17:
+ case AARCH64_OPND_SME_Zn_6_3:
+ case AARCH64_OPND_SME_Zm_17_3:
reg_type = REG_TYPE_Z;
goto vector_reg;
case AARCH64_OPND_SVE_ZtxN:
case AARCH64_OPND_SME_Zdnx2:
case AARCH64_OPND_SME_Zdnx4:
+ case AARCH64_OPND_SME_Znx2_6_3:
+ case AARCH64_OPND_SME_Zmx2_17_3:
case AARCH64_OPND_SME_Zmx2:
case AARCH64_OPND_SME_Zmx4:
case AARCH64_OPND_SME_Znx2:
{"sme2p2", AARCH64_FEATURE (SME2p2), AARCH64_FEATURE (SME2p1)},
{"gcie", AARCH64_FEATURE (GCIE), AARCH64_NO_FEATURES},
{"sme-tmop", AARCH64_FEATURE (SME_TMOP), AARCH64_FEATURE (SME2)},
+ {"sme-mop4", AARCH64_FEATURE (SME_MOP4), AARCH64_FEATURE (SME2)},
{NULL, AARCH64_NO_FEATURES, AARCH64_NO_FEATURES},
};
@tab Enable SME I16I64 Extension.
@item @code{sme-lutv2} @tab
@tab Enable SME Lookup Table v2 (LUTv2) extension.
+@item @code{sme-mop4} @tab @code{sme2}
+ @tab Enable SME Quarter-tile outer product instructions.
@item @code{sme-tmop} @tab @code{sme2}
@tab Enable SME structured sparsity outer product instructions.
@item @code{sme2} @tab @code{sme}
--- /dev/null
+#as: -march=armv8-a+sme-mop4+sme-b16b16
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 81200008 bfmop4a za0\.h, z0\.h, z16\.h
+ *[0-9a-f]+: 81200009 bfmop4a za1\.h, z0\.h, z16\.h
+ *[0-9a-f]+: 812001c8 bfmop4a za0\.h, z14\.h, z16\.h
+ *[0-9a-f]+: 812e0008 bfmop4a za0\.h, z0\.h, z30\.h
+ *[0-9a-f]+: 81300008 bfmop4a za0\.h, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 81300009 bfmop4a za1\.h, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 813001c8 bfmop4a za0\.h, z14\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 813e0008 bfmop4a za0\.h, z0\.h, {z30\.h-z31\.h}
+ *[0-9a-f]+: 81200208 bfmop4a za0\.h, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: 81200209 bfmop4a za1\.h, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: 812003c8 bfmop4a za0\.h, {z14\.h-z15\.h}, z16\.h
+ *[0-9a-f]+: 812e0208 bfmop4a za0\.h, {z0\.h-z1\.h}, z30\.h
+ *[0-9a-f]+: 81300208 bfmop4a za0\.h, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 81300209 bfmop4a za1\.h, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 813003c8 bfmop4a za0\.h, {z14\.h-z15\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 813e0208 bfmop4a za0\.h, {z0\.h-z1\.h}, {z30\.h-z31\.h}
+ *[0-9a-f]+: 81200018 bfmop4s za0\.h, z0\.h, z16\.h
+ *[0-9a-f]+: 81200019 bfmop4s za1\.h, z0\.h, z16\.h
+ *[0-9a-f]+: 812001d8 bfmop4s za0\.h, z14\.h, z16\.h
+ *[0-9a-f]+: 812e0018 bfmop4s za0\.h, z0\.h, z30\.h
+ *[0-9a-f]+: 81300018 bfmop4s za0\.h, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 81300019 bfmop4s za1\.h, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 813001d8 bfmop4s za0\.h, z14\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 813e0018 bfmop4s za0\.h, z0\.h, {z30\.h-z31\.h}
+ *[0-9a-f]+: 81200218 bfmop4s za0\.h, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: 81200219 bfmop4s za1\.h, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: 812003d8 bfmop4s za0\.h, {z14\.h-z15\.h}, z16\.h
+ *[0-9a-f]+: 812e0218 bfmop4s za0\.h, {z0\.h-z1\.h}, z30\.h
+ *[0-9a-f]+: 81300218 bfmop4s za0\.h, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 81300219 bfmop4s za1\.h, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 813003d8 bfmop4s za0\.h, {z14\.h-z15\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 813e0218 bfmop4s za0\.h, {z0\.h-z1\.h}, {z30\.h-z31\.h}
--- /dev/null
+ bfmop4a za0.h, z0.h, z16.h
+ bfmop4a za1.h, z0.h, z16.h
+ bfmop4a za0.h, z14.h, z16.h
+ bfmop4a za0.h, z0.h, z30.h
+ bfmop4a za0.h, z0.h, { z16.h-z17.h }
+ bfmop4a za1.h, z0.h, { z16.h-z17.h }
+ bfmop4a za0.h, z14.h, { z16.h-z17.h }
+ bfmop4a za0.h, z0.h, { z30.h-z31.h }
+ bfmop4a za0.h, { z0.h-z1.h }, z16.h
+ bfmop4a za1.h, { z0.h-z1.h }, z16.h
+ bfmop4a za0.h, { z14.h-z15.h }, z16.h
+ bfmop4a za0.h, { z0.h-z1.h }, z30.h
+ bfmop4a za0.h, { z0.h-z1.h }, { z16.h-z17.h }
+ bfmop4a za1.h, { z0.h-z1.h }, { z16.h-z17.h }
+ bfmop4a za0.h, { z14.h-z15.h }, { z16.h-z17.h }
+ bfmop4a za0.h, { z0.h-z1.h }, { z30.h-z31.h }
+
+ bfmop4s za0.h, z0.h, z16.h
+ bfmop4s za1.h, z0.h, z16.h
+ bfmop4s za0.h, z14.h, z16.h
+ bfmop4s za0.h, z0.h, z30.h
+ bfmop4s za0.h, z0.h, { z16.h-z17.h }
+ bfmop4s za1.h, z0.h, { z16.h-z17.h }
+ bfmop4s za0.h, z14.h, { z16.h-z17.h }
+ bfmop4s za0.h, z0.h, { z30.h-z31.h }
+ bfmop4s za0.h, { z0.h-z1.h }, z16.h
+ bfmop4s za1.h, { z0.h-z1.h }, z16.h
+ bfmop4s za0.h, { z14.h-z15.h }, z16.h
+ bfmop4s za0.h, { z0.h-z1.h }, z30.h
+ bfmop4s za0.h, { z0.h-z1.h }, { z16.h-z17.h }
+ bfmop4s za1.h, { z0.h-z1.h }, { z16.h-z17.h }
+ bfmop4s za0.h, { z14.h-z15.h }, { z16.h-z17.h }
+ bfmop4s za0.h, { z0.h-z1.h }, { z30.h-z31.h }
--- /dev/null
+#as: -march=armv8-a+sme-mop4+sme-f16f16
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 81000008 fmop4a za0\.h, z0\.h, z16\.h
+ *[0-9a-f]+: 81000009 fmop4a za1\.h, z0\.h, z16\.h
+ *[0-9a-f]+: 810001c8 fmop4a za0\.h, z14\.h, z16\.h
+ *[0-9a-f]+: 810e0008 fmop4a za0\.h, z0\.h, z30\.h
+ *[0-9a-f]+: 81100008 fmop4a za0\.h, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 81100009 fmop4a za1\.h, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 811001c8 fmop4a za0\.h, z14\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 811e0008 fmop4a za0\.h, z0\.h, {z30\.h-z31\.h}
+ *[0-9a-f]+: 81000208 fmop4a za0\.h, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: 81000209 fmop4a za1\.h, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: 810003c8 fmop4a za0\.h, {z14\.h-z15\.h}, z16\.h
+ *[0-9a-f]+: 810e0208 fmop4a za0\.h, {z0\.h-z1\.h}, z30\.h
+ *[0-9a-f]+: 81100208 fmop4a za0\.h, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 81100209 fmop4a za1\.h, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 811003c8 fmop4a za0\.h, {z14\.h-z15\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 811e0208 fmop4a za0\.h, {z0\.h-z1\.h}, {z30\.h-z31\.h}
+ *[0-9a-f]+: 81000018 fmop4s za0\.h, z0\.h, z16\.h
+ *[0-9a-f]+: 81000019 fmop4s za1\.h, z0\.h, z16\.h
+ *[0-9a-f]+: 810001d8 fmop4s za0\.h, z14\.h, z16\.h
+ *[0-9a-f]+: 810e0018 fmop4s za0\.h, z0\.h, z30\.h
+ *[0-9a-f]+: 81100018 fmop4s za0\.h, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 81100019 fmop4s za1\.h, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 811001d8 fmop4s za0\.h, z14\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 811e0018 fmop4s za0\.h, z0\.h, {z30\.h-z31\.h}
+ *[0-9a-f]+: 81000218 fmop4s za0\.h, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: 81000219 fmop4s za1\.h, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: 810003d8 fmop4s za0\.h, {z14\.h-z15\.h}, z16\.h
+ *[0-9a-f]+: 810e0218 fmop4s za0\.h, {z0\.h-z1\.h}, z30\.h
+ *[0-9a-f]+: 81100218 fmop4s za0\.h, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 81100219 fmop4s za1\.h, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 811003d8 fmop4s za0\.h, {z14\.h-z15\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 811e0218 fmop4s za0\.h, {z0\.h-z1\.h}, {z30\.h-z31\.h}
--- /dev/null
+ fmop4a za0.h, z0.h, z16.h
+ fmop4a za1.h, z0.h, z16.h
+ fmop4a za0.h, z14.h, z16.h
+ fmop4a za0.h, z0.h, z30.h
+ fmop4a za0.h, z0.h, { z16.h-z17.h }
+ fmop4a za1.h, z0.h, { z16.h-z17.h }
+ fmop4a za0.h, z14.h, { z16.h-z17.h }
+ fmop4a za0.h, z0.h, { z30.h-z31.h }
+ fmop4a za0.h, { z0.h-z1.h }, z16.h
+ fmop4a za1.h, { z0.h-z1.h }, z16.h
+ fmop4a za0.h, { z14.h-z15.h }, z16.h
+ fmop4a za0.h, { z0.h-z1.h }, z30.h
+ fmop4a za0.h, { z0.h-z1.h }, { z16.h-z17.h }
+ fmop4a za1.h, { z0.h-z1.h }, { z16.h-z17.h }
+ fmop4a za0.h, { z14.h-z15.h }, { z16.h-z17.h }
+ fmop4a za0.h, { z0.h-z1.h }, { z30.h-z31.h }
+
+ fmop4s za0.h, z0.h, z16.h
+ fmop4s za1.h, z0.h, z16.h
+ fmop4s za0.h, z14.h, z16.h
+ fmop4s za0.h, z0.h, z30.h
+ fmop4s za0.h, z0.h, { z16.h-z17.h }
+ fmop4s za1.h, z0.h, { z16.h-z17.h }
+ fmop4s za0.h, z14.h, { z16.h-z17.h }
+ fmop4s za0.h, z0.h, { z30.h-z31.h }
+ fmop4s za0.h, { z0.h-z1.h }, z16.h
+ fmop4s za1.h, { z0.h-z1.h }, z16.h
+ fmop4s za0.h, { z14.h-z15.h }, z16.h
+ fmop4s za0.h, { z0.h-z1.h }, z30.h
+ fmop4s za0.h, { z0.h-z1.h }, { z16.h-z17.h }
+ fmop4s za1.h, { z0.h-z1.h }, { z16.h-z17.h }
+ fmop4s za0.h, { z14.h-z15.h }, { z16.h-z17.h }
+ fmop4s za0.h, { z0.h-z1.h }, { z30.h-z31.h }
--- /dev/null
+#as: -march=armv8-a+sme-mop4+sme-f64f64
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 80c00008 fmop4a za0\.d, z0\.d, z16\.d
+ *[0-9a-f]+: 80c0000f fmop4a za7\.d, z0\.d, z16\.d
+ *[0-9a-f]+: 80c001c8 fmop4a za0\.d, z14\.d, z16\.d
+ *[0-9a-f]+: 80ce0008 fmop4a za0\.d, z0\.d, z30\.d
+ *[0-9a-f]+: 80d00008 fmop4a za0\.d, z0\.d, {z16\.d-z17\.d}
+ *[0-9a-f]+: 80d0000f fmop4a za7\.d, z0\.d, {z16\.d-z17\.d}
+ *[0-9a-f]+: 80d001c8 fmop4a za0\.d, z14\.d, {z16\.d-z17\.d}
+ *[0-9a-f]+: 80de0008 fmop4a za0\.d, z0\.d, {z30\.d-z31\.d}
+ *[0-9a-f]+: 80c00208 fmop4a za0\.d, {z0\.d-z1\.d}, z16\.d
+ *[0-9a-f]+: 80c0020f fmop4a za7\.d, {z0\.d-z1\.d}, z16\.d
+ *[0-9a-f]+: 80c003c8 fmop4a za0\.d, {z14\.d-z15\.d}, z16\.d
+ *[0-9a-f]+: 80ce0208 fmop4a za0\.d, {z0\.d-z1\.d}, z30\.d
+ *[0-9a-f]+: 80d00208 fmop4a za0\.d, {z0\.d-z1\.d}, {z16\.d-z17\.d}
+ *[0-9a-f]+: 80d0020f fmop4a za7\.d, {z0\.d-z1\.d}, {z16\.d-z17\.d}
+ *[0-9a-f]+: 80d003c8 fmop4a za0\.d, {z14\.d-z15\.d}, {z16\.d-z17\.d}
+ *[0-9a-f]+: 80de0208 fmop4a za0\.d, {z0\.d-z1\.d}, {z30\.d-z31\.d}
+ *[0-9a-f]+: 80c00018 fmop4s za0\.d, z0\.d, z16\.d
+ *[0-9a-f]+: 80c0001f fmop4s za7\.d, z0\.d, z16\.d
+ *[0-9a-f]+: 80c001d8 fmop4s za0\.d, z14\.d, z16\.d
+ *[0-9a-f]+: 80ce0018 fmop4s za0\.d, z0\.d, z30\.d
+ *[0-9a-f]+: 80d00018 fmop4s za0\.d, z0\.d, {z16\.d-z17\.d}
+ *[0-9a-f]+: 80d0001f fmop4s za7\.d, z0\.d, {z16\.d-z17\.d}
+ *[0-9a-f]+: 80d001d8 fmop4s za0\.d, z14\.d, {z16\.d-z17\.d}
+ *[0-9a-f]+: 80de0018 fmop4s za0\.d, z0\.d, {z30\.d-z31\.d}
+ *[0-9a-f]+: 80c00218 fmop4s za0\.d, {z0\.d-z1\.d}, z16\.d
+ *[0-9a-f]+: 80c0021f fmop4s za7\.d, {z0\.d-z1\.d}, z16\.d
+ *[0-9a-f]+: 80c003d8 fmop4s za0\.d, {z14\.d-z15\.d}, z16\.d
+ *[0-9a-f]+: 80ce0218 fmop4s za0\.d, {z0\.d-z1\.d}, z30\.d
+ *[0-9a-f]+: 80d00218 fmop4s za0\.d, {z0\.d-z1\.d}, {z16\.d-z17\.d}
+ *[0-9a-f]+: 80d0021f fmop4s za7\.d, {z0\.d-z1\.d}, {z16\.d-z17\.d}
+ *[0-9a-f]+: 80d003d8 fmop4s za0\.d, {z14\.d-z15\.d}, {z16\.d-z17\.d}
+ *[0-9a-f]+: 80de0218 fmop4s za0\.d, {z0\.d-z1\.d}, {z30\.d-z31\.d}
--- /dev/null
+ fmop4a za0.d, z0.d, z16.d
+ fmop4a za7.d, z0.d, z16.d
+ fmop4a za0.d, z14.d, z16.d
+ fmop4a za0.d, z0.d, z30.d
+ fmop4a za0.d, z0.d, { z16.d-z17.d }
+ fmop4a za7.d, z0.d, { z16.d-z17.d }
+ fmop4a za0.d, z14.d, { z16.d-z17.d }
+ fmop4a za0.d, z0.d, { z30.d-z31.d }
+ fmop4a za0.d, { z0.d-z1.d }, z16.d
+ fmop4a za7.d, { z0.d-z1.d }, z16.d
+ fmop4a za0.d, { z14.d-z15.d }, z16.d
+ fmop4a za0.d, { z0.d-z1.d }, z30.d
+ fmop4a za0.d, { z0.d-z1.d }, { z16.d-z17.d }
+ fmop4a za7.d, { z0.d-z1.d }, { z16.d-z17.d }
+ fmop4a za0.d, { z14.d-z15.d }, { z16.d-z17.d }
+ fmop4a za0.d, { z0.d-z1.d }, { z30.d-z31.d }
+
+ fmop4s za0.d, z0.d, z16.d
+ fmop4s za7.d, z0.d, z16.d
+ fmop4s za0.d, z14.d, z16.d
+ fmop4s za0.d, z0.d, z30.d
+ fmop4s za0.d, z0.d, { z16.d-z17.d }
+ fmop4s za7.d, z0.d, { z16.d-z17.d }
+ fmop4s za0.d, z14.d, { z16.d-z17.d }
+ fmop4s za0.d, z0.d, { z30.d-z31.d }
+ fmop4s za0.d, { z0.d-z1.d }, z16.d
+ fmop4s za7.d, { z0.d-z1.d }, z16.d
+ fmop4s za0.d, { z14.d-z15.d }, z16.d
+ fmop4s za0.d, { z0.d-z1.d }, z30.d
+ fmop4s za0.d, { z0.d-z1.d }, { z16.d-z17.d }
+ fmop4s za7.d, { z0.d-z1.d }, { z16.d-z17.d }
+ fmop4s za0.d, { z14.d-z15.d }, { z16.d-z17.d }
+ fmop4s za0.d, { z0.d-z1.d }, { z30.d-z31.d }
--- /dev/null
+#as: -march=armv8-a+sme-mop4+sme-f8f16
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 80200008 fmop4a za0\.h, z0\.b, z16\.b
+ *[0-9a-f]+: 80200009 fmop4a za1\.h, z0\.b, z16\.b
+ *[0-9a-f]+: 802001c8 fmop4a za0\.h, z14\.b, z16\.b
+ *[0-9a-f]+: 802e0008 fmop4a za0\.h, z0\.b, z30\.b
+ *[0-9a-f]+: 80300008 fmop4a za0\.h, z0\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 80300009 fmop4a za1\.h, z0\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 803001c8 fmop4a za0\.h, z14\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 803e0008 fmop4a za0\.h, z0\.b, {z30\.b-z31\.b}
+ *[0-9a-f]+: 80200208 fmop4a za0\.h, {z0\.b-z1\.b}, z16\.b
+ *[0-9a-f]+: 80200209 fmop4a za1\.h, {z0\.b-z1\.b}, z16\.b
+ *[0-9a-f]+: 802003c8 fmop4a za0\.h, {z14\.b-z15\.b}, z16\.b
+ *[0-9a-f]+: 802e0208 fmop4a za0\.h, {z0\.b-z1\.b}, z30\.b
+ *[0-9a-f]+: 80300208 fmop4a za0\.h, {z0\.b-z1\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 80300209 fmop4a za1\.h, {z0\.b-z1\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 803003c8 fmop4a za0\.h, {z14\.b-z15\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 803e0208 fmop4a za0\.h, {z0\.b-z1\.b}, {z30\.b-z31\.b}
--- /dev/null
+ fmop4a za0.h, z0.b, z16.b
+ fmop4a za1.h, z0.b, z16.b
+ fmop4a za0.h, z14.b, z16.b
+ fmop4a za0.h, z0.b, z30.b
+ fmop4a za0.h, z0.b, { z16.b-z17.b }
+ fmop4a za1.h, z0.b, { z16.b-z17.b }
+ fmop4a za0.h, z14.b, { z16.b-z17.b }
+ fmop4a za0.h, z0.b, { z30.b-z31.b }
+ fmop4a za0.h, { z0.b-z1.b }, z16.b
+ fmop4a za1.h, { z0.b-z1.b }, z16.b
+ fmop4a za0.h, { z14.b-z15.b }, z16.b
+ fmop4a za0.h, { z0.b-z1.b }, z30.b
+ fmop4a za0.h, { z0.b-z1.b }, { z16.b-z17.b }
+ fmop4a za1.h, { z0.b-z1.b }, { z16.b-z17.b }
+ fmop4a za0.h, { z14.b-z15.b }, { z16.b-z17.b }
+ fmop4a za0.h, { z0.b-z1.b }, { z30.b-z31.b }
--- /dev/null
+#as: -march=armv8-a+sme-mop4+sme-f8f32
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 80200000 fmop4a za0\.s, z0\.b, z16\.b
+ *[0-9a-f]+: 80200003 fmop4a za3\.s, z0\.b, z16\.b
+ *[0-9a-f]+: 802001c0 fmop4a za0\.s, z14\.b, z16\.b
+ *[0-9a-f]+: 802e0000 fmop4a za0\.s, z0\.b, z30\.b
+ *[0-9a-f]+: 80300000 fmop4a za0\.s, z0\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 80300003 fmop4a za3\.s, z0\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 803001c0 fmop4a za0\.s, z14\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 803e0000 fmop4a za0\.s, z0\.b, {z30\.b-z31\.b}
+ *[0-9a-f]+: 80200200 fmop4a za0\.s, {z0\.b-z1\.b}, z16\.b
+ *[0-9a-f]+: 80200203 fmop4a za3\.s, {z0\.b-z1\.b}, z16\.b
+ *[0-9a-f]+: 802003c0 fmop4a za0\.s, {z14\.b-z15\.b}, z16\.b
+ *[0-9a-f]+: 802e0200 fmop4a za0\.s, {z0\.b-z1\.b}, z30\.b
+ *[0-9a-f]+: 80300200 fmop4a za0\.s, {z0\.b-z1\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 80300203 fmop4a za3\.s, {z0\.b-z1\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 803003c0 fmop4a za0\.s, {z14\.b-z15\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 803e0200 fmop4a za0\.s, {z0\.b-z1\.b}, {z30\.b-z31\.b}
--- /dev/null
+ fmop4a za0.s, z0.b, z16.b
+ fmop4a za3.s, z0.b, z16.b
+ fmop4a za0.s, z14.b, z16.b
+ fmop4a za0.s, z0.b, z30.b
+ fmop4a za0.s, z0.b, { z16.b-z17.b }
+ fmop4a za3.s, z0.b, { z16.b-z17.b }
+ fmop4a za0.s, z14.b, { z16.b-z17.b }
+ fmop4a za0.s, z0.b, { z30.b-z31.b }
+ fmop4a za0.s, { z0.b-z1.b }, z16.b
+ fmop4a za3.s, { z0.b-z1.b }, z16.b
+ fmop4a za0.s, { z14.b-z15.b }, z16.b
+ fmop4a za0.s, { z0.b-z1.b }, z30.b
+ fmop4a za0.s, { z0.b-z1.b }, { z16.b-z17.b }
+ fmop4a za3.s, { z0.b-z1.b }, { z16.b-z17.b }
+ fmop4a za0.s, { z14.b-z15.b }, { z16.b-z17.b }
+ fmop4a za0.s, { z0.b-z1.b }, { z30.b-z31.b }
--- /dev/null
+#as: -march=armv8-a+sme-mop4+sme-i16i64
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: a0c00008 smop4a za0\.d, z0\.h, z16\.h
+ *[0-9a-f]+: a0c0000f smop4a za7\.d, z0\.h, z16\.h
+ *[0-9a-f]+: a0c001c8 smop4a za0\.d, z14\.h, z16\.h
+ *[0-9a-f]+: a0ce0008 smop4a za0\.d, z0\.h, z30\.h
+ *[0-9a-f]+: a0d00008 smop4a za0\.d, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: a0d0000f smop4a za7\.d, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: a0d001c8 smop4a za0\.d, z14\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: a0de0008 smop4a za0\.d, z0\.h, {z30\.h-z31\.h}
+ *[0-9a-f]+: a0c00208 smop4a za0\.d, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: a0c0020f smop4a za7\.d, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: a0c003c8 smop4a za0\.d, {z14\.h-z15\.h}, z16\.h
+ *[0-9a-f]+: a0ce0208 smop4a za0\.d, {z0\.h-z1\.h}, z30\.h
+ *[0-9a-f]+: a0d00208 smop4a za0\.d, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: a0d0020f smop4a za7\.d, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: a0d003c8 smop4a za0\.d, {z14\.h-z15\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: a0de0208 smop4a za0\.d, {z0\.h-z1\.h}, {z30\.h-z31\.h}
+ *[0-9a-f]+: a0c00018 smop4s za0\.d, z0\.h, z16\.h
+ *[0-9a-f]+: a0c0001f smop4s za7\.d, z0\.h, z16\.h
+ *[0-9a-f]+: a0c001d8 smop4s za0\.d, z14\.h, z16\.h
+ *[0-9a-f]+: a0ce0018 smop4s za0\.d, z0\.h, z30\.h
+ *[0-9a-f]+: a0d00018 smop4s za0\.d, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: a0d0001f smop4s za7\.d, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: a0d001d8 smop4s za0\.d, z14\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: a0de0018 smop4s za0\.d, z0\.h, {z30\.h-z31\.h}
+ *[0-9a-f]+: a0c00218 smop4s za0\.d, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: a0c0021f smop4s za7\.d, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: a0c003d8 smop4s za0\.d, {z14\.h-z15\.h}, z16\.h
+ *[0-9a-f]+: a0ce0218 smop4s za0\.d, {z0\.h-z1\.h}, z30\.h
+ *[0-9a-f]+: a0d00218 smop4s za0\.d, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: a0d0021f smop4s za7\.d, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: a0d003d8 smop4s za0\.d, {z14\.h-z15\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: a0de0218 smop4s za0\.d, {z0\.h-z1\.h}, {z30\.h-z31\.h}
+ *[0-9a-f]+: a0e00008 sumop4a za0\.d, z0\.h, z16\.h
+ *[0-9a-f]+: a0e0000f sumop4a za7\.d, z0\.h, z16\.h
+ *[0-9a-f]+: a0e001c8 sumop4a za0\.d, z14\.h, z16\.h
+ *[0-9a-f]+: a0ee0008 sumop4a za0\.d, z0\.h, z30\.h
+ *[0-9a-f]+: a0f00008 sumop4a za0\.d, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: a0f0000f sumop4a za7\.d, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: a0f001c8 sumop4a za0\.d, z14\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: a0fe0008 sumop4a za0\.d, z0\.h, {z30\.h-z31\.h}
+ *[0-9a-f]+: a0e00208 sumop4a za0\.d, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: a0e0020f sumop4a za7\.d, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: a0e003c8 sumop4a za0\.d, {z14\.h-z15\.h}, z16\.h
+ *[0-9a-f]+: a0ee0208 sumop4a za0\.d, {z0\.h-z1\.h}, z30\.h
+ *[0-9a-f]+: a0f00208 sumop4a za0\.d, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: a0f0020f sumop4a za7\.d, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: a0f003c8 sumop4a za0\.d, {z14\.h-z15\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: a0fe0208 sumop4a za0\.d, {z0\.h-z1\.h}, {z30\.h-z31\.h}
+ *[0-9a-f]+: a0e00018 sumop4s za0\.d, z0\.h, z16\.h
+ *[0-9a-f]+: a0e0001f sumop4s za7\.d, z0\.h, z16\.h
+ *[0-9a-f]+: a0e001d8 sumop4s za0\.d, z14\.h, z16\.h
+ *[0-9a-f]+: a0ee0018 sumop4s za0\.d, z0\.h, z30\.h
+ *[0-9a-f]+: a0f00018 sumop4s za0\.d, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: a0f0001f sumop4s za7\.d, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: a0f001d8 sumop4s za0\.d, z14\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: a0fe0018 sumop4s za0\.d, z0\.h, {z30\.h-z31\.h}
+ *[0-9a-f]+: a0e00218 sumop4s za0\.d, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: a0e0021f sumop4s za7\.d, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: a0e003d8 sumop4s za0\.d, {z14\.h-z15\.h}, z16\.h
+ *[0-9a-f]+: a0ee0218 sumop4s za0\.d, {z0\.h-z1\.h}, z30\.h
+ *[0-9a-f]+: a0f00218 sumop4s za0\.d, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: a0f0021f sumop4s za7\.d, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: a0f003d8 sumop4s za0\.d, {z14\.h-z15\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: a0fe0218 sumop4s za0\.d, {z0\.h-z1\.h}, {z30\.h-z31\.h}
+ *[0-9a-f]+: a1e00008 umop4a za0\.d, z0\.h, z16\.h
+ *[0-9a-f]+: a1e0000f umop4a za7\.d, z0\.h, z16\.h
+ *[0-9a-f]+: a1e001c8 umop4a za0\.d, z14\.h, z16\.h
+ *[0-9a-f]+: a1ee0008 umop4a za0\.d, z0\.h, z30\.h
+ *[0-9a-f]+: a1f00008 umop4a za0\.d, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: a1f0000f umop4a za7\.d, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: a1f001c8 umop4a za0\.d, z14\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: a1fe0008 umop4a za0\.d, z0\.h, {z30\.h-z31\.h}
+ *[0-9a-f]+: a1e00208 umop4a za0\.d, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: a1e0020f umop4a za7\.d, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: a1e003c8 umop4a za0\.d, {z14\.h-z15\.h}, z16\.h
+ *[0-9a-f]+: a1ee0208 umop4a za0\.d, {z0\.h-z1\.h}, z30\.h
+ *[0-9a-f]+: a1f00208 umop4a za0\.d, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: a1f0020f umop4a za7\.d, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: a1f003c8 umop4a za0\.d, {z14\.h-z15\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: a1fe0208 umop4a za0\.d, {z0\.h-z1\.h}, {z30\.h-z31\.h}
+ *[0-9a-f]+: a1e00018 umop4s za0\.d, z0\.h, z16\.h
+ *[0-9a-f]+: a1e0001f umop4s za7\.d, z0\.h, z16\.h
+ *[0-9a-f]+: a1e001d8 umop4s za0\.d, z14\.h, z16\.h
+ *[0-9a-f]+: a1ee0018 umop4s za0\.d, z0\.h, z30\.h
+ *[0-9a-f]+: a1f00018 umop4s za0\.d, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: a1f0001f umop4s za7\.d, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: a1f001d8 umop4s za0\.d, z14\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: a1fe0018 umop4s za0\.d, z0\.h, {z30\.h-z31\.h}
+ *[0-9a-f]+: a1e00218 umop4s za0\.d, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: a1e0021f umop4s za7\.d, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: a1e003d8 umop4s za0\.d, {z14\.h-z15\.h}, z16\.h
+ *[0-9a-f]+: a1ee0218 umop4s za0\.d, {z0\.h-z1\.h}, z30\.h
+ *[0-9a-f]+: a1f00218 umop4s za0\.d, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: a1f0021f umop4s za7\.d, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: a1f003d8 umop4s za0\.d, {z14\.h-z15\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: a1fe0218 umop4s za0\.d, {z0\.h-z1\.h}, {z30\.h-z31\.h}
+ *[0-9a-f]+: a1c00008 usmop4a za0\.d, z0\.h, z16\.h
+ *[0-9a-f]+: a1c0000f usmop4a za7\.d, z0\.h, z16\.h
+ *[0-9a-f]+: a1c001c8 usmop4a za0\.d, z14\.h, z16\.h
+ *[0-9a-f]+: a1ce0008 usmop4a za0\.d, z0\.h, z30\.h
+ *[0-9a-f]+: a1d00008 usmop4a za0\.d, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: a1d0000f usmop4a za7\.d, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: a1d001c8 usmop4a za0\.d, z14\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: a1de0008 usmop4a za0\.d, z0\.h, {z30\.h-z31\.h}
+ *[0-9a-f]+: a1c00208 usmop4a za0\.d, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: a1c0020f usmop4a za7\.d, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: a1c003c8 usmop4a za0\.d, {z14\.h-z15\.h}, z16\.h
+ *[0-9a-f]+: a1ce0208 usmop4a za0\.d, {z0\.h-z1\.h}, z30\.h
+ *[0-9a-f]+: a1d00208 usmop4a za0\.d, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: a1d0020f usmop4a za7\.d, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: a1d003c8 usmop4a za0\.d, {z14\.h-z15\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: a1de0208 usmop4a za0\.d, {z0\.h-z1\.h}, {z30\.h-z31\.h}
+ *[0-9a-f]+: a1c00018 usmop4s za0\.d, z0\.h, z16\.h
+ *[0-9a-f]+: a1c0001f usmop4s za7\.d, z0\.h, z16\.h
+ *[0-9a-f]+: a1c001d8 usmop4s za0\.d, z14\.h, z16\.h
+ *[0-9a-f]+: a1ce0018 usmop4s za0\.d, z0\.h, z30\.h
+ *[0-9a-f]+: a1d00018 usmop4s za0\.d, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: a1d0001f usmop4s za7\.d, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: a1d001d8 usmop4s za0\.d, z14\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: a1de0018 usmop4s za0\.d, z0\.h, {z30\.h-z31\.h}
+ *[0-9a-f]+: a1c00218 usmop4s za0\.d, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: a1c0021f usmop4s za7\.d, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: a1c003d8 usmop4s za0\.d, {z14\.h-z15\.h}, z16\.h
+ *[0-9a-f]+: a1ce0218 usmop4s za0\.d, {z0\.h-z1\.h}, z30\.h
+ *[0-9a-f]+: a1d00218 usmop4s za0\.d, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: a1d0021f usmop4s za7\.d, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: a1d003d8 usmop4s za0\.d, {z14\.h-z15\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: a1de0218 usmop4s za0\.d, {z0\.h-z1\.h}, {z30\.h-z31\.h}
--- /dev/null
+ smop4a za0.d, z0.h, z16.h
+ smop4a za7.d, z0.h, z16.h
+ smop4a za0.d, z14.h, z16.h
+ smop4a za0.d, z0.h, z30.h
+ smop4a za0.d, z0.h, { z16.h-z17.h }
+ smop4a za7.d, z0.h, { z16.h-z17.h }
+ smop4a za0.d, z14.h, { z16.h-z17.h }
+ smop4a za0.d, z0.h, { z30.h-z31.h }
+ smop4a za0.d, { z0.h-z1.h }, z16.h
+ smop4a za7.d, { z0.h-z1.h }, z16.h
+ smop4a za0.d, { z14.h-z15.h }, z16.h
+ smop4a za0.d, { z0.h-z1.h }, z30.h
+ smop4a za0.d, { z0.h-z1.h }, { z16.h-z17.h }
+ smop4a za7.d, { z0.h-z1.h }, { z16.h-z17.h }
+ smop4a za0.d, { z14.h-z15.h }, { z16.h-z17.h }
+ smop4a za0.d, { z0.h-z1.h }, { z30.h-z31.h }
+
+ smop4s za0.d, z0.h, z16.h
+ smop4s za7.d, z0.h, z16.h
+ smop4s za0.d, z14.h, z16.h
+ smop4s za0.d, z0.h, z30.h
+ smop4s za0.d, z0.h, { z16.h-z17.h }
+ smop4s za7.d, z0.h, { z16.h-z17.h }
+ smop4s za0.d, z14.h, { z16.h-z17.h }
+ smop4s za0.d, z0.h, { z30.h-z31.h }
+ smop4s za0.d, { z0.h-z1.h }, z16.h
+ smop4s za7.d, { z0.h-z1.h }, z16.h
+ smop4s za0.d, { z14.h-z15.h }, z16.h
+ smop4s za0.d, { z0.h-z1.h }, z30.h
+ smop4s za0.d, { z0.h-z1.h }, { z16.h-z17.h }
+ smop4s za7.d, { z0.h-z1.h }, { z16.h-z17.h }
+ smop4s za0.d, { z14.h-z15.h }, { z16.h-z17.h }
+ smop4s za0.d, { z0.h-z1.h }, { z30.h-z31.h }
+
+ sumop4a za0.d, z0.h, z16.h
+ sumop4a za7.d, z0.h, z16.h
+ sumop4a za0.d, z14.h, z16.h
+ sumop4a za0.d, z0.h, z30.h
+ sumop4a za0.d, z0.h, { z16.h-z17.h }
+ sumop4a za7.d, z0.h, { z16.h-z17.h }
+ sumop4a za0.d, z14.h, { z16.h-z17.h }
+ sumop4a za0.d, z0.h, { z30.h-z31.h }
+ sumop4a za0.d, { z0.h-z1.h }, z16.h
+ sumop4a za7.d, { z0.h-z1.h }, z16.h
+ sumop4a za0.d, { z14.h-z15.h }, z16.h
+ sumop4a za0.d, { z0.h-z1.h }, z30.h
+ sumop4a za0.d, { z0.h-z1.h }, { z16.h-z17.h }
+ sumop4a za7.d, { z0.h-z1.h }, { z16.h-z17.h }
+ sumop4a za0.d, { z14.h-z15.h }, { z16.h-z17.h }
+ sumop4a za0.d, { z0.h-z1.h }, { z30.h-z31.h }
+
+ sumop4s za0.d, z0.h, z16.h
+ sumop4s za7.d, z0.h, z16.h
+ sumop4s za0.d, z14.h, z16.h
+ sumop4s za0.d, z0.h, z30.h
+ sumop4s za0.d, z0.h, { z16.h-z17.h }
+ sumop4s za7.d, z0.h, { z16.h-z17.h }
+ sumop4s za0.d, z14.h, { z16.h-z17.h }
+ sumop4s za0.d, z0.h, { z30.h-z31.h }
+ sumop4s za0.d, { z0.h-z1.h }, z16.h
+ sumop4s za7.d, { z0.h-z1.h }, z16.h
+ sumop4s za0.d, { z14.h-z15.h }, z16.h
+ sumop4s za0.d, { z0.h-z1.h }, z30.h
+ sumop4s za0.d, { z0.h-z1.h }, { z16.h-z17.h }
+ sumop4s za7.d, { z0.h-z1.h }, { z16.h-z17.h }
+ sumop4s za0.d, { z14.h-z15.h }, { z16.h-z17.h }
+ sumop4s za0.d, { z0.h-z1.h }, { z30.h-z31.h }
+
+ umop4a za0.d, z0.h, z16.h
+ umop4a za7.d, z0.h, z16.h
+ umop4a za0.d, z14.h, z16.h
+ umop4a za0.d, z0.h, z30.h
+ umop4a za0.d, z0.h, { z16.h-z17.h }
+ umop4a za7.d, z0.h, { z16.h-z17.h }
+ umop4a za0.d, z14.h, { z16.h-z17.h }
+ umop4a za0.d, z0.h, { z30.h-z31.h }
+ umop4a za0.d, { z0.h-z1.h }, z16.h
+ umop4a za7.d, { z0.h-z1.h }, z16.h
+ umop4a za0.d, { z14.h-z15.h }, z16.h
+ umop4a za0.d, { z0.h-z1.h }, z30.h
+ umop4a za0.d, { z0.h-z1.h }, { z16.h-z17.h }
+ umop4a za7.d, { z0.h-z1.h }, { z16.h-z17.h }
+ umop4a za0.d, { z14.h-z15.h }, { z16.h-z17.h }
+ umop4a za0.d, { z0.h-z1.h }, { z30.h-z31.h }
+
+ umop4s za0.d, z0.h, z16.h
+ umop4s za7.d, z0.h, z16.h
+ umop4s za0.d, z14.h, z16.h
+ umop4s za0.d, z0.h, z30.h
+ umop4s za0.d, z0.h, { z16.h-z17.h }
+ umop4s za7.d, z0.h, { z16.h-z17.h }
+ umop4s za0.d, z14.h, { z16.h-z17.h }
+ umop4s za0.d, z0.h, { z30.h-z31.h }
+ umop4s za0.d, { z0.h-z1.h }, z16.h
+ umop4s za7.d, { z0.h-z1.h }, z16.h
+ umop4s za0.d, { z14.h-z15.h }, z16.h
+ umop4s za0.d, { z0.h-z1.h }, z30.h
+ umop4s za0.d, { z0.h-z1.h }, { z16.h-z17.h }
+ umop4s za7.d, { z0.h-z1.h }, { z16.h-z17.h }
+ umop4s za0.d, { z14.h-z15.h }, { z16.h-z17.h }
+ umop4s za0.d, { z0.h-z1.h }, { z30.h-z31.h }
+
+ usmop4a za0.d, z0.h, z16.h
+ usmop4a za7.d, z0.h, z16.h
+ usmop4a za0.d, z14.h, z16.h
+ usmop4a za0.d, z0.h, z30.h
+ usmop4a za0.d, z0.h, { z16.h-z17.h }
+ usmop4a za7.d, z0.h, { z16.h-z17.h }
+ usmop4a za0.d, z14.h, { z16.h-z17.h }
+ usmop4a za0.d, z0.h, { z30.h-z31.h }
+ usmop4a za0.d, { z0.h-z1.h }, z16.h
+ usmop4a za7.d, { z0.h-z1.h }, z16.h
+ usmop4a za0.d, { z14.h-z15.h }, z16.h
+ usmop4a za0.d, { z0.h-z1.h }, z30.h
+ usmop4a za0.d, { z0.h-z1.h }, { z16.h-z17.h }
+ usmop4a za7.d, { z0.h-z1.h }, { z16.h-z17.h }
+ usmop4a za0.d, { z14.h-z15.h }, { z16.h-z17.h }
+ usmop4a za0.d, { z0.h-z1.h }, { z30.h-z31.h }
+
+ usmop4s za0.d, z0.h, z16.h
+ usmop4s za7.d, z0.h, z16.h
+ usmop4s za0.d, z14.h, z16.h
+ usmop4s za0.d, z0.h, z30.h
+ usmop4s za0.d, z0.h, { z16.h-z17.h }
+ usmop4s za7.d, z0.h, { z16.h-z17.h }
+ usmop4s za0.d, z14.h, { z16.h-z17.h }
+ usmop4s za0.d, z0.h, { z30.h-z31.h }
+ usmop4s za0.d, { z0.h-z1.h }, z16.h
+ usmop4s za7.d, { z0.h-z1.h }, z16.h
+ usmop4s za0.d, { z14.h-z15.h }, z16.h
+ usmop4s za0.d, { z0.h-z1.h }, z30.h
+ usmop4s za0.d, { z0.h-z1.h }, { z16.h-z17.h }
+ usmop4s za7.d, { z0.h-z1.h }, { z16.h-z17.h }
+ usmop4s za0.d, { z14.h-z15.h }, { z16.h-z17.h }
+ usmop4s za0.d, { z0.h-z1.h }, { z30.h-z31.h }
--- /dev/null
+#as: -march=armv8-a+sme-mop4
+#error_output: sme-mop4-invalid.l
--- /dev/null
+[^:]*: Assembler messages:
+[^:]*:\d+: Error: register out of range at operand 2 -- `bfmop4a za0\.s,z1\.h,z16\.h'
+[^:]*:\d+: Error: register out of range at operand 2 -- `fmop4a za0\.s,z15\.h,z16\.h'
+[^:]*:\d+: Error: register out of range at operand 2 -- `bfmop4a za0\.s,z16\.h,{z16\.h-z17\.h}'
+[^:]*:\d+: Error: register out of range at operand 2 -- `fmop4a za0\.s,z17\.h,{z16\.h-z17\.h}'
+[^:]*:\d+: Error: start register out of range at operand 2 -- `bfmop4a za0\.s,{z1\.h-z2\.h},z16\.h'
+[^:]*:\d+: Error: start register out of range at operand 2 -- `fmop4a za0\.s,{z15\.h-z16\.h},z16\.h'
+[^:]*:\d+: Error: start register out of range at operand 2 -- `bfmop4a za0\.s,{z16\.h-z17\.h},{z16\.h-z17\.h}'
+[^:]*:\d+: Error: start register out of range at operand 2 -- `fmop4a za0\.s,{z17\.h-z18\.h},{z16\.h-z17\.h}'
+[^:]*:\d+: Error: register out of range at operand 3 -- `smop4a za0\.s,z0\.h,z14\.h'
+[^:]*:\d+: Error: register out of range at operand 3 -- `smop4a za0\.s,z0\.b,z15\.b'
+[^:]*:\d+: Error: register out of range at operand 3 -- `umop4a za0\.s,{z0\.h-z1\.h},z17\.h'
+[^:]*:\d+: Error: start register out of range at operand 3 -- `smop4a za0\.s,z0\.h,{z14\.h-z15\.h}'
+[^:]*:\d+: Error: start register out of range at operand 3 -- `smop4a za0\.s,z0\.b,{z15\.b-z16\.b}'
+[^:]*:\d+: Error: start register out of range at operand 3 -- `umop4a za0\.s,{z0\.h-z1\.h},{z17\.h-z18\.h}'
--- /dev/null
+ bfmop4a za0.s, z1.h, z16.h
+ fmop4a za0.s, z15.h, z16.h
+ bfmop4a za0.s, z16.h, { z16.h-z17.h }
+ fmop4a za0.s, z17.h, { z16.h-z17.h }
+ bfmop4a za0.s, { z1.h-z2.h }, z16.h
+ fmop4a za0.s, { z15.h-z16.h }, z16.h
+ bfmop4a za0.s, { z16.h-z17.h }, { z16.h-z17.h }
+ fmop4a za0.s, { z17.h-z18.h }, { z16.h-z17.h }
+ smop4a za0.s, z0.h, z14.h
+ smop4a za0.s, z0.b, z15.b
+ umop4a za0.s, { z0.h-z1.h }, z17.h
+ smop4a za0.s, z0.h, { z14.h-z15.h }
+ smop4a za0.s, z0.b, { z15.b-z16.b }
+ umop4a za0.s, { z0.h-z1.h }, { z17.h-z18.h }
--- /dev/null
+#as: -march=armv8-a+sme-mop4
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 81000000 bfmop4a za0\.s, z0\.h, z16\.h
+ *[0-9a-f]+: 81000003 bfmop4a za3\.s, z0\.h, z16\.h
+ *[0-9a-f]+: 810001c0 bfmop4a za0\.s, z14\.h, z16\.h
+ *[0-9a-f]+: 810e0000 bfmop4a za0\.s, z0\.h, z30\.h
+ *[0-9a-f]+: 81100000 bfmop4a za0\.s, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 81100003 bfmop4a za3\.s, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 811001c0 bfmop4a za0\.s, z14\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 811e0000 bfmop4a za0\.s, z0\.h, {z30\.h-z31\.h}
+ *[0-9a-f]+: 81000200 bfmop4a za0\.s, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: 81000203 bfmop4a za3\.s, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: 810003c0 bfmop4a za0\.s, {z14\.h-z15\.h}, z16\.h
+ *[0-9a-f]+: 810e0200 bfmop4a za0\.s, {z0\.h-z1\.h}, z30\.h
+ *[0-9a-f]+: 81100200 bfmop4a za0\.s, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 81100203 bfmop4a za3\.s, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 811003c0 bfmop4a za0\.s, {z14\.h-z15\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 811e0200 bfmop4a za0\.s, {z0\.h-z1\.h}, {z30\.h-z31\.h}
+ *[0-9a-f]+: 81000010 bfmop4s za0\.s, z0\.h, z16\.h
+ *[0-9a-f]+: 81000013 bfmop4s za3\.s, z0\.h, z16\.h
+ *[0-9a-f]+: 810001d0 bfmop4s za0\.s, z14\.h, z16\.h
+ *[0-9a-f]+: 810e0010 bfmop4s za0\.s, z0\.h, z30\.h
+ *[0-9a-f]+: 81100010 bfmop4s za0\.s, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 81100013 bfmop4s za3\.s, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 811001d0 bfmop4s za0\.s, z14\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 811e0010 bfmop4s za0\.s, z0\.h, {z30\.h-z31\.h}
+ *[0-9a-f]+: 81000210 bfmop4s za0\.s, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: 81000213 bfmop4s za3\.s, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: 810003d0 bfmop4s za0\.s, {z14\.h-z15\.h}, z16\.h
+ *[0-9a-f]+: 810e0210 bfmop4s za0\.s, {z0\.h-z1\.h}, z30\.h
+ *[0-9a-f]+: 81100210 bfmop4s za0\.s, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 81100213 bfmop4s za3\.s, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 811003d0 bfmop4s za0\.s, {z14\.h-z15\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 811e0210 bfmop4s za0\.s, {z0\.h-z1\.h}, {z30\.h-z31\.h}
+ *[0-9a-f]+: 80000000 fmop4a za0\.s, z0\.s, z16\.s
+ *[0-9a-f]+: 80000003 fmop4a za3\.s, z0\.s, z16\.s
+ *[0-9a-f]+: 800001c0 fmop4a za0\.s, z14\.s, z16\.s
+ *[0-9a-f]+: 800e0000 fmop4a za0\.s, z0\.s, z30\.s
+ *[0-9a-f]+: 80100000 fmop4a za0\.s, z0\.s, {z16\.s-z17\.s}
+ *[0-9a-f]+: 80100003 fmop4a za3\.s, z0\.s, {z16\.s-z17\.s}
+ *[0-9a-f]+: 801001c0 fmop4a za0\.s, z14\.s, {z16\.s-z17\.s}
+ *[0-9a-f]+: 801e0000 fmop4a za0\.s, z0\.s, {z30\.s-z31\.s}
+ *[0-9a-f]+: 80000200 fmop4a za0\.s, {z0\.s-z1\.s}, z16\.s
+ *[0-9a-f]+: 80000203 fmop4a za3\.s, {z0\.s-z1\.s}, z16\.s
+ *[0-9a-f]+: 800003c0 fmop4a za0\.s, {z14\.s-z15\.s}, z16\.s
+ *[0-9a-f]+: 800e0200 fmop4a za0\.s, {z0\.s-z1\.s}, z30\.s
+ *[0-9a-f]+: 80100200 fmop4a za0\.s, {z0\.s-z1\.s}, {z16\.s-z17\.s}
+ *[0-9a-f]+: 80100203 fmop4a za3\.s, {z0\.s-z1\.s}, {z16\.s-z17\.s}
+ *[0-9a-f]+: 801003c0 fmop4a za0\.s, {z14\.s-z15\.s}, {z16\.s-z17\.s}
+ *[0-9a-f]+: 801e0200 fmop4a za0\.s, {z0\.s-z1\.s}, {z30\.s-z31\.s}
+ *[0-9a-f]+: 81200000 fmop4a za0\.s, z0\.h, z16\.h
+ *[0-9a-f]+: 81200003 fmop4a za3\.s, z0\.h, z16\.h
+ *[0-9a-f]+: 812001c0 fmop4a za0\.s, z14\.h, z16\.h
+ *[0-9a-f]+: 812e0000 fmop4a za0\.s, z0\.h, z30\.h
+ *[0-9a-f]+: 81300000 fmop4a za0\.s, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 81300003 fmop4a za3\.s, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 813001c0 fmop4a za0\.s, z14\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 813e0000 fmop4a za0\.s, z0\.h, {z30\.h-z31\.h}
+ *[0-9a-f]+: 81200200 fmop4a za0\.s, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: 81200203 fmop4a za3\.s, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: 812003c0 fmop4a za0\.s, {z14\.h-z15\.h}, z16\.h
+ *[0-9a-f]+: 812e0200 fmop4a za0\.s, {z0\.h-z1\.h}, z30\.h
+ *[0-9a-f]+: 81300200 fmop4a za0\.s, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 81300203 fmop4a za3\.s, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 813003c0 fmop4a za0\.s, {z14\.h-z15\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 813e0200 fmop4a za0\.s, {z0\.h-z1\.h}, {z30\.h-z31\.h}
+ *[0-9a-f]+: 80000010 fmop4s za0\.s, z0\.s, z16\.s
+ *[0-9a-f]+: 80000013 fmop4s za3\.s, z0\.s, z16\.s
+ *[0-9a-f]+: 800001d0 fmop4s za0\.s, z14\.s, z16\.s
+ *[0-9a-f]+: 800e0010 fmop4s za0\.s, z0\.s, z30\.s
+ *[0-9a-f]+: 80100010 fmop4s za0\.s, z0\.s, {z16\.s-z17\.s}
+ *[0-9a-f]+: 80100013 fmop4s za3\.s, z0\.s, {z16\.s-z17\.s}
+ *[0-9a-f]+: 801001d0 fmop4s za0\.s, z14\.s, {z16\.s-z17\.s}
+ *[0-9a-f]+: 801e0010 fmop4s za0\.s, z0\.s, {z30\.s-z31\.s}
+ *[0-9a-f]+: 80000210 fmop4s za0\.s, {z0\.s-z1\.s}, z16\.s
+ *[0-9a-f]+: 80000213 fmop4s za3\.s, {z0\.s-z1\.s}, z16\.s
+ *[0-9a-f]+: 800003d0 fmop4s za0\.s, {z14\.s-z15\.s}, z16\.s
+ *[0-9a-f]+: 800e0210 fmop4s za0\.s, {z0\.s-z1\.s}, z30\.s
+ *[0-9a-f]+: 80100210 fmop4s za0\.s, {z0\.s-z1\.s}, {z16\.s-z17\.s}
+ *[0-9a-f]+: 80100213 fmop4s za3\.s, {z0\.s-z1\.s}, {z16\.s-z17\.s}
+ *[0-9a-f]+: 801003d0 fmop4s za0\.s, {z14\.s-z15\.s}, {z16\.s-z17\.s}
+ *[0-9a-f]+: 801e0210 fmop4s za0\.s, {z0\.s-z1\.s}, {z30\.s-z31\.s}
+ *[0-9a-f]+: 81200010 fmop4s za0\.s, z0\.h, z16\.h
+ *[0-9a-f]+: 81200013 fmop4s za3\.s, z0\.h, z16\.h
+ *[0-9a-f]+: 812001d0 fmop4s za0\.s, z14\.h, z16\.h
+ *[0-9a-f]+: 812e0010 fmop4s za0\.s, z0\.h, z30\.h
+ *[0-9a-f]+: 81300010 fmop4s za0\.s, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 81300013 fmop4s za3\.s, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 813001d0 fmop4s za0\.s, z14\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 813e0010 fmop4s za0\.s, z0\.h, {z30\.h-z31\.h}
+ *[0-9a-f]+: 81200210 fmop4s za0\.s, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: 81200213 fmop4s za3\.s, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: 812003d0 fmop4s za0\.s, {z14\.h-z15\.h}, z16\.h
+ *[0-9a-f]+: 812e0210 fmop4s za0\.s, {z0\.h-z1\.h}, z30\.h
+ *[0-9a-f]+: 81300210 fmop4s za0\.s, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 81300213 fmop4s za3\.s, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 813003d0 fmop4s za0\.s, {z14\.h-z15\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 813e0210 fmop4s za0\.s, {z0\.h-z1\.h}, {z30\.h-z31\.h}
+ *[0-9a-f]+: 80008008 smop4a za0\.s, z0\.h, z16\.h
+ *[0-9a-f]+: 8000800b smop4a za3\.s, z0\.h, z16\.h
+ *[0-9a-f]+: 800081c8 smop4a za0\.s, z14\.h, z16\.h
+ *[0-9a-f]+: 800e8008 smop4a za0\.s, z0\.h, z30\.h
+ *[0-9a-f]+: 80108008 smop4a za0\.s, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 8010800b smop4a za3\.s, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 801081c8 smop4a za0\.s, z14\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 801e8008 smop4a za0\.s, z0\.h, {z30\.h-z31\.h}
+ *[0-9a-f]+: 80008208 smop4a za0\.s, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: 8000820b smop4a za3\.s, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: 800083c8 smop4a za0\.s, {z14\.h-z15\.h}, z16\.h
+ *[0-9a-f]+: 800e8208 smop4a za0\.s, {z0\.h-z1\.h}, z30\.h
+ *[0-9a-f]+: 80108208 smop4a za0\.s, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 8010820b smop4a za3\.s, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 801083c8 smop4a za0\.s, {z14\.h-z15\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 801e8208 smop4a za0\.s, {z0\.h-z1\.h}, {z30\.h-z31\.h}
+ *[0-9a-f]+: 80008000 smop4a za0\.s, z0\.b, z16\.b
+ *[0-9a-f]+: 80008003 smop4a za3\.s, z0\.b, z16\.b
+ *[0-9a-f]+: 800081c0 smop4a za0\.s, z14\.b, z16\.b
+ *[0-9a-f]+: 800e8000 smop4a za0\.s, z0\.b, z30\.b
+ *[0-9a-f]+: 80108000 smop4a za0\.s, z0\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 80108003 smop4a za3\.s, z0\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 801081c0 smop4a za0\.s, z14\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 801e8000 smop4a za0\.s, z0\.b, {z30\.b-z31\.b}
+ *[0-9a-f]+: 80008200 smop4a za0\.s, {z0\.b-z1\.b}, z16\.b
+ *[0-9a-f]+: 80008203 smop4a za3\.s, {z0\.b-z1\.b}, z16\.b
+ *[0-9a-f]+: 800083c0 smop4a za0\.s, {z14\.b-z15\.b}, z16\.b
+ *[0-9a-f]+: 800e8200 smop4a za0\.s, {z0\.b-z1\.b}, z30\.b
+ *[0-9a-f]+: 80108200 smop4a za0\.s, {z0\.b-z1\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 80108203 smop4a za3\.s, {z0\.b-z1\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 801083c0 smop4a za0\.s, {z14\.b-z15\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 801e8200 smop4a za0\.s, {z0\.b-z1\.b}, {z30\.b-z31\.b}
+ *[0-9a-f]+: 80008018 smop4s za0\.s, z0\.h, z16\.h
+ *[0-9a-f]+: 8000801b smop4s za3\.s, z0\.h, z16\.h
+ *[0-9a-f]+: 800081d8 smop4s za0\.s, z14\.h, z16\.h
+ *[0-9a-f]+: 800e8018 smop4s za0\.s, z0\.h, z30\.h
+ *[0-9a-f]+: 80108018 smop4s za0\.s, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 8010801b smop4s za3\.s, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 801081d8 smop4s za0\.s, z14\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 801e8018 smop4s za0\.s, z0\.h, {z30\.h-z31\.h}
+ *[0-9a-f]+: 80008218 smop4s za0\.s, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: 8000821b smop4s za3\.s, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: 800083d8 smop4s za0\.s, {z14\.h-z15\.h}, z16\.h
+ *[0-9a-f]+: 800e8218 smop4s za0\.s, {z0\.h-z1\.h}, z30\.h
+ *[0-9a-f]+: 80108218 smop4s za0\.s, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 8010821b smop4s za3\.s, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 801083d8 smop4s za0\.s, {z14\.h-z15\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 801e8218 smop4s za0\.s, {z0\.h-z1\.h}, {z30\.h-z31\.h}
+ *[0-9a-f]+: 80008010 smop4s za0\.s, z0\.b, z16\.b
+ *[0-9a-f]+: 80008013 smop4s za3\.s, z0\.b, z16\.b
+ *[0-9a-f]+: 800081d0 smop4s za0\.s, z14\.b, z16\.b
+ *[0-9a-f]+: 800e8010 smop4s za0\.s, z0\.b, z30\.b
+ *[0-9a-f]+: 80108010 smop4s za0\.s, z0\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 80108013 smop4s za3\.s, z0\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 801081d0 smop4s za0\.s, z14\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 801e8010 smop4s za0\.s, z0\.b, {z30\.b-z31\.b}
+ *[0-9a-f]+: 80008210 smop4s za0\.s, {z0\.b-z1\.b}, z16\.b
+ *[0-9a-f]+: 80008213 smop4s za3\.s, {z0\.b-z1\.b}, z16\.b
+ *[0-9a-f]+: 800083d0 smop4s za0\.s, {z14\.b-z15\.b}, z16\.b
+ *[0-9a-f]+: 800e8210 smop4s za0\.s, {z0\.b-z1\.b}, z30\.b
+ *[0-9a-f]+: 80108210 smop4s za0\.s, {z0\.b-z1\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 80108213 smop4s za3\.s, {z0\.b-z1\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 801083d0 smop4s za0\.s, {z14\.b-z15\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 801e8210 smop4s za0\.s, {z0\.b-z1\.b}, {z30\.b-z31\.b}
+ *[0-9a-f]+: 80208000 sumop4a za0\.s, z0\.b, z16\.b
+ *[0-9a-f]+: 80208003 sumop4a za3\.s, z0\.b, z16\.b
+ *[0-9a-f]+: 802081c0 sumop4a za0\.s, z14\.b, z16\.b
+ *[0-9a-f]+: 802e8000 sumop4a za0\.s, z0\.b, z30\.b
+ *[0-9a-f]+: 80308000 sumop4a za0\.s, z0\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 80308003 sumop4a za3\.s, z0\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 803081c0 sumop4a za0\.s, z14\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 803e8000 sumop4a za0\.s, z0\.b, {z30\.b-z31\.b}
+ *[0-9a-f]+: 80208200 sumop4a za0\.s, {z0\.b-z1\.b}, z16\.b
+ *[0-9a-f]+: 80208203 sumop4a za3\.s, {z0\.b-z1\.b}, z16\.b
+ *[0-9a-f]+: 802083c0 sumop4a za0\.s, {z14\.b-z15\.b}, z16\.b
+ *[0-9a-f]+: 802e8200 sumop4a za0\.s, {z0\.b-z1\.b}, z30\.b
+ *[0-9a-f]+: 80308200 sumop4a za0\.s, {z0\.b-z1\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 80308203 sumop4a za3\.s, {z0\.b-z1\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 803083c0 sumop4a za0\.s, {z14\.b-z15\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 803e8200 sumop4a za0\.s, {z0\.b-z1\.b}, {z30\.b-z31\.b}
+ *[0-9a-f]+: 80208010 sumop4s za0\.s, z0\.b, z16\.b
+ *[0-9a-f]+: 80208013 sumop4s za3\.s, z0\.b, z16\.b
+ *[0-9a-f]+: 802081d0 sumop4s za0\.s, z14\.b, z16\.b
+ *[0-9a-f]+: 802e8010 sumop4s za0\.s, z0\.b, z30\.b
+ *[0-9a-f]+: 80308010 sumop4s za0\.s, z0\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 80308013 sumop4s za3\.s, z0\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 803081d0 sumop4s za0\.s, z14\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 803e8010 sumop4s za0\.s, z0\.b, {z30\.b-z31\.b}
+ *[0-9a-f]+: 80208210 sumop4s za0\.s, {z0\.b-z1\.b}, z16\.b
+ *[0-9a-f]+: 80208213 sumop4s za3\.s, {z0\.b-z1\.b}, z16\.b
+ *[0-9a-f]+: 802083d0 sumop4s za0\.s, {z14\.b-z15\.b}, z16\.b
+ *[0-9a-f]+: 802e8210 sumop4s za0\.s, {z0\.b-z1\.b}, z30\.b
+ *[0-9a-f]+: 80308210 sumop4s za0\.s, {z0\.b-z1\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 80308213 sumop4s za3\.s, {z0\.b-z1\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 803083d0 sumop4s za0\.s, {z14\.b-z15\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 803e8210 sumop4s za0\.s, {z0\.b-z1\.b}, {z30\.b-z31\.b}
+ *[0-9a-f]+: 81008008 umop4a za0\.s, z0\.h, z16\.h
+ *[0-9a-f]+: 8100800b umop4a za3\.s, z0\.h, z16\.h
+ *[0-9a-f]+: 810081c8 umop4a za0\.s, z14\.h, z16\.h
+ *[0-9a-f]+: 810e8008 umop4a za0\.s, z0\.h, z30\.h
+ *[0-9a-f]+: 81108008 umop4a za0\.s, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 8110800b umop4a za3\.s, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 811081c8 umop4a za0\.s, z14\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 811e8008 umop4a za0\.s, z0\.h, {z30\.h-z31\.h}
+ *[0-9a-f]+: 81008208 umop4a za0\.s, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: 8100820b umop4a za3\.s, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: 810083c8 umop4a za0\.s, {z14\.h-z15\.h}, z16\.h
+ *[0-9a-f]+: 810e8208 umop4a za0\.s, {z0\.h-z1\.h}, z30\.h
+ *[0-9a-f]+: 81108208 umop4a za0\.s, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 8110820b umop4a za3\.s, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 811083c8 umop4a za0\.s, {z14\.h-z15\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 811e8208 umop4a za0\.s, {z0\.h-z1\.h}, {z30\.h-z31\.h}
+ *[0-9a-f]+: 81208000 umop4a za0\.s, z0\.b, z16\.b
+ *[0-9a-f]+: 81208003 umop4a za3\.s, z0\.b, z16\.b
+ *[0-9a-f]+: 812081c0 umop4a za0\.s, z14\.b, z16\.b
+ *[0-9a-f]+: 812e8000 umop4a za0\.s, z0\.b, z30\.b
+ *[0-9a-f]+: 81308000 umop4a za0\.s, z0\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 81308003 umop4a za3\.s, z0\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 813081c0 umop4a za0\.s, z14\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 813e8000 umop4a za0\.s, z0\.b, {z30\.b-z31\.b}
+ *[0-9a-f]+: 81208200 umop4a za0\.s, {z0\.b-z1\.b}, z16\.b
+ *[0-9a-f]+: 81208203 umop4a za3\.s, {z0\.b-z1\.b}, z16\.b
+ *[0-9a-f]+: 812083c0 umop4a za0\.s, {z14\.b-z15\.b}, z16\.b
+ *[0-9a-f]+: 812e8200 umop4a za0\.s, {z0\.b-z1\.b}, z30\.b
+ *[0-9a-f]+: 81308200 umop4a za0\.s, {z0\.b-z1\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 81308203 umop4a za3\.s, {z0\.b-z1\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 813083c0 umop4a za0\.s, {z14\.b-z15\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 813e8200 umop4a za0\.s, {z0\.b-z1\.b}, {z30\.b-z31\.b}
+ *[0-9a-f]+: 81008018 umop4s za0\.s, z0\.h, z16\.h
+ *[0-9a-f]+: 8100801b umop4s za3\.s, z0\.h, z16\.h
+ *[0-9a-f]+: 810081d8 umop4s za0\.s, z14\.h, z16\.h
+ *[0-9a-f]+: 810e8018 umop4s za0\.s, z0\.h, z30\.h
+ *[0-9a-f]+: 81108018 umop4s za0\.s, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 8110801b umop4s za3\.s, z0\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 811081d8 umop4s za0\.s, z14\.h, {z16\.h-z17\.h}
+ *[0-9a-f]+: 811e8018 umop4s za0\.s, z0\.h, {z30\.h-z31\.h}
+ *[0-9a-f]+: 81008218 umop4s za0\.s, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: 8100821b umop4s za3\.s, {z0\.h-z1\.h}, z16\.h
+ *[0-9a-f]+: 810083d8 umop4s za0\.s, {z14\.h-z15\.h}, z16\.h
+ *[0-9a-f]+: 810e8218 umop4s za0\.s, {z0\.h-z1\.h}, z30\.h
+ *[0-9a-f]+: 81108218 umop4s za0\.s, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 8110821b umop4s za3\.s, {z0\.h-z1\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 811083d8 umop4s za0\.s, {z14\.h-z15\.h}, {z16\.h-z17\.h}
+ *[0-9a-f]+: 811e8218 umop4s za0\.s, {z0\.h-z1\.h}, {z30\.h-z31\.h}
+ *[0-9a-f]+: 81208010 umop4s za0\.s, z0\.b, z16\.b
+ *[0-9a-f]+: 81208013 umop4s za3\.s, z0\.b, z16\.b
+ *[0-9a-f]+: 812081d0 umop4s za0\.s, z14\.b, z16\.b
+ *[0-9a-f]+: 812e8010 umop4s za0\.s, z0\.b, z30\.b
+ *[0-9a-f]+: 81308010 umop4s za0\.s, z0\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 81308013 umop4s za3\.s, z0\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 813081d0 umop4s za0\.s, z14\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 813e8010 umop4s za0\.s, z0\.b, {z30\.b-z31\.b}
+ *[0-9a-f]+: 81208210 umop4s za0\.s, {z0\.b-z1\.b}, z16\.b
+ *[0-9a-f]+: 81208213 umop4s za3\.s, {z0\.b-z1\.b}, z16\.b
+ *[0-9a-f]+: 812083d0 umop4s za0\.s, {z14\.b-z15\.b}, z16\.b
+ *[0-9a-f]+: 812e8210 umop4s za0\.s, {z0\.b-z1\.b}, z30\.b
+ *[0-9a-f]+: 81308210 umop4s za0\.s, {z0\.b-z1\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 81308213 umop4s za3\.s, {z0\.b-z1\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 813083d0 umop4s za0\.s, {z14\.b-z15\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 813e8210 umop4s za0\.s, {z0\.b-z1\.b}, {z30\.b-z31\.b}
+ *[0-9a-f]+: 81008000 usmop4a za0\.s, z0\.b, z16\.b
+ *[0-9a-f]+: 81008003 usmop4a za3\.s, z0\.b, z16\.b
+ *[0-9a-f]+: 810081c0 usmop4a za0\.s, z14\.b, z16\.b
+ *[0-9a-f]+: 810e8000 usmop4a za0\.s, z0\.b, z30\.b
+ *[0-9a-f]+: 81108000 usmop4a za0\.s, z0\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 81108003 usmop4a za3\.s, z0\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 811081c0 usmop4a za0\.s, z14\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 811e8000 usmop4a za0\.s, z0\.b, {z30\.b-z31\.b}
+ *[0-9a-f]+: 81008200 usmop4a za0\.s, {z0\.b-z1\.b}, z16\.b
+ *[0-9a-f]+: 81008203 usmop4a za3\.s, {z0\.b-z1\.b}, z16\.b
+ *[0-9a-f]+: 810083c0 usmop4a za0\.s, {z14\.b-z15\.b}, z16\.b
+ *[0-9a-f]+: 810e8200 usmop4a za0\.s, {z0\.b-z1\.b}, z30\.b
+ *[0-9a-f]+: 81108200 usmop4a za0\.s, {z0\.b-z1\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 81108203 usmop4a za3\.s, {z0\.b-z1\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 811083c0 usmop4a za0\.s, {z14\.b-z15\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 811e8200 usmop4a za0\.s, {z0\.b-z1\.b}, {z30\.b-z31\.b}
+ *[0-9a-f]+: 81008010 usmop4s za0\.s, z0\.b, z16\.b
+ *[0-9a-f]+: 81008013 usmop4s za3\.s, z0\.b, z16\.b
+ *[0-9a-f]+: 810081d0 usmop4s za0\.s, z14\.b, z16\.b
+ *[0-9a-f]+: 810e8010 usmop4s za0\.s, z0\.b, z30\.b
+ *[0-9a-f]+: 81108010 usmop4s za0\.s, z0\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 81108013 usmop4s za3\.s, z0\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 811081d0 usmop4s za0\.s, z14\.b, {z16\.b-z17\.b}
+ *[0-9a-f]+: 811e8010 usmop4s za0\.s, z0\.b, {z30\.b-z31\.b}
+ *[0-9a-f]+: 81008210 usmop4s za0\.s, {z0\.b-z1\.b}, z16\.b
+ *[0-9a-f]+: 81008213 usmop4s za3\.s, {z0\.b-z1\.b}, z16\.b
+ *[0-9a-f]+: 810083d0 usmop4s za0\.s, {z14\.b-z15\.b}, z16\.b
+ *[0-9a-f]+: 810e8210 usmop4s za0\.s, {z0\.b-z1\.b}, z30\.b
+ *[0-9a-f]+: 81108210 usmop4s za0\.s, {z0\.b-z1\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 81108213 usmop4s za3\.s, {z0\.b-z1\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 811083d0 usmop4s za0\.s, {z14\.b-z15\.b}, {z16\.b-z17\.b}
+ *[0-9a-f]+: 811e8210 usmop4s za0\.s, {z0\.b-z1\.b}, {z30\.b-z31\.b}
--- /dev/null
+ bfmop4a za0.s, z0.h, z16.h
+ bfmop4a za3.s, z0.h, z16.h
+ bfmop4a za0.s, z14.h, z16.h
+ bfmop4a za0.s, z0.h, z30.h
+ bfmop4a za0.s, z0.h, { z16.h-z17.h }
+ bfmop4a za3.s, z0.h, { z16.h-z17.h }
+ bfmop4a za0.s, z14.h, { z16.h-z17.h }
+ bfmop4a za0.s, z0.h, { z30.h-z31.h }
+ bfmop4a za0.s, { z0.h-z1.h }, z16.h
+ bfmop4a za3.s, { z0.h-z1.h }, z16.h
+ bfmop4a za0.s, { z14.h-z15.h }, z16.h
+ bfmop4a za0.s, { z0.h-z1.h }, z30.h
+ bfmop4a za0.s, { z0.h-z1.h }, { z16.h-z17.h }
+ bfmop4a za3.s, { z0.h-z1.h }, { z16.h-z17.h }
+ bfmop4a za0.s, { z14.h-z15.h }, { z16.h-z17.h }
+ bfmop4a za0.s, { z0.h-z1.h }, { z30.h-z31.h }
+
+ bfmop4s za0.s, z0.h, z16.h
+ bfmop4s za3.s, z0.h, z16.h
+ bfmop4s za0.s, z14.h, z16.h
+ bfmop4s za0.s, z0.h, z30.h
+ bfmop4s za0.s, z0.h, { z16.h-z17.h }
+ bfmop4s za3.s, z0.h, { z16.h-z17.h }
+ bfmop4s za0.s, z14.h, { z16.h-z17.h }
+ bfmop4s za0.s, z0.h, { z30.h-z31.h }
+ bfmop4s za0.s, { z0.h-z1.h }, z16.h
+ bfmop4s za3.s, { z0.h-z1.h }, z16.h
+ bfmop4s za0.s, { z14.h-z15.h }, z16.h
+ bfmop4s za0.s, { z0.h-z1.h }, z30.h
+ bfmop4s za0.s, { z0.h-z1.h }, { z16.h-z17.h }
+ bfmop4s za3.s, { z0.h-z1.h }, { z16.h-z17.h }
+ bfmop4s za0.s, { z14.h-z15.h }, { z16.h-z17.h }
+ bfmop4s za0.s, { z0.h-z1.h }, { z30.h-z31.h }
+
+ fmop4a za0.s, z0.s, z16.s
+ fmop4a za3.s, z0.s, z16.s
+ fmop4a za0.s, z14.s, z16.s
+ fmop4a za0.s, z0.s, z30.s
+ fmop4a za0.s, z0.s, { z16.s-z17.s }
+ fmop4a za3.s, z0.s, { z16.s-z17.s }
+ fmop4a za0.s, z14.s, { z16.s-z17.s }
+ fmop4a za0.s, z0.s, { z30.s-z31.s }
+ fmop4a za0.s, { z0.s-z1.s }, z16.s
+ fmop4a za3.s, { z0.s-z1.s }, z16.s
+ fmop4a za0.s, { z14.s-z15.s }, z16.s
+ fmop4a za0.s, { z0.s-z1.s }, z30.s
+ fmop4a za0.s, { z0.s-z1.s }, { z16.s-z17.s }
+ fmop4a za3.s, { z0.s-z1.s }, { z16.s-z17.s }
+ fmop4a za0.s, { z14.s-z15.s }, { z16.s-z17.s }
+ fmop4a za0.s, { z0.s-z1.s }, { z30.s-z31.s }
+
+ fmop4a za0.s, z0.h, z16.h
+ fmop4a za3.s, z0.h, z16.h
+ fmop4a za0.s, z14.h, z16.h
+ fmop4a za0.s, z0.h, z30.h
+ fmop4a za0.s, z0.h, { z16.h-z17.h }
+ fmop4a za3.s, z0.h, { z16.h-z17.h }
+ fmop4a za0.s, z14.h, { z16.h-z17.h }
+ fmop4a za0.s, z0.h, { z30.h-z31.h }
+ fmop4a za0.s, { z0.h-z1.h }, z16.h
+ fmop4a za3.s, { z0.h-z1.h }, z16.h
+ fmop4a za0.s, { z14.h-z15.h }, z16.h
+ fmop4a za0.s, { z0.h-z1.h }, z30.h
+ fmop4a za0.s, { z0.h-z1.h }, { z16.h-z17.h }
+ fmop4a za3.s, { z0.h-z1.h }, { z16.h-z17.h }
+ fmop4a za0.s, { z14.h-z15.h }, { z16.h-z17.h }
+ fmop4a za0.s, { z0.h-z1.h }, { z30.h-z31.h }
+
+ fmop4s za0.s, z0.s, z16.s
+ fmop4s za3.s, z0.s, z16.s
+ fmop4s za0.s, z14.s, z16.s
+ fmop4s za0.s, z0.s, z30.s
+ fmop4s za0.s, z0.s, { z16.s-z17.s }
+ fmop4s za3.s, z0.s, { z16.s-z17.s }
+ fmop4s za0.s, z14.s, { z16.s-z17.s }
+ fmop4s za0.s, z0.s, { z30.s-z31.s }
+ fmop4s za0.s, { z0.s-z1.s }, z16.s
+ fmop4s za3.s, { z0.s-z1.s }, z16.s
+ fmop4s za0.s, { z14.s-z15.s }, z16.s
+ fmop4s za0.s, { z0.s-z1.s }, z30.s
+ fmop4s za0.s, { z0.s-z1.s }, { z16.s-z17.s }
+ fmop4s za3.s, { z0.s-z1.s }, { z16.s-z17.s }
+ fmop4s za0.s, { z14.s-z15.s }, { z16.s-z17.s }
+ fmop4s za0.s, { z0.s-z1.s }, { z30.s-z31.s }
+
+ fmop4s za0.s, z0.h, z16.h
+ fmop4s za3.s, z0.h, z16.h
+ fmop4s za0.s, z14.h, z16.h
+ fmop4s za0.s, z0.h, z30.h
+ fmop4s za0.s, z0.h, { z16.h-z17.h }
+ fmop4s za3.s, z0.h, { z16.h-z17.h }
+ fmop4s za0.s, z14.h, { z16.h-z17.h }
+ fmop4s za0.s, z0.h, { z30.h-z31.h }
+ fmop4s za0.s, { z0.h-z1.h }, z16.h
+ fmop4s za3.s, { z0.h-z1.h }, z16.h
+ fmop4s za0.s, { z14.h-z15.h }, z16.h
+ fmop4s za0.s, { z0.h-z1.h }, z30.h
+ fmop4s za0.s, { z0.h-z1.h }, { z16.h-z17.h }
+ fmop4s za3.s, { z0.h-z1.h }, { z16.h-z17.h }
+ fmop4s za0.s, { z14.h-z15.h }, { z16.h-z17.h }
+ fmop4s za0.s, { z0.h-z1.h }, { z30.h-z31.h }
+
+ smop4a za0.s, z0.h, z16.h
+ smop4a za3.s, z0.h, z16.h
+ smop4a za0.s, z14.h, z16.h
+ smop4a za0.s, z0.h, z30.h
+ smop4a za0.s, z0.h, { z16.h-z17.h }
+ smop4a za3.s, z0.h, { z16.h-z17.h }
+ smop4a za0.s, z14.h, { z16.h-z17.h }
+ smop4a za0.s, z0.h, { z30.h-z31.h }
+ smop4a za0.s, { z0.h-z1.h }, z16.h
+ smop4a za3.s, { z0.h-z1.h }, z16.h
+ smop4a za0.s, { z14.h-z15.h }, z16.h
+ smop4a za0.s, { z0.h-z1.h }, z30.h
+ smop4a za0.s, { z0.h-z1.h }, { z16.h-z17.h }
+ smop4a za3.s, { z0.h-z1.h }, { z16.h-z17.h }
+ smop4a za0.s, { z14.h-z15.h }, { z16.h-z17.h }
+ smop4a za0.s, { z0.h-z1.h }, { z30.h-z31.h }
+
+ smop4a za0.s, z0.b, z16.b
+ smop4a za3.s, z0.b, z16.b
+ smop4a za0.s, z14.b, z16.b
+ smop4a za0.s, z0.b, z30.b
+ smop4a za0.s, z0.b, { z16.b-z17.b }
+ smop4a za3.s, z0.b, { z16.b-z17.b }
+ smop4a za0.s, z14.b, { z16.b-z17.b }
+ smop4a za0.s, z0.b, { z30.b-z31.b }
+ smop4a za0.s, { z0.b-z1.b }, z16.b
+ smop4a za3.s, { z0.b-z1.b }, z16.b
+ smop4a za0.s, { z14.b-z15.b }, z16.b
+ smop4a za0.s, { z0.b-z1.b }, z30.b
+ smop4a za0.s, { z0.b-z1.b }, { z16.b-z17.b }
+ smop4a za3.s, { z0.b-z1.b }, { z16.b-z17.b }
+ smop4a za0.s, { z14.b-z15.b }, { z16.b-z17.b }
+ smop4a za0.s, { z0.b-z1.b }, { z30.b-z31.b }
+
+ smop4s za0.s, z0.h, z16.h
+ smop4s za3.s, z0.h, z16.h
+ smop4s za0.s, z14.h, z16.h
+ smop4s za0.s, z0.h, z30.h
+ smop4s za0.s, z0.h, { z16.h-z17.h }
+ smop4s za3.s, z0.h, { z16.h-z17.h }
+ smop4s za0.s, z14.h, { z16.h-z17.h }
+ smop4s za0.s, z0.h, { z30.h-z31.h }
+ smop4s za0.s, { z0.h-z1.h }, z16.h
+ smop4s za3.s, { z0.h-z1.h }, z16.h
+ smop4s za0.s, { z14.h-z15.h }, z16.h
+ smop4s za0.s, { z0.h-z1.h }, z30.h
+ smop4s za0.s, { z0.h-z1.h }, { z16.h-z17.h }
+ smop4s za3.s, { z0.h-z1.h }, { z16.h-z17.h }
+ smop4s za0.s, { z14.h-z15.h }, { z16.h-z17.h }
+ smop4s za0.s, { z0.h-z1.h }, { z30.h-z31.h }
+
+ smop4s za0.s, z0.b, z16.b
+ smop4s za3.s, z0.b, z16.b
+ smop4s za0.s, z14.b, z16.b
+ smop4s za0.s, z0.b, z30.b
+ smop4s za0.s, z0.b, { z16.b-z17.b }
+ smop4s za3.s, z0.b, { z16.b-z17.b }
+ smop4s za0.s, z14.b, { z16.b-z17.b }
+ smop4s za0.s, z0.b, { z30.b-z31.b }
+ smop4s za0.s, { z0.b-z1.b }, z16.b
+ smop4s za3.s, { z0.b-z1.b }, z16.b
+ smop4s za0.s, { z14.b-z15.b }, z16.b
+ smop4s za0.s, { z0.b-z1.b }, z30.b
+ smop4s za0.s, { z0.b-z1.b }, { z16.b-z17.b }
+ smop4s za3.s, { z0.b-z1.b }, { z16.b-z17.b }
+ smop4s za0.s, { z14.b-z15.b }, { z16.b-z17.b }
+ smop4s za0.s, { z0.b-z1.b }, { z30.b-z31.b }
+
+ sumop4a za0.s, z0.b, z16.b
+ sumop4a za3.s, z0.b, z16.b
+ sumop4a za0.s, z14.b, z16.b
+ sumop4a za0.s, z0.b, z30.b
+ sumop4a za0.s, z0.b, { z16.b-z17.b }
+ sumop4a za3.s, z0.b, { z16.b-z17.b }
+ sumop4a za0.s, z14.b, { z16.b-z17.b }
+ sumop4a za0.s, z0.b, { z30.b-z31.b }
+ sumop4a za0.s, { z0.b-z1.b }, z16.b
+ sumop4a za3.s, { z0.b-z1.b }, z16.b
+ sumop4a za0.s, { z14.b-z15.b }, z16.b
+ sumop4a za0.s, { z0.b-z1.b }, z30.b
+ sumop4a za0.s, { z0.b-z1.b }, { z16.b-z17.b }
+ sumop4a za3.s, { z0.b-z1.b }, { z16.b-z17.b }
+ sumop4a za0.s, { z14.b-z15.b }, { z16.b-z17.b }
+ sumop4a za0.s, { z0.b-z1.b }, { z30.b-z31.b }
+
+ sumop4s za0.s, z0.b, z16.b
+ sumop4s za3.s, z0.b, z16.b
+ sumop4s za0.s, z14.b, z16.b
+ sumop4s za0.s, z0.b, z30.b
+ sumop4s za0.s, z0.b, { z16.b-z17.b }
+ sumop4s za3.s, z0.b, { z16.b-z17.b }
+ sumop4s za0.s, z14.b, { z16.b-z17.b }
+ sumop4s za0.s, z0.b, { z30.b-z31.b }
+ sumop4s za0.s, { z0.b-z1.b }, z16.b
+ sumop4s za3.s, { z0.b-z1.b }, z16.b
+ sumop4s za0.s, { z14.b-z15.b }, z16.b
+ sumop4s za0.s, { z0.b-z1.b }, z30.b
+ sumop4s za0.s, { z0.b-z1.b }, { z16.b-z17.b }
+ sumop4s za3.s, { z0.b-z1.b }, { z16.b-z17.b }
+ sumop4s za0.s, { z14.b-z15.b }, { z16.b-z17.b }
+ sumop4s za0.s, { z0.b-z1.b }, { z30.b-z31.b }
+
+ umop4a za0.s, z0.h, z16.h
+ umop4a za3.s, z0.h, z16.h
+ umop4a za0.s, z14.h, z16.h
+ umop4a za0.s, z0.h, z30.h
+ umop4a za0.s, z0.h, { z16.h-z17.h }
+ umop4a za3.s, z0.h, { z16.h-z17.h }
+ umop4a za0.s, z14.h, { z16.h-z17.h }
+ umop4a za0.s, z0.h, { z30.h-z31.h }
+ umop4a za0.s, { z0.h-z1.h }, z16.h
+ umop4a za3.s, { z0.h-z1.h }, z16.h
+ umop4a za0.s, { z14.h-z15.h }, z16.h
+ umop4a za0.s, { z0.h-z1.h }, z30.h
+ umop4a za0.s, { z0.h-z1.h }, { z16.h-z17.h }
+ umop4a za3.s, { z0.h-z1.h }, { z16.h-z17.h }
+ umop4a za0.s, { z14.h-z15.h }, { z16.h-z17.h }
+ umop4a za0.s, { z0.h-z1.h }, { z30.h-z31.h }
+
+ umop4a za0.s, z0.b, z16.b
+ umop4a za3.s, z0.b, z16.b
+ umop4a za0.s, z14.b, z16.b
+ umop4a za0.s, z0.b, z30.b
+ umop4a za0.s, z0.b, { z16.b-z17.b }
+ umop4a za3.s, z0.b, { z16.b-z17.b }
+ umop4a za0.s, z14.b, { z16.b-z17.b }
+ umop4a za0.s, z0.b, { z30.b-z31.b }
+ umop4a za0.s, { z0.b-z1.b }, z16.b
+ umop4a za3.s, { z0.b-z1.b }, z16.b
+ umop4a za0.s, { z14.b-z15.b }, z16.b
+ umop4a za0.s, { z0.b-z1.b }, z30.b
+ umop4a za0.s, { z0.b-z1.b }, { z16.b-z17.b }
+ umop4a za3.s, { z0.b-z1.b }, { z16.b-z17.b }
+ umop4a za0.s, { z14.b-z15.b }, { z16.b-z17.b }
+ umop4a za0.s, { z0.b-z1.b }, { z30.b-z31.b }
+
+ umop4s za0.s, z0.h, z16.h
+ umop4s za3.s, z0.h, z16.h
+ umop4s za0.s, z14.h, z16.h
+ umop4s za0.s, z0.h, z30.h
+ umop4s za0.s, z0.h, { z16.h-z17.h }
+ umop4s za3.s, z0.h, { z16.h-z17.h }
+ umop4s za0.s, z14.h, { z16.h-z17.h }
+ umop4s za0.s, z0.h, { z30.h-z31.h }
+ umop4s za0.s, { z0.h-z1.h }, z16.h
+ umop4s za3.s, { z0.h-z1.h }, z16.h
+ umop4s za0.s, { z14.h-z15.h }, z16.h
+ umop4s za0.s, { z0.h-z1.h }, z30.h
+ umop4s za0.s, { z0.h-z1.h }, { z16.h-z17.h }
+ umop4s za3.s, { z0.h-z1.h }, { z16.h-z17.h }
+ umop4s za0.s, { z14.h-z15.h }, { z16.h-z17.h }
+ umop4s za0.s, { z0.h-z1.h }, { z30.h-z31.h }
+
+ umop4s za0.s, z0.b, z16.b
+ umop4s za3.s, z0.b, z16.b
+ umop4s za0.s, z14.b, z16.b
+ umop4s za0.s, z0.b, z30.b
+ umop4s za0.s, z0.b, { z16.b-z17.b }
+ umop4s za3.s, z0.b, { z16.b-z17.b }
+ umop4s za0.s, z14.b, { z16.b-z17.b }
+ umop4s za0.s, z0.b, { z30.b-z31.b }
+ umop4s za0.s, { z0.b-z1.b }, z16.b
+ umop4s za3.s, { z0.b-z1.b }, z16.b
+ umop4s za0.s, { z14.b-z15.b }, z16.b
+ umop4s za0.s, { z0.b-z1.b }, z30.b
+ umop4s za0.s, { z0.b-z1.b }, { z16.b-z17.b }
+ umop4s za3.s, { z0.b-z1.b }, { z16.b-z17.b }
+ umop4s za0.s, { z14.b-z15.b }, { z16.b-z17.b }
+ umop4s za0.s, { z0.b-z1.b }, { z30.b-z31.b }
+
+ usmop4a za0.s, z0.b, z16.b
+ usmop4a za3.s, z0.b, z16.b
+ usmop4a za0.s, z14.b, z16.b
+ usmop4a za0.s, z0.b, z30.b
+ usmop4a za0.s, z0.b, { z16.b-z17.b }
+ usmop4a za3.s, z0.b, { z16.b-z17.b }
+ usmop4a za0.s, z14.b, { z16.b-z17.b }
+ usmop4a za0.s, z0.b, { z30.b-z31.b }
+ usmop4a za0.s, { z0.b-z1.b }, z16.b
+ usmop4a za3.s, { z0.b-z1.b }, z16.b
+ usmop4a za0.s, { z14.b-z15.b }, z16.b
+ usmop4a za0.s, { z0.b-z1.b }, z30.b
+ usmop4a za0.s, { z0.b-z1.b }, { z16.b-z17.b }
+ usmop4a za3.s, { z0.b-z1.b }, { z16.b-z17.b }
+ usmop4a za0.s, { z14.b-z15.b }, { z16.b-z17.b }
+ usmop4a za0.s, { z0.b-z1.b }, { z30.b-z31.b }
+
+ usmop4s za0.s, z0.b, z16.b
+ usmop4s za3.s, z0.b, z16.b
+ usmop4s za0.s, z14.b, z16.b
+ usmop4s za0.s, z0.b, z30.b
+ usmop4s za0.s, z0.b, { z16.b-z17.b }
+ usmop4s za3.s, z0.b, { z16.b-z17.b }
+ usmop4s za0.s, z14.b, { z16.b-z17.b }
+ usmop4s za0.s, z0.b, { z30.b-z31.b }
+ usmop4s za0.s, { z0.b-z1.b }, z16.b
+ usmop4s za3.s, { z0.b-z1.b }, z16.b
+ usmop4s za0.s, { z14.b-z15.b }, z16.b
+ usmop4s za0.s, { z0.b-z1.b }, z30.b
+ usmop4s za0.s, { z0.b-z1.b }, { z16.b-z17.b }
+ usmop4s za3.s, { z0.b-z1.b }, { z16.b-z17.b }
+ usmop4s za0.s, { z14.b-z15.b }, { z16.b-z17.b }
+ usmop4s za0.s, { z0.b-z1.b }, { z30.b-z31.b }
AARCH64_FEATURE_GCIE,
/* SME TMOP instructions. */
AARCH64_FEATURE_SME_TMOP,
+ /* SME MOP4 instructions. */
+ AARCH64_FEATURE_SME_MOP4,
/* Virtual features. These are used to gate instructions that are enabled
by either of two (or more) sets of command line flags. */
AARCH64_OPND_SVE_ZtxN, /* SVE vector register list in Zt. */
AARCH64_OPND_SME_Zdnx2, /* SVE vector register list from [4:1]*2. */
AARCH64_OPND_SME_Zdnx4, /* SVE vector register list from [4:2]*4. */
- AARCH64_OPND_SME_Zm, /* SVE vector register list in 4-bit Zm. */
- AARCH64_OPND_SME_Zm_17, /* SVE vector register list in [20:17]. */
+ AARCH64_OPND_SME_Zm, /* SVE vector register in 4-bit Zm. */
+ AARCH64_OPND_SME_Zm_17, /* SVE vector register in [20:17]. */
+ AARCH64_OPND_SME_Zn_6_3, /* SVE vector register in [8:6]*2. */
+ AARCH64_OPND_SME_Zm_17_3, /* SVE vector register in [19:17]*2+16. */
+ AARCH64_OPND_SME_Znx2_6_3, /* SVE vector register list from [8:6]*2. */
+ AARCH64_OPND_SME_Zmx2_17_3, /* SVE vector register list from [19:17]*2+16. */
AARCH64_OPND_SME_Zmx2, /* SVE vector register list from [20:17]*2. */
AARCH64_OPND_SME_Zmx4, /* SVE vector register list from [20:18]*4. */
AARCH64_OPND_SME_Znx2, /* SVE vector register list from [9:6]*2. */
case AARCH64_OPND_SVE_Zt:
case AARCH64_OPND_SME_Zm:
case AARCH64_OPND_SME_Zm_17:
+ case AARCH64_OPND_SME_Zn_6_3:
+ case AARCH64_OPND_SME_Zm_17_3:
case AARCH64_OPND_SME_ZAda_1b:
case AARCH64_OPND_SME_ZAda_2b:
case AARCH64_OPND_SME_ZAda_3b:
return aarch64_ins_sve_reglist (self, info, code, inst, errors);
case AARCH64_OPND_SME_Zdnx2:
case AARCH64_OPND_SME_Zdnx4:
+ case AARCH64_OPND_SME_Znx2_6_3:
+ case AARCH64_OPND_SME_Zmx2_17_3:
case AARCH64_OPND_SME_Zmx2:
case AARCH64_OPND_SME_Zmx4:
case AARCH64_OPND_SME_Znx2:
{
if (((word >> 23) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0000000000xxxxxxxxxxxxxxxxxxxxx. */
- return A64_OPID_00000000_udf_UNDEFINED;
+ if (((word >> 20) & 0x1) == 0)
+ {
+ if (((word >> 31) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 000000000000xxxxxxxxxxxxxxxxxxxx. */
+ return A64_OPID_00000000_udf_UNDEFINED;
+ }
+ else
+ {
+ if (((word >> 3) & 0x1) == 0)
+ {
+ if (((word >> 4) & 0x1) == 0)
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 100000000000xxxx0xxxxx0xxxx00xxx. */
+ return A64_OPID_80000000_fmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 100000000000xxxx1xxxxx0xxxx00xxx. */
+ return A64_OPID_80008000_smop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ }
+ else
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 100000000000xxxx0xxxxx1xxxx00xxx. */
+ return A64_OPID_80000200_fmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 100000000000xxxx1xxxxx1xxxx00xxx. */
+ return A64_OPID_80008200_smop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 100000000000xxxx0xxxxx0xxxx10xxx. */
+ return A64_OPID_80000010_fmop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 100000000000xxxx1xxxxx0xxxx10xxx. */
+ return A64_OPID_80008010_smop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ }
+ else
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 100000000000xxxx0xxxxx1xxxx10xxx. */
+ return A64_OPID_80000210_fmop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 100000000000xxxx1xxxxx1xxxx10xxx. */
+ return A64_OPID_80008210_smop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 4) & 0x1) == 0)
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 100000000000xxxxxxxxxx0xxxx01xxx. */
+ return A64_OPID_80008008_smop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 100000000000xxxxxxxxxx1xxxx01xxx. */
+ return A64_OPID_80008208_smop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ }
+ else
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 100000000000xxxxxxxxxx0xxxx11xxx. */
+ return A64_OPID_80008018_smop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 100000000000xxxxxxxxxx1xxxx11xxx. */
+ return A64_OPID_80008218_smop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ }
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 3) & 0x1) == 0)
+ {
+ if (((word >> 4) & 0x1) == 0)
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000000001xxxx0xxxxx0xxxx00xxx. */
+ return A64_OPID_80100000_fmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000000001xxxx1xxxxx0xxxx00xxx. */
+ return A64_OPID_80108000_smop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ }
+ else
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000000001xxxx0xxxxx1xxxx00xxx. */
+ return A64_OPID_80100200_fmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000000001xxxx1xxxxx1xxxx00xxx. */
+ return A64_OPID_80108200_smop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000000001xxxx0xxxxx0xxxx10xxx. */
+ return A64_OPID_80100010_fmop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000000001xxxx1xxxxx0xxxx10xxx. */
+ return A64_OPID_80108010_smop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ }
+ else
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000000001xxxx0xxxxx1xxxx10xxx. */
+ return A64_OPID_80100210_fmop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000000001xxxx1xxxxx1xxxx10xxx. */
+ return A64_OPID_80108210_smop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 4) & 0x1) == 0)
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000000001xxxxxxxxxx0xxxx01xxx. */
+ return A64_OPID_80108008_smop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000000001xxxxxxxxxx1xxxx01xxx. */
+ return A64_OPID_80108208_smop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ else
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000000001xxxxxxxxxx0xxxx11xxx. */
+ return A64_OPID_80108018_smop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000000001xxxxxxxxxx1xxxx11xxx. */
+ return A64_OPID_80108218_smop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ }
+ }
}
else
{
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0000000x10xxxxxxxxxxxxxxxxx1xxx. */
- return A64_OPID_80408008_stmopa_SME_ZAda_2b_SME_Znx2_SVE_Zm_16_SME_Zk_INDEX;
+ if (((word >> 15) & 0x1) == 0)
+ {
+ if (((word >> 4) & 0x1) == 0)
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0000000x100xxxx0xxxxx0xxxx01xxx. */
+ return A64_OPID_80c00008_fmop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0000000x101xxxx0xxxxx0xxxx01xxx. */
+ return A64_OPID_80d00008_fmop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ }
+ else
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0000000x100xxxx0xxxxx1xxxx01xxx. */
+ return A64_OPID_80c00208_fmop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0000000x101xxxx0xxxxx1xxxx01xxx. */
+ return A64_OPID_80d00208_fmop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0000000x100xxxx0xxxxx0xxxx11xxx. */
+ return A64_OPID_80c00018_fmop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0000000x101xxxx0xxxxx0xxxx11xxx. */
+ return A64_OPID_80d00018_fmop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ }
+ else
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0000000x100xxxx0xxxxx1xxxx11xxx. */
+ return A64_OPID_80c00218_fmop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0000000x101xxxx0xxxxx1xxxx11xxx. */
+ return A64_OPID_80d00218_fmop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0000000x10xxxxx1xxxxxxxxxxx1xxx. */
+ return A64_OPID_80408008_stmopa_SME_ZAda_2b_SME_Znx2_SVE_Zm_16_SME_Zk_INDEX;
+ }
}
}
}
{
if (((word >> 30) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0100000110xxxxxxxxxxxxxxxx0xxxx. */
- return A64_OPID_a0c00000_smopa_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
+ if (((word >> 3) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0100000110xxxxxxxxxxxxxxxx00xxx. */
+ return A64_OPID_a0c00000_smopa_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
+ }
+ else
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x01000001100xxxxxxxxxx0xxxx01xxx. */
+ return A64_OPID_a0c00008_smop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x01000001101xxxxxxxxxx0xxxx01xxx. */
+ return A64_OPID_a0d00008_smop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ }
+ else
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x01000001100xxxxxxxxxx1xxxx01xxx. */
+ return A64_OPID_a0c00208_smop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x01000001101xxxxxxxxxx1xxxx01xxx. */
+ return A64_OPID_a0d00208_smop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ }
}
else
{
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx100000110xxxxxxxxxxxxxxxx1xxxx. */
- return A64_OPID_a0c00010_smops_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
+ if (((word >> 3) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx100000110xxxxxxxxxxxxxxxx10xxx. */
+ return A64_OPID_a0c00010_smops_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
+ }
+ else
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1000001100xxxxxxxxxx0xxxx11xxx. */
+ return A64_OPID_a0c00018_smop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1000001101xxxxxxxxxx0xxxx11xxx. */
+ return A64_OPID_a0d00018_smop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ }
+ else
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1000001100xxxxxxxxxx1xxxx11xxx. */
+ return A64_OPID_a0c00218_smop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1000001101xxxxxxxxxx1xxxx11xxx. */
+ return A64_OPID_a0d00218_smop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ }
}
}
}
{
if (((word >> 23) & 0x1) == 0)
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 29) & 0x1) == 0)
{
- if (((word >> 0) & 0x1) == 0)
+ if (((word >> 3) & 0x1) == 0)
{
- if (((word >> 13) & 0x1) == 0)
+ if (((word >> 4) & 0x1) == 0)
{
- if (((word >> 14) & 0x1) == 0)
+ if (((word >> 9) & 0x1) == 0)
{
if (((word >> 15) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0x00000001xxxxx000xxxxxxxxxxxx0. */
- return A64_OPID_a0200000_st1b_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM;
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0000000010xxxx0xxxxx0xxxx00xxx. */
+ return A64_OPID_80200000_fmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0000000011xxxx0xxxxx0xxxx00xxx. */
+ return A64_OPID_80300000_fmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0x00000001xxxxx100xxxxxxxxxxxx0. */
- return A64_OPID_a0208000_st1b_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM;
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0000000010xxxx1xxxxx0xxxx00xxx. */
+ return A64_OPID_80208000_sumop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0000000011xxxx1xxxxx0xxxx00xxx. */
+ return A64_OPID_80308000_sumop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
}
}
else
{
if (((word >> 15) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0x00000001xxxxx010xxxxxxxxxxxx0. */
- return A64_OPID_a0204000_st1w_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL2;
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0000000010xxxx0xxxxx1xxxx00xxx. */
+ return A64_OPID_80200200_fmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0000000011xxxx0xxxxx1xxxx00xxx. */
+ return A64_OPID_80300200_fmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0x00000001xxxxx110xxxxxxxxxxxx0. */
- return A64_OPID_a020c000_st1w_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM_LSL2;
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0000000010xxxx1xxxxx1xxxx00xxx. */
+ return A64_OPID_80208200_sumop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0000000011xxxx1xxxxx1xxxx00xxx. */
+ return A64_OPID_80308200_sumop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
}
}
}
else
{
- if (((word >> 14) & 0x1) == 0)
+ if (((word >> 9) & 0x1) == 0)
{
- if (((word >> 15) & 0x1) == 0)
+ if (((word >> 20) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x0x00000001xxxxx001xxxxxxxxxxxx0. */
- return A64_OPID_a0202000_st1h_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL1;
+ xx0000000010xxxxxxxxxx0xxxx10xxx. */
+ return A64_OPID_80208010_sumop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x0x00000001xxxxx101xxxxxxxxxxxx0. */
- return A64_OPID_a020a000_st1h_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM_LSL1;
+ xx0000000011xxxxxxxxxx0xxxx10xxx. */
+ return A64_OPID_80308010_sumop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
}
}
else
{
- if (((word >> 15) & 0x1) == 0)
+ if (((word >> 20) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x0x00000001xxxxx011xxxxxxxxxxxx0. */
- return A64_OPID_a0206000_st1d_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL3;
+ xx0000000010xxxxxxxxxx1xxxx10xxx. */
+ return A64_OPID_80208210_sumop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x0x00000001xxxxx111xxxxxxxxxxxx0. */
- return A64_OPID_a020e000_st1d_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM_LSL3;
+ xx0000000011xxxxxxxxxx1xxxx10xxx. */
+ return A64_OPID_80308210_sumop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
}
}
}
}
else
{
- if (((word >> 13) & 0x1) == 0)
+ if (((word >> 9) & 0x1) == 0)
{
- if (((word >> 14) & 0x1) == 0)
+ if (((word >> 20) & 0x1) == 0)
{
- if (((word >> 15) & 0x1) == 0)
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0000000010xxxxxxxxxx0xxxxx1xxx. */
+ return A64_OPID_80200008_fmop4a_SME_ZAda_1b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0000000011xxxxxxxxxx0xxxxx1xxx. */
+ return A64_OPID_80300008_fmop4a_SME_ZAda_1b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ }
+ else
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0000000010xxxxxxxxxx1xxxxx1xxx. */
+ return A64_OPID_80200208_fmop4a_SME_ZAda_1b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx0000000011xxxxxxxxxx1xxxxx1xxx. */
+ return A64_OPID_80300208_fmop4a_SME_ZAda_1b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ if (((word >> 0) & 0x1) == 0)
+ {
+ if (((word >> 13) & 0x1) == 0)
+ {
+ if (((word >> 14) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0x00000001xxxxx000xxxxxxxxxxxx1. */
- return A64_OPID_a0200001_stnt1b_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM;
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0100000001xxxxx000xxxxxxxxxxxx0. */
+ return A64_OPID_a0200000_st1b_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0100000001xxxxx100xxxxxxxxxxxx0. */
+ return A64_OPID_a0208000_st1b_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0x00000001xxxxx100xxxxxxxxxxxx1. */
- return A64_OPID_a0208001_stnt1b_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM;
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0100000001xxxxx010xxxxxxxxxxxx0. */
+ return A64_OPID_a0204000_st1w_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL2;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0100000001xxxxx110xxxxxxxxxxxx0. */
+ return A64_OPID_a020c000_st1w_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM_LSL2;
+ }
}
}
else
{
- if (((word >> 15) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0x00000001xxxxx010xxxxxxxxxxxx1. */
- return A64_OPID_a0204001_stnt1w_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL2;
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0100000001xxxxx001xxxxxxxxxxxx0. */
+ return A64_OPID_a0202000_st1h_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL1;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0100000001xxxxx101xxxxxxxxxxxx0. */
+ return A64_OPID_a020a000_st1h_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM_LSL1;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0x00000001xxxxx110xxxxxxxxxxxx1. */
- return A64_OPID_a020c001_stnt1w_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM_LSL2;
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0100000001xxxxx011xxxxxxxxxxxx0. */
+ return A64_OPID_a0206000_st1d_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0100000001xxxxx111xxxxxxxxxxxx0. */
+ return A64_OPID_a020e000_st1d_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM_LSL3;
+ }
}
}
}
else
{
- if (((word >> 14) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- if (((word >> 15) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0x00000001xxxxx001xxxxxxxxxxxx1. */
- return A64_OPID_a0202001_stnt1h_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL1;
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0100000001xxxxx000xxxxxxxxxxxx1. */
+ return A64_OPID_a0200001_stnt1b_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0100000001xxxxx100xxxxxxxxxxxx1. */
+ return A64_OPID_a0208001_stnt1b_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0x00000001xxxxx101xxxxxxxxxxxx1. */
- return A64_OPID_a020a001_stnt1h_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM_LSL1;
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0100000001xxxxx010xxxxxxxxxxxx1. */
+ return A64_OPID_a0204001_stnt1w_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL2;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0100000001xxxxx110xxxxxxxxxxxx1. */
+ return A64_OPID_a020c001_stnt1w_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM_LSL2;
+ }
}
}
else
{
- if (((word >> 15) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0x00000001xxxxx011xxxxxxxxxxxx1. */
- return A64_OPID_a0206001_stnt1d_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL3;
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0100000001xxxxx001xxxxxxxxxxxx1. */
+ return A64_OPID_a0202001_stnt1h_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL1;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0100000001xxxxx101xxxxxxxxxxxx1. */
+ return A64_OPID_a020a001_stnt1h_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM_LSL1;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0x00000001xxxxx111xxxxxxxxxxxx1. */
- return A64_OPID_a020e001_stnt1d_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM_LSL3;
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0100000001xxxxx011xxxxxxxxxxxx1. */
+ return A64_OPID_a0206001_stnt1d_SME_Zdnx2_SME_PNg3_SVE_ADDR_RM_LSL3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0100000001xxxxx111xxxxxxxxxxxx1. */
+ return A64_OPID_a020e001_stnt1d_SME_Zdnx4_SME_PNg3_SVE_ADDR_RM_LSL3;
+ }
}
}
}
}
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1x00000001xxxxxxxxxxxxxxxxxxxxx. */
- return A64_OPID_e0200000_st1b_SME_ZA_HV_idx_ldstr_SVE_Pg3_SVE_ADDR_RR;
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1100000001xxxxxxxxxxxxxxxxxxxxx. */
+ return A64_OPID_e0200000_st1b_SME_ZA_HV_idx_ldstr_SVE_Pg3_SVE_ADDR_RR;
+ }
}
}
else
{
if (((word >> 30) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0x00000111xxxxxxxxxxxxxxxx0xxxx. */
- return A64_OPID_a0e00000_sumopa_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
+ if (((word >> 3) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0x00000111xxxxxxxxxxxxxxxx00xxx. */
+ return A64_OPID_a0e00000_sumopa_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
+ }
+ else
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0x000001110xxxxxxxxxx0xxxx01xxx. */
+ return A64_OPID_a0e00008_sumop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0x000001111xxxxxxxxxx0xxxx01xxx. */
+ return A64_OPID_a0f00008_sumop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ }
+ else
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0x000001110xxxxxxxxxx1xxxx01xxx. */
+ return A64_OPID_a0e00208_sumop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0x000001111xxxxxxxxxx1xxxx01xxx. */
+ return A64_OPID_a0f00208_sumop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ }
}
else
{
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx00000111xxxxxxxxxxxxxxxx1xxxx. */
- return A64_OPID_a0e00010_sumops_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
+ if (((word >> 3) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx00000111xxxxxxxxxxxxxxxx10xxx. */
+ return A64_OPID_a0e00010_sumops_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
+ }
+ else
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx000001110xxxxxxxxxx0xxxx11xxx. */
+ return A64_OPID_a0e00018_sumop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx000001111xxxxxxxxxx0xxxx11xxx. */
+ return A64_OPID_a0f00018_sumop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ }
+ else
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx000001110xxxxxxxxxx1xxxx11xxx. */
+ return A64_OPID_a0e00218_sumop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx000001111xxxxxxxxxx1xxxx11xxx. */
+ return A64_OPID_a0f00218_sumop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ }
}
}
}
{
if (((word >> 3) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0000010000xxxxxxxxxxxxxxx000xx. */
- return A64_OPID_c1000000_smlall_SME_ZA_array_off2x4_SVE_Zn_SME_Zm_INDEX4_10;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010000xxxx0xxxxx0xxxx000xx. */
+ return A64_OPID_81000000_bfmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010000xxxx1xxxxx0xxxx000xx. */
+ return A64_OPID_81008000_usmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ }
+ else
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010000xxxx0xxxxx1xxxx000xx. */
+ return A64_OPID_81000200_bfmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010000xxxx1xxxxx1xxxx000xx. */
+ return A64_OPID_81008200_usmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x10000010000xxxxxxxxxxxxxxx000xx. */
+ return A64_OPID_c1000000_smlall_SME_ZA_array_off2x4_SVE_Zn_SME_Zm_INDEX4_10;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0000010000xxxxxxxxxxxxxxx010xx. */
- return A64_OPID_c1000008_smlsll_SME_ZA_array_off2x4_SVE_Zn_SME_Zm_INDEX4_10;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010000xxxx0xxxxx0xxxx010xx. */
+ return A64_OPID_81000008_fmop4a_SME_ZAda_1b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010000xxxx1xxxxx0xxxx010xx. */
+ return A64_OPID_81008008_umop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ }
+ else
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010000xxxx0xxxxx1xxxx010xx. */
+ return A64_OPID_81000208_fmop4a_SME_ZAda_1b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010000xxxx1xxxxx1xxxx010xx. */
+ return A64_OPID_81008208_umop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x10000010000xxxxxxxxxxxxxxx010xx. */
+ return A64_OPID_c1000008_smlsll_SME_ZA_array_off2x4_SVE_Zn_SME_Zm_INDEX4_10;
+ }
}
}
else
{
if (((word >> 15) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0000010001xxxx0xx0xxxxxx000xxx. */
- return A64_OPID_c1100000_smlall_SME_ZA_array_off1x4_SME_Znx2_SME_Zm_INDEX4_1;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010001xxxx0xx0xx0xxx000xxx. */
+ return A64_OPID_81100000_bfmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010001xxxx0xx0xx1xxx000xxx. */
+ return A64_OPID_81100200_bfmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x10000010001xxxx0xx0xxxxxx000xxx. */
+ return A64_OPID_c1100000_smlall_SME_ZA_array_off1x4_SME_Znx2_SME_Zm_INDEX4_1;
+ }
}
else
{
- if (((word >> 6) & 0x1) == 0)
+ if (((word >> 30) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0000010001xxxx1xx0xxxxx0000xxx. */
- return A64_OPID_c1108000_smlall_SME_ZA_array_off1x4_SME_Znx4_SME_Zm_INDEX4_1;
+ if (((word >> 9) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010001xxxx1xx0xx0xxx000xxx. */
+ return A64_OPID_81108000_usmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010001xxxx1xx0xx1xxx000xxx. */
+ return A64_OPID_81108200_usmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0000010001xxxx1xx0xxxxx1000xxx. */
- return A64_OPID_c1108040_fmlall_SME_ZA_array_off1x4_SME_Znx4_SME_Zm_INDEX4_1;
+ if (((word >> 6) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x10000010001xxxx1xx0xxxxx0000xxx. */
+ return A64_OPID_c1108000_smlall_SME_ZA_array_off1x4_SME_Znx4_SME_Zm_INDEX4_1;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x10000010001xxxx1xx0xxxxx1000xxx. */
+ return A64_OPID_c1108040_fmlall_SME_ZA_array_off1x4_SME_Znx4_SME_Zm_INDEX4_1;
+ }
}
}
}
{
if (((word >> 15) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0000010001xxxx0xx0xxxxxx001xxx. */
- return A64_OPID_c1100008_smlsll_SME_ZA_array_off1x4_SME_Znx2_SME_Zm_INDEX4_1;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010001xxxx0xx0xx0xxx001xxx. */
+ return A64_OPID_81100008_fmop4a_SME_ZAda_1b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010001xxxx0xx0xx1xxx001xxx. */
+ return A64_OPID_81100208_fmop4a_SME_ZAda_1b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x10000010001xxxx0xx0xxxxxx001xxx. */
+ return A64_OPID_c1100008_smlsll_SME_ZA_array_off1x4_SME_Znx2_SME_Zm_INDEX4_1;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0000010001xxxx1xx0xxxxxx001xxx. */
- return A64_OPID_c1108008_smlsll_SME_ZA_array_off1x4_SME_Znx4_SME_Zm_INDEX4_1;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010001xxxx1xx0xx0xxx001xxx. */
+ return A64_OPID_81108008_umop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010001xxxx1xx0xx1xxx001xxx. */
+ return A64_OPID_81108208_umop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x10000010001xxxx1xx0xxxxxx001xxx. */
+ return A64_OPID_c1108008_smlsll_SME_ZA_array_off1x4_SME_Znx4_SME_Zm_INDEX4_1;
+ }
}
}
}
{
if (((word >> 3) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0000010000xxxxxxxxxxxxxxx100xx. */
- return A64_OPID_c1000010_umlall_SME_ZA_array_off2x4_SVE_Zn_SME_Zm_INDEX4_10;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010000xxxx0xxxxx0xxxx100xx. */
+ return A64_OPID_81000010_bfmop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010000xxxx1xxxxx0xxxx100xx. */
+ return A64_OPID_81008010_usmop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ }
+ else
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010000xxxx0xxxxx1xxxx100xx. */
+ return A64_OPID_81000210_bfmop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010000xxxx1xxxxx1xxxx100xx. */
+ return A64_OPID_81008210_usmop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x10000010000xxxxxxxxxxxxxxx100xx. */
+ return A64_OPID_c1000010_umlall_SME_ZA_array_off2x4_SVE_Zn_SME_Zm_INDEX4_10;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0000010000xxxxxxxxxxxxxxx110xx. */
- return A64_OPID_c1000018_umlsll_SME_ZA_array_off2x4_SVE_Zn_SME_Zm_INDEX4_10;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010000xxxx0xxxxx0xxxx110xx. */
+ return A64_OPID_81000018_fmop4s_SME_ZAda_1b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010000xxxx1xxxxx0xxxx110xx. */
+ return A64_OPID_81008018_umop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ }
+ else
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010000xxxx0xxxxx1xxxx110xx. */
+ return A64_OPID_81000218_fmop4s_SME_ZAda_1b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010000xxxx1xxxxx1xxxx110xx. */
+ return A64_OPID_81008218_umop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x10000010000xxxxxxxxxxxxxxx110xx. */
+ return A64_OPID_c1000018_umlsll_SME_ZA_array_off2x4_SVE_Zn_SME_Zm_INDEX4_10;
+ }
}
}
else
{
if (((word >> 15) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0000010001xxxx0xx0xxxxxx010xxx. */
- return A64_OPID_c1100010_umlall_SME_ZA_array_off1x4_SME_Znx2_SME_Zm_INDEX4_1;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010001xxxx0xx0xx0xxx010xxx. */
+ return A64_OPID_81100010_bfmop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010001xxxx0xx0xx1xxx010xxx. */
+ return A64_OPID_81100210_bfmop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x10000010001xxxx0xx0xxxxxx010xxx. */
+ return A64_OPID_c1100010_umlall_SME_ZA_array_off1x4_SME_Znx2_SME_Zm_INDEX4_1;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0000010001xxxx1xx0xxxxxx010xxx. */
- return A64_OPID_c1108010_umlall_SME_ZA_array_off1x4_SME_Znx4_SME_Zm_INDEX4_1;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010001xxxx1xx0xx0xxx010xxx. */
+ return A64_OPID_81108010_usmop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010001xxxx1xx0xx1xxx010xxx. */
+ return A64_OPID_81108210_usmop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x10000010001xxxx1xx0xxxxxx010xxx. */
+ return A64_OPID_c1108010_umlall_SME_ZA_array_off1x4_SME_Znx4_SME_Zm_INDEX4_1;
+ }
}
}
else
{
if (((word >> 15) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0000010001xxxx0xx0xxxxxx011xxx. */
- return A64_OPID_c1100018_umlsll_SME_ZA_array_off1x4_SME_Znx2_SME_Zm_INDEX4_1;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010001xxxx0xx0xx0xxx011xxx. */
+ return A64_OPID_81100018_fmop4s_SME_ZAda_1b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010001xxxx0xx0xx1xxx011xxx. */
+ return A64_OPID_81100218_fmop4s_SME_ZAda_1b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x10000010001xxxx0xx0xxxxxx011xxx. */
+ return A64_OPID_c1100018_umlsll_SME_ZA_array_off1x4_SME_Znx2_SME_Zm_INDEX4_1;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx0000010001xxxx1xx0xxxxxx011xxx. */
- return A64_OPID_c1108018_umlsll_SME_ZA_array_off1x4_SME_Znx4_SME_Zm_INDEX4_1;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010001xxxx1xx0xx0xxx011xxx. */
+ return A64_OPID_81108018_umop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010001xxxx1xx0xx1xxx011xxx. */
+ return A64_OPID_81108218_umop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x10000010001xxxx1xx0xxxxxx011xxx. */
+ return A64_OPID_c1108018_umlsll_SME_ZA_array_off1x4_SME_Znx4_SME_Zm_INDEX4_1;
+ }
}
}
}
{
if (((word >> 30) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0100001110xxxxxxxxxxxxxxxx0xxxx. */
- return A64_OPID_a1c00000_usmopa_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
+ if (((word >> 3) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0100001110xxxxxxxxxxxxxxxx00xxx. */
+ return A64_OPID_a1c00000_usmopa_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
+ }
+ else
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x01000011100xxxxxxxxxx0xxxx01xxx. */
+ return A64_OPID_a1c00008_usmop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x01000011101xxxxxxxxxx0xxxx01xxx. */
+ return A64_OPID_a1d00008_usmop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ }
+ else
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x01000011100xxxxxxxxxx1xxxx01xxx. */
+ return A64_OPID_a1c00208_usmop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x01000011101xxxxxxxxxx1xxxx01xxx. */
+ return A64_OPID_a1d00208_usmop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ }
}
else
{
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx100001110xxxxxxxxxxxxxxxx1xxxx. */
- return A64_OPID_a1c00010_usmops_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
+ if (((word >> 3) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx100001110xxxxxxxxxxxxxxxx10xxx. */
+ return A64_OPID_a1c00010_usmops_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
+ }
+ else
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1000011100xxxxxxxxxx0xxxx11xxx. */
+ return A64_OPID_a1c00018_usmop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1000011101xxxxxxxxxx0xxxx11xxx. */
+ return A64_OPID_a1d00018_usmop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ }
+ else
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1000011100xxxxxxxxxx1xxxx11xxx. */
+ return A64_OPID_a1c00218_usmop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1000011101xxxxxxxxxx1xxxx11xxx. */
+ return A64_OPID_a1d00218_usmop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ }
}
}
}
{
if (((word >> 4) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0000001x01xxxxxxxxxxxxxxxx00xxx. */
- return A64_OPID_81a00000_fmopa_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010010xxxx0xxxxx0xxxx00xxx. */
+ return A64_OPID_81200000_fmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010011xxxx0xxxxx0xxxx00xxx. */
+ return A64_OPID_81300000_fmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ }
+ else
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010010xxxx1xxxxx0xxxx00xxx. */
+ return A64_OPID_81208000_umop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010011xxxx1xxxxx0xxxx00xxx. */
+ return A64_OPID_81308000_umop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010010xxxx0xxxxx1xxxx00xxx. */
+ return A64_OPID_81200200_fmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010011xxxx0xxxxx1xxxx00xxx. */
+ return A64_OPID_81300200_fmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ else
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010010xxxx1xxxxx1xxxx00xxx. */
+ return A64_OPID_81208200_umop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010011xxxx1xxxxx1xxxx00xxx. */
+ return A64_OPID_81308200_umop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0000001101xxxxxxxxxxxxxxxx00xxx. */
+ return A64_OPID_81a00000_fmopa_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0000001x01xxxxxxxxxxxxxxxx10xxx. */
- return A64_OPID_81a00010_fmops_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010010xxxx0xxxxx0xxxx10xxx. */
+ return A64_OPID_81200010_fmop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010011xxxx0xxxxx0xxxx10xxx. */
+ return A64_OPID_81300010_fmop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ }
+ else
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010010xxxx1xxxxx0xxxx10xxx. */
+ return A64_OPID_81208010_umop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010011xxxx1xxxxx0xxxx10xxx. */
+ return A64_OPID_81308010_umop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010010xxxx0xxxxx1xxxx10xxx. */
+ return A64_OPID_81200210_fmop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010011xxxx0xxxxx1xxxx10xxx. */
+ return A64_OPID_81300210_fmop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ else
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010010xxxx1xxxxx1xxxx10xxx. */
+ return A64_OPID_81208210_umop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010011xxxx1xxxxx1xxxx10xxx. */
+ return A64_OPID_81308210_umop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0000001101xxxxxxxxxxxxxxxx10xxx. */
+ return A64_OPID_81a00010_fmops_SME_ZAda_2b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
+ }
}
}
else
{
if (((word >> 4) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0000001x01xxxxxxxxxxxxxxxx01xxx. */
- return A64_OPID_81a00008_bfmopa_SME_ZAda_1b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010010xxxxxxxxxx0xxxx01xxx. */
+ return A64_OPID_81200008_bfmop4a_SME_ZAda_1b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010011xxxxxxxxxx0xxxx01xxx. */
+ return A64_OPID_81300008_bfmop4a_SME_ZAda_1b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ }
+ else
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010010xxxxxxxxxx1xxxx01xxx. */
+ return A64_OPID_81200208_bfmop4a_SME_ZAda_1b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010011xxxxxxxxxx1xxxx01xxx. */
+ return A64_OPID_81300208_bfmop4a_SME_ZAda_1b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0000001101xxxxxxxxxxxxxxxx01xxx. */
+ return A64_OPID_81a00008_bfmopa_SME_ZAda_1b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0000001x01xxxxxxxxxxxxxxxx11xxx. */
- return A64_OPID_81a00018_bfmops_SME_ZAda_1b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
+ if (((word >> 23) & 0x1) == 0)
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010010xxxxxxxxxx0xxxx11xxx. */
+ return A64_OPID_81200018_bfmop4s_SME_ZAda_1b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010011xxxxxxxxxx0xxxx11xxx. */
+ return A64_OPID_81300018_bfmop4s_SME_ZAda_1b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ }
+ else
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010010xxxxxxxxxx1xxxx11xxx. */
+ return A64_OPID_81200218_bfmop4s_SME_ZAda_1b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x00000010011xxxxxxxxxx1xxxx11xxx. */
+ return A64_OPID_81300218_bfmop4s_SME_ZAda_1b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0000001101xxxxxxxxxxxxxxxx11xxx. */
+ return A64_OPID_81a00018_bfmops_SME_ZAda_1b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
+ }
}
}
else
{
if (((word >> 30) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x0100001111xxxxxxxxxxxxxxxx0xxxx. */
- return A64_OPID_a1e00000_umopa_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
+ if (((word >> 3) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0100001111xxxxxxxxxxxxxxxx00xxx. */
+ return A64_OPID_a1e00000_umopa_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
+ }
+ else
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x01000011110xxxxxxxxxx0xxxx01xxx. */
+ return A64_OPID_a1e00008_umop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x01000011111xxxxxxxxxx0xxxx01xxx. */
+ return A64_OPID_a1f00008_umop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ }
+ else
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x01000011110xxxxxxxxxx1xxxx01xxx. */
+ return A64_OPID_a1e00208_umop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x01000011111xxxxxxxxxx1xxxx01xxx. */
+ return A64_OPID_a1f00208_umop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ }
}
else
{
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx100001111xxxxxxxxxxxxxxxx1xxxx. */
- return A64_OPID_a1e00010_umops_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
+ if (((word >> 3) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx100001111xxxxxxxxxxxxxxxx10xxx. */
+ return A64_OPID_a1e00010_umops_SME_ZAda_3b_SVE_Pg3_SME_Pm_SVE_Zn_SVE_Zm_16;
+ }
+ else
+ {
+ if (((word >> 9) & 0x1) == 0)
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1000011110xxxxxxxxxx0xxxx11xxx. */
+ return A64_OPID_a1e00018_umop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1000011111xxxxxxxxxx0xxxx11xxx. */
+ return A64_OPID_a1f00018_umop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3;
+ }
+ }
+ else
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1000011110xxxxxxxxxx1xxxx11xxx. */
+ return A64_OPID_a1e00218_umop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx1000011111xxxxxxxxxx1xxxx11xxx. */
+ return A64_OPID_a1f00218_umop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3;
+ }
+ }
+ }
}
}
}
case AARCH64_OPND_SVE_Zt:
case AARCH64_OPND_SME_Zm:
case AARCH64_OPND_SME_Zm_17:
+ case AARCH64_OPND_SME_Zn_6_3:
+ case AARCH64_OPND_SME_Zm_17_3:
case AARCH64_OPND_SME_ZAda_1b:
case AARCH64_OPND_SME_ZAda_2b:
case AARCH64_OPND_SME_ZAda_3b:
return aarch64_ext_sve_reglist (self, info, code, inst, errors);
case AARCH64_OPND_SME_Zdnx2:
case AARCH64_OPND_SME_Zdnx4:
+ case AARCH64_OPND_SME_Znx2_6_3:
+ case AARCH64_OPND_SME_Zmx2_17_3:
case AARCH64_OPND_SME_Zmx2:
case AARCH64_OPND_SME_Zmx4:
case AARCH64_OPND_SME_Znx2:
{AARCH64_OPND_CLASS_SVE_REGLIST, "SME_Zdnx4", 4 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SME_Zdn4, FLD_CONST_00}, "a list of SVE vector registers"},
{AARCH64_OPND_CLASS_SVE_REG, "SME_Zm", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SME_Zm}, "an SVE vector register"},
{AARCH64_OPND_CLASS_SVE_REG, "SME_Zm_17", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SME_Zm2}, "an SVE vector register"},
+ {AARCH64_OPND_CLASS_SVE_REG, "SME_Zn_6_3", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_CONST_0, FLD_SME_Zn6_3, FLD_CONST_0}, "an SVE vector register"},
+ {AARCH64_OPND_CLASS_SVE_REG, "SME_Zm_17_3", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_CONST_1, FLD_SME_Zm17_3, FLD_CONST_0}, "an SVE vector register"},
+ {AARCH64_OPND_CLASS_SVE_REGLIST, "SME_Znx2_6_3", 2 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_CONST_0, FLD_SME_Zn6_3, FLD_CONST_0}, "a list of SVE vector registers"},
+ {AARCH64_OPND_CLASS_SVE_REGLIST, "SME_Zmx2_17_3", 2 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_CONST_1, FLD_SME_Zm17_3, FLD_CONST_0}, "a list of SVE vector registers"},
{AARCH64_OPND_CLASS_SVE_REGLIST, "SME_Zmx2", 2 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SME_Zm2, FLD_CONST_0}, "a list of SVE vector registers"},
{AARCH64_OPND_CLASS_SVE_REGLIST, "SME_Zmx4", 4 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SME_Zm4, FLD_CONST_00}, "a list of SVE vector registers"},
{AARCH64_OPND_CLASS_SVE_REGLIST, "SME_Znx2", 2 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SME_Zn2, FLD_CONST_0}, "a list of SVE vector registers"},
AARCH64_FIELD ( 1, 4), /* SME_Zdn2: Z0-Z31, multiple of 2, bits [4:1]. */
AARCH64_FIELD ( 2, 3), /* SME_Zdn4: Z0-Z31, multiple of 4, bits [4:2]. */
AARCH64_FIELD (16, 4), /* SME_Zm: Z0-Z15, bits [19:16]. */
+ AARCH64_FIELD (17, 3), /* SME_Zm17_3: Z0-Z15/Z16-Z31, multiple of 2, bits [19:17]. */
AARCH64_FIELD (17, 4), /* SME_Zm2: Z0-Z31, multiple of 2, bits [20:17]. */
AARCH64_FIELD (18, 3), /* SME_Zm4: Z0-Z31, multiple of 4, bits [20:18]. */
AARCH64_FIELD ( 6, 4), /* SME_Zn2: Z0-Z31, multiple of 2, bits [9:6]. */
AARCH64_FIELD ( 7, 3), /* SME_Zn4: Z0-Z31, multiple of 4, bits [9:7]. */
+ AARCH64_FIELD ( 6, 3), /* SME_Zn6_3: Z0-Z15/Z16-Z31, multiple of 2, bits [8:6]. */
AARCH64_FIELD ( 4, 1), /* SME_ZtT: upper bit of Zt, bit [4]. */
AARCH64_FIELD ( 0, 3), /* SME_Zt3: lower 3 bits of Zt, bits [2:0]. */
AARCH64_FIELD ( 0, 2), /* SME_Zt2: lower 2 bits of Zt, bits [1:0]. */
}
break;
+ case AARCH64_OPND_SME_Zn_6_3:
+ if (opnd->reg.regno > 15 || opnd->reg.regno % 2 != 0)
+ {
+ set_other_error (mismatch_detail, idx,
+ _("register out of range"));
+ return false;
+ }
+ break;
+
+ case AARCH64_OPND_SME_Zm_17_3:
+ if (opnd->reg.regno < 16 || opnd->reg.regno % 2 != 0)
+ {
+ set_other_error (mismatch_detail, idx,
+ _("register out of range"));
+ return false;
+ }
+ break;
+
case AARCH64_OPND_SME_PnT_Wm_imm:
size = aarch64_get_qualifier_esize (opnd->qualifier);
max_value = 16 / size - 1;
case AARCH64_OPND_SME_Pdx2:
case AARCH64_OPND_SME_Zdnx2:
case AARCH64_OPND_SME_Zdnx4:
+ case AARCH64_OPND_SME_Znx2_6_3:
+ case AARCH64_OPND_SME_Zmx2_17_3:
case AARCH64_OPND_SME_Zmx2:
case AARCH64_OPND_SME_Zmx4:
case AARCH64_OPND_SME_Znx2:
num = get_operand_specific_data (&aarch64_operands[type]);
if (!check_reglist (opnd, mismatch_detail, idx, num, 1))
return false;
- if ((opnd->reglist.first_regno % num) != 0)
+ if (((opnd->reglist.first_regno % num) != 0)
+ || (type == AARCH64_OPND_SME_Znx2_6_3
+ && opnd->reglist.first_regno > 15)
+ || (type == AARCH64_OPND_SME_Zmx2_17_3
+ && opnd->reglist.first_regno < 16))
{
set_other_error (mismatch_detail, idx,
_("start register out of range"));
case AARCH64_OPND_SVE_Zt:
case AARCH64_OPND_SME_Zm:
case AARCH64_OPND_SME_Zm_17:
+ case AARCH64_OPND_SME_Zn_6_3:
+ case AARCH64_OPND_SME_Zm_17_3:
if (opnd->qualifier == AARCH64_OPND_QLF_NIL)
snprintf (buf, size, "%s", style_reg (styler, "z%d", opnd->reg.regno));
else
case AARCH64_OPND_SVE_ZtxN:
case AARCH64_OPND_SME_Zdnx2:
case AARCH64_OPND_SME_Zdnx4:
+ case AARCH64_OPND_SME_Znx2_6_3:
+ case AARCH64_OPND_SME_Zmx2_17_3:
case AARCH64_OPND_SME_Zmx2:
case AARCH64_OPND_SME_Zmx4:
case AARCH64_OPND_SME_Znx2:
FLD_SME_Zdn2,
FLD_SME_Zdn4,
FLD_SME_Zm,
+ FLD_SME_Zm17_3,
FLD_SME_Zm2,
FLD_SME_Zm4,
FLD_SME_Zn2,
FLD_SME_Zn4,
+ FLD_SME_Zn6_3,
FLD_SME_ZtT,
FLD_SME_Zt3,
FLD_SME_Zt2,
A64_OPID_81408000_ustmopa_SME_ZAda_2b_SME_Znx2_SVE_Zm_16_SME_Zk_INDEX,
A64_OPID_81408008_utmopa_SME_ZAda_2b_SME_Znx2_SVE_Zm_16_SME_Zk_INDEX,
A64_OPID_81608000_utmopa_SME_ZAda_2b_SME_Znx2_SVE_Zm_16_SME_Zk_INDEX,
+ A64_OPID_81300008_bfmop4a_SME_ZAda_1b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_81200008_bfmop4a_SME_ZAda_1b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_81200208_bfmop4a_SME_ZAda_1b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_81300208_bfmop4a_SME_ZAda_1b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_81100000_bfmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_81000000_bfmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_81000200_bfmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_81100200_bfmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_81300018_bfmop4s_SME_ZAda_1b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_81200018_bfmop4s_SME_ZAda_1b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_81200218_bfmop4s_SME_ZAda_1b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_81300218_bfmop4s_SME_ZAda_1b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_81100010_bfmop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_81000010_bfmop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_81000210_bfmop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_81100210_bfmop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_81100008_fmop4a_SME_ZAda_1b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_81000008_fmop4a_SME_ZAda_1b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_81000208_fmop4a_SME_ZAda_1b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_81100208_fmop4a_SME_ZAda_1b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_80100000_fmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_80000000_fmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_80000200_fmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_80100200_fmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_80d00008_fmop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_80c00008_fmop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_80c00208_fmop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_80d00208_fmop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_81300000_fmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_81200000_fmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_81200200_fmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_81300200_fmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_80300008_fmop4a_SME_ZAda_1b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_80200008_fmop4a_SME_ZAda_1b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_80200208_fmop4a_SME_ZAda_1b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_80300208_fmop4a_SME_ZAda_1b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_80300000_fmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_80200000_fmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_80200200_fmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_80300200_fmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_81100018_fmop4s_SME_ZAda_1b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_81000018_fmop4s_SME_ZAda_1b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_81000218_fmop4s_SME_ZAda_1b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_81100218_fmop4s_SME_ZAda_1b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_80100010_fmop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_80000010_fmop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_80000210_fmop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_80100210_fmop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_80d00018_fmop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_80c00018_fmop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_80c00218_fmop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_80d00218_fmop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_81300010_fmop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_81200010_fmop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_81200210_fmop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_81300210_fmop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_80108008_smop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_80008008_smop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_80008208_smop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_80108208_smop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_80108000_smop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_80008000_smop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_80008200_smop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_80108200_smop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_a0d00008_smop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_a0c00008_smop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_a0c00208_smop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_a0d00208_smop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_80108018_smop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_80008018_smop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_80008218_smop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_80108218_smop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_80108010_smop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_80008010_smop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_80008210_smop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_80108210_smop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_a0d00018_smop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_a0c00018_smop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_a0c00218_smop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_a0d00218_smop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_80308000_sumop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_80208000_sumop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_80208200_sumop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_80308200_sumop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_a0f00008_sumop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_a0e00008_sumop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_a0e00208_sumop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_a0f00208_sumop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_80308010_sumop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_80208010_sumop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_80208210_sumop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_80308210_sumop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_a0f00018_sumop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_a0e00018_sumop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_a0e00218_sumop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_a0f00218_sumop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_81108008_umop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_81008008_umop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_81008208_umop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_81108208_umop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_81308000_umop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_81208000_umop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_81208200_umop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_81308200_umop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_a1f00008_umop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_a1e00008_umop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_a1e00208_umop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_a1f00208_umop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_81108018_umop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_81008018_umop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_81008218_umop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_81108218_umop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_81308010_umop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_81208010_umop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_81208210_umop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_81308210_umop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_a1f00018_umop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_a1e00018_umop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_a1e00218_umop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_a1f00218_umop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_81108000_usmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_81008000_usmop4a_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_81008200_usmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_81108200_usmop4a_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_a1d00008_usmop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_a1c00008_usmop4a_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_a1c00208_usmop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_a1d00208_usmop4a_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_81108010_usmop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_81008010_usmop4s_SME_ZAda_2b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_81008210_usmop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_81108210_usmop4s_SME_ZAda_2b_SME_Znx2_6_3_SME_Zmx2_17_3,
+ A64_OPID_a1d00018_usmop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zmx2_17_3,
+ A64_OPID_a1c00018_usmop4s_SME_ZAda_3b_SME_Zn_6_3_SME_Zm_17_3,
+ A64_OPID_a1c00218_usmop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zm_17_3,
+ A64_OPID_a1d00218_usmop4s_SME_ZAda_3b_SME_Znx2_6_3_SME_Zmx2_17_3,
A64_OPID_MAX,
};
{ \
QLF2(S_B,S_S), \
}
+#define OP_SVE_HBB \
+{ \
+ QLF3(S_H,S_B,S_B), \
+}
#define OP_SVE_HBBU \
{ \
QLF4(S_H,S_B,S_B,NIL), \
AARCH64_FEATURES (2, SME_TMOP, SME_F8F16);
static const aarch64_feature_set aarch64_feature_sme_tmop_f8f32 =
AARCH64_FEATURES (2, SME_TMOP, SME_F8F32);
+static const aarch64_feature_set aarch64_feature_sme_mop4 =
+ AARCH64_FEATURE (SME_MOP4);
+static const aarch64_feature_set aarch64_feature_sme_mop4_b16b16 =
+ AARCH64_FEATURES (2, SME_MOP4, SME_B16B16);
+static const aarch64_feature_set aarch64_feature_sme_mop4_f16f16 =
+ AARCH64_FEATURES (2, SME_MOP4, SME_F16F16);
+static const aarch64_feature_set aarch64_feature_sme_mop4_f64f64 =
+ AARCH64_FEATURES (2, SME_MOP4, SME_F64F64);
+static const aarch64_feature_set aarch64_feature_sme_mop4_f8f16 =
+ AARCH64_FEATURES (2, SME_MOP4, SME_F8F16);
+static const aarch64_feature_set aarch64_feature_sme_mop4_f8f32 =
+ AARCH64_FEATURES (2, SME_MOP4, SME_F8F32);
+static const aarch64_feature_set aarch64_feature_sme_mop4_i16i64 =
+ AARCH64_FEATURES (2, SME_MOP4, SME_I16I64);
#define CORE &aarch64_feature_v8
#define FP &aarch64_feature_fp
#define SME_TMOP_F16F16 &aarch64_feature_sme_tmop_f16f16
#define SME_TMOP_F8F16 &aarch64_feature_sme_tmop_f8f16
#define SME_TMOP_F8F32 &aarch64_feature_sme_tmop_f8f32
+#define SME_MOP4 &aarch64_feature_sme_mop4
+#define SME_MOP4_B16B16 &aarch64_feature_sme_mop4_b16b16
+#define SME_MOP4_F16F16 &aarch64_feature_sme_mop4_f16f16
+#define SME_MOP4_F64F64 &aarch64_feature_sme_mop4_f64f64
+#define SME_MOP4_F8F16 &aarch64_feature_sme_mop4_f8f16
+#define SME_MOP4_F8F32 &aarch64_feature_sme_mop4_f8f32
+#define SME_MOP4_I16I64 &aarch64_feature_sme_mop4_i16i64
#define CORE_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS) \
{ NAME, OPCODE, MASK, CLASS, OP, CORE, OPS, QUALS, FLAGS | F_INVALID_IMM_SYMS_1, 0, 0, NULL }
#define SME_TMOP_F8F32_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS,TIED) \
{ NAME, OPCODE, MASK, CLASS, 0, SME_TMOP_F8F32, OPS, QUALS, \
FLAGS | F_STRICT, 0, TIED, NULL }
+#define SME_MOP4_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS,TIED) \
+ { NAME, OPCODE, MASK, CLASS, 0, SME_MOP4, OPS, QUALS, \
+ FLAGS | F_STRICT, 0, TIED, NULL }
+#define SME_MOP4_B16B16_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS,TIED) \
+ { NAME, OPCODE, MASK, CLASS, 0, SME_MOP4_B16B16, OPS, QUALS, \
+ FLAGS | F_STRICT, 0, TIED, NULL }
+#define SME_MOP4_F16F16_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS,TIED) \
+ { NAME, OPCODE, MASK, CLASS, 0, SME_MOP4_F16F16, OPS, QUALS, \
+ FLAGS | F_STRICT, 0, TIED, NULL }
+#define SME_MOP4_F64F64_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS,TIED) \
+ { NAME, OPCODE, MASK, CLASS, 0, SME_MOP4_F64F64, OPS, QUALS, \
+ FLAGS | F_STRICT, 0, TIED, NULL }
+#define SME_MOP4_F8F16_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS,TIED) \
+ { NAME, OPCODE, MASK, CLASS, 0, SME_MOP4_F8F16, OPS, QUALS, \
+ FLAGS | F_STRICT, 0, TIED, NULL }
+#define SME_MOP4_F8F32_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS,TIED) \
+ { NAME, OPCODE, MASK, CLASS, 0, SME_MOP4_F8F32, OPS, QUALS, \
+ FLAGS | F_STRICT, 0, TIED, NULL }
+#define SME_MOP4_I16I64_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS,TIED) \
+ { NAME, OPCODE, MASK, CLASS, 0, SME_MOP4_I16I64, OPS, QUALS, \
+ FLAGS | F_STRICT, 0, TIED, NULL }
#define MOPS_CPY_OP1_OP2_PME_INSN(NAME, OPCODE, MASK, FLAGS, CONSTRAINTS) \
MOPS_INSN (NAME, OPCODE, MASK, 0, \
SME_TMOP_INSN ("utmopa", 0x81408008, 0xffe0e00c, sme_misc, OP4 (SME_ZAda_2b, SME_Znx2, SVE_Zm_16, SME_Zk_INDEX), OP_SVE_SHHU, 0, 0),
SME_TMOP_INSN ("utmopa", 0x81608000, 0xffe0e00c, sme_misc, OP4 (SME_ZAda_2b, SME_Znx2, SVE_Zm_16, SME_Zk_INDEX), OP_SVE_SBBU, 0, 0),
+ /* SME MOP4 instructions. */
+ SME_MOP4_B16B16_INSN ("bfmop4a", 0x81300008, 0xfff1fe3e, sme_misc, OP3 (SME_ZAda_1b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_HHH, 0, 0),
+ SME_MOP4_B16B16_INSN ("bfmop4a", 0x81200008, 0xfff1fe3e, sme_misc, OP3 (SME_ZAda_1b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_HHH, 0, 0),
+ SME_MOP4_B16B16_INSN ("bfmop4a", 0x81200208, 0xfff1fe3e, sme_misc, OP3 (SME_ZAda_1b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_HHH, 0, 0),
+ SME_MOP4_B16B16_INSN ("bfmop4a", 0x81300208, 0xfff1fe3e, sme_misc, OP3 (SME_ZAda_1b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_HHH, 0, 0),
+ SME_MOP4_INSN ("bfmop4a", 0x81100000, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("bfmop4a", 0x81000000, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("bfmop4a", 0x81000200, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("bfmop4a", 0x81100200, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_B16B16_INSN ("bfmop4s", 0x81300018, 0xfff1fe3e, sme_misc, OP3 (SME_ZAda_1b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_HHH, 0, 0),
+ SME_MOP4_B16B16_INSN ("bfmop4s", 0x81200018, 0xfff1fe3e, sme_misc, OP3 (SME_ZAda_1b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_HHH, 0, 0),
+ SME_MOP4_B16B16_INSN ("bfmop4s", 0x81200218, 0xfff1fe3e, sme_misc, OP3 (SME_ZAda_1b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_HHH, 0, 0),
+ SME_MOP4_B16B16_INSN ("bfmop4s", 0x81300218, 0xfff1fe3e, sme_misc, OP3 (SME_ZAda_1b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_HHH, 0, 0),
+ SME_MOP4_INSN ("bfmop4s", 0x81100010, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("bfmop4s", 0x81000010, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("bfmop4s", 0x81000210, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("bfmop4s", 0x81100210, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_F16F16_INSN ("fmop4a", 0x81100008, 0xfff1fe3e, sme_misc, OP3 (SME_ZAda_1b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_HHH, 0, 0),
+ SME_MOP4_F16F16_INSN ("fmop4a", 0x81000008, 0xfff1fe3e, sme_misc, OP3 (SME_ZAda_1b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_HHH, 0, 0),
+ SME_MOP4_F16F16_INSN ("fmop4a", 0x81000208, 0xfff1fe3e, sme_misc, OP3 (SME_ZAda_1b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_HHH, 0, 0),
+ SME_MOP4_F16F16_INSN ("fmop4a", 0x81100208, 0xfff1fe3e, sme_misc, OP3 (SME_ZAda_1b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_HHH, 0, 0),
+ SME_MOP4_INSN ("fmop4a", 0x80100000, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_SSS, 0, 0),
+ SME_MOP4_INSN ("fmop4a", 0x80000000, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_SSS, 0, 0),
+ SME_MOP4_INSN ("fmop4a", 0x80000200, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_SSS, 0, 0),
+ SME_MOP4_INSN ("fmop4a", 0x80100200, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_SSS, 0, 0),
+ SME_MOP4_F64F64_INSN ("fmop4a", 0x80d00008, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_DDD, 0, 0),
+ SME_MOP4_F64F64_INSN ("fmop4a", 0x80c00008, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_DDD, 0, 0),
+ SME_MOP4_F64F64_INSN ("fmop4a", 0x80c00208, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_DDD, 0, 0),
+ SME_MOP4_F64F64_INSN ("fmop4a", 0x80d00208, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_DDD, 0, 0),
+ SME_MOP4_INSN ("fmop4a", 0x81300000, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("fmop4a", 0x81200000, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("fmop4a", 0x81200200, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("fmop4a", 0x81300200, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_F8F16_INSN ("fmop4a", 0x80300008, 0xfff1fe3e, sme_misc, OP3 (SME_ZAda_1b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_HBB, 0, 0),
+ SME_MOP4_F8F16_INSN ("fmop4a", 0x80200008, 0xfff1fe3e, sme_misc, OP3 (SME_ZAda_1b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_HBB, 0, 0),
+ SME_MOP4_F8F16_INSN ("fmop4a", 0x80200208, 0xfff1fe3e, sme_misc, OP3 (SME_ZAda_1b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_HBB, 0, 0),
+ SME_MOP4_F8F16_INSN ("fmop4a", 0x80300208, 0xfff1fe3e, sme_misc, OP3 (SME_ZAda_1b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_HBB, 0, 0),
+ SME_MOP4_F8F32_INSN ("fmop4a", 0x80300000, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_F8F32_INSN ("fmop4a", 0x80200000, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_F8F32_INSN ("fmop4a", 0x80200200, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_F8F32_INSN ("fmop4a", 0x80300200, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_F16F16_INSN ("fmop4s", 0x81100018, 0xfff1fe3e, sme_misc, OP3 (SME_ZAda_1b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_HHH, 0, 0),
+ SME_MOP4_F16F16_INSN ("fmop4s", 0x81000018, 0xfff1fe3e, sme_misc, OP3 (SME_ZAda_1b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_HHH, 0, 0),
+ SME_MOP4_F16F16_INSN ("fmop4s", 0x81000218, 0xfff1fe3e, sme_misc, OP3 (SME_ZAda_1b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_HHH, 0, 0),
+ SME_MOP4_F16F16_INSN ("fmop4s", 0x81100218, 0xfff1fe3e, sme_misc, OP3 (SME_ZAda_1b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_HHH, 0, 0),
+ SME_MOP4_INSN ("fmop4s", 0x80100010, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_SSS, 0, 0),
+ SME_MOP4_INSN ("fmop4s", 0x80000010, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_SSS, 0, 0),
+ SME_MOP4_INSN ("fmop4s", 0x80000210, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_SSS, 0, 0),
+ SME_MOP4_INSN ("fmop4s", 0x80100210, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_SSS, 0, 0),
+ SME_MOP4_F64F64_INSN ("fmop4s", 0x80d00018, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_DDD, 0, 0),
+ SME_MOP4_F64F64_INSN ("fmop4s", 0x80c00018, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_DDD, 0, 0),
+ SME_MOP4_F64F64_INSN ("fmop4s", 0x80c00218, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_DDD, 0, 0),
+ SME_MOP4_F64F64_INSN ("fmop4s", 0x80d00218, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_DDD, 0, 0),
+ SME_MOP4_INSN ("fmop4s", 0x81300010, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("fmop4s", 0x81200010, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("fmop4s", 0x81200210, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("fmop4s", 0x81300210, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("smop4a", 0x80108008, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("smop4a", 0x80008008, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("smop4a", 0x80008208, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("smop4a", 0x80108208, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("smop4a", 0x80108000, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_INSN ("smop4a", 0x80008000, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_INSN ("smop4a", 0x80008200, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_INSN ("smop4a", 0x80108200, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_I16I64_INSN ("smop4a", 0xa0d00008, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_I16I64_INSN ("smop4a", 0xa0c00008, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_I16I64_INSN ("smop4a", 0xa0c00208, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_I16I64_INSN ("smop4a", 0xa0d00208, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_INSN ("smop4s", 0x80108018, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("smop4s", 0x80008018, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("smop4s", 0x80008218, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("smop4s", 0x80108218, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("smop4s", 0x80108010, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_INSN ("smop4s", 0x80008010, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_INSN ("smop4s", 0x80008210, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_INSN ("smop4s", 0x80108210, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_I16I64_INSN ("smop4s", 0xa0d00018, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_I16I64_INSN ("smop4s", 0xa0c00018, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_I16I64_INSN ("smop4s", 0xa0c00218, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_I16I64_INSN ("smop4s", 0xa0d00218, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_INSN ("sumop4a", 0x80308000, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_INSN ("sumop4a", 0x80208000, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_INSN ("sumop4a", 0x80208200, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_INSN ("sumop4a", 0x80308200, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_I16I64_INSN ("sumop4a", 0xa0f00008, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_I16I64_INSN ("sumop4a", 0xa0e00008, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_I16I64_INSN ("sumop4a", 0xa0e00208, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_I16I64_INSN ("sumop4a", 0xa0f00208, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_INSN ("sumop4s", 0x80308010, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_INSN ("sumop4s", 0x80208010, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_INSN ("sumop4s", 0x80208210, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_INSN ("sumop4s", 0x80308210, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_I16I64_INSN ("sumop4s", 0xa0f00018, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_I16I64_INSN ("sumop4s", 0xa0e00018, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_I16I64_INSN ("sumop4s", 0xa0e00218, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_I16I64_INSN ("sumop4s", 0xa0f00218, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_INSN ("umop4a", 0x81108008, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("umop4a", 0x81008008, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("umop4a", 0x81008208, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("umop4a", 0x81108208, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("umop4a", 0x81308000, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_INSN ("umop4a", 0x81208000, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_INSN ("umop4a", 0x81208200, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_INSN ("umop4a", 0x81308200, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_I16I64_INSN ("umop4a", 0xa1f00008, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_I16I64_INSN ("umop4a", 0xa1e00008, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_I16I64_INSN ("umop4a", 0xa1e00208, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_I16I64_INSN ("umop4a", 0xa1f00208, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_INSN ("umop4s", 0x81108018, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("umop4s", 0x81008018, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("umop4s", 0x81008218, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("umop4s", 0x81108218, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_SHH, 0, 0),
+ SME_MOP4_INSN ("umop4s", 0x81308010, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_INSN ("umop4s", 0x81208010, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_INSN ("umop4s", 0x81208210, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_INSN ("umop4s", 0x81308210, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_I16I64_INSN ("umop4s", 0xa1f00018, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_I16I64_INSN ("umop4s", 0xa1e00018, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_I16I64_INSN ("umop4s", 0xa1e00218, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_I16I64_INSN ("umop4s", 0xa1f00218, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_INSN ("usmop4a", 0x81108000, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_INSN ("usmop4a", 0x81008000, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_INSN ("usmop4a", 0x81008200, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_INSN ("usmop4a", 0x81108200, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_I16I64_INSN ("usmop4a", 0xa1d00008, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_I16I64_INSN ("usmop4a", 0xa1c00008, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_I16I64_INSN ("usmop4a", 0xa1c00208, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_I16I64_INSN ("usmop4a", 0xa1d00208, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_INSN ("usmop4s", 0x81108010, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_INSN ("usmop4s", 0x81008010, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_INSN ("usmop4s", 0x81008210, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_INSN ("usmop4s", 0x81108210, 0xfff1fe3c, sme_misc, OP3 (SME_ZAda_2b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_SBB, 0, 0),
+ SME_MOP4_I16I64_INSN ("usmop4s", 0xa1d00018, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Zn_6_3, SME_Zmx2_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_I16I64_INSN ("usmop4s", 0xa1c00018, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Zn_6_3, SME_Zm_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_I16I64_INSN ("usmop4s", 0xa1c00218, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Znx2_6_3, SME_Zm_17_3), OP_SVE_DHH, 0, 0),
+ SME_MOP4_I16I64_INSN ("usmop4s", 0xa1d00218, 0xfff1fe38, sme_misc, OP3 (SME_ZAda_3b, SME_Znx2_6_3, SME_Zmx2_17_3), OP_SVE_DHH, 0, 0),
+
{0, 0, 0, 0, 0, 0, {}, {}, 0, 0, 0, NULL},
};
"an SVE vector register") \
Y(SVE_REG, regno, "SME_Zm_17", 0, F(FLD_SME_Zm2), \
"an SVE vector register") \
+ Y(SVE_REG, regno, "SME_Zn_6_3", 0, \
+ F(FLD_CONST_0, FLD_SME_Zn6_3, FLD_CONST_0), \
+ "an SVE vector register") \
+ Y(SVE_REG, regno, "SME_Zm_17_3", 0, \
+ F(FLD_CONST_1, FLD_SME_Zm17_3, FLD_CONST_0), \
+ "an SVE vector register") \
+ Y(SVE_REGLIST, sve_aligned_reglist, "SME_Znx2_6_3", \
+ 2 << OPD_F_OD_LSB, F(FLD_CONST_0, FLD_SME_Zn6_3, FLD_CONST_0), \
+ "a list of SVE vector registers") \
+ Y(SVE_REGLIST, sve_aligned_reglist, "SME_Zmx2_17_3", \
+ 2 << OPD_F_OD_LSB, F(FLD_CONST_1, FLD_SME_Zm17_3, FLD_CONST_0), \
+ "a list of SVE vector registers") \
Y(SVE_REGLIST, sve_aligned_reglist, "SME_Zmx2", 2 << OPD_F_OD_LSB, \
F(FLD_SME_Zm2, FLD_CONST_0), "a list of SVE vector registers") \
Y(SVE_REGLIST, sve_aligned_reglist, "SME_Zmx4", 4 << OPD_F_OD_LSB, \