[clang] [llvm] [SPIR-V] Add builtin/intrinsic for subgroup ballot (PR #174862)

Joseph Huber via cfe-commits cfe-commits at lists.llvm.org
Fri Jan 9 08:57:09 PST 2026


================
@@ -77,6 +77,8 @@ let TargetPrefix = "spv" in {
                           Intrinsic<[llvm_i32_ty], [], [NoUndef<RetIndex>, IntrNoMem, IntrWillReturn]>;
   def int_spv_subgroup_max_size : ClangBuiltin<"__builtin_spirv_subgroup_max_size">,
                           Intrinsic<[llvm_i32_ty], [], [NoUndef<RetIndex>, IntrNoMem, IntrWillReturn]>;
+  def int_spv_subgroup_ballot : ClangBuiltin<"__builtin_spirv_subgroup_ballot">,
----------------
jhuber6 wrote:

They both emit the same `OpNonUniformBallot` opcodes right now, might need to split them if they ever do something differently. I think DX can have a 128 bit wave size while all the hardware is 64 or less?

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


More information about the cfe-commits mailing list