================ @@ -162,6 +162,62 @@ __gpu_shuffle_idx_u64(uint64_t __lane_mask, uint32_t __idx, uint64_t __x, ((uint64_t)__gpu_shuffle_idx_u32(__lane_mask, __idx, __lo, __width)); } +// Returns a bitmask marking all lanes that have the same value of __x. +_DEFAULT_FN_ATTRS static __inline__ uint64_t ---------------- jhuber6 wrote:
Honestly I got confused myself whether or not the return value was a number or a mask. I think that having a `typedef uint64_t __lanemask_t` would be helpful for keeping that unambiguous, but I think that it's best just to keep it `uint64_t` for all targets to simplify code and keep it portable. I might do that in a follow-up patch. https://github.com/llvm/llvm-project/pull/127504 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits