1; RUN: llc < %s -mcpu=pentium -mtriple=i686-linux-gnu -float-abi=soft | FileCheck %s 2 3define i1 @test1(double %d) #0 { 4entry: 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 13define i1 @test2(double %d) #0 { 14entry: 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 23define i1 @test3(double %d) #0 { 24entry: 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 33define i1 @test4(double %d) #0 { 34entry: 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 43define i1 @test5(double %d) #0 { 44entry: 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 53define i1 @test6(double %d) #0 { 54entry: 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 63define i1 @test7(double %d) #0 { 64entry: 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 73define i1 @test8(double %d) #0 { 74entry: 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 83define i1 @test9(double %d) #0 { 84entry: 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 93define i1 @test10(double %d) #0 { 94entry: 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: or 104; CHECK: retl 105 106define i1 @test11(double %d) #0 { 107entry: 108 %cmp = fcmp one double %d, 0.000000e+00 109 ret i1 %cmp 110} 111; CHECK-LABEL: test11: 112; CHECK: calll __eqdf2 113; CHECK: setne 114; CHECK: calll __unorddf2 115; CHECK: sete 116; CHECK: and 117; CHECK: retl 118 119define i1 @test12(double %d) #0 { 120entry: 121 %cmp = fcmp une double %d, 0.000000e+00 122 ret i1 %cmp 123} 124; CHECK-LABEL: test12: 125; CHECK: calll __nedf2 126; CHECK: setne 127; CHECK: retl 128 129attributes #0 = { "use-soft-float"="true" } 130