================ @@ -315,7 +315,7 @@ defm MATCH_ALLP_SYNC_64 : MATCH_ALLP_SYNC<Int64Regs, "b64", int_nvvm_match_all_s multiclass REDUX_SYNC<string BinOp, string PTXType, Intrinsic Intrin> { def : NVPTXInst<(outs Int32Regs:$dst), (ins Int32Regs:$src, Int32Regs:$mask), "redux.sync." # BinOp # "." # PTXType # " $dst, $src, $mask;", - [(set i32:$dst, (Intrin i32:$src, Int32Regs:$mask))]>, + [(set i32:$dst, (Intrin i32:$mask, Int32Regs:$src))]>, ---------------- AustinSchuh wrote:
I swear I read the code multiple times, and couldn't see the swap. I agree with you now, that's the right place to swap it. The argument order matches the docs in the other spots, but not in __clang_cuda_intrinsics.h. That also keeps the tests working (and explains why the tests didn't catch it). https://github.com/llvm/llvm-project/pull/132881 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits