From: Luo <[email protected]> float to float trunc should use RNDU IR instruction.
v2: fix typo. should be RNDD instead of RNDU. Signed-off-by: Luo <[email protected]> --- backend/src/llvm/llvm_gen_backend.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/backend/src/llvm/llvm_gen_backend.cpp b/backend/src/llvm/llvm_gen_backend.cpp index 53dec0a..ee5b6a3 100644 --- a/backend/src/llvm/llvm_gen_backend.cpp +++ b/backend/src/llvm/llvm_gen_backend.cpp @@ -3310,11 +3310,9 @@ error: ir::Type srcType = getType(ctx, llvmSrcType); GBE_ASSERT(srcType == dstType); - const ir::Register tmp = ctx.reg(getFamily(ir::TYPE_S32)); const ir::Register dst = this->getRegister(&I); const ir::Register src = this->getRegister(I.getOperand(0)); - ctx.CVT(ir::TYPE_S32, srcType, tmp, src); - ctx.CVT(dstType, ir::TYPE_S32, dst, tmp); + ctx.RNDD(dstType, dst, src); } break; case Intrinsic::copysign: -- 1.9.1 _______________________________________________ Beignet mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/beignet
