32c893a9f5f19f8ce5b743b929d155f48140c028
[oota-llvm.git] / test / Assembler / 2008-02-20-MultipleReturnValue.ll
1 ; RUN: opt < %s -verify -S | llvm-as -disable-output
2
3 define {i32, i8} @foo(i32 %p) {
4   ret i32 1, i8 2
5 }
6
7 define i8 @f2(i32 %p) {
8    %c = call {i32, i8} @foo(i32 %p)
9    %d = getresult {i32, i8} %c, 1
10    %e = add i8 %d, 1
11    ret i8 %e
12 }
13
14 define i32 @f3(i32 %p) {
15    %c = invoke {i32, i8} @foo(i32 %p)
16          to label %L unwind label %L2
17    L: 
18    %d = getresult {i32, i8} %c, 0
19    ret i32 %d
20    L2:
21    ret i32 0
22 }