tra added inline comments.
================ Comment at: clang/lib/CodeGen/CGBuiltin.cpp:9603 + Value *Pred = Builder.CreateSExt(Builder.CreateExtractValue(ResultPair, 1), + PredOutPtr.getElementType()); + Builder.CreateStore(Pred, PredOutPtr); ---------------- jlebar wrote: > Doing sext i1 -> i32 is going to cause us to store 0 or -1 in the pred > (right?). The CUDA docs say > > > Predicate pred is set to true if all threads in mask have the same value of > > value; otherwise the predicate is set to false. > > I'd guess that "true" probably means 1 (i.e. uext i1 -> i32) rather than -1, > although, I guess we have to check. Right. It should've been ZExt. In similar places CUDA headers use "selp %r1, 1, 0, %p". https://reviews.llvm.org/D38191 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits