diff options
author | Dale Johannesen <dalej@apple.com> | 2010-07-13 20:17:05 +0000 |
---|---|---|
committer | Dale Johannesen <dalej@apple.com> | 2010-07-13 20:17:05 +0000 |
commit | caca5488dc290c3cbca702a90e3f7a8be7b23c06 (patch) | |
tree | a373ca274f795fc1eedb96ef98c6f34aa0680529 /llvm/test | |
parent | 117b01b2da9b1e3aa4bcd89a2d9e6c594d7bf4ab (diff) | |
download | bcm5719-llvm-caca5488dc290c3cbca702a90e3f7a8be7b23c06.tar.gz bcm5719-llvm-caca5488dc290c3cbca702a90e3f7a8be7b23c06.zip |
In inline asm treat indirect 'X' constraint as 'm'.
This may not be right in all cases, but it's better
than asserting which it was doing before. PR 7528.
llvm-svn: 108268
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/CodeGen/X86/2010-07-13-indirectXconstraint.ll | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/2010-07-13-indirectXconstraint.ll b/llvm/test/CodeGen/X86/2010-07-13-indirectXconstraint.ll new file mode 100644 index 00000000000..97cbe3ea5a0 --- /dev/null +++ b/llvm/test/CodeGen/X86/2010-07-13-indirectXconstraint.ll @@ -0,0 +1,18 @@ +; RUN: llc < %s -mtriple=x86_64-apple-darwin | FileCheck %s +; PR 7528 +; formerly crashed + +%0 = type { [12 x i16] } +%union..0anon = type { [3 x <1 x i64>] } + +@gsm_H.1466 = internal constant %0 { [12 x i16] [i16 -134, i16 -374, i16 0, i16 2054, i16 5741, i16 8192, i16 5741, i16 2054, i16 0, i16 -374, i16 -134, i16 0] }, align 8 ; <%0*> [#uses=1] + +define void @weighting_filter() nounwind ssp { +entry: +; CHECK: leaq _gsm_H.1466(%rip),%rax; + call void asm sideeffect "leaq $0,%rax;\0A", "*X,~{dirflag},~{fpsr},~{flags},~{memory},~{rax}"(%union..0anon* bitcast (%0* @gsm_H.1466 to %union..0anon*)) nounwind + br label %return + +return: ; preds = %entry + ret void +} |