[libc-commits] [PATCH] D81621: [libc] Remove dead code from memcpy to make it machine independent.

Siva Chandra via Phabricator via libc-commits libc-commits at lists.llvm.org
Fri Jun 12 14:14:52 PDT 2020


sivachandra added a comment.

In D81621#2090758 <https://reviews.llvm.org/D81621#2090758>, @sivachandra wrote:

> In D81621#2090722 <https://reviews.llvm.org/D81621#2090722>, @gchatelet wrote:
>
> > In D81621#2086447 <https://reviews.llvm.org/D81621#2086447>, @sivachandra wrote:
> >
> > > I am trying to get the string functions work on aarch64. While `memset` and `bzero` work as is, `memcpy` does not because of the x86 specific arrangement we have currently. The x86 specific pieces are actually in dead code. So I went ahead and removed them in this patch. If required in future, we should add it back in a fashion which does not break the build for non-x86 architectures.
> >
> >
> > `memset` and `bzero` are generic and can be used as-is for all architectures.
> >  They may need to be tweaked for individual architecture later on but the current code is good enough.
> >
> > `memcpy`is a different story. The C++ implementation is quite tied to x86 so I would rather duplicate the code.
> >  Keep the one we have with the reference to AVX and repmovsb for x86 (`libc/src/string/x86/memcpy.cpp`)
> >  Duplicate it without AVX / Repmovsb for a generic implementation (`libc/src/string/memcpy.cpp`)
> >  It also sets an example for anyone wanting to provide an architecture specific implementation.
> >
> > Thx for the `-O2` flag!
>
>
> OK. I have updated as you suggest.


I will update the description after hearing back from @gchatelet.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D81621/new/

https://reviews.llvm.org/D81621





More information about the libc-commits mailing list