diff options
author | Chad Rosier <mcrosier@apple.com> | 2013-04-25 17:10:21 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@apple.com> | 2013-04-25 17:10:21 +0000 |
commit | 5df2e16ba1c1744a120352c2551211e8eff1f38c (patch) | |
tree | b1673da7ab2651713be25825ccbd554f3abb68d5 | |
parent | e5330f77cf420d71cfd46c960387eb06edeccbf8 (diff) |
[inline asm] Add a test case for r180226. The specific issue is that the inline
assembly is requesting a 64-bit register, which is invalid for i386.
rdar://13731657
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180445 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/CodeGen/X86/asm-invalid-register-class-crasher.ll | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/test/CodeGen/X86/asm-invalid-register-class-crasher.ll b/test/CodeGen/X86/asm-invalid-register-class-crasher.ll new file mode 100644 index 0000000000..24e2284c8c --- /dev/null +++ b/test/CodeGen/X86/asm-invalid-register-class-crasher.ll @@ -0,0 +1,9 @@ +; RUN: not llc < %s -mtriple=i386-apple-darwin 2>&1 %t + +; Previously, this would assert in an assert build, but crash in a release build. +; No FileCheck, just make sure we handle this gracefully. +define i64 @t1(i64* %p, i64 %val) #0 { +entry: + %0 = tail call i64 asm sideeffect "xaddq $0, $1", "=q,*m,0,~{memory},~{cc},~{dirflag},~{fpsr},~{flags}"(i64* %p, i64 %val) + ret i64 %0 +} |