diff options
Diffstat (limited to 'test/CodeGen/X86')
-rw-r--r-- | test/CodeGen/X86/fast-isel-x86-64.ll | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/CodeGen/X86/fast-isel-x86-64.ll b/test/CodeGen/X86/fast-isel-x86-64.ll index 1770e73223..4665989298 100644 --- a/test/CodeGen/X86/fast-isel-x86-64.ll +++ b/test/CodeGen/X86/fast-isel-x86-64.ll @@ -181,3 +181,22 @@ define void @test15(i8* %a, i8* %b) nounwind { ; CHECK-NEXT: movl %eax, (%rdi) ; CHECK-NEXT: ret } + +; Handling for varargs calls +declare void @test16callee(...) nounwind +define void @test16() nounwind { +; CHECK: test16: +; CHECK: movl $1, %edi +; CHECK: movb $0, %al +; CHECK: callq _test16callee + call void (...)* @test16callee(i32 1) + br label %block2 + +block2: +; CHECK: movabsq $1 +; CHECK: cvtsi2sdq {{.*}} %xmm0 +; CHECK: movb $1, %al +; CHECK: callq _test16callee + call void (...)* @test16callee(double 1.000000e+00) + ret void +} |