parent
33269813df
commit
7bc85a931e
|
@ -383,42 +383,58 @@ next:
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
; SMAX(SMAX(x, y), x) -> SMAX(x, y)
|
||||||
define i32 @test30(i32 %x, i32 %y) {
|
define i32 @test30(i32 %x, i32 %y) {
|
||||||
%cmp = icmp sgt i32 %x, %y
|
%cmp = icmp sgt i32 %x, %y
|
||||||
%cond = select i1 %cmp, i32 %x, i32 %y
|
%cond = select i1 %cmp, i32 %x, i32 %y
|
||||||
|
|
||||||
%cmp5 = icmp sgt i32 %cond, %x
|
%cmp5 = icmp sgt i32 %cond, %x
|
||||||
%retval = select i1 %cmp5, i32 %cond, i32 %x
|
%retval = select i1 %cmp5, i32 %cond, i32 %x
|
||||||
ret i32 %retval
|
ret i32 %retval
|
||||||
|
; CHECK: @test30
|
||||||
|
; CHECK: ret i32 %cond
|
||||||
}
|
}
|
||||||
|
|
||||||
|
; UMAX(UMAX(x, y), x) -> UMAX(x, y)
|
||||||
define i32 @test31(i32 %x, i32 %y) {
|
define i32 @test31(i32 %x, i32 %y) {
|
||||||
%cmp = icmp ugt i32 %x, %y
|
%cmp = icmp ugt i32 %x, %y
|
||||||
%cond = select i1 %cmp, i32 %x, i32 %y
|
%cond = select i1 %cmp, i32 %x, i32 %y
|
||||||
%cmp5 = icmp ugt i32 %cond, %x
|
%cmp5 = icmp ugt i32 %cond, %x
|
||||||
%retval = select i1 %cmp5, i32 %cond, i32 %x
|
%retval = select i1 %cmp5, i32 %cond, i32 %x
|
||||||
ret i32 %retval
|
ret i32 %retval
|
||||||
|
; CHECK: @test31
|
||||||
|
; CHECK: ret i32 %cond
|
||||||
}
|
}
|
||||||
|
|
||||||
|
; SMIN(SMIN(x, y), x) -> SMIN(x, y)
|
||||||
define i32 @test32(i32 %x, i32 %y) {
|
define i32 @test32(i32 %x, i32 %y) {
|
||||||
%cmp = icmp sgt i32 %x, %y
|
%cmp = icmp sgt i32 %x, %y
|
||||||
%cond = select i1 %cmp, i32 %y, i32 %x
|
%cond = select i1 %cmp, i32 %y, i32 %x
|
||||||
%cmp5 = icmp sgt i32 %cond, %x
|
%cmp5 = icmp sgt i32 %cond, %x
|
||||||
%retval = select i1 %cmp5, i32 %x, i32 %cond
|
%retval = select i1 %cmp5, i32 %x, i32 %cond
|
||||||
ret i32 %retval
|
ret i32 %retval
|
||||||
|
; CHECK: @test32
|
||||||
|
; CHECK: ret i32 %cond
|
||||||
}
|
}
|
||||||
|
|
||||||
|
; MAX(MIN(x, y), x) -> x
|
||||||
define i32 @test33(i32 %x, i32 %y) {
|
define i32 @test33(i32 %x, i32 %y) {
|
||||||
%cmp = icmp sgt i32 %x, %y
|
%cmp = icmp sgt i32 %x, %y
|
||||||
%cond = select i1 %cmp, i32 %y, i32 %x
|
%cond = select i1 %cmp, i32 %y, i32 %x
|
||||||
%cmp5 = icmp sgt i32 %cond, %x
|
%cmp5 = icmp sgt i32 %cond, %x
|
||||||
%retval = select i1 %cmp5, i32 %cond, i32 %x
|
%retval = select i1 %cmp5, i32 %cond, i32 %x
|
||||||
ret i32 %retval
|
ret i32 %retval
|
||||||
|
; CHECK: @test33
|
||||||
|
; CHECK: ret i32 %x
|
||||||
}
|
}
|
||||||
|
|
||||||
|
; MIN(MAX(x, y), x) -> x
|
||||||
define i32 @test34(i32 %x, i32 %y) {
|
define i32 @test34(i32 %x, i32 %y) {
|
||||||
%cmp = icmp sgt i32 %x, %y
|
%cmp = icmp sgt i32 %x, %y
|
||||||
%cond = select i1 %cmp, i32 %x, i32 %y
|
%cond = select i1 %cmp, i32 %x, i32 %y
|
||||||
%cmp5 = icmp sgt i32 %cond, %x
|
%cmp5 = icmp sgt i32 %cond, %x
|
||||||
%retval = select i1 %cmp5, i32 %x, i32 %cond
|
%retval = select i1 %cmp5, i32 %x, i32 %cond
|
||||||
ret i32 %retval
|
ret i32 %retval
|
||||||
|
; CHECK: @test34
|
||||||
|
; CHECK: ret i32 %x
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue