brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.2 KiB · 77fa9f4 Raw
139 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 for MSA with a7; `Opc && "Cannot copy registers"' assertion.8; It should at least successfully build.9 10define void @autogen_SD1935737938(ptr, ptr, ptr, i32, i64, i8) {11BB:12  %A4 = alloca i6413  %A3 = alloca <4 x i32>14  %A2 = alloca i6415  %A1 = alloca i3216  %A = alloca <2 x i64>17  %L = load i8, ptr %018  store i8 -1, ptr %019  %E = extractelement <2 x i32> zeroinitializer, i32 020  %Shuff = shufflevector <2 x i32> zeroinitializer, <2 x i32> zeroinitializer, <2 x i32> <i32 1, i32 3>21  %I = insertelement <1 x i64> <i64 -1>, i64 286689, i32 022  %B = lshr i8 %L, -6923  %ZE = fpext float 0xBF2AA5FE80000000 to double24  %Sl = select i1 true, <1 x i64> <i64 -1>, <1 x i64> <i64 -1>25  %L5 = load i8, ptr %026  store i8 -69, ptr %027  %E6 = 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 1428  %Shuff7 = shufflevector <2 x i32> zeroinitializer, <2 x i32> zeroinitializer, <2 x i32> <i32 1, i32 3>29  %I8 = insertelement <2 x i32> zeroinitializer, i32 135673, i32 130  %B9 = udiv i8 %B, %B31  %FC = uitofp i32 %3 to double32  %Sl10 = select i1 true, <1 x i1> zeroinitializer, <1 x i1> zeroinitializer33  %Cmp = icmp ne <1 x i64> %I, <i64 -1>34  %L11 = load i8, ptr %035  store i8 %L11, ptr %036  %E12 = extractelement <1 x i64> <i64 -1>, i32 037  %Shuff13 = shufflevector <1 x i64> %Sl, <1 x i64> <i64 -1>, <1 x i32> <i32 1>38  %I14 = insertelement <1 x i64> %I, i64 303290, i32 039  %B15 = frem float 0.000000e+00, 0.000000e+0040  %Sl16 = select i1 true, <1 x i1> %Cmp, <1 x i1> zeroinitializer41  %Cmp17 = fcmp one float 0xBD946F9840000000, %B1542  br label %CF7443 44CF74:                                             ; preds = %CF74, %CF80, %CF76, %BB45  %L18 = load i8, ptr %046  store i8 -69, ptr %047  %E19 = extractelement <1 x i64> %Sl, i32 048  %Shuff20 = shufflevector <8 x i8> <i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1>, <8 x i8> <i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1>, <8 x i32> <i32 12, i32 14, i32 0, i32 2, i32 4, i32 6, i32 8, i32 10>49  %I21 = insertelement <2 x i32> %Shuff, i32 135673, i32 050  %B22 = urem i32 135673, %351  %FC23 = sitofp i8 %L to float52  %Sl24 = select i1 true, i8 %B, i8 %L1853  %L25 = load i8, ptr %054  store i8 %L, ptr %055  %E26 = extractelement <2 x i32> %Shuff, i32 156  %Shuff27 = shufflevector <2 x i32> zeroinitializer, <2 x i32> zeroinitializer, <2 x i32> <i32 2, i32 0>57  %I28 = insertelement <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 %E12, i32 858  %B29 = frem double %ZE, 0x235104F0E94F406E59  %Tr = trunc i64 286689 to i860  %Sl30 = select i1 true, float 0x45B13EA500000000, float %B1561  %Cmp31 = icmp eq i32 %B22, %B2262  br i1 %Cmp31, label %CF74, label %CF8063 64CF80:                                             ; preds = %CF7465  %L32 = load i8, ptr %066  store i8 -1, ptr %067  %E33 = extractelement <2 x i32> zeroinitializer, i32 168  %Shuff34 = shufflevector <1 x i64> %Shuff13, <1 x i64> <i64 -1>, <1 x i32> zeroinitializer69  %I35 = insertelement <8 x i8> <i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1>, i8 -1, i32 070  %FC36 = sitofp <1 x i1> %Cmp to <1 x float>71  %Sl37 = select i1 true, <8 x i8> %Shuff20, <8 x i8> <i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1>72  %Cmp38 = icmp sgt <2 x i32> %I21, %Shuff2773  %L39 = load i8, ptr %074  store i8 %Sl24, ptr %075  %E40 = extractelement <8 x i64> zeroinitializer, i32 176  %Shuff41 = shufflevector <2 x i1> zeroinitializer, <2 x i1> %Cmp38, <2 x i32> <i32 0, i32 2>77  %I42 = insertelement <4 x i32> zeroinitializer, i32 414573, i32 278  %B43 = srem i8 %L5, %L3979  %Sl44 = select i1 %Cmp17, i8 %L, i8 %L80  %Cmp45 = fcmp une float 0x3AFCE1A0C0000000, 0.000000e+0081  br i1 %Cmp45, label %CF74, label %CF7682 83CF76:                                             ; preds = %CF8084  %L46 = load i8, ptr %085  store i8 %L39, ptr %086  %E47 = extractelement <2 x i32> %Shuff27, i32 087  %Shuff48 = shufflevector <1 x i1> %Sl10, <1 x i1> %Sl10, <1 x i32> <i32 1>88  %I49 = insertelement <1 x i64> <i64 -1>, i64 %E12, i32 089  %FC50 = fptosi double 0x235104F0E94F406E to i3290  %Sl51 = select i1 %Cmp17, <16 x i64> %I28, <16 x i64> %I2891  %Cmp52 = icmp ne i8 %Tr, %Sl2492  br i1 %Cmp52, label %CF74, label %CF7593 94CF75:                                             ; preds = %CF75, %CF7695  %L53 = load i8, ptr %096  store i8 %L18, ptr %097  %E54 = extractelement <8 x i8> %Shuff20, i32 598  %Shuff55 = shufflevector <2 x i32> %Shuff, <2 x i32> zeroinitializer, <2 x i32> <i32 0, i32 2>99  %I56 = insertelement <4 x i32> %I42, i32 %B22, i32 2100  %B57 = sub i64 %E40, %E6101  %Sl58 = select i1 true, i64 303290, i64 %E40102  %Cmp59 = icmp slt i64 %E40, %E6103  br i1 %Cmp59, label %CF75, label %CF78104 105CF78:                                             ; preds = %CF75106  %L60 = load i8, ptr %0107  store i8 -69, ptr %0108  %E61 = extractelement <2 x i32> zeroinitializer, i32 0109  %Shuff62 = shufflevector <2 x i32> %Shuff7, <2 x i32> %I21, <2 x i32> <i32 1, i32 3>110  %I63 = insertelement <1 x i1> %Sl16, i1 %Cmp45, i32 0111  %B64 = and i8 %Sl44, -69112  %ZE65 = zext <1 x i1> %Shuff48 to <1 x i64>113  %Sl66 = select i1 true, <1 x i64> %I, <1 x i64> %I49114  %Cmp67 = icmp ugt i64 286689, %E40115  br label %CF116 117CF:                                               ; preds = %CF, %CF78118  %L68 = load i8, ptr %0119  store i64 %B57, ptr %2120  %E69 = extractelement <2 x i1> %Shuff41, i32 1121  br i1 %E69, label %CF, label %CF77122 123CF77:                                             ; preds = %CF77, %CF124  %Shuff70 = shufflevector <1 x i64> %Shuff34, <1 x i64> <i64 -1>, <1 x i32> zeroinitializer125  %I71 = insertelement <2 x i32> %Shuff, i32 %E26, i32 0126  %Se = sext i8 %L60 to i32127  %Sl72 = select i1 %Cmp45, <2 x i32> %Shuff62, <2 x i32> %I71128  %Cmp73 = fcmp ugt double 0x235104F0E94F406E, 0x235104F0E94F406E129  br i1 %Cmp73, label %CF77, label %CF79130 131CF79:                                             ; preds = %CF77132  store i8 %L18, ptr %0133  store i8 %E54, ptr %0134  store i8 %L39, ptr %0135  store i8 %L39, ptr %0136  store i8 %B, ptr %0137  ret void138}139