mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-21 03:53:04 +02:00
regenerate checks
llvm-svn: 271117
This commit is contained in:
parent
fe05838f17
commit
a0cd62f38a
@ -1,7 +1,13 @@
|
||||
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
||||
; RUN: opt < %s -instcombine -S | FileCheck %s
|
||||
|
||||
|
||||
define i32 @foo(i32 %a, i32 %b, i32 %c, i32 %d) nounwind {
|
||||
define i32 @foo(i32 %a, i32 %b, i32 %c, i32 %d) {
|
||||
; CHECK-LABEL: @foo(
|
||||
; CHECK-NEXT: [[E:%.*]] = icmp slt i32 %a, %b
|
||||
; CHECK-NEXT: [[J:%.*]] = select i1 [[E]], i32 %c, i32 %d
|
||||
; CHECK-NEXT: ret i32 [[J]]
|
||||
;
|
||||
%e = icmp slt i32 %a, %b
|
||||
%f = sext i1 %e to i32
|
||||
%g = and i32 %c, %f
|
||||
@ -9,11 +15,14 @@ define i32 @foo(i32 %a, i32 %b, i32 %c, i32 %d) nounwind {
|
||||
%i = and i32 %d, %h
|
||||
%j = or i32 %g, %i
|
||||
ret i32 %j
|
||||
; CHECK: %e = icmp slt i32 %a, %b
|
||||
; CHECK-NEXT: [[result:%.*]] = select i1 %e, i32 %c, i32 %d
|
||||
; CHECK-NEXT: ret i32 [[result]]
|
||||
}
|
||||
define i32 @bar(i32 %a, i32 %b, i32 %c, i32 %d) nounwind {
|
||||
|
||||
define i32 @bar(i32 %a, i32 %b, i32 %c, i32 %d) {
|
||||
; CHECK-LABEL: @bar(
|
||||
; CHECK-NEXT: [[E:%.*]] = icmp slt i32 %a, %b
|
||||
; CHECK-NEXT: [[J:%.*]] = select i1 [[E]], i32 %c, i32 %d
|
||||
; CHECK-NEXT: ret i32 [[J]]
|
||||
;
|
||||
%e = icmp slt i32 %a, %b
|
||||
%f = sext i1 %e to i32
|
||||
%g = and i32 %c, %f
|
||||
@ -21,48 +30,49 @@ define i32 @bar(i32 %a, i32 %b, i32 %c, i32 %d) nounwind {
|
||||
%i = and i32 %d, %h
|
||||
%j = or i32 %i, %g
|
||||
ret i32 %j
|
||||
; CHECK: %e = icmp slt i32 %a, %b
|
||||
; CHECK-NEXT: [[result:%.*]] = select i1 %e, i32 %c, i32 %d
|
||||
; CHECK-NEXT: ret i32 [[result]]
|
||||
}
|
||||
|
||||
define i32 @goo(i32 %a, i32 %b, i32 %c, i32 %d) nounwind {
|
||||
entry:
|
||||
%0 = icmp slt i32 %a, %b
|
||||
%iftmp.0.0 = select i1 %0, i32 -1, i32 0
|
||||
%1 = and i32 %iftmp.0.0, %c
|
||||
define i32 @goo(i32 %a, i32 %b, i32 %c, i32 %d) {
|
||||
; CHECK-LABEL: @goo(
|
||||
; CHECK-NEXT: [[T0:%.*]] = icmp slt i32 %a, %b
|
||||
; CHECK-NEXT: [[T3:%.*]] = select i1 [[T0]], i32 %c, i32 %d
|
||||
; CHECK-NEXT: ret i32 [[T3]]
|
||||
;
|
||||
%t0 = icmp slt i32 %a, %b
|
||||
%iftmp.0.0 = select i1 %t0, i32 -1, i32 0
|
||||
%t1 = and i32 %iftmp.0.0, %c
|
||||
%not = xor i32 %iftmp.0.0, -1
|
||||
%2 = and i32 %not, %d
|
||||
%3 = or i32 %1, %2
|
||||
ret i32 %3
|
||||
; CHECK: %0 = icmp slt i32 %a, %b
|
||||
; CHECK-NEXT: [[result:%.*]] = select i1 %0, i32 %c, i32 %d
|
||||
; CHECK-NEXT: ret i32 [[result]]
|
||||
}
|
||||
define i32 @poo(i32 %a, i32 %b, i32 %c, i32 %d) nounwind {
|
||||
entry:
|
||||
%0 = icmp slt i32 %a, %b
|
||||
%iftmp.0.0 = select i1 %0, i32 -1, i32 0
|
||||
%1 = and i32 %iftmp.0.0, %c
|
||||
%iftmp = select i1 %0, i32 0, i32 -1
|
||||
%2 = and i32 %iftmp, %d
|
||||
%3 = or i32 %1, %2
|
||||
ret i32 %3
|
||||
; CHECK: %0 = icmp slt i32 %a, %b
|
||||
; CHECK-NEXT: [[result:%.*]] = select i1 %0, i32 %c, i32 %d
|
||||
; CHECK-NEXT: ret i32 [[result]]
|
||||
%t2 = and i32 %not, %d
|
||||
%t3 = or i32 %t1, %t2
|
||||
ret i32 %t3
|
||||
}
|
||||
|
||||
define i32 @par(i32 %a, i32 %b, i32 %c, i32 %d) nounwind {
|
||||
entry:
|
||||
%0 = icmp slt i32 %a, %b
|
||||
%iftmp.1.0 = select i1 %0, i32 -1, i32 0
|
||||
%1 = and i32 %iftmp.1.0, %c
|
||||
%not = xor i32 %iftmp.1.0, -1
|
||||
%2 = and i32 %not, %d
|
||||
%3 = or i32 %1, %2
|
||||
ret i32 %3
|
||||
; CHECK: %0 = icmp slt i32 %a, %b
|
||||
; CHECK-NEXT: [[result:%.*]] = select i1 %0, i32 %c, i32 %d
|
||||
; CHECK-NEXT: ret i32 [[result]]
|
||||
define i32 @poo(i32 %a, i32 %b, i32 %c, i32 %d) {
|
||||
; CHECK-LABEL: @poo(
|
||||
; CHECK-NEXT: [[T0:%.*]] = icmp slt i32 %a, %b
|
||||
; CHECK-NEXT: [[T3:%.*]] = select i1 [[T0]], i32 %c, i32 %d
|
||||
; CHECK-NEXT: ret i32 [[T3]]
|
||||
;
|
||||
%t0 = icmp slt i32 %a, %b
|
||||
%iftmp.0.0 = select i1 %t0, i32 -1, i32 0
|
||||
%t1 = and i32 %iftmp.0.0, %c
|
||||
%iftmp = select i1 %t0, i32 0, i32 -1
|
||||
%t2 = and i32 %iftmp, %d
|
||||
%t3 = or i32 %t1, %t2
|
||||
ret i32 %t3
|
||||
}
|
||||
|
||||
define i32 @par(i32 %a, i32 %b, i32 %c, i32 %d) {
|
||||
; CHECK-LABEL: @par(
|
||||
; CHECK-NEXT: [[T0:%.*]] = icmp slt i32 %a, %b
|
||||
; CHECK-NEXT: [[T3:%.*]] = select i1 [[T0]], i32 %c, i32 %d
|
||||
; CHECK-NEXT: ret i32 [[T3]]
|
||||
;
|
||||
%t0 = icmp slt i32 %a, %b
|
||||
%iftmp.1.0 = select i1 %t0, i32 -1, i32 0
|
||||
%t1 = and i32 %iftmp.1.0, %c
|
||||
%not = xor i32 %iftmp.1.0, -1
|
||||
%t2 = and i32 %not, %d
|
||||
%t3 = or i32 %t1, %t2
|
||||
ret i32 %t3
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user