mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-28 14:10:41 +00:00
2c47368a7d
when it should have been and'd with LowBits. Fix that and while there beef up the logic in the case of a negative LHS. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94745 91177308-0d34-0410-b5e6-96231b3b80d8
20 lines
544 B
LLVM
20 lines
544 B
LLVM
; RUN: opt < %s -instcombine -S | FileCheck %s
|
|
; PR6165
|
|
|
|
define i32 @f() {
|
|
entry:
|
|
br label %BB1
|
|
|
|
BB1: ; preds = %BB1, %entry
|
|
; CHECK: BB1:
|
|
%x = phi i32 [ -29, %entry ], [ 0, %BB1 ] ; <i32> [#uses=2]
|
|
%rem = srem i32 %x, 2 ; <i32> [#uses=1]
|
|
%t = icmp eq i32 %rem, -1 ; <i1> [#uses=1]
|
|
br i1 %t, label %BB2, label %BB1
|
|
; CHECK-NOT: br i1 false
|
|
|
|
BB2: ; preds = %BB1
|
|
; CHECK: BB2:
|
|
ret i32 %x
|
|
}
|