[AArch64] Replace sme-i64 by sme-i16i64 and sme-f64 by sme-f64f64
authorCaroline Concatto <caroline.concatto@arm.com>
Wed, 19 Oct 2022 09:43:37 +0000 (10:43 +0100)
committerCaroline Concatto <caroline.concatto@arm.com>
Wed, 19 Oct 2022 09:56:46 +0000 (10:56 +0100)
The names in developer.arm for these SME features are:
  HaveSMEI16I64 and HaveSMEF64F64
so the new flag names are consistent with the documentation page

Reviewed By: sdesmalen, c-rhodes

Differential Revision: https://reviews.llvm.org/D135974

38 files changed:
llvm/include/llvm/Support/AArch64TargetParser.def
llvm/include/llvm/Support/AArch64TargetParser.h
llvm/lib/Target/AArch64/AArch64.td
llvm/lib/Target/AArch64/AArch64InstrInfo.td
llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
llvm/lib/Target/AArch64/SMEInstrFormats.td
llvm/test/CodeGen/AArch64/sme-intrinsics-add.ll
llvm/test/CodeGen/AArch64/sme-intrinsics-mopa.ll
llvm/test/CodeGen/AArch64/sme-intrinsics-mops.ll
llvm/test/MC/AArch64/SME/addha-diagnostics.s
llvm/test/MC/AArch64/SME/addha-u64.s
llvm/test/MC/AArch64/SME/addva-diagnostics.s
llvm/test/MC/AArch64/SME/addva-u64.s
llvm/test/MC/AArch64/SME/directives-negative.s
llvm/test/MC/AArch64/SME/directives.s
llvm/test/MC/AArch64/SME/feature.s
llvm/test/MC/AArch64/SME/fmopa-diagnostics.s
llvm/test/MC/AArch64/SME/fmopa-fp64.s
llvm/test/MC/AArch64/SME/fmops-diagnostics.s
llvm/test/MC/AArch64/SME/fmops-fp64.s
llvm/test/MC/AArch64/SME/smopa-64.s
llvm/test/MC/AArch64/SME/smopa-diagnostics.s
llvm/test/MC/AArch64/SME/smops-64.s
llvm/test/MC/AArch64/SME/smops-diagnostics.s
llvm/test/MC/AArch64/SME/sumopa-64.s
llvm/test/MC/AArch64/SME/sumopa-diagnostics.s
llvm/test/MC/AArch64/SME/sumops-64.s
llvm/test/MC/AArch64/SME/sumops-diagnostics.s
llvm/test/MC/AArch64/SME/umopa-64.s
llvm/test/MC/AArch64/SME/umopa-diagnostics.s
llvm/test/MC/AArch64/SME/umops-64.s
llvm/test/MC/AArch64/SME/umops-diagnostics.s
llvm/test/MC/AArch64/SME/usmopa-64.s
llvm/test/MC/AArch64/SME/usmopa-diagnostics.s
llvm/test/MC/AArch64/SME/usmops-64.s
llvm/test/MC/AArch64/SME/usmops-diagnostics.s
llvm/unittests/Support/TargetParserTest.cpp

index b0745c3..e5cb9b8 100644 (file)
@@ -144,8 +144,8 @@ AARCH64_ARCH_EXT_NAME("brbe",         AArch64::AEK_BRBE,        "+brbe",
 AARCH64_ARCH_EXT_NAME("pauth",        AArch64::AEK_PAUTH,       "+pauth",        "-pauth")
 AARCH64_ARCH_EXT_NAME("flagm",        AArch64::AEK_FLAGM,       "+flagm",        "-flagm")
 AARCH64_ARCH_EXT_NAME("sme",          AArch64::AEK_SME,         "+sme",          "-sme")
-AARCH64_ARCH_EXT_NAME("sme-f64",      AArch64::AEK_SMEF64,      "+sme-f64",      "-sme-f64")
-AARCH64_ARCH_EXT_NAME("sme-i64",      AArch64::AEK_SMEI64,      "+sme-i64",      "-sme-i64")
+AARCH64_ARCH_EXT_NAME("sme-f64f64",   AArch64::AEK_SMEF64F64,   "+sme-f64f64",   "-sme-f64f64")
+AARCH64_ARCH_EXT_NAME("sme-i16i64",   AArch64::AEK_SMEI16I64,   "+sme-i16i64",   "-sme-i16i64")
 AARCH64_ARCH_EXT_NAME("sme2",         AArch64::AEK_SME2,        "+sme2",         "-sme2")
 AARCH64_ARCH_EXT_NAME("hbc",          AArch64::AEK_HBC,         "+hbc",          "-hbc")
 AARCH64_ARCH_EXT_NAME("mops",         AArch64::AEK_MOPS,        "+mops",         "-mops")
index acc3234..8de7eb3 100644 (file)
@@ -67,8 +67,8 @@ enum ArchExtKind : uint64_t {
   AEK_PAUTH =       1ULL << 35, // FEAT_PAuth
   AEK_FLAGM =       1ULL << 36, // FEAT_FlagM
   AEK_SME =         1ULL << 37, // FEAT_SME
-  AEK_SMEF64 =      1ULL << 38, // FEAT_SME_F64F64
-  AEK_SMEI64 =      1ULL << 39, // FEAT_SME_I16I64
+  AEK_SMEF64F64 =   1ULL << 38, // FEAT_SME_F64F64
+  AEK_SMEI16I64 =   1ULL << 39, // FEAT_SME_I16I64
   AEK_HBC =         1ULL << 40, // FEAT_HBC
   AEK_MOPS =        1ULL << 41, // FEAT_MOPS
   AEK_PERFMON =     1ULL << 42, // FEAT_PMUv3
index efe0f9b..80115aa 100644 (file)
@@ -467,10 +467,10 @@ def FeatureRME : SubtargetFeature<"rme", "HasRME",
 def FeatureSME : SubtargetFeature<"sme", "HasSME", "true",
   "Enable Scalable Matrix Extension (SME) (FEAT_SME)", [FeatureBF16, FeatureUseScalarIncVL]>;
 
-def FeatureSMEF64 : SubtargetFeature<"sme-f64", "HasSMEF64", "true",
+def FeatureSMEF64F64 : SubtargetFeature<"sme-f64f64", "HasSMEF64F64", "true",
   "Enable Scalable Matrix Extension (SME) F64F64 instructions (FEAT_SME_F64F64)", [FeatureSME]>;
 
-def FeatureSMEI64 : SubtargetFeature<"sme-i64", "HasSMEI64", "true",
+def FeatureSMEI16I64 : SubtargetFeature<"sme-i16i64", "HasSMEI16I64", "true",
   "Enable Scalable Matrix Extension (SME) I16I64 instructions (FEAT_SME_I16I64)", [FeatureSME]>;
 
 def FeatureSME2 : SubtargetFeature<"sme2", "HasSME2", "true",
@@ -645,7 +645,7 @@ def PAUnsupported : AArch64Unsupported {
 }
 
 def SMEUnsupported : AArch64Unsupported {
-  let F = [HasSME, HasSMEF64, HasSMEI64, HasSME2];
+  let F = [HasSME, HasSMEF64F64, HasSMEI16I64, HasSME2];
 }
 
 include "AArch64SchedA53.td"
index cfa2fdd..56c30f4 100644 (file)
@@ -138,10 +138,10 @@ def HasSVE2BitPerm   : Predicate<"Subtarget->hasSVE2BitPerm()">,
                                  AssemblerPredicateWithAll<(all_of FeatureSVE2BitPerm), "sve2-bitperm">;
 def HasSME           : Predicate<"Subtarget->hasSME()">,
                                  AssemblerPredicateWithAll<(all_of FeatureSME), "sme">;
-def HasSMEF64        : Predicate<"Subtarget->hasSMEF64()">,
-                                 AssemblerPredicateWithAll<(all_of FeatureSMEF64), "sme-f64">;
-def HasSMEI64        : Predicate<"Subtarget->hasSMEI64()">,
-                                 AssemblerPredicateWithAll<(all_of FeatureSMEI64), "sme-i64">;
+def HasSMEF64F64     : Predicate<"Subtarget->hasSMEF64F64()">,
+                                 AssemblerPredicateWithAll<(all_of FeatureSMEF64F64), "sme-f64f64">;
+def HasSMEI16I64     : Predicate<"Subtarget->hasSMEI16I64()">,
+                                 AssemblerPredicateWithAll<(all_of FeatureSMEI16I64), "sme-i16i64">;
 def HasSME2          : Predicate<"Subtarget->hasSME2()">,
                                  AssemblerPredicate<(all_of FeatureSME2), "sme2">;
 // A subset of SVE(2) instructions are legal in Streaming SVE execution mode,
index 8932d9a..924cc4f 100644 (file)
@@ -43,7 +43,7 @@ def ADDVA_MPPZ_S : sme_add_vector_to_tile_u32<0b1, "addva">;
 def : Pat<(AArch64rdsvl (i32 simm6_32b:$imm)), (RDSVLI_XI simm6_32b:$imm)>;
 }
 
-let Predicates = [HasSMEI64] in {
+let Predicates = [HasSMEI16I64] in {
 def ADDHA_MPPZ_D : sme_add_vector_to_tile_u64<0b0, "addha">;
 def ADDVA_MPPZ_D : sme_add_vector_to_tile_u64<0b1, "addva">;
 }
@@ -60,7 +60,7 @@ defm FMOPA_MPPZZ_S : sme_outer_product_fp32<0b0, "fmopa", int_aarch64_sme_mopa>;
 defm FMOPS_MPPZZ_S : sme_outer_product_fp32<0b1, "fmops", int_aarch64_sme_mops>;
 }
 
-let Predicates = [HasSMEF64] in {
+let Predicates = [HasSMEF64F64] in {
 defm FMOPA_MPPZZ_D : sme_outer_product_fp64<0b0, "fmopa", int_aarch64_sme_mopa>;
 defm FMOPS_MPPZZ_D : sme_outer_product_fp64<0b1, "fmops", int_aarch64_sme_mops>;
 }
@@ -79,7 +79,7 @@ defm USMOPA_MPPZZ_S : sme_int_outer_product_i32<0b100, "usmopa", int_aarch64_sme
 defm USMOPS_MPPZZ_S : sme_int_outer_product_i32<0b101, "usmops", int_aarch64_sme_usmops_wide>;
 }
 
-let Predicates = [HasSMEI64] in {
+let Predicates = [HasSMEI16I64] in {
 defm SMOPA_MPPZZ_D  : sme_int_outer_product_i64<0b000, "smopa",  int_aarch64_sme_smopa_wide>;
 defm SMOPS_MPPZZ_D  : sme_int_outer_product_i64<0b001, "smops",  int_aarch64_sme_smops_wide>;
 defm UMOPA_MPPZZ_D  : sme_int_outer_product_i64<0b110, "umopa",  int_aarch64_sme_umopa_wide>;
index 9bfd985..c9b3e22 100644 (file)
@@ -3297,8 +3297,8 @@ static const struct Extension {
     {"flagm", {AArch64::FeatureFlagM}},
     {"rme", {AArch64::FeatureRME}},
     {"sme", {AArch64::FeatureSME}},
-    {"sme-f64", {AArch64::FeatureSMEF64}},
-    {"sme-i64", {AArch64::FeatureSMEI64}},
+    {"sme-f64f64", {AArch64::FeatureSMEF64F64}},
+    {"sme-i16i64", {AArch64::FeatureSMEI16I64}},
     {"hbc", {AArch64::FeatureHBC}},
     {"mops", {AArch64::FeatureMOPS}},
     // FIXME: Unsupported extensions
index cb36aa2..621a886 100644 (file)
@@ -247,7 +247,7 @@ def : Pat<(int_aarch64_sme_addva
             (nxv4i32 ZPR32:$zn)),
           (ADDVA_MPPZ_PSEUDO_S imm0_3:$tile, $pn, $pm, $zn)>;
 
-let Predicates = [HasSMEI64] in {
+let Predicates = [HasSMEI16I64] in {
 def ADDHA_MPPZ_PSEUDO_D : sme_add_vector_to_tile_pseudo<ZPR64>;
 def ADDVA_MPPZ_PSEUDO_D : sme_add_vector_to_tile_pseudo<ZPR64>;
 
index d979484..e81329d 100644 (file)
@@ -1,5 +1,5 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+sme-i64 -verify-machineinstrs < %s | FileCheck %s
+; RUN: llc -mtriple=aarch64-linux-gnu -mattr=+sme-i16i64 -verify-machineinstrs < %s | FileCheck %s
 
 define void @addha_s(<vscale x 4 x i1> %pn, <vscale x 4 x i1> %pm, <vscale x 4 x i32> %zn) {
 ; CHECK-LABEL: addha_s:
index 2ec28a5..b5c801d 100644 (file)
@@ -109,8 +109,8 @@ define void @usmopa_d(<vscale x 8 x i1> %pn, <vscale x 8 x i1> %pm, <vscale x 8
   ret void
 }
 
-attributes #0 = { "target-features"="+sme-i64" }
-attributes #1 = { "target-features"="+sme-f64" }
+attributes #0 = { "target-features"="+sme-i16i64" }
+attributes #1 = { "target-features"="+sme-f64f64" }
 
 declare void @llvm.aarch64.sme.mopa.wide.nxv8bf16(i64, <vscale x 8 x i1>, <vscale x 8 x i1>, <vscale x 8 x bfloat>, <vscale x 8 x bfloat>)
 declare void @llvm.aarch64.sme.mopa.wide.nxv8f16(i64, <vscale x 8 x i1>, <vscale x 8 x i1>, <vscale x 8 x half>, <vscale x 8 x half>)
index 6d4de9f..417f20b 100644 (file)
@@ -109,8 +109,8 @@ define void @usmops_d(<vscale x 8 x i1> %pn, <vscale x 8 x i1> %pm, <vscale x 8
   ret void
 }
 
-attributes #0 = { "target-features"="+sme-i64" }
-attributes #1 = { "target-features"="+sme-f64" }
+attributes #0 = { "target-features"="+sme-i16i64" }
+attributes #1 = { "target-features"="+sme-f64f64" }
 
 declare void @llvm.aarch64.sme.mops.wide.nxv8bf16(i64, <vscale x 8 x i1>, <vscale x 8 x i1>, <vscale x 8 x bfloat>, <vscale x 8 x bfloat>)
 declare void @llvm.aarch64.sme.mops.wide.nxv8f16(i64, <vscale x 8 x i1>, <vscale x 8 x i1>, <vscale x 8 x half>, <vscale x 8 x half>)
index 3c7cb3a..0916c87 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme,+sme-i64 2>&1 < %s| FileCheck %s
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme,+sme-i16i64 2>&1 < %s| FileCheck %s
 
 // ------------------------------------------------------------------------- //
 // Invalid tile
index c5b077a..2797960 100644 (file)
@@ -1,85 +1,85 @@
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i16i64 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i64 < %s \
-// RUN:        | llvm-objdump -d --mattr=+sme-i64 - | FileCheck %s --check-prefix=CHECK-INST
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i16i64 < %s \
+// RUN:        | llvm-objdump -d --mattr=+sme-i16i64 - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i16i64 < %s \
 // RUN:   | llvm-objdump -d --mattr=-sme - | FileCheck %s --check-prefix=CHECK-UNKNOWN
 // Disassemble encoding and check the re-encoding (-show-encoding) matches.
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i16i64 < %s \
 // RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
-// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme-i64 -disassemble -show-encoding \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme-i16i64 -disassemble -show-encoding \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 
 addha   za0.d, p0/m, p0/m, z0.d
 // CHECK-INST: addha   za0.d, p0/m, p0/m, z0.d
 // CHECK-ENCODING: [0x00,0x00,0xd0,0xc0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: c0d00000 <unknown>
 
 addha   za5.d, p5/m, p2/m, z10.d
 // CHECK-INST: addha   za5.d, p5/m, p2/m, z10.d
 // CHECK-ENCODING: [0x45,0x55,0xd0,0xc0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: c0d05545 <unknown>
 
 addha   za7.d, p3/m, p7/m, z13.d
 // CHECK-INST: addha   za7.d, p3/m, p7/m, z13.d
 // CHECK-ENCODING: [0xa7,0xed,0xd0,0xc0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: c0d0eda7 <unknown>
 
 addha   za7.d, p7/m, p7/m, z31.d
 // CHECK-INST: addha   za7.d, p7/m, p7/m, z31.d
 // CHECK-ENCODING: [0xe7,0xff,0xd0,0xc0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: c0d0ffe7 <unknown>
 
 addha   za5.d, p3/m, p0/m, z17.d
 // CHECK-INST: addha   za5.d, p3/m, p0/m, z17.d
 // CHECK-ENCODING: [0x25,0x0e,0xd0,0xc0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: c0d00e25 <unknown>
 
 addha   za1.d, p1/m, p4/m, z1.d
 // CHECK-INST: addha   za1.d, p1/m, p4/m, z1.d
 // CHECK-ENCODING: [0x21,0x84,0xd0,0xc0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: c0d08421 <unknown>
 
 addha   za0.d, p5/m, p2/m, z19.d
 // CHECK-INST: addha   za0.d, p5/m, p2/m, z19.d
 // CHECK-ENCODING: [0x60,0x56,0xd0,0xc0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: c0d05660 <unknown>
 
 addha   za0.d, p6/m, p0/m, z12.d
 // CHECK-INST: addha   za0.d, p6/m, p0/m, z12.d
 // CHECK-ENCODING: [0x80,0x19,0xd0,0xc0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: c0d01980 <unknown>
 
 addha   za1.d, p2/m, p6/m, z1.d
 // CHECK-INST: addha   za1.d, p2/m, p6/m, z1.d
 // CHECK-ENCODING: [0x21,0xc8,0xd0,0xc0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: c0d0c821 <unknown>
 
 addha   za5.d, p2/m, p0/m, z22.d
 // CHECK-INST: addha   za5.d, p2/m, p0/m, z22.d
 // CHECK-ENCODING: [0xc5,0x0a,0xd0,0xc0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: c0d00ac5 <unknown>
 
 addha   za2.d, p5/m, p7/m, z9.d
 // CHECK-INST: addha   za2.d, p5/m, p7/m, z9.d
 // CHECK-ENCODING: [0x22,0xf5,0xd0,0xc0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: c0d0f522 <unknown>
 
 addha   za7.d, p2/m, p5/m, z12.d
 // CHECK-INST: addha   za7.d, p2/m, p5/m, z12.d
 // CHECK-ENCODING: [0x87,0xa9,0xd0,0xc0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: c0d0a987 <unknown>
index e68217a..03ee91c 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme,+sme-i64 2>&1 < %s| FileCheck %s
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme,+sme-i16i64 2>&1 < %s| FileCheck %s
 
 // ------------------------------------------------------------------------- //
 // Invalid tile
index 48d0c3d..5895502 100644 (file)
@@ -1,85 +1,85 @@
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i16i64 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i64 < %s \
-// RUN:        | llvm-objdump -d --mattr=+sme-i64 - | FileCheck %s --check-prefix=CHECK-INST
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i16i64 < %s \
+// RUN:        | llvm-objdump -d --mattr=+sme-i16i64 - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i16i64 < %s \
 // RUN:   | llvm-objdump -d --mattr=-sme - | FileCheck %s --check-prefix=CHECK-UNKNOWN
 // Disassemble encoding and check the re-encoding (-show-encoding) matches.
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i16i64 < %s \
 // RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
-// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme-i64 -disassemble -show-encoding \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme-i16i64 -disassemble -show-encoding \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 
 addva   za0.d, p0/m, p0/m, z0.d
 // CHECK-INST: addva   za0.d, p0/m, p0/m, z0.d
 // CHECK-ENCODING: [0x00,0x00,0xd1,0xc0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: c0d10000 <unknown>
 
 addva   za5.d, p5/m, p2/m, z10.d
 // CHECK-INST: addva   za5.d, p5/m, p2/m, z10.d
 // CHECK-ENCODING: [0x45,0x55,0xd1,0xc0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: c0d15545 <unknown>
 
 addva   za7.d, p3/m, p7/m, z13.d
 // CHECK-INST: addva   za7.d, p3/m, p7/m, z13.d
 // CHECK-ENCODING: [0xa7,0xed,0xd1,0xc0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: c0d1eda7 <unknown>
 
 addva   za7.d, p7/m, p7/m, z31.d
 // CHECK-INST: addva   za7.d, p7/m, p7/m, z31.d
 // CHECK-ENCODING: [0xe7,0xff,0xd1,0xc0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: c0d1ffe7 <unknown>
 
 addva   za5.d, p3/m, p0/m, z17.d
 // CHECK-INST: addva   za5.d, p3/m, p0/m, z17.d
 // CHECK-ENCODING: [0x25,0x0e,0xd1,0xc0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: c0d10e25 <unknown>
 
 addva   za1.d, p1/m, p4/m, z1.d
 // CHECK-INST: addva   za1.d, p1/m, p4/m, z1.d
 // CHECK-ENCODING: [0x21,0x84,0xd1,0xc0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: c0d18421 <unknown>
 
 addva   za0.d, p5/m, p2/m, z19.d
 // CHECK-INST: addva   za0.d, p5/m, p2/m, z19.d
 // CHECK-ENCODING: [0x60,0x56,0xd1,0xc0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: c0d15660 <unknown>
 
 addva   za0.d, p6/m, p0/m, z12.d
 // CHECK-INST: addva   za0.d, p6/m, p0/m, z12.d
 // CHECK-ENCODING: [0x80,0x19,0xd1,0xc0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: c0d11980 <unknown>
 
 addva   za1.d, p2/m, p6/m, z1.d
 // CHECK-INST: addva   za1.d, p2/m, p6/m, z1.d
 // CHECK-ENCODING: [0x21,0xc8,0xd1,0xc0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: c0d1c821 <unknown>
 
 addva   za5.d, p2/m, p0/m, z22.d
 // CHECK-INST: addva   za5.d, p2/m, p0/m, z22.d
 // CHECK-ENCODING: [0xc5,0x0a,0xd1,0xc0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: c0d10ac5 <unknown>
 
 addva   za2.d, p5/m, p7/m, z9.d
 // CHECK-INST: addva   za2.d, p5/m, p7/m, z9.d
 // CHECK-ENCODING: [0x22,0xf5,0xd1,0xc0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: c0d1f522 <unknown>
 
 addva   za7.d, p2/m, p5/m, z12.d
 // CHECK-INST: addva   za7.d, p2/m, p5/m, z12.d
 // CHECK-ENCODING: [0x87,0xa9,0xd1,0xc0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: c0d1a987 <unknown>
index 954cc9e..3df90b3 100644 (file)
@@ -6,16 +6,16 @@ smstart
 // CHECK: error: instruction requires: sme
 // CHECK-NEXT: smstart
 
-.arch_extension sme-f64
-.arch_extension nosme-f64
+.arch_extension sme-f64f64
+.arch_extension nosme-f64f64
 fmopa za0.d, p0/m, p0/m, z0.d, z0.d
-// CHECK: error: instruction requires: sme-f64
+// CHECK: error: instruction requires: sme-f64f64
 // CHECK-NEXT: fmopa za0.d, p0/m, p0/m, z0.d, z0.d
 
-.arch_extension sme-i64
-.arch_extension nosme-i64
+.arch_extension sme-i16i64
+.arch_extension nosme-i16i64
 addha za0.d, p0/m, p0/m, z0.d
-// CHECK: error: instruction requires: sme-i64
+// CHECK: error: instruction requires: sme-i16i64
 // CHECK-NEXT: addha za0.d, p0/m, p0/m, z0.d
 
 .arch armv9-a+sme
@@ -24,14 +24,14 @@ smstart
 // CHECK: error: instruction requires: sme
 // CHECK-NEXT: smstart
 
-.arch armv9-a+sme-f64
-.arch armv9-a+nosme-f64
+.arch armv9-a+sme-f64f64
+.arch armv9-a+nosme-f64f64
 fmopa za0.d, p0/m, p0/m, z0.d, z0.d
-// CHECK: error: instruction requires: sme-f64
+// CHECK: error: instruction requires: sme-f64f64
 // CHECK-NEXT: fmopa za0.d, p0/m, p0/m, z0.d, z0.d
 
-.arch armv9-a+sme-i64
-.arch armv9-a+nosme-i64
+.arch armv9-a+sme-i16i64
+.arch armv9-a+nosme-i16i64
 addha za0.d, p0/m, p0/m, z0.d
-// CHECK: error: instruction requires: sme-i64
+// CHECK: error: instruction requires: sme-i16i64
 // CHECK-NEXT: addha za0.d, p0/m, p0/m, z0.d
index ddbcf94..ca3ba9c 100644 (file)
@@ -6,17 +6,17 @@ smstart
 
 .arch_extension nosme
 
-.arch_extension sme-f64
+.arch_extension sme-f64f64
 fmopa za0.d, p0/m, p0/m, z0.d, z0.d
 // CHECK: fmopa za0.d, p0/m, p0/m, z0.d, z0.d
 
-.arch_extension nosme-f64
+.arch_extension nosme-f64f64
 
-.arch_extension sme-i64
+.arch_extension sme-i16i64
 addha za0.d, p0/m, p0/m, z0.d
 // CHECK: addha za0.d, p0/m, p0/m, z0.d
 
-.arch_extension nosme-i64
+.arch_extension nosme-i16i64
 
 .arch armv9-a+sme
 smstart
@@ -24,12 +24,12 @@ smstart
 
 .arch armv9-a+nosme
 
-.arch armv9-a+sme-f64
+.arch armv9-a+sme-f64f64
 fmopa za0.d, p0/m, p0/m, z0.d, z0.d
 // CHECK: fmopa za0.d, p0/m, p0/m, z0.d, z0.d
 
-.arch armv9-a+nosme-f64
+.arch armv9-a+nosme-f64f64
 
-.arch armv9-a+sme-i64
+.arch armv9-a+sme-i16i64
 addha za0.d, p0/m, p0/m, z0.d
 // CHECK: addha za0.d, p0/m, p0/m, z0.d
index 092ebb4..f6193b1 100644 (file)
@@ -1,6 +1,6 @@
 // RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+sme < %s | FileCheck %s
-// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+sme-f64 < %s | FileCheck %s
-// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+sme-i64 < %s | FileCheck %s
+// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+sme-f64f64 < %s | FileCheck %s
+// RUN: llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+sme-i16i64 < %s | FileCheck %s
 
 // Verify +sme flags imply streaming compatible SVE instructions.
 tbx z0.b, z1.b, z2.b
index 7a2f2ef..f84436e 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme,+sme-f64 2>&1 < %s| FileCheck %s
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme,+sme-f64f64 2>&1 < %s| FileCheck %s
 
 // ------------------------------------------------------------------------- //
 // Invalid tile
index 089487d..081865c 100644 (file)
@@ -1,15 +1,15 @@
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-f64 < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-f64f64 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-f64 < %s \
-// RUN:        | llvm-objdump -d --mattr=+sme-f64 - | FileCheck %s --check-prefix=CHECK-INST
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-f64 < %s \
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-f64f64 < %s \
+// RUN:        | llvm-objdump -d --mattr=+sme-f64f64 - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-f64f64 < %s \
 // RUN:   | llvm-objdump -d --mattr=-sme - | FileCheck %s --check-prefix=CHECK-UNKNOWN
 // Disassemble encoding and check the re-encoding (-show-encoding) matches.
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-f64 < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-f64f64 < %s \
 // RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
-// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme-f64 -disassemble -show-encoding \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme-f64f64 -disassemble -show-encoding \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 
 // --------------------------------------------------------------------------//
 fmopa   za0.d, p0/m, p0/m, z0.d, z0.d
 // CHECK-INST: fmopa   za0.d, p0/m, p0/m, z0.d, z0.d
 // CHECK-ENCODING: [0x00,0x00,0xc0,0x80]
-// CHECK-ERROR: instruction requires: sme-f64
+// CHECK-ERROR: instruction requires: sme-f64f64
 // CHECK-UNKNOWN: 80c00000 <unknown>
 
 fmopa   za5.d, p5/m, p2/m, z10.d, z21.d
 // CHECK-INST: fmopa   za5.d, p5/m, p2/m, z10.d, z21.d
 // CHECK-ENCODING: [0x45,0x55,0xd5,0x80]
-// CHECK-ERROR: instruction requires: sme-f64
+// CHECK-ERROR: instruction requires: sme-f64f64
 // CHECK-UNKNOWN: 80d55545 <unknown>
 
 fmopa   za7.d, p3/m, p7/m, z13.d, z8.d
 // CHECK-INST: fmopa   za7.d, p3/m, p7/m, z13.d, z8.d
 // CHECK-ENCODING: [0xa7,0xed,0xc8,0x80]
-// CHECK-ERROR: instruction requires: sme-f64
+// CHECK-ERROR: instruction requires: sme-f64f64
 // CHECK-UNKNOWN: 80c8eda7 <unknown>
 
 fmopa   za7.d, p7/m, p7/m, z31.d, z31.d
 // CHECK-INST: fmopa   za7.d, p7/m, p7/m, z31.d, z31.d
 // CHECK-ENCODING: [0xe7,0xff,0xdf,0x80]
-// CHECK-ERROR: instruction requires: sme-f64
+// CHECK-ERROR: instruction requires: sme-f64f64
 // CHECK-UNKNOWN: 80dfffe7 <unknown>
 
 fmopa   za5.d, p3/m, p0/m, z17.d, z16.d
 // CHECK-INST: fmopa   za5.d, p3/m, p0/m, z17.d, z16.d
 // CHECK-ENCODING: [0x25,0x0e,0xd0,0x80]
-// CHECK-ERROR: instruction requires: sme-f64
+// CHECK-ERROR: instruction requires: sme-f64f64
 // CHECK-UNKNOWN: 80d00e25 <unknown>
 
 fmopa   za1.d, p1/m, p4/m, z1.d, z30.d
 // CHECK-INST: fmopa   za1.d, p1/m, p4/m, z1.d, z30.d
 // CHECK-ENCODING: [0x21,0x84,0xde,0x80]
-// CHECK-ERROR: instruction requires: sme-f64
+// CHECK-ERROR: instruction requires: sme-f64f64
 // CHECK-UNKNOWN: 80de8421 <unknown>
 
 fmopa   za0.d, p5/m, p2/m, z19.d, z20.d
 // CHECK-INST: fmopa   za0.d, p5/m, p2/m, z19.d, z20.d
 // CHECK-ENCODING: [0x60,0x56,0xd4,0x80]
-// CHECK-ERROR: instruction requires: sme-f64
+// CHECK-ERROR: instruction requires: sme-f64f64
 // CHECK-UNKNOWN: 80d45660 <unknown>
 
 fmopa   za0.d, p6/m, p0/m, z12.d, z2.d
 // CHECK-INST: fmopa   za0.d, p6/m, p0/m, z12.d, z2.d
 // CHECK-ENCODING: [0x80,0x19,0xc2,0x80]
-// CHECK-ERROR: instruction requires: sme-f64
+// CHECK-ERROR: instruction requires: sme-f64f64
 // CHECK-UNKNOWN: 80c21980 <unknown>
 
 fmopa   za1.d, p2/m, p6/m, z1.d, z26.d
 // CHECK-INST: fmopa   za1.d, p2/m, p6/m, z1.d, z26.d
 // CHECK-ENCODING: [0x21,0xc8,0xda,0x80]
-// CHECK-ERROR: instruction requires: sme-f64
+// CHECK-ERROR: instruction requires: sme-f64f64
 // CHECK-UNKNOWN: 80dac821 <unknown>
 
 fmopa   za5.d, p2/m, p0/m, z22.d, z30.d
 // CHECK-INST: fmopa   za5.d, p2/m, p0/m, z22.d, z30.d
 // CHECK-ENCODING: [0xc5,0x0a,0xde,0x80]
-// CHECK-ERROR: instruction requires: sme-f64
+// CHECK-ERROR: instruction requires: sme-f64f64
 // CHECK-UNKNOWN: 80de0ac5 <unknown>
 
 fmopa   za2.d, p5/m, p7/m, z9.d, z1.d
 // CHECK-INST: fmopa   za2.d, p5/m, p7/m, z9.d, z1.d
 // CHECK-ENCODING: [0x22,0xf5,0xc1,0x80]
-// CHECK-ERROR: instruction requires: sme-f64
+// CHECK-ERROR: instruction requires: sme-f64f64
 // CHECK-UNKNOWN: 80c1f522 <unknown>
 
 fmopa   za7.d, p2/m, p5/m, z12.d, z11.d
 // CHECK-INST: fmopa   za7.d, p2/m, p5/m, z12.d, z11.d
 // CHECK-ENCODING: [0x87,0xa9,0xcb,0x80]
-// CHECK-ERROR: instruction requires: sme-f64
+// CHECK-ERROR: instruction requires: sme-f64f64
 // CHECK-UNKNOWN: 80cba987 <unknown>
index bf38ead..5bc947d 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme,+sme-f64 2>&1 < %s| FileCheck %s
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme,+sme-f64f64 2>&1 < %s| FileCheck %s
 
 // ------------------------------------------------------------------------- //
 // Invalid tile
index f2e5831..10c5080 100644 (file)
@@ -1,15 +1,15 @@
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-f64 < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-f64f64 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-f64 < %s \
-// RUN:        | llvm-objdump -d --mattr=+sme-f64 - | FileCheck %s --check-prefix=CHECK-INST
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-f64 < %s \
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-f64f64 < %s \
+// RUN:        | llvm-objdump -d --mattr=+sme-f64f64 - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-f64f64 < %s \
 // RUN:   | llvm-objdump -d --mattr=-sme - | FileCheck %s --check-prefix=CHECK-UNKNOWN
 // Disassemble encoding and check the re-encoding (-show-encoding) matches.
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-f64 < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-f64f64 < %s \
 // RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
-// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme-f64 -disassemble -show-encoding \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme-f64f64 -disassemble -show-encoding \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 
 // --------------------------------------------------------------------------//
 fmops   za0.d, p0/m, p0/m, z0.d, z0.d
 // CHECK-INST: fmops   za0.d, p0/m, p0/m, z0.d, z0.d
 // CHECK-ENCODING: [0x10,0x00,0xc0,0x80]
-// CHECK-ERROR: instruction requires: sme-f64
+// CHECK-ERROR: instruction requires: sme-f64f64
 // CHECK-UNKNOWN: 80c00010 <unknown>
 
 fmops   za5.d, p5/m, p2/m, z10.d, z21.d
 // CHECK-INST: fmops   za5.d, p5/m, p2/m, z10.d, z21.d
 // CHECK-ENCODING: [0x55,0x55,0xd5,0x80]
-// CHECK-ERROR: instruction requires: sme-f64
+// CHECK-ERROR: instruction requires: sme-f64f64
 // CHECK-UNKNOWN: 80d55555 <unknown>
 
 fmops   za7.d, p3/m, p7/m, z13.d, z8.d
 // CHECK-INST: fmops   za7.d, p3/m, p7/m, z13.d, z8.d
 // CHECK-ENCODING: [0xb7,0xed,0xc8,0x80]
-// CHECK-ERROR: instruction requires: sme-f64
+// CHECK-ERROR: instruction requires: sme-f64f64
 // CHECK-UNKNOWN: 80c8edb7 <unknown>
 
 fmops   za7.d, p7/m, p7/m, z31.d, z31.d
 // CHECK-INST: fmops   za7.d, p7/m, p7/m, z31.d, z31.d
 // CHECK-ENCODING: [0xf7,0xff,0xdf,0x80]
-// CHECK-ERROR: instruction requires: sme-f64
+// CHECK-ERROR: instruction requires: sme-f64f64
 // CHECK-UNKNOWN: 80dffff7 <unknown>
 
 fmops   za5.d, p3/m, p0/m, z17.d, z16.d
 // CHECK-INST: fmops   za5.d, p3/m, p0/m, z17.d, z16.d
 // CHECK-ENCODING: [0x35,0x0e,0xd0,0x80]
-// CHECK-ERROR: instruction requires: sme-f64
+// CHECK-ERROR: instruction requires: sme-f64f64
 // CHECK-UNKNOWN: 80d00e35 <unknown>
 
 fmops   za1.d, p1/m, p4/m, z1.d, z30.d
 // CHECK-INST: fmops   za1.d, p1/m, p4/m, z1.d, z30.d
 // CHECK-ENCODING: [0x31,0x84,0xde,0x80]
-// CHECK-ERROR: instruction requires: sme-f64
+// CHECK-ERROR: instruction requires: sme-f64f64
 // CHECK-UNKNOWN: 80de8431 <unknown>
 
 fmops   za0.d, p5/m, p2/m, z19.d, z20.d
 // CHECK-INST: fmops   za0.d, p5/m, p2/m, z19.d, z20.d
 // CHECK-ENCODING: [0x70,0x56,0xd4,0x80]
-// CHECK-ERROR: instruction requires: sme-f64
+// CHECK-ERROR: instruction requires: sme-f64f64
 // CHECK-UNKNOWN: 80d45670 <unknown>
 
 fmops   za0.d, p6/m, p0/m, z12.d, z2.d
 // CHECK-INST: fmops   za0.d, p6/m, p0/m, z12.d, z2.d
 // CHECK-ENCODING: [0x90,0x19,0xc2,0x80]
-// CHECK-ERROR: instruction requires: sme-f64
+// CHECK-ERROR: instruction requires: sme-f64f64
 // CHECK-UNKNOWN: 80c21990 <unknown>
 
 fmops   za1.d, p2/m, p6/m, z1.d, z26.d
 // CHECK-INST: fmops   za1.d, p2/m, p6/m, z1.d, z26.d
 // CHECK-ENCODING: [0x31,0xc8,0xda,0x80]
-// CHECK-ERROR: instruction requires: sme-f64
+// CHECK-ERROR: instruction requires: sme-f64f64
 // CHECK-UNKNOWN: 80dac831 <unknown>
 
 fmops   za5.d, p2/m, p0/m, z22.d, z30.d
 // CHECK-INST: fmops   za5.d, p2/m, p0/m, z22.d, z30.d
 // CHECK-ENCODING: [0xd5,0x0a,0xde,0x80]
-// CHECK-ERROR: instruction requires: sme-f64
+// CHECK-ERROR: instruction requires: sme-f64f64
 // CHECK-UNKNOWN: 80de0ad5 <unknown>
 
 fmops   za2.d, p5/m, p7/m, z9.d, z1.d
 // CHECK-INST: fmops   za2.d, p5/m, p7/m, z9.d, z1.d
 // CHECK-ENCODING: [0x32,0xf5,0xc1,0x80]
-// CHECK-ERROR: instruction requires: sme-f64
+// CHECK-ERROR: instruction requires: sme-f64f64
 // CHECK-UNKNOWN: 80c1f532 <unknown>
 
 fmops   za7.d, p2/m, p5/m, z12.d, z11.d
 // CHECK-INST: fmops   za7.d, p2/m, p5/m, z12.d, z11.d
 // CHECK-ENCODING: [0x97,0xa9,0xcb,0x80]
-// CHECK-ERROR: instruction requires: sme-f64
+// CHECK-ERROR: instruction requires: sme-f64f64
 // CHECK-UNKNOWN: 80cba997 <unknown>
index 6b06ec1..5c47487 100644 (file)
@@ -1,85 +1,85 @@
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i16i64 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i64 < %s \
-// RUN:        | llvm-objdump -d --mattr=+sme-i64 - | FileCheck %s --check-prefix=CHECK-INST
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i16i64 < %s \
+// RUN:        | llvm-objdump -d --mattr=+sme-i16i64 - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i16i64 < %s \
 // RUN:   | llvm-objdump -d --mattr=-sme - | FileCheck %s --check-prefix=CHECK-UNKNOWN
 // Disassemble encoding and check the re-encoding (-show-encoding) matches.
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i16i64 < %s \
 // RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
-// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme-i64 -disassemble -show-encoding \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme-i16i64 -disassemble -show-encoding \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 
 smopa   za0.d, p0/m, p0/m, z0.h, z0.h
 // CHECK-INST: smopa   za0.d, p0/m, p0/m, z0.h, z0.h
 // CHECK-ENCODING: [0x00,0x00,0xc0,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0c00000 <unknown>
 
 smopa   za5.d, p5/m, p2/m, z10.h, z21.h
 // CHECK-INST: smopa   za5.d, p5/m, p2/m, z10.h, z21.h
 // CHECK-ENCODING: [0x45,0x55,0xd5,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0d55545 <unknown>
 
 smopa   za7.d, p3/m, p7/m, z13.h, z8.h
 // CHECK-INST: smopa   za7.d, p3/m, p7/m, z13.h, z8.h
 // CHECK-ENCODING: [0xa7,0xed,0xc8,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0c8eda7 <unknown>
 
 smopa   za7.d, p7/m, p7/m, z31.h, z31.h
 // CHECK-INST: smopa   za7.d, p7/m, p7/m, z31.h, z31.h
 // CHECK-ENCODING: [0xe7,0xff,0xdf,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0dfffe7 <unknown>
 
 smopa   za5.d, p3/m, p0/m, z17.h, z16.h
 // CHECK-INST: smopa   za5.d, p3/m, p0/m, z17.h, z16.h
 // CHECK-ENCODING: [0x25,0x0e,0xd0,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0d00e25 <unknown>
 
 smopa   za1.d, p1/m, p4/m, z1.h, z30.h
 // CHECK-INST: smopa   za1.d, p1/m, p4/m, z1.h, z30.h
 // CHECK-ENCODING: [0x21,0x84,0xde,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0de8421 <unknown>
 
 smopa   za0.d, p5/m, p2/m, z19.h, z20.h
 // CHECK-INST: smopa   za0.d, p5/m, p2/m, z19.h, z20.h
 // CHECK-ENCODING: [0x60,0x56,0xd4,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0d45660 <unknown>
 
 smopa   za0.d, p6/m, p0/m, z12.h, z2.h
 // CHECK-INST: smopa   za0.d, p6/m, p0/m, z12.h, z2.h
 // CHECK-ENCODING: [0x80,0x19,0xc2,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0c21980 <unknown>
 
 smopa   za1.d, p2/m, p6/m, z1.h, z26.h
 // CHECK-INST: smopa   za1.d, p2/m, p6/m, z1.h, z26.h
 // CHECK-ENCODING: [0x21,0xc8,0xda,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0dac821 <unknown>
 
 smopa   za5.d, p2/m, p0/m, z22.h, z30.h
 // CHECK-INST: smopa   za5.d, p2/m, p0/m, z22.h, z30.h
 // CHECK-ENCODING: [0xc5,0x0a,0xde,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0de0ac5 <unknown>
 
 smopa   za2.d, p5/m, p7/m, z9.h, z1.h
 // CHECK-INST: smopa   za2.d, p5/m, p7/m, z9.h, z1.h
 // CHECK-ENCODING: [0x22,0xf5,0xc1,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0c1f522 <unknown>
 
 smopa   za7.d, p2/m, p5/m, z12.h, z11.h
 // CHECK-INST: smopa   za7.d, p2/m, p5/m, z12.h, z11.h
 // CHECK-ENCODING: [0x87,0xa9,0xcb,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0cba987 <unknown>
index 9351c12..435e6cb 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme,+sme-i64 2>&1 < %s| FileCheck %s
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme,+sme-i16i64 2>&1 < %s| FileCheck %s
 
 // ------------------------------------------------------------------------- //
 // Invalid tile
index 5865204..e3c384a 100644 (file)
@@ -1,85 +1,85 @@
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i16i64 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i64 < %s \
-// RUN:        | llvm-objdump -d --mattr=+sme-i64 - | FileCheck %s --check-prefix=CHECK-INST
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i16i64 < %s \
+// RUN:        | llvm-objdump -d --mattr=+sme-i16i64 - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i16i64 < %s \
 // RUN:   | llvm-objdump -d --mattr=-sme - | FileCheck %s --check-prefix=CHECK-UNKNOWN
 // Disassemble encoding and check the re-encoding (-show-encoding) matches.
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i16i64 < %s \
 // RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
-// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme-i64 -disassemble -show-encoding \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme-i16i64 -disassemble -show-encoding \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 
 smops   za0.d, p0/m, p0/m, z0.h, z0.h
 // CHECK-INST: smops   za0.d, p0/m, p0/m, z0.h, z0.h
 // CHECK-ENCODING: [0x10,0x00,0xc0,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0c00010 <unknown>
 
 smops   za5.d, p5/m, p2/m, z10.h, z21.h
 // CHECK-INST: smops   za5.d, p5/m, p2/m, z10.h, z21.h
 // CHECK-ENCODING: [0x55,0x55,0xd5,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0d55555 <unknown>
 
 smops   za7.d, p3/m, p7/m, z13.h, z8.h
 // CHECK-INST: smops   za7.d, p3/m, p7/m, z13.h, z8.h
 // CHECK-ENCODING: [0xb7,0xed,0xc8,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0c8edb7 <unknown>
 
 smops   za7.d, p7/m, p7/m, z31.h, z31.h
 // CHECK-INST: smops   za7.d, p7/m, p7/m, z31.h, z31.h
 // CHECK-ENCODING: [0xf7,0xff,0xdf,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0dffff7 <unknown>
 
 smops   za5.d, p3/m, p0/m, z17.h, z16.h
 // CHECK-INST: smops   za5.d, p3/m, p0/m, z17.h, z16.h
 // CHECK-ENCODING: [0x35,0x0e,0xd0,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0d00e35 <unknown>
 
 smops   za1.d, p1/m, p4/m, z1.h, z30.h
 // CHECK-INST: smops   za1.d, p1/m, p4/m, z1.h, z30.h
 // CHECK-ENCODING: [0x31,0x84,0xde,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0de8431 <unknown>
 
 smops   za0.d, p5/m, p2/m, z19.h, z20.h
 // CHECK-INST: smops   za0.d, p5/m, p2/m, z19.h, z20.h
 // CHECK-ENCODING: [0x70,0x56,0xd4,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0d45670 <unknown>
 
 smops   za0.d, p6/m, p0/m, z12.h, z2.h
 // CHECK-INST: smops   za0.d, p6/m, p0/m, z12.h, z2.h
 // CHECK-ENCODING: [0x90,0x19,0xc2,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0c21990 <unknown>
 
 smops   za1.d, p2/m, p6/m, z1.h, z26.h
 // CHECK-INST: smops   za1.d, p2/m, p6/m, z1.h, z26.h
 // CHECK-ENCODING: [0x31,0xc8,0xda,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0dac831 <unknown>
 
 smops   za5.d, p2/m, p0/m, z22.h, z30.h
 // CHECK-INST: smops   za5.d, p2/m, p0/m, z22.h, z30.h
 // CHECK-ENCODING: [0xd5,0x0a,0xde,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0de0ad5 <unknown>
 
 smops   za2.d, p5/m, p7/m, z9.h, z1.h
 // CHECK-INST: smops   za2.d, p5/m, p7/m, z9.h, z1.h
 // CHECK-ENCODING: [0x32,0xf5,0xc1,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0c1f532 <unknown>
 
 smops   za7.d, p2/m, p5/m, z12.h, z11.h
 // CHECK-INST: smops   za7.d, p2/m, p5/m, z12.h, z11.h
 // CHECK-ENCODING: [0x97,0xa9,0xcb,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0cba997 <unknown>
index 3858764..5d10a33 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme,+sme-i64 2>&1 < %s| FileCheck %s
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme,+sme-i16i64 2>&1 < %s| FileCheck %s
 
 // ------------------------------------------------------------------------- //
 // Invalid tile
index 87a1f4b..df5a7ff 100644 (file)
@@ -1,85 +1,85 @@
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i16i64 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i64 < %s \
-// RUN:        | llvm-objdump -d --mattr=+sme-i64 - | FileCheck %s --check-prefix=CHECK-INST
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i16i64 < %s \
+// RUN:        | llvm-objdump -d --mattr=+sme-i16i64 - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i16i64 < %s \
 // RUN:   | llvm-objdump -d --mattr=-sme - | FileCheck %s --check-prefix=CHECK-UNKNOWN
 // Disassemble encoding and check the re-encoding (-show-encoding) matches.
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i16i64 < %s \
 // RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
-// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme-i64 -disassemble -show-encoding \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme-i16i64 -disassemble -show-encoding \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 
 sumopa  za0.d, p0/m, p0/m, z0.h, z0.h
 // CHECK-INST: sumopa  za0.d, p0/m, p0/m, z0.h, z0.h
 // CHECK-ENCODING: [0x00,0x00,0xe0,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0e00000 <unknown>
 
 sumopa  za5.d, p5/m, p2/m, z10.h, z21.h
 // CHECK-INST: sumopa  za5.d, p5/m, p2/m, z10.h, z21.h
 // CHECK-ENCODING: [0x45,0x55,0xf5,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0f55545 <unknown>
 
 sumopa  za7.d, p3/m, p7/m, z13.h, z8.h
 // CHECK-INST: sumopa  za7.d, p3/m, p7/m, z13.h, z8.h
 // CHECK-ENCODING: [0xa7,0xed,0xe8,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0e8eda7 <unknown>
 
 sumopa  za7.d, p7/m, p7/m, z31.h, z31.h
 // CHECK-INST: sumopa  za7.d, p7/m, p7/m, z31.h, z31.h
 // CHECK-ENCODING: [0xe7,0xff,0xff,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0ffffe7 <unknown>
 
 sumopa  za5.d, p3/m, p0/m, z17.h, z16.h
 // CHECK-INST: sumopa  za5.d, p3/m, p0/m, z17.h, z16.h
 // CHECK-ENCODING: [0x25,0x0e,0xf0,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0f00e25 <unknown>
 
 sumopa  za1.d, p1/m, p4/m, z1.h, z30.h
 // CHECK-INST: sumopa  za1.d, p1/m, p4/m, z1.h, z30.h
 // CHECK-ENCODING: [0x21,0x84,0xfe,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0fe8421 <unknown>
 
 sumopa  za0.d, p5/m, p2/m, z19.h, z20.h
 // CHECK-INST: sumopa  za0.d, p5/m, p2/m, z19.h, z20.h
 // CHECK-ENCODING: [0x60,0x56,0xf4,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0f45660 <unknown>
 
 sumopa  za0.d, p6/m, p0/m, z12.h, z2.h
 // CHECK-INST: sumopa  za0.d, p6/m, p0/m, z12.h, z2.h
 // CHECK-ENCODING: [0x80,0x19,0xe2,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0e21980 <unknown>
 
 sumopa  za1.d, p2/m, p6/m, z1.h, z26.h
 // CHECK-INST: sumopa  za1.d, p2/m, p6/m, z1.h, z26.h
 // CHECK-ENCODING: [0x21,0xc8,0xfa,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0fac821 <unknown>
 
 sumopa  za5.d, p2/m, p0/m, z22.h, z30.h
 // CHECK-INST: sumopa  za5.d, p2/m, p0/m, z22.h, z30.h
 // CHECK-ENCODING: [0xc5,0x0a,0xfe,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0fe0ac5 <unknown>
 
 sumopa  za2.d, p5/m, p7/m, z9.h, z1.h
 // CHECK-INST: sumopa  za2.d, p5/m, p7/m, z9.h, z1.h
 // CHECK-ENCODING: [0x22,0xf5,0xe1,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0e1f522 <unknown>
 
 sumopa  za7.d, p2/m, p5/m, z12.h, z11.h
 // CHECK-INST: sumopa  za7.d, p2/m, p5/m, z12.h, z11.h
 // CHECK-ENCODING: [0x87,0xa9,0xeb,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0eba987 <unknown>
index c908884..ab57f10 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme,+sme-i64 2>&1 < %s| FileCheck %s
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme,+sme-i16i64 2>&1 < %s| FileCheck %s
 
 // ------------------------------------------------------------------------- //
 // Invalid tile
index d805572..b88406f 100644 (file)
@@ -1,85 +1,85 @@
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i16i64 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i64 < %s \
-// RUN:        | llvm-objdump -d --mattr=+sme-i64 - | FileCheck %s --check-prefix=CHECK-INST
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i16i64 < %s \
+// RUN:        | llvm-objdump -d --mattr=+sme-i16i64 - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i16i64 < %s \
 // RUN:   | llvm-objdump -d --mattr=-sme - | FileCheck %s --check-prefix=CHECK-UNKNOWN
 // Disassemble encoding and check the re-encoding (-show-encoding) matches.
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i16i64 < %s \
 // RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
-// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme-i64 -disassemble -show-encoding \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme-i16i64 -disassemble -show-encoding \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 
 sumops  za0.d, p0/m, p0/m, z0.h, z0.h
 // CHECK-INST: sumops  za0.d, p0/m, p0/m, z0.h, z0.h
 // CHECK-ENCODING: [0x10,0x00,0xe0,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0e00010 <unknown>
 
 sumops  za5.d, p5/m, p2/m, z10.h, z21.h
 // CHECK-INST: sumops  za5.d, p5/m, p2/m, z10.h, z21.h
 // CHECK-ENCODING: [0x55,0x55,0xf5,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0f55555 <unknown>
 
 sumops  za7.d, p3/m, p7/m, z13.h, z8.h
 // CHECK-INST: sumops  za7.d, p3/m, p7/m, z13.h, z8.h
 // CHECK-ENCODING: [0xb7,0xed,0xe8,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0e8edb7 <unknown>
 
 sumops  za7.d, p7/m, p7/m, z31.h, z31.h
 // CHECK-INST: sumops  za7.d, p7/m, p7/m, z31.h, z31.h
 // CHECK-ENCODING: [0xf7,0xff,0xff,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0fffff7 <unknown>
 
 sumops  za5.d, p3/m, p0/m, z17.h, z16.h
 // CHECK-INST: sumops  za5.d, p3/m, p0/m, z17.h, z16.h
 // CHECK-ENCODING: [0x35,0x0e,0xf0,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0f00e35 <unknown>
 
 sumops  za1.d, p1/m, p4/m, z1.h, z30.h
 // CHECK-INST: sumops  za1.d, p1/m, p4/m, z1.h, z30.h
 // CHECK-ENCODING: [0x31,0x84,0xfe,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0fe8431 <unknown>
 
 sumops  za0.d, p5/m, p2/m, z19.h, z20.h
 // CHECK-INST: sumops  za0.d, p5/m, p2/m, z19.h, z20.h
 // CHECK-ENCODING: [0x70,0x56,0xf4,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0f45670 <unknown>
 
 sumops  za0.d, p6/m, p0/m, z12.h, z2.h
 // CHECK-INST: sumops  za0.d, p6/m, p0/m, z12.h, z2.h
 // CHECK-ENCODING: [0x90,0x19,0xe2,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0e21990 <unknown>
 
 sumops  za1.d, p2/m, p6/m, z1.h, z26.h
 // CHECK-INST: sumops  za1.d, p2/m, p6/m, z1.h, z26.h
 // CHECK-ENCODING: [0x31,0xc8,0xfa,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0fac831 <unknown>
 
 sumops  za5.d, p2/m, p0/m, z22.h, z30.h
 // CHECK-INST: sumops  za5.d, p2/m, p0/m, z22.h, z30.h
 // CHECK-ENCODING: [0xd5,0x0a,0xfe,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0fe0ad5 <unknown>
 
 sumops  za2.d, p5/m, p7/m, z9.h, z1.h
 // CHECK-INST: sumops  za2.d, p5/m, p7/m, z9.h, z1.h
 // CHECK-ENCODING: [0x32,0xf5,0xe1,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0e1f532 <unknown>
 
 sumops  za7.d, p2/m, p5/m, z12.h, z11.h
 // CHECK-INST: sumops  za7.d, p2/m, p5/m, z12.h, z11.h
 // CHECK-ENCODING: [0x97,0xa9,0xeb,0xa0]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a0eba997 <unknown>
index 1c7bf58..874255e 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme,+sme-i64 2>&1 < %s| FileCheck %s
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme,+sme-i16i64 2>&1 < %s| FileCheck %s
 
 // ------------------------------------------------------------------------- //
 // Invalid tile
index 872f7fe..95a7a52 100644 (file)
@@ -1,85 +1,85 @@
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i16i64 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i64 < %s \
-// RUN:        | llvm-objdump -d --mattr=+sme-i64 - | FileCheck %s --check-prefix=CHECK-INST
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i16i64 < %s \
+// RUN:        | llvm-objdump -d --mattr=+sme-i16i64 - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i16i64 < %s \
 // RUN:   | llvm-objdump -d --mattr=-sme - | FileCheck %s --check-prefix=CHECK-UNKNOWN
 // Disassemble encoding and check the re-encoding (-show-encoding) matches.
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i16i64 < %s \
 // RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
-// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme-i64 -disassemble -show-encoding \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme-i16i64 -disassemble -show-encoding \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 
 umopa   za0.d, p0/m, p0/m, z0.h, z0.h
 // CHECK-INST: umopa   za0.d, p0/m, p0/m, z0.h, z0.h
 // CHECK-ENCODING: [0x00,0x00,0xe0,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1e00000 <unknown>
 
 umopa   za5.d, p5/m, p2/m, z10.h, z21.h
 // CHECK-INST: umopa   za5.d, p5/m, p2/m, z10.h, z21.h
 // CHECK-ENCODING: [0x45,0x55,0xf5,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1f55545 <unknown>
 
 umopa   za7.d, p3/m, p7/m, z13.h, z8.h
 // CHECK-INST: umopa   za7.d, p3/m, p7/m, z13.h, z8.h
 // CHECK-ENCODING: [0xa7,0xed,0xe8,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1e8eda7 <unknown>
 
 umopa   za7.d, p7/m, p7/m, z31.h, z31.h
 // CHECK-INST: umopa   za7.d, p7/m, p7/m, z31.h, z31.h
 // CHECK-ENCODING: [0xe7,0xff,0xff,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1ffffe7 <unknown>
 
 umopa   za5.d, p3/m, p0/m, z17.h, z16.h
 // CHECK-INST: umopa   za5.d, p3/m, p0/m, z17.h, z16.h
 // CHECK-ENCODING: [0x25,0x0e,0xf0,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1f00e25 <unknown>
 
 umopa   za1.d, p1/m, p4/m, z1.h, z30.h
 // CHECK-INST: umopa   za1.d, p1/m, p4/m, z1.h, z30.h
 // CHECK-ENCODING: [0x21,0x84,0xfe,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1fe8421 <unknown>
 
 umopa   za0.d, p5/m, p2/m, z19.h, z20.h
 // CHECK-INST: umopa   za0.d, p5/m, p2/m, z19.h, z20.h
 // CHECK-ENCODING: [0x60,0x56,0xf4,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1f45660 <unknown>
 
 umopa   za0.d, p6/m, p0/m, z12.h, z2.h
 // CHECK-INST: umopa   za0.d, p6/m, p0/m, z12.h, z2.h
 // CHECK-ENCODING: [0x80,0x19,0xe2,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1e21980 <unknown>
 
 umopa   za1.d, p2/m, p6/m, z1.h, z26.h
 // CHECK-INST: umopa   za1.d, p2/m, p6/m, z1.h, z26.h
 // CHECK-ENCODING: [0x21,0xc8,0xfa,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1fac821 <unknown>
 
 umopa   za5.d, p2/m, p0/m, z22.h, z30.h
 // CHECK-INST: umopa   za5.d, p2/m, p0/m, z22.h, z30.h
 // CHECK-ENCODING: [0xc5,0x0a,0xfe,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1fe0ac5 <unknown>
 
 umopa   za2.d, p5/m, p7/m, z9.h, z1.h
 // CHECK-INST: umopa   za2.d, p5/m, p7/m, z9.h, z1.h
 // CHECK-ENCODING: [0x22,0xf5,0xe1,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1e1f522 <unknown>
 
 umopa   za7.d, p2/m, p5/m, z12.h, z11.h
 // CHECK-INST: umopa   za7.d, p2/m, p5/m, z12.h, z11.h
 // CHECK-ENCODING: [0x87,0xa9,0xeb,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1eba987 <unknown>
index 552628f..f39b52e 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme,+sme-i64 2>&1 < %s| FileCheck %s
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme,+sme-i16i64 2>&1 < %s| FileCheck %s
 
 // ------------------------------------------------------------------------- //
 // Invalid tile
index 6554abb..4e8be1e 100644 (file)
@@ -1,85 +1,85 @@
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i16i64 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i64 < %s \
-// RUN:        | llvm-objdump -d --mattr=+sme-i64 - | FileCheck %s --check-prefix=CHECK-INST
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i16i64 < %s \
+// RUN:        | llvm-objdump -d --mattr=+sme-i16i64 - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i16i64 < %s \
 // RUN:   | llvm-objdump -d --mattr=-sme - | FileCheck %s --check-prefix=CHECK-UNKNOWN
 // Disassemble encoding and check the re-encoding (-show-encoding) matches.
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i16i64 < %s \
 // RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
-// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme-i64 -disassemble -show-encoding \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme-i16i64 -disassemble -show-encoding \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 
 umops   za0.d, p0/m, p0/m, z0.h, z0.h
 // CHECK-INST: umops   za0.d, p0/m, p0/m, z0.h, z0.h
 // CHECK-ENCODING: [0x10,0x00,0xe0,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1e00010 <unknown>
 
 umops   za5.d, p5/m, p2/m, z10.h, z21.h
 // CHECK-INST: umops   za5.d, p5/m, p2/m, z10.h, z21.h
 // CHECK-ENCODING: [0x55,0x55,0xf5,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1f55555 <unknown>
 
 umops   za7.d, p3/m, p7/m, z13.h, z8.h
 // CHECK-INST: umops   za7.d, p3/m, p7/m, z13.h, z8.h
 // CHECK-ENCODING: [0xb7,0xed,0xe8,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1e8edb7 <unknown>
 
 umops   za7.d, p7/m, p7/m, z31.h, z31.h
 // CHECK-INST: umops   za7.d, p7/m, p7/m, z31.h, z31.h
 // CHECK-ENCODING: [0xf7,0xff,0xff,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1fffff7 <unknown>
 
 umops   za5.d, p3/m, p0/m, z17.h, z16.h
 // CHECK-INST: umops   za5.d, p3/m, p0/m, z17.h, z16.h
 // CHECK-ENCODING: [0x35,0x0e,0xf0,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1f00e35 <unknown>
 
 umops   za1.d, p1/m, p4/m, z1.h, z30.h
 // CHECK-INST: umops   za1.d, p1/m, p4/m, z1.h, z30.h
 // CHECK-ENCODING: [0x31,0x84,0xfe,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1fe8431 <unknown>
 
 umops   za0.d, p5/m, p2/m, z19.h, z20.h
 // CHECK-INST: umops   za0.d, p5/m, p2/m, z19.h, z20.h
 // CHECK-ENCODING: [0x70,0x56,0xf4,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1f45670 <unknown>
 
 umops   za0.d, p6/m, p0/m, z12.h, z2.h
 // CHECK-INST: umops   za0.d, p6/m, p0/m, z12.h, z2.h
 // CHECK-ENCODING: [0x90,0x19,0xe2,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1e21990 <unknown>
 
 umops   za1.d, p2/m, p6/m, z1.h, z26.h
 // CHECK-INST: umops   za1.d, p2/m, p6/m, z1.h, z26.h
 // CHECK-ENCODING: [0x31,0xc8,0xfa,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1fac831 <unknown>
 
 umops   za5.d, p2/m, p0/m, z22.h, z30.h
 // CHECK-INST: umops   za5.d, p2/m, p0/m, z22.h, z30.h
 // CHECK-ENCODING: [0xd5,0x0a,0xfe,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1fe0ad5 <unknown>
 
 umops   za2.d, p5/m, p7/m, z9.h, z1.h
 // CHECK-INST: umops   za2.d, p5/m, p7/m, z9.h, z1.h
 // CHECK-ENCODING: [0x32,0xf5,0xe1,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1e1f532 <unknown>
 
 umops   za7.d, p2/m, p5/m, z12.h, z11.h
 // CHECK-INST: umops   za7.d, p2/m, p5/m, z12.h, z11.h
 // CHECK-ENCODING: [0x97,0xa9,0xeb,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1eba997 <unknown>
index c869cd9..c723586 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme,+sme-i64 2>&1 < %s| FileCheck %s
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme,+sme-i16i64 2>&1 < %s| FileCheck %s
 
 // ------------------------------------------------------------------------- //
 // Invalid tile
index 7da286c..ec27a23 100644 (file)
@@ -1,85 +1,85 @@
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i16i64 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i64 < %s \
-// RUN:        | llvm-objdump -d --mattr=+sme-i64 - | FileCheck %s --check-prefix=CHECK-INST
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i16i64 < %s \
+// RUN:        | llvm-objdump -d --mattr=+sme-i16i64 - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i16i64 < %s \
 // RUN:   | llvm-objdump -d --mattr=-sme - | FileCheck %s --check-prefix=CHECK-UNKNOWN
 // Disassemble encoding and check the re-encoding (-show-encoding) matches.
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i16i64 < %s \
 // RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
-// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme-i64 -disassemble -show-encoding \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme-i16i64 -disassemble -show-encoding \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 
 usmopa  za0.d, p0/m, p0/m, z0.h, z0.h
 // CHECK-INST: usmopa  za0.d, p0/m, p0/m, z0.h, z0.h
 // CHECK-ENCODING: [0x00,0x00,0xc0,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1c00000 <unknown>
 
 usmopa  za5.d, p5/m, p2/m, z10.h, z21.h
 // CHECK-INST: usmopa  za5.d, p5/m, p2/m, z10.h, z21.h
 // CHECK-ENCODING: [0x45,0x55,0xd5,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1d55545 <unknown>
 
 usmopa  za7.d, p3/m, p7/m, z13.h, z8.h
 // CHECK-INST: usmopa  za7.d, p3/m, p7/m, z13.h, z8.h
 // CHECK-ENCODING: [0xa7,0xed,0xc8,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1c8eda7 <unknown>
 
 usmopa  za7.d, p7/m, p7/m, z31.h, z31.h
 // CHECK-INST: usmopa  za7.d, p7/m, p7/m, z31.h, z31.h
 // CHECK-ENCODING: [0xe7,0xff,0xdf,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1dfffe7 <unknown>
 
 usmopa  za5.d, p3/m, p0/m, z17.h, z16.h
 // CHECK-INST: usmopa  za5.d, p3/m, p0/m, z17.h, z16.h
 // CHECK-ENCODING: [0x25,0x0e,0xd0,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1d00e25 <unknown>
 
 usmopa  za1.d, p1/m, p4/m, z1.h, z30.h
 // CHECK-INST: usmopa  za1.d, p1/m, p4/m, z1.h, z30.h
 // CHECK-ENCODING: [0x21,0x84,0xde,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1de8421 <unknown>
 
 usmopa  za0.d, p5/m, p2/m, z19.h, z20.h
 // CHECK-INST: usmopa  za0.d, p5/m, p2/m, z19.h, z20.h
 // CHECK-ENCODING: [0x60,0x56,0xd4,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1d45660 <unknown>
 
 usmopa  za0.d, p6/m, p0/m, z12.h, z2.h
 // CHECK-INST: usmopa  za0.d, p6/m, p0/m, z12.h, z2.h
 // CHECK-ENCODING: [0x80,0x19,0xc2,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1c21980 <unknown>
 
 usmopa  za1.d, p2/m, p6/m, z1.h, z26.h
 // CHECK-INST: usmopa  za1.d, p2/m, p6/m, z1.h, z26.h
 // CHECK-ENCODING: [0x21,0xc8,0xda,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1dac821 <unknown>
 
 usmopa  za5.d, p2/m, p0/m, z22.h, z30.h
 // CHECK-INST: usmopa  za5.d, p2/m, p0/m, z22.h, z30.h
 // CHECK-ENCODING: [0xc5,0x0a,0xde,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1de0ac5 <unknown>
 
 usmopa  za2.d, p5/m, p7/m, z9.h, z1.h
 // CHECK-INST: usmopa  za2.d, p5/m, p7/m, z9.h, z1.h
 // CHECK-ENCODING: [0x22,0xf5,0xc1,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1c1f522 <unknown>
 
 usmopa  za7.d, p2/m, p5/m, z12.h, z11.h
 // CHECK-INST: usmopa  za7.d, p2/m, p5/m, z12.h, z11.h
 // CHECK-ENCODING: [0x87,0xa9,0xcb,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1cba987 <unknown>
index 2f3f9ef..5f45337 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme,+sme-i64 2>&1 < %s| FileCheck %s
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme,+sme-i16i64 2>&1 < %s| FileCheck %s
 
 // ------------------------------------------------------------------------- //
 // Invalid tile
index a72596a..e0126e1 100644 (file)
@@ -1,85 +1,85 @@
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i16i64 < %s \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \
 // RUN:        | FileCheck %s --check-prefix=CHECK-ERROR
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i64 < %s \
-// RUN:        | llvm-objdump -d --mattr=+sme-i64 - | FileCheck %s --check-prefix=CHECK-INST
-// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i16i64 < %s \
+// RUN:        | llvm-objdump -d --mattr=+sme-i16i64 - | FileCheck %s --check-prefix=CHECK-INST
+// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme-i16i64 < %s \
 // RUN:   | llvm-objdump -d --mattr=-sme - | FileCheck %s --check-prefix=CHECK-UNKNOWN
 // Disassemble encoding and check the re-encoding (-show-encoding) matches.
-// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i64 < %s \
+// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme-i16i64 < %s \
 // RUN:        | sed '/.text/d' | sed 's/.*encoding: //g' \
-// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme-i64 -disassemble -show-encoding \
+// RUN:        | llvm-mc -triple=aarch64 -mattr=+sme-i16i64 -disassemble -show-encoding \
 // RUN:        | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST
 
 usmops  za0.d, p0/m, p0/m, z0.h, z0.h
 // CHECK-INST: usmops  za0.d, p0/m, p0/m, z0.h, z0.h
 // CHECK-ENCODING: [0x10,0x00,0xc0,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1c00010 <unknown>
 
 usmops  za5.d, p5/m, p2/m, z10.h, z21.h
 // CHECK-INST: usmops  za5.d, p5/m, p2/m, z10.h, z21.h
 // CHECK-ENCODING: [0x55,0x55,0xd5,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1d55555 <unknown>
 
 usmops  za7.d, p3/m, p7/m, z13.h, z8.h
 // CHECK-INST: usmops  za7.d, p3/m, p7/m, z13.h, z8.h
 // CHECK-ENCODING: [0xb7,0xed,0xc8,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1c8edb7 <unknown>
 
 usmops  za7.d, p7/m, p7/m, z31.h, z31.h
 // CHECK-INST: usmops  za7.d, p7/m, p7/m, z31.h, z31.h
 // CHECK-ENCODING: [0xf7,0xff,0xdf,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1dffff7 <unknown>
 
 usmops  za5.d, p3/m, p0/m, z17.h, z16.h
 // CHECK-INST: usmops  za5.d, p3/m, p0/m, z17.h, z16.h
 // CHECK-ENCODING: [0x35,0x0e,0xd0,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1d00e35 <unknown>
 
 usmops  za1.d, p1/m, p4/m, z1.h, z30.h
 // CHECK-INST: usmops  za1.d, p1/m, p4/m, z1.h, z30.h
 // CHECK-ENCODING: [0x31,0x84,0xde,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1de8431 <unknown>
 
 usmops  za0.d, p5/m, p2/m, z19.h, z20.h
 // CHECK-INST: usmops  za0.d, p5/m, p2/m, z19.h, z20.h
 // CHECK-ENCODING: [0x70,0x56,0xd4,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1d45670 <unknown>
 
 usmops  za0.d, p6/m, p0/m, z12.h, z2.h
 // CHECK-INST: usmops  za0.d, p6/m, p0/m, z12.h, z2.h
 // CHECK-ENCODING: [0x90,0x19,0xc2,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1c21990 <unknown>
 
 usmops  za1.d, p2/m, p6/m, z1.h, z26.h
 // CHECK-INST: usmops  za1.d, p2/m, p6/m, z1.h, z26.h
 // CHECK-ENCODING: [0x31,0xc8,0xda,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1dac831 <unknown>
 
 usmops  za5.d, p2/m, p0/m, z22.h, z30.h
 // CHECK-INST: usmops  za5.d, p2/m, p0/m, z22.h, z30.h
 // CHECK-ENCODING: [0xd5,0x0a,0xde,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1de0ad5 <unknown>
 
 usmops  za2.d, p5/m, p7/m, z9.h, z1.h
 // CHECK-INST: usmops  za2.d, p5/m, p7/m, z9.h, z1.h
 // CHECK-ENCODING: [0x32,0xf5,0xc1,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1c1f532 <unknown>
 
 usmops  za7.d, p2/m, p5/m, z12.h, z11.h
 // CHECK-INST: usmops  za7.d, p2/m, p5/m, z12.h, z11.h
 // CHECK-ENCODING: [0x97,0xa9,0xcb,0xa1]
-// CHECK-ERROR: instruction requires: sme-i64
+// CHECK-ERROR: instruction requires: sme-i16i64
 // CHECK-UNKNOWN: a1cba997 <unknown>
index a4d96ee..d58c1d5 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme,+sme-i64 2>&1 < %s| FileCheck %s
+// RUN: not llvm-mc -triple=aarch64 -show-encoding -mattr=+sme,+sme-i16i64 2>&1 < %s| FileCheck %s
 
 // ------------------------------------------------------------------------- //
 // Invalid tile
index 4308d25..16d9b5d 100644 (file)
@@ -1503,7 +1503,7 @@ TEST(TargetParserTest, AArch64ExtensionFeatures) {
       AArch64::AEK_BF16,    AArch64::AEK_I8MM,     AArch64::AEK_F32MM,
       AArch64::AEK_F64MM,   AArch64::AEK_TME,      AArch64::AEK_LS64,
       AArch64::AEK_BRBE,    AArch64::AEK_PAUTH,    AArch64::AEK_FLAGM,
-      AArch64::AEK_SME,     AArch64::AEK_SMEF64,   AArch64::AEK_SMEI64,
+      AArch64::AEK_SME,     AArch64::AEK_SMEF64F64, AArch64::AEK_SMEI16I64,
       AArch64::AEK_SME2,    AArch64::AEK_HBC,      AArch64::AEK_MOPS,
       AArch64::AEK_PERFMON};
 
@@ -1560,8 +1560,8 @@ TEST(TargetParserTest, AArch64ExtensionFeatures) {
   EXPECT_TRUE(llvm::is_contained(Features, "+pauth"));
   EXPECT_TRUE(llvm::is_contained(Features, "+flagm"));
   EXPECT_TRUE(llvm::is_contained(Features, "+sme"));
-  EXPECT_TRUE(llvm::is_contained(Features, "+sme-f64"));
-  EXPECT_TRUE(llvm::is_contained(Features, "+sme-i64"));
+  EXPECT_TRUE(llvm::is_contained(Features, "+sme-f64f64"));
+  EXPECT_TRUE(llvm::is_contained(Features, "+sme-i16i64"));
   EXPECT_TRUE(llvm::is_contained(Features, "+sme2"));
   EXPECT_TRUE(llvm::is_contained(Features, "+hbc"));
   EXPECT_TRUE(llvm::is_contained(Features, "+mops"));
@@ -1639,8 +1639,8 @@ TEST(TargetParserTest, AArch64ArchExtFeature) {
       {"f32mm", "nof32mm", "+f32mm", "-f32mm"},
       {"f64mm", "nof64mm", "+f64mm", "-f64mm"},
       {"sme", "nosme", "+sme", "-sme"},
-      {"sme-f64", "nosme-f64", "+sme-f64", "-sme-f64"},
-      {"sme-i64", "nosme-i64", "+sme-i64", "-sme-i64"},
+      {"sme-f64f64", "nosme-f64f64", "+sme-f64f64", "-sme-f64f64"},
+      {"sme-i16i64", "nosme-i16i64", "+sme-i16i64", "-sme-i16i64"},
       {"sme2", "nosme2", "+sme2", "-sme2"},
       {"hbc", "nohbc", "+hbc", "-hbc"},
       {"mops", "nomops", "+mops", "-mops"},