1 ; RUN: llc < %s 2 ; PR3288 3 4 define void @a() { 5 %i = insertvalue [2 x [2 x i32]] undef, [2 x i32] undef, 1 6 ret void 7 } 8 define void @b() { 9 %i = insertvalue {{i32,float},{i16,double}} undef, {i16,double} undef, 1 10 ret void 11 } 12 define void @c() { 13 %i = insertvalue [2 x [2 x i32]] zeroinitializer, [2 x i32] zeroinitializer, 1 14 ret void 15 } 16 define void @d() { 17 %i = insertvalue {{i32,float},{i16,double}} zeroinitializer, {i16,double} zeroinitializer, 1 18 ret void 19 } 20 define void @e() { 21 %i = insertvalue [2 x [2 x i32]] undef, [2 x i32] undef, 0 22 ret void 23 } 24 define void @f() { 25 %i = insertvalue {{i32,float},{i16,double}} undef, {i32,float} undef, 0 26 ret void 27 } 28 define void @g() { 29 %i = insertvalue [2 x [2 x i32]] zeroinitializer, [2 x i32] zeroinitializer, 0 30 ret void 31 } 32 define void @h() { 33 %i = insertvalue {{i32,float},{i16,double}} zeroinitializer, {i32,float} zeroinitializer, 0 34 ret void 35 } 36 define void @ax() { 37 %i = insertvalue [2 x [2 x i32]] undef, i32 undef, 1, 1 38 ret void 39 } 40 define void @bx() { 41 %i = insertvalue {{i32,float},{i16,double}} undef, double undef, 1, 1 42 ret void 43 } 44 define void @cx() { 45 %i = insertvalue [2 x [2 x i32]] zeroinitializer, i32 zeroinitializer, 1, 1 46 ret void 47 } 48 define void @dx() { 49 %i = insertvalue {{i32,float},{i16,double}} zeroinitializer, double zeroinitializer, 1, 1 50 ret void 51 } 52 define void @ex() { 53 %i = insertvalue [2 x [2 x i32]] undef, i32 undef, 0, 1 54 ret void 55 } 56 define void @fx() { 57 %i = insertvalue {{i32,float},{i16,double}} undef, float undef, 0, 1 58 ret void 59 } 60 define void @gx() { 61 %i = insertvalue [2 x [2 x i32]] zeroinitializer, i32 zeroinitializer, 0, 1 62 ret void 63 } 64 define void @hx() { 65 %i = insertvalue {{i32,float},{i16,double}} zeroinitializer, float zeroinitializer, 0, 1 66 ret void 67 } 68