diff --git a/llvm/lib/Target/AArch64/AArch64InstrInfo.td b/llvm/lib/Target/AArch64/AArch64InstrInfo.td index 9e7b5a0ffddef..0145da8e347fa 100644 --- a/llvm/lib/Target/AArch64/AArch64InstrInfo.td +++ b/llvm/lib/Target/AArch64/AArch64InstrInfo.td @@ -140,6 +140,12 @@ def HasSVE2orStreamingSVE : Predicate<"Subtarget->hasSVE2() || Subtarget->hasStreamingSVE()">, AssemblerPredicate<(any_of FeatureSVE2, FeatureStreamingSVE), "streaming-sve or sve2">; +// A subset of NEON instructions are legal in Streaming SVE execution mode, +// they should be enabled if either has been specified. +def HasNEONorStreamingSVE + : Predicate<"Subtarget->hasNEON() || Subtarget->hasStreamingSVE()">, + AssemblerPredicate<(any_of FeatureNEON, FeatureStreamingSVE), + "streaming-sve or neon">; def HasRCPC : Predicate<"Subtarget->hasRCPC()">, AssemblerPredicate<(all_of FeatureRCPC), "rcpc">; def HasAltNZCV : Predicate<"Subtarget->hasAlternativeNZCV()">,