diff options
author | Dale Johannesen <dalej@apple.com> | 2009-02-12 20:58:09 +0000 |
---|---|---|
committer | Dale Johannesen <dalej@apple.com> | 2009-02-12 20:58:09 +0000 |
commit | 78e3e521cd90e5f6382c14b6e4d809fb59610ed6 (patch) | |
tree | ab8207e9c0143230e527faae7e0ddb06b0c613fc /test/CodeGen | |
parent | a971b294253cb848c0a640185f26459978c9ba41 (diff) | |
download | external_llvm-78e3e521cd90e5f6382c14b6e4d809fb59610ed6.zip external_llvm-78e3e521cd90e5f6382c14b6e4d809fb59610ed6.tar.gz external_llvm-78e3e521cd90e5f6382c14b6e4d809fb59610ed6.tar.bz2 |
Arrange to print constants that match "n" and "i" constraints
in inline asm as signed (what gcc does). Add partial support
for x86-specific "e" and "Z" constraints, with appropriate
signedness for printing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@64400 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen')
-rw-r--r-- | test/CodeGen/X86/2009-02-12-InlineAsm-nieZ-constraints.ll | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/CodeGen/X86/2009-02-12-InlineAsm-nieZ-constraints.ll b/test/CodeGen/X86/2009-02-12-InlineAsm-nieZ-constraints.ll new file mode 100644 index 0000000..ddd15f7 --- /dev/null +++ b/test/CodeGen/X86/2009-02-12-InlineAsm-nieZ-constraints.ll @@ -0,0 +1,18 @@ +; RUN: llvm-as < %s | llc -march=x86 | grep {\$-81920} | count 3 +; RUN: llvm-as < %s | llc -march=x86 | grep {\$4294885376} | count 1 + +; ModuleID = 'shant.c' +target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128" +target triple = "i386-apple-darwin9.6" + +define void @f() nounwind { +entry: + call void asm sideeffect "foo $0", "n,~{dirflag},~{fpsr},~{flags}"(i32 -81920) nounwind + call void asm sideeffect "foo $0", "i,~{dirflag},~{fpsr},~{flags}"(i32 -81920) nounwind + call void asm sideeffect "foo $0", "e,~{dirflag},~{fpsr},~{flags}"(i32 -81920) nounwind + call void asm sideeffect "foo $0", "Z,~{dirflag},~{fpsr},~{flags}"(i64 4294885376) nounwind + br label %return + +return: ; preds = %entry + ret void +} |