Author: Joseph Huber Date: 2025-03-05T19:15:23-06:00 New Revision: 12c5a46c300eedb6cafc68b987abb9c1fa913e96
URL: https://github.com/llvm/llvm-project/commit/12c5a46c300eedb6cafc68b987abb9c1fa913e96 DIFF: https://github.com/llvm/llvm-project/commit/12c5a46c300eedb6cafc68b987abb9c1fa913e96.diff LOG: [Clang] Fix incorrect condition on ballot Summary: Somehow these got the `!` dropped and it wasn't tested because the existing test only used the 32-bit variant. Added: Modified: clang/lib/Headers/amdgpuintrin.h clang/lib/Headers/nvptxintrin.h Removed: ################################################################################ diff --git a/clang/lib/Headers/amdgpuintrin.h b/clang/lib/Headers/amdgpuintrin.h index 6ad8e54f4aadd..15409eacf7716 100644 --- a/clang/lib/Headers/amdgpuintrin.h +++ b/clang/lib/Headers/amdgpuintrin.h @@ -187,7 +187,7 @@ __gpu_match_any_u64(uint64_t __lane_mask, uint64_t __x) { uint64_t __match_mask = 0; bool __done = 0; - while (__gpu_ballot(__lane_mask, __done)) { + while (__gpu_ballot(__lane_mask, !__done)) { if (!__done) { uint64_t __first = __gpu_read_first_lane_u64(__lane_mask, __x); if (__first == __x) { diff --git a/clang/lib/Headers/nvptxintrin.h b/clang/lib/Headers/nvptxintrin.h index 03594dd9bd6cb..7af22baccb511 100644 --- a/clang/lib/Headers/nvptxintrin.h +++ b/clang/lib/Headers/nvptxintrin.h @@ -207,7 +207,7 @@ __gpu_match_any_u64(uint64_t __lane_mask, uint64_t __x) { uint64_t __match_mask = 0; bool __done = 0; - while (__gpu_ballot(__lane_mask, __done)) { + while (__gpu_ballot(__lane_mask, !__done)) { if (!__done) { uint64_t __first = __gpu_read_first_lane_u64(__lane_mask, __x); if (__first == __x) { _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits