1 ; RUN: opt < %s -instcombine -S | grep fcmp | count 3 2 ; RUN: opt < %s -instcombine -S | grep ret | grep 0 3 4 define zeroext i8 @t1(float %x, float %y) nounwind { 5 %a = fcmp ueq float %x, %y 6 %b = fcmp ord float %x, %y 7 %c = and i1 %a, %b 8 %retval = zext i1 %c to i8 9 ret i8 %retval 10 } 11 12 define zeroext i8 @t2(float %x, float %y) nounwind { 13 %a = fcmp olt float %x, %y 14 %b = fcmp ord float %x, %y 15 %c = and i1 %a, %b 16 %retval = zext i1 %c to i8 17 ret i8 %retval 18 } 19 20 define zeroext i8 @t3(float %x, float %y) nounwind { 21 %a = fcmp oge float %x, %y 22 %b = fcmp uno float %x, %y 23 %c = and i1 %a, %b 24 %retval = zext i1 %c to i8 25 ret i8 %retval 26 } 27 28 define zeroext i8 @t4(float %x, float %y) nounwind { 29 %a = fcmp one float %y, %x 30 %b = fcmp ord float %x, %y 31 %c = and i1 %a, %b 32 %retval = zext i1 %c to i8 33 ret i8 %retval 34 } 35