1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=thumbv7-none-eabi -mcpu=cortex-m3 | FileCheck %s -check-prefix=CHECK -check-prefix=NONE 2*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=thumbv7-none-eabihf -mcpu=cortex-m4 | FileCheck %s -check-prefix=CHECK -check-prefix=HARD -check-prefix=SP 3*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=thumbv7-none-eabihf -mcpu=cortex-m7 | FileCheck %s -check-prefix=CHECK -check-prefix=HARD -check-prefix=DP 4*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=thumbv7-none-eabihf -mcpu=cortex-a8 | FileCheck %s -check-prefix=CHECK -check-prefix=HARD -check-prefix=DP 5*9880d681SAndroid Build Coastguard Worker 6*9880d681SAndroid Build Coastguard Worker 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_f_false(float %a, float %b) { 9*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_f_false: 10*9880d681SAndroid Build Coastguard Worker; NONE: movs r0, #0 11*9880d681SAndroid Build Coastguard Worker; HARD: movs r0, #0 12*9880d681SAndroid Build Coastguard Worker %1 = fcmp false float %a, %b 13*9880d681SAndroid Build Coastguard Worker ret i1 %1 14*9880d681SAndroid Build Coastguard Worker} 15*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_f_oeq(float %a, float %b) { 16*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_f_oeq: 17*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_fcmpeq 18*9880d681SAndroid Build Coastguard Worker; HARD: vcmpe.f32 19*9880d681SAndroid Build Coastguard Worker; HARD: moveq r0, #1 20*9880d681SAndroid Build Coastguard Worker %1 = fcmp oeq float %a, %b 21*9880d681SAndroid Build Coastguard Worker ret i1 %1 22*9880d681SAndroid Build Coastguard Worker} 23*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_f_ogt(float %a, float %b) { 24*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_f_ogt: 25*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_fcmpgt 26*9880d681SAndroid Build Coastguard Worker; HARD: vcmpe.f32 27*9880d681SAndroid Build Coastguard Worker; HARD: movgt r0, #1 28*9880d681SAndroid Build Coastguard Worker %1 = fcmp ogt float %a, %b 29*9880d681SAndroid Build Coastguard Worker ret i1 %1 30*9880d681SAndroid Build Coastguard Worker} 31*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_f_oge(float %a, float %b) { 32*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_f_oge: 33*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_fcmpge 34*9880d681SAndroid Build Coastguard Worker; HARD: vcmpe.f32 35*9880d681SAndroid Build Coastguard Worker; HARD: movge r0, #1 36*9880d681SAndroid Build Coastguard Worker %1 = fcmp oge float %a, %b 37*9880d681SAndroid Build Coastguard Worker ret i1 %1 38*9880d681SAndroid Build Coastguard Worker} 39*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_f_olt(float %a, float %b) { 40*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_f_olt: 41*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_fcmplt 42*9880d681SAndroid Build Coastguard Worker; HARD: vcmpe.f32 43*9880d681SAndroid Build Coastguard Worker; HARD: movmi r0, #1 44*9880d681SAndroid Build Coastguard Worker %1 = fcmp olt float %a, %b 45*9880d681SAndroid Build Coastguard Worker ret i1 %1 46*9880d681SAndroid Build Coastguard Worker} 47*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_f_ole(float %a, float %b) { 48*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_f_ole: 49*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_fcmple 50*9880d681SAndroid Build Coastguard Worker; HARD: vcmpe.f32 51*9880d681SAndroid Build Coastguard Worker; HARD: movls r0, #1 52*9880d681SAndroid Build Coastguard Worker %1 = fcmp ole float %a, %b 53*9880d681SAndroid Build Coastguard Worker ret i1 %1 54*9880d681SAndroid Build Coastguard Worker} 55*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_f_one(float %a, float %b) { 56*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_f_one: 57*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_fcmpgt 58*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_fcmplt 59*9880d681SAndroid Build Coastguard Worker; HARD: vcmpe.f32 60*9880d681SAndroid Build Coastguard Worker; HARD: movmi r0, #1 61*9880d681SAndroid Build Coastguard Worker; HARD: movgt r0, #1 62*9880d681SAndroid Build Coastguard Worker %1 = fcmp one float %a, %b 63*9880d681SAndroid Build Coastguard Worker ret i1 %1 64*9880d681SAndroid Build Coastguard Worker} 65*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_f_ord(float %a, float %b) { 66*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_f_ord: 67*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_fcmpun 68*9880d681SAndroid Build Coastguard Worker; HARD: vcmpe.f32 69*9880d681SAndroid Build Coastguard Worker; HARD: movvc r0, #1 70*9880d681SAndroid Build Coastguard Worker %1 = fcmp ord float %a, %b 71*9880d681SAndroid Build Coastguard Worker ret i1 %1 72*9880d681SAndroid Build Coastguard Worker}define i1 @cmp_f_ueq(float %a, float %b) { 73*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_f_ueq: 74*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_fcmpeq 75*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_fcmpun 76*9880d681SAndroid Build Coastguard Worker; HARD: vcmpe.f32 77*9880d681SAndroid Build Coastguard Worker; HARD: moveq r0, #1 78*9880d681SAndroid Build Coastguard Worker; HARD: movvs r0, #1 79*9880d681SAndroid Build Coastguard Worker %1 = fcmp ueq float %a, %b 80*9880d681SAndroid Build Coastguard Worker ret i1 %1 81*9880d681SAndroid Build Coastguard Worker} 82*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_f_ugt(float %a, float %b) { 83*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_f_ugt: 84*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_fcmple 85*9880d681SAndroid Build Coastguard Worker; NONE: cmp r0, #0 86*9880d681SAndroid Build Coastguard Worker; NONE-NEXT: it eq 87*9880d681SAndroid Build Coastguard Worker; HARD: vcmpe.f32 88*9880d681SAndroid Build Coastguard Worker; HARD: movhi r0, #1 89*9880d681SAndroid Build Coastguard Worker %1 = fcmp ugt float %a, %b 90*9880d681SAndroid Build Coastguard Worker ret i1 %1 91*9880d681SAndroid Build Coastguard Worker} 92*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_f_uge(float %a, float %b) { 93*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_f_uge: 94*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_fcmplt 95*9880d681SAndroid Build Coastguard Worker; NONE: cmp r0, #0 96*9880d681SAndroid Build Coastguard Worker; NONE-NEXT: it eq 97*9880d681SAndroid Build Coastguard Worker; HARD: vcmpe.f32 98*9880d681SAndroid Build Coastguard Worker; HARD: movpl r0, #1 99*9880d681SAndroid Build Coastguard Worker %1 = fcmp uge float %a, %b 100*9880d681SAndroid Build Coastguard Worker ret i1 %1 101*9880d681SAndroid Build Coastguard Worker} 102*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_f_ult(float %a, float %b) { 103*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_f_ult: 104*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_fcmpge 105*9880d681SAndroid Build Coastguard Worker; NONE: cmp r0, #0 106*9880d681SAndroid Build Coastguard Worker; NONE-NEXT: it eq 107*9880d681SAndroid Build Coastguard Worker; HARD: vcmpe.f32 108*9880d681SAndroid Build Coastguard Worker; HARD: movlt r0, #1 109*9880d681SAndroid Build Coastguard Worker %1 = fcmp ult float %a, %b 110*9880d681SAndroid Build Coastguard Worker ret i1 %1 111*9880d681SAndroid Build Coastguard Worker} 112*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_f_ule(float %a, float %b) { 113*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_f_ule: 114*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_fcmpgt 115*9880d681SAndroid Build Coastguard Worker; NONE: cmp r0, #0 116*9880d681SAndroid Build Coastguard Worker; NONE-NEXT: it eq 117*9880d681SAndroid Build Coastguard Worker; HARD: vcmpe.f32 118*9880d681SAndroid Build Coastguard Worker; HARD: movle r0, #1 119*9880d681SAndroid Build Coastguard Worker %1 = fcmp ule float %a, %b 120*9880d681SAndroid Build Coastguard Worker ret i1 %1 121*9880d681SAndroid Build Coastguard Worker} 122*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_f_une(float %a, float %b) { 123*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_f_une: 124*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_fcmpeq 125*9880d681SAndroid Build Coastguard Worker; HARD: vcmpe.f32 126*9880d681SAndroid Build Coastguard Worker; HARD: movne r0, #1 127*9880d681SAndroid Build Coastguard Worker %1 = fcmp une float %a, %b 128*9880d681SAndroid Build Coastguard Worker ret i1 %1 129*9880d681SAndroid Build Coastguard Worker} 130*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_f_uno(float %a, float %b) { 131*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_f_uno: 132*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_fcmpun 133*9880d681SAndroid Build Coastguard Worker; HARD: vcmpe.f32 134*9880d681SAndroid Build Coastguard Worker; HARD: movvs r0, #1 135*9880d681SAndroid Build Coastguard Worker %1 = fcmp uno float %a, %b 136*9880d681SAndroid Build Coastguard Worker ret i1 %1 137*9880d681SAndroid Build Coastguard Worker} 138*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_f_true(float %a, float %b) { 139*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_f_true: 140*9880d681SAndroid Build Coastguard Worker; NONE: movs r0, #1 141*9880d681SAndroid Build Coastguard Worker; HARD: movs r0, #1 142*9880d681SAndroid Build Coastguard Worker %1 = fcmp true float %a, %b 143*9880d681SAndroid Build Coastguard Worker ret i1 %1 144*9880d681SAndroid Build Coastguard Worker} 145*9880d681SAndroid Build Coastguard Worker 146*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_d_false(double %a, double %b) { 147*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_d_false: 148*9880d681SAndroid Build Coastguard Worker; NONE: movs r0, #0 149*9880d681SAndroid Build Coastguard Worker; HARD: movs r0, #0 150*9880d681SAndroid Build Coastguard Worker %1 = fcmp false double %a, %b 151*9880d681SAndroid Build Coastguard Worker ret i1 %1 152*9880d681SAndroid Build Coastguard Worker} 153*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_d_oeq(double %a, double %b) { 154*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_d_oeq: 155*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_dcmpeq 156*9880d681SAndroid Build Coastguard Worker; SP: bl __aeabi_dcmpeq 157*9880d681SAndroid Build Coastguard Worker; DP: vcmpe.f64 158*9880d681SAndroid Build Coastguard Worker; DP: moveq r0, #1 159*9880d681SAndroid Build Coastguard Worker %1 = fcmp oeq double %a, %b 160*9880d681SAndroid Build Coastguard Worker ret i1 %1 161*9880d681SAndroid Build Coastguard Worker} 162*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_d_ogt(double %a, double %b) { 163*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_d_ogt: 164*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_dcmpgt 165*9880d681SAndroid Build Coastguard Worker; SP: bl __aeabi_dcmpgt 166*9880d681SAndroid Build Coastguard Worker; DP: vcmpe.f64 167*9880d681SAndroid Build Coastguard Worker; DP: movgt r0, #1 168*9880d681SAndroid Build Coastguard Worker %1 = fcmp ogt double %a, %b 169*9880d681SAndroid Build Coastguard Worker ret i1 %1 170*9880d681SAndroid Build Coastguard Worker} 171*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_d_oge(double %a, double %b) { 172*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_d_oge: 173*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_dcmpge 174*9880d681SAndroid Build Coastguard Worker; SP: bl __aeabi_dcmpge 175*9880d681SAndroid Build Coastguard Worker; DP: vcmpe.f64 176*9880d681SAndroid Build Coastguard Worker; DP: movge r0, #1 177*9880d681SAndroid Build Coastguard Worker %1 = fcmp oge double %a, %b 178*9880d681SAndroid Build Coastguard Worker ret i1 %1 179*9880d681SAndroid Build Coastguard Worker} 180*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_d_olt(double %a, double %b) { 181*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_d_olt: 182*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_dcmplt 183*9880d681SAndroid Build Coastguard Worker; SP: bl __aeabi_dcmplt 184*9880d681SAndroid Build Coastguard Worker; DP: vcmpe.f64 185*9880d681SAndroid Build Coastguard Worker; DP: movmi r0, #1 186*9880d681SAndroid Build Coastguard Worker %1 = fcmp olt double %a, %b 187*9880d681SAndroid Build Coastguard Worker ret i1 %1 188*9880d681SAndroid Build Coastguard Worker} 189*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_d_ole(double %a, double %b) { 190*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_d_ole: 191*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_dcmple 192*9880d681SAndroid Build Coastguard Worker; SP: bl __aeabi_dcmple 193*9880d681SAndroid Build Coastguard Worker; DP: vcmpe.f64 194*9880d681SAndroid Build Coastguard Worker; DP: movls r0, #1 195*9880d681SAndroid Build Coastguard Worker %1 = fcmp ole double %a, %b 196*9880d681SAndroid Build Coastguard Worker ret i1 %1 197*9880d681SAndroid Build Coastguard Worker} 198*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_d_one(double %a, double %b) { 199*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_d_one: 200*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_dcmpgt 201*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_dcmplt 202*9880d681SAndroid Build Coastguard Worker; SP: bl __aeabi_dcmpgt 203*9880d681SAndroid Build Coastguard Worker; SP: bl __aeabi_dcmplt 204*9880d681SAndroid Build Coastguard Worker; DP: vcmpe.f64 205*9880d681SAndroid Build Coastguard Worker; DP: movmi r0, #1 206*9880d681SAndroid Build Coastguard Worker; DP: movgt r0, #1 207*9880d681SAndroid Build Coastguard Worker %1 = fcmp one double %a, %b 208*9880d681SAndroid Build Coastguard Worker ret i1 %1 209*9880d681SAndroid Build Coastguard Worker} 210*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_d_ord(double %a, double %b) { 211*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_d_ord: 212*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_dcmpun 213*9880d681SAndroid Build Coastguard Worker; SP: bl __aeabi_dcmpun 214*9880d681SAndroid Build Coastguard Worker; DP: vcmpe.f64 215*9880d681SAndroid Build Coastguard Worker; DP: movvc r0, #1 216*9880d681SAndroid Build Coastguard Worker %1 = fcmp ord double %a, %b 217*9880d681SAndroid Build Coastguard Worker ret i1 %1 218*9880d681SAndroid Build Coastguard Worker} 219*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_d_ugt(double %a, double %b) { 220*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_d_ugt: 221*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_dcmple 222*9880d681SAndroid Build Coastguard Worker; SP: bl __aeabi_dcmple 223*9880d681SAndroid Build Coastguard Worker; DP: vcmpe.f64 224*9880d681SAndroid Build Coastguard Worker; DP: movhi r0, #1 225*9880d681SAndroid Build Coastguard Worker %1 = fcmp ugt double %a, %b 226*9880d681SAndroid Build Coastguard Worker ret i1 %1 227*9880d681SAndroid Build Coastguard Worker} 228*9880d681SAndroid Build Coastguard Worker 229*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_d_ult(double %a, double %b) { 230*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_d_ult: 231*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_dcmpge 232*9880d681SAndroid Build Coastguard Worker; SP: bl __aeabi_dcmpge 233*9880d681SAndroid Build Coastguard Worker; DP: vcmpe.f64 234*9880d681SAndroid Build Coastguard Worker; DP: movlt r0, #1 235*9880d681SAndroid Build Coastguard Worker %1 = fcmp ult double %a, %b 236*9880d681SAndroid Build Coastguard Worker ret i1 %1 237*9880d681SAndroid Build Coastguard Worker} 238*9880d681SAndroid Build Coastguard Worker 239*9880d681SAndroid Build Coastguard Worker 240*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_d_uno(double %a, double %b) { 241*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_d_uno: 242*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_dcmpun 243*9880d681SAndroid Build Coastguard Worker; SP: bl __aeabi_dcmpun 244*9880d681SAndroid Build Coastguard Worker; DP: vcmpe.f64 245*9880d681SAndroid Build Coastguard Worker; DP: movvs r0, #1 246*9880d681SAndroid Build Coastguard Worker %1 = fcmp uno double %a, %b 247*9880d681SAndroid Build Coastguard Worker ret i1 %1 248*9880d681SAndroid Build Coastguard Worker} 249*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_d_true(double %a, double %b) { 250*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_d_true: 251*9880d681SAndroid Build Coastguard Worker; NONE: movs r0, #1 252*9880d681SAndroid Build Coastguard Worker; HARD: movs r0, #1 253*9880d681SAndroid Build Coastguard Worker %1 = fcmp true double %a, %b 254*9880d681SAndroid Build Coastguard Worker ret i1 %1 255*9880d681SAndroid Build Coastguard Worker} 256*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_d_ueq(double %a, double %b) { 257*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_d_ueq: 258*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_dcmpeq 259*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_dcmpun 260*9880d681SAndroid Build Coastguard Worker; SP: bl __aeabi_dcmpeq 261*9880d681SAndroid Build Coastguard Worker; SP: bl __aeabi_dcmpun 262*9880d681SAndroid Build Coastguard Worker; DP: vcmpe.f64 263*9880d681SAndroid Build Coastguard Worker; DP: moveq r0, #1 264*9880d681SAndroid Build Coastguard Worker; DP: movvs r0, #1 265*9880d681SAndroid Build Coastguard Worker %1 = fcmp ueq double %a, %b 266*9880d681SAndroid Build Coastguard Worker ret i1 %1 267*9880d681SAndroid Build Coastguard Worker} 268*9880d681SAndroid Build Coastguard Worker 269*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_d_uge(double %a, double %b) { 270*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_d_uge: 271*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_dcmplt 272*9880d681SAndroid Build Coastguard Worker; SP: bl __aeabi_dcmplt 273*9880d681SAndroid Build Coastguard Worker; DP: vcmpe.f64 274*9880d681SAndroid Build Coastguard Worker; DP: movpl r0, #1 275*9880d681SAndroid Build Coastguard Worker %1 = fcmp uge double %a, %b 276*9880d681SAndroid Build Coastguard Worker ret i1 %1 277*9880d681SAndroid Build Coastguard Worker} 278*9880d681SAndroid Build Coastguard Worker 279*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_d_ule(double %a, double %b) { 280*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_d_ule: 281*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_dcmpgt 282*9880d681SAndroid Build Coastguard Worker; SP: bl __aeabi_dcmpgt 283*9880d681SAndroid Build Coastguard Worker; DP: vcmpe.f64 284*9880d681SAndroid Build Coastguard Worker; DP: movle r0, #1 285*9880d681SAndroid Build Coastguard Worker %1 = fcmp ule double %a, %b 286*9880d681SAndroid Build Coastguard Worker ret i1 %1 287*9880d681SAndroid Build Coastguard Worker} 288*9880d681SAndroid Build Coastguard Worker 289*9880d681SAndroid Build Coastguard Workerdefine i1 @cmp_d_une(double %a, double %b) { 290*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: cmp_d_une: 291*9880d681SAndroid Build Coastguard Worker; NONE: bl __aeabi_dcmpeq 292*9880d681SAndroid Build Coastguard Worker; SP: bl __aeabi_dcmpeq 293*9880d681SAndroid Build Coastguard Worker; DP: vcmpe.f64 294*9880d681SAndroid Build Coastguard Worker; DP: movne r0, #1 295*9880d681SAndroid Build Coastguard Worker %1 = fcmp une double %a, %b 296*9880d681SAndroid Build Coastguard Worker ret i1 %1 297*9880d681SAndroid Build Coastguard Worker} 298