diff --git a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
index c115710..d24c846 100644
--- a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+++ b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
@@ -4168,13 +4168,16 @@
     break;
   }
 
-  case ISD::SADDO: {
+  case ISD::SADDO:
+  case ISD::UADDO: {
     SDValue LHS = LegalizeOp(Node->getOperand(0));
     SDValue RHS = LegalizeOp(Node->getOperand(1));
 
     SDValue Sum = DAG.getNode(ISD::ADD, LHS.getValueType(), LHS, RHS);
     MVT OType = SDValue(Node, 1).getValueType();
-    SDValue Cmp = DAG.getSetCC(OType, Sum, LHS, ISD::SETLT);
+    SDValue Cmp = DAG.getSetCC(OType, Sum, LHS,
+                               (Node->getOpcode() == ISD::SADDO) ?
+                               ISD::SETLT : ISD::SETULT);
 
     MVT ValueVTs[] = { LHS.getValueType(), OType };
     SDValue Ops[] = { Sum, Cmp };
@@ -4185,9 +4188,6 @@
     DAG.ReplaceAllUsesOfValueWith(SDValue(Node, 1), SDValue(RNode, 1));
     break;
   }
-  case ISD::UADDO: {
-    break;
-  }
   }
   
   assert(Result.getValueType() == Op.getValueType() &&
diff --git a/test/CodeGen/Generic/add-with-overflow.ll b/test/CodeGen/Generic/add-with-overflow.ll
index d23b75c..e6ad7bb 100644
--- a/test/CodeGen/Generic/add-with-overflow.ll
+++ b/test/CodeGen/Generic/add-with-overflow.ll
@@ -3,7 +3,7 @@
 @ok = internal constant [4 x i8] c"%d\0A\00"
 @no = internal constant [4 x i8] c"no\0A\00"
 
-define i1 @foo(i32 %v1, i32 %v2) nounwind {
+define i1 @func1(i32 %v1, i32 %v2) nounwind {
 entry:
   %t = call {i32, i1} @llvm.sadd.with.overflow.i32(i32 %v1, i32 %v2)
   %sum = extractvalue {i32, i1} %t, 0
@@ -19,5 +19,22 @@
   ret i1 false
 }
 
+define i1 @func2(i32 %v1, i32 %v2) nounwind {
+entry:
+  %t = call {i32, i1} @llvm.uadd.with.overflow.i32(i32 %v1, i32 %v2)
+  %sum = extractvalue {i32, i1} %t, 0
+  %obit = extractvalue {i32, i1} %t, 1
+  br i1 %obit, label %overflow, label %normal
+
+normal:
+  %t1 = tail call i32 (i8*, ...)* @printf( i8* getelementptr ([4 x i8]* @ok, i32 0, i32 0), i32 %sum ) nounwind
+  ret i1 true
+
+overflow:
+  %t2 = tail call i32 (i8*, ...)* @printf( i8* getelementptr ([4 x i8]* @no, i32 0, i32 0) ) nounwind
+  ret i1 false
+}
+
 declare i32 @printf(i8*, ...) nounwind
 declare {i32, i1} @llvm.sadd.with.overflow.i32(i32, i32)
+declare {i32, i1} @llvm.uadd.with.overflow.i32(i32, i32)
