diff options
author | Preston Gurd <preston.gurd@intel.com> | 2013-09-16 22:22:07 +0000 |
---|---|---|
committer | Preston Gurd <preston.gurd@intel.com> | 2013-09-16 22:22:07 +0000 |
commit | 0c190ad93f12027ec158eb2b0558d4ca375ecc39 (patch) | |
tree | 19dc77812936fed24245fc894ef34ee0c21630c7 /test/CodeGen/X86/atom-call-reg-indirect.ll | |
parent | b06ea25b4c4cff341194279e01c08d23fa022378 (diff) | |
download | llvm-0c190ad93f12027ec158eb2b0558d4ca375ecc39.tar.gz llvm-0c190ad93f12027ec158eb2b0558d4ca375ecc39.tar.bz2 llvm-0c190ad93f12027ec158eb2b0558d4ca375ecc39.tar.xz |
Add Atom Silvermont (slm) tests
- check that -mcpu=slm uses the call register indirect optimization
- check that -mcpu=slm runs the scheduler
- check that -mcpu=slm supports the movbe instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190814 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/atom-call-reg-indirect.ll')
-rw-r--r-- | test/CodeGen/X86/atom-call-reg-indirect.ll | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/test/CodeGen/X86/atom-call-reg-indirect.ll b/test/CodeGen/X86/atom-call-reg-indirect.ll index 933b98b82c..48f2d4c113 100644 --- a/test/CodeGen/X86/atom-call-reg-indirect.ll +++ b/test/CodeGen/X86/atom-call-reg-indirect.ll @@ -2,6 +2,8 @@ ; RUN: llc < %s -mcpu=core2 -mtriple=i686-linux | FileCheck -check-prefix=ATOM-NOT32 %s ; RUN: llc < %s -mcpu=atom -mtriple=x86_64-linux | FileCheck -check-prefix=ATOM64 %s ; RUN: llc < %s -mcpu=core2 -mtriple=x86_64-linux | FileCheck -check-prefix=ATOM-NOT64 %s +; RUN: llc < %s -mcpu=slm -mtriple=i686-linux | FileCheck -check-prefix=SLM32 %s +; RUN: llc < %s -mcpu=slm -mtriple=x86_64-linux | FileCheck -check-prefix=SLM64 %s ; fn_ptr.ll @@ -20,6 +22,10 @@ entry: ;ATOM64: movq (%rcx), %rcx ;ATOM64: callq *%rcx ;ATOM-NOT64: callq *(%rcx) + ;SLM32: movl (%ecx), %ecx + ;SLM32: calll *%ecx + ;SLM64: movq (%rcx), %rcx + ;SLM64: callq *%rcx tail call void %1(%class.A* %call) ret i32 0 } @@ -40,6 +46,10 @@ entry: ;ATOM64: movq (%rax), %rax ;ATOM64: callq *%rax ;ATOM-NOT64: callq *(%rax) + ;SLM32: movl (%eax), %eax + ;SLM32: calll *%eax + ;SLM64: movq (%rax), %rax + ;SLM64: callq *%rax tail call void %1(i32 2) ret i32 0 } |