diff options
Diffstat (limited to 'llvm/test/Transforms')
| -rw-r--r-- | llvm/test/Transforms/InstCombine/sub.ll | 13 | 
1 files changed, 7 insertions, 6 deletions
| diff --git a/llvm/test/Transforms/InstCombine/sub.ll b/llvm/test/Transforms/InstCombine/sub.ll index a9dffe793a1..5ff0ed5b40c 100644 --- a/llvm/test/Transforms/InstCombine/sub.ll +++ b/llvm/test/Transforms/InstCombine/sub.ll @@ -445,13 +445,14 @@ define <2 x i64> @test36(<2 x i64> %A) {  ; CHECK-NEXT: ret <2 x i64> %sub  } -define <2 x i64> @test37(<2 x i64> %A) { -  %shl = shl <2 x i64> %A, <i64 3, i64 4> -  %sub = sub <2 x i64> %shl, %A -  ret <2 x i64> %sub +define <2 x i32> @test37(<2 x i32> %A) { +  %div = sdiv <2 x i32> %A, <i32 -2147483648, i32 -2147483648> +  %sub = sub nsw <2 x i32> zeroinitializer, %div +  ret <2 x i32> %sub  ; CHECK-LABEL: @test37( -; CHECK-NEXT: %sub = mul <2 x i64> %A, <i64 7, i64 15> -; CHECK-NEXT: ret <2 x i64> %sub +; CHECK-NEXT: [[DIV:%.*]] = sdiv <2 x i32> %A, <i32 -2147483648, i32 -2147483648> +; CHECK-NEXT: [[SUB:%.*]] = sub nsw <2 x i32> zeroinitializer, %div +; CHECK-NEXT: ret <2 x i32> [[SUB]]  }  define i32 @test38(i32 %A) { | 

