[llvm] r192961 - [mips][msa] Added a regression test that depended on multiple patches to pass.
David Blaikie
dblaikie at gmail.com
Fri Oct 18 09:01:21 PDT 2013
Generally this sort of thing would be included in the same commit as
whichever patch caused the test to pass (ie: the last patch committed in
the set of dependent patches)
On Fri, Oct 18, 2013 at 2:52 AM, Daniel Sanders
<daniel.sanders at imgtec.com>wrote:
> Author: dsanders
> Date: Fri Oct 18 04:52:21 2013
> New Revision: 192961
>
> URL: http://llvm.org/viewvc/llvm-project?rev=192961&view=rev
> Log:
> [mips][msa] Added a regression test that depended on multiple patches to
> pass.
>
>
> Added:
> llvm/trunk/test/CodeGen/Mips/msa/llvm-stress-s3997499501.ll
>
> Added: llvm/trunk/test/CodeGen/Mips/msa/llvm-stress-s3997499501.ll
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Mips/msa/llvm-stress-s3997499501.ll?rev=192961&view=auto
>
> ==============================================================================
> --- llvm/trunk/test/CodeGen/Mips/msa/llvm-stress-s3997499501.ll (added)
> +++ llvm/trunk/test/CodeGen/Mips/msa/llvm-stress-s3997499501.ll Fri Oct 18
> 04:52:21 2013
> @@ -0,0 +1,150 @@
> +; RUN: llc -march=mips < %s
> +; RUN: llc -march=mips -mattr=+msa,+fp64 < %s
> +
> +; This test originally failed to select instructions for
> extract_vector_elt for
> +; v4f32 on MSA.
> +; It should at least successfully build.
> +
> +define void @autogen_SD3997499501(i8*, i32*, i64*, i32, i64, i8) {
> +BB:
> + %A4 = alloca <1 x double>
> + %A3 = alloca double
> + %A2 = alloca float
> + %A1 = alloca double
> + %A = alloca double
> + %L = load i8* %0
> + store i8 97, i8* %0
> + %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 14
> + %Shuff = shufflevector <2 x i1> zeroinitializer, <2 x i1>
> zeroinitializer, <2 x i32> <i32 1, i32 3>
> + %I = insertelement <4 x i64> zeroinitializer, i64 0, i32 3
> + %Tr = trunc <1 x i64> zeroinitializer to <1 x i8>
> + %Sl = select i1 false, double* %A1, double* %A
> + %Cmp = icmp ne <2 x i64> zeroinitializer, zeroinitializer
> + %L5 = load double* %Sl
> + store float -4.374162e+06, float* %A2
> + %E6 = extractelement <4 x i64> zeroinitializer, i32 3
> + %Shuff7 = shufflevector <4 x i64> zeroinitializer, <4 x i64> %I, <4 x
> i32> <i32 2, i32 4, i32 6, i32 undef>
> + %I8 = insertelement <2 x i1> %Shuff, i1 false, i32 0
> + %B = ashr <4 x i32> <i32 -1, i32 -1, i32 -1, i32 -1>, <i32 -1, i32 -1,
> i32 -1, i32 -1>
> + %PC = bitcast float* %A2 to float*
> + %Sl9 = select i1 false, i32 82299, i32 0
> + %Cmp10 = icmp slt i8 97, %5
> + br label %CF72
> +
> +CF72: ; preds = %CF72, %CF80,
> %CF78, %BB
> + %L11 = load double* %Sl
> + store double 0.000000e+00, double* %Sl
> + %E12 = extractelement <2 x i1> zeroinitializer, i32 0
> + br i1 %E12, label %CF72, label %CF80
> +
> +CF80: ; preds = %CF72
> + %Shuff13 = shufflevector <2 x i1> zeroinitializer, <2 x i1>
> zeroinitializer, <2 x i32> <i32 3, i32 1>
> + %I14 = insertelement <2 x i64> zeroinitializer, i64 %4, i32 1
> + %B15 = fadd double %L5, 0.000000e+00
> + %BC = bitcast i32 0 to float
> + %Sl16 = select i1 %E12, float 0xC7957ED940000000, float %BC
> + %Cmp17 = icmp eq i32 136082, 471909
> + br i1 %Cmp17, label %CF72, label %CF77
> +
> +CF77: ; preds = %CF77, %CF80
> + %L18 = load double* %Sl
> + store double 0.000000e+00, double* %Sl
> + %E19 = extractelement <2 x i1> zeroinitializer, i32 0
> + br i1 %E19, label %CF77, label %CF78
> +
> +CF78: ; preds = %CF77
> + %Shuff20 = shufflevector <2 x i1> zeroinitializer, <2 x i1>
> zeroinitializer, <2 x i32> <i32 1, i32 3>
> + %I21 = insertelement <8 x i1> zeroinitializer, i1 %Cmp10, i32 7
> + %B22 = sdiv <4 x i64> %Shuff7, zeroinitializer
> + %FC = uitofp i8 97 to double
> + %Sl23 = select i1 %Cmp10, <2 x i1> zeroinitializer, <2 x i1>
> zeroinitializer
> + %L24 = load double* %Sl
> + store float %Sl16, float* %PC
> + %E25 = extractelement <2 x i1> %Shuff, i32 1
> + br i1 %E25, label %CF72, label %CF76
> +
> +CF76: ; preds = %CF78
> + %Shuff26 = shufflevector <4 x i64> zeroinitializer, <4 x i64> %B22, <4
> x i32> <i32 undef, i32 undef, i32 0, i32 undef>
> + %I27 = insertelement <4 x i64> zeroinitializer, i64 %E, i32 2
> + %B28 = mul <4 x i64> %I27, zeroinitializer
> + %ZE = zext <8 x i1> zeroinitializer to <8 x i64>
> + %Sl29 = select i1 %Cmp17, float -4.374162e+06, float -4.374162e+06
> + %L30 = load i8* %0
> + store double %L5, double* %Sl
> + %E31 = extractelement <8 x i1> zeroinitializer, i32 5
> + br label %CF
> +
> +CF: ; preds = %CF, %CF81,
> %CF76
> + %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>
> + %I33 = insertelement <8 x i1> zeroinitializer, i1 false, i32 2
> + %BC34 = bitcast <4 x i32> <i32 -1, i32 -1, i32 -1, i32 -1> to <4 x
> float>
> + %Sl35 = select i1 %E12, <2 x i1> %I8, <2 x i1> zeroinitializer
> + %Cmp36 = fcmp oge double 0xC2C3BAE2D5C18360, 0xC2C3BAE2D5C18360
> + br i1 %Cmp36, label %CF, label %CF74
> +
> +CF74: ; preds = %CF74, %CF
> + %L37 = load float* %PC
> + store double 0.000000e+00, double* %Sl
> + %E38 = extractelement <2 x i1> %Sl23, i32 1
> + br i1 %E38, label %CF74, label %CF75
> +
> +CF75: ; preds = %CF75, %CF82,
> %CF74
> + %Shuff39 = shufflevector <2 x i1> %Shuff13, <2 x i1> zeroinitializer,
> <2 x i32> <i32 undef, i32 2>
> + %I40 = insertelement <4 x i64> zeroinitializer, i64 %4, i32 2
> + %Sl41 = select i1 %Cmp10, i32 0, i32 %3
> + %Cmp42 = icmp ne <1 x i64> zeroinitializer, zeroinitializer
> + %L43 = load double* %Sl
> + store i64 %4, i64* %2
> + %E44 = extractelement <2 x i1> %Shuff20, i32 1
> + br i1 %E44, label %CF75, label %CF82
> +
> +CF82: ; preds = %CF75
> + %Shuff45 = shufflevector <2 x i1> %Sl23, <2 x i1> %Sl23, <2 x i32> <i32
> 2, i32 0>
> + %I46 = insertelement <4 x i64> zeroinitializer, i64 0, i32 0
> + %B47 = sub i64 %E, %E6
> + %Sl48 = select i1 %Cmp10, double %L5, double %L43
> + %Cmp49 = icmp uge i64 %4, %B47
> + br i1 %Cmp49, label %CF75, label %CF81
> +
> +CF81: ; preds = %CF82
> + %L50 = load i8* %0
> + store double %L43, double* %Sl
> + %E51 = extractelement <4 x i64> %Shuff7, i32 3
> + %Shuff52 = shufflevector <4 x float> %BC34, <4 x float> %BC34, <4 x
> i32> <i32 2, i32 4, i32 6, i32 0>
> + %I53 = insertelement <2 x i1> %Cmp, i1 %E25, i32 0
> + %B54 = fdiv double %L24, %L43
> + %BC55 = bitcast <4 x i64> zeroinitializer to <4 x double>
> + %Sl56 = select i1 false, i8 %5, i8 97
> + %L57 = load i8* %0
> + store i8 %L50, i8* %0
> + %E58 = extractelement <2 x i1> %Shuff20, i32 1
> + br i1 %E58, label %CF, label %CF73
> +
> +CF73: ; preds = %CF73, %CF81
> + %Shuff59 = shufflevector <2 x i1> %Shuff13, <2 x i1> %Shuff45, <2 x
> i32> <i32 undef, i32 0>
> + %I60 = insertelement <4 x float> %Shuff52, float -4.374162e+06, i32 0
> + %B61 = mul <4 x i64> %I46, zeroinitializer
> + %PC62 = bitcast double* %A3 to float*
> + %Sl63 = select i1 %Cmp10, <1 x i64> zeroinitializer, <1 x i64>
> zeroinitializer
> + %Cmp64 = icmp ne <2 x i1> %Cmp, %Shuff
> + %L65 = load double* %A1
> + store float -4.374162e+06, float* %PC62
> + %E66 = extractelement <8 x i1> %I21, i32 3
> + br i1 %E66, label %CF73, label %CF79
> +
> +CF79: ; preds = %CF79, %CF73
> + %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>
> + %I68 = insertelement <1 x i1> %Cmp42, i1 %E25, i32 0
> + %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>
> + %Sl70 = select i1 %Cmp49, <2 x i1> %Sl23, <2 x i1> %Shuff45
> + %Cmp71 = icmp ne i1 false, false
> + br i1 %Cmp71, label %CF79, label %CF83
> +
> +CF83: ; preds = %CF79
> + store double 0.000000e+00, double* %Sl
> + store float %BC, float* %PC62
> + store double %Sl48, double* %Sl
> + store double %FC, double* %Sl
> + store float %BC, float* %PC62
> + ret void
> +}
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131018/cf1792c0/attachment.html>
More information about the llvm-commits
mailing list