Hi Marek, > On Wednesday, May 07, 2014 at 08:10:20 AM, Lukasz Majewski wrote: > > [...] > > > --- a/lib/crc32.c > > +++ b/lib/crc32.c > > @@ -255,9 +255,12 @@ uint32_t ZEXPORT crc32_wd (uint32_t crc, > > void crc32_wd_buf(const unsigned char *input, unsigned int ilen, > > unsigned char *output, unsigned int chunk_sz) > > { > > - uint32_t crc; > > + uint32_t crc = 0; > > > > - crc = crc32_wd(0, input, ilen, chunk_sz); > > + if (*output) > > + memcpy(&crc, output, sizeof(crc)); > > Won't some sort of put_unaligned() work here ? The $crc is uint32_t > afterall, so it might be a jiff faster.
We are concerned here with the use case of copying 4 bytes from unaligned buffer defined on some architectures. I suppose, that the performance would be the same for both. However, since memcpy() is already used in this function, I would prefer to use it here. > Please correct me if I'm > wrong. > > > + > > + crc = crc32_wd(crc, input, ilen, chunk_sz); > > crc = htonl(crc); > > memcpy(output, &crc, sizeof(crc)); > > } > > Best regards, > Marek Vasut -- Best regards, Lukasz Majewski Samsung R&D Institute Poland (SRPOL) | Linux Platform Group _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot