summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorJames Y Knight <jyknight@google.com>2015-07-13 16:36:22 +0000
committerJames Y Knight <jyknight@google.com>2015-07-13 16:36:22 +0000
commit46f91c8457d7145d1b398e683f2e525857aee35c (patch)
tree0e8eb8dc508035aa56ad983c5a25636f5e376372 /llvm/test
parent67d81c8a77146ea479f64284022b018963269c58 (diff)
downloadbcm5719-llvm-46f91c8457d7145d1b398e683f2e525857aee35c.tar.gz
bcm5719-llvm-46f91c8457d7145d1b398e683f2e525857aee35c.zip
Fix handling of the 'n' asm constraint with invalid operands.
It had accidently accepted a symbol+offset value (and emitted incorrect code for it, keeping only the offset part) instead of properly reporting the constraint as invalid. Differential Revision: http://reviews.llvm.org/D11039 llvm-svn: 242040
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/X86/inline-asm-bad-constraint-n.ll10
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/inline-asm-bad-constraint-n.ll b/llvm/test/CodeGen/X86/inline-asm-bad-constraint-n.ll
new file mode 100644
index 00000000000..91b1ffed4e0
--- /dev/null
+++ b/llvm/test/CodeGen/X86/inline-asm-bad-constraint-n.ll
@@ -0,0 +1,10 @@
+; RUN: not llc -march=x86 -no-integrated-as < %s 2>&1 | FileCheck %s
+
+@x = global i32 0, align 4
+
+;CHECK: error: invalid operand for inline asm constraint 'n'
+define void @foo() {
+ %a = getelementptr i32, i32* @x, i32 1
+ call void asm sideeffect "foo $0", "n"(i32* %a) nounwind
+ ret void
+}
OpenPOWER on IntegriCloud