From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id E675043D6E;
	Thu, 28 Mar 2024 18:21:39 +0100 (CET)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id CC6C5406BC;
	Thu, 28 Mar 2024 18:21:39 +0100 (CET)
Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.14])
 by mails.dpdk.org (Postfix) with ESMTP id AC379402E7
 for <dev@dpdk.org>; Thu, 28 Mar 2024 18:21:37 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
 d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
 t=1711646498; x=1743182498;
 h=date:from:to:cc:subject:message-id:references:
 in-reply-to:mime-version;
 bh=MyQw0xFQDwMhYwBXbcak4Idrh0JUZMRLCuqsT1JNyNo=;
 b=IZzrlSMJUlWhWHf/+bp9/SOlWJubTM2Xl/zmrrulJ6n3DSLdZM03sHk7
 EA+yooCv29/Bb6PHYcgOYRHO0NPYHZEuGrxfJFybf0K1qlxapfdiwlDlK
 DeO6uzTY1LOvQnghXtZV6YglVHr3em+2c1eSKZDjVElk+WZouDsIYI3LG
 7lNU90FMZWniasI6T6mYopmx6UdS8NQCN0fEUhx56ovSzHY8yuN0bW9wN
 /59eK9BS6PEX8t4kf4QoKPEZPLpjDeCY50iL3QK8wbrA5R0N6R40xTwUA
 9zqGbRcN1yoSM5zvXnU/pCKmc/qaeOmoHC8PNQwDdJyW7B1M4vxU8+mf5 g==;
X-CSE-ConnectionGUID: ruI867A2TluLC547Pl6k0A==
X-CSE-MsgGUID: 4pjo7I4DTW29acNkWFccLA==
X-IronPort-AV: E=McAfee;i="6600,9927,11027"; a="10616588"
X-IronPort-AV: E=Sophos;i="6.07,162,1708416000"; d="scan'208";a="10616588"
Received: from orviesa010.jf.intel.com ([10.64.159.150])
 by orvoesa106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 28 Mar 2024 10:21:37 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.07,162,1708416000"; d="scan'208";a="16549489"
Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16])
 by orviesa010.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384;
 28 Mar 2024 10:21:36 -0700
Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by
 ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.35; Thu, 28 Mar 2024 10:21:36 -0700
Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by
 orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.35 via Frontend Transport; Thu, 28 Mar 2024 10:21:36 -0700
Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.168)
 by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.35; Thu, 28 Mar 2024 10:21:35 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NLSA2Q9mUzqh1KKmMzNzeoog3/rEjjzvBqmWwY/8ydl2nyIhd/co74ZZhe+Ov2LUvQGDx98cDEiJ7Q3EtyFWgt/IL04wdYO0pHbZQLrfzBH2f+ZCiCivejrCGukqv2M/XrKH6foeodefvRGUhImUmXakl9hInoQ+9aOqkYnkbOp4fcojtVnbsIjFWZBo1gqj0cfeETfqMbQGURvGD53xeYQb7xvSYRsaCNgSFECvZfHh6R/xsMyCPiNzEDN2TFXpR6GaoDfnvf59SusgsRVKJaS5Uw9UTrGAj3qEVcLmg+RelDzI8Tmc4PTBKkQR+PlRw/uiEf0CEpMA+4qi8HvyDQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lB0h9l6O553l8nv9cYIBYHoIWJ3Wi9Bq4OfWmVHCu2Q=;
 b=cW5mEthBDZKz7lBq7t2JWLQCQTEcWkcpXD19YMoEL3qwRFudtRW33M3wxd6N0DtgKjQspNXrdl7JgJQql8JG5ULnSYzsUTvEGWknrKrouKIYX5reG9fwAp6W0HuFawbRilI3I1T4ckB6InlM4tjQOIj+3iSp+3MHxDN7y5eW2beBozyUQsIn56Jb3cxgoxq+6BVegQ4+DISH/zZEOYr4UO2Wf3osheGZP9Q+m3x1naQYGVTpq+yu6Dr73i/FEQ3CvQXLGhPZktOB36QrhAR3VDQEj0TAtd5lPTOnTifCgnqpXSYhTzK6AfOcplO+OhQE5wSZQlJPSyRPAopQVMNvJw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
Received: from DS0PR11MB7309.namprd11.prod.outlook.com (2603:10b6:8:13e::17)
 by SA0PR11MB4542.namprd11.prod.outlook.com (2603:10b6:806:9f::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.32; Thu, 28 Mar
 2024 17:21:34 +0000
Received: from DS0PR11MB7309.namprd11.prod.outlook.com
 ([fe80::487e:e20c:ad88:9c0f]) by DS0PR11MB7309.namprd11.prod.outlook.com
 ([fe80::487e:e20c:ad88:9c0f%7]) with mapi id 15.20.7409.031; Thu, 28 Mar 2024
 17:21:34 +0000
Date: Thu, 28 Mar 2024 17:21:30 +0000
From: Bruce Richardson <bruce.richardson@intel.com>
To: Tyler Retzlaff <roretzla@linux.microsoft.com>
CC: <dev@dpdk.org>, Jasvinder Singh <jasvinder.singh@intel.com>, "Konstantin
 Ananyev" <konstantin.v.ananyev@yandex.ru>
Subject: Re: [PATCH v2 2/2] net: stop using mmx intrinsics
Message-ID: <ZgWnGnYYhUHj77jR@bricha3-mobl1.ger.corp.intel.com>
References: <1710969121-18503-1-git-send-email-roretzla@linux.microsoft.com>
 <1711642446-6880-1-git-send-email-roretzla@linux.microsoft.com>
 <1711642446-6880-3-git-send-email-roretzla@linux.microsoft.com>
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <1711642446-6880-3-git-send-email-roretzla@linux.microsoft.com>
X-ClientProxiedBy: DU6P191CA0059.EURP191.PROD.OUTLOOK.COM
 (2603:10a6:10:53e::16) To DS0PR11MB7309.namprd11.prod.outlook.com
 (2603:10b6:8:13e::17)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS0PR11MB7309:EE_|SA0PR11MB4542:EE_
X-MS-Office365-Filtering-Correlation-Id: 40dde482-93cc-4c33-cc29-08dc4f4b8467
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: lcZvkFCbx6Rab1aj4PYZwjq+a3ECT6R8F2SLOtVCwVI9IIMiODjGAMIMEBefeaVnfxEWC5zb0hroHLfNEYXFdIH1EQT0LgtxIYxwU1jL5IntVjEEaxVRwT/fAXvoK9ZD3vCgHg1eL9M32QMAwq4D3odT9g5D7QeooSnQzuKxqnBcc75rmEBIRwDk/x3b1X5JHRHJJ3jO115s5+Xe/6Im3ClLPl7cmtqmdZnKg/khvlCiipqmmsqYIU3cQoicuTECy8yPAFkdmP4o3tZv81wZE0zNiG2OI85zzjmyIYw1iZxvJtruuJBXAuldBUSyvkTx7sRC7QA1dY2Yy1+VrjXp40XD40+p9sBxwwFqrtmM716T1k1Lx1e2ul2Cu89mqxFqnjgEfSAZO//tgPDIr1fajVdKmGMgVQ+9lTWo4She6Uh+cyM0oQQnfsfqa58DMR3tuej7pAHJKUGPZbbwTQkLjVN0qVA599+W8AV+JqGyh7NNt6byN6APLSfTxFXw7atr9SX+MfKaBiGdcPIsAtLJmINA9bOk7qHJGXWPCpqPClShtKXVFeTYrCCp5kGV8ubCJ7TgLc10dabr7w/P685VFsRl+/ipWuQzm2em2I1u8uUQf3zYqp1GoKtoHYKm0/pq5VFby8SvmFy3Y4s/GZ0kJIz9X42GTnhVo46lYREIIKg=
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:DS0PR11MB7309.namprd11.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230031)(366007)(1800799015)(376005); DIR:OUT; SFP:1101; 
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?a6IFLAUHhEM4AHNGW8pEqvt/NaYfK0R6+agBiq0BWeY9+w7Qld0L5HWuk/Ag?=
 =?us-ascii?Q?sjjSDOE3y/UC3lFic637uGW5Lj52H8hjzOCHmeo9EDyXjYYbX66d9icOQmre?=
 =?us-ascii?Q?N37UmMtPfNWgHvSLXZn34L68rsU/Pkf2e1QnpWAzMoQ3Ci13MzrQdfVMtR4j?=
 =?us-ascii?Q?4egAzCt/6vKllHvums58mOtCIRO5+iy2Z/ggS2K4IJflCjJbu/I5R5cniLw0?=
 =?us-ascii?Q?xP8pZmB6NIjsf9WFEW3YizxVUq+Mh2vQSPkEYU8fz6gR19PJM86+SLRPrz8N?=
 =?us-ascii?Q?Sd/cE4Oduc7OoAyO8olPj0tTcjaX9hgK4vVvcx8hXwbJ++3KuwPMpO1msqTZ?=
 =?us-ascii?Q?kVUOmW5z6J/G0fiOBTm5+QTjGCLFaGjoHJ+ybUjNpjrmRLqcfYK9MD4v8tT7?=
 =?us-ascii?Q?xP5ZHiv8gNhcF98RRALNDMdfKhGQXYwQxeYHvg65bD2ubFHidYP7BNblG2lw?=
 =?us-ascii?Q?njz9qtHb4R+FT4NPHGgZ+5MIvua+E3KFkZJL8iolOaJGIeERAY4lTS2x0Y+Q?=
 =?us-ascii?Q?Zp2rfpEQUHFgQ3GWOyBvnmAD76mHNC0K7rx0lu63JQ32J4D2QU+F13kwcNeJ?=
 =?us-ascii?Q?gNZRC0f1PoJ1x78sbdGUXZDi72I9PyG9FCTVe19wVm/OeZdhE2DdwPKBwNCp?=
 =?us-ascii?Q?mhpWkg+YcGvyFB7B6rTYKGzkdzdLleh0h1NlmxZ3BaAdOKMpC9gHzJ+ifCR/?=
 =?us-ascii?Q?VD11z83HNHRr2dIqg92N5NH9DKyP6fworBCK9UJcSNd7C3Kj5RtxMPijJCBs?=
 =?us-ascii?Q?Bf4Da+vFcXDDdCFViTtfdOddaR14zHH77uLOLE4g4yj+ErjeNaq1AaBGapPv?=
 =?us-ascii?Q?53cMI/KJ72ZQFNcdNT51d6aoIQRu3/sH+erD3SJQ/y9Q26FlykyCBkcmahpy?=
 =?us-ascii?Q?nmkDath2qMf6hFW1jcu89Lc04DIGgpY7MO8XddgDZzZQ4+TULEQ7uYTc2H4q?=
 =?us-ascii?Q?nD5V8wobwcUq5fyVwFbJIRqgdY3wknNvpq+Yij5xtvDs7P0WlPVoeADjugRR?=
 =?us-ascii?Q?B+QjCwB603XC8XdZVM+nPQly+kZUHaD43FV7WsYJ8VMkOoc6przrof6f3DLR?=
 =?us-ascii?Q?uh+52kyXLFc7Wc3rlUnfRVqlYngvh7GVx9iVPfO3IsEggIGmHUutaQkjFVcy?=
 =?us-ascii?Q?JRtdP4iEIGZmOwVf/52HeuHh3lGGeyFOdQFbojxsLtmnAAtbTUG1n/Ie0X3p?=
 =?us-ascii?Q?UdBe5AFjVqJTQz94UgvNykyl/aTTFelazZKdwT8bp2qgYm8H6bPjU5EBD4r7?=
 =?us-ascii?Q?5RZtmkGcLMiy3Yl4W9Vj/Il0vCgglVfUoe8LIVQMkqLupH7GjZidMgTVOwIb?=
 =?us-ascii?Q?quKBLcN1AQA+Ktb515C22sWbXJvsUPAbx85YME93UGnEKqSmFkGPI3sCcYpN?=
 =?us-ascii?Q?lPVy5NtZw9anbrY+nQZD+B0VrFWO25i9TAAjJ9yifV9Jpee/aYlRZsld72cf?=
 =?us-ascii?Q?Hb8HbG/crECoe2OpEcD3SBp0LQU+j/ZBlR39TklURFjCzcZGo5R0ny7QFoBA?=
 =?us-ascii?Q?+XCVTLqyJIq1TilkdNzNQKV4UULaj3GINyhjgcdAEyUdfz8KpEESd35ojDX0?=
 =?us-ascii?Q?fGXRVWXl3mu7RHs43p5ttpuG6MsLn67C9pkK5QJwDQzduErDlc3cVtBqyDp/?=
 =?us-ascii?Q?mg=3D=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 40dde482-93cc-4c33-cc29-08dc4f4b8467
X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB7309.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2024 17:21:34.4284 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: C9uDySuLoa0urkf7114a6MAqR1yvkYmE3rNus2fLOlUcSBdtKiv3F4ODnawhRtJxa5Ap3OapWUgSYeeoF5sYzogZaLfSZwXKeRprYqHqTNw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR11MB4542
X-OriginatorOrg: intel.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

On Thu, Mar 28, 2024 at 09:14:06AM -0700, Tyler Retzlaff wrote:
> Update code to use only avx/sse intrinsics as mmx is not supported on
> MSVC.
> 
> Signed-off-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
> ---

One comment inline below. With or without that suggestion:

Acked-by: Bruce Richardson <bruce.richardson@intel.com>

>  lib/net/net_crc_avx512.c | 27 +++++++--------------------
>  lib/net/net_crc_sse.c    | 27 +++++++--------------------
>  2 files changed, 14 insertions(+), 40 deletions(-)
> 
> diff --git a/lib/net/net_crc_avx512.c b/lib/net/net_crc_avx512.c
> index 0f0dee4..d18eb96 100644
> --- a/lib/net/net_crc_avx512.c
> +++ b/lib/net/net_crc_avx512.c
> @@ -5,11 +5,10 @@
>  #include <stdalign.h>
>  
>  #include <rte_common.h>
> +#include <rte_vect.h>
>  
>  #include "net_crc.h"
>  
> -#include <x86intrin.h>
> -
>  /* VPCLMULQDQ CRC computation context structure */
>  struct crc_vpclmulqdq_ctx {
>  	__m512i rk1_rk2;
> @@ -331,13 +330,10 @@ static const alignas(16) uint32_t mask2[4] = {
>  			c9, c10, c11);
>  	crc32_eth.fold_3x128b = _mm512_setr_epi64(c12, c13, c14, c15,
>  			c16, c17, 0, 0);

Since the setr's below are being replaced, it would be nice to change these
ones above too. Long term I think it's going to be confusing having some
assignments set up as L->R, while others are R->L.


> -	crc32_eth.fold_1x128b = _mm_setr_epi64(_mm_cvtsi64_m64(c16),
> -			_mm_cvtsi64_m64(c17));
> +	crc32_eth.fold_1x128b = _mm_set_epi64x(c17, c16);
>  
> -	crc32_eth.rk5_rk6 = _mm_setr_epi64(_mm_cvtsi64_m64(c18),
> -			_mm_cvtsi64_m64(c19));
> -	crc32_eth.rk7_rk8 = _mm_setr_epi64(_mm_cvtsi64_m64(c20),
> -			_mm_cvtsi64_m64(c21));
> +	crc32_eth.rk5_rk6 = _mm_set_epi64x(c19, c18);
> +	crc32_eth.rk7_rk8 = _mm_set_epi64x(c21, c20);
>  }

<snip>