[clang] [Clang][AArch64] Expose compatible SVE intrinsics with only +sme (PR #95787)

Sander de Smalen via cfe-commits cfe-commits at lists.llvm.org
Wed Jun 19 06:17:46 PDT 2024


================
@@ -286,10 +290,13 @@ let TargetGuard = "sve,f64mm,bf16" in {
 }
 
 let TargetGuard = "sve,bf16" in {
+  def SVBFMMLA       : SInst<"svbfmmla[_{0}]",       "MMdd",  "b", MergeNone, "aarch64_sve_bfmmla",       [IsOverloadNone]>;
+}
+
+let TargetGuard = "(sve,bf16)|sme" in {
----------------
sdesmalen-arm wrote:

> Looking at the specification suggests this should be (sve|sme),bf16?

`+sme` implies `+bf16`, so this is equivalent, although I guess that when modelling it with `(sve,bf16)|sme`, Clang would still accept the builtin with `+sme,+nobf16`, even though LLVM will fail to select.

https://github.com/llvm/llvm-project/pull/95787


More information about the cfe-commits mailing list