[clang] [llvm] [HLSL] Handle WaveActiveBallot struct return type appropriately (PR #175105)

Farzon Lotfi via cfe-commits cfe-commits at lists.llvm.org
Mon Jan 12 15:54:32 PST 2026


================
@@ -153,7 +153,7 @@ def int_dx_rsqrt  : DefaultAttrsIntrinsic<[llvm_anyfloat_ty], [LLVMMatchType<0>]
 def int_dx_wave_active_countbits : DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_i1_ty], [IntrConvergent, IntrNoMem]>;
 def int_dx_wave_all : DefaultAttrsIntrinsic<[llvm_i1_ty], [llvm_i1_ty], [IntrConvergent, IntrNoMem]>;
 def int_dx_wave_any : DefaultAttrsIntrinsic<[llvm_i1_ty], [llvm_i1_ty], [IntrConvergent, IntrNoMem]>;
-def int_dx_wave_ballot : DefaultAttrsIntrinsic<[llvm_anyint_ty, LLVMMatchType<0>, LLVMMatchType<0>, LLVMMatchType<0>], [llvm_i1_ty], [IntrConvergent, IntrNoMem]>;
+def int_dx_wave_ballot : DefaultAttrsIntrinsic<[llvm_i32_ty, llvm_i32_ty, llvm_i32_ty, llvm_i32_ty], [llvm_i1_ty], [IntrConvergent, IntrNoMem]>;
----------------
farzonl wrote:

Curious why you just didn't  `llvm_anyint_ty` `llvm_i32_ty`?  I believe types  1-3 can still do LLVMMatchType<0>. Did you find that not to be the case?

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


More information about the cfe-commits mailing list