]> granicus.if.org Git - llvm/commitdiff
minimize regression tests and update checks
authorSanjay Patel <spatel@rotateright.com>
Tue, 28 Jun 2016 18:33:10 +0000 (18:33 +0000)
committerSanjay Patel <spatel@rotateright.com>
Tue, 28 Jun 2016 18:33:10 +0000 (18:33 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274046 91177308-0d34-0410-b5e6-96231b3b80d8

test/Transforms/InstCombine/and-fcmp.ll

index a398307f869e92663aaa96c487c2d9d129f83e57..23062b73abaa26cab3eb154881f9ebefc02b3976 100644 (file)
+; 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
 }
+