[llvm][AArch64] Accept armv8.8 "hbc" and "mops" in .arch_extension directive

Reviewed By: lenary

Differential Revision: https://reviews.llvm.org/D117693
This commit is contained in:
David Spickett 2022-01-19 16:56:41 +00:00
parent c10c748878
commit 6732c43897
3 changed files with 27 additions and 1 deletions

View File

@ -3284,6 +3284,8 @@ static const struct Extension {
{"sme", {AArch64::FeatureSME}},
{"sme-f64", {AArch64::FeatureSMEF64}},
{"sme-i64", {AArch64::FeatureSMEI64}},
{"hbc", {AArch64::FeatureHBC}},
{"mops", {AArch64::FeatureMOPS}},
// FIXME: Unsupported extensions
{"lor", {}},
{"rdma", {}},

View File

@ -1,5 +1,5 @@
// RUN: not llvm-mc -triple aarch64 \
// RUN: -mattr=+crc,+sm4,+sha3,+sha2,+aes,+fp,+neon,+ras,+lse,+predres,+ccdp,+mte,+tlb-rmi,+pan-rwv,+ccpp,+rcpc,+ls64,+flagm \
// RUN: -mattr=+crc,+sm4,+sha3,+sha2,+aes,+fp,+neon,+ras,+lse,+predres,+ccdp,+mte,+tlb-rmi,+pan-rwv,+ccpp,+rcpc,+ls64,+flagm,+hbc,+mops \
// RUN: -filetype asm -o - %s 2>&1 | FileCheck %s
.arch_extension axp64
@ -131,3 +131,18 @@ cfinv
cfinv
// CHECK: [[@LINE-1]]:1: error: instruction requires: flagm
// CHECK-NEXT: cfinv
lbl:
bc.eq lbl
// CHECK-NOT: [[@LINE-1]]:1: error: instruction requires: hbc
.arch_extension nohbc
bc.eq lbl
// CHECK: [[@LINE-1]]:1: error: instruction requires: hbc
// CHECK-NEXT: bc.eq lbl
cpyfp [x0]!, [x1]!, x2!
// CHECK-NOT: [[@LINE-1]]:1: error: instruction requires: mops
.arch_extension nomops
cpyfp [x0]!, [x1]!, x2!
// CHECK: [[@LINE-1]]:1: error: instruction requires: mops
// CHECK-NEXT: cpyfp [x0]!, [x1]!, x2!

View File

@ -83,3 +83,12 @@ paciasp
.arch_extension flagm
cfinv
// CHECK: cfinv
.arch_extension hbc
lbl:
bc.eq lbl
// CHECK: bc.eq lbl
.arch_extension mops
cpyfp [x0]!, [x1]!, x2!
// CHECK: cpyfp [x0]!, [x1]!, x2!