188 lines · plain
1; RUN: llc -verify-machineinstrs -mtriple powerpc64le-unknown-linux-gnu -fast-isel -O0 < %s | FileCheck %s2 3define i1 @TestULT(double %t0) {4; CHECK-LABEL: TestULT:5; CHECK: fcmpu6; CHECK: blr7entry:8 %t1 = fcmp ult double %t0, 0.000000e+009 br i1 %t1, label %good, label %bad10 11bad:12 ret i1 false13 14good:15 ret i1 true16}17 18define i1 @TestULE(double %t0) {19; CHECK-LABEL: TestULE:20; CHECK: xscmpudp21; CHECK-NEXT: ble22; CHECK: blr23entry:24 %t1 = fcmp ule double %t0, 0.000000e+0025 br i1 %t1, label %good, label %bad26 27bad:28 ret i1 false29 30good:31 ret i1 true32}33 34define i1 @TestUNE(double %t0) {35; CHECK-LABEL: TestUNE:36; CHECK: xscmpudp37; CHECK-NEXT: bne38; CHECK: blr39entry:40 %t1 = fcmp une double %t0, 0.000000e+0041 br i1 %t1, label %good, label %bad42 43bad:44 ret i1 false45 46good:47 ret i1 true48}49 50define i1 @TestUEQ(double %t0) {51; CHECK-LABEL: TestUEQ:52; CHECK: fcmpu53; CHECK: blr54entry:55 %t1 = fcmp ueq double %t0, 0.000000e+0056 br i1 %t1, label %good, label %bad57 58bad:59 ret i1 false60 61good:62 ret i1 true63}64 65define i1 @TestUGT(double %t0) {66; CHECK-LABEL: TestUGT:67; CHECK: fcmpu68; CHECK: blr69entry:70 %t1 = fcmp ugt double %t0, 0.000000e+0071 br i1 %t1, label %good, label %bad72 73bad:74 ret i1 false75 76good:77 ret i1 true78}79 80define i1 @TestUGE(double %t0) {81; CHECK-LABEL: TestUGE:82; CHECK: xscmpudp83; CHECK-NEXT: bge84; CHECK: blr85entry:86 %t1 = fcmp uge double %t0, 0.000000e+0087 br i1 %t1, label %good, label %bad88 89bad:90 ret i1 false91 92good:93 ret i1 true94}95 96define i1 @TestOLT(double %t0) {97; CHECK-LABEL: TestOLT:98; CHECK: xscmpudp99; CHECK-NEXT: blt100; CHECK: blr101entry:102 %t1 = fcmp olt double %t0, 0.000000e+00103 br i1 %t1, label %good, label %bad104 105bad:106 ret i1 false107 108good:109 ret i1 true110}111 112define i1 @TestOLE(double %t0) {113; CHECK-LABEL: TestOLE:114; CHECK: fcmpu115; CHECK: blr116entry:117 %t1 = fcmp ole double %t0, 0.000000e+00118 br i1 %t1, label %good, label %bad119 120bad:121 ret i1 false122 123good:124 ret i1 true125}126 127define i1 @TestONE(double %t0) {128; CHECK-LABEL: TestONE:129; CHECK: fcmpu130; CHECK: blr131entry:132 %t1 = fcmp one double %t0, 0.000000e+00133 br i1 %t1, label %good, label %bad134 135bad:136 ret i1 false137 138good:139 ret i1 true140}141 142define i1 @TestOEQ(double %t0) {143; CHECK-LABEL: TestOEQ:144; CHECK: xscmpudp145; CHECK-NEXT: beq146; CHECK: blr147entry:148 %t1 = fcmp oeq double %t0, 0.000000e+00149 br i1 %t1, label %good, label %bad150 151bad:152 ret i1 false153 154good:155 ret i1 true156}157 158define i1 @TestOGT(double %t0) {159; CHECK-LABEL: TestOGT:160; CHECK: xscmpudp161; CHECK-NEXT: bgt162; CHECK: blr163entry:164 %t1 = fcmp ogt double %t0, 0.000000e+00165 br i1 %t1, label %good, label %bad166 167bad:168 ret i1 false169 170good:171 ret i1 true172}173 174define i1 @TestOGE(double %t0) {175; CHECK-LABEL: TestOGE:176; CHECK: fcmpu177; CHECK: blr178entry:179 %t1 = fcmp oge double %t0, 0.000000e+00180 br i1 %t1, label %good, label %bad181 182bad:183 ret i1 false184 185good:186 ret i1 true187}188