mirror of
https://github.com/intel/isa-l.git
synced 2025-01-19 04:26:08 +01:00
8b7c1b80b2
In the adler32_neon function, during the last iteration of the loop through "accum32_neon", we would load data after the end of the buffer (in the ld1 instruction, the "start" register points to the end of the buffer). If this memory is unmapped, this would cause a segfault. If the memory is mapped, the checksum would be correct because that value would only be used in the next iteration, but this happens during the last iteration. To fix this, we can simply do the load before incrementing "start". And while we're at it, we can load directly into d0_v/d1_v, saving a couple of mov's. Finally, the ld1 done during the function initialization can be removed as the values aren't used for anything. Change-Id: I4a0f2811adc523852ebe774da0a6fb1f5419192f Signed-off-by: Martin Oliveira <martin.oliveira@eideticom.com>