mpx_wrappers.c (__mpx_wrapper_memmove): Special handling of one pointer copy.

libmpx/

2015-12-29  Tsvetkova Alexandra  <aleksandra.tsvetkova@intel.com>

	* libmpxwrap/mpx_wrappers.c (__mpx_wrapper_memmove): Special
	handling of one pointer copy.

From-SVN: r231991
This commit is contained in:
Tsvetkova Alexandra 2015-12-29 12:52:42 +00:00 committed by Ilya Enkovich
parent 8c20a15574
commit 0bf0df50e5
2 changed files with 16 additions and 0 deletions

View file

@ -1,3 +1,8 @@
2015-12-29 Tsvetkova Alexandra <aleksandra.tsvetkova@intel.com>
* libmpxwrap/mpx_wrappers.c (__mpx_wrapper_memmove): Special
handling of one pointer copy.
2015-12-11 Tsvetkova Alexandra <aleksandra.tsvetkova@intel.com>
* mpxrt/Makefile.am (libmpx_la_LDFLAGS): Add -version-info

View file

@ -483,7 +483,18 @@ __mpx_wrapper_memmove (void *dst, const void *src, size_t n)
__bnd_chk_ptr_bounds (dst, n);
__bnd_chk_ptr_bounds (src, n);
/* When we copy exactly one pointer it is faster to
just use bndldx + bndstx. */
if (n == sizeof (void *))
{
const void **s = (const void**)src;
void **d = (void**)dst;
*d = *s;
return dst;
}
memmove (dst, src, n);
/* Not necessary to copy bounds if size is less then size of pointer
or SRC==DST. */
if ((n >= sizeof (void *)) && (src != dst))