From: Sanjay Patel Date: Tue, 28 Jun 2016 18:33:10 +0000 (+0000) Subject: minimize regression tests and update checks X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0eb410f910086842947d8e3a63bcde72cfadf1ff;p=llvm minimize regression tests and update checks git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274046 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/Transforms/InstCombine/and-fcmp.ll b/test/Transforms/InstCombine/and-fcmp.ll index a398307f869..23062b73aba 100644 --- a/test/Transforms/InstCombine/and-fcmp.ll +++ b/test/Transforms/InstCombine/and-fcmp.ll @@ -1,100 +1,104 @@ +; NOTE: Assertions have been autogenerated by utils/update_test_checks.py ; RUN: opt < %s -instcombine -S | FileCheck %s -define zeroext i8 @t1(float %x, float %y) nounwind { - %a = fcmp ueq float %x, %y - %b = fcmp ord float %x, %y - %c = and i1 %a, %b - %retval = zext i1 %c to i8 - ret i8 %retval -; CHECK: t1 -; CHECK: fcmp oeq float %x, %y -; CHECK-NOT: fcmp ueq float %x, %y -; CHECK-NOT: fcmp ord float %x, %y -; CHECK-NOT: and +define i1 @t1(float %x, float %y) { +; CHECK-LABEL: @t1( +; CHECK-NEXT: [[TMP1:%.*]] = fcmp oeq float %x, %y +; CHECK-NEXT: ret i1 [[TMP1]] +; + %a = fcmp ueq float %x, %y + %b = fcmp ord float %x, %y + %c = and i1 %a, %b + ret i1 %c } -define zeroext i8 @t2(float %x, float %y) nounwind { - %a = fcmp olt float %x, %y - %b = fcmp ord float %x, %y - %c = and i1 %a, %b - %retval = zext i1 %c to i8 - ret i8 %retval -; CHECK: t2 -; CHECK: fcmp olt float %x, %y -; CHECK-NOT: fcmp ord float %x, %y -; CHECK-NOT: and +define i1 @t2(float %x, float %y) { +; CHECK-LABEL: @t2( +; CHECK-NEXT: [[A:%.*]] = fcmp olt float %x, %y +; CHECK-NEXT: ret i1 [[A]] +; + %a = fcmp olt float %x, %y + %b = fcmp ord float %x, %y + %c = and i1 %a, %b + ret i1 %c } -define zeroext i8 @t3(float %x, float %y) nounwind { - %a = fcmp oge float %x, %y - %b = fcmp uno float %x, %y - %c = and i1 %a, %b - %retval = zext i1 %c to i8 - ret i8 %retval -; CHECK: t3 -; CHECK: ret i8 0 +define i1 @t3(float %x, float %y) { +; CHECK-LABEL: @t3( +; CHECK-NEXT: ret i1 false +; + %a = fcmp oge float %x, %y + %b = fcmp uno float %x, %y + %c = and i1 %a, %b + ret i1 %c } -define zeroext i8 @t4(float %x, float %y) nounwind { - %a = fcmp one float %y, %x - %b = fcmp ord float %x, %y - %c = and i1 %a, %b - %retval = zext i1 %c to i8 - ret i8 %retval -; CHECK: t4 -; CHECK: fcmp one float %y, %x -; CHECK-NOT: fcmp ord float %x, %y -; CHECK-NOT: and +define i1 @t4(float %x, float %y) { +; CHECK-LABEL: @t4( +; CHECK-NEXT: [[A:%.*]] = fcmp one float %y, %x +; CHECK-NEXT: ret i1 [[A]] +; + %a = fcmp one float %y, %x + %b = fcmp ord float %x, %y + %c = and i1 %a, %b + ret i1 %c } -define zeroext i8 @t5(float %x, float %y) nounwind { - %a = fcmp ord float %x, %y - %b = fcmp uno float %x, %y - %c = and i1 %a, %b - %retval = zext i1 %c to i8 - ret i8 %retval -; CHECK: t5 -; CHECK: ret i8 0 +define i1 @t5(float %x, float %y) { +; CHECK-LABEL: @t5( +; CHECK-NEXT: ret i1 false +; + %a = fcmp ord float %x, %y + %b = fcmp uno float %x, %y + %c = and i1 %a, %b + ret i1 %c } -define zeroext i8 @t6(float %x, float %y) nounwind { - %a = fcmp uno float %x, %y - %b = fcmp ord float %x, %y - %c = and i1 %a, %b - %retval = zext i1 %c to i8 - ret i8 %retval -; CHECK: t6 -; CHECK: ret i8 0 +define i1 @t6(float %x, float %y) { +; CHECK-LABEL: @t6( +; CHECK-NEXT: ret i1 false +; + %a = fcmp uno float %x, %y + %b = fcmp ord float %x, %y + %c = and i1 %a, %b + ret i1 %c } -define zeroext i8 @t7(float %x, float %y) nounwind { - %a = fcmp uno float %x, %y - %b = fcmp ult float %x, %y - %c = and i1 %a, %b - %retval = zext i1 %c to i8 - ret i8 %retval -; CHECK: t7 -; CHECK: fcmp uno -; CHECK-NOT: fcmp ult +define i1 @t7(float %x, float %y) { +; CHECK-LABEL: @t7( +; CHECK-NEXT: [[A:%.*]] = fcmp uno float %x, %y +; CHECK-NEXT: ret i1 [[A]] +; + %a = fcmp uno float %x, %y + %b = fcmp ult float %x, %y + %c = and i1 %a, %b + ret i1 %c } ; PR15737 define i1 @t8(float %a, double %b) { +; CHECK-LABEL: @t8( +; CHECK-NEXT: [[CMP:%.*]] = fcmp ord float %a, 0.000000e+00 +; CHECK-NEXT: [[CMP1:%.*]] = fcmp ord double %b, 0.000000e+00 +; CHECK-NEXT: [[AND:%.*]] = and i1 [[CMP]], [[CMP1]] +; CHECK-NEXT: ret i1 [[AND]] +; %cmp = fcmp ord float %a, 0.000000e+00 %cmp1 = fcmp ord double %b, 0.000000e+00 %and = and i1 %cmp, %cmp1 ret i1 %and -; CHECK: t8 -; CHECK: fcmp ord -; CHECK: fcmp ord } define <2 x i1> @t9(<2 x float> %a, <2 x double> %b) { +; CHECK-LABEL: @t9( +; CHECK-NEXT: [[CMP:%.*]] = fcmp ord <2 x float> %a, zeroinitializer +; CHECK-NEXT: [[CMP1:%.*]] = fcmp ord <2 x double> %b, zeroinitializer +; CHECK-NEXT: [[AND:%.*]] = and <2 x i1> [[CMP]], [[CMP1]] +; CHECK-NEXT: ret <2 x i1> [[AND]] +; %cmp = fcmp ord <2 x float> %a, zeroinitializer %cmp1 = fcmp ord <2 x double> %b, zeroinitializer %and = and <2 x i1> %cmp, %cmp1 ret <2 x i1> %and -; CHECK: t9 -; CHECK: fcmp ord -; CHECK: fcmp ord } +