diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp index 967f313c9885e9..0f86d99fd1beeb 100644 --- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp @@ -14886,6 +14886,11 @@ SDValue DAGCombiner::visitTRUNCATE_USAT(SDNode *N) { FPInstr.getOperand(0), DAG.getValueType(VT.getScalarType())); return Sat; + } else if (FPInstr.getOpcode() == ISD::FP_TO_UINT_SAT) { + SDValue Sat = DAG.getNode(ISD::FP_TO_UINT_SAT, SDLoc(FPInstr), VT, + FPInstr.getOperand(0), + DAG.getValueType(VT.getScalarType())); + return Sat; } return SDValue();