summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen
diff options
context:
space:
mode:
authorMichael Kuperstein <michael.m.kuperstein@intel.com>2015-07-16 13:55:39 +0000
committerMichael Kuperstein <michael.m.kuperstein@intel.com>2015-07-16 13:55:39 +0000
commit9d17a2816436fc7f9eb2d5604927ad16d2e51b3e (patch)
treefd4801c193687f0db4cd84597f5193497522cab2 /llvm/test/CodeGen
parentdadb847412b7ee16c0b57d1d5d1c69f37d58f406 (diff)
downloadbcm5719-llvm-9d17a2816436fc7f9eb2d5604927ad16d2e51b3e.tar.gz
bcm5719-llvm-9d17a2816436fc7f9eb2d5604927ad16d2e51b3e.zip
[X86] Test for r242395 (Fix emitPrologue() to make less assumptions about pushes)
llvm-svn: 242399
Diffstat (limited to 'llvm/test/CodeGen')
-rw-r--r--llvm/test/CodeGen/X86/prolog-push-seq.ll19
1 files changed, 19 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/prolog-push-seq.ll b/llvm/test/CodeGen/X86/prolog-push-seq.ll
new file mode 100644
index 00000000000..f23791aef92
--- /dev/null
+++ b/llvm/test/CodeGen/X86/prolog-push-seq.ll
@@ -0,0 +1,19 @@
+; RUN: llc < %s | FileCheck %s
+
+target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32"
+target triple = "i386-pc-windows-msvc18.0.0"
+
+declare x86_thiscallcc void @bar(i32 %a, i32 %b)
+
+define fastcc void @foo(i32 %a, i32 %b) #0 {
+; CHECK-LABEL: foo:
+; CHECK: subl $64, %esp
+; CHECK-NEXT: pushl
+; CHECK-NEXT: calll _bar
+ %local = alloca i32, i32 16
+ call x86_thiscallcc void @bar(i32 %a, i32 %b)
+ call void asm sideeffect "nop", "~{ax},~{bx},~{cx},~{dx},~{bp},~{si},~{di}"()
+ ret void
+}
+
+attributes #0 = { nounwind optsize "no-frame-pointer-elim-non-leaf"} \ No newline at end of file
OpenPOWER on IntegriCloud