1; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s 2 3; CHECK: @foo 4; CHECK: store { i32, i32 } { i32 7, i32 9 }, { i32, i32 }* %x 5; CHECK: ret 6define void @foo({i32, i32}* %x) nounwind { 7 store {i32, i32}{i32 7, i32 9}, {i32, i32}* %x 8 ret void 9} 10 11; CHECK: @foo_empty 12; CHECK: store {} zeroinitializer, {}* %x 13; CHECK: ret 14define void @foo_empty({}* %x) nounwind { 15 store {}{}, {}* %x 16 ret void 17} 18 19; CHECK: @bar 20; CHECK: store [2 x i32] [i32 7, i32 9], [2 x i32]* %x 21; CHECK: ret 22define void @bar([2 x i32]* %x) nounwind { 23 store [2 x i32][i32 7, i32 9], [2 x i32]* %x 24 ret void 25} 26 27; CHECK: @bar_empty 28; CHECK: store [0 x i32] undef, [0 x i32]* %x 29; CHECK: ret 30define void @bar_empty([0 x i32]* %x) nounwind { 31 store [0 x i32][], [0 x i32]* %x 32 ret void 33} 34 35; CHECK: @qux 36; CHECK: store <{ i32, i32 }> <{ i32 7, i32 9 }>, <{ i32, i32 }>* %x 37; CHECK: ret 38define void @qux(<{i32, i32}>* %x) nounwind { 39 store <{i32, i32}><{i32 7, i32 9}>, <{i32, i32}>* %x 40 ret void 41} 42 43; CHECK: @qux_empty 44; CHECK: store <{}> zeroinitializer, <{}>* %x 45; CHECK: ret 46define void @qux_empty(<{}>* %x) nounwind { 47 store <{}><{}>, <{}>* %x 48 ret void 49} 50 51