Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1725081
| From | Michael Ellerman <patch-notifications@ellerman.id.au> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [1/4] powerpc/32: add memset16() |
| Date | 2017-09-01 15:40 +0200 |
| Message-ID | <ukUkW-5wR-33@gated-at.bofh.it> (permalink) |
| References | <ukUkW-5wR-35@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Wed, 2017-08-23 at 14:54:32 UTC, Christophe Leroy wrote:
> Commit 694fc88ce271f ("powerpc/string: Implement optimized
> memset variants") added memset16(), memset32() and memset64()
> for the 64 bits PPC.
>
> On 32 bits, memset64() is not relevant, and as shown below,
> the generic version of memset32() gives a good code, so only
> memset16() is candidate for an optimised version.
>
> 000009c0 <memset32>:
> 9c0: 2c 05 00 00 cmpwi r5,0
> 9c4: 39 23 ff fc addi r9,r3,-4
> 9c8: 4d 82 00 20 beqlr
> 9cc: 7c a9 03 a6 mtctr r5
> 9d0: 94 89 00 04 stwu r4,4(r9)
> 9d4: 42 00 ff fc bdnz 9d0 <memset32+0x10>
> 9d8: 4e 80 00 20 blr
>
> The last part of memset() handling the not 4-bytes multiples
> operates on bytes, making it unsuitable for handling word without
> modification. As it would increase memset() complexity, it is
> better to implement memset16() from scratch. In addition it
> has the advantage of allowing a more optimised memset16() than what
> we would have by using the memset() function.
>
> Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Series applied to powerpc next, thanks.
https://git.kernel.org/powerpc/c/da74f659205ea08cb0fd0b3050637b
cheers
Back to linux.kernel | Previous | Next | Find similar | Unroll thread
Re: [1/4] powerpc/32: add memset16() Michael Ellerman <patch-notifications@ellerman.id.au> - 2017-09-01 15:40 +0200
csiph-web