[PATCH] D88905: [Clang] Allow "ext_vector_type" applied to Booleans

Aaron Ballman via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Mar 14 09:07:23 PDT 2022


aaron.ballman added a comment.

Sema bits look pretty reasonable to me (I don't feel qualified to review the codegen bits).



================
Comment at: clang/lib/Sema/SemaExpr.cpp:10244-10245
+  // This operation may not be performed on boolean vectors.
+  if (!AllowBoolOperation && (isBoolOrExtVectorBoolType(LHSType) &&
+                              isBoolOrExtVectorBoolType(RHSType)))
+    return ReportInvalid ? InvalidOperands(Loc, LHS, RHS) : QualType();
----------------
No need for the parens, but should that `&&` have been `||`?


================
Comment at: clang/lib/Sema/SemaExprCXX.cpp:6099
+  assert(!EltTy->isEnumeralType() && "Vectors cant be enum types");
+  return EltTy->isIntegralType(Ctx) || EltTy->isBooleanType();
 }
----------------
`bool` is already covered by `isIntegralType()`.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D88905/new/

https://reviews.llvm.org/D88905



More information about the cfe-commits mailing list