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