brintos

brintos / llvm-project-archived public Read only

0
0
Text · 20.3 KiB · df1edc6 Raw
762 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc -mtriple=msp430-unknown-unknown < %s | FileCheck %s3 4define i1 @fcmp_false_f64(double %a, double %b) #0 {5; CHECK-LABEL: fcmp_false_f64:6; CHECK:       ; %bb.0:7; CHECK-NEXT:    clr.b r128; CHECK-NEXT:    ret9  %cmp = fcmp false double %a, %b10  ret i1 %cmp11}12 13define i1 @fcmp_oeq_f64(double %a, double %b) #0 {14; CHECK-LABEL: fcmp_oeq_f64:15; CHECK:       ; %bb.0:16; CHECK-NEXT:    push r817; CHECK-NEXT:    push r918; CHECK-NEXT:    push r1019; CHECK-NEXT:    mov r15, r1120; CHECK-NEXT:    mov r14, r1021; CHECK-NEXT:    mov r13, r922; CHECK-NEXT:    mov r12, r823; CHECK-NEXT:    mov 8(r1), r1224; CHECK-NEXT:    mov 10(r1), r1325; CHECK-NEXT:    mov 12(r1), r1426; CHECK-NEXT:    mov 14(r1), r1527; CHECK-NEXT:    call #__mspabi_cmpd28; CHECK-NEXT:    tst r1229; CHECK-NEXT:    mov r2, r1230; CHECK-NEXT:    rra r1231; CHECK-NEXT:    and #1, r1232; CHECK-NEXT:    ; kill: def $r12b killed $r12b killed $r1233; CHECK-NEXT:    pop r1034; CHECK-NEXT:    pop r935; CHECK-NEXT:    pop r836; CHECK-NEXT:    ret37  %cmp = fcmp oeq double %a, %b38  ret i1 %cmp39}40 41define i1 @fcmp_ogt_f64(double %a, double %b) #0 {42; CHECK-LABEL: fcmp_ogt_f64:43; CHECK:       ; %bb.0:44; CHECK-NEXT:    push r845; CHECK-NEXT:    push r946; CHECK-NEXT:    push r1047; CHECK-NEXT:    mov r15, r1148; CHECK-NEXT:    mov r14, r1049; CHECK-NEXT:    mov r13, r950; CHECK-NEXT:    mov r12, r851; CHECK-NEXT:    mov 8(r1), r1252; CHECK-NEXT:    mov 10(r1), r1353; CHECK-NEXT:    mov 12(r1), r1454; CHECK-NEXT:    mov 14(r1), r1555; CHECK-NEXT:    call #__mspabi_cmpd56; CHECK-NEXT:    mov r12, r1357; CHECK-NEXT:    mov #1, r1258; CHECK-NEXT:    cmp #1, r1359; CHECK-NEXT:    jge .LBB2_260; CHECK-NEXT:  ; %bb.1:61; CHECK-NEXT:    clr r1262; CHECK-NEXT:  .LBB2_2:63; CHECK-NEXT:    ; kill: def $r12b killed $r12b killed $r1264; CHECK-NEXT:    pop r1065; CHECK-NEXT:    pop r966; CHECK-NEXT:    pop r867; CHECK-NEXT:    ret68  %cmp = fcmp ogt double %a, %b69  ret i1 %cmp70}71 72define i1 @fcmp_oge_f64(double %a, double %b) #0 {73; CHECK-LABEL: fcmp_oge_f64:74; CHECK:       ; %bb.0:75; CHECK-NEXT:    push r876; CHECK-NEXT:    push r977; CHECK-NEXT:    push r1078; CHECK-NEXT:    mov r15, r1179; CHECK-NEXT:    mov r14, r1080; CHECK-NEXT:    mov r13, r981; CHECK-NEXT:    mov r12, r882; CHECK-NEXT:    mov 8(r1), r1283; CHECK-NEXT:    mov 10(r1), r1384; CHECK-NEXT:    mov 12(r1), r1485; CHECK-NEXT:    mov 14(r1), r1586; CHECK-NEXT:    call #__mspabi_cmpd87; CHECK-NEXT:    mov r12, r1388; CHECK-NEXT:    mov #1, r1289; CHECK-NEXT:    tst r1390; CHECK-NEXT:    jge .LBB3_291; CHECK-NEXT:  ; %bb.1:92; CHECK-NEXT:    clr r1293; CHECK-NEXT:  .LBB3_2:94; CHECK-NEXT:    ; kill: def $r12b killed $r12b killed $r1295; CHECK-NEXT:    pop r1096; CHECK-NEXT:    pop r997; CHECK-NEXT:    pop r898; CHECK-NEXT:    ret99  %cmp = fcmp oge double %a, %b100  ret i1 %cmp101}102 103define i1 @fcmp_olt_f64(double %a, double %b) #0 {104; CHECK-LABEL: fcmp_olt_f64:105; CHECK:       ; %bb.0:106; CHECK-NEXT:    push r8107; CHECK-NEXT:    push r9108; CHECK-NEXT:    push r10109; CHECK-NEXT:    mov r15, r11110; CHECK-NEXT:    mov r14, r10111; CHECK-NEXT:    mov r13, r9112; CHECK-NEXT:    mov r12, r8113; CHECK-NEXT:    mov 8(r1), r12114; CHECK-NEXT:    mov 10(r1), r13115; CHECK-NEXT:    mov 12(r1), r14116; CHECK-NEXT:    mov 14(r1), r15117; CHECK-NEXT:    call #__mspabi_cmpd118; CHECK-NEXT:    mov r12, r13119; CHECK-NEXT:    mov #1, r12120; CHECK-NEXT:    tst r13121; CHECK-NEXT:    jl .LBB4_2122; CHECK-NEXT:  ; %bb.1:123; CHECK-NEXT:    clr r12124; CHECK-NEXT:  .LBB4_2:125; CHECK-NEXT:    ; kill: def $r12b killed $r12b killed $r12126; CHECK-NEXT:    pop r10127; CHECK-NEXT:    pop r9128; CHECK-NEXT:    pop r8129; CHECK-NEXT:    ret130  %cmp = fcmp olt double %a, %b131  ret i1 %cmp132}133 134define i1 @fcmp_ole_f64(double %a, double %b) #0 {135; CHECK-LABEL: fcmp_ole_f64:136; CHECK:       ; %bb.0:137; CHECK-NEXT:    push r8138; CHECK-NEXT:    push r9139; CHECK-NEXT:    push r10140; CHECK-NEXT:    mov r15, r11141; CHECK-NEXT:    mov r14, r10142; CHECK-NEXT:    mov r13, r9143; CHECK-NEXT:    mov r12, r8144; CHECK-NEXT:    mov 8(r1), r12145; CHECK-NEXT:    mov 10(r1), r13146; CHECK-NEXT:    mov 12(r1), r14147; CHECK-NEXT:    mov 14(r1), r15148; CHECK-NEXT:    call #__mspabi_cmpd149; CHECK-NEXT:    mov r12, r13150; CHECK-NEXT:    mov #1, r12151; CHECK-NEXT:    cmp #1, r13152; CHECK-NEXT:    jl .LBB5_2153; CHECK-NEXT:  ; %bb.1:154; CHECK-NEXT:    clr r12155; CHECK-NEXT:  .LBB5_2:156; CHECK-NEXT:    ; kill: def $r12b killed $r12b killed $r12157; CHECK-NEXT:    pop r10158; CHECK-NEXT:    pop r9159; CHECK-NEXT:    pop r8160; CHECK-NEXT:    ret161  %cmp = fcmp ole double %a, %b162  ret i1 %cmp163}164 165define i1 @fcmp_one_f64(double %a, double %b) #0 {166; CHECK-LABEL: fcmp_one_f64:167; CHECK:       ; %bb.0:168; CHECK-NEXT:    push r4169; CHECK-NEXT:    push r5170; CHECK-NEXT:    push r6171; CHECK-NEXT:    push r7172; CHECK-NEXT:    push r8173; CHECK-NEXT:    push r9174; CHECK-NEXT:    push r10175; CHECK-NEXT:    sub #8, r1176; CHECK-NEXT:    mov r15, r7177; CHECK-NEXT:    mov r14, r10178; CHECK-NEXT:    mov r13, r9179; CHECK-NEXT:    mov r12, r8180; CHECK-NEXT:    mov 24(r1), r12181; CHECK-NEXT:    mov 26(r1), r5182; CHECK-NEXT:    mov 28(r1), r4183; CHECK-NEXT:    mov 30(r1), r6184; CHECK-NEXT:    mov r7, r11185; CHECK-NEXT:    mov r5, r13186; CHECK-NEXT:    mov r4, r14187; CHECK-NEXT:    mov r6, r15188; CHECK-NEXT:    call #__mspabi_cmpd189; CHECK-NEXT:    mov r6, 6(r1)190; CHECK-NEXT:    mov r4, 4(r1)191; CHECK-NEXT:    mov r5, 2(r1)192; CHECK-NEXT:    mov 24(r1), r13193; CHECK-NEXT:    mov r13, 0(r1)194; CHECK-NEXT:    tst r12195; CHECK-NEXT:    mov r2, r6196; CHECK-NEXT:    mov r8, r12197; CHECK-NEXT:    mov r9, r13198; CHECK-NEXT:    mov r10, r14199; CHECK-NEXT:    mov r7, r15200; CHECK-NEXT:    call #__unorddf2201; CHECK-NEXT:    tst r12202; CHECK-NEXT:    mov r2, r12203; CHECK-NEXT:    rra r6204; CHECK-NEXT:    rra r12205; CHECK-NEXT:    bic r6, r12206; CHECK-NEXT:    and #1, r12207; CHECK-NEXT:    ; kill: def $r12b killed $r12b killed $r12208; CHECK-NEXT:    add #8, r1209; CHECK-NEXT:    pop r10210; CHECK-NEXT:    pop r9211; CHECK-NEXT:    pop r8212; CHECK-NEXT:    pop r7213; CHECK-NEXT:    pop r6214; CHECK-NEXT:    pop r5215; CHECK-NEXT:    pop r4216; CHECK-NEXT:    ret217  %cmp = fcmp one double %a, %b218  ret i1 %cmp219}220 221define i1 @fcmp_ord_f64(double %a, double %b) #0 {222; CHECK-LABEL: fcmp_ord_f64:223; CHECK:       ; %bb.0:224; CHECK-NEXT:    sub #8, r1225; CHECK-NEXT:    mov 16(r1), 6(r1)226; CHECK-NEXT:    mov 14(r1), 4(r1)227; CHECK-NEXT:    mov 12(r1), 2(r1)228; CHECK-NEXT:    mov 10(r1), 0(r1)229; CHECK-NEXT:    call #__unorddf2230; CHECK-NEXT:    tst r12231; CHECK-NEXT:    mov r2, r12232; CHECK-NEXT:    rra r12233; CHECK-NEXT:    and #1, r12234; CHECK-NEXT:    ; kill: def $r12b killed $r12b killed $r12235; CHECK-NEXT:    add #8, r1236; CHECK-NEXT:    ret237  %cmp = fcmp ord double %a, %b238  ret i1 %cmp239}240 241define i1 @fcmp_uno_f64(double %a, double %b) #0 {242; CHECK-LABEL: fcmp_uno_f64:243; CHECK:       ; %bb.0:244; CHECK-NEXT:    sub #8, r1245; CHECK-NEXT:    mov 16(r1), 6(r1)246; CHECK-NEXT:    mov 14(r1), 4(r1)247; CHECK-NEXT:    mov 12(r1), 2(r1)248; CHECK-NEXT:    mov 10(r1), 0(r1)249; CHECK-NEXT:    call #__unorddf2250; CHECK-NEXT:    tst r12251; CHECK-NEXT:    mov r2, r13252; CHECK-NEXT:    rra r13253; CHECK-NEXT:    mov #1, r12254; CHECK-NEXT:    bic r13, r12255; CHECK-NEXT:    ; kill: def $r12b killed $r12b killed $r12256; CHECK-NEXT:    add #8, r1257; CHECK-NEXT:    ret258  %cmp = fcmp uno double %a, %b259  ret i1 %cmp260}261 262define i1 @fcmp_ueq_f64(double %a, double %b) #0 {263; CHECK-LABEL: fcmp_ueq_f64:264; CHECK:       ; %bb.0:265; CHECK-NEXT:    push r4266; CHECK-NEXT:    push r5267; CHECK-NEXT:    push r6268; CHECK-NEXT:    push r7269; CHECK-NEXT:    push r8270; CHECK-NEXT:    push r9271; CHECK-NEXT:    push r10272; CHECK-NEXT:    sub #8, r1273; CHECK-NEXT:    mov r15, r7274; CHECK-NEXT:    mov r14, r10275; CHECK-NEXT:    mov r13, r9276; CHECK-NEXT:    mov r12, r8277; CHECK-NEXT:    mov 24(r1), r12278; CHECK-NEXT:    mov 26(r1), r5279; CHECK-NEXT:    mov 28(r1), r4280; CHECK-NEXT:    mov 30(r1), r6281; CHECK-NEXT:    mov r7, r11282; CHECK-NEXT:    mov r5, r13283; CHECK-NEXT:    mov r4, r14284; CHECK-NEXT:    mov r6, r15285; CHECK-NEXT:    call #__mspabi_cmpd286; CHECK-NEXT:    mov r6, 6(r1)287; CHECK-NEXT:    mov r4, 4(r1)288; CHECK-NEXT:    mov r5, 2(r1)289; CHECK-NEXT:    mov 24(r1), r13290; CHECK-NEXT:    mov r13, 0(r1)291; CHECK-NEXT:    tst r12292; CHECK-NEXT:    mov r2, r6293; CHECK-NEXT:    rra r6294; CHECK-NEXT:    and #1, r6295; CHECK-NEXT:    mov r8, r12296; CHECK-NEXT:    mov r9, r13297; CHECK-NEXT:    mov r10, r14298; CHECK-NEXT:    mov r7, r15299; CHECK-NEXT:    call #__unorddf2300; CHECK-NEXT:    bis r6, r12301; CHECK-NEXT:    ; kill: def $r12b killed $r12b killed $r12302; CHECK-NEXT:    add #8, r1303; CHECK-NEXT:    pop r10304; CHECK-NEXT:    pop r9305; CHECK-NEXT:    pop r8306; CHECK-NEXT:    pop r7307; CHECK-NEXT:    pop r6308; CHECK-NEXT:    pop r5309; CHECK-NEXT:    pop r4310; CHECK-NEXT:    ret311  %cmp = fcmp ueq double %a, %b312  ret i1 %cmp313}314 315define i1 @fcmp_ugt_f64(double %a, double %b) #0 {316; CHECK-LABEL: fcmp_ugt_f64:317; CHECK:       ; %bb.0:318; CHECK-NEXT:    push r8319; CHECK-NEXT:    push r9320; CHECK-NEXT:    push r10321; CHECK-NEXT:    mov r15, r11322; CHECK-NEXT:    mov r14, r10323; CHECK-NEXT:    mov r13, r9324; CHECK-NEXT:    mov r12, r8325; CHECK-NEXT:    mov 8(r1), r12326; CHECK-NEXT:    mov 10(r1), r13327; CHECK-NEXT:    mov 12(r1), r14328; CHECK-NEXT:    mov 14(r1), r15329; CHECK-NEXT:    call #__mspabi_cmpd330; CHECK-NEXT:    mov r12, r13331; CHECK-NEXT:    mov #1, r12332; CHECK-NEXT:    cmp #1, r13333; CHECK-NEXT:    jge .LBB10_2334; CHECK-NEXT:  ; %bb.1:335; CHECK-NEXT:    clr r12336; CHECK-NEXT:  .LBB10_2:337; CHECK-NEXT:    ; kill: def $r12b killed $r12b killed $r12338; CHECK-NEXT:    pop r10339; CHECK-NEXT:    pop r9340; CHECK-NEXT:    pop r8341; CHECK-NEXT:    ret342  %cmp = fcmp ugt double %a, %b343  ret i1 %cmp344}345 346define i1 @fcmp_uge_f64(double %a, double %b) #0 {347; CHECK-LABEL: fcmp_uge_f64:348; CHECK:       ; %bb.0:349; CHECK-NEXT:    push r8350; CHECK-NEXT:    push r9351; CHECK-NEXT:    push r10352; CHECK-NEXT:    mov r15, r11353; CHECK-NEXT:    mov r14, r10354; CHECK-NEXT:    mov r13, r9355; CHECK-NEXT:    mov r12, r8356; CHECK-NEXT:    mov 8(r1), r12357; CHECK-NEXT:    mov 10(r1), r13358; CHECK-NEXT:    mov 12(r1), r14359; CHECK-NEXT:    mov 14(r1), r15360; CHECK-NEXT:    call #__mspabi_cmpd361; CHECK-NEXT:    mov r12, r13362; CHECK-NEXT:    mov #1, r12363; CHECK-NEXT:    tst r13364; CHECK-NEXT:    jge .LBB11_2365; CHECK-NEXT:  ; %bb.1:366; CHECK-NEXT:    clr r12367; CHECK-NEXT:  .LBB11_2:368; CHECK-NEXT:    ; kill: def $r12b killed $r12b killed $r12369; CHECK-NEXT:    pop r10370; CHECK-NEXT:    pop r9371; CHECK-NEXT:    pop r8372; CHECK-NEXT:    ret373  %cmp = fcmp uge double %a, %b374  ret i1 %cmp375}376 377define i1 @fcmp_ult_f64(double %a, double %b) #0 {378; CHECK-LABEL: fcmp_ult_f64:379; CHECK:       ; %bb.0:380; CHECK-NEXT:    push r8381; CHECK-NEXT:    push r9382; CHECK-NEXT:    push r10383; CHECK-NEXT:    mov r15, r11384; CHECK-NEXT:    mov r14, r10385; CHECK-NEXT:    mov r13, r9386; CHECK-NEXT:    mov r12, r8387; CHECK-NEXT:    mov 8(r1), r12388; CHECK-NEXT:    mov 10(r1), r13389; CHECK-NEXT:    mov 12(r1), r14390; CHECK-NEXT:    mov 14(r1), r15391; CHECK-NEXT:    call #__mspabi_cmpd392; CHECK-NEXT:    mov r12, r13393; CHECK-NEXT:    mov #1, r12394; CHECK-NEXT:    tst r13395; CHECK-NEXT:    jl .LBB12_2396; CHECK-NEXT:  ; %bb.1:397; CHECK-NEXT:    clr r12398; CHECK-NEXT:  .LBB12_2:399; CHECK-NEXT:    ; kill: def $r12b killed $r12b killed $r12400; CHECK-NEXT:    pop r10401; CHECK-NEXT:    pop r9402; CHECK-NEXT:    pop r8403; CHECK-NEXT:    ret404  %cmp = fcmp ult double %a, %b405  ret i1 %cmp406}407 408define i1 @fcmp_ule_f64(double %a, double %b) #0 {409; CHECK-LABEL: fcmp_ule_f64:410; CHECK:       ; %bb.0:411; CHECK-NEXT:    push r8412; CHECK-NEXT:    push r9413; CHECK-NEXT:    push r10414; CHECK-NEXT:    mov r15, r11415; CHECK-NEXT:    mov r14, r10416; CHECK-NEXT:    mov r13, r9417; CHECK-NEXT:    mov r12, r8418; CHECK-NEXT:    mov 8(r1), r12419; CHECK-NEXT:    mov 10(r1), r13420; CHECK-NEXT:    mov 12(r1), r14421; CHECK-NEXT:    mov 14(r1), r15422; CHECK-NEXT:    call #__mspabi_cmpd423; CHECK-NEXT:    mov r12, r13424; CHECK-NEXT:    mov #1, r12425; CHECK-NEXT:    cmp #1, r13426; CHECK-NEXT:    jl .LBB13_2427; CHECK-NEXT:  ; %bb.1:428; CHECK-NEXT:    clr r12429; CHECK-NEXT:  .LBB13_2:430; CHECK-NEXT:    ; kill: def $r12b killed $r12b killed $r12431; CHECK-NEXT:    pop r10432; CHECK-NEXT:    pop r9433; CHECK-NEXT:    pop r8434; CHECK-NEXT:    ret435  %cmp = fcmp ule double %a, %b436  ret i1 %cmp437}438 439define i1 @fcmp_une_f64(double %a, double %b) #0 {440; CHECK-LABEL: fcmp_une_f64:441; CHECK:       ; %bb.0:442; CHECK-NEXT:    push r8443; CHECK-NEXT:    push r9444; CHECK-NEXT:    push r10445; CHECK-NEXT:    mov r15, r11446; CHECK-NEXT:    mov r14, r10447; CHECK-NEXT:    mov r13, r9448; CHECK-NEXT:    mov r12, r8449; CHECK-NEXT:    mov 8(r1), r12450; CHECK-NEXT:    mov 10(r1), r13451; CHECK-NEXT:    mov 12(r1), r14452; CHECK-NEXT:    mov 14(r1), r15453; CHECK-NEXT:    call #__mspabi_cmpd454; CHECK-NEXT:    tst r12455; CHECK-NEXT:    mov r2, r13456; CHECK-NEXT:    rra r13457; CHECK-NEXT:    mov #1, r12458; CHECK-NEXT:    bic r13, r12459; CHECK-NEXT:    ; kill: def $r12b killed $r12b killed $r12460; CHECK-NEXT:    pop r10461; CHECK-NEXT:    pop r9462; CHECK-NEXT:    pop r8463; CHECK-NEXT:    ret464  %cmp = fcmp une double %a, %b465  ret i1 %cmp466}467 468define i1 @fcmp_true_f64(double %a, double %b) #0 {469; CHECK-LABEL: fcmp_true_f64:470; CHECK:       ; %bb.0:471; CHECK-NEXT:    mov.b #1, r12472; CHECK-NEXT:    ret473  %cmp = fcmp true double %a, %b474  ret i1 %cmp475}476 477define i1 @fcmp_false_f32(float %a, float %b) #0 {478; CHECK-LABEL: fcmp_false_f32:479; CHECK:       ; %bb.0:480; CHECK-NEXT:    clr.b r12481; CHECK-NEXT:    ret482  %cmp = fcmp false float %a, %b483  ret i1 %cmp484}485 486define i1 @fcmp_oeq_f32(float %a, float %b) #0 {487; CHECK-LABEL: fcmp_oeq_f32:488; CHECK:       ; %bb.0:489; CHECK-NEXT:    call #__mspabi_cmpf490; CHECK-NEXT:    tst r12491; CHECK-NEXT:    mov r2, r12492; CHECK-NEXT:    rra r12493; CHECK-NEXT:    and #1, r12494; CHECK-NEXT:    ; kill: def $r12b killed $r12b killed $r12495; CHECK-NEXT:    ret496  %cmp = fcmp oeq float %a, %b497  ret i1 %cmp498}499 500define i1 @fcmp_ogt_f32(float %a, float %b) #0 {501; CHECK-LABEL: fcmp_ogt_f32:502; CHECK:       ; %bb.0:503; CHECK-NEXT:    call #__mspabi_cmpf504; CHECK-NEXT:    mov r12, r13505; CHECK-NEXT:    mov #1, r12506; CHECK-NEXT:    cmp #1, r13507; CHECK-NEXT:    jge .LBB18_2508; CHECK-NEXT:  ; %bb.1:509; CHECK-NEXT:    clr r12510; CHECK-NEXT:  .LBB18_2:511; CHECK-NEXT:    ; kill: def $r12b killed $r12b killed $r12512; CHECK-NEXT:    ret513  %cmp = fcmp ogt float %a, %b514  ret i1 %cmp515}516 517define i1 @fcmp_oge_f32(float %a, float %b) #0 {518; CHECK-LABEL: fcmp_oge_f32:519; CHECK:       ; %bb.0:520; CHECK-NEXT:    call #__mspabi_cmpf521; CHECK-NEXT:    mov r12, r13522; CHECK-NEXT:    mov #1, r12523; CHECK-NEXT:    tst r13524; CHECK-NEXT:    jge .LBB19_2525; CHECK-NEXT:  ; %bb.1:526; CHECK-NEXT:    clr r12527; CHECK-NEXT:  .LBB19_2:528; CHECK-NEXT:    ; kill: def $r12b killed $r12b killed $r12529; CHECK-NEXT:    ret530  %cmp = fcmp oge float %a, %b531  ret i1 %cmp532}533 534define i1 @fcmp_olt_f32(float %a, float %b) #0 {535; CHECK-LABEL: fcmp_olt_f32:536; CHECK:       ; %bb.0:537; CHECK-NEXT:    call #__mspabi_cmpf538; CHECK-NEXT:    mov r12, r13539; CHECK-NEXT:    mov #1, r12540; CHECK-NEXT:    tst r13541; CHECK-NEXT:    jl .LBB20_2542; CHECK-NEXT:  ; %bb.1:543; CHECK-NEXT:    clr r12544; CHECK-NEXT:  .LBB20_2:545; CHECK-NEXT:    ; kill: def $r12b killed $r12b killed $r12546; CHECK-NEXT:    ret547  %cmp = fcmp olt float %a, %b548  ret i1 %cmp549}550 551define i1 @fcmp_ole_f32(float %a, float %b) #0 {552; CHECK-LABEL: fcmp_ole_f32:553; CHECK:       ; %bb.0:554; CHECK-NEXT:    call #__mspabi_cmpf555; CHECK-NEXT:    mov r12, r13556; CHECK-NEXT:    mov #1, r12557; CHECK-NEXT:    cmp #1, r13558; CHECK-NEXT:    jl .LBB21_2559; CHECK-NEXT:  ; %bb.1:560; CHECK-NEXT:    clr r12561; CHECK-NEXT:  .LBB21_2:562; CHECK-NEXT:    ; kill: def $r12b killed $r12b killed $r12563; CHECK-NEXT:    ret564  %cmp = fcmp ole float %a, %b565  ret i1 %cmp566}567 568define i1 @fcmp_one_f32(float %a, float %b) #0 {569; CHECK-LABEL: fcmp_one_f32:570; CHECK:       ; %bb.0:571; CHECK-NEXT:    push r6572; CHECK-NEXT:    push r7573; CHECK-NEXT:    push r8574; CHECK-NEXT:    push r9575; CHECK-NEXT:    push r10576; CHECK-NEXT:    mov r15, r10577; CHECK-NEXT:    mov r14, r9578; CHECK-NEXT:    mov r13, r8579; CHECK-NEXT:    mov r12, r7580; CHECK-NEXT:    call #__unordsf2581; CHECK-NEXT:    tst r12582; CHECK-NEXT:    mov r2, r6583; CHECK-NEXT:    mov r7, r12584; CHECK-NEXT:    mov r8, r13585; CHECK-NEXT:    mov r9, r14586; CHECK-NEXT:    mov r10, r15587; CHECK-NEXT:    call #__mspabi_cmpf588; CHECK-NEXT:    tst r12589; CHECK-NEXT:    mov r2, r12590; CHECK-NEXT:    rra r12591; CHECK-NEXT:    rra r6592; CHECK-NEXT:    bic r12, r6593; CHECK-NEXT:    and #1, r6594; CHECK-NEXT:    mov.b r6, r12595; CHECK-NEXT:    pop r10596; CHECK-NEXT:    pop r9597; CHECK-NEXT:    pop r8598; CHECK-NEXT:    pop r7599; CHECK-NEXT:    pop r6600; CHECK-NEXT:    ret601  %cmp = fcmp one float %a, %b602  ret i1 %cmp603}604 605define i1 @fcmp_ord_f32(float %a, float %b) #0 {606; CHECK-LABEL: fcmp_ord_f32:607; CHECK:       ; %bb.0:608; CHECK-NEXT:    call #__unordsf2609; CHECK-NEXT:    tst r12610; CHECK-NEXT:    mov r2, r12611; CHECK-NEXT:    rra r12612; CHECK-NEXT:    and #1, r12613; CHECK-NEXT:    ; kill: def $r12b killed $r12b killed $r12614; CHECK-NEXT:    ret615  %cmp = fcmp ord float %a, %b616  ret i1 %cmp617}618 619define i1 @fcmp_uno_f32(float %a, float %b) #0 {620; CHECK-LABEL: fcmp_uno_f32:621; CHECK:       ; %bb.0:622; CHECK-NEXT:    call #__unordsf2623; CHECK-NEXT:    tst r12624; CHECK-NEXT:    mov r2, r13625; CHECK-NEXT:    rra r13626; CHECK-NEXT:    mov #1, r12627; CHECK-NEXT:    bic r13, r12628; CHECK-NEXT:    ; kill: def $r12b killed $r12b killed $r12629; CHECK-NEXT:    ret630  %cmp = fcmp uno float %a, %b631  ret i1 %cmp632}633 634define i1 @fcmp_ueq_f32(float %a, float %b) #0 {635; CHECK-LABEL: fcmp_ueq_f32:636; CHECK:       ; %bb.0:637; CHECK-NEXT:    push r6638; CHECK-NEXT:    push r7639; CHECK-NEXT:    push r8640; CHECK-NEXT:    push r9641; CHECK-NEXT:    push r10642; CHECK-NEXT:    mov r15, r10643; CHECK-NEXT:    mov r14, r9644; CHECK-NEXT:    mov r13, r8645; CHECK-NEXT:    mov r12, r7646; CHECK-NEXT:    call #__unordsf2647; CHECK-NEXT:    mov r12, r6648; CHECK-NEXT:    mov r7, r12649; CHECK-NEXT:    mov r8, r13650; CHECK-NEXT:    mov r9, r14651; CHECK-NEXT:    mov r10, r15652; CHECK-NEXT:    call #__mspabi_cmpf653; CHECK-NEXT:    tst r12654; CHECK-NEXT:    mov r2, r12655; CHECK-NEXT:    rra r12656; CHECK-NEXT:    and #1, r12657; CHECK-NEXT:    bis r6, r12658; CHECK-NEXT:    ; kill: def $r12b killed $r12b killed $r12659; CHECK-NEXT:    pop r10660; CHECK-NEXT:    pop r9661; CHECK-NEXT:    pop r8662; CHECK-NEXT:    pop r7663; CHECK-NEXT:    pop r6664; CHECK-NEXT:    ret665  %cmp = fcmp ueq float %a, %b666  ret i1 %cmp667}668 669define i1 @fcmp_ugt_f32(float %a, float %b) #0 {670; CHECK-LABEL: fcmp_ugt_f32:671; CHECK:       ; %bb.0:672; CHECK-NEXT:    call #__mspabi_cmpf673; CHECK-NEXT:    mov r12, r13674; CHECK-NEXT:    mov #1, r12675; CHECK-NEXT:    cmp #1, r13676; CHECK-NEXT:    jge .LBB26_2677; CHECK-NEXT:  ; %bb.1:678; CHECK-NEXT:    clr r12679; CHECK-NEXT:  .LBB26_2:680; CHECK-NEXT:    ; kill: def $r12b killed $r12b killed $r12681; CHECK-NEXT:    ret682  %cmp = fcmp ugt float %a, %b683  ret i1 %cmp684}685 686define i1 @fcmp_uge_f32(float %a, float %b) #0 {687; CHECK-LABEL: fcmp_uge_f32:688; CHECK:       ; %bb.0:689; CHECK-NEXT:    call #__mspabi_cmpf690; CHECK-NEXT:    mov r12, r13691; CHECK-NEXT:    mov #1, r12692; CHECK-NEXT:    tst r13693; CHECK-NEXT:    jge .LBB27_2694; CHECK-NEXT:  ; %bb.1:695; CHECK-NEXT:    clr r12696; CHECK-NEXT:  .LBB27_2:697; CHECK-NEXT:    ; kill: def $r12b killed $r12b killed $r12698; CHECK-NEXT:    ret699  %cmp = fcmp uge float %a, %b700  ret i1 %cmp701}702 703define i1 @fcmp_ult_f32(float %a, float %b) #0 {704; CHECK-LABEL: fcmp_ult_f32:705; CHECK:       ; %bb.0:706; CHECK-NEXT:    call #__mspabi_cmpf707; CHECK-NEXT:    mov r12, r13708; CHECK-NEXT:    mov #1, r12709; CHECK-NEXT:    tst r13710; CHECK-NEXT:    jl .LBB28_2711; CHECK-NEXT:  ; %bb.1:712; CHECK-NEXT:    clr r12713; CHECK-NEXT:  .LBB28_2:714; CHECK-NEXT:    ; kill: def $r12b killed $r12b killed $r12715; CHECK-NEXT:    ret716  %cmp = fcmp ult float %a, %b717  ret i1 %cmp718}719 720define i1 @fcmp_ule_f32(float %a, float %b) #0 {721; CHECK-LABEL: fcmp_ule_f32:722; CHECK:       ; %bb.0:723; CHECK-NEXT:    call #__mspabi_cmpf724; CHECK-NEXT:    mov r12, r13725; CHECK-NEXT:    mov #1, r12726; CHECK-NEXT:    cmp #1, r13727; CHECK-NEXT:    jl .LBB29_2728; CHECK-NEXT:  ; %bb.1:729; CHECK-NEXT:    clr r12730; CHECK-NEXT:  .LBB29_2:731; CHECK-NEXT:    ; kill: def $r12b killed $r12b killed $r12732; CHECK-NEXT:    ret733  %cmp = fcmp ule float %a, %b734  ret i1 %cmp735}736 737define i1 @fcmp_une_f32(float %a, float %b) #0 {738; CHECK-LABEL: fcmp_une_f32:739; CHECK:       ; %bb.0:740; CHECK-NEXT:    call #__mspabi_cmpf741; CHECK-NEXT:    tst r12742; CHECK-NEXT:    mov r2, r13743; CHECK-NEXT:    rra r13744; CHECK-NEXT:    mov #1, r12745; CHECK-NEXT:    bic r13, r12746; CHECK-NEXT:    ; kill: def $r12b killed $r12b killed $r12747; CHECK-NEXT:    ret748  %cmp = fcmp une float %a, %b749  ret i1 %cmp750}751 752define i1 @fcmp_true_f32(float %a, float %b) #0 {753; CHECK-LABEL: fcmp_true_f32:754; CHECK:       ; %bb.0:755; CHECK-NEXT:    mov.b #1, r12756; CHECK-NEXT:    ret757  %cmp = fcmp true float %a, %b758  ret i1 %cmp759}760 761attributes #0 = { nounwind }762