From: Luo Xionghu <[email protected]> the overflow type should be unsigned for uadd_with_overflow. this patch fixed the "dnetc -test rc5-72 0" 15 fails out of 32 when disabled bswap.
Signed-off-by: Luo Xionghu <[email protected]> --- backend/src/llvm/llvm_gen_backend.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/backend/src/llvm/llvm_gen_backend.cpp b/backend/src/llvm/llvm_gen_backend.cpp index 3d74a0a..7f92658 100644 --- a/backend/src/llvm/llvm_gen_backend.cpp +++ b/backend/src/llvm/llvm_gen_backend.cpp @@ -2980,7 +2980,8 @@ namespace gbe ctx.ADD(dst0Type, dst0, src0, src1); ir::Register overflow = this->getRegister(&I, 1); - ctx.LT(dst0Type, overflow, dst0, src1); + const ir::Type unsignedType = makeTypeUnsigned(dst0Type); + ctx.LT(unsignedType, overflow, dst0, src1); } break; case Intrinsic::usub_with_overflow: -- 1.7.9.5 _______________________________________________ Beignet mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/beignet
