Home | History | Annotate | Download | only in X86
      1 ; RUN: llc < %s -march=x86 -mcpu=pentium -mtriple=x86-linux-gnu -float-abi=soft | FileCheck %s 
      2 
      3 define i1 @test1(double %d) #0 {
      4 entry:
      5   %cmp = fcmp ule double %d, 0.000000e+00
      6   ret i1 %cmp
      7 }
      8 ; CHECK-LABEL: test1:
      9 ; CHECK: calll __gtdf2
     10 ; CHECK: setle
     11 ; CHECK: retl
     12  
     13 define i1 @test2(double %d) #0 {
     14 entry:
     15   %cmp = fcmp ult double %d, 0.000000e+00
     16   ret i1 %cmp
     17 }
     18 ; CHECK-LABEL: test2:
     19 ; CHECK: calll __gedf2
     20 ; CHECK: sets
     21 ; CHECK: retl
     22 
     23 define i1 @test3(double %d) #0 {
     24 entry:
     25   %cmp = fcmp ugt double %d, 0.000000e+00
     26   ret i1 %cmp
     27 }
     28 ; CHECK-LABEL: test3:
     29 ; CHECK: calll __ledf2
     30 ; CHECK: setg
     31 ; CHECK: retl
     32 
     33 define i1 @test4(double %d) #0 {
     34 entry:
     35   %cmp = fcmp uge double %d, 0.000000e+00
     36   ret i1 %cmp
     37 }
     38 ; CHECK-LABEL: test4:
     39 ; CHECK: calll __ltdf2
     40 ; CHECK: setns
     41 ; CHECK: retl
     42 
     43 define i1 @test5(double %d) #0 {
     44 entry:
     45   %cmp = fcmp ole double %d, 0.000000e+00
     46   ret i1 %cmp
     47 }
     48 ; CHECK-LABEL: test5:  
     49 ; CHECK: calll __ledf2
     50 ; CHECK: setle
     51 ; CHECK: retl
     52 
     53 define i1 @test6(double %d) #0 {
     54 entry:
     55   %cmp = fcmp olt double %d, 0.000000e+00
     56   ret i1 %cmp
     57 }
     58 ; CHECK-LABEL: test6:
     59 ; CHECK: calll __ltdf2
     60 ; CHECK: sets
     61 ; CHECK: retl
     62 
     63 define i1 @test7(double %d) #0 {
     64 entry:
     65   %cmp = fcmp ogt double %d, 0.000000e+00
     66   ret i1 %cmp
     67 }
     68 ; CHECK-LABEL: test7:
     69 ; CHECK: calll __gtdf2
     70 ; CHECK: setg
     71 ; CHECK: retl
     72 
     73 define i1 @test8(double %d) #0 {
     74 entry:
     75   %cmp = fcmp oge double %d, 0.000000e+00
     76   ret i1 %cmp
     77 }
     78 ; CHECK-LABEL: test8:
     79 ; CHECK: calll __gedf2
     80 ; CHECK: setns
     81 ; CHECK: retl
     82 
     83 define i1 @test9(double %d) #0 {
     84 entry:
     85   %cmp = fcmp oeq double %d, 0.000000e+00
     86   ret i1 %cmp
     87 }
     88 ; CHECK-LABEL: test9:
     89 ; CHECK: calll __eqdf2
     90 ; CHECK: sete
     91 ; CHECK: retl
     92 
     93 define i1 @test10(double %d) #0 {
     94 entry:
     95   %cmp = fcmp ueq double %d, 0.000000e+00
     96   ret i1 %cmp
     97 }
     98 ; CHECK-LABEL: test10:
     99 ; CHECK: calll __eqdf2
    100 ; CHECK: sete
    101 ; CHECK: calll __unorddf2
    102 ; CHECK: setne
    103 ; CHECK: retl
    104 
    105 define i1 @test11(double %d) #0 {
    106 entry:
    107   %cmp = fcmp one double %d, 0.000000e+00
    108   ret i1 %cmp
    109 }
    110 ; CHECK-LABEL: test11:
    111 ; CHECK: calll __gtdf2
    112 ; CHECK: setg
    113 ; CHECK: calll __ltdf2
    114 ; CHECK: sets
    115 ; CHECK: retl
    116 
    117 define i1 @test12(double %d) #0 {
    118 entry:
    119   %cmp = fcmp une double %d, 0.000000e+00
    120   ret i1 %cmp
    121 }
    122 ; CHECK-LABEL: test12:
    123 ; CHECK: calll __nedf2
    124 ; CHECK: setne
    125 ; CHECK: retl
    126 
    127 attributes #0 = { "use-soft-float"="true" }
    128