brintos

brintos / llvm-project-archived public Read only

0
0
Text · 9.6 KiB · 9d3b7ce Raw
413 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -O0 -mtriple=mipsel-linux-gnu -global-isel \3; RUN:     -verify-machineinstrs %s -o -| FileCheck %s4; RUN: llc -O0 -mtriple=mipsel-linux-gnu -mattr=+fp64,+mips32r2 -global-isel \5; RUN:     -verify-machineinstrs %s -o -| FileCheck %s6 7define i1 @false_s(float %x, float %y) {8; CHECK-LABEL: false_s:9; CHECK:       # %bb.0: # %entry10; CHECK-NEXT:    ori $2, $zero, 011; CHECK-NEXT:    jr $ra12; CHECK-NEXT:    nop13entry:14  %cmp = fcmp false float %x, %y15  ret i1 %cmp16}17define i1 @true_s(float %x, float %y) {18; CHECK-LABEL: true_s:19; CHECK:       # %bb.0: # %entry20; CHECK-NEXT:    ori $2, $zero, 121; CHECK-NEXT:    jr $ra22; CHECK-NEXT:    nop23entry:24  %cmp = fcmp true float %x, %y25  ret i1 %cmp26}27 28 29define i1 @uno_s(float %x, float %y) {30; CHECK-LABEL: uno_s:31; CHECK:       # %bb.0: # %entry32; CHECK-NEXT:    addiu $2, $zero, 133; CHECK-NEXT:    c.un.s $f12, $f1434; CHECK-NEXT:    movf $2, $zero, $fcc035; CHECK-NEXT:    jr $ra36; CHECK-NEXT:    nop37entry:38  %cmp = fcmp uno float %x, %y39  ret i1 %cmp40}41define i1 @ord_s(float %x, float %y) {42; CHECK-LABEL: ord_s:43; CHECK:       # %bb.0: # %entry44; CHECK-NEXT:    addiu $2, $zero, 145; CHECK-NEXT:    c.un.s $f12, $f1446; CHECK-NEXT:    movt $2, $zero, $fcc047; CHECK-NEXT:    jr $ra48; CHECK-NEXT:    nop49entry:50  %cmp = fcmp ord float %x, %y51  ret i1 %cmp52}53 54 55define i1 @oeq_s(float %x, float %y) {56; CHECK-LABEL: oeq_s:57; CHECK:       # %bb.0: # %entry58; CHECK-NEXT:    addiu $2, $zero, 159; CHECK-NEXT:    c.eq.s $f12, $f1460; CHECK-NEXT:    movf $2, $zero, $fcc061; CHECK-NEXT:    jr $ra62; CHECK-NEXT:    nop63entry:64  %cmp = fcmp oeq float %x, %y65  ret i1 %cmp66}67define i1 @une_s(float %x, float %y) {68; CHECK-LABEL: une_s:69; CHECK:       # %bb.0: # %entry70; CHECK-NEXT:    addiu $2, $zero, 171; CHECK-NEXT:    c.eq.s $f12, $f1472; CHECK-NEXT:    movt $2, $zero, $fcc073; CHECK-NEXT:    jr $ra74; CHECK-NEXT:    nop75entry:76  %cmp = fcmp une float %x, %y77  ret i1 %cmp78}79 80 81define i1 @ueq_s(float %x, float %y) {82; CHECK-LABEL: ueq_s:83; CHECK:       # %bb.0: # %entry84; CHECK-NEXT:    addiu $2, $zero, 185; CHECK-NEXT:    c.ueq.s $f12, $f1486; CHECK-NEXT:    movf $2, $zero, $fcc087; CHECK-NEXT:    jr $ra88; CHECK-NEXT:    nop89entry:90  %cmp = fcmp ueq float %x, %y91  ret i1 %cmp92}93define i1 @one_s(float %x, float %y) {94; CHECK-LABEL: one_s:95; CHECK:       # %bb.0: # %entry96; CHECK-NEXT:    addiu $2, $zero, 197; CHECK-NEXT:    c.ueq.s $f12, $f1498; CHECK-NEXT:    movt $2, $zero, $fcc099; CHECK-NEXT:    jr $ra100; CHECK-NEXT:    nop101entry:102  %cmp = fcmp one float %x, %y103  ret i1 %cmp104}105 106 107define i1 @olt_s(float %x, float %y) {108; CHECK-LABEL: olt_s:109; CHECK:       # %bb.0: # %entry110; CHECK-NEXT:    addiu $2, $zero, 1111; CHECK-NEXT:    c.olt.s $f12, $f14112; CHECK-NEXT:    movf $2, $zero, $fcc0113; CHECK-NEXT:    jr $ra114; CHECK-NEXT:    nop115entry:116  %cmp = fcmp olt float %x, %y117  ret i1 %cmp118}119define i1 @uge_s(float %x, float %y) {120; CHECK-LABEL: uge_s:121; CHECK:       # %bb.0: # %entry122; CHECK-NEXT:    addiu $2, $zero, 1123; CHECK-NEXT:    c.olt.s $f12, $f14124; CHECK-NEXT:    movt $2, $zero, $fcc0125; CHECK-NEXT:    jr $ra126; CHECK-NEXT:    nop127entry:128  %cmp = fcmp uge float %x, %y129  ret i1 %cmp130}131 132 133define i1 @ult_s(float %x, float %y) {134; CHECK-LABEL: ult_s:135; CHECK:       # %bb.0: # %entry136; CHECK-NEXT:    addiu $2, $zero, 1137; CHECK-NEXT:    c.ult.s $f12, $f14138; CHECK-NEXT:    movf $2, $zero, $fcc0139; CHECK-NEXT:    jr $ra140; CHECK-NEXT:    nop141entry:142  %cmp = fcmp ult float %x, %y143  ret i1 %cmp144}145define i1 @oge_s(float %x, float %y) {146; CHECK-LABEL: oge_s:147; CHECK:       # %bb.0: # %entry148; CHECK-NEXT:    addiu $2, $zero, 1149; CHECK-NEXT:    c.ult.s $f12, $f14150; CHECK-NEXT:    movt $2, $zero, $fcc0151; CHECK-NEXT:    jr $ra152; CHECK-NEXT:    nop153entry:154  %cmp = fcmp oge float %x, %y155  ret i1 %cmp156}157 158 159define i1 @ole_s(float %x, float %y) {160; CHECK-LABEL: ole_s:161; CHECK:       # %bb.0: # %entry162; CHECK-NEXT:    addiu $2, $zero, 1163; CHECK-NEXT:    c.ole.s $f12, $f14164; CHECK-NEXT:    movf $2, $zero, $fcc0165; CHECK-NEXT:    jr $ra166; CHECK-NEXT:    nop167entry:168  %cmp = fcmp ole float %x, %y169  ret i1 %cmp170}171define i1 @ugt_s(float %x, float %y) {172; CHECK-LABEL: ugt_s:173; CHECK:       # %bb.0: # %entry174; CHECK-NEXT:    addiu $2, $zero, 1175; CHECK-NEXT:    c.ole.s $f12, $f14176; CHECK-NEXT:    movt $2, $zero, $fcc0177; CHECK-NEXT:    jr $ra178; CHECK-NEXT:    nop179entry:180  %cmp = fcmp ugt float %x, %y181  ret i1 %cmp182}183 184 185define i1 @ule_s(float %x, float %y) {186; CHECK-LABEL: ule_s:187; CHECK:       # %bb.0: # %entry188; CHECK-NEXT:    addiu $2, $zero, 1189; CHECK-NEXT:    c.ule.s $f12, $f14190; CHECK-NEXT:    movf $2, $zero, $fcc0191; CHECK-NEXT:    jr $ra192; CHECK-NEXT:    nop193entry:194  %cmp = fcmp ule float %x, %y195  ret i1 %cmp196}197define i1 @ogt_s(float %x, float %y) {198; CHECK-LABEL: ogt_s:199; CHECK:       # %bb.0: # %entry200; CHECK-NEXT:    addiu $2, $zero, 1201; CHECK-NEXT:    c.ule.s $f12, $f14202; CHECK-NEXT:    movt $2, $zero, $fcc0203; CHECK-NEXT:    jr $ra204; CHECK-NEXT:    nop205entry:206  %cmp = fcmp ogt float %x, %y207  ret i1 %cmp208}209 210 211define i1 @false_d(double %x, double %y) {212; CHECK-LABEL: false_d:213; CHECK:       # %bb.0: # %entry214; CHECK-NEXT:    ori $2, $zero, 0215; CHECK-NEXT:    jr $ra216; CHECK-NEXT:    nop217entry:218  %cmp = fcmp false double %x, %y219  ret i1 %cmp220}221define i1 @true_d(double %x, double %y) {222; CHECK-LABEL: true_d:223; CHECK:       # %bb.0: # %entry224; CHECK-NEXT:    ori $2, $zero, 1225; CHECK-NEXT:    jr $ra226; CHECK-NEXT:    nop227entry:228  %cmp = fcmp true double %x, %y229  ret i1 %cmp230}231 232 233define i1 @uno_d(double %x, double %y) {234; CHECK-LABEL: uno_d:235; CHECK:       # %bb.0: # %entry236; CHECK-NEXT:    addiu $2, $zero, 1237; CHECK-NEXT:    c.un.d $f12, $f14238; CHECK-NEXT:    movf $2, $zero, $fcc0239; CHECK-NEXT:    jr $ra240; CHECK-NEXT:    nop241entry:242  %cmp = fcmp uno double %x, %y243  ret i1 %cmp244}245define i1 @ord_d(double %x, double %y) {246; CHECK-LABEL: ord_d:247; CHECK:       # %bb.0: # %entry248; CHECK-NEXT:    addiu $2, $zero, 1249; CHECK-NEXT:    c.un.d $f12, $f14250; CHECK-NEXT:    movt $2, $zero, $fcc0251; CHECK-NEXT:    jr $ra252; CHECK-NEXT:    nop253entry:254  %cmp = fcmp ord double %x, %y255  ret i1 %cmp256}257 258 259define i1 @oeq_d(double %x, double %y) {260; CHECK-LABEL: oeq_d:261; CHECK:       # %bb.0: # %entry262; CHECK-NEXT:    addiu $2, $zero, 1263; CHECK-NEXT:    c.eq.d $f12, $f14264; CHECK-NEXT:    movf $2, $zero, $fcc0265; CHECK-NEXT:    jr $ra266; CHECK-NEXT:    nop267entry:268  %cmp = fcmp oeq double %x, %y269  ret i1 %cmp270}271define i1 @une_d(double %x, double %y) {272; CHECK-LABEL: une_d:273; CHECK:       # %bb.0: # %entry274; CHECK-NEXT:    addiu $2, $zero, 1275; CHECK-NEXT:    c.eq.d $f12, $f14276; CHECK-NEXT:    movt $2, $zero, $fcc0277; CHECK-NEXT:    jr $ra278; CHECK-NEXT:    nop279entry:280  %cmp = fcmp une double %x, %y281  ret i1 %cmp282}283 284 285define i1 @ueq_d(double %x, double %y) {286; CHECK-LABEL: ueq_d:287; CHECK:       # %bb.0: # %entry288; CHECK-NEXT:    addiu $2, $zero, 1289; CHECK-NEXT:    c.ueq.d $f12, $f14290; CHECK-NEXT:    movf $2, $zero, $fcc0291; CHECK-NEXT:    jr $ra292; CHECK-NEXT:    nop293entry:294  %cmp = fcmp ueq double %x, %y295  ret i1 %cmp296}297define i1 @one_d(double %x, double %y) {298; CHECK-LABEL: one_d:299; CHECK:       # %bb.0: # %entry300; CHECK-NEXT:    addiu $2, $zero, 1301; CHECK-NEXT:    c.ueq.d $f12, $f14302; CHECK-NEXT:    movt $2, $zero, $fcc0303; CHECK-NEXT:    jr $ra304; CHECK-NEXT:    nop305entry:306  %cmp = fcmp one double %x, %y307  ret i1 %cmp308}309 310 311define i1 @olt_d(double %x, double %y) {312; CHECK-LABEL: olt_d:313; CHECK:       # %bb.0: # %entry314; CHECK-NEXT:    addiu $2, $zero, 1315; CHECK-NEXT:    c.olt.d $f12, $f14316; CHECK-NEXT:    movf $2, $zero, $fcc0317; CHECK-NEXT:    jr $ra318; CHECK-NEXT:    nop319entry:320  %cmp = fcmp olt double %x, %y321  ret i1 %cmp322}323define i1 @uge_d(double %x, double %y) {324; CHECK-LABEL: uge_d:325; CHECK:       # %bb.0: # %entry326; CHECK-NEXT:    addiu $2, $zero, 1327; CHECK-NEXT:    c.olt.d $f12, $f14328; CHECK-NEXT:    movt $2, $zero, $fcc0329; CHECK-NEXT:    jr $ra330; CHECK-NEXT:    nop331entry:332  %cmp = fcmp uge double %x, %y333  ret i1 %cmp334}335 336 337define i1 @ult_d(double %x, double %y) {338; CHECK-LABEL: ult_d:339; CHECK:       # %bb.0: # %entry340; CHECK-NEXT:    addiu $2, $zero, 1341; CHECK-NEXT:    c.ult.d $f12, $f14342; CHECK-NEXT:    movf $2, $zero, $fcc0343; CHECK-NEXT:    jr $ra344; CHECK-NEXT:    nop345entry:346  %cmp = fcmp ult double %x, %y347  ret i1 %cmp348}349define i1 @oge_d(double %x, double %y) {350; CHECK-LABEL: oge_d:351; CHECK:       # %bb.0: # %entry352; CHECK-NEXT:    addiu $2, $zero, 1353; CHECK-NEXT:    c.ult.d $f12, $f14354; CHECK-NEXT:    movt $2, $zero, $fcc0355; CHECK-NEXT:    jr $ra356; CHECK-NEXT:    nop357entry:358  %cmp = fcmp oge double %x, %y359  ret i1 %cmp360}361 362 363define i1 @ole_d(double %x, double %y) {364; CHECK-LABEL: ole_d:365; CHECK:       # %bb.0: # %entry366; CHECK-NEXT:    addiu $2, $zero, 1367; CHECK-NEXT:    c.ole.d $f12, $f14368; CHECK-NEXT:    movf $2, $zero, $fcc0369; CHECK-NEXT:    jr $ra370; CHECK-NEXT:    nop371entry:372  %cmp = fcmp ole double %x, %y373  ret i1 %cmp374}375define i1 @ugt_d(double %x, double %y) {376; CHECK-LABEL: ugt_d:377; CHECK:       # %bb.0: # %entry378; CHECK-NEXT:    addiu $2, $zero, 1379; CHECK-NEXT:    c.ole.d $f12, $f14380; CHECK-NEXT:    movt $2, $zero, $fcc0381; CHECK-NEXT:    jr $ra382; CHECK-NEXT:    nop383entry:384  %cmp = fcmp ugt double %x, %y385  ret i1 %cmp386}387 388 389define i1 @ule_d(double %x, double %y) {390; CHECK-LABEL: ule_d:391; CHECK:       # %bb.0: # %entry392; CHECK-NEXT:    addiu $2, $zero, 1393; CHECK-NEXT:    c.ule.d $f12, $f14394; CHECK-NEXT:    movf $2, $zero, $fcc0395; CHECK-NEXT:    jr $ra396; CHECK-NEXT:    nop397entry:398  %cmp = fcmp ule double %x, %y399  ret i1 %cmp400}401define i1 @ogt_d(double %x, double %y) {402; CHECK-LABEL: ogt_d:403; CHECK:       # %bb.0: # %entry404; CHECK-NEXT:    addiu $2, $zero, 1405; CHECK-NEXT:    c.ule.d $f12, $f14406; CHECK-NEXT:    movt $2, $zero, $fcc0407; CHECK-NEXT:    jr $ra408; CHECK-NEXT:    nop409entry:410  %cmp = fcmp ogt double %x, %y411  ret i1 %cmp412}413