Message ID | 1733430950-10412-1-git-send-email-andremue@linux.microsoft.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 8A64E45E3C; Thu, 5 Dec 2024 21:36:11 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3436840A73; Thu, 5 Dec 2024 21:36:11 +0100 (CET) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id E4EA54069D for <dev@dpdk.org>; Thu, 5 Dec 2024 21:36:09 +0100 (CET) Received: by linux.microsoft.com (Postfix, from userid 1213) id 2CEDB20ACD83; Thu, 5 Dec 2024 12:36:09 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 2CEDB20ACD83 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1733430969; bh=laef1/QirI33c939yXoiDfCyq7tjuUGIRpv064WREok=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YtE7XjZz/uGe1VT4HCma2p0uuqRFAEh5Pre16iqgnd9zVLSbXWJD183Jf4hH7+m2B tcIuBER2C5jg2JNb7EGzVdaii2+dSfrnWNsFdt8KcR9zaivSc6tV1oBkCbHyoftI3P 0hCU2iSEdrPYCY12SDWb5DWEMLkBf5Sj7aKIPYLo= From: Andre Muezerie <andremue@linux.microsoft.com> To: dev@dpdk.org Cc: Andre Muezerie <andremue@linux.microsoft.com> Subject: [PATCH v2 0/3] provide rte_ffs32, rte_ffs64 and __rte_x86_movdiri Date: Thu, 5 Dec 2024 12:35:47 -0800 Message-Id: <1733430950-10412-1-git-send-email-andremue@linux.microsoft.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1710969879-23701-1-git-send-email-roretzla@linux.microsoft.com> References: <1710969879-23701-1-git-send-email-roretzla@linux.microsoft.com> X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org |
Series |
provide rte_ffs32, rte_ffs64 and __rte_x86_movdiri
|
|
Message
Andre Muezerie
Dec. 5, 2024, 8:35 p.m. UTC
MSVC does not support inline assembly so use movdiri intrinsic and provide abstracted rte_ffs{32,64} inline functions instead of directly using GCC built-ins. v2: * Moved constants to the right side of the comparison * Added tests for rte_ffs32 and rte_ffs64 functions Andre Muezerie (1): app/test: add test for rte_ffs32 and rte_ffs64 functions. Tyler Retzlaff (2): eal: provide movdiri for MSVC eal: add rte ffs32 and rte ffs64 inline functions app/test/test_bitops.c | 38 ++++++++++++++++++++++++++++++++++++ lib/eal/include/rte_bitops.h | 34 ++++++++++++++++++++++++++++++++ lib/eal/x86/include/rte_io.h | 4 ++++ 3 files changed, 76 insertions(+) -- 2.47.0.vfs.0.3
Comments
On Thu, Dec 5, 2024 at 9:36 PM Andre Muezerie <andremue@linux.microsoft.com> wrote: > > MSVC does not support inline assembly so use movdiri intrinsic and > provide abstracted rte_ffs{32,64} inline functions instead of directly > using GCC built-ins. > > v2: > * Moved constants to the right side of the comparison > * Added tests for rte_ffs32 and rte_ffs64 functions > > Andre Muezerie (1): > app/test: add test for rte_ffs32 and rte_ffs64 functions. > > Tyler Retzlaff (2): > eal: provide movdiri for MSVC > eal: add rte ffs32 and rte ffs64 inline functions > > app/test/test_bitops.c | 38 ++++++++++++++++++++++++++++++++++++ > lib/eal/include/rte_bitops.h | 34 ++++++++++++++++++++++++++++++++ > lib/eal/x86/include/rte_io.h | 4 ++++ > 3 files changed, 76 insertions(+) > I see nothing wrong with adding those wrappers to ease MSVC support. Just, those two ffs helpers should be marked experimental. And the unit tests for counting/searching bits had been separated in a dedicated app/test/test_bitcount.c.
On Fri, Jan 24, 2025 at 03:53:58PM +0100, David Marchand wrote: > On Thu, Dec 5, 2024 at 9:36 PM Andre Muezerie > <andremue@linux.microsoft.com> wrote: > > > > MSVC does not support inline assembly so use movdiri intrinsic and > > provide abstracted rte_ffs{32,64} inline functions instead of directly > > using GCC built-ins. > > > > v2: > > * Moved constants to the right side of the comparison > > * Added tests for rte_ffs32 and rte_ffs64 functions > > > > Andre Muezerie (1): > > app/test: add test for rte_ffs32 and rte_ffs64 functions. > > > > Tyler Retzlaff (2): > > eal: provide movdiri for MSVC > > eal: add rte ffs32 and rte ffs64 inline functions > > > > app/test/test_bitops.c | 38 ++++++++++++++++++++++++++++++++++++ > > lib/eal/include/rte_bitops.h | 34 ++++++++++++++++++++++++++++++++ > > lib/eal/x86/include/rte_io.h | 4 ++++ > > 3 files changed, 76 insertions(+) > > > > I see nothing wrong with adding those wrappers to ease MSVC support. > Just, those two ffs helpers should be marked experimental. > > And the unit tests for counting/searching bits had been separated in a > dedicated app/test/test_bitcount.c. > > > -- > David Marchand Thanks for the review David. I sent a v3 series addressing these issues.