summaryrefslogtreecommitdiff
path: root/test/CodeGen/ARM/2012-09-25-InlineAsmScalarToVectorConv.ll
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2012-09-26 04:04:19 +0000
committerBill Wendling <isanbard@gmail.com>2012-09-26 04:04:19 +0000
commit1293130f4f53e736678c45e712802f0dd087c80b (patch)
tree5f9e6debe50e3ef05127a97f5711a2ced82fc87a /test/CodeGen/ARM/2012-09-25-InlineAsmScalarToVectorConv.ll
parentb55462bcfb9acbf8654dff83159daf695dfc3ec4 (diff)
downloadllvm-1293130f4f53e736678c45e712802f0dd087c80b.tar.gz
llvm-1293130f4f53e736678c45e712802f0dd087c80b.tar.bz2
llvm-1293130f4f53e736678c45e712802f0dd087c80b.tar.xz
Generate an error message instead of asserting or segfaulting when we have a
scalar-to-vector conversion that we cannot handle. For instance, when an invalid constraint is used in an inline asm statement. <rdar://problem/12284092> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164657 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/ARM/2012-09-25-InlineAsmScalarToVectorConv.ll')
-rw-r--r--test/CodeGen/ARM/2012-09-25-InlineAsmScalarToVectorConv.ll11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/CodeGen/ARM/2012-09-25-InlineAsmScalarToVectorConv.ll b/test/CodeGen/ARM/2012-09-25-InlineAsmScalarToVectorConv.ll
new file mode 100644
index 0000000000..75766099a2
--- /dev/null
+++ b/test/CodeGen/ARM/2012-09-25-InlineAsmScalarToVectorConv.ll
@@ -0,0 +1,11 @@
+; RUN: llc < %s -march=arm -mcpu=cortex-a8 2>&1 | FileCheck %s
+
+; Check for error message:
+; CHECK: non-trivial scalar-to-vector conversion, possible invalid constraint for vector type
+
+define void @f() nounwind ssp {
+ %1 = call { <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } asm "vldm $4, { ${0:q}, ${1:q}, ${2:q}, ${3:q} }", "=r,=r,=r,=r,r"(i64* undef) nounwind, !srcloc !0
+ ret void
+}
+
+!0 = metadata !{i32 318437}