From 579ca5e7e106291d193a840195cda725cbf63aae Mon Sep 17 00:00:00 2001 From: Caroline Concatto Date: Wed, 19 Oct 2022 10:43:37 +0100 Subject: [PATCH] [AArch64] Replace sme-i64 by sme-i16i64 and sme-f64 by sme-f64f64 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 --- llvm/include/llvm/Support/AArch64TargetParser.def | 4 +-- llvm/include/llvm/Support/AArch64TargetParser.h | 4 +-- llvm/lib/Target/AArch64/AArch64.td | 6 ++-- llvm/lib/Target/AArch64/AArch64InstrInfo.td | 8 ++--- llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td | 6 ++-- .../Target/AArch64/AsmParser/AArch64AsmParser.cpp | 4 +-- llvm/lib/Target/AArch64/SMEInstrFormats.td | 2 +- llvm/test/CodeGen/AArch64/sme-intrinsics-add.ll | 2 +- llvm/test/CodeGen/AArch64/sme-intrinsics-mopa.ll | 4 +-- llvm/test/CodeGen/AArch64/sme-intrinsics-mops.ll | 4 +-- llvm/test/MC/AArch64/SME/addha-diagnostics.s | 2 +- llvm/test/MC/AArch64/SME/addha-u64.s | 36 +++++++++++----------- llvm/test/MC/AArch64/SME/addva-diagnostics.s | 2 +- llvm/test/MC/AArch64/SME/addva-u64.s | 36 +++++++++++----------- llvm/test/MC/AArch64/SME/directives-negative.s | 24 +++++++-------- llvm/test/MC/AArch64/SME/directives.s | 14 ++++----- llvm/test/MC/AArch64/SME/feature.s | 4 +-- llvm/test/MC/AArch64/SME/fmopa-diagnostics.s | 2 +- llvm/test/MC/AArch64/SME/fmopa-fp64.s | 36 +++++++++++----------- llvm/test/MC/AArch64/SME/fmops-diagnostics.s | 2 +- llvm/test/MC/AArch64/SME/fmops-fp64.s | 36 +++++++++++----------- llvm/test/MC/AArch64/SME/smopa-64.s | 36 +++++++++++----------- llvm/test/MC/AArch64/SME/smopa-diagnostics.s | 2 +- llvm/test/MC/AArch64/SME/smops-64.s | 36 +++++++++++----------- llvm/test/MC/AArch64/SME/smops-diagnostics.s | 2 +- llvm/test/MC/AArch64/SME/sumopa-64.s | 36 +++++++++++----------- llvm/test/MC/AArch64/SME/sumopa-diagnostics.s | 2 +- llvm/test/MC/AArch64/SME/sumops-64.s | 36 +++++++++++----------- llvm/test/MC/AArch64/SME/sumops-diagnostics.s | 2 +- llvm/test/MC/AArch64/SME/umopa-64.s | 36 +++++++++++----------- llvm/test/MC/AArch64/SME/umopa-diagnostics.s | 2 +- llvm/test/MC/AArch64/SME/umops-64.s | 36 +++++++++++----------- llvm/test/MC/AArch64/SME/umops-diagnostics.s | 2 +- llvm/test/MC/AArch64/SME/usmopa-64.s | 36 +++++++++++----------- llvm/test/MC/AArch64/SME/usmopa-diagnostics.s | 2 +- llvm/test/MC/AArch64/SME/usmops-64.s | 36 +++++++++++----------- llvm/test/MC/AArch64/SME/usmops-diagnostics.s | 2 +- llvm/unittests/Support/TargetParserTest.cpp | 10 +++--- 38 files changed, 276 insertions(+), 276 deletions(-) diff --git a/llvm/include/llvm/Support/AArch64TargetParser.def b/llvm/include/llvm/Support/AArch64TargetParser.def index b0745c3..e5cb9b8 100644 --- a/llvm/include/llvm/Support/AArch64TargetParser.def +++ b/llvm/include/llvm/Support/AArch64TargetParser.def @@ -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") diff --git a/llvm/include/llvm/Support/AArch64TargetParser.h b/llvm/include/llvm/Support/AArch64TargetParser.h index acc3234..8de7eb3 100644 --- a/llvm/include/llvm/Support/AArch64TargetParser.h +++ b/llvm/include/llvm/Support/AArch64TargetParser.h @@ -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 diff --git a/llvm/lib/Target/AArch64/AArch64.td b/llvm/lib/Target/AArch64/AArch64.td index efe0f9b..80115aa 100644 --- a/llvm/lib/Target/AArch64/AArch64.td +++ b/llvm/lib/Target/AArch64/AArch64.td @@ -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" diff --git a/llvm/lib/Target/AArch64/AArch64InstrInfo.td b/llvm/lib/Target/AArch64/AArch64InstrInfo.td index cfa2fdd..56c30f4 100644 --- a/llvm/lib/Target/AArch64/AArch64InstrInfo.td +++ b/llvm/lib/Target/AArch64/AArch64InstrInfo.td @@ -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, diff --git a/llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td b/llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td index 8932d9a..924cc4f 100644 --- a/llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td +++ b/llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td @@ -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>; diff --git a/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp b/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp index 9bfd985..c9b3e22 100644 --- a/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp +++ b/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp @@ -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 diff --git a/llvm/lib/Target/AArch64/SMEInstrFormats.td b/llvm/lib/Target/AArch64/SMEInstrFormats.td index cb36aa26..621a886 100644 --- a/llvm/lib/Target/AArch64/SMEInstrFormats.td +++ b/llvm/lib/Target/AArch64/SMEInstrFormats.td @@ -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; def ADDVA_MPPZ_PSEUDO_D : sme_add_vector_to_tile_pseudo; diff --git a/llvm/test/CodeGen/AArch64/sme-intrinsics-add.ll b/llvm/test/CodeGen/AArch64/sme-intrinsics-add.ll index d979484..e81329d 100644 --- a/llvm/test/CodeGen/AArch64/sme-intrinsics-add.ll +++ b/llvm/test/CodeGen/AArch64/sme-intrinsics-add.ll @@ -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( %pn, %pm, %zn) { ; CHECK-LABEL: addha_s: diff --git a/llvm/test/CodeGen/AArch64/sme-intrinsics-mopa.ll b/llvm/test/CodeGen/AArch64/sme-intrinsics-mopa.ll index 2ec28a5..b5c801d 100644 --- a/llvm/test/CodeGen/AArch64/sme-intrinsics-mopa.ll +++ b/llvm/test/CodeGen/AArch64/sme-intrinsics-mopa.ll @@ -109,8 +109,8 @@ define void @usmopa_d( %pn, %pm, , , , ) declare void @llvm.aarch64.sme.mopa.wide.nxv8f16(i64, , , , ) diff --git a/llvm/test/CodeGen/AArch64/sme-intrinsics-mops.ll b/llvm/test/CodeGen/AArch64/sme-intrinsics-mops.ll index 6d4de9f..417f20b 100644 --- a/llvm/test/CodeGen/AArch64/sme-intrinsics-mops.ll +++ b/llvm/test/CodeGen/AArch64/sme-intrinsics-mops.ll @@ -109,8 +109,8 @@ define void @usmops_d( %pn, %pm, , , , ) declare void @llvm.aarch64.sme.mops.wide.nxv8f16(i64, , , , ) diff --git a/llvm/test/MC/AArch64/SME/addha-diagnostics.s b/llvm/test/MC/AArch64/SME/addha-diagnostics.s index 3c7cb3a..0916c87 100644 --- a/llvm/test/MC/AArch64/SME/addha-diagnostics.s +++ b/llvm/test/MC/AArch64/SME/addha-diagnostics.s @@ -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 diff --git a/llvm/test/MC/AArch64/SME/addha-u64.s b/llvm/test/MC/AArch64/SME/addha-u64.s index c5b077a..2797960 100644 --- a/llvm/test/MC/AArch64/SME/addha-u64.s +++ b/llvm/test/MC/AArch64/SME/addha-u64.s @@ -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 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 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 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 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 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 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 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 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 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 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 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 diff --git a/llvm/test/MC/AArch64/SME/addva-diagnostics.s b/llvm/test/MC/AArch64/SME/addva-diagnostics.s index e68217a..03ee91c 100644 --- a/llvm/test/MC/AArch64/SME/addva-diagnostics.s +++ b/llvm/test/MC/AArch64/SME/addva-diagnostics.s @@ -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 diff --git a/llvm/test/MC/AArch64/SME/addva-u64.s b/llvm/test/MC/AArch64/SME/addva-u64.s index 48d0c3d..5895502 100644 --- a/llvm/test/MC/AArch64/SME/addva-u64.s +++ b/llvm/test/MC/AArch64/SME/addva-u64.s @@ -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 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 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 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 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 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 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 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 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 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 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 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 diff --git a/llvm/test/MC/AArch64/SME/directives-negative.s b/llvm/test/MC/AArch64/SME/directives-negative.s index 954cc9e..3df90b3 100644 --- a/llvm/test/MC/AArch64/SME/directives-negative.s +++ b/llvm/test/MC/AArch64/SME/directives-negative.s @@ -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 diff --git a/llvm/test/MC/AArch64/SME/directives.s b/llvm/test/MC/AArch64/SME/directives.s index ddbcf94..ca3ba9c 100644 --- a/llvm/test/MC/AArch64/SME/directives.s +++ b/llvm/test/MC/AArch64/SME/directives.s @@ -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 diff --git a/llvm/test/MC/AArch64/SME/feature.s b/llvm/test/MC/AArch64/SME/feature.s index 092ebb4..f6193b1 100644 --- a/llvm/test/MC/AArch64/SME/feature.s +++ b/llvm/test/MC/AArch64/SME/feature.s @@ -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 diff --git a/llvm/test/MC/AArch64/SME/fmopa-diagnostics.s b/llvm/test/MC/AArch64/SME/fmopa-diagnostics.s index 7a2f2ef..f84436e 100644 --- a/llvm/test/MC/AArch64/SME/fmopa-diagnostics.s +++ b/llvm/test/MC/AArch64/SME/fmopa-diagnostics.s @@ -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 diff --git a/llvm/test/MC/AArch64/SME/fmopa-fp64.s b/llvm/test/MC/AArch64/SME/fmopa-fp64.s index 089487d..081865c 100644 --- a/llvm/test/MC/AArch64/SME/fmopa-fp64.s +++ b/llvm/test/MC/AArch64/SME/fmopa-fp64.s @@ -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 // --------------------------------------------------------------------------// @@ -18,71 +18,71 @@ 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 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 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 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 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 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 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 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 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 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 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 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 diff --git a/llvm/test/MC/AArch64/SME/fmops-diagnostics.s b/llvm/test/MC/AArch64/SME/fmops-diagnostics.s index bf38ead..5bc947d 100644 --- a/llvm/test/MC/AArch64/SME/fmops-diagnostics.s +++ b/llvm/test/MC/AArch64/SME/fmops-diagnostics.s @@ -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 diff --git a/llvm/test/MC/AArch64/SME/fmops-fp64.s b/llvm/test/MC/AArch64/SME/fmops-fp64.s index f2e5831..10c5080 100644 --- a/llvm/test/MC/AArch64/SME/fmops-fp64.s +++ b/llvm/test/MC/AArch64/SME/fmops-fp64.s @@ -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 // --------------------------------------------------------------------------// @@ -18,71 +18,71 @@ 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 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 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 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 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 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 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 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 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 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 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 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 diff --git a/llvm/test/MC/AArch64/SME/smopa-64.s b/llvm/test/MC/AArch64/SME/smopa-64.s index 6b06ec1..5c47487 100644 --- a/llvm/test/MC/AArch64/SME/smopa-64.s +++ b/llvm/test/MC/AArch64/SME/smopa-64.s @@ -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 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 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 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 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 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 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 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 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 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 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 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 diff --git a/llvm/test/MC/AArch64/SME/smopa-diagnostics.s b/llvm/test/MC/AArch64/SME/smopa-diagnostics.s index 9351c12..435e6cb 100644 --- a/llvm/test/MC/AArch64/SME/smopa-diagnostics.s +++ b/llvm/test/MC/AArch64/SME/smopa-diagnostics.s @@ -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 diff --git a/llvm/test/MC/AArch64/SME/smops-64.s b/llvm/test/MC/AArch64/SME/smops-64.s index 5865204..e3c384a 100644 --- a/llvm/test/MC/AArch64/SME/smops-64.s +++ b/llvm/test/MC/AArch64/SME/smops-64.s @@ -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 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 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 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 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 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 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 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 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 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 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 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 diff --git a/llvm/test/MC/AArch64/SME/smops-diagnostics.s b/llvm/test/MC/AArch64/SME/smops-diagnostics.s index 3858764..5d10a33 100644 --- a/llvm/test/MC/AArch64/SME/smops-diagnostics.s +++ b/llvm/test/MC/AArch64/SME/smops-diagnostics.s @@ -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 diff --git a/llvm/test/MC/AArch64/SME/sumopa-64.s b/llvm/test/MC/AArch64/SME/sumopa-64.s index 87a1f4b..df5a7ff 100644 --- a/llvm/test/MC/AArch64/SME/sumopa-64.s +++ b/llvm/test/MC/AArch64/SME/sumopa-64.s @@ -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 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 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 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 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 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 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 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 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 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 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 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 diff --git a/llvm/test/MC/AArch64/SME/sumopa-diagnostics.s b/llvm/test/MC/AArch64/SME/sumopa-diagnostics.s index c908884..ab57f10 100644 --- a/llvm/test/MC/AArch64/SME/sumopa-diagnostics.s +++ b/llvm/test/MC/AArch64/SME/sumopa-diagnostics.s @@ -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 diff --git a/llvm/test/MC/AArch64/SME/sumops-64.s b/llvm/test/MC/AArch64/SME/sumops-64.s index d805572..b88406f 100644 --- a/llvm/test/MC/AArch64/SME/sumops-64.s +++ b/llvm/test/MC/AArch64/SME/sumops-64.s @@ -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 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 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 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 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 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 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 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 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 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 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 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 diff --git a/llvm/test/MC/AArch64/SME/sumops-diagnostics.s b/llvm/test/MC/AArch64/SME/sumops-diagnostics.s index 1c7bf58..874255e 100644 --- a/llvm/test/MC/AArch64/SME/sumops-diagnostics.s +++ b/llvm/test/MC/AArch64/SME/sumops-diagnostics.s @@ -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 diff --git a/llvm/test/MC/AArch64/SME/umopa-64.s b/llvm/test/MC/AArch64/SME/umopa-64.s index 872f7fe..95a7a52 100644 --- a/llvm/test/MC/AArch64/SME/umopa-64.s +++ b/llvm/test/MC/AArch64/SME/umopa-64.s @@ -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 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 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 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 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 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 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 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 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 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 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 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 diff --git a/llvm/test/MC/AArch64/SME/umopa-diagnostics.s b/llvm/test/MC/AArch64/SME/umopa-diagnostics.s index 552628f..f39b52e 100644 --- a/llvm/test/MC/AArch64/SME/umopa-diagnostics.s +++ b/llvm/test/MC/AArch64/SME/umopa-diagnostics.s @@ -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 diff --git a/llvm/test/MC/AArch64/SME/umops-64.s b/llvm/test/MC/AArch64/SME/umops-64.s index 6554abb..4e8be1e 100644 --- a/llvm/test/MC/AArch64/SME/umops-64.s +++ b/llvm/test/MC/AArch64/SME/umops-64.s @@ -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 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 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 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 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 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 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 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 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 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 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 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 diff --git a/llvm/test/MC/AArch64/SME/umops-diagnostics.s b/llvm/test/MC/AArch64/SME/umops-diagnostics.s index c869cd9..c723586 100644 --- a/llvm/test/MC/AArch64/SME/umops-diagnostics.s +++ b/llvm/test/MC/AArch64/SME/umops-diagnostics.s @@ -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 diff --git a/llvm/test/MC/AArch64/SME/usmopa-64.s b/llvm/test/MC/AArch64/SME/usmopa-64.s index 7da286c..ec27a23 100644 --- a/llvm/test/MC/AArch64/SME/usmopa-64.s +++ b/llvm/test/MC/AArch64/SME/usmopa-64.s @@ -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 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 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 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 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 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 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 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 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 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 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 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 diff --git a/llvm/test/MC/AArch64/SME/usmopa-diagnostics.s b/llvm/test/MC/AArch64/SME/usmopa-diagnostics.s index 2f3f9ef..5f45337 100644 --- a/llvm/test/MC/AArch64/SME/usmopa-diagnostics.s +++ b/llvm/test/MC/AArch64/SME/usmopa-diagnostics.s @@ -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 diff --git a/llvm/test/MC/AArch64/SME/usmops-64.s b/llvm/test/MC/AArch64/SME/usmops-64.s index a72596a..e0126e1 100644 --- a/llvm/test/MC/AArch64/SME/usmops-64.s +++ b/llvm/test/MC/AArch64/SME/usmops-64.s @@ -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 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 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 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 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 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 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 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 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 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 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 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 diff --git a/llvm/test/MC/AArch64/SME/usmops-diagnostics.s b/llvm/test/MC/AArch64/SME/usmops-diagnostics.s index a4d96ee..d58c1d5 100644 --- a/llvm/test/MC/AArch64/SME/usmops-diagnostics.s +++ b/llvm/test/MC/AArch64/SME/usmops-diagnostics.s @@ -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 diff --git a/llvm/unittests/Support/TargetParserTest.cpp b/llvm/unittests/Support/TargetParserTest.cpp index 4308d25..16d9b5d 100644 --- a/llvm/unittests/Support/TargetParserTest.cpp +++ b/llvm/unittests/Support/TargetParserTest.cpp @@ -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"}, -- 2.7.4