brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.5 KiB · 5efa01e Raw
160 lines · plain
1; RUN: llc < %s -mtriple=ve-unknown-unknown | FileCheck %s2 3@vi8 = common dso_local local_unnamed_addr global i8 0, align 84@vi16 = common dso_local local_unnamed_addr global i16 0, align 85@vi32 = common dso_local local_unnamed_addr global i32 0, align 86@vi64 = common dso_local local_unnamed_addr global i64 0, align 87@vf32 = common dso_local local_unnamed_addr global float 0.000000e+00, align 88@vf64 = common dso_local local_unnamed_addr global double 0.000000e+00, align 89 10; Function Attrs: norecurse nounwind readonly11define void @storef64stk(double %0) {12; CHECK-LABEL: storef64stk:13; CHECK:       .LBB{{[0-9]+}}_2:14; CHECK-NEXT:    st %s0, 8(, %s11)15; CHECK-NEXT:    adds.l %s11, 16, %s1116; CHECK-NEXT:    b.l.t (, %s10)17  %addr = alloca double, align 818  store double %0, ptr %addr, align 819  ret void20}21 22; Function Attrs: norecurse nounwind readonly23define void @storef32stk(float %0) {24; CHECK-LABEL: storef32stk:25; CHECK:       .LBB{{[0-9]+}}_2:26; CHECK-NEXT:    stu %s0, 8(, %s11)27; CHECK-NEXT:    adds.l %s11, 16, %s1128; CHECK-NEXT:    b.l.t (, %s10)29  %addr = alloca float, align 830  store float %0, ptr %addr, align 831  ret void32}33 34; Function Attrs: norecurse nounwind readonly35define void @storei64stk(i64 %0) {36; CHECK-LABEL: storei64stk:37; CHECK:       .LBB{{[0-9]+}}_2:38; CHECK-NEXT:    st %s0, 8(, %s11)39; CHECK-NEXT:    adds.l %s11, 16, %s1140; CHECK-NEXT:    b.l.t (, %s10)41  %addr = alloca i64, align 842  store i64 %0, ptr %addr, align 843  ret void44}45 46; Function Attrs: norecurse nounwind readonly47define void @storei32stk(i32 %0) {48; CHECK-LABEL: storei32stk:49; CHECK:       .LBB{{[0-9]+}}_2:50; CHECK-NEXT:    stl %s0, 8(, %s11)51; CHECK-NEXT:    adds.l %s11, 16, %s1152; CHECK-NEXT:    b.l.t (, %s10)53  %addr = alloca i32, align 854  store i32 %0, ptr %addr, align 855  ret void56}57 58; Function Attrs: norecurse nounwind readonly59define void @storei16stk(i16 %0) {60; CHECK-LABEL: storei16stk:61; CHECK:       .LBB{{[0-9]+}}_2:62; CHECK-NEXT:    st2b %s0, 8(, %s11)63; CHECK-NEXT:    adds.l %s11, 16, %s1164; CHECK-NEXT:    b.l.t (, %s10)65  %addr = alloca i16, align 866  store i16 %0, ptr %addr, align 867  ret void68}69 70; Function Attrs: norecurse nounwind readonly71define void @storei8stk(i8 %0) {72; CHECK-LABEL: storei8stk:73; CHECK:       .LBB{{[0-9]+}}_2:74; CHECK-NEXT:    st1b %s0, 8(, %s11)75; CHECK-NEXT:    adds.l %s11, 16, %s1176; CHECK-NEXT:    b.l.t (, %s10)77  %addr = alloca i8, align 878  store i8 %0, ptr %addr, align 879  ret void80}81 82; Function Attrs: norecurse nounwind readonly83define void @storef64com(double %0) {84; CHECK-LABEL: storef64com:85; CHECK:       # %bb.0:86; CHECK-NEXT:    lea %s1, vf64@lo87; CHECK-NEXT:    and %s1, %s1, (32)088; CHECK-NEXT:    lea.sl %s1, vf64@hi(, %s1)89; CHECK-NEXT:    st %s0, (, %s1)90; CHECK-NEXT:    b.l.t (, %s10)91  store double %0, ptr @vf64, align 892  ret void93}94 95; Function Attrs: norecurse nounwind readonly96define void @storef32com(float %0) {97; CHECK-LABEL: storef32com:98; CHECK:       # %bb.0:99; CHECK-NEXT:    lea %s1, vf32@lo100; CHECK-NEXT:    and %s1, %s1, (32)0101; CHECK-NEXT:    lea.sl %s1, vf32@hi(, %s1)102; CHECK-NEXT:    stu %s0, (, %s1)103; CHECK-NEXT:    b.l.t (, %s10)104  store float %0, ptr @vf32, align 8105  ret void106}107 108; Function Attrs: norecurse nounwind readonly109define void @storei64com(i64 %0) {110; CHECK-LABEL: storei64com:111; CHECK:       # %bb.0:112; CHECK-NEXT:    lea %s1, vi64@lo113; CHECK-NEXT:    and %s1, %s1, (32)0114; CHECK-NEXT:    lea.sl %s1, vi64@hi(, %s1)115; CHECK-NEXT:    st %s0, (, %s1)116; CHECK-NEXT:    b.l.t (, %s10)117  store i64 %0, ptr @vi64, align 8118  ret void119}120 121; Function Attrs: norecurse nounwind readonly122define void @storei32com(i32 %0) {123; CHECK-LABEL: storei32com:124; CHECK:       # %bb.0:125; CHECK-NEXT:    lea %s1, vi32@lo126; CHECK-NEXT:    and %s1, %s1, (32)0127; CHECK-NEXT:    lea.sl %s1, vi32@hi(, %s1)128; CHECK-NEXT:    stl %s0, (, %s1)129; CHECK-NEXT:    b.l.t (, %s10)130  store i32 %0, ptr @vi32, align 8131  ret void132}133 134; Function Attrs: norecurse nounwind readonly135define void @storei16com(i16 %0) {136; CHECK-LABEL: storei16com:137; CHECK:       # %bb.0:138; CHECK-NEXT:    lea %s1, vi16@lo139; CHECK-NEXT:    and %s1, %s1, (32)0140; CHECK-NEXT:    lea.sl %s1, vi16@hi(, %s1)141; CHECK-NEXT:    st2b %s0, (, %s1)142; CHECK-NEXT:    b.l.t (, %s10)143  store i16 %0, ptr @vi16, align 8144  ret void145}146 147; Function Attrs: norecurse nounwind readonly148define void @storei8com(i8 %0) {149; CHECK-LABEL: storei8com:150; CHECK:       # %bb.0:151; CHECK-NEXT:    lea %s1, vi8@lo152; CHECK-NEXT:    and %s1, %s1, (32)0153; CHECK-NEXT:    lea.sl %s1, vi8@hi(, %s1)154; CHECK-NEXT:    st1b %s0, (, %s1)155; CHECK-NEXT:    b.l.t (, %s10)156  store i8 %0, ptr @vi8, align 8157  ret void158}159 160