summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/fast-isel-x86-64.ll
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2011-04-28 20:19:12 +0000
committerEli Friedman <eli.friedman@gmail.com>2011-04-28 20:19:12 +0000
commit7cd5101ad3dccbe406b69598ddf04129e801d292 (patch)
tree6def4b7d1f71dfd485e815b2fa0fcc561ab78be1 /llvm/test/CodeGen/X86/fast-isel-x86-64.ll
parent101720fb58a133ced215b76909e8dc70212c70ec (diff)
downloadbcm5719-llvm-7cd5101ad3dccbe406b69598ddf04129e801d292.tar.gz
bcm5719-llvm-7cd5101ad3dccbe406b69598ddf04129e801d292.zip
fast-isel sret calls, try 2. We actually do need to do something on x86-32. rdar://problem/9303592 .
llvm-svn: 130429
Diffstat (limited to 'llvm/test/CodeGen/X86/fast-isel-x86-64.ll')
-rw-r--r--llvm/test/CodeGen/X86/fast-isel-x86-64.ll13
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/fast-isel-x86-64.ll b/llvm/test/CodeGen/X86/fast-isel-x86-64.ll
index a810af5c784..c4afc10ffab 100644
--- a/llvm/test/CodeGen/X86/fast-isel-x86-64.ll
+++ b/llvm/test/CodeGen/X86/fast-isel-x86-64.ll
@@ -239,6 +239,19 @@ define void @test19(double* %p1) {
; CHECK: pxor
}
+; Check that we fast-isel sret
+%struct.a = type { i64, i64, i64 }
+define void @test20() nounwind ssp {
+entry:
+ %tmp = alloca %struct.a, align 8
+ call void @test20sret(%struct.a* sret %tmp)
+ ret void
+; CHECK: test20:
+; CHECK: leaq (%rsp), %rdi
+; CHECK: callq _test20sret
+}
+declare void @test20sret(%struct.a* sret)
+
; Check that -0.0 is not materialized using pxor
define void @test21(double* %p1) {
store double -0.0, double* %p1
OpenPOWER on IntegriCloud