diff options
Diffstat (limited to 'test/CodeGen/PowerPC/ppc32-vacopy.ll')
| -rw-r--r-- | test/CodeGen/PowerPC/ppc32-vacopy.ll | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/CodeGen/PowerPC/ppc32-vacopy.ll b/test/CodeGen/PowerPC/ppc32-vacopy.ll new file mode 100644 index 000000000000..bc394125f135 --- /dev/null +++ b/test/CodeGen/PowerPC/ppc32-vacopy.ll @@ -0,0 +1,24 @@ +; RUN: llc -mtriple="powerpc-unknown-linux-gnu" < %s | FileCheck %s +; PR15286 + +%va_list = type {i8, i8, i16, i8*, i8*} +declare void @llvm.va_copy(i8*, i8*) + +define void @test_vacopy() nounwind { +entry: + %0 = alloca %va_list + %1 = alloca %va_list + %2 = bitcast %va_list* %0 to i8* + %3 = bitcast %va_list* %1 to i8* + + call void @llvm.va_copy(i8* %3, i8* %2) + + ret void +} +; CHECK: test_vacopy: +; CHECK: lwz [[REG1:[0-9]+]], {{.*}} +; CHECK: lwz [[REG2:[0-9]+]], {{.*}} +; CHECK: lwz [[REG3:[0-9]+]], {{.*}} +; CHECK: stw [[REG1]], {{.*}} +; CHECK: stw [[REG2]], {{.*}} +; CHECK: stw [[REG3]], {{.*}} |
