mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-27 15:29:51 +00:00
the automated CallingConv code to handle return values typically don't support multiple return values. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48265 91177308-0d34-0410-b5e6-96231b3b80d8
17 lines
397 B
LLVM
17 lines
397 B
LLVM
; RUN: llvm-as < %s | llc -march=x86
|
|
|
|
define {i64, float} @bar(i64 %a, float %b) {
|
|
%y = add i64 %a, 7
|
|
%z = add float %b, 7.0
|
|
ret i64 %y, float %z
|
|
}
|
|
|
|
define i64 @foo() {
|
|
%M = call {i64, float} @bar(i64 21, float 21.0)
|
|
%N = getresult {i64, float} %M, 0
|
|
%O = getresult {i64, float} %M, 1
|
|
%P = fptosi float %O to i64
|
|
%Q = add i64 %P, %N
|
|
ret i64 %Q
|
|
}
|