brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.6 KiB · 3df3348 Raw
283 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:     r0 = mux(p0,#0,#1)21; CHECK-NEXT:     jumpr r3122; CHECK-NEXT:     memb(r2+#0) = r0.new23; CHECK-NEXT:    }24b0:25  %v0 = load i1, ptr %a026  %v1 = load i1, ptr %a127  %v2 = icmp eq i1 %v0, %v128  store i1 %v2, ptr %a229  ret void30}31 32define void @f1(ptr %a0, ptr %a1, ptr %a2) {33; CHECK-LABEL: f1:34; CHECK:         .cfi_startproc35; CHECK-NEXT:  // %bb.0: // %b036; CHECK-NEXT:    {37; CHECK-NEXT:     r1 = memub(r1+#0)38; CHECK-NEXT:     r0 = memub(r0+#0)39; CHECK-NEXT:    }40; CHECK-NEXT:    {41; CHECK-NEXT:     p0 = r042; CHECK-NEXT:     p1 = r143; CHECK-NEXT:    }44; CHECK-NEXT:    {45; CHECK-NEXT:     p0 = xor(p0,p1)46; CHECK-NEXT:    }47; CHECK-NEXT:    {48; CHECK-NEXT:     r0 = mux(p0,#1,#0)49; CHECK-NEXT:     jumpr r3150; CHECK-NEXT:     memb(r2+#0) = r0.new51; CHECK-NEXT:    }52b0:53  %v0 = load i1, ptr %a054  %v1 = load i1, ptr %a155  %v2 = icmp ne i1 %v0, %v156  store i1 %v2, ptr %a257  ret void58}59 60define void @f2(ptr %a0, ptr %a1, ptr %a2) {61; CHECK-LABEL: f2:62; CHECK:         .cfi_startproc63; CHECK-NEXT:  // %bb.0: // %b064; CHECK-NEXT:    {65; CHECK-NEXT:     r1 = memub(r1+#0)66; CHECK-NEXT:     r0 = memub(r0+#0)67; CHECK-NEXT:    }68; CHECK-NEXT:    {69; CHECK-NEXT:     p0 = r070; CHECK-NEXT:     p1 = r171; CHECK-NEXT:    }72; CHECK-NEXT:    {73; CHECK-NEXT:     p0 = and(p0,!p1)74; CHECK-NEXT:    }75; CHECK-NEXT:    {76; CHECK-NEXT:     r0 = mux(p0,#1,#0)77; CHECK-NEXT:     jumpr r3178; CHECK-NEXT:     memb(r2+#0) = r0.new79; CHECK-NEXT:    }80b0:81  %v0 = load i1, ptr %a082  %v1 = load i1, ptr %a183  %v2 = icmp slt i1 %v0, %v184  store i1 %v2, ptr %a285  ret void86}87 88define void @f3(ptr %a0, ptr %a1, ptr %a2) {89; CHECK-LABEL: f3:90; CHECK:         .cfi_startproc91; CHECK-NEXT:  // %bb.0: // %b092; CHECK-NEXT:    {93; CHECK-NEXT:     r1 = memub(r1+#0)94; CHECK-NEXT:     r0 = memub(r0+#0)95; CHECK-NEXT:    }96; CHECK-NEXT:    {97; CHECK-NEXT:     p0 = r098; CHECK-NEXT:     p1 = r199; CHECK-NEXT:    }100; CHECK-NEXT:    {101; CHECK-NEXT:     p0 = or(p0,!p1)102; CHECK-NEXT:    }103; CHECK-NEXT:    {104; CHECK-NEXT:     r0 = mux(p0,#1,#0)105; CHECK-NEXT:     jumpr r31106; CHECK-NEXT:     memb(r2+#0) = r0.new107; CHECK-NEXT:    }108b0:109  %v0 = load i1, ptr %a0110  %v1 = load i1, ptr %a1111  %v2 = icmp sle i1 %v0, %v1112  store i1 %v2, ptr %a2113  ret void114}115 116define void @f4(ptr %a0, ptr %a1, ptr %a2) {117; CHECK-LABEL: f4:118; CHECK:         .cfi_startproc119; CHECK-NEXT:  // %bb.0: // %b0120; CHECK-NEXT:    {121; CHECK-NEXT:     r1 = memub(r1+#0)122; CHECK-NEXT:     r0 = memub(r0+#0)123; CHECK-NEXT:    }124; CHECK-NEXT:    {125; CHECK-NEXT:     p0 = r0126; CHECK-NEXT:     p1 = r1127; CHECK-NEXT:    }128; CHECK-NEXT:    {129; CHECK-NEXT:     p0 = and(p1,!p0)130; CHECK-NEXT:    }131; CHECK-NEXT:    {132; CHECK-NEXT:     r0 = mux(p0,#1,#0)133; CHECK-NEXT:     jumpr r31134; CHECK-NEXT:     memb(r2+#0) = r0.new135; CHECK-NEXT:    }136b0:137  %v0 = load i1, ptr %a0138  %v1 = load i1, ptr %a1139  %v2 = icmp sgt i1 %v0, %v1140  store i1 %v2, ptr %a2141  ret void142}143 144define void @f5(ptr %a0, ptr %a1, ptr %a2) {145; CHECK-LABEL: f5:146; CHECK:         .cfi_startproc147; CHECK-NEXT:  // %bb.0: // %b0148; CHECK-NEXT:    {149; CHECK-NEXT:     r1 = memub(r1+#0)150; CHECK-NEXT:     r0 = memub(r0+#0)151; CHECK-NEXT:    }152; CHECK-NEXT:    {153; CHECK-NEXT:     p0 = r0154; CHECK-NEXT:     p1 = r1155; CHECK-NEXT:    }156; CHECK-NEXT:    {157; CHECK-NEXT:     p0 = or(p1,!p0)158; CHECK-NEXT:    }159; CHECK-NEXT:    {160; CHECK-NEXT:     r0 = mux(p0,#1,#0)161; CHECK-NEXT:     jumpr r31162; CHECK-NEXT:     memb(r2+#0) = r0.new163; CHECK-NEXT:    }164b0:165  %v0 = load i1, ptr %a0166  %v1 = load i1, ptr %a1167  %v2 = icmp sge i1 %v0, %v1168  store i1 %v2, ptr %a2169  ret void170}171 172define void @f6(ptr %a0, ptr %a1, ptr %a2) {173; CHECK-LABEL: f6:174; CHECK:         .cfi_startproc175; CHECK-NEXT:  // %bb.0: // %b0176; CHECK-NEXT:    {177; CHECK-NEXT:     r1 = memub(r1+#0)178; CHECK-NEXT:     r0 = memub(r0+#0)179; CHECK-NEXT:    }180; CHECK-NEXT:    {181; CHECK-NEXT:     p0 = r0182; CHECK-NEXT:     p1 = r1183; CHECK-NEXT:    }184; CHECK-NEXT:    {185; CHECK-NEXT:     p0 = and(p1,!p0)186; CHECK-NEXT:    }187; CHECK-NEXT:    {188; CHECK-NEXT:     r0 = mux(p0,#1,#0)189; CHECK-NEXT:     jumpr r31190; CHECK-NEXT:     memb(r2+#0) = r0.new191; CHECK-NEXT:    }192b0:193  %v0 = load i1, ptr %a0194  %v1 = load i1, ptr %a1195  %v2 = icmp ult i1 %v0, %v1196  store i1 %v2, ptr %a2197  ret void198}199 200define void @f7(ptr %a0, ptr %a1, ptr %a2) {201; CHECK-LABEL: f7:202; CHECK:         .cfi_startproc203; CHECK-NEXT:  // %bb.0: // %b0204; CHECK-NEXT:    {205; CHECK-NEXT:     r1 = memub(r1+#0)206; CHECK-NEXT:     r0 = memub(r0+#0)207; CHECK-NEXT:    }208; CHECK-NEXT:    {209; CHECK-NEXT:     p0 = r0210; CHECK-NEXT:     p1 = r1211; CHECK-NEXT:    }212; CHECK-NEXT:    {213; CHECK-NEXT:     p0 = or(p1,!p0)214; CHECK-NEXT:    }215; CHECK-NEXT:    {216; CHECK-NEXT:     r0 = mux(p0,#1,#0)217; CHECK-NEXT:     jumpr r31218; CHECK-NEXT:     memb(r2+#0) = r0.new219; CHECK-NEXT:    }220b0:221  %v0 = load i1, ptr %a0222  %v1 = load i1, ptr %a1223  %v2 = icmp ule i1 %v0, %v1224  store i1 %v2, ptr %a2225  ret void226}227 228define void @f8(ptr %a0, ptr %a1, ptr %a2) {229; CHECK-LABEL: f8:230; CHECK:         .cfi_startproc231; CHECK-NEXT:  // %bb.0: // %b0232; CHECK-NEXT:    {233; CHECK-NEXT:     r1 = memub(r1+#0)234; CHECK-NEXT:     r0 = memub(r0+#0)235; CHECK-NEXT:    }236; CHECK-NEXT:    {237; CHECK-NEXT:     p0 = r0238; CHECK-NEXT:     p1 = r1239; CHECK-NEXT:    }240; CHECK-NEXT:    {241; CHECK-NEXT:     p0 = and(p0,!p1)242; CHECK-NEXT:    }243; CHECK-NEXT:    {244; CHECK-NEXT:     r0 = mux(p0,#1,#0)245; CHECK-NEXT:     jumpr r31246; CHECK-NEXT:     memb(r2+#0) = r0.new247; CHECK-NEXT:    }248b0:249  %v0 = load i1, ptr %a0250  %v1 = load i1, ptr %a1251  %v2 = icmp ugt i1 %v0, %v1252  store i1 %v2, ptr %a2253  ret void254}255 256define void @f9(ptr %a0, ptr %a1, ptr %a2) {257; CHECK-LABEL: f9:258; CHECK:         .cfi_startproc259; CHECK-NEXT:  // %bb.0: // %b0260; CHECK-NEXT:    {261; CHECK-NEXT:     r1 = memub(r1+#0)262; CHECK-NEXT:     r0 = memub(r0+#0)263; CHECK-NEXT:    }264; CHECK-NEXT:    {265; CHECK-NEXT:     p0 = r0266; CHECK-NEXT:     p1 = r1267; CHECK-NEXT:    }268; CHECK-NEXT:    {269; CHECK-NEXT:     p0 = or(p0,!p1)270; CHECK-NEXT:    }271; CHECK-NEXT:    {272; CHECK-NEXT:     r0 = mux(p0,#1,#0)273; CHECK-NEXT:     jumpr r31274; CHECK-NEXT:     memb(r2+#0) = r0.new275; CHECK-NEXT:    }276b0:277  %v0 = load i1, ptr %a0278  %v1 = load i1, ptr %a1279  %v2 = icmp uge i1 %v0, %v1280  store i1 %v2, ptr %a2281  ret void282}283