ComputeMaskedBits: sub falls through to add, and sub doesn't have the same overflow...
[oota-llvm.git] / test / Transforms / InstCombine / sext.ll
index 60669b7a109f45bb85bcd71eb64182157b4ba2ba..da52d92695275ef6d096b4b1f68277d06079f566 100644 (file)
@@ -126,3 +126,13 @@ define void @test11(<2 x i16> %srcA, <2 x i16> %srcB, <2 x i16>* %dst) {
 ; CHECK-NEXT: store <2 x i16>
 ; CHECK-NEXT: ret
 }                                                                                                                               
+
+define i64 @test12(i32 %x) nounwind {
+  %shr = lshr i32 %x, 1
+  %sub = sub nsw i32 0, %shr
+  %conv = sext i32 %sub to i64
+  ret i64 %conv
+; CHECK: @test12
+; CHECK: sext
+; CHECK: ret
+}