[clang] [CIR][AArch64] Lower vfma lane builtins (PR #188190)

Andrzej WarzyƄski via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 6 11:18:50 PDT 2026


================
@@ -139,11 +139,10 @@ static cir::VectorType getNeonType(CIRGenFunction *cgf, NeonTypeFlags typeFlags,
       cgf->getCIRGenModule().errorNYI(loc, std::string("NEON type: BFloat16"));
     [[fallthrough]];
   case NeonTypeFlags::Float16:
-    if (hasLegalHalfType)
+    if (!hasLegalHalfType)
       cgf->getCIRGenModule().errorNYI(loc, std::string("NEON type: Float16"));
----------------
banach-space wrote:

>  I understand that since CIR now has the required f16 type support for this path, rejecting NeonTypeFlags::Float16 in getNeonType() is unnecessary?

Indeed. Also, apologies, that link is out-of-date. Here's an updated one that points to the updated definition of `hasLegalHalfType`:  https://github.com/llvm/llvm-project/blob/8d7823ea8f40cf5df1c623018bf9c0a308fa4a36/clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp?plain=1#L228

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


More information about the cfe-commits mailing list