================
@@ -19108,6 +19108,21 @@ case Builtin::BI__builtin_hlsl_elementwise_isinf: {
         /*ReturnType=*/Op0->getType(), CGM.getHLSLRuntime().getStepIntrinsic(),
         ArrayRef<Value *>{Op0, Op1}, nullptr, "hlsl.step");
   }
+  case Builtin::BI__builtin_hlsl_wave_active_any_true: {
+    IntegerType *Int1Ty =
+        llvm::Type::getInt1Ty(CGM.getTypes().getLLVMContext());
+    Value *Op = EmitScalarExpr(E->getArg(0));
+    assert(Op->getType() == Int1Ty &&
+           "wave_active_any_true operand must be a bool");
+
+    llvm::FunctionType *FT =
----------------
inbelic wrote:

The Function declaration/name were manually retrieved in `WaveReadLaneAt` due 
to the overloaded types. Since there are no overloads in this op I think you 
can just do:
`Intrinsic::getOrInsertDeclartion(&CGM.getModule(), 
CGM.getHLSLRuntime().getWaveActiveAnyTrueIntrinsic())`

https://github.com/llvm/llvm-project/pull/115902
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to