mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-04 10:04:33 +00:00
Test that we get rep movs when calling memcpy
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11352 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
915e5e56d7
commit
cb7cb71bc8
24
test/CodeGen/X86/2004-02-12-Memcpy.llx
Normal file
24
test/CodeGen/X86/2004-02-12-Memcpy.llx
Normal file
@ -0,0 +1,24 @@
|
||||
; RUN: llvm-as < %s | llc -march=x86 | grep movs
|
||||
declare sbyte* %llvm.memcpy(sbyte* %A, sbyte* %B, uint %amt, uint %align)
|
||||
|
||||
%A = global [1000 x int] zeroinitializer
|
||||
%B = global [1000 x int] zeroinitializer
|
||||
|
||||
|
||||
void %main() {
|
||||
; dword copy
|
||||
call sbyte* %llvm.memcpy(sbyte* cast (int* getelementptr ([1000 x int]* %A, long 0, long 0) to sbyte*),
|
||||
sbyte* cast (int* getelementptr ([1000 x int]* %B, long 0, long 0) to sbyte*),
|
||||
uint 4000, uint 4)
|
||||
|
||||
; word copy
|
||||
call sbyte* %llvm.memcpy(sbyte* cast (int* getelementptr ([1000 x int]* %A, long 0, long 0) to sbyte*),
|
||||
sbyte* cast (int* getelementptr ([1000 x int]* %B, long 0, long 0) to sbyte*),
|
||||
uint 4000, uint 2)
|
||||
|
||||
; byte copy
|
||||
call sbyte* %llvm.memcpy(sbyte* cast (int* getelementptr ([1000 x int]* %A, long 0, long 0) to sbyte*),
|
||||
sbyte* cast (int* getelementptr ([1000 x int]* %B, long 0, long 0) to sbyte*),
|
||||
uint 4000, uint 1)
|
||||
ret void
|
||||
}
|
Loading…
Reference in New Issue
Block a user