brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.3 KiB · cea8ac8 Raw
151 lines · plain
1; RUN: llc -mtriple=mips < %s2; RUN: llc -mtriple=mips -mattr=+msa,+fp64,+mips32r2 < %s3; RUN: llc -mtriple=mipsel < %s4; RUN: llc -mtriple=mipsel -mattr=+msa,+fp64,+mips32r2 < %s5 6; This test originally failed to select instructions for extract_vector_elt for7; v4f32 on MSA.8; It should at least successfully build.9 10define void @autogen_SD3997499501(ptr, ptr, ptr, i32, i64, i8) {11BB:12  %A4 = alloca <1 x double>13  %A3 = alloca double14  %A2 = alloca float15  %A1 = alloca double16  %A = alloca double17  %L = load i8, ptr %018  store i8 97, ptr %019  %E = extractelement <16 x i64> <i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1>, i32 1420  %Shuff = shufflevector <2 x i1> zeroinitializer, <2 x i1> zeroinitializer, <2 x i32> <i32 1, i32 3>21  %I = insertelement <4 x i64> zeroinitializer, i64 0, i32 322  %Tr = trunc <1 x i64> zeroinitializer to <1 x i8>23  %Sl = select i1 false, ptr %A1, ptr %A24  %Cmp = icmp ne <2 x i64> zeroinitializer, zeroinitializer25  %L5 = load double, ptr %Sl26  store float -4.374162e+06, ptr %A227  %E6 = extractelement <4 x i64> zeroinitializer, i32 328  %Shuff7 = shufflevector <4 x i64> zeroinitializer, <4 x i64> %I, <4 x i32> <i32 2, i32 4, i32 6, i32 undef>29  %I8 = insertelement <2 x i1> %Shuff, i1 false, i32 030  %B = ashr <4 x i32> <i32 -1, i32 -1, i32 -1, i32 -1>, <i32 -1, i32 -1, i32 -1, i32 -1>31  %Sl9 = select i1 false, i32 82299, i32 032  %Cmp10 = icmp slt i8 97, %533  br label %CF7234 35CF72:                                             ; preds = %CF72, %CF80, %CF78, %BB36  %L11 = load double, ptr %Sl37  store double 0.000000e+00, ptr %Sl38  %E12 = extractelement <2 x i1> zeroinitializer, i32 039  br i1 %E12, label %CF72, label %CF8040 41CF80:                                             ; preds = %CF7242  %Shuff13 = shufflevector <2 x i1> zeroinitializer, <2 x i1> zeroinitializer, <2 x i32> <i32 3, i32 1>43  %I14 = insertelement <2 x i64> zeroinitializer, i64 %4, i32 144  %B15 = fadd double %L5, 0.000000e+0045  %BC = bitcast i32 0 to float46  %Sl16 = select i1 %E12, float 0xC7957ED940000000, float %BC47  %Cmp17 = icmp eq i32 136082, 47190948  br i1 %Cmp17, label %CF72, label %CF7749 50CF77:                                             ; preds = %CF77, %CF8051  %L18 = load double, ptr %Sl52  store double 0.000000e+00, ptr %Sl53  %E19 = extractelement <2 x i1> zeroinitializer, i32 054  br i1 %E19, label %CF77, label %CF7855 56CF78:                                             ; preds = %CF7757  %Shuff20 = shufflevector <2 x i1> zeroinitializer, <2 x i1> zeroinitializer, <2 x i32> <i32 1, i32 3>58  %I21 = insertelement <8 x i1> zeroinitializer, i1 %Cmp10, i32 759  %B22 = sdiv <4 x i64> %Shuff7, zeroinitializer60  %FC = uitofp i8 97 to double61  %Sl23 = select i1 %Cmp10, <2 x i1> zeroinitializer, <2 x i1> zeroinitializer62  %L24 = load double, ptr %Sl63  store float %Sl16, ptr %A264  %E25 = extractelement <2 x i1> %Shuff, i32 165  br i1 %E25, label %CF72, label %CF7666 67CF76:                                             ; preds = %CF7868  %Shuff26 = shufflevector <4 x i64> zeroinitializer, <4 x i64> %B22, <4 x i32> <i32 undef, i32 undef, i32 0, i32 undef>69  %I27 = insertelement <4 x i64> zeroinitializer, i64 %E, i32 270  %B28 = mul <4 x i64> %I27, zeroinitializer71  %ZE = zext <8 x i1> zeroinitializer to <8 x i64>72  %Sl29 = select i1 %Cmp17, float -4.374162e+06, float -4.374162e+0673  %L30 = load i8, ptr %074  store double %L5, ptr %Sl75  %E31 = extractelement <8 x i1> zeroinitializer, i32 576  br label %CF77 78CF:                                               ; preds = %CF, %CF81, %CF7679  %Shuff32 = shufflevector <16 x i64> <i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1>, <16 x i64> <i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1>, <16 x i32> <i32 8, i32 undef, i32 12, i32 14, i32 16, i32 18, i32 20, i32 22, i32 undef, i32 26, i32 28, i32 30, i32 undef, i32 2, i32 4, i32 6>80  %I33 = insertelement <8 x i1> zeroinitializer, i1 false, i32 281  %BC34 = bitcast <4 x i32> <i32 -1, i32 -1, i32 -1, i32 -1> to <4 x float>82  %Sl35 = select i1 %E12, <2 x i1> %I8, <2 x i1> zeroinitializer83  %Cmp36 = fcmp oge double 0xC2C3BAE2D5C18360, 0xC2C3BAE2D5C1836084  br i1 %Cmp36, label %CF, label %CF7485 86CF74:                                             ; preds = %CF74, %CF87  %L37 = load float, ptr %A288  store double 0.000000e+00, ptr %Sl89  %E38 = extractelement <2 x i1> %Sl23, i32 190  br i1 %E38, label %CF74, label %CF7591 92CF75:                                             ; preds = %CF75, %CF82, %CF7493  %Shuff39 = shufflevector <2 x i1> %Shuff13, <2 x i1> zeroinitializer, <2 x i32> <i32 undef, i32 2>94  %I40 = insertelement <4 x i64> zeroinitializer, i64 %4, i32 295  %Sl41 = select i1 %Cmp10, i32 0, i32 %396  %Cmp42 = icmp ne <1 x i64> zeroinitializer, zeroinitializer97  %L43 = load double, ptr %Sl98  store i64 %4, ptr %299  %E44 = extractelement <2 x i1> %Shuff20, i32 1100  br i1 %E44, label %CF75, label %CF82101 102CF82:                                             ; preds = %CF75103  %Shuff45 = shufflevector <2 x i1> %Sl23, <2 x i1> %Sl23, <2 x i32> <i32 2, i32 0>104  %I46 = insertelement <4 x i64> zeroinitializer, i64 0, i32 0105  %B47 = sub i64 %E, %E6106  %Sl48 = select i1 %Cmp10, double %L5, double %L43107  %Cmp49 = icmp uge i64 %4, %B47108  br i1 %Cmp49, label %CF75, label %CF81109 110CF81:                                             ; preds = %CF82111  %L50 = load i8, ptr %0112  store double %L43, ptr %Sl113  %E51 = extractelement <4 x i64> %Shuff7, i32 3114  %Shuff52 = shufflevector <4 x float> %BC34, <4 x float> %BC34, <4 x i32> <i32 2, i32 4, i32 6, i32 0>115  %I53 = insertelement <2 x i1> %Cmp, i1 %E25, i32 0116  %B54 = fdiv double %L24, %L43117  %BC55 = bitcast <4 x i64> zeroinitializer to <4 x double>118  %Sl56 = select i1 false, i8 %5, i8 97119  %L57 = load i8, ptr %0120  store i8 %L50, ptr %0121  %E58 = extractelement <2 x i1> %Shuff20, i32 1122  br i1 %E58, label %CF, label %CF73123 124CF73:                                             ; preds = %CF73, %CF81125  %Shuff59 = shufflevector <2 x i1> %Shuff13, <2 x i1> %Shuff45, <2 x i32> <i32 undef, i32 0>126  %I60 = insertelement <4 x float> %Shuff52, float -4.374162e+06, i32 0127  %B61 = mul <4 x i64> %I46, zeroinitializer128  %Sl63 = select i1 %Cmp10, <1 x i64> zeroinitializer, <1 x i64> zeroinitializer129  %Cmp64 = icmp ne <2 x i1> %Cmp, %Shuff130  %L65 = load double, ptr %A1131  store float -4.374162e+06, ptr %A3132  %E66 = extractelement <8 x i1> %I21, i32 3133  br i1 %E66, label %CF73, label %CF79134 135CF79:                                             ; preds = %CF79, %CF73136  %Shuff67 = shufflevector <8 x i1> %I21, <8 x i1> %I21, <8 x i32> <i32 6, i32 8, i32 10, i32 12, i32 14, i32 0, i32 undef, i32 4>137  %I68 = insertelement <1 x i1> %Cmp42, i1 %E25, i32 0138  %B69 = sdiv <16 x i64> <i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1>, <i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1>139  %Sl70 = select i1 %Cmp49, <2 x i1> %Sl23, <2 x i1> %Shuff45140  %Cmp71 = icmp ne i1 false, false141  br i1 %Cmp71, label %CF79, label %CF83142 143CF83:                                             ; preds = %CF79144  store double 0.000000e+00, ptr %Sl145  store float %BC, ptr %A3146  store double %Sl48, ptr %Sl147  store double %FC, ptr %Sl148  store float %BC, ptr %A3149  ret void150}151