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