summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/byval7.ll
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2010-04-01 06:04:33 +0000
committerEvan Cheng <evan.cheng@apple.com>2010-04-01 06:04:33 +0000
commit43cd9e3845fa82b616848ec7e3fbe231406b89ab (patch)
tree6a17065834b755a3fa0802ff5a81237621c5ac1f /llvm/test/CodeGen/X86/byval7.ll
parent738b0f9ec753895807664e75d15ae1e3e7d58cb4 (diff)
downloadbcm5719-llvm-43cd9e3845fa82b616848ec7e3fbe231406b89ab.tar.gz
bcm5719-llvm-43cd9e3845fa82b616848ec7e3fbe231406b89ab.zip
Fix sdisel memcpy, memset, memmove lowering:
1. Makes it possible to lower with floating point loads and stores. 2. Avoid unaligned loads / stores unless it's fast. 3. Fix some memcpy lowering logic bug related to when to optimize a load from constant string into a constant. 4. Adjust x86 memcpy lowering threshold to make it more sane. 5. Fix x86 target hook so it uses vector and floating point memory ops more effectively. rdar://7774704 llvm-svn: 100090
Diffstat (limited to 'llvm/test/CodeGen/X86/byval7.ll')
-rw-r--r--llvm/test/CodeGen/X86/byval7.ll9
1 files changed, 8 insertions, 1 deletions
diff --git a/llvm/test/CodeGen/X86/byval7.ll b/llvm/test/CodeGen/X86/byval7.ll
index 0da93bad04e..686ed9c74dd 100644
--- a/llvm/test/CodeGen/X86/byval7.ll
+++ b/llvm/test/CodeGen/X86/byval7.ll
@@ -1,10 +1,17 @@
-; RUN: llc < %s -march=x86 -mcpu=yonah | egrep {add|lea} | grep 16
+; RUN: llc < %s -march=x86 -mcpu=yonah | FileCheck %s
%struct.S = type { <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>,
+ <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>,
<2 x i64> }
define i32 @main() nounwind {
entry:
+; CHECK: main:
+; CHECK: movl $1, (%esp)
+; CHECK: leal 16(%esp), %edi
+; CHECK: movl $36, %ecx
+; CHECK: leal 160(%esp), %esi
+; CHECK: rep;movsl
%s = alloca %struct.S ; <%struct.S*> [#uses=2]
%tmp15 = getelementptr %struct.S* %s, i32 0, i32 0 ; <<2 x i64>*> [#uses=1]
store <2 x i64> < i64 8589934595, i64 1 >, <2 x i64>* %tmp15, align 16
OpenPOWER on IntegriCloud