286 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 22; RUN: llc -mtriple=hexagon < %s | FileCheck %s3 4define void @f0(ptr %a0, ptr %a1, ptr %a2) {5; CHECK-LABEL: f0:6; CHECK: .cfi_startproc7; CHECK-NEXT: // %bb.0: // %b08; CHECK-NEXT: {9; CHECK-NEXT: r1 = memub(r1+#0)10; CHECK-NEXT: r0 = memub(r0+#0)11; CHECK-NEXT: }12; CHECK-NEXT: {13; CHECK-NEXT: p0 = r014; CHECK-NEXT: p1 = r115; CHECK-NEXT: }16; CHECK-NEXT: {17; CHECK-NEXT: p0 = xor(p0,p1)18; CHECK-NEXT: }19; CHECK-NEXT: {20; CHECK-NEXT: p0 = not(p0)21; CHECK-NEXT: }22; CHECK-NEXT: {23; CHECK-NEXT: r3 = p024; CHECK-NEXT: jumpr r3125; CHECK-NEXT: memb(r2+#0) = r3.new26; CHECK-NEXT: }27b0:28 %v0 = load <8 x i1>, ptr %a029 %v1 = load <8 x i1>, ptr %a130 %v2 = icmp eq <8 x i1> %v0, %v131 store <8 x i1> %v2, ptr %a232 ret void33}34 35define void @f1(ptr %a0, ptr %a1, ptr %a2) {36; CHECK-LABEL: f1:37; CHECK: .cfi_startproc38; CHECK-NEXT: // %bb.0: // %b039; CHECK-NEXT: {40; CHECK-NEXT: r1 = memub(r1+#0)41; CHECK-NEXT: r0 = memub(r0+#0)42; CHECK-NEXT: }43; CHECK-NEXT: {44; CHECK-NEXT: p0 = r045; CHECK-NEXT: p1 = r146; CHECK-NEXT: }47; CHECK-NEXT: {48; CHECK-NEXT: p0 = xor(p0,p1)49; CHECK-NEXT: }50; CHECK-NEXT: {51; CHECK-NEXT: r3 = p052; CHECK-NEXT: jumpr r3153; CHECK-NEXT: memb(r2+#0) = r3.new54; CHECK-NEXT: }55b0:56 %v0 = load <8 x i1>, ptr %a057 %v1 = load <8 x i1>, ptr %a158 %v2 = icmp ne <8 x i1> %v0, %v159 store <8 x i1> %v2, ptr %a260 ret void61}62 63define void @f2(ptr %a0, ptr %a1, ptr %a2) {64; CHECK-LABEL: f2:65; CHECK: .cfi_startproc66; CHECK-NEXT: // %bb.0: // %b067; CHECK-NEXT: {68; CHECK-NEXT: r1 = memub(r1+#0)69; CHECK-NEXT: r0 = memub(r0+#0)70; CHECK-NEXT: }71; CHECK-NEXT: {72; CHECK-NEXT: p0 = r073; CHECK-NEXT: p1 = r174; CHECK-NEXT: }75; CHECK-NEXT: {76; CHECK-NEXT: p0 = and(p0,!p1)77; CHECK-NEXT: }78; CHECK-NEXT: {79; CHECK-NEXT: r3 = p080; CHECK-NEXT: jumpr r3181; CHECK-NEXT: memb(r2+#0) = r3.new82; CHECK-NEXT: }83b0:84 %v0 = load <8 x i1>, ptr %a085 %v1 = load <8 x i1>, ptr %a186 %v2 = icmp slt <8 x i1> %v0, %v187 store <8 x i1> %v2, ptr %a288 ret void89}90 91define void @f3(ptr %a0, ptr %a1, ptr %a2) {92; CHECK-LABEL: f3:93; CHECK: .cfi_startproc94; CHECK-NEXT: // %bb.0: // %b095; CHECK-NEXT: {96; CHECK-NEXT: r1 = memub(r1+#0)97; CHECK-NEXT: r0 = memub(r0+#0)98; CHECK-NEXT: }99; CHECK-NEXT: {100; CHECK-NEXT: p0 = r0101; CHECK-NEXT: p1 = r1102; CHECK-NEXT: }103; CHECK-NEXT: {104; CHECK-NEXT: p0 = or(p0,!p1)105; CHECK-NEXT: }106; CHECK-NEXT: {107; CHECK-NEXT: r3 = p0108; CHECK-NEXT: jumpr r31109; CHECK-NEXT: memb(r2+#0) = r3.new110; CHECK-NEXT: }111b0:112 %v0 = load <8 x i1>, ptr %a0113 %v1 = load <8 x i1>, ptr %a1114 %v2 = icmp sle <8 x i1> %v0, %v1115 store <8 x i1> %v2, ptr %a2116 ret void117}118 119define void @f4(ptr %a0, ptr %a1, ptr %a2) {120; CHECK-LABEL: f4:121; CHECK: .cfi_startproc122; CHECK-NEXT: // %bb.0: // %b0123; CHECK-NEXT: {124; CHECK-NEXT: r1 = memub(r1+#0)125; CHECK-NEXT: r0 = memub(r0+#0)126; CHECK-NEXT: }127; CHECK-NEXT: {128; CHECK-NEXT: p0 = r0129; CHECK-NEXT: p1 = r1130; CHECK-NEXT: }131; CHECK-NEXT: {132; CHECK-NEXT: p0 = and(p1,!p0)133; CHECK-NEXT: }134; CHECK-NEXT: {135; CHECK-NEXT: r3 = p0136; CHECK-NEXT: jumpr r31137; CHECK-NEXT: memb(r2+#0) = r3.new138; CHECK-NEXT: }139b0:140 %v0 = load <8 x i1>, ptr %a0141 %v1 = load <8 x i1>, ptr %a1142 %v2 = icmp sgt <8 x i1> %v0, %v1143 store <8 x i1> %v2, ptr %a2144 ret void145}146 147define void @f5(ptr %a0, ptr %a1, ptr %a2) {148; CHECK-LABEL: f5:149; CHECK: .cfi_startproc150; CHECK-NEXT: // %bb.0: // %b0151; CHECK-NEXT: {152; CHECK-NEXT: r1 = memub(r1+#0)153; CHECK-NEXT: r0 = memub(r0+#0)154; CHECK-NEXT: }155; CHECK-NEXT: {156; CHECK-NEXT: p0 = r0157; CHECK-NEXT: p1 = r1158; CHECK-NEXT: }159; CHECK-NEXT: {160; CHECK-NEXT: p0 = or(p1,!p0)161; CHECK-NEXT: }162; CHECK-NEXT: {163; CHECK-NEXT: r3 = p0164; CHECK-NEXT: jumpr r31165; CHECK-NEXT: memb(r2+#0) = r3.new166; CHECK-NEXT: }167b0:168 %v0 = load <8 x i1>, ptr %a0169 %v1 = load <8 x i1>, ptr %a1170 %v2 = icmp sge <8 x i1> %v0, %v1171 store <8 x i1> %v2, ptr %a2172 ret void173}174 175define void @f6(ptr %a0, ptr %a1, ptr %a2) {176; CHECK-LABEL: f6:177; CHECK: .cfi_startproc178; CHECK-NEXT: // %bb.0: // %b0179; CHECK-NEXT: {180; CHECK-NEXT: r1 = memub(r1+#0)181; CHECK-NEXT: r0 = memub(r0+#0)182; CHECK-NEXT: }183; CHECK-NEXT: {184; CHECK-NEXT: p0 = r0185; CHECK-NEXT: p1 = r1186; CHECK-NEXT: }187; CHECK-NEXT: {188; CHECK-NEXT: p0 = and(p1,!p0)189; CHECK-NEXT: }190; CHECK-NEXT: {191; CHECK-NEXT: r3 = p0192; CHECK-NEXT: jumpr r31193; CHECK-NEXT: memb(r2+#0) = r3.new194; CHECK-NEXT: }195b0:196 %v0 = load <8 x i1>, ptr %a0197 %v1 = load <8 x i1>, ptr %a1198 %v2 = icmp ult <8 x i1> %v0, %v1199 store <8 x i1> %v2, ptr %a2200 ret void201}202 203define void @f7(ptr %a0, ptr %a1, ptr %a2) {204; CHECK-LABEL: f7:205; CHECK: .cfi_startproc206; CHECK-NEXT: // %bb.0: // %b0207; CHECK-NEXT: {208; CHECK-NEXT: r1 = memub(r1+#0)209; CHECK-NEXT: r0 = memub(r0+#0)210; CHECK-NEXT: }211; CHECK-NEXT: {212; CHECK-NEXT: p0 = r0213; CHECK-NEXT: p1 = r1214; CHECK-NEXT: }215; CHECK-NEXT: {216; CHECK-NEXT: p0 = or(p1,!p0)217; CHECK-NEXT: }218; CHECK-NEXT: {219; CHECK-NEXT: r3 = p0220; CHECK-NEXT: jumpr r31221; CHECK-NEXT: memb(r2+#0) = r3.new222; CHECK-NEXT: }223b0:224 %v0 = load <8 x i1>, ptr %a0225 %v1 = load <8 x i1>, ptr %a1226 %v2 = icmp ule <8 x i1> %v0, %v1227 store <8 x i1> %v2, ptr %a2228 ret void229}230 231define void @f8(ptr %a0, ptr %a1, ptr %a2) {232; CHECK-LABEL: f8:233; CHECK: .cfi_startproc234; CHECK-NEXT: // %bb.0: // %b0235; CHECK-NEXT: {236; CHECK-NEXT: r1 = memub(r1+#0)237; CHECK-NEXT: r0 = memub(r0+#0)238; CHECK-NEXT: }239; CHECK-NEXT: {240; CHECK-NEXT: p0 = r0241; CHECK-NEXT: p1 = r1242; CHECK-NEXT: }243; CHECK-NEXT: {244; CHECK-NEXT: p0 = and(p0,!p1)245; CHECK-NEXT: }246; CHECK-NEXT: {247; CHECK-NEXT: r3 = p0248; CHECK-NEXT: jumpr r31249; CHECK-NEXT: memb(r2+#0) = r3.new250; CHECK-NEXT: }251b0:252 %v0 = load <8 x i1>, ptr %a0253 %v1 = load <8 x i1>, ptr %a1254 %v2 = icmp ugt <8 x i1> %v0, %v1255 store <8 x i1> %v2, ptr %a2256 ret void257}258 259define void @f9(ptr %a0, ptr %a1, ptr %a2) {260; CHECK-LABEL: f9:261; CHECK: .cfi_startproc262; CHECK-NEXT: // %bb.0: // %b0263; CHECK-NEXT: {264; CHECK-NEXT: r1 = memub(r1+#0)265; CHECK-NEXT: r0 = memub(r0+#0)266; CHECK-NEXT: }267; CHECK-NEXT: {268; CHECK-NEXT: p0 = r0269; CHECK-NEXT: p1 = r1270; CHECK-NEXT: }271; CHECK-NEXT: {272; CHECK-NEXT: p0 = or(p0,!p1)273; CHECK-NEXT: }274; CHECK-NEXT: {275; CHECK-NEXT: r3 = p0276; CHECK-NEXT: jumpr r31277; CHECK-NEXT: memb(r2+#0) = r3.new278; CHECK-NEXT: }279b0:280 %v0 = load <8 x i1>, ptr %a0281 %v1 = load <8 x i1>, ptr %a1282 %v2 = icmp uge <8 x i1> %v0, %v1283 store <8 x i1> %v2, ptr %a2284 ret void285}286