InstCombine: Fix miscompile in X % -Y -> X % Y transform
[oota-llvm.git] / test / Transforms / InstCombine / sub.ll
index e0b3a07c2333da212bdf331e8305721b54bc0d7b..1d1bedc0a7bb1d06fcac0b1237182428af8d9d3b 100644 (file)
@@ -142,8 +142,9 @@ define i32 @test15(i32 %A, i32 %B) {
        %D = srem i32 %B, %C
        ret i32 %D
 ; CHECK-LABEL: @test15(
-; CHECK: %D = srem i32 %B, %A
-; CHECK: ret i32 %D
+; CHECK:      %[[sub:.*]] = sub i32 0, %A
+; CHECK-NEXT: %[[rem:.*]] = srem i32 %B, %[[sub]]
+; CHECK: ret i32 %[[rem]]
 }
 
 define i32 @test16(i32 %A) {