brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.3 KiB · 4ca4ac4 Raw
200 lines · plain
1; RUN: llc < %s -mtriple=ve-unknown-unknown | FileCheck %s2 3define zeroext i1 @setccaf(float, float) {4; CHECK-LABEL: setccaf:5; CHECK:       # %bb.0:6; CHECK-NEXT:    or %s0, 0, (0)17; CHECK-NEXT:    b.l.t (, %s10)8  %3 = fcmp false float %0, 0.09  ret i1 %310}11 12define zeroext i1 @setccat(float, float) {13; CHECK-LABEL: setccat:14; CHECK:       # %bb.0:15; CHECK-NEXT:    or %s0, 1, (0)116; CHECK-NEXT:    b.l.t (, %s10)17  %3 = fcmp true float %0, 0.018  ret i1 %319}20 21define zeroext i1 @setccoeq(float, float) {22; CHECK-LABEL: setccoeq:23; CHECK:       # %bb.0:24; CHECK-NEXT:    lea.sl %s1, 025; CHECK-NEXT:    fcmp.s %s0, %s0, %s126; CHECK-NEXT:    or %s1, 0, (0)127; CHECK-NEXT:    cmov.s.eq %s1, (63)0, %s028; CHECK-NEXT:    adds.w.zx %s0, %s1, (0)129; CHECK-NEXT:    b.l.t (, %s10)30  %3 = fcmp oeq float %0, 0.031  ret i1 %332}33 34define zeroext i1 @setccone(float, float) {35; CHECK-LABEL: setccone:36; CHECK:       # %bb.0:37; CHECK-NEXT:    lea.sl %s1, 038; CHECK-NEXT:    fcmp.s %s0, %s0, %s139; CHECK-NEXT:    or %s1, 0, (0)140; CHECK-NEXT:    cmov.s.ne %s1, (63)0, %s041; CHECK-NEXT:    adds.w.zx %s0, %s1, (0)142; CHECK-NEXT:    b.l.t (, %s10)43  %3 = fcmp one float %0, 0.044  ret i1 %345}46 47define zeroext i1 @setccogt(float, float) {48; CHECK-LABEL: setccogt:49; CHECK:       # %bb.0:50; CHECK-NEXT:    lea.sl %s1, 051; CHECK-NEXT:    fcmp.s %s0, %s0, %s152; CHECK-NEXT:    or %s1, 0, (0)153; CHECK-NEXT:    cmov.s.gt %s1, (63)0, %s054; CHECK-NEXT:    adds.w.zx %s0, %s1, (0)155; CHECK-NEXT:    b.l.t (, %s10)56  %3 = fcmp ogt float %0, 0.057  ret i1 %358}59 60define zeroext i1 @setccoge(float, float) {61; CHECK-LABEL: setccoge:62; CHECK:       # %bb.0:63; CHECK-NEXT:    lea.sl %s1, 064; CHECK-NEXT:    fcmp.s %s0, %s0, %s165; CHECK-NEXT:    or %s1, 0, (0)166; CHECK-NEXT:    cmov.s.ge %s1, (63)0, %s067; CHECK-NEXT:    adds.w.zx %s0, %s1, (0)168; CHECK-NEXT:    b.l.t (, %s10)69  %3 = fcmp oge float %0, 0.070  ret i1 %371}72 73define zeroext i1 @setccolt(float, float) {74; CHECK-LABEL: setccolt:75; CHECK:       # %bb.0:76; CHECK-NEXT:    lea.sl %s1, 077; CHECK-NEXT:    fcmp.s %s0, %s0, %s178; CHECK-NEXT:    or %s1, 0, (0)179; CHECK-NEXT:    cmov.s.lt %s1, (63)0, %s080; CHECK-NEXT:    adds.w.zx %s0, %s1, (0)181; CHECK-NEXT:    b.l.t (, %s10)82  %3 = fcmp olt float %0, 0.083  ret i1 %384}85 86define zeroext i1 @setccole(float, float) {87; CHECK-LABEL: setccole:88; CHECK:       # %bb.0:89; CHECK-NEXT:    lea.sl %s1, 090; CHECK-NEXT:    fcmp.s %s0, %s0, %s191; CHECK-NEXT:    or %s1, 0, (0)192; CHECK-NEXT:    cmov.s.le %s1, (63)0, %s093; CHECK-NEXT:    adds.w.zx %s0, %s1, (0)194; CHECK-NEXT:    b.l.t (, %s10)95  %3 = fcmp ole float %0, 0.096  ret i1 %397}98 99define zeroext i1 @setccord(float, float) {100; CHECK-LABEL: setccord:101; CHECK:       # %bb.0:102; CHECK-NEXT:    fcmp.s %s0, %s0, %s0103; CHECK-NEXT:    or %s1, 0, (0)1104; CHECK-NEXT:    cmov.s.num %s1, (63)0, %s0105; CHECK-NEXT:    adds.w.zx %s0, %s1, (0)1106; CHECK-NEXT:    b.l.t (, %s10)107  %3 = fcmp ord float %0, 0.0108  ret i1 %3109}110 111define zeroext i1 @setccuno(float, float) {112; CHECK-LABEL: setccuno:113; CHECK:       # %bb.0:114; CHECK-NEXT:    fcmp.s %s0, %s0, %s0115; CHECK-NEXT:    or %s1, 0, (0)1116; CHECK-NEXT:    cmov.s.nan %s1, (63)0, %s0117; CHECK-NEXT:    adds.w.zx %s0, %s1, (0)1118; CHECK-NEXT:    b.l.t (, %s10)119  %3 = fcmp uno float %0, 0.0120  ret i1 %3121}122 123define zeroext i1 @setccueq(float, float) {124; CHECK-LABEL: setccueq:125; CHECK:       # %bb.0:126; CHECK-NEXT:    lea.sl %s1, 0127; CHECK-NEXT:    fcmp.s %s0, %s0, %s1128; CHECK-NEXT:    or %s1, 0, (0)1129; CHECK-NEXT:    cmov.s.eqnan %s1, (63)0, %s0130; CHECK-NEXT:    adds.w.zx %s0, %s1, (0)1131; CHECK-NEXT:    b.l.t (, %s10)132  %3 = fcmp ueq float %0, 0.0133  ret i1 %3134}135 136define zeroext i1 @setccune(float, float) {137; CHECK-LABEL: setccune:138; CHECK:       # %bb.0:139; CHECK-NEXT:    lea.sl %s1, 0140; CHECK-NEXT:    fcmp.s %s0, %s0, %s1141; CHECK-NEXT:    or %s1, 0, (0)1142; CHECK-NEXT:    cmov.s.nenan %s1, (63)0, %s0143; CHECK-NEXT:    adds.w.zx %s0, %s1, (0)1144; CHECK-NEXT:    b.l.t (, %s10)145  %3 = fcmp une float %0, 0.0146  ret i1 %3147}148 149define zeroext i1 @setccugt(float, float) {150; CHECK-LABEL: setccugt:151; CHECK:       # %bb.0:152; CHECK-NEXT:    lea.sl %s1, 0153; CHECK-NEXT:    fcmp.s %s0, %s0, %s1154; CHECK-NEXT:    or %s1, 0, (0)1155; CHECK-NEXT:    cmov.s.gtnan %s1, (63)0, %s0156; CHECK-NEXT:    adds.w.zx %s0, %s1, (0)1157; CHECK-NEXT:    b.l.t (, %s10)158  %3 = fcmp ugt float %0, 0.0159  ret i1 %3160}161 162define zeroext i1 @setccuge(float, float) {163; CHECK-LABEL: setccuge:164; CHECK:       # %bb.0:165; CHECK-NEXT:    lea.sl %s1, 0166; CHECK-NEXT:    fcmp.s %s0, %s0, %s1167; CHECK-NEXT:    or %s1, 0, (0)1168; CHECK-NEXT:    cmov.s.genan %s1, (63)0, %s0169; CHECK-NEXT:    adds.w.zx %s0, %s1, (0)1170; CHECK-NEXT:    b.l.t (, %s10)171  %3 = fcmp uge float %0, 0.0172  ret i1 %3173}174 175define zeroext i1 @setccult(float, float) {176; CHECK-LABEL: setccult:177; CHECK:       # %bb.0:178; CHECK-NEXT:    lea.sl %s1, 0179; CHECK-NEXT:    fcmp.s %s0, %s0, %s1180; CHECK-NEXT:    or %s1, 0, (0)1181; CHECK-NEXT:    cmov.s.ltnan %s1, (63)0, %s0182; CHECK-NEXT:    adds.w.zx %s0, %s1, (0)1183; CHECK-NEXT:    b.l.t (, %s10)184  %3 = fcmp ult float %0, 0.0185  ret i1 %3186}187 188define zeroext i1 @setccule(float, float) {189; CHECK-LABEL: setccule:190; CHECK:       # %bb.0:191; CHECK-NEXT:    lea.sl %s1, 0192; CHECK-NEXT:    fcmp.s %s0, %s0, %s1193; CHECK-NEXT:    or %s1, 0, (0)1194; CHECK-NEXT:    cmov.s.lenan %s1, (63)0, %s0195; CHECK-NEXT:    adds.w.zx %s0, %s1, (0)1196; CHECK-NEXT:    b.l.t (, %s10)197  %3 = fcmp ule float %0, 0.0198  ret i1 %3199}200