Home | History | Annotate | Download | only in PowerPC
      1 ; RUN: llc -mtriple powerpc64le-unknown-linux-gnu -fast-isel -O0 < %s | FileCheck %s
      2 
      3 define i1 @TestULT(double %t0) {
      4 ; CHECK-LABEL: TestULT:
      5 ; CHECK: xscmpudp
      6 ; CHECK: blr
      7 entry:
      8   %t1 = fcmp ult double %t0, 0.000000e+00
      9   br i1 %t1, label %good, label %bad
     10 
     11 bad:
     12   ret i1 false
     13 
     14 good:
     15   ret i1 true
     16 }
     17 
     18 define i1 @TestULE(double %t0) {
     19 ; CHECK-LABEL: TestULE:
     20 ; CHECK: fcmpu
     21 ; CHECK-NEXT: ble
     22 ; CHECK: blr
     23 entry:
     24   %t1 = fcmp ule double %t0, 0.000000e+00
     25   br i1 %t1, label %good, label %bad
     26 
     27 bad:
     28   ret i1 false
     29 
     30 good:
     31   ret i1 true
     32 }
     33 
     34 define i1 @TestUNE(double %t0) {
     35 ; CHECK-LABEL: TestUNE:
     36 ; CHECK: fcmpu
     37 ; CHECK-NEXT: bne
     38 ; CHECK: blr
     39 entry:
     40   %t1 = fcmp une double %t0, 0.000000e+00
     41   br i1 %t1, label %good, label %bad
     42 
     43 bad:
     44   ret i1 false
     45 
     46 good:
     47   ret i1 true
     48 }
     49 
     50 define i1 @TestUEQ(double %t0) {
     51 ; CHECK-LABEL: TestUEQ:
     52 ; CHECK: xscmpudp
     53 ; CHECK: blr
     54 entry:
     55   %t1 = fcmp ueq double %t0, 0.000000e+00
     56   br i1 %t1, label %good, label %bad
     57 
     58 bad:
     59   ret i1 false
     60 
     61 good:
     62   ret i1 true
     63 }
     64 
     65 define i1 @TestUGT(double %t0) {
     66 ; CHECK-LABEL: TestUGT:
     67 ; CHECK: xscmpudp
     68 ; CHECK: blr
     69 entry:
     70   %t1 = fcmp ugt double %t0, 0.000000e+00
     71   br i1 %t1, label %good, label %bad
     72 
     73 bad:
     74   ret i1 false
     75 
     76 good:
     77   ret i1 true
     78 }
     79 
     80 define i1 @TestUGE(double %t0) {
     81 ; CHECK-LABEL: TestUGE:
     82 ; CHECK: fcmpu
     83 ; CHECK-NEXT: bge
     84 ; CHECK: blr
     85 entry:
     86   %t1 = fcmp uge double %t0, 0.000000e+00
     87   br i1 %t1, label %good, label %bad
     88 
     89 bad:
     90   ret i1 false
     91 
     92 good:
     93   ret i1 true
     94 }
     95 
     96 define i1 @TestOLT(double %t0) {
     97 ; CHECK-LABEL: TestOLT:
     98 ; CHECK: fcmpu
     99 ; CHECK-NEXT: blt
    100 ; CHECK: blr
    101 entry:
    102   %t1 = fcmp olt double %t0, 0.000000e+00
    103   br i1 %t1, label %good, label %bad
    104 
    105 bad:
    106   ret i1 false
    107 
    108 good:
    109   ret i1 true
    110 }
    111 
    112 define i1 @TestOLE(double %t0) {
    113 ; CHECK-LABEL: TestOLE:
    114 ; CHECK: xscmpudp
    115 ; CHECK: blr
    116 entry:
    117   %t1 = fcmp ole double %t0, 0.000000e+00
    118   br i1 %t1, label %good, label %bad
    119 
    120 bad:
    121   ret i1 false
    122 
    123 good:
    124   ret i1 true
    125 }
    126 
    127 define i1 @TestONE(double %t0) {
    128 ; CHECK-LABEL: TestONE:
    129 ; CHECK: xscmpudp
    130 ; CHECK: blr
    131 entry:
    132   %t1 = fcmp one double %t0, 0.000000e+00
    133   br i1 %t1, label %good, label %bad
    134 
    135 bad:
    136   ret i1 false
    137 
    138 good:
    139   ret i1 true
    140 }
    141 
    142 define i1 @TestOEQ(double %t0) {
    143 ; CHECK-LABEL: TestOEQ:
    144 ; CHECK: fcmpu
    145 ; CHECK-NEXT: beq
    146 ; CHECK: blr
    147 entry:
    148   %t1 = fcmp oeq double %t0, 0.000000e+00
    149   br i1 %t1, label %good, label %bad
    150 
    151 bad:
    152   ret i1 false
    153 
    154 good:
    155   ret i1 true
    156 }
    157 
    158 define i1 @TestOGT(double %t0) {
    159 ; CHECK-LABEL: TestOGT:
    160 ; CHECK: fcmpu
    161 ; CHECK-NEXT: bgt
    162 ; CHECK: blr
    163 entry:
    164   %t1 = fcmp ogt double %t0, 0.000000e+00
    165   br i1 %t1, label %good, label %bad
    166 
    167 bad:
    168   ret i1 false
    169 
    170 good:
    171   ret i1 true
    172 }
    173 
    174 define i1 @TestOGE(double %t0) {
    175 ; CHECK-LABEL: TestOGE:
    176 ; CHECK: xscmpudp
    177 ; CHECK: blr
    178 entry:
    179   %t1 = fcmp oge double %t0, 0.000000e+00
    180   br i1 %t1, label %good, label %bad
    181 
    182 bad:
    183   ret i1 false
    184 
    185 good:
    186   ret i1 true
    187 }
    188