diff options
| author | Nadav Rotem <nrotem@apple.com> | 2015-07-02 23:23:52 +0000 |
|---|---|---|
| committer | Nadav Rotem <nrotem@apple.com> | 2015-07-02 23:23:52 +0000 |
| commit | 754eb7c5639e5c133b66d9806089d9dcf9650e04 (patch) | |
| tree | 2f1ac7a4494ac3b81db025f22b5d018ade490fdd /llvm/test/CodeGen/AArch64 | |
| parent | 6be9099140df35cb308ac883db3183221cf7ed15 (diff) | |
| download | bcm5719-llvm-754eb7c5639e5c133b66d9806089d9dcf9650e04.tar.gz bcm5719-llvm-754eb7c5639e5c133b66d9806089d9dcf9650e04.zip | |
Fix an overly aggressive assertion in getCopyFromPartsVector.
The assertion in getCopyFromPartsVector assumed that the vector 'part' must
match the type of argument (arguments are potentially split into multiple
parts). However, in some cases the targets return a 'part' of the right size
but with a different type. We already handle this case correctly later on
and generate a bitcast. This commit just makes sure that we are actually
checking the property that we care about.
llvm-svn: 241312
Diffstat (limited to 'llvm/test/CodeGen/AArch64')
| -rw-r--r-- | llvm/test/CodeGen/AArch64/aarch-multipart.ll | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/AArch64/aarch-multipart.ll b/llvm/test/CodeGen/AArch64/aarch-multipart.ll new file mode 100644 index 00000000000..fd42d6e8cd8 --- /dev/null +++ b/llvm/test/CodeGen/AArch64/aarch-multipart.ll @@ -0,0 +1,18 @@ +; RUN: llc < %s -o - | FileCheck %s + +target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128" +target triple = "arm64-apple-os" + +declare <4 x double> @user_func(<4 x double>) #1 + +; Make sure we are not crashing on this code. +; CHECK-LABEL: caller_function +; CHECK: ret +define void @caller_function(<4 x double>, <4 x double>, <4 x double>, <4 x double>, <4 x double>) #1 { +entry: + %r = call <4 x double> @user_func(<4 x double> %4) + ret void +} + +attributes #1 = { nounwind readnone } + |

