brintos

brintos / llvm-project-archived public Read only

0
0
Text · 36.4 KiB · c77711c Raw
1463 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-linux-gnu -O2 \3; RUN:     -ppc-asm-full-reg-names -mcpu=pwr10 < %s | FileCheck %s4; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-linux-gnu -O2 \5; RUN:     -ppc-asm-full-reg-names -mcpu=pwr10 < %s | FileCheck %s6 7; Function Attrs: norecurse nounwind readnone8define signext i32 @setbc(float %a, float %b) {9; CHECK-LABEL: setbc:10; CHECK:       # %bb.0: # %entry11; CHECK-NEXT:    fcmpu cr0, f1, f212; CHECK-NEXT:    setbc r3, lt13; CHECK-NEXT:    blr14entry:15  %cmp = fcmp olt float %a, %b16  %conv = zext i1 %cmp to i3217  ret i32 %conv18}19 20; Function Attrs: norecurse nounwind readnone21define signext i32 @setnbc(float %a, float %b) {22; CHECK-LABEL: setnbc:23; CHECK:       # %bb.0: # %entry24; CHECK-NEXT:    fcmpu cr0, f1, f225; CHECK-NEXT:    setnbc r3, lt26; CHECK-NEXT:    blr27entry:28  %cmp = fcmp olt float %a, %b29  %sub = sext i1 %cmp to i3230  ret i32 %sub31}32 33; Function Attrs: norecurse nounwind readnone34define signext i32 @setbcr(float %a, float %b) {35; CHECK-LABEL: setbcr:36; CHECK:       # %bb.0: # %entry37; CHECK-NEXT:    fcmpu cr0, f1, f238; CHECK-NEXT:    setbcr r3, lt39; CHECK-NEXT:    blr40entry:41  %cmp = fcmp uge float %a, %b42  %lnot.ext = zext i1 %cmp to i3243  ret i32 %lnot.ext44}45 46; Function Attrs: norecurse nounwind readnone47define signext i32 @setnbcr(float %a, float %b) {48; CHECK-LABEL: setnbcr:49; CHECK:       # %bb.0: # %entry50; CHECK-NEXT:    fcmpu cr0, f1, f251; CHECK-NEXT:    setnbcr r3, lt52; CHECK-NEXT:    blr53entry:54  %cmp = fcmp uge float %a, %b55  %sub = sext i1 %cmp to i3256  ret i32 %sub57}58 59; Function Attrs: norecurse nounwind readnone60define signext i64 @setbc2(float %a, float %b) {61; CHECK-LABEL: setbc2:62; CHECK:       # %bb.0: # %entry63; CHECK-NEXT:    fcmpu cr0, f1, f264; CHECK-NEXT:    setbc r3, lt65; CHECK-NEXT:    blr66entry:67  %cmp = fcmp olt float %a, %b68  %conv = zext i1 %cmp to i6469  ret i64 %conv70}71 72; Function Attrs: norecurse nounwind readnone73define signext i64 @setnbc2(float %a, float %b) {74; CHECK-LABEL: setnbc2:75; CHECK:       # %bb.0: # %entry76; CHECK-NEXT:    fcmpu cr0, f1, f277; CHECK-NEXT:    setnbc r3, lt78; CHECK-NEXT:    blr79entry:80  %cmp = fcmp olt float %a, %b81  %sub = sext i1 %cmp to i6482  ret i64 %sub83}84 85; Function Attrs: norecurse nounwind readnone86define signext i64 @setbcr2(float %a, float %b) {87; CHECK-LABEL: setbcr2:88; CHECK:       # %bb.0: # %entry89; CHECK-NEXT:    fcmpu cr0, f1, f290; CHECK-NEXT:    setbcr r3, lt91; CHECK-NEXT:    blr92entry:93  %cmp = fcmp uge float %a, %b94  %lnot.ext = zext i1 %cmp to i6495  ret i64 %lnot.ext96}97 98; Function Attrs: norecurse nounwind readnone99define signext i64 @setnbcr2(float %a, float %b) {100; CHECK-LABEL: setnbcr2:101; CHECK:       # %bb.0: # %entry102; CHECK-NEXT:    fcmpu cr0, f1, f2103; CHECK-NEXT:    setnbcr r3, lt104; CHECK-NEXT:    blr105entry:106  %cmp = fcmp uge float %a, %b107  %sub = sext i1 %cmp to i64108  ret i64 %sub109}110 111; Function Attrs: norecurse nounwind readnone112define signext i64 @setbc3(double %a, double %b) {113; CHECK-LABEL: setbc3:114; CHECK:       # %bb.0: # %entry115; CHECK-NEXT:    fcmpu cr0, f1, f2116; CHECK-NEXT:    setbc r3, lt117; CHECK-NEXT:    blr118entry:119  %cmp = fcmp olt double %a, %b120  %conv = zext i1 %cmp to i64121  ret i64 %conv122}123 124; Function Attrs: norecurse nounwind readnone125define signext i64 @setnbc3(double %a, double %b) {126; CHECK-LABEL: setnbc3:127; CHECK:       # %bb.0: # %entry128; CHECK-NEXT:    fcmpu cr0, f1, f2129; CHECK-NEXT:    setnbc r3, lt130; CHECK-NEXT:    blr131entry:132  %cmp = fcmp olt double %a, %b133  %sub = sext i1 %cmp to i64134  ret i64 %sub135}136 137; Function Attrs: norecurse nounwind readnone138define signext i64 @setbcr3(double %a, double %b) {139; CHECK-LABEL: setbcr3:140; CHECK:       # %bb.0: # %entry141; CHECK-NEXT:    fcmpu cr0, f1, f2142; CHECK-NEXT:    setbcr r3, lt143; CHECK-NEXT:    blr144entry:145  %cmp = fcmp uge double %a, %b146  %lnot.ext = zext i1 %cmp to i64147  ret i64 %lnot.ext148}149 150; Function Attrs: norecurse nounwind readnone151define signext i64 @setnbcr3(double %a, double %b) {152; CHECK-LABEL: setnbcr3:153; CHECK:       # %bb.0: # %entry154; CHECK-NEXT:    fcmpu cr0, f1, f2155; CHECK-NEXT:    setnbcr r3, lt156; CHECK-NEXT:    blr157entry:158  %cmp = fcmp uge double %a, %b159  %sub = sext i1 %cmp to i64160  ret i64 %sub161}162 163; Function Attrs: norecurse nounwind readnone164define signext i32 @setbc4(double %a, double %b) {165; CHECK-LABEL: setbc4:166; CHECK:       # %bb.0: # %entry167; CHECK-NEXT:    fcmpu cr0, f1, f2168; CHECK-NEXT:    setbc r3, lt169; CHECK-NEXT:    blr170entry:171  %cmp = fcmp olt double %a, %b172  %conv = zext i1 %cmp to i32173  ret i32 %conv174}175 176; Function Attrs: norecurse nounwind readnone177define signext i32 @setnbc4(double %a, double %b) {178; CHECK-LABEL: setnbc4:179; CHECK:       # %bb.0: # %entry180; CHECK-NEXT:    fcmpu cr0, f1, f2181; CHECK-NEXT:    setnbc r3, lt182; CHECK-NEXT:    blr183entry:184  %cmp = fcmp olt double %a, %b185  %sub = sext i1 %cmp to i32186  ret i32 %sub187}188 189; Function Attrs: norecurse nounwind readnone190define signext i32 @setbcr4(double %a, double %b) {191; CHECK-LABEL: setbcr4:192; CHECK:       # %bb.0: # %entry193; CHECK-NEXT:    fcmpu cr0, f1, f2194; CHECK-NEXT:    setbcr r3, lt195; CHECK-NEXT:    blr196entry:197  %cmp = fcmp uge double %a, %b198  %lnot.ext = zext i1 %cmp to i32199  ret i32 %lnot.ext200}201 202; Function Attrs: norecurse nounwind readnone203define signext i32 @setnbcr4(double %a, double %b) {204; CHECK-LABEL: setnbcr4:205; CHECK:       # %bb.0: # %entry206; CHECK-NEXT:    fcmpu cr0, f1, f2207; CHECK-NEXT:    setnbcr r3, lt208; CHECK-NEXT:    blr209entry:210  %cmp = fcmp uge double %a, %b211  %sub = sext i1 %cmp to i32212  ret i32 %sub213}214 215 216; Function Attrs: norecurse nounwind readnone217define signext i32 @setbc5(float %a, float %b) {218; CHECK-LABEL: setbc5:219; CHECK:       # %bb.0: # %entry220; CHECK-NEXT:    fcmpu cr0, f1, f2221; CHECK-NEXT:    setbc r3, gt222; CHECK-NEXT:    blr223entry:224  %cmp = fcmp ogt float %a, %b225  %conv = zext i1 %cmp to i32226  ret i32 %conv227}228 229; Function Attrs: norecurse nounwind readnone230define signext i32 @setnbc5(float %a, float %b) {231; CHECK-LABEL: setnbc5:232; CHECK:       # %bb.0: # %entry233; CHECK-NEXT:    fcmpu cr0, f1, f2234; CHECK-NEXT:    setnbc r3, gt235; CHECK-NEXT:    blr236entry:237  %cmp = fcmp ogt float %a, %b238  %sub = sext i1 %cmp to i32239  ret i32 %sub240}241 242; Function Attrs: norecurse nounwind readnone243define signext i32 @setbcr5(float %a, float %b) {244; CHECK-LABEL: setbcr5:245; CHECK:       # %bb.0: # %entry246; CHECK-NEXT:    fcmpu cr0, f1, f2247; CHECK-NEXT:    setbcr r3, gt248; CHECK-NEXT:    blr249entry:250  %cmp = fcmp ule float %a, %b251  %lnot.ext = zext i1 %cmp to i32252  ret i32 %lnot.ext253}254 255; Function Attrs: norecurse nounwind readnone256define signext i32 @setnbcr5(float %a, float %b) {257; CHECK-LABEL: setnbcr5:258; CHECK:       # %bb.0: # %entry259; CHECK-NEXT:    fcmpu cr0, f1, f2260; CHECK-NEXT:    setnbcr r3, gt261; CHECK-NEXT:    blr262entry:263  %cmp = fcmp ule float %a, %b264  %sub = sext i1 %cmp to i32265  ret i32 %sub266}267 268; Function Attrs: norecurse nounwind readnone269define signext i32 @setbc6(double %a, double %b) {270; CHECK-LABEL: setbc6:271; CHECK:       # %bb.0: # %entry272; CHECK-NEXT:    fcmpu cr0, f1, f2273; CHECK-NEXT:    setbc r3, gt274; CHECK-NEXT:    blr275entry:276  %cmp = fcmp ogt double %a, %b277  %conv = zext i1 %cmp to i32278  ret i32 %conv279}280 281; Function Attrs: norecurse nounwind readnone282define signext i32 @setnbc6(double %a, double %b) {283; CHECK-LABEL: setnbc6:284; CHECK:       # %bb.0: # %entry285; CHECK-NEXT:    fcmpu cr0, f1, f2286; CHECK-NEXT:    setnbc r3, gt287; CHECK-NEXT:    blr288entry:289  %cmp = fcmp ogt double %a, %b290  %sub = sext i1 %cmp to i32291  ret i32 %sub292}293 294; Function Attrs: norecurse nounwind readnone295define signext i32 @setbcr6(double %a, double %b) {296; CHECK-LABEL: setbcr6:297; CHECK:       # %bb.0: # %entry298; CHECK-NEXT:    fcmpu cr0, f1, f2299; CHECK-NEXT:    setbcr r3, gt300; CHECK-NEXT:    blr301entry:302  %cmp = fcmp ule double %a, %b303  %lnot.ext = zext i1 %cmp to i32304  ret i32 %lnot.ext305}306 307; Function Attrs: norecurse nounwind readnone308define signext i32 @setnbcr6(double %a, double %b) {309; CHECK-LABEL: setnbcr6:310; CHECK:       # %bb.0: # %entry311; CHECK-NEXT:    fcmpu cr0, f1, f2312; CHECK-NEXT:    setnbcr r3, gt313; CHECK-NEXT:    blr314entry:315  %cmp = fcmp ule double %a, %b316  %sub = sext i1 %cmp to i32317  ret i32 %sub318}319 320; Function Attrs: norecurse nounwind readnone321define signext i64 @setbc7(float %a, float %b) {322; CHECK-LABEL: setbc7:323; CHECK:       # %bb.0: # %entry324; CHECK-NEXT:    fcmpu cr0, f1, f2325; CHECK-NEXT:    setbc r3, gt326; CHECK-NEXT:    blr327entry:328  %cmp = fcmp ogt float %a, %b329  %conv = zext i1 %cmp to i64330  ret i64 %conv331}332 333; Function Attrs: norecurse nounwind readnone334define signext i64 @setnbc7(float %a, float %b) {335; CHECK-LABEL: setnbc7:336; CHECK:       # %bb.0: # %entry337; CHECK-NEXT:    fcmpu cr0, f1, f2338; CHECK-NEXT:    setnbc r3, gt339; CHECK-NEXT:    blr340entry:341  %cmp = fcmp ogt float %a, %b342  %sub = sext i1 %cmp to i64343  ret i64 %sub344}345 346; Function Attrs: norecurse nounwind readnone347define signext i64 @setbcr7(float %a, float %b) {348; CHECK-LABEL: setbcr7:349; CHECK:       # %bb.0: # %entry350; CHECK-NEXT:    fcmpu cr0, f1, f2351; CHECK-NEXT:    setbcr r3, gt352; CHECK-NEXT:    blr353entry:354  %cmp = fcmp ule float %a, %b355  %lnot.ext = zext i1 %cmp to i64356  ret i64 %lnot.ext357}358 359; Function Attrs: norecurse nounwind readnone360define signext i64 @setnbcr7(float %a, float %b) {361; CHECK-LABEL: setnbcr7:362; CHECK:       # %bb.0: # %entry363; CHECK-NEXT:    fcmpu cr0, f1, f2364; CHECK-NEXT:    setnbcr r3, gt365; CHECK-NEXT:    blr366entry:367  %cmp = fcmp ule float %a, %b368  %sub = sext i1 %cmp to i64369  ret i64 %sub370}371 372; Function Attrs: norecurse nounwind readnone373define signext i64 @setbc8(double %a, double %b) {374; CHECK-LABEL: setbc8:375; CHECK:       # %bb.0: # %entry376; CHECK-NEXT:    fcmpu cr0, f1, f2377; CHECK-NEXT:    setbc r3, gt378; CHECK-NEXT:    blr379entry:380  %cmp = fcmp ogt double %a, %b381  %conv = zext i1 %cmp to i64382  ret i64 %conv383}384 385; Function Attrs: norecurse nounwind readnone386define signext i64 @setnbc8(double %a, double %b) {387; CHECK-LABEL: setnbc8:388; CHECK:       # %bb.0: # %entry389; CHECK-NEXT:    fcmpu cr0, f1, f2390; CHECK-NEXT:    setnbc r3, gt391; CHECK-NEXT:    blr392entry:393  %cmp = fcmp ogt double %a, %b394  %sub = sext i1 %cmp to i64395  ret i64 %sub396}397 398; Function Attrs: norecurse nounwind readnone399define signext i64 @setbcr8(double %a, double %b) {400; CHECK-LABEL: setbcr8:401; CHECK:       # %bb.0: # %entry402; CHECK-NEXT:    fcmpu cr0, f1, f2403; CHECK-NEXT:    setbcr r3, gt404; CHECK-NEXT:    blr405entry:406  %cmp = fcmp ule double %a, %b407  %lnot.ext = zext i1 %cmp to i64408  ret i64 %lnot.ext409}410 411; Function Attrs: norecurse nounwind readnone412define signext i64 @setnbcr8(double %a, double %b) {413; CHECK-LABEL: setnbcr8:414; CHECK:       # %bb.0: # %entry415; CHECK-NEXT:    fcmpu cr0, f1, f2416; CHECK-NEXT:    setnbcr r3, gt417; CHECK-NEXT:    blr418entry:419  %cmp = fcmp ule double %a, %b420  %sub = sext i1 %cmp to i64421  ret i64 %sub422}423 424; Function Attrs: norecurse nounwind readnone425define signext i32 @setbc9(float %a, float %b) {426; CHECK-LABEL: setbc9:427; CHECK:       # %bb.0: # %entry428; CHECK-NEXT:    fcmpu cr0, f1, f2429; CHECK-NEXT:    setbc r3, eq430; CHECK-NEXT:    blr431entry:432  %cmp = fcmp oeq float %a, %b433  %conv = zext i1 %cmp to i32434  ret i32 %conv435}436 437; Function Attrs: norecurse nounwind readnone438define signext i32 @setnbc9(float %a, float %b) {439; CHECK-LABEL: setnbc9:440; CHECK:       # %bb.0: # %entry441; CHECK-NEXT:    fcmpu cr0, f1, f2442; CHECK-NEXT:    setnbc r3, eq443; CHECK-NEXT:    blr444entry:445  %cmp = fcmp oeq float %a, %b446  %sub = sext i1 %cmp to i32447  ret i32 %sub448}449 450; Function Attrs: norecurse nounwind readnone451define signext i32 @setbcr9(float %a, float %b) {452; CHECK-LABEL: setbcr9:453; CHECK:       # %bb.0: # %entry454; CHECK-NEXT:    fcmpu cr0, f1, f2455; CHECK-NEXT:    setbcr r3, eq456; CHECK-NEXT:    blr457entry:458  %cmp = fcmp une float %a, %b459  %lnot.ext = zext i1 %cmp to i32460  ret i32 %lnot.ext461}462 463; Function Attrs: norecurse nounwind readnone464define signext i32 @setnbcr9(float %a, float %b) {465; CHECK-LABEL: setnbcr9:466; CHECK:       # %bb.0: # %entry467; CHECK-NEXT:    fcmpu cr0, f1, f2468; CHECK-NEXT:    setnbcr r3, eq469; CHECK-NEXT:    blr470entry:471  %cmp = fcmp une float %a, %b472  %sub = sext i1 %cmp to i32473  ret i32 %sub474}475 476; Function Attrs: norecurse nounwind readnone477define signext i32 @setbc10(double %a, double %b) {478; CHECK-LABEL: setbc10:479; CHECK:       # %bb.0: # %entry480; CHECK-NEXT:    fcmpu cr0, f1, f2481; CHECK-NEXT:    setbc r3, eq482; CHECK-NEXT:    blr483entry:484  %cmp = fcmp oeq double %a, %b485  %conv = zext i1 %cmp to i32486  ret i32 %conv487}488 489; Function Attrs: norecurse nounwind readnone490define signext i32 @setnbc10(double %a, double %b) {491; CHECK-LABEL: setnbc10:492; CHECK:       # %bb.0: # %entry493; CHECK-NEXT:    fcmpu cr0, f1, f2494; CHECK-NEXT:    setnbc r3, eq495; CHECK-NEXT:    blr496entry:497  %cmp = fcmp oeq double %a, %b498  %sub = sext i1 %cmp to i32499  ret i32 %sub500}501 502; Function Attrs: norecurse nounwind readnone503define signext i32 @setbcr10(double %a, double %b) {504; CHECK-LABEL: setbcr10:505; CHECK:       # %bb.0: # %entry506; CHECK-NEXT:    fcmpu cr0, f1, f2507; CHECK-NEXT:    setbcr r3, eq508; CHECK-NEXT:    blr509entry:510  %cmp = fcmp une double %a, %b511  %lnot.ext = zext i1 %cmp to i32512  ret i32 %lnot.ext513}514 515; Function Attrs: norecurse nounwind readnone516define signext i32 @setnbcr10(double %a, double %b) {517; CHECK-LABEL: setnbcr10:518; CHECK:       # %bb.0: # %entry519; CHECK-NEXT:    fcmpu cr0, f1, f2520; CHECK-NEXT:    setnbcr r3, eq521; CHECK-NEXT:    blr522entry:523  %cmp = fcmp une double %a, %b524  %sub = sext i1 %cmp to i32525  ret i32 %sub526}527 528; Function Attrs: norecurse nounwind readnone529define signext i64 @setbc11(float %a, float %b) {530; CHECK-LABEL: setbc11:531; CHECK:       # %bb.0: # %entry532; CHECK-NEXT:    fcmpu cr0, f1, f2533; CHECK-NEXT:    setbc r3, eq534; CHECK-NEXT:    blr535entry:536  %cmp = fcmp oeq float %a, %b537  %conv = zext i1 %cmp to i64538  ret i64 %conv539}540 541; Function Attrs: norecurse nounwind readnone542define signext i64 @setnbc11(float %a, float %b) {543; CHECK-LABEL: setnbc11:544; CHECK:       # %bb.0: # %entry545; CHECK-NEXT:    fcmpu cr0, f1, f2546; CHECK-NEXT:    setnbc r3, eq547; CHECK-NEXT:    blr548entry:549  %cmp = fcmp oeq float %a, %b550  %sub = sext i1 %cmp to i64551  ret i64 %sub552}553 554; Function Attrs: norecurse nounwind readnone555define signext i64 @setbcr11(float %a, float %b) {556; CHECK-LABEL: setbcr11:557; CHECK:       # %bb.0: # %entry558; CHECK-NEXT:    fcmpu cr0, f1, f2559; CHECK-NEXT:    setbcr r3, eq560; CHECK-NEXT:    blr561entry:562  %cmp = fcmp une float %a, %b563  %lnot.ext = zext i1 %cmp to i64564  ret i64 %lnot.ext565}566 567; Function Attrs: norecurse nounwind readnone568define signext i64 @setnbcr11(float %a, float %b) {569; CHECK-LABEL: setnbcr11:570; CHECK:       # %bb.0: # %entry571; CHECK-NEXT:    fcmpu cr0, f1, f2572; CHECK-NEXT:    setnbcr r3, eq573; CHECK-NEXT:    blr574entry:575  %cmp = fcmp une float %a, %b576  %sub = sext i1 %cmp to i64577  ret i64 %sub578}579 580; Function Attrs: norecurse nounwind readnone581define signext i64 @setbc12(double %a, double %b) {582; CHECK-LABEL: setbc12:583; CHECK:       # %bb.0: # %entry584; CHECK-NEXT:    fcmpu cr0, f1, f2585; CHECK-NEXT:    setbc r3, eq586; CHECK-NEXT:    blr587entry:588  %cmp = fcmp oeq double %a, %b589  %conv = zext i1 %cmp to i64590  ret i64 %conv591}592 593; Function Attrs: norecurse nounwind readnone594define signext i64 @setnbc12(double %a, double %b) {595; CHECK-LABEL: setnbc12:596; CHECK:       # %bb.0: # %entry597; CHECK-NEXT:    fcmpu cr0, f1, f2598; CHECK-NEXT:    setnbc r3, eq599; CHECK-NEXT:    blr600entry:601  %cmp = fcmp oeq double %a, %b602  %sub = sext i1 %cmp to i64603  ret i64 %sub604}605 606; Function Attrs: norecurse nounwind readnone607define signext i64 @setbcr12(double %a, double %b) {608; CHECK-LABEL: setbcr12:609; CHECK:       # %bb.0: # %entry610; CHECK-NEXT:    fcmpu cr0, f1, f2611; CHECK-NEXT:    setbcr r3, eq612; CHECK-NEXT:    blr613entry:614  %cmp = fcmp une double %a, %b615  %lnot.ext = zext i1 %cmp to i64616  ret i64 %lnot.ext617}618 619; Function Attrs: norecurse nounwind readnone620define signext i64 @setnbcr12(double %a, double %b) {621; CHECK-LABEL: setnbcr12:622; CHECK:       # %bb.0: # %entry623; CHECK-NEXT:    fcmpu cr0, f1, f2624; CHECK-NEXT:    setnbcr r3, eq625; CHECK-NEXT:    blr626entry:627  %cmp = fcmp une double %a, %b628  %sub = sext i1 %cmp to i64629  ret i64 %sub630}631 632; Function Attrs: norecurse nounwind readnone633define signext i32 @setbc13(float %a, float %b) {634; CHECK-LABEL: setbc13:635; CHECK:       # %bb.0: # %entry636; CHECK-NEXT:    fcmpu cr0, f1, f2637; CHECK-NEXT:    setbc r3, un638; CHECK-NEXT:    blr639entry:640  %cmp = fcmp uno float %a, %b641  %conv = zext i1 %cmp to i32642  ret i32 %conv643}644 645; Function Attrs: norecurse nounwind readnone646define signext i32 @setnbc13(float %a, float %b) {647; CHECK-LABEL: setnbc13:648; CHECK:       # %bb.0: # %entry649; CHECK-NEXT:    fcmpu cr0, f1, f2650; CHECK-NEXT:    setnbc r3, un651; CHECK-NEXT:    blr652entry:653  %cmp = fcmp uno float %a, %b654  %sub = sext i1 %cmp to i32655  ret i32 %sub656}657 658; Function Attrs: norecurse nounwind readnone659define signext i32 @setbcr13(float %a, float %b) {660; CHECK-LABEL: setbcr13:661; CHECK:       # %bb.0: # %entry662; CHECK-NEXT:    fcmpu cr0, f1, f2663; CHECK-NEXT:    setbcr r3, un664; CHECK-NEXT:    blr665entry:666  %cmp = fcmp ord float %a, %b667  %lnot.ext = zext i1 %cmp to i32668  ret i32 %lnot.ext669}670 671; Function Attrs: norecurse nounwind readnone672define signext i32 @setnbcr13(float %a, float %b) {673; CHECK-LABEL: setnbcr13:674; CHECK:       # %bb.0: # %entry675; CHECK-NEXT:    fcmpu cr0, f1, f2676; CHECK-NEXT:    setnbcr r3, un677; CHECK-NEXT:    blr678entry:679  %cmp = fcmp ord float %a, %b680  %sub = sext i1 %cmp to i32681  ret i32 %sub682}683 684; Function Attrs: norecurse nounwind readnone685define signext i32 @setbc14(double %a, double %b) {686; CHECK-LABEL: setbc14:687; CHECK:       # %bb.0: # %entry688; CHECK-NEXT:    fcmpu cr0, f1, f2689; CHECK-NEXT:    setbc r3, un690; CHECK-NEXT:    blr691entry:692  %cmp = fcmp uno double %a, %b693  %conv = zext i1 %cmp to i32694  ret i32 %conv695}696 697; Function Attrs: norecurse nounwind readnone698define signext i32 @setnbc14(double %a, double %b) {699; CHECK-LABEL: setnbc14:700; CHECK:       # %bb.0: # %entry701; CHECK-NEXT:    fcmpu cr0, f1, f2702; CHECK-NEXT:    setnbc r3, un703; CHECK-NEXT:    blr704entry:705  %cmp = fcmp uno double %a, %b706  %sub = sext i1 %cmp to i32707  ret i32 %sub708}709 710; Function Attrs: norecurse nounwind readnone711define signext i32 @setbcr14(double %a, double %b) {712; CHECK-LABEL: setbcr14:713; CHECK:       # %bb.0: # %entry714; CHECK-NEXT:    fcmpu cr0, f1, f2715; CHECK-NEXT:    setbcr r3, un716; CHECK-NEXT:    blr717entry:718  %cmp = fcmp ord double %a, %b719  %lnot.ext = zext i1 %cmp to i32720  ret i32 %lnot.ext721}722 723; Function Attrs: norecurse nounwind readnone724define signext i32 @setnbcr14(double %a, double %b) {725; CHECK-LABEL: setnbcr14:726; CHECK:       # %bb.0: # %entry727; CHECK-NEXT:    fcmpu cr0, f1, f2728; CHECK-NEXT:    setnbcr r3, un729; CHECK-NEXT:    blr730entry:731  %cmp = fcmp ord double %a, %b732  %sub = sext i1 %cmp to i32733  ret i32 %sub734}735 736; Function Attrs: norecurse nounwind readnone737define signext i64 @setbc15(float %a, float %b) {738; CHECK-LABEL: setbc15:739; CHECK:       # %bb.0: # %entry740; CHECK-NEXT:    fcmpu cr0, f1, f2741; CHECK-NEXT:    setbc r3, un742; CHECK-NEXT:    blr743entry:744  %cmp = fcmp uno float %a, %b745  %conv = zext i1 %cmp to i64746  ret i64 %conv747}748 749; Function Attrs: norecurse nounwind readnone750define signext i64 @setnbc15(float %a, float %b) {751; CHECK-LABEL: setnbc15:752; CHECK:       # %bb.0: # %entry753; CHECK-NEXT:    fcmpu cr0, f1, f2754; CHECK-NEXT:    setnbc r3, un755; CHECK-NEXT:    blr756entry:757  %cmp = fcmp uno float %a, %b758  %sub = sext i1 %cmp to i64759  ret i64 %sub760}761 762; Function Attrs: norecurse nounwind readnone763define signext i64 @setbcr15(float %a, float %b) {764; CHECK-LABEL: setbcr15:765; CHECK:       # %bb.0: # %entry766; CHECK-NEXT:    fcmpu cr0, f1, f2767; CHECK-NEXT:    setbcr r3, un768; CHECK-NEXT:    blr769entry:770  %cmp = fcmp ord float %a, %b771  %lnot.ext = zext i1 %cmp to i64772  ret i64 %lnot.ext773}774 775; Function Attrs: norecurse nounwind readnone776define signext i64 @setnbcr15(float %a, float %b) {777; CHECK-LABEL: setnbcr15:778; CHECK:       # %bb.0: # %entry779; CHECK-NEXT:    fcmpu cr0, f1, f2780; CHECK-NEXT:    setnbcr r3, un781; CHECK-NEXT:    blr782entry:783  %cmp = fcmp ord float %a, %b784  %sub = sext i1 %cmp to i64785  ret i64 %sub786}787 788; Function Attrs: norecurse nounwind readnone789define signext i64 @setbc16(double %a, double %b) {790; CHECK-LABEL: setbc16:791; CHECK:       # %bb.0: # %entry792; CHECK-NEXT:    fcmpu cr0, f1, f2793; CHECK-NEXT:    setbc r3, un794; CHECK-NEXT:    blr795entry:796  %cmp = fcmp uno double %a, %b797  %conv = zext i1 %cmp to i64798  ret i64 %conv799}800 801; Function Attrs: norecurse nounwind readnone802define signext i64 @setnbc16(double %a, double %b) {803; CHECK-LABEL: setnbc16:804; CHECK:       # %bb.0: # %entry805; CHECK-NEXT:    fcmpu cr0, f1, f2806; CHECK-NEXT:    setnbc r3, un807; CHECK-NEXT:    blr808entry:809  %cmp = fcmp uno double %a, %b810  %sub = sext i1 %cmp to i64811  ret i64 %sub812}813 814; Function Attrs: norecurse nounwind readnone815define signext i64 @setbcr16(double %a, double %b) {816; CHECK-LABEL: setbcr16:817; CHECK:       # %bb.0: # %entry818; CHECK-NEXT:    fcmpu cr0, f1, f2819; CHECK-NEXT:    setbcr r3, un820; CHECK-NEXT:    blr821entry:822  %cmp = fcmp ord double %a, %b823  %lnot.ext = zext i1 %cmp to i64824  ret i64 %lnot.ext825}826 827; Function Attrs: norecurse nounwind readnone828define signext i64 @setnbcr16(double %a, double %b) {829; CHECK-LABEL: setnbcr16:830; CHECK:       # %bb.0: # %entry831; CHECK-NEXT:    fcmpu cr0, f1, f2832; CHECK-NEXT:    setnbcr r3, un833; CHECK-NEXT:    blr834entry:835  %cmp = fcmp ord double %a, %b836  %sub = sext i1 %cmp to i64837  ret i64 %sub838}839 840define signext i32 @setbc17(float %a, float %b) {841; CHECK-LABEL: setbc17:842; CHECK:       # %bb.0: # %entry843; CHECK-NEXT:    fcmpu cr0, f1, f2844; CHECK-NEXT:    cror 4*cr5+lt, lt, un845; CHECK-NEXT:    setbc r3, 4*cr5+lt846; CHECK-NEXT:    blr847entry:848  %cmp = fcmp ult float %a, %b849  %conv = zext i1 %cmp to i32850  ret i32 %conv851}852 853define signext i32 @setnbc17(float %a, float %b) {854; CHECK-LABEL: setnbc17:855; CHECK:       # %bb.0: # %entry856; CHECK-NEXT:    fcmpu cr0, f1, f2857; CHECK-NEXT:    cror 4*cr5+lt, lt, un858; CHECK-NEXT:    setnbc r3, 4*cr5+lt859; CHECK-NEXT:    blr860entry:861  %cmp = fcmp ult float %a, %b862  %conv = sext i1 %cmp to i32863  ret i32 %conv864}865 866define signext i32 @setbc18(double %a, double %b) {867; CHECK-LABEL: setbc18:868; CHECK:       # %bb.0: # %entry869; CHECK-NEXT:    fcmpu cr0, f1, f2870; CHECK-NEXT:    cror 4*cr5+lt, lt, un871; CHECK-NEXT:    setbc r3, 4*cr5+lt872; CHECK-NEXT:    blr873entry:874  %cmp = fcmp ult double %a, %b875  %conv = zext i1 %cmp to i32876  ret i32 %conv877}878 879define signext i32 @setnbc18(double %a, double %b) {880; CHECK-LABEL: setnbc18:881; CHECK:       # %bb.0: # %entry882; CHECK-NEXT:    fcmpu cr0, f1, f2883; CHECK-NEXT:    cror 4*cr5+lt, lt, un884; CHECK-NEXT:    setnbc r3, 4*cr5+lt885; CHECK-NEXT:    blr886entry:887  %cmp = fcmp ult double %a, %b888  %conv = sext i1 %cmp to i32889  ret i32 %conv890}891 892define signext i64 @setbc19(float %a, float %b) {893; CHECK-LABEL: setbc19:894; CHECK:       # %bb.0: # %entry895; CHECK-NEXT:    fcmpu cr0, f1, f2896; CHECK-NEXT:    cror 4*cr5+lt, lt, un897; CHECK-NEXT:    setbc r3, 4*cr5+lt898; CHECK-NEXT:    blr899entry:900  %cmp = fcmp ult float %a, %b901  %conv = zext i1 %cmp to i64902  ret i64 %conv903}904 905define signext i64 @setnbc19(float %a, float %b) {906; CHECK-LABEL: setnbc19:907; CHECK:       # %bb.0: # %entry908; CHECK-NEXT:    fcmpu cr0, f1, f2909; CHECK-NEXT:    cror 4*cr5+lt, lt, un910; CHECK-NEXT:    setnbc r3, 4*cr5+lt911; CHECK-NEXT:    blr912entry:913  %cmp = fcmp ult float %a, %b914  %conv = sext i1 %cmp to i64915  ret i64 %conv916}917 918define signext i64 @setbc20(double %a, double %b) {919; CHECK-LABEL: setbc20:920; CHECK:       # %bb.0: # %entry921; CHECK-NEXT:    fcmpu cr0, f1, f2922; CHECK-NEXT:    cror 4*cr5+lt, lt, un923; CHECK-NEXT:    setbc r3, 4*cr5+lt924; CHECK-NEXT:    blr925entry:926  %cmp = fcmp ult double %a, %b927  %conv = zext i1 %cmp to i64928  ret i64 %conv929}930 931define signext i64 @setnbc20(double %a, double %b) {932; CHECK-LABEL: setnbc20:933; CHECK:       # %bb.0: # %entry934; CHECK-NEXT:    fcmpu cr0, f1, f2935; CHECK-NEXT:    cror 4*cr5+lt, lt, un936; CHECK-NEXT:    setnbc r3, 4*cr5+lt937; CHECK-NEXT:    blr938entry:939  %cmp = fcmp ult double %a, %b940  %conv = sext i1 %cmp to i64941  ret i64 %conv942}943 944define signext i32 @setbc21(float %a, float %b) {945; CHECK-LABEL: setbc21:946; CHECK:       # %bb.0: # %entry947; CHECK-NEXT:    fcmpu cr0, f1, f2948; CHECK-NEXT:    crnor 4*cr5+lt, un, lt949; CHECK-NEXT:    setbc r3, 4*cr5+lt950; CHECK-NEXT:    blr951entry:952  %cmp = fcmp oge float %a, %b953  %conv = zext i1 %cmp to i32954  ret i32 %conv955}956 957define signext i32 @setnbc21(float %a, float %b) {958; CHECK-LABEL: setnbc21:959; CHECK:       # %bb.0: # %entry960; CHECK-NEXT:    fcmpu cr0, f1, f2961; CHECK-NEXT:    crnor 4*cr5+lt, un, lt962; CHECK-NEXT:    setnbc r3, 4*cr5+lt963; CHECK-NEXT:    blr964entry:965  %cmp = fcmp oge float %a, %b966  %conv = sext i1 %cmp to i32967  ret i32 %conv968}969 970define signext i32 @setbc22(double %a, double %b) {971; CHECK-LABEL: setbc22:972; CHECK:       # %bb.0: # %entry973; CHECK-NEXT:    fcmpu cr0, f1, f2974; CHECK-NEXT:    crnor 4*cr5+lt, un, lt975; CHECK-NEXT:    setbc r3, 4*cr5+lt976; CHECK-NEXT:    blr977entry:978  %cmp = fcmp oge double %a, %b979  %conv = zext i1 %cmp to i32980  ret i32 %conv981}982 983define signext i32 @setnbc22(double %a, double %b) {984; CHECK-LABEL: setnbc22:985; CHECK:       # %bb.0: # %entry986; CHECK-NEXT:    fcmpu cr0, f1, f2987; CHECK-NEXT:    crnor 4*cr5+lt, un, lt988; CHECK-NEXT:    setnbc r3, 4*cr5+lt989; CHECK-NEXT:    blr990entry:991  %cmp = fcmp oge double %a, %b992  %conv = sext i1 %cmp to i32993  ret i32 %conv994}995 996define signext i64 @setbc23(float %a, float %b) {997; CHECK-LABEL: setbc23:998; CHECK:       # %bb.0: # %entry999; CHECK-NEXT:    fcmpu cr0, f1, f21000; CHECK-NEXT:    crnor 4*cr5+lt, un, lt1001; CHECK-NEXT:    setbc r3, 4*cr5+lt1002; CHECK-NEXT:    blr1003entry:1004  %cmp = fcmp oge float %a, %b1005  %conv = zext i1 %cmp to i641006  ret i64 %conv1007}1008 1009define signext i64 @setnbc23(float %a, float %b) {1010; CHECK-LABEL: setnbc23:1011; CHECK:       # %bb.0: # %entry1012; CHECK-NEXT:    fcmpu cr0, f1, f21013; CHECK-NEXT:    crnor 4*cr5+lt, un, lt1014; CHECK-NEXT:    setnbc r3, 4*cr5+lt1015; CHECK-NEXT:    blr1016entry:1017  %cmp = fcmp oge float %a, %b1018  %conv = sext i1 %cmp to i641019  ret i64 %conv1020}1021 1022define signext i64 @setbc24(double %a, double %b) {1023; CHECK-LABEL: setbc24:1024; CHECK:       # %bb.0: # %entry1025; CHECK-NEXT:    fcmpu cr0, f1, f21026; CHECK-NEXT:    crnor 4*cr5+lt, un, lt1027; CHECK-NEXT:    setbc r3, 4*cr5+lt1028; CHECK-NEXT:    blr1029entry:1030  %cmp = fcmp oge double %a, %b1031  %conv = zext i1 %cmp to i641032  ret i64 %conv1033}1034 1035define signext i64 @setnbc24(double %a, double %b) {1036; CHECK-LABEL: setnbc24:1037; CHECK:       # %bb.0: # %entry1038; CHECK-NEXT:    fcmpu cr0, f1, f21039; CHECK-NEXT:    crnor 4*cr5+lt, un, lt1040; CHECK-NEXT:    setnbc r3, 4*cr5+lt1041; CHECK-NEXT:    blr1042entry:1043  %cmp = fcmp oge double %a, %b1044  %conv = sext i1 %cmp to i641045  ret i64 %conv1046}1047 1048define signext i32 @setbc25(float %a, float %b) {1049; CHECK-LABEL: setbc25:1050; CHECK:       # %bb.0: # %entry1051; CHECK-NEXT:    fcmpu cr0, f1, f21052; CHECK-NEXT:    crnor 4*cr5+lt, un, gt1053; CHECK-NEXT:    setbc r3, 4*cr5+lt1054; CHECK-NEXT:    blr1055entry:1056  %cmp = fcmp ole float %a, %b1057  %conv = zext i1 %cmp to i321058  ret i32 %conv1059}1060 1061define signext i32 @setnbc25(float %a, float %b) {1062; CHECK-LABEL: setnbc25:1063; CHECK:       # %bb.0: # %entry1064; CHECK-NEXT:    fcmpu cr0, f1, f21065; CHECK-NEXT:    crnor 4*cr5+lt, un, gt1066; CHECK-NEXT:    setnbc r3, 4*cr5+lt1067; CHECK-NEXT:    blr1068entry:1069  %cmp = fcmp ole float %a, %b1070  %conv = sext i1 %cmp to i321071  ret i32 %conv1072}1073 1074define signext i32 @setbc26(double %a, double %b) {1075; CHECK-LABEL: setbc26:1076; CHECK:       # %bb.0: # %entry1077; CHECK-NEXT:    fcmpu cr0, f1, f21078; CHECK-NEXT:    crnor 4*cr5+lt, un, gt1079; CHECK-NEXT:    setbc r3, 4*cr5+lt1080; CHECK-NEXT:    blr1081entry:1082  %cmp = fcmp ole double %a, %b1083  %conv = zext i1 %cmp to i321084  ret i32 %conv1085}1086 1087define signext i32 @setnbc26(double %a, double %b) {1088; CHECK-LABEL: setnbc26:1089; CHECK:       # %bb.0: # %entry1090; CHECK-NEXT:    fcmpu cr0, f1, f21091; CHECK-NEXT:    crnor 4*cr5+lt, un, gt1092; CHECK-NEXT:    setnbc r3, 4*cr5+lt1093; CHECK-NEXT:    blr1094entry:1095  %cmp = fcmp ole double %a, %b1096  %conv = sext i1 %cmp to i321097  ret i32 %conv1098}1099 1100define signext i64 @setbc27(float %a, float %b) {1101; CHECK-LABEL: setbc27:1102; CHECK:       # %bb.0: # %entry1103; CHECK-NEXT:    fcmpu cr0, f1, f21104; CHECK-NEXT:    crnor 4*cr5+lt, un, gt1105; CHECK-NEXT:    setbc r3, 4*cr5+lt1106; CHECK-NEXT:    blr1107entry:1108  %cmp = fcmp ole float %a, %b1109  %conv = zext i1 %cmp to i641110  ret i64 %conv1111}1112 1113define signext i64 @setnbc27(float %a, float %b) {1114; CHECK-LABEL: setnbc27:1115; CHECK:       # %bb.0: # %entry1116; CHECK-NEXT:    fcmpu cr0, f1, f21117; CHECK-NEXT:    crnor 4*cr5+lt, un, gt1118; CHECK-NEXT:    setnbc r3, 4*cr5+lt1119; CHECK-NEXT:    blr1120entry:1121  %cmp = fcmp ole float %a, %b1122  %conv = sext i1 %cmp to i641123  ret i64 %conv1124}1125 1126define signext i64 @setbc28(double %a, double %b) {1127; CHECK-LABEL: setbc28:1128; CHECK:       # %bb.0: # %entry1129; CHECK-NEXT:    fcmpu cr0, f1, f21130; CHECK-NEXT:    crnor 4*cr5+lt, un, gt1131; CHECK-NEXT:    setbc r3, 4*cr5+lt1132; CHECK-NEXT:    blr1133entry:1134  %cmp = fcmp ole double %a, %b1135  %conv = zext i1 %cmp to i641136  ret i64 %conv1137}1138 1139define signext i64 @setnbc28(double %a, double %b) {1140; CHECK-LABEL: setnbc28:1141; CHECK:       # %bb.0: # %entry1142; CHECK-NEXT:    fcmpu cr0, f1, f21143; CHECK-NEXT:    crnor 4*cr5+lt, un, gt1144; CHECK-NEXT:    setnbc r3, 4*cr5+lt1145; CHECK-NEXT:    blr1146entry:1147  %cmp = fcmp ole double %a, %b1148  %conv = sext i1 %cmp to i641149  ret i64 %conv1150}1151 1152define signext i32 @setbc29(float %a, float %b) {1153; CHECK-LABEL: setbc29:1154; CHECK:       # %bb.0: # %entry1155; CHECK-NEXT:    fcmpu cr0, f1, f21156; CHECK-NEXT:    cror 4*cr5+lt, gt, un1157; CHECK-NEXT:    setbc r3, 4*cr5+lt1158; CHECK-NEXT:    blr1159entry:1160  %cmp = fcmp ugt float %a, %b1161  %conv = zext i1 %cmp to i321162  ret i32 %conv1163}1164 1165define signext i32 @setnbc29(float %a, float %b) {1166; CHECK-LABEL: setnbc29:1167; CHECK:       # %bb.0: # %entry1168; CHECK-NEXT:    fcmpu cr0, f1, f21169; CHECK-NEXT:    cror 4*cr5+lt, gt, un1170; CHECK-NEXT:    setnbc r3, 4*cr5+lt1171; CHECK-NEXT:    blr1172entry:1173  %cmp = fcmp ugt float %a, %b1174  %conv = sext i1 %cmp to i321175  ret i32 %conv1176}1177 1178define signext i32 @setbc30(double %a, double %b) {1179; CHECK-LABEL: setbc30:1180; CHECK:       # %bb.0: # %entry1181; CHECK-NEXT:    fcmpu cr0, f1, f21182; CHECK-NEXT:    cror 4*cr5+lt, gt, un1183; CHECK-NEXT:    setbc r3, 4*cr5+lt1184; CHECK-NEXT:    blr1185entry:1186  %cmp = fcmp ugt double %a, %b1187  %conv = zext i1 %cmp to i321188  ret i32 %conv1189}1190 1191define signext i32 @setnbc30(double %a, double %b) {1192; CHECK-LABEL: setnbc30:1193; CHECK:       # %bb.0: # %entry1194; CHECK-NEXT:    fcmpu cr0, f1, f21195; CHECK-NEXT:    cror 4*cr5+lt, gt, un1196; CHECK-NEXT:    setnbc r3, 4*cr5+lt1197; CHECK-NEXT:    blr1198entry:1199  %cmp = fcmp ugt double %a, %b1200  %conv = sext i1 %cmp to i321201  ret i32 %conv1202}1203 1204define signext i64 @setbc31(float %a, float %b) {1205; CHECK-LABEL: setbc31:1206; CHECK:       # %bb.0: # %entry1207; CHECK-NEXT:    fcmpu cr0, f1, f21208; CHECK-NEXT:    cror 4*cr5+lt, gt, un1209; CHECK-NEXT:    setbc r3, 4*cr5+lt1210; CHECK-NEXT:    blr1211entry:1212  %cmp = fcmp ugt float %a, %b1213  %conv = zext i1 %cmp to i641214  ret i64 %conv1215}1216 1217define signext i64 @setnbc31(float %a, float %b) {1218; CHECK-LABEL: setnbc31:1219; CHECK:       # %bb.0: # %entry1220; CHECK-NEXT:    fcmpu cr0, f1, f21221; CHECK-NEXT:    cror 4*cr5+lt, gt, un1222; CHECK-NEXT:    setnbc r3, 4*cr5+lt1223; CHECK-NEXT:    blr1224entry:1225  %cmp = fcmp ugt float %a, %b1226  %conv = sext i1 %cmp to i641227  ret i64 %conv1228}1229 1230define signext i64 @setbc32(double %a, double %b) {1231; CHECK-LABEL: setbc32:1232; CHECK:       # %bb.0: # %entry1233; CHECK-NEXT:    fcmpu cr0, f1, f21234; CHECK-NEXT:    cror 4*cr5+lt, gt, un1235; CHECK-NEXT:    setbc r3, 4*cr5+lt1236; CHECK-NEXT:    blr1237entry:1238  %cmp = fcmp ugt double %a, %b1239  %conv = zext i1 %cmp to i641240  ret i64 %conv1241}1242 1243define signext i64 @setnbc32(double %a, double %b) {1244; CHECK-LABEL: setnbc32:1245; CHECK:       # %bb.0: # %entry1246; CHECK-NEXT:    fcmpu cr0, f1, f21247; CHECK-NEXT:    cror 4*cr5+lt, gt, un1248; CHECK-NEXT:    setnbc r3, 4*cr5+lt1249; CHECK-NEXT:    blr1250entry:1251  %cmp = fcmp ugt double %a, %b1252  %conv = sext i1 %cmp to i641253  ret i64 %conv1254}1255 1256define signext i32 @setbc33(float %a, float %b) {1257; CHECK-LABEL: setbc33:1258; CHECK:       # %bb.0: # %entry1259; CHECK-NEXT:    fcmpu cr0, f1, f21260; CHECK-NEXT:    cror 4*cr5+lt, eq, un1261; CHECK-NEXT:    setbc r3, 4*cr5+lt1262; CHECK-NEXT:    blr1263entry:1264  %cmp = fcmp ueq float %a, %b1265  %conv = zext i1 %cmp to i321266  ret i32 %conv1267}1268 1269define signext i32 @setnbc33(float %a, float %b) {1270; CHECK-LABEL: setnbc33:1271; CHECK:       # %bb.0: # %entry1272; CHECK-NEXT:    fcmpu cr0, f1, f21273; CHECK-NEXT:    cror 4*cr5+lt, eq, un1274; CHECK-NEXT:    setnbc r3, 4*cr5+lt1275; CHECK-NEXT:    blr1276entry:1277  %cmp = fcmp ueq float %a, %b1278  %conv = sext i1 %cmp to i321279  ret i32 %conv1280}1281 1282define signext i32 @setbc34(double %a, double %b) {1283; CHECK-LABEL: setbc34:1284; CHECK:       # %bb.0: # %entry1285; CHECK-NEXT:    fcmpu cr0, f1, f21286; CHECK-NEXT:    cror 4*cr5+lt, eq, un1287; CHECK-NEXT:    setbc r3, 4*cr5+lt1288; CHECK-NEXT:    blr1289entry:1290  %cmp = fcmp ueq double %a, %b1291  %conv = zext i1 %cmp to i321292  ret i32 %conv1293}1294 1295define signext i32 @setnbc34(double %a, double %b) {1296; CHECK-LABEL: setnbc34:1297; CHECK:       # %bb.0: # %entry1298; CHECK-NEXT:    fcmpu cr0, f1, f21299; CHECK-NEXT:    cror 4*cr5+lt, eq, un1300; CHECK-NEXT:    setnbc r3, 4*cr5+lt1301; CHECK-NEXT:    blr1302entry:1303  %cmp = fcmp ueq double %a, %b1304  %conv = sext i1 %cmp to i321305  ret i32 %conv1306}1307 1308define signext i64 @setbc35(float %a, float %b) {1309; CHECK-LABEL: setbc35:1310; CHECK:       # %bb.0: # %entry1311; CHECK-NEXT:    fcmpu cr0, f1, f21312; CHECK-NEXT:    cror 4*cr5+lt, eq, un1313; CHECK-NEXT:    setbc r3, 4*cr5+lt1314; CHECK-NEXT:    blr1315entry:1316  %cmp = fcmp ueq float %a, %b1317  %conv = zext i1 %cmp to i641318  ret i64 %conv1319}1320 1321define signext i64 @setnbc35(float %a, float %b) {1322; CHECK-LABEL: setnbc35:1323; CHECK:       # %bb.0: # %entry1324; CHECK-NEXT:    fcmpu cr0, f1, f21325; CHECK-NEXT:    cror 4*cr5+lt, eq, un1326; CHECK-NEXT:    setnbc r3, 4*cr5+lt1327; CHECK-NEXT:    blr1328entry:1329  %cmp = fcmp ueq float %a, %b1330  %conv = sext i1 %cmp to i641331  ret i64 %conv1332}1333 1334define signext i64 @setbc36(double %a, double %b) {1335; CHECK-LABEL: setbc36:1336; CHECK:       # %bb.0: # %entry1337; CHECK-NEXT:    fcmpu cr0, f1, f21338; CHECK-NEXT:    cror 4*cr5+lt, eq, un1339; CHECK-NEXT:    setbc r3, 4*cr5+lt1340; CHECK-NEXT:    blr1341entry:1342  %cmp = fcmp ueq double %a, %b1343  %conv = zext i1 %cmp to i641344  ret i64 %conv1345}1346 1347define signext i64 @setnbc36(double %a, double %b) {1348; CHECK-LABEL: setnbc36:1349; CHECK:       # %bb.0: # %entry1350; CHECK-NEXT:    fcmpu cr0, f1, f21351; CHECK-NEXT:    cror 4*cr5+lt, eq, un1352; CHECK-NEXT:    setnbc r3, 4*cr5+lt1353; CHECK-NEXT:    blr1354entry:1355  %cmp = fcmp ueq double %a, %b1356  %conv = sext i1 %cmp to i641357  ret i64 %conv1358}1359 1360define signext i32 @setbc37(float %a, float %b) {1361; CHECK-LABEL: setbc37:1362; CHECK:       # %bb.0: # %entry1363; CHECK-NEXT:    fcmpu cr0, f1, f21364; CHECK-NEXT:    crnor 4*cr5+lt, un, eq1365; CHECK-NEXT:    setbc r3, 4*cr5+lt1366; CHECK-NEXT:    blr1367entry:1368  %cmp = fcmp one float %a, %b1369  %conv = zext i1 %cmp to i321370  ret i32 %conv1371}1372 1373define signext i32 @setnbc37(float %a, float %b) {1374; CHECK-LABEL: setnbc37:1375; CHECK:       # %bb.0: # %entry1376; CHECK-NEXT:    fcmpu cr0, f1, f21377; CHECK-NEXT:    crnor 4*cr5+lt, un, eq1378; CHECK-NEXT:    setnbc r3, 4*cr5+lt1379; CHECK-NEXT:    blr1380entry:1381  %cmp = fcmp one float %a, %b1382  %conv = sext i1 %cmp to i321383  ret i32 %conv1384}1385 1386define signext i32 @setbc38(double %a, double %b) {1387; CHECK-LABEL: setbc38:1388; CHECK:       # %bb.0: # %entry1389; CHECK-NEXT:    fcmpu cr0, f1, f21390; CHECK-NEXT:    crnor 4*cr5+lt, un, eq1391; CHECK-NEXT:    setbc r3, 4*cr5+lt1392; CHECK-NEXT:    blr1393entry:1394  %cmp = fcmp one double %a, %b1395  %conv = zext i1 %cmp to i321396  ret i32 %conv1397}1398 1399define signext i32 @setnbc38(double %a, double %b) {1400; CHECK-LABEL: setnbc38:1401; CHECK:       # %bb.0: # %entry1402; CHECK-NEXT:    fcmpu cr0, f1, f21403; CHECK-NEXT:    crnor 4*cr5+lt, un, eq1404; CHECK-NEXT:    setnbc r3, 4*cr5+lt1405; CHECK-NEXT:    blr1406entry:1407  %cmp = fcmp one double %a, %b1408  %conv = sext i1 %cmp to i321409  ret i32 %conv1410}1411 1412define signext i64 @setbc39(float %a, float %b) {1413; CHECK-LABEL: setbc39:1414; CHECK:       # %bb.0: # %entry1415; CHECK-NEXT:    fcmpu cr0, f1, f21416; CHECK-NEXT:    crnor 4*cr5+lt, un, eq1417; CHECK-NEXT:    setbc r3, 4*cr5+lt1418; CHECK-NEXT:    blr1419entry:1420  %cmp = fcmp one float %a, %b1421  %conv = zext i1 %cmp to i641422  ret i64 %conv1423}1424 1425define signext i64 @setnbc39(float %a, float %b) {1426; CHECK-LABEL: setnbc39:1427; CHECK:       # %bb.0: # %entry1428; CHECK-NEXT:    fcmpu cr0, f1, f21429; CHECK-NEXT:    crnor 4*cr5+lt, un, eq1430; CHECK-NEXT:    setnbc r3, 4*cr5+lt1431; CHECK-NEXT:    blr1432entry:1433  %cmp = fcmp one float %a, %b1434  %conv = sext i1 %cmp to i641435  ret i64 %conv1436}1437 1438define signext i64 @setbc40(double %a, double %b) {1439; CHECK-LABEL: setbc40:1440; CHECK:       # %bb.0: # %entry1441; CHECK-NEXT:    fcmpu cr0, f1, f21442; CHECK-NEXT:    crnor 4*cr5+lt, un, eq1443; CHECK-NEXT:    setbc r3, 4*cr5+lt1444; CHECK-NEXT:    blr1445entry:1446  %cmp = fcmp one double %a, %b1447  %conv = zext i1 %cmp to i641448  ret i64 %conv1449}1450 1451define signext i64 @setnbc40(double %a, double %b) {1452; CHECK-LABEL: setnbc40:1453; CHECK:       # %bb.0: # %entry1454; CHECK-NEXT:    fcmpu cr0, f1, f21455; CHECK-NEXT:    crnor 4*cr5+lt, un, eq1456; CHECK-NEXT:    setnbc r3, 4*cr5+lt1457; CHECK-NEXT:    blr1458entry:1459  %cmp = fcmp one double %a, %b1460  %conv = sext i1 %cmp to i641461  ret i64 %conv1462}1463