diff options
author | James Y Knight <jyknight@google.com> | 2015-07-13 16:36:22 +0000 |
---|---|---|
committer | James Y Knight <jyknight@google.com> | 2015-07-13 16:36:22 +0000 |
commit | 46f91c8457d7145d1b398e683f2e525857aee35c (patch) | |
tree | 0e8eb8dc508035aa56ad983c5a25636f5e376372 /llvm/test | |
parent | 67d81c8a77146ea479f64284022b018963269c58 (diff) | |
download | bcm5719-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.ll | 10 |
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 +} |