[clang] [Clang] Add __builtin_selectvector and use it for AVX512 intrinsics (PR #91306)

Aaron Ballman via cfe-commits cfe-commits at lists.llvm.org
Tue May 21 07:05:09 PDT 2024


================
@@ -3013,6 +3013,62 @@ Sema::CheckBuiltinFunctionCall(FunctionDecl *FDecl, unsigned BuiltinID,
     break;
   }
 
+  case Builtin::BI__builtin_selectvector: {
+    if (checkArgCount(*this, TheCall, 3))
+      return ExprError();
+
+    ExprResult LHS = TheCall->getArg(0);
+    ExprResult RHS = TheCall->getArg(1);
+
+    QualType Result = UsualArithmeticConversions(
+        LHS, RHS, TheCall->getExprLoc(), ACK_Comparison);
----------------
AaronBallman wrote:

Is comparison correct? The documentation makes it seem like this should actually be `ACK_Conditional`.

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


More information about the cfe-commits mailing list