In the case where n is a constant 16 bytes, the second load/store is
ignored by the load/store unit - it has neglible/zero cost. In the case
where n is variable and greater than 512 bytes, the extra if (n == 16)
branch has a very small performance impact.
Change-Id: I04b313cf022c18fee31b1d9bcf6a128414659a99
Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
/**
* Fast way when copy size doesn't exceed 512 bytes
*/
- if (n == 16)
- {
- clib_mov16 ((u8 *) dst, (const u8 *) src);
- return ret;
- }
if (n <= 32)
{
clib_mov16 ((u8 *) dst, (const u8 *) src);
/**
* Fast way when copy size doesn't exceed 512 bytes
*/
- if (n == 16)
- {
- clib_mov16 ((u8 *) dst, (const u8 *) src);
- return ret;
- }
if (n <= 32)
{
clib_mov16 ((u8 *) dst, (const u8 *) src);