[dpdk-dev] [PATCH] Implement memcmp using AVX/SSE instructio

Pawel Wodkowski pawelx.wodkowski at intel.com
Thu Apr 23 09:24:52 CEST 2015


On 2015-04-22 17:33, Ravi Kerur wrote:
> +/**
> + * Compare bytes between two locations. The locations must not overlap.
> + *
> + * @note This is implemented as a macro, so it's address should not be taken
> + * and care is needed as parameter expressions may be evaluated multiple times.
> + *
> + * @param src_1
> + *   Pointer to the first source of the data.
> + * @param src_2
> + *   Pointer to the second source of the data.
> + * @param n
> + *   Number of bytes to compare.
> + * @return
> + *   true if equal otherwise false.
> + */
> +static inline bool
> +rte_memcmp(const void *src_1, const void *src,
> +		size_t n) __attribute__((always_inline));
You are exposing this as public API, so I think you should follow 
description bellow or not call this _memcmp_

int memcmp(const void *s1, const void *s2, size_t n);

The memcmp() function returns an integer less than, equal  to,  or 
greater  than
        zero  if  the  first  n  bytes  of s1 is found, respectively, to 
be less than, to
        match, or be greater than the first n bytes of s2.

-- 
Pawel


More information about the dev mailing list