From 1a9577bde1dd3dc25eac2a78fb685f37351004cb Mon Sep 17 00:00:00 2001 From: Lucas Prates Date: Wed, 2 Dec 2020 16:00:02 +0000 Subject: [PATCH] [AArch64] Add support for ls64 to the .arch_extension asm directive This adds support for the 'ls64' AArch64 extension to the `.arch_extension` asm directive. Reviewed By: ostannard Differential Revision: https://reviews.llvm.org/D92574 --- llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp | 1 + llvm/test/MC/AArch64/directive-arch_extension-negative.s | 5 +++++ llvm/test/MC/AArch64/directive-arch_extension.s | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp b/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp index 069bb5e44f0e..26e093bf4ce7 100644 --- a/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp +++ b/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp @@ -2912,6 +2912,7 @@ static const struct Extension { {"sve2-sm4", {AArch64::FeatureSVE2SM4}}, {"sve2-sha3", {AArch64::FeatureSVE2SHA3}}, {"sve2-bitperm", {AArch64::FeatureSVE2BitPerm}}, + {"ls64", {AArch64::FeatureLS64}}, {"xs", {AArch64::FeatureXS}}, // FIXME: Unsupported extensions {"pan", {}}, diff --git a/llvm/test/MC/AArch64/directive-arch_extension-negative.s b/llvm/test/MC/AArch64/directive-arch_extension-negative.s index 8901247978a8..9d67abb80054 100644 --- a/llvm/test/MC/AArch64/directive-arch_extension-negative.s +++ b/llvm/test/MC/AArch64/directive-arch_extension-negative.s @@ -83,3 +83,8 @@ dc cvap, x7 ldapr x0, [x1] // CHECK: error: instruction requires: rcpc // CHECK-NEXT: ldapr x0, [x1] + +.arch_extension nols64 +ld64b x0, [x13] +// CHECK: error: instruction requires: ls64 +// CHECK-NEXT: ld64b x0, [x13] diff --git a/llvm/test/MC/AArch64/directive-arch_extension.s b/llvm/test/MC/AArch64/directive-arch_extension.s index 790bcf355475..a44b14ddeea2 100644 --- a/llvm/test/MC/AArch64/directive-arch_extension.s +++ b/llvm/test/MC/AArch64/directive-arch_extension.s @@ -67,3 +67,7 @@ dc cvap, x7 .arch_extension rcpc ldapr x0, [x1] // CHECK: ldapr x0, [x1] + +.arch_extension ls64 +ld64b x0, [x13] +// CHECK: ld64b x0, [x13]