From: Mon P Wang Date: Tue, 9 Dec 2008 07:27:39 +0000 (+0000) Subject: In LegalizeOp, don't change the result type of CONVERT_RNDSAT when promoting X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=1cd46bbb1c6b1c3cb33bbbd3beb97f0c0373df80;p=oota-llvm.git In LegalizeOp, don't change the result type of CONVERT_RNDSAT when promoting one of its operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60749 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp index 445d32ff1b8..c13e84b0b36 100644 --- a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp +++ b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp @@ -3876,8 +3876,8 @@ SDValue SelectionDAGLegalize::LegalizeOp(SDValue Op) { default: assert(0 && "Unknown cvt code!"); case ISD::CVT_SF: case ISD::CVT_UF: - break; case ISD::CVT_FF: + break; case ISD::CVT_FS: case ISD::CVT_FU: case ISD::CVT_SS: @@ -3904,7 +3904,7 @@ SDValue SelectionDAGLegalize::LegalizeOp(SDValue Op) { Result = PromoteOp(Node->getOperand(0)); // For FP, make Op1 a i32 - Result = DAG.getConvertRndSat(Result.getValueType(), Result, + Result = DAG.getConvertRndSat(Op.getValueType(), Result, DTyOp, STyOp, RndOp, SatOp, CvtCode); break; }