The original note for implementing this (which I wrote) indicated that
this should only be done for very small memory blocks, probably < 8
bytes, but certainly less than 64. I don't know what the magic number is
where there's a tradeoff and its probably different for different
targets, but certainly megabytes is WAAAY to big :)

Reid.

On Sun, 2006-03-26 at 13:19 -0600, Nate Begeman wrote:
> 
> Changes in directory llvm/lib/Target/X86:
> 
> README.txt updated: 1.73 -> 1.74
> ---
> Log message:
> 
> Readme note
> 
> 
> ---
> Diffs of the changes:  (+7 -0)
> 
>  README.txt |    7 +++++++
>  1 files changed, 7 insertions(+)
> 
> 
> Index: llvm/lib/Target/X86/README.txt
> diff -u llvm/lib/Target/X86/README.txt:1.73 
> llvm/lib/Target/X86/README.txt:1.74
> --- llvm/lib/Target/X86/README.txt:1.73       Fri Mar 24 01:12:19 2006
> +++ llvm/lib/Target/X86/README.txt    Sun Mar 26 13:19:27 2006
> @@ -542,6 +542,13 @@
>  
>  
> //===---------------------------------------------------------------------===//
>  
> +We are currently lowering large (1MB+) memmove/memcpy to rep/stosl and 
> rep/movsl
> +We should leave these as libcalls for everything over a much lower threshold,
> +since libc is hand tuned for medium and large mem ops (avoiding RFO for large
> +stores, TLB preheating, etc)
> +
> +//===---------------------------------------------------------------------===//
> +
>  Lower memcpy / memset to a series of SSE 128 bit move instructions when it's
>  feasible.
>  
> 
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits@cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to