forked from OSchip/llvm-project
[InstCombine] regenerate complete test checks; NFC
This commit is contained in:
parent
eaebcbc679
commit
5b8c79ce76
|
@ -1,34 +1,45 @@
|
|||
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
|
||||
; RUN: opt -instcombine -S < %s | FileCheck %s
|
||||
|
||||
; CHECK: @foo1
|
||||
define float @foo1(float %a) #0 {
|
||||
; CHECK-NOT: xor
|
||||
%b = fcmp ogt float %a, 0.000000e+00
|
||||
%c = select i1 %b, float %a, float 0.000000e+00
|
||||
%d = fcmp olt float %c, 1.000000e+00
|
||||
%f = select i1 %d, float %c, float 1.000000e+00
|
||||
define float @foo1(float %a) {
|
||||
; CHECK-LABEL: @foo1(
|
||||
; CHECK-NEXT: [[B:%.*]] = fcmp ogt float [[A:%.*]], 0.000000e+00
|
||||
; CHECK-NEXT: [[C:%.*]] = select i1 [[B]], float [[A]], float 0.000000e+00
|
||||
; CHECK-NEXT: [[D:%.*]] = fcmp olt float [[C]], 1.000000e+00
|
||||
; CHECK-NEXT: [[F:%.*]] = select i1 [[D]], float [[C]], float 1.000000e+00
|
||||
; CHECK-NEXT: ret float [[F]]
|
||||
;
|
||||
%b = fcmp ogt float %a, 0.0
|
||||
%c = select i1 %b, float %a, float 0.0
|
||||
%d = fcmp olt float %c, 1.0
|
||||
%f = select i1 %d, float %c, float 1.0
|
||||
ret float %f
|
||||
}
|
||||
|
||||
; CHECK: @foo2
|
||||
define float @foo2(float %a) #0 {
|
||||
; CHECK-NOT: xor
|
||||
%b = fcmp ogt float %a, 0.000000e+00
|
||||
%c = select i1 %b, float %a, float 0.000000e+00
|
||||
%d = fcmp olt float %c, 1.000000e+00
|
||||
%e = select i1 %b, float %a, float 0.000000e+00
|
||||
%f = select i1 %d, float %e, float 1.000000e+00
|
||||
define float @foo2(float %a) {
|
||||
; CHECK-LABEL: @foo2(
|
||||
; CHECK-NEXT: [[B:%.*]] = fcmp ogt float [[A:%.*]], 0.000000e+00
|
||||
; CHECK-NEXT: [[C:%.*]] = select i1 [[B]], float [[A]], float 0.000000e+00
|
||||
; CHECK-NEXT: [[D:%.*]] = fcmp olt float [[C]], 1.000000e+00
|
||||
; CHECK-NEXT: [[E:%.*]] = select i1 [[B]], float [[A]], float 0.000000e+00
|
||||
; CHECK-NEXT: [[F:%.*]] = select i1 [[D]], float [[E]], float 1.000000e+00
|
||||
; CHECK-NEXT: ret float [[F]]
|
||||
;
|
||||
%b = fcmp ogt float %a, 0.0
|
||||
%c = select i1 %b, float %a, float 0.0
|
||||
%d = fcmp olt float %c, 1.0
|
||||
%e = select i1 %b, float %a, float 0.0
|
||||
%f = select i1 %d, float %e, float 1.0
|
||||
ret float %f
|
||||
}
|
||||
|
||||
; CHECK-LABEL: @foo3
|
||||
define <2 x i32> @foo3(<2 x i1> %vec_bool, i1 %bool, <2 x i32> %V) {
|
||||
; CHECK: %[[sel0:.*]] = select <2 x i1> %vec_bool, <2 x i32> zeroinitializer, <2 x i32> %V
|
||||
; CHECK: %[[sel1:.*]] = select i1 %bool, <2 x i32> %[[sel0]], <2 x i32> %V
|
||||
; CHECK: ret <2 x i32> %[[sel1]]
|
||||
; CHECK-LABEL: @foo3(
|
||||
; CHECK-NEXT: [[SEL0:%.*]] = select <2 x i1> [[VEC_BOOL:%.*]], <2 x i32> zeroinitializer, <2 x i32> [[V:%.*]]
|
||||
; CHECK-NEXT: [[SEL1:%.*]] = select i1 [[BOOL:%.*]], <2 x i32> [[SEL0]], <2 x i32> [[V]]
|
||||
; CHECK-NEXT: ret <2 x i32> [[SEL1]]
|
||||
;
|
||||
%sel0 = select <2 x i1> %vec_bool, <2 x i32> zeroinitializer, <2 x i32> %V
|
||||
%sel1 = select i1 %bool, <2 x i32> %sel0, <2 x i32> %V
|
||||
ret <2 x i32> %sel1
|
||||
}
|
||||
|
||||
attributes #0 = { nounwind readnone ssp uwtable }
|
||||
|
|
Loading…
Reference in New Issue