From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.warmcat.com (mail.warmcat.com [163.172.24.82]) by dpdk.org (Postfix) with ESMTP id 22CD612008 for ; Mon, 21 May 2018 13:14:01 +0200 (CEST) From: Andy Green To: dev@dpdk.org Cc: thomas@monjalon.net Date: Mon, 21 May 2018 19:06:49 +0800 Message-ID: <152690080971.12755.9675572999031608037.stgit@localhost.localdomain> In-Reply-To: <152686805827.58694.11447559809199835902.stgit@localhost.localdomain> References: <152686805827.58694.11447559809199835902.stgit@localhost.localdomain> User-Agent: StGit/unknown-version Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Subject: [dpdk-dev] [PATCH] lib/librte_eal: change type of tmp X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 May 2018 11:14:01 -0000 /projects/lagopus/src/dpdk/build/include/rte_memcpy.h: 793:2: note: in expansion of macro 'MOVEUNALIGNED_LEFT47' MOVEUNALIGNED_LEFT47(dst, src, n, srcofs); ^~~~~~~~~~~~~~~~~~~~ /projects/lagopus/src/dpdk/build/include/rte_memcpy.h: 649:51: warning: conversion from 'size_t' {aka 'long unsigned int'} to 'int' may change value [-Wconversion] case 0x0B: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0B); break; \ ^ /projects/lagopus/src/dpdk/build/include/rte_memcpy.h: 616:15: note: in definition of macro 'MOVEUNALIGNED_LEFT47_IMM' tmp = len; \ ^~~ /projects/lagopus/src/dpdk/build/include/rte_memcpy.h: 793:2: note: in expansion of macro 'MOVEUNALIGNED_LEFT47' MOVEUNALIGNED_LEFT47(dst, src, n, srcofs); ^~~~~~~~~~~~~~~~~~~~ /projects/lagopus/src/dpdk/build/include/rte_memcpy.h: 618:13: warning: conversion to 'size_t' {aka 'long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion] tmp -= len; \ ^~ /projects/lagopus/src/dpdk/build/include/rte_memcpy.h: 649:16: note: in expansion of macro 'MOVEUNALIGNED_LEFT47_IMM' case 0x0B: MOVEUNALIGNED_LEFT47_IMM(dst, src, n, 0x0B); break; \ ^~~~~~~~~~~~~~~~~~~~~~~~ /projects/lagopus/src/dpdk/build/include/rte_memcpy.h: 793:2: note: in expansion of macro 'MOVEUNALIGNED_LEFT47' MOVEUNALIGNED_LEFT47(dst, src, n, srcofs); ^~~~~~~~~~~~~~~~~~~~ /projects/lagopus/src/dpdk/build/include/rte_memcpy.h: 618:13: warning: conversion to 'size_t' {aka 'long unsigned int'} from 'int' may change the sign of the result [-Wsign-conversion] tmp -= len; ^~ We can eliminate the problems by setting the type of tmp to size_t in the first place. After a suggestion by Bruce Richardson Signed-off-by: Andy Green Fixes: d35cc1fe6a ("eal/x86: revert select optimized memcpy at run-time") --- .../common/include/arch/x86/rte_memcpy.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_eal/common/include/arch/x86/rte_memcpy.h b/lib/librte_eal/common/include/arch/x86/rte_memcpy.h index 5ead68ab2..7b758094d 100644 --- a/lib/librte_eal/common/include/arch/x86/rte_memcpy.h +++ b/lib/librte_eal/common/include/arch/x86/rte_memcpy.h @@ -574,7 +574,7 @@ rte_mov256(uint8_t *dst, const uint8_t *src) */ #define MOVEUNALIGNED_LEFT47_IMM(dst, src, len, offset) \ __extension__ ({ \ - int tmp; \ + size_t tmp; \ while (len >= 128 + 16 - offset) { \ xmm0 = _mm_loadu_si128((const __m128i *)((const uint8_t *)src - offset + 0 * 16)); \ len -= 128; \