From 5bee46d8e3f1d697cfa4cf28590a4e081d2fc844 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sat, 28 Apr 2007 06:05:59 +0000 Subject: [PATCH] new testcase git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36532 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/Generic/2007-04-27-InlineAsm-X-Dest.ll | 8 ++++++++ test/CodeGen/Generic/2007-04-27-LargeMemObject.ll | 13 +++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 test/CodeGen/Generic/2007-04-27-InlineAsm-X-Dest.ll create mode 100644 test/CodeGen/Generic/2007-04-27-LargeMemObject.ll diff --git a/test/CodeGen/Generic/2007-04-27-InlineAsm-X-Dest.ll b/test/CodeGen/Generic/2007-04-27-InlineAsm-X-Dest.ll new file mode 100644 index 00000000000..45a4de28539 --- /dev/null +++ b/test/CodeGen/Generic/2007-04-27-InlineAsm-X-Dest.ll @@ -0,0 +1,8 @@ +; RUN: llvm-as < %s | llc + +; Test that we can have an "X" output constraint. + +define void @test(i16 * %t) { + call void asm sideeffect "fwait", "=*X,~{dirflag},~{fpsr},~{flags},~{memory}"( i16* %t ) + ret void +} diff --git a/test/CodeGen/Generic/2007-04-27-LargeMemObject.ll b/test/CodeGen/Generic/2007-04-27-LargeMemObject.ll new file mode 100644 index 00000000000..ee71a88c965 --- /dev/null +++ b/test/CodeGen/Generic/2007-04-27-LargeMemObject.ll @@ -0,0 +1,13 @@ +; RUN: llvm-as < %s | llc + + %struct..0anon = type { [100 x i32] } + +define void @test() { +entry: + %currfpu = alloca %struct..0anon, align 16 ; <%struct..0anon*> [#uses=2] + %mxcsr = alloca %struct..0anon, align 16 ; <%struct..0anon*> [#uses=1] + call void asm sideeffect "fnstenv $0", "=*m,~{dirflag},~{fpsr},~{flags}"( %struct..0anon* %currfpu ) + call void asm sideeffect "$0 $1", "=*m,*m,~{dirflag},~{fpsr},~{flags}"( %struct..0anon* %mxcsr, %struct..0anon* %currfpu ) + ret void +} +