1 ; RUN: opt < %s -instcombine -S | FileCheck %s
7 define i1 @inf0(double %arg) nounwind readnone {
8 %tmp = fcmp ogt double %arg, 0x7FF0000000000000
14 define i1 @inf1(double %arg) nounwind readnone {
15 %tmp = fcmp ule double %arg, 0x7FF0000000000000
23 define i1 @ninf0(double %arg) nounwind readnone {
24 %tmp = fcmp olt double %arg, 0xFFF0000000000000
30 define i1 @ninf1(double %arg) nounwind readnone {
31 %tmp = fcmp uge double %arg, 0xFFF0000000000000
39 define i1 @nan0(double %arg) nounwind readnone {
40 %tmp = fcmp ord double %arg, 0x7FF00000FFFFFFFF
46 define i1 @nan1(double %arg) nounwind readnone {
47 %tmp = fcmp oeq double %arg, 0x7FF00000FFFFFFFF
53 define i1 @nan2(double %arg) nounwind readnone {
54 %tmp = fcmp olt double %arg, 0x7FF00000FFFFFFFF
60 define i1 @nan3(double %arg) nounwind readnone {
61 %tmp = fcmp uno double %arg, 0x7FF00000FFFFFFFF
67 define i1 @nan4(double %arg) nounwind readnone {
68 %tmp = fcmp une double %arg, 0x7FF00000FFFFFFFF
74 define i1 @nan5(double %arg) nounwind readnone {
75 %tmp = fcmp ult double %arg, 0x7FF00000FFFFFFFF
83 define i1 @nnan0(double %arg) nounwind readnone {
84 %tmp = fcmp ord double %arg, 0xFFF00000FFFFFFFF
90 define i1 @nnan1(double %arg) nounwind readnone {
91 %tmp = fcmp oeq double %arg, 0xFFF00000FFFFFFFF
97 define i1 @nnan2(double %arg) nounwind readnone {
98 %tmp = fcmp olt double %arg, 0xFFF00000FFFFFFFF
104 define i1 @nnan3(double %arg) nounwind readnone {
105 %tmp = fcmp uno double %arg, 0xFFF00000FFFFFFFF
111 define i1 @nnan4(double %arg) nounwind readnone {
112 %tmp = fcmp une double %arg, 0xFFF00000FFFFFFFF
118 define i1 @nnan5(double %arg) nounwind readnone {
119 %tmp = fcmp ult double %arg, 0xFFF00000FFFFFFFF
127 define i1 @nzero0() {
128 %tmp = fcmp oeq double 0.0, -0.0
133 ; CHECK: ret i1 false
134 define i1 @nzero1() {
135 %tmp = fcmp ogt double 0.0, -0.0
142 ; CHECK: %tmp = fcmp ord double %arg, 0.000000e+00
144 define i1 @misc0(double %arg) {
145 %tmp = fcmp oeq double %arg, %arg
150 ; CHECK: ret i1 false
151 define i1 @misc1(double %arg) {
152 %tmp = fcmp one double %arg, %arg