brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.8 KiB · cf43f23 Raw
178 lines · plain
1; RUN: llc < %s -mtriple=ve-unknown-unknown | FileCheck %s2 3define float @selectccaf(float, float, float, float) {4; CHECK-LABEL: selectccaf:5; CHECK:       # %bb.0:6; CHECK-NEXT:    or %s0, 0, %s37; CHECK-NEXT:    b.l.t (, %s10)8  %5 = fcmp false float %0, 0.09  %6 = select i1 %5, float %2, float %310  ret float %611}12 13define float @selectccat(float, float, float, float) {14; CHECK-LABEL: selectccat:15; CHECK:       # %bb.0:16; CHECK-NEXT:    or %s0, 0, %s217; CHECK-NEXT:    b.l.t (, %s10)18  %5 = fcmp true float %0, 0.019  %6 = select i1 %5, float %2, float %320  ret float %621}22 23define float @selectccoeq(float, float, float, float) {24; CHECK-LABEL: selectccoeq:25; CHECK:       # %bb.0:26; CHECK-NEXT:    cmov.s.eq %s3, %s2, %s027; CHECK-NEXT:    or %s0, 0, %s328; CHECK-NEXT:    b.l.t (, %s10)29  %5 = fcmp oeq float %0, 0.030  %6 = select i1 %5, float %2, float %331  ret float %632}33 34define float @selectccone(float, float, float, float) {35; CHECK-LABEL: selectccone:36; CHECK:       # %bb.0:37; CHECK-NEXT:    cmov.s.ne %s3, %s2, %s038; CHECK-NEXT:    or %s0, 0, %s339; CHECK-NEXT:    b.l.t (, %s10)40  %5 = fcmp one float %0, 0.041  %6 = select i1 %5, float %2, float %342  ret float %643}44 45define float @selectccogt(float, float, float, float) {46; CHECK-LABEL: selectccogt:47; CHECK:       # %bb.0:48; CHECK-NEXT:    cmov.s.gt %s3, %s2, %s049; CHECK-NEXT:    or %s0, 0, %s350; CHECK-NEXT:    b.l.t (, %s10)51  %5 = fcmp ogt float %0, 0.052  %6 = select i1 %5, float %2, float %353  ret float %654}55 56define float @selectccoge(float, float, float, float) {57; CHECK-LABEL: selectccoge:58; CHECK:       # %bb.0:59; CHECK-NEXT:    cmov.s.ge %s3, %s2, %s060; CHECK-NEXT:    or %s0, 0, %s361; CHECK-NEXT:    b.l.t (, %s10)62  %5 = fcmp oge float %0, 0.063  %6 = select i1 %5, float %2, float %364  ret float %665}66 67define float @selectccolt(float, float, float, float) {68; CHECK-LABEL: selectccolt:69; CHECK:       # %bb.0:70; CHECK-NEXT:    cmov.s.lt %s3, %s2, %s071; CHECK-NEXT:    or %s0, 0, %s372; CHECK-NEXT:    b.l.t (, %s10)73  %5 = fcmp olt float %0, 0.074  %6 = select i1 %5, float %2, float %375  ret float %676}77 78define float @selectccole(float, float, float, float) {79; CHECK-LABEL: selectccole:80; CHECK:       # %bb.0:81; CHECK-NEXT:    cmov.s.le %s3, %s2, %s082; CHECK-NEXT:    or %s0, 0, %s383; CHECK-NEXT:    b.l.t (, %s10)84  %5 = fcmp ole float %0, 0.085  %6 = select i1 %5, float %2, float %386  ret float %687}88 89define float @selectccord(float, float, float, float) {90; CHECK-LABEL: selectccord:91; CHECK:       # %bb.0:92; CHECK-NEXT:    fcmp.s %s0, %s0, %s093; CHECK-NEXT:    cmov.s.num %s3, %s2, %s094; CHECK-NEXT:    or %s0, 0, %s395; CHECK-NEXT:    b.l.t (, %s10)96  %5 = fcmp ord float %0, 0.097  %6 = select i1 %5, float %2, float %398  ret float %699}100 101define float @selectccuno(float, float, float, float) {102; CHECK-LABEL: selectccuno:103; CHECK:       # %bb.0:104; CHECK-NEXT:    fcmp.s %s0, %s0, %s0105; CHECK-NEXT:    cmov.s.nan %s3, %s2, %s0106; CHECK-NEXT:    or %s0, 0, %s3107; CHECK-NEXT:    b.l.t (, %s10)108  %5 = fcmp uno float %0, 0.0109  %6 = select i1 %5, float %2, float %3110  ret float %6111}112 113define float @selectccueq(float, float, float, float) {114; CHECK-LABEL: selectccueq:115; CHECK:       # %bb.0:116; CHECK-NEXT:    cmov.s.eqnan %s3, %s2, %s0117; CHECK-NEXT:    or %s0, 0, %s3118; CHECK-NEXT:    b.l.t (, %s10)119  %5 = fcmp ueq float %0, 0.0120  %6 = select i1 %5, float %2, float %3121  ret float %6122}123 124define float @selectccune(float, float, float, float) {125; CHECK-LABEL: selectccune:126; CHECK:       # %bb.0:127; CHECK-NEXT:    cmov.s.nenan %s3, %s2, %s0128; CHECK-NEXT:    or %s0, 0, %s3129; CHECK-NEXT:    b.l.t (, %s10)130  %5 = fcmp une float %0, 0.0131  %6 = select i1 %5, float %2, float %3132  ret float %6133}134 135define float @selectccugt(float, float, float, float) {136; CHECK-LABEL: selectccugt:137; CHECK:       # %bb.0:138; CHECK-NEXT:    cmov.s.gtnan %s3, %s2, %s0139; CHECK-NEXT:    or %s0, 0, %s3140; CHECK-NEXT:    b.l.t (, %s10)141  %5 = fcmp ugt float %0, 0.0142  %6 = select i1 %5, float %2, float %3143  ret float %6144}145 146define float @selectccuge(float, float, float, float) {147; CHECK-LABEL: selectccuge:148; CHECK:       # %bb.0:149; CHECK-NEXT:    cmov.s.genan %s3, %s2, %s0150; CHECK-NEXT:    or %s0, 0, %s3151; CHECK-NEXT:    b.l.t (, %s10)152  %5 = fcmp uge float %0, 0.0153  %6 = select i1 %5, float %2, float %3154  ret float %6155}156 157define float @selectccult(float, float, float, float) {158; CHECK-LABEL: selectccult:159; CHECK:       # %bb.0:160; CHECK-NEXT:    cmov.s.ltnan %s3, %s2, %s0161; CHECK-NEXT:    or %s0, 0, %s3162; CHECK-NEXT:    b.l.t (, %s10)163  %5 = fcmp ult float %0, 0.0164  %6 = select i1 %5, float %2, float %3165  ret float %6166}167 168define float @selectccule(float, float, float, float) {169; CHECK-LABEL: selectccule:170; CHECK:       # %bb.0:171; CHECK-NEXT:    cmov.s.lenan %s3, %s2, %s0172; CHECK-NEXT:    or %s0, 0, %s3173; CHECK-NEXT:    b.l.t (, %s10)174  %5 = fcmp ule float %0, 0.0175  %6 = select i1 %5, float %2, float %3176  ret float %6177}178