[llvm] [LLVM][AArch64] Relax SVE/SME codegen predicates. (PR #145322)
Sander de Smalen via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 1 03:31:13 PDT 2025
================
@@ -269,32 +269,38 @@ def HasNonStreamingSVE_or_SSVE_BitPerm
AssemblerPredicateWithAll<(any_of FeatureSVE, FeatureSSVE_BitPerm),
"sve or ssve-bitperm">;
def HasNonStreamingSVE_or_SSVE_FEXPA
- : Predicate<"(Subtarget->isSVEAvailable() && Subtarget->hasSVE()) ||"
+ : Predicate<"Subtarget->isSVEAvailable() ||"
"(Subtarget->isSVEorStreamingSVEAvailable() && Subtarget->hasSSVE_FEXPA())">,
AssemblerPredicateWithAll<(any_of FeatureSVE, FeatureSSVE_FEXPA),
"sve or ssve-fexpa">;
def HasSVE2_or_SME
- : Predicate<"Subtarget->hasSVE2() || (Subtarget->isStreaming() && Subtarget->hasSME())">,
+ : Predicate<"Subtarget->isSVEorStreamingSVEAvailable() && (Subtarget->hasSVE2() || Subtarget->hasSME())">,
AssemblerPredicateWithAll<(any_of FeatureSVE2, FeatureSME),
"sve2 or sme">;
-def HasSVE2_or_SME2
- : Predicate<"Subtarget->hasSVE2() || (Subtarget->isStreaming() && Subtarget->hasSME2())">,
+def HasNonStreamingSVE2_or_SME2
----------------
sdesmalen-arm wrote:
nit: maybe move these above `HasSVE2_or_SME` to bundle them together with the other `HasNonStreamingSVE*_or_SME*` ?
https://github.com/llvm/llvm-project/pull/145322
More information about the llvm-commits
mailing list