diff options
author | Evan Cheng <evan.cheng@apple.com> | 2011-01-06 07:58:36 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2011-01-06 07:58:36 +0000 |
commit | 461f1fc359dff438dad25e809499845b10a3d032 (patch) | |
tree | 143a2a682ffdd84409d6bd1673e22630d42d565e /test/CodeGen/X86/memcpy.ll | |
parent | cce240d26bbf1c2bec9cfff4838d8d807b215586 (diff) | |
download | llvm-461f1fc359dff438dad25e809499845b10a3d032.tar.gz llvm-461f1fc359dff438dad25e809499845b10a3d032.tar.bz2 llvm-461f1fc359dff438dad25e809499845b10a3d032.tar.xz |
Use movups to lower memcpy and memset even if it's not fast (like corei7).
The theory is it's still faster than a pair of movq / a quad of movl. This
will probably hurt older chips like P4 but should run faster on current
and future Intel processors. rdar://8817010
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122955 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/X86/memcpy.ll')
-rw-r--r-- | test/CodeGen/X86/memcpy.ll | 42 |
1 files changed, 25 insertions, 17 deletions
diff --git a/test/CodeGen/X86/memcpy.ll b/test/CodeGen/X86/memcpy.ll index 72342cbacb..4af93ad368 100644 --- a/test/CodeGen/X86/memcpy.ll +++ b/test/CodeGen/X86/memcpy.ll @@ -37,26 +37,34 @@ entry: tail call void @llvm.memcpy.p0i8.p0i8.i64(i8* %A, i8* %B, i64 64, i32 1, i1 false) ret void ; LINUX: test3: -; LINUX: memcpy +; LINUX-NOT: memcpy +; LINUX: movups +; LINUX: movups +; LINUX: movups +; LINUX: movups +; LINUX: movups +; LINUX: movups +; LINUX: movups +; LINUX: movups ; DARWIN: test3: ; DARWIN-NOT: memcpy -; DARWIN: movq -; DARWIN: movq -; DARWIN: movq -; DARWIN: movq -; DARWIN: movq -; DARWIN: movq -; DARWIN: movq -; DARWIN: movq -; DARWIN: movq -; DARWIN: movq -; DARWIN: movq -; DARWIN: movq -; DARWIN: movq -; DARWIN: movq -; DARWIN: movq -; DARWIN: movq +; DARWIN: movups +; DARWIN: movups +; DARWIN: movups +; DARWIN: movups +; DARWIN: movups +; DARWIN: movups +; DARWIN: movups +; DARWIN: movups +; DARWIN: movups +; DARWIN: movups +; DARWIN: movups +; DARWIN: movups +; DARWIN: movups +; DARWIN: movups +; DARWIN: movups +; DARWIN: movups } ; Large constant memcpy's should be inlined when not optimizing for size. |