brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.7 KiB · 441fc6d Raw
215 lines · plain
1; RUN: llc < %s -mtriple=ve-unknown-unknown | FileCheck %s2 3; Function Attrs: norecurse nounwind readonly4define void @storef128(ptr nocapture %0, fp128 %1) {5; CHECK-LABEL: storef128:6; CHECK:       # %bb.0:7; CHECK-NEXT:    st %s2, 8(, %s0)8; CHECK-NEXT:    st %s3, (, %s0)9; CHECK-NEXT:    b.l.t (, %s10)10  store fp128 %1, ptr %0, align 1611  ret void12}13 14; Function Attrs: norecurse nounwind readonly15define void @storef64(ptr nocapture %0, double %1) {16; CHECK-LABEL: storef64:17; CHECK:       # %bb.0:18; CHECK-NEXT:    st %s1, (, %s0)19; CHECK-NEXT:    b.l.t (, %s10)20  store double %1, ptr %0, align 1621  ret void22}23 24; Function Attrs: norecurse nounwind readonly25define void @storef32(ptr nocapture %0, float %1) {26; CHECK-LABEL: storef32:27; CHECK:       # %bb.0:28; CHECK-NEXT:    stu %s1, (, %s0)29; CHECK-NEXT:    b.l.t (, %s10)30  store float %1, ptr %0, align 1631  ret void32}33 34; Function Attrs: norecurse nounwind readonly35define void @storei128(ptr nocapture %0, i128 %1) {36; CHECK-LABEL: storei128:37; CHECK:       # %bb.0:38; CHECK-NEXT:    st %s2, 8(, %s0)39; CHECK-NEXT:    st %s1, (, %s0)40; CHECK-NEXT:    b.l.t (, %s10)41  store i128 %1, ptr %0, align 1642  ret void43}44 45; Function Attrs: norecurse nounwind readonly46define void @storei64(ptr nocapture %0, i64 %1) {47; CHECK-LABEL: storei64:48; CHECK:       # %bb.0:49; CHECK-NEXT:    st %s1, (, %s0)50; CHECK-NEXT:    b.l.t (, %s10)51  store i64 %1, ptr %0, align 1652  ret void53}54 55; Function Attrs: norecurse nounwind readonly56define void @storei32(ptr nocapture %0, i32 %1) {57; CHECK-LABEL: storei32:58; CHECK:       # %bb.0:59; CHECK-NEXT:    stl %s1, (, %s0)60; CHECK-NEXT:    b.l.t (, %s10)61  store i32 %1, ptr %0, align 1662  ret void63}64 65; Function Attrs: norecurse nounwind readonly66define void @storei32tr(ptr nocapture %0, i64 %1) {67; CHECK-LABEL: storei32tr:68; CHECK:       # %bb.0:69; CHECK-NEXT:    stl %s1, (, %s0)70; CHECK-NEXT:    b.l.t (, %s10)71  %3 = trunc i64 %1 to i3272  store i32 %3, ptr %0, align 1673  ret void74}75 76; Function Attrs: norecurse nounwind readonly77define void @storei16(ptr nocapture %0, i16 %1) {78; CHECK-LABEL: storei16:79; CHECK:       # %bb.0:80; CHECK-NEXT:    st2b %s1, (, %s0)81; CHECK-NEXT:    b.l.t (, %s10)82  store i16 %1, ptr %0, align 1683  ret void84}85 86; Function Attrs: norecurse nounwind readonly87define void @storei16tr(ptr nocapture %0, i64 %1) {88; CHECK-LABEL: storei16tr:89; CHECK:       # %bb.0:90; CHECK-NEXT:    st2b %s1, (, %s0)91; CHECK-NEXT:    b.l.t (, %s10)92  %3 = trunc i64 %1 to i1693  store i16 %3, ptr %0, align 1694  ret void95}96 97; Function Attrs: norecurse nounwind readonly98define void @storei8(ptr nocapture %0, i8 %1) {99; CHECK-LABEL: storei8:100; CHECK:       # %bb.0:101; CHECK-NEXT:    st1b %s1, (, %s0)102; CHECK-NEXT:    b.l.t (, %s10)103  store i8 %1, ptr %0, align 16104  ret void105}106 107; Function Attrs: norecurse nounwind readonly108define void @storei8tr(ptr nocapture %0, i64 %1) {109; CHECK-LABEL: storei8tr:110; CHECK:       # %bb.0:111; CHECK-NEXT:    st1b %s1, (, %s0)112; CHECK-NEXT:    b.l.t (, %s10)113  %3 = trunc i64 %1 to i8114  store i8 %3, ptr %0, align 16115  ret void116}117 118; Function Attrs: norecurse nounwind readonly119define void @storef128stk(fp128 %0) {120; CHECK-LABEL: storef128stk:121; CHECK:       .LBB{{[0-9]+}}_2:122; CHECK-NEXT:    st %s1, (, %s11)123; CHECK-NEXT:    st %s0, 8(, %s11)124; CHECK-NEXT:    adds.l %s11, 16, %s11125; CHECK-NEXT:    b.l.t (, %s10)126  %addr = alloca fp128, align 16127  store fp128 %0, ptr %addr, align 16128  ret void129}130 131; Function Attrs: norecurse nounwind readonly132define void @storef64stk(double %0) {133; CHECK-LABEL: storef64stk:134; CHECK:       .LBB{{[0-9]+}}_2:135; CHECK-NEXT:    st %s0, (, %s11)136; CHECK-NEXT:    adds.l %s11, 16, %s11137; CHECK-NEXT:    b.l.t (, %s10)138  %addr = alloca double, align 16139  store double %0, ptr %addr, align 16140  ret void141}142 143; Function Attrs: norecurse nounwind readonly144define void @storef32stk(float %0) {145; CHECK-LABEL: storef32stk:146; CHECK:       .LBB{{[0-9]+}}_2:147; CHECK-NEXT:    stu %s0, (, %s11)148; CHECK-NEXT:    adds.l %s11, 16, %s11149; CHECK-NEXT:    b.l.t (, %s10)150  %addr = alloca float, align 16151  store float %0, ptr %addr, align 16152  ret void153}154 155; Function Attrs: norecurse nounwind readonly156define void @storei128stk(i128 %0) {157; CHECK-LABEL: storei128stk:158; CHECK:       .LBB{{[0-9]+}}_2:159; CHECK-NEXT:    st %s1, 8(, %s11)160; CHECK-NEXT:    st %s0, (, %s11)161; CHECK-NEXT:    adds.l %s11, 16, %s11162; CHECK-NEXT:    b.l.t (, %s10)163  %addr = alloca i128, align 16164  store i128 %0, ptr %addr, align 16165  ret void166}167 168; Function Attrs: norecurse nounwind readonly169define void @storei64stk(i64 %0) {170; CHECK-LABEL: storei64stk:171; CHECK:       .LBB{{[0-9]+}}_2:172; CHECK-NEXT:    st %s0, (, %s11)173; CHECK-NEXT:    adds.l %s11, 16, %s11174; CHECK-NEXT:    b.l.t (, %s10)175  %addr = alloca i64, align 16176  store i64 %0, ptr %addr, align 16177  ret void178}179 180; Function Attrs: norecurse nounwind readonly181define void @storei32stk(i32 %0) {182; CHECK-LABEL: storei32stk:183; CHECK:       .LBB{{[0-9]+}}_2:184; CHECK-NEXT:    stl %s0, (, %s11)185; CHECK-NEXT:    adds.l %s11, 16, %s11186; CHECK-NEXT:    b.l.t (, %s10)187  %addr = alloca i32, align 16188  store i32 %0, ptr %addr, align 16189  ret void190}191 192; Function Attrs: norecurse nounwind readonly193define void @storei16stk(i16 %0) {194; CHECK-LABEL: storei16stk:195; CHECK:       .LBB{{[0-9]+}}_2:196; CHECK-NEXT:    st2b %s0, (, %s11)197; CHECK-NEXT:    adds.l %s11, 16, %s11198; CHECK-NEXT:    b.l.t (, %s10)199  %addr = alloca i16, align 16200  store i16 %0, ptr %addr, align 16201  ret void202}203 204; Function Attrs: norecurse nounwind readonly205define void @storei8stk(i8 %0) {206; CHECK-LABEL: storei8stk:207; CHECK:       .LBB{{[0-9]+}}_2:208; CHECK-NEXT:    st1b %s0, (, %s11)209; CHECK-NEXT:    adds.l %s11, 16, %s11210; CHECK-NEXT:    b.l.t (, %s10)211  %addr = alloca i8, align 16212  store i8 %0, ptr %addr, align 16213  ret void214}215