brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.8 KiB · 045b67b Raw
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