brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.4 KiB · 62caa5c Raw
170 lines · plain
1; RUN: llc < %s -mtriple=ve-unknown-unknown | FileCheck %s2 3define i64 @selectcceq(i64, i64, i64, i64) {4; CHECK-LABEL: selectcceq:5; CHECK:       # %bb.0:6; CHECK-NEXT:    cmpu.l %s0, %s0, %s17; CHECK-NEXT:    cmov.l.eq %s3, %s2, %s08; CHECK-NEXT:    or %s0, 0, %s39; CHECK-NEXT:    b.l.t (, %s10)10  %5 = icmp eq i64 %0, %111  %6 = select i1 %5, i64 %2, i64 %312  ret i64 %613}14 15define i64 @selectccne(i64, i64, i64, i64) {16; CHECK-LABEL: selectccne:17; CHECK:       # %bb.0:18; CHECK-NEXT:    cmpu.l %s0, %s0, %s119; CHECK-NEXT:    cmov.l.ne %s3, %s2, %s020; CHECK-NEXT:    or %s0, 0, %s321; CHECK-NEXT:    b.l.t (, %s10)22  %5 = icmp ne i64 %0, %123  %6 = select i1 %5, i64 %2, i64 %324  ret i64 %625}26 27define i64 @selectccsgt(i64, i64, i64, i64) {28; CHECK-LABEL: selectccsgt:29; CHECK:       # %bb.0:30; CHECK-NEXT:    cmps.l %s0, %s0, %s131; CHECK-NEXT:    cmov.l.gt %s3, %s2, %s032; CHECK-NEXT:    or %s0, 0, %s333; CHECK-NEXT:    b.l.t (, %s10)34  %5 = icmp sgt i64 %0, %135  %6 = select i1 %5, i64 %2, i64 %336  ret i64 %637}38 39define i64 @selectccsge(i64, i64, i64, i64) {40; CHECK-LABEL: selectccsge:41; CHECK:       # %bb.0:42; CHECK-NEXT:    cmps.l %s0, %s0, %s143; CHECK-NEXT:    cmov.l.ge %s3, %s2, %s044; CHECK-NEXT:    or %s0, 0, %s345; CHECK-NEXT:    b.l.t (, %s10)46  %5 = icmp sge i64 %0, %147  %6 = select i1 %5, i64 %2, i64 %348  ret i64 %649}50 51define i64 @selectccslt(i64, i64, i64, i64) {52; CHECK-LABEL: selectccslt:53; CHECK:       # %bb.0:54; CHECK-NEXT:    cmps.l %s0, %s0, %s155; CHECK-NEXT:    cmov.l.lt %s3, %s2, %s056; CHECK-NEXT:    or %s0, 0, %s357; CHECK-NEXT:    b.l.t (, %s10)58  %5 = icmp slt i64 %0, %159  %6 = select i1 %5, i64 %2, i64 %360  ret i64 %661}62 63define i64 @selectccsle(i64, i64, i64, i64) {64; CHECK-LABEL: selectccsle:65; CHECK:       # %bb.0:66; CHECK-NEXT:    cmps.l %s0, %s0, %s167; CHECK-NEXT:    cmov.l.le %s3, %s2, %s068; CHECK-NEXT:    or %s0, 0, %s369; CHECK-NEXT:    b.l.t (, %s10)70  %5 = icmp sle i64 %0, %171  %6 = select i1 %5, i64 %2, i64 %372  ret i64 %673}74 75define i64 @selectccugt(i64, i64, i64, i64) {76; CHECK-LABEL: selectccugt:77; CHECK:       # %bb.0:78; CHECK-NEXT:    cmpu.l %s0, %s0, %s179; CHECK-NEXT:    cmov.l.gt %s3, %s2, %s080; CHECK-NEXT:    or %s0, 0, %s381; CHECK-NEXT:    b.l.t (, %s10)82  %5 = icmp ugt i64 %0, %183  %6 = select i1 %5, i64 %2, i64 %384  ret i64 %685}86 87define i64 @selectccuge(i64, i64, i64, i64) {88; CHECK-LABEL: selectccuge:89; CHECK:       # %bb.0:90; CHECK-NEXT:    cmpu.l %s0, %s0, %s191; CHECK-NEXT:    cmov.l.ge %s3, %s2, %s092; CHECK-NEXT:    or %s0, 0, %s393; CHECK-NEXT:    b.l.t (, %s10)94  %5 = icmp uge i64 %0, %195  %6 = select i1 %5, i64 %2, i64 %396  ret i64 %697}98 99define i64 @selectccult(i64, i64, i64, i64) {100; CHECK-LABEL: selectccult:101; CHECK:       # %bb.0:102; CHECK-NEXT:    cmpu.l %s0, %s0, %s1103; CHECK-NEXT:    cmov.l.lt %s3, %s2, %s0104; CHECK-NEXT:    or %s0, 0, %s3105; CHECK-NEXT:    b.l.t (, %s10)106  %5 = icmp ult i64 %0, %1107  %6 = select i1 %5, i64 %2, i64 %3108  ret i64 %6109}110 111define i64 @selectccule(i64, i64, i64, i64) {112; CHECK-LABEL: selectccule:113; CHECK:       # %bb.0:114; CHECK-NEXT:    cmpu.l %s0, %s0, %s1115; CHECK-NEXT:    cmov.l.le %s3, %s2, %s0116; CHECK-NEXT:    or %s0, 0, %s3117; CHECK-NEXT:    b.l.t (, %s10)118  %5 = icmp ule i64 %0, %1119  %6 = select i1 %5, i64 %2, i64 %3120  ret i64 %6121}122 123define i64 @selectccugt2(i64, i64, i64, i64) {124; CHECK-LABEL: selectccugt2:125; CHECK:       # %bb.0:126; CHECK-NEXT:    cmpu.l %s0, %s0, %s1127; CHECK-NEXT:    cmov.l.gt %s3, %s2, %s0128; CHECK-NEXT:    or %s0, 0, %s3129; CHECK-NEXT:    b.l.t (, %s10)130  %5 = icmp ugt i64 %0, %1131  %6 = select i1 %5, i64 %2, i64 %3132  ret i64 %6133}134 135define i64 @selectccuge2(i64, i64, i64, i64) {136; CHECK-LABEL: selectccuge2:137; CHECK:       # %bb.0:138; CHECK-NEXT:    cmpu.l %s0, %s0, %s1139; CHECK-NEXT:    cmov.l.ge %s3, %s2, %s0140; CHECK-NEXT:    or %s0, 0, %s3141; CHECK-NEXT:    b.l.t (, %s10)142  %5 = icmp uge i64 %0, %1143  %6 = select i1 %5, i64 %2, i64 %3144  ret i64 %6145}146 147define i64 @selectccult2(i64, i64, i64, i64) {148; CHECK-LABEL: selectccult2:149; CHECK:       # %bb.0:150; CHECK-NEXT:    cmpu.l %s0, %s0, %s1151; CHECK-NEXT:    cmov.l.lt %s3, %s2, %s0152; CHECK-NEXT:    or %s0, 0, %s3153; CHECK-NEXT:    b.l.t (, %s10)154  %5 = icmp ult i64 %0, %1155  %6 = select i1 %5, i64 %2, i64 %3156  ret i64 %6157}158 159define i64 @selectccule2(i64, i64, i64, i64) {160; CHECK-LABEL: selectccule2:161; CHECK:       # %bb.0:162; CHECK-NEXT:    cmpu.l %s0, %s0, %s1163; CHECK-NEXT:    cmov.l.le %s3, %s2, %s0164; CHECK-NEXT:    or %s0, 0, %s3165; CHECK-NEXT:    b.l.t (, %s10)166  %5 = icmp ule i64 %0, %1167  %6 = select i1 %5, i64 %2, i64 %3168  ret i64 %6169}170