; RUN: llc -march=mips < %s
; RUN: llc -march=mips -mattr=+msa,+fp64 < %s
; RUN: llc -march=mipsel < %s
; RUN: llc -march=mipsel -mattr=+msa,+fp64 < %s

; This test originally failed for MSA after dereferencing a null this pointer.
; It should at least successfully build.

define void @autogen_SD2704903805(i8*, i32*, i64*, i32, i64, i8) {
BB:
  %A4 = alloca i32
  %A3 = alloca i32
  %A2 = alloca i8
  %A1 = alloca i32
  %A = alloca i8
  %L = load i8, i8* %0
  store i8 %5, i8* %0
  %E = extractelement <2 x i16> zeroinitializer, i32 0
  %Shuff = shufflevector <1 x i8> <i8 -1>, <1 x i8> <i8 -1>, <1 x i32> undef
  %I = insertelement <1 x i8> <i8 -1>, i8 85, i32 0
  %B = lshr <2 x i16> zeroinitializer, zeroinitializer
  %FC = sitofp <4 x i16> zeroinitializer to <4 x float>
  %Sl = select i1 true, float 0.000000e+00, float 0x401E76A240000000
  %Cmp = icmp ule i16 -25210, %E
  br label %CF83

CF83:                                             ; preds = %BB
  %L5 = load i8, i8* %0
  store i8 85, i8* %0
  %E6 = extractelement <1 x i8> <i8 -1>, i32 0
  %Shuff7 = shufflevector <2 x i16> zeroinitializer, <2 x i16> zeroinitializer, <2 x i32> <i32 1, i32 3>
  %I8 = insertelement <4 x i16> zeroinitializer, i16 %E, i32 3
  %B9 = ashr <2 x i16> %Shuff7, zeroinitializer
  %FC10 = sitofp i32 -1 to float
  %Sl11 = select i1 %Cmp, i32 -1, i32 -1
  %Cmp12 = icmp sgt i32 -1, -1
  br label %CF

CF:                                               ; preds = %CF, %CF81, %CF83
  %L13 = load i8, i8* %0
  store i8 0, i8* %0
  %E14 = extractelement <2 x i64> zeroinitializer, i32 0
  %Shuff15 = shufflevector <4 x i64> <i64 -1, i64 -1, i64 -1, i64 -1>, <4 x i64> <i64 -1, i64 -1, i64 -1, i64 -1>, <4 x i32> <i32 3, i32 5, i32 7, i32 undef>
  %I16 = insertelement <4 x i64> <i64 -1, i64 -1, i64 -1, i64 -1>, i64 81222, i32 1
  %B17 = lshr <2 x i16> zeroinitializer, %B
  %Tr = trunc i32 272597 to i1
  br i1 %Tr, label %CF, label %CF80

CF80:                                             ; preds = %CF80, %CF
  %Sl18 = select i1 %Cmp, <2 x i64> zeroinitializer, <2 x i64> zeroinitializer
  %Cmp19 = icmp ne i1 %Cmp12, %Cmp
  br i1 %Cmp19, label %CF80, label %CF81

CF81:                                             ; preds = %CF80
  %L20 = load i8, i8* %0
  store i8 85, i8* %0
  %E21 = extractelement <1 x i8> <i8 -1>, i32 0
  %Shuff22 = shufflevector <1 x i8> <i8 -1>, <1 x i8> %Shuff, <1 x i32> zeroinitializer
  %I23 = insertelement <1 x i8> <i8 -1>, i8 %L5, i32 0
  %FC24 = fptoui <4 x float> %FC to <4 x i16>
  %Sl25 = select i1 %Cmp, <2 x i32> zeroinitializer, <2 x i32> <i32 -1, i32 -1>
  %Cmp26 = icmp ult <4 x i64> %I16, %Shuff15
  %L27 = load i8, i8* %0
  store i8 %L, i8* %0
  %E28 = extractelement <1 x i8> <i8 -1>, i32 0
  %Shuff29 = shufflevector <8 x i16> zeroinitializer, <8 x i16> zeroinitializer, <8 x i32> <i32 11, i32 undef, i32 15, i32 1, i32 3, i32 5, i32 undef, i32 9>
  %I30 = insertelement <4 x i64> <i64 -1, i64 -1, i64 -1, i64 -1>, i64 %E14, i32 1
  %B31 = mul i8 %E28, 85
  %PC = bitcast i32* %A3 to i32*
  %Sl32 = select i1 %Cmp12, float %FC10, float 0x4712BFE680000000
  %L33 = load i32, i32* %PC
  store i32 %L33, i32* %PC
  %E34 = extractelement <2 x i16> zeroinitializer, i32 1
  %Shuff35 = shufflevector <1 x i8> %Shuff, <1 x i8> <i8 -1>, <1 x i32> zeroinitializer
  %I36 = insertelement <1 x i8> <i8 -1>, i8 %L13, i32 0
  %B37 = xor i8 %L27, %L
  %Sl38 = select i1 %Cmp, i16 %E34, i16 %E
  %Cmp39 = icmp eq i1 %Cmp19, %Cmp
  br i1 %Cmp39, label %CF, label %CF77

CF77:                                             ; preds = %CF77, %CF81
  %L40 = load i32, i32* %PC
  store i32 %3, i32* %PC
  %E41 = extractelement <2 x i32> zeroinitializer, i32 0
  %Shuff42 = shufflevector <2 x i32> <i32 -1, i32 -1>, <2 x i32> zeroinitializer, <2 x i32> <i32 1, i32 3>
  %I43 = insertelement <1 x i8> <i8 -1>, i8 0, i32 0
  %B44 = or i16 %E, -25210
  %Se = sext i32 %3 to i64
  %Sl45 = select i1 true, <1 x i8> %Shuff, <1 x i8> %I43
  %Cmp46 = icmp sge <1 x i8> %I36, %Shuff
  %L47 = load i32, i32* %PC
  store i32 %L33, i32* %PC
  %E48 = extractelement <2 x i16> zeroinitializer, i32 0
  %Shuff49 = shufflevector <1 x i8> <i8 -1>, <1 x i8> <i8 -1>, <1 x i32> <i32 1>
  %I50 = insertelement <2 x i32> %Sl25, i32 47963, i32 1
  %B51 = srem <1 x i8> %I, %Shuff22
  %FC52 = sitofp i8 %5 to double
  %Sl53 = select i1 %Cmp39, i8 %L27, i8 85
  %Cmp54 = icmp slt i16 %E34, %E34
  br i1 %Cmp54, label %CF77, label %CF78

CF78:                                             ; preds = %CF78, %CF77
  %L55 = load i32, i32* %PC
  store i32 %L33, i32* %PC
  %E56 = extractelement <8 x i16> %Shuff29, i32 4
  %Shuff57 = shufflevector <1 x i8> <i8 -1>, <1 x i8> <i8 -1>, <1 x i32> <i32 1>
  %I58 = insertelement <1 x i8> %B51, i8 %Sl53, i32 0
  %ZE = fpext float %FC10 to double
  %Sl59 = select i1 %Cmp12, <2 x i16> %B9, <2 x i16> zeroinitializer
  %Cmp60 = fcmp ult double 0.000000e+00, 0.000000e+00
  br i1 %Cmp60, label %CF78, label %CF79

CF79:                                             ; preds = %CF79, %CF78
  %L61 = load i32, i32* %PC
  store i32 %L33, i32* %A3
  %E62 = extractelement <4 x i64> %Shuff15, i32 1
  %Shuff63 = shufflevector <8 x i16> %Shuff29, <8 x i16> %Shuff29, <8 x i32> <i32 undef, i32 10, i32 12, i32 undef, i32 undef, i32 undef, i32 4, i32 6>
  %I64 = insertelement <2 x i64> zeroinitializer, i64 %Se, i32 0
  %B65 = shl i8 %5, 85
  %ZE66 = zext <4 x i1> %Cmp26 to <4 x i32>
  %Sl67 = select i1 %Tr, <1 x i8> %Shuff, <1 x i8> %I23
  %Cmp68 = fcmp olt float 0x4712BFE680000000, 0x4712BFE680000000
  br i1 %Cmp68, label %CF79, label %CF82

CF82:                                             ; preds = %CF79
  %L69 = load i32, i32* %PC
  store i32 %L33, i32* %PC
  %E70 = extractelement <8 x i16> zeroinitializer, i32 3
  %Shuff71 = shufflevector <4 x i64> %Shuff15, <4 x i64> <i64 -1, i64 -1, i64 -1, i64 -1>, <4 x i32> <i32 6, i32 undef, i32 2, i32 4>
  %I72 = insertelement <1 x i8> <i8 -1>, i8 %L, i32 0
  %B73 = srem i64 %E62, %Se
  %ZE74 = zext <4 x i1> %Cmp26 to <4 x i32>
  %Sl75 = select i1 %Cmp, i32 463279, i32 %L61
  %Cmp76 = icmp sgt <1 x i8> %Shuff49, %Shuff22
  store i8 %B31, i8* %0
  store i8 85, i8* %0
  store i32 %L33, i32* %PC
  store i8 %B65, i8* %0
  store i8 %L5, i8* %0
  ret void
}
