Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rqFyu-00BPBp-7W for pgsql-hackers@arkaria.postgresql.org; Fri, 29 Mar 2024 17:25:32 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1rqFys-003HmJ-MX for pgsql-hackers@arkaria.postgresql.org; Fri, 29 Mar 2024 17:25:30 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rqFys-003HmB-C3 for pgsql-hackers@lists.postgresql.org; Fri, 29 Mar 2024 17:25:30 +0000 Received: from mgamail.intel.com ([192.198.163.16]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rqFyj-007KAc-Iu for pgsql-hackers@lists.postgresql.org; Fri, 29 Mar 2024 17:25:27 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1711733122; x=1743269122; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=W+Nyz02IdrB8uoq4xWjODC4c1t6x9caLTwEBwMUw36s=; b=CicJyUKWKsc9vAfe5YxcTkTXWhdRsAbWph9U18wwPtiunArNKDkaICub YlauaQN/cROD5f7guxbwklJItyr9TFPAFITptBiFkVbHcYguV+VeSLEww F9HlzuBhNUKClVSGlPEWwwBN+AG0iUe+2ohYoLON2+qrvmPLvOHkuvS6Y wiVcHHdNXHjwe3HpN1Z3cHEgZBjeOBWFcMw6ISSvLMiyDr4rUQndbaq0y PNtIv6y74a9Ax0xOk6S3UzZ+oakP6B2g6gFUkIehrc++c4lSOLHBY8rlf Ep43eTkeB+QZT83Gu17pAEnMUCCWXWMo9Syc2EFXK9BMH0PNpVIML8ZDC Q==; X-CSE-ConnectionGUID: LpGJuqCnRn25xL9OwKMa1Q== X-CSE-MsgGUID: DCkm2sfrT8utmfKiCNIOqg== X-IronPort-AV: E=McAfee;i="6600,9927,11028"; a="7522474" X-IronPort-AV: E=Sophos;i="6.07,165,1708416000"; d="scan'208";a="7522474" Received: from fmviesa006.fm.intel.com ([10.60.135.146]) by fmvoesa110.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Mar 2024 10:25:18 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,165,1708416000"; d="scan'208";a="17071518" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmviesa006.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 29 Mar 2024 10:25:19 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 29 Mar 2024 10:25:18 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Fri, 29 Mar 2024 10:25:17 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Fri, 29 Mar 2024 10:25:17 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.169) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Fri, 29 Mar 2024 10:25:17 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y05SaDQa6VWxxY3VAfOrrB8/3iBMKiPrYDE5VK1i2ZN6ijAAaB5hVM+vL3kLmyECwtK9PNwy9fLbhYjaXeYizrXyLhoiZGmFjWT3Y5muvqDOPbeLyVy8s/xJM+FCc+BG111qcimgQ2xZ4lvWeRkpScXR9NPuC5kEwwMtAL85F4Mq6FtLBt6JfMwVDRgG40fSyeQ7dDM5ARkJxQDBNtn/ciJOpopsyaxZAOH20jUQXzBk2qeIZtCol1WFbq9wC1rwvZ85LnsrLuXqw8aZ2Q7izjp1JcXgCM7w9t6f4i9oa982T56iTk++JfVkyoCzG7wGJ43r3MrljNn7xBjjSiWFtg== 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=BvD1q6FirEcBtUoNJk9aSnZ/7haqRDODVbwrkShow7E=; b=FO8XY5SQw1M0zIfn9O0LPuNyY4gfqXuN1TevBlhhFgV9dz6kTNwl/XPZ+I7jpXBdIIHkBvEc3cTpLJborhcd5UBLoqbvt+5CySaAdv5hWPg2iupuUmJSt2gj5Inyal1jLIvhXhtsOVaIRPCH1k2B3TBX5ZMB74YDHw1sMlc5VhuXPQcFFzk/4MFZQ+I+XSsy/lgRfFkV6ISHpbaQNhsMvgHfkwBth7U8xgD7bn8bjezsIbSAX5ZWF6xnRrbP6NyuZBtKKD/Lw1rU9SagebvwA/l1Cbwd1u9w3gNMDVzomfeCvBr+aU3J3hzT6cJRq3Li9qxV/X+X7xg3G/XyNvb8YA== 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 Received: from BL1PR11MB5304.namprd11.prod.outlook.com (2603:10b6:208:316::20) by SN7PR11MB7019.namprd11.prod.outlook.com (2603:10b6:806:2ae::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.32; Fri, 29 Mar 2024 17:25:15 +0000 Received: from BL1PR11MB5304.namprd11.prod.outlook.com ([fe80::c3d7:736f:7cf2:4d0f]) by BL1PR11MB5304.namprd11.prod.outlook.com ([fe80::c3d7:736f:7cf2:4d0f%4]) with mapi id 15.20.7409.031; Fri, 29 Mar 2024 17:25:15 +0000 From: "Amonson, Paul D" To: Nathan Bossart CC: Tom Lane , David Rowley , "Andres Freund" , Alvaro Herrera , "Shankaran, Akash" , Noah Misch , Matthias van de Meent , "pgsql-hackers@lists.postgresql.org" Subject: RE: Popcount optimization using AVX512 Thread-Topic: Popcount optimization using AVX512 Thread-Index: AdoNliAXaie8RHrzTICrAiLVKKiYCgAsQKyAALaJTAAAAQ7nAAAAxSWAAAGNHgAAA/mZgAAeFdGAAZKQbBAAAw6egA3NuLcAAAvVM4ACbQuxsAAhlXkAAHPWMbAAAkOrAACYCUjgAAMc3wABvefW4AD8TV6wADf+AoAAmWkVgACOpocAAAl+RwAAJXNxYAAA1VoAAABadxAAZi2hAAAIeekAAMiJepAACPYvAAAbpMKQAJeTLYAAcNGUAAAm2oYAAAFGgCAAAIPdAAACb8MAAAdpgwAAADR0AAAAsQcAAAAMEoAAAWCPgAAC3eIAACrnWQAABeBEkAA1zxYAACb9mpAAwL24cAAATJYAAAAxGQAABx2FwABrjaAVAADz8kAAMJJ6AAAAVz0wAAEtAtAAJO1gAAAAyVGAAAIFMjA= Date: Fri, 29 Mar 2024 17:25:14 +0000 Message-ID: References: <2490633.1711379522@sss.pgh.pa.us> <20240325200551.GB2924132@nathanxps13> <20240327220010.GA231058@nathanxps13> <20240328213854.GA916732@nathanxps13> <20240329155940.GC1046039@nathanxps13> <20240329162211.GB1106154@nathanxps13> In-Reply-To: <20240329162211.GB1106154@nathanxps13> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: BL1PR11MB5304:EE_|SN7PR11MB7019:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: U2OSVq+tIV8bt8XXQ94VfVmaZn4kKiFLdZj6H3zyOteNS6sGYrx71abUbj+XngCUyZmkODLqpQrXuV0rvqzJogIkDb5MOmqLP0Ywo35hj3pHJZ3nH2MZUrSds+ea/RiZWEcQOarzo58EBlB9M02aX4Qmxu1O97bjG+2HACQkCECw05g4XLLg1lUauOnT9IevxVPJcrW5xVvf5i0HiR2NdPBne5qwyws09/fValjro8+CwWAdPFM9WDhJSnIxFjywxpW3szhJ7gkaoqUxqTmI53DNQjdkSgfj4VD/dJ/wz6nEZTNfh/u+0pRm8ZzEwBo48C9HvVH1hTTpQK6sEbETs6SySV2973489JQ6UQkXgg8MdSxjVs6tJubq/Xoeeiu0VZHrVDrmhFwSyR4Z2VY6mBfsJ32krSytL5z/gdEV6xRrFc1YOQaCkntL5O4i2EJ5lOypUZGCkmgfFYNDixS2AoZPOBEr6Y4E9srECJSaHEONYpUyaI1nt0GlBefAXfrQ8EEfRv63NHJNIcnPFPnfpJJTJFQf3silzjB9kscovPHauL3NxX5NazJaEOhMf7EOpF/wmtTucpKlK4ESqmOaGp2hXOYzM73XHONRaVBwTtPW89ubPd5V0L1aRpV080Bbuy52gLXdGHlGTJFg7I6xGdV6Bbo3w2oiWrFcad3flLk= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR11MB5304.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(1800799015)(376005);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?AfiIsMzMYT9sW0Wvt3gofcpg3vChI2WXovjXQ5zudloPqHR1WsMRMiMrtVfU?= =?us-ascii?Q?IJUD+1+JWVqMH1KIxwOh+SUXJLRqvTd4y6x+S0EAbXVKM22vJvGg01mXCQFN?= =?us-ascii?Q?E1NHmfrzmFYz9Uvsb7TrKWsw9m4LRHi8Gwa46Jp408s4CacArbWkP9eaigHx?= =?us-ascii?Q?5Zhl9Jx5B2XS3Igg8OtbFikngPQCRwYUStI/3NdoGQjxXQo9mMTibuOVOqO8?= =?us-ascii?Q?nXUMbmSD8HVWVjgzTeE4jx/pnivDF8L2RDngBTAAEWG9AXm77mcYKEUED+t3?= =?us-ascii?Q?QmjvuXDBwBRDeDINdJWg1oj1Lix06aXaA/ufXyvqqhY3ZedgfWHJMsjYHnDW?= =?us-ascii?Q?URicPHAE+Uxxd9WpZgdIv8xDWsDERaIvJQANBV63MVits4Ay473COnX1IJhV?= =?us-ascii?Q?3uZ23cEI2RLDIUBLoulOIHJO+mKxNA8CJanOZBWNYlLAAyQZHC2/VlR9oqNh?= =?us-ascii?Q?8brIG0ZxGLhz/D6AvK1PTMpKVMvOjphpBSEgw40RTRiLfiq4Yn8bswgGabB5?= =?us-ascii?Q?HkNwJ6rvvlvjDofLv/WNGLU///Dbqn8Hx07WFy0e2qKHuHFudg4rvGv8kBJ/?= =?us-ascii?Q?h7QZaXE+BAxFqkOvcPSCIdKfeYhMlxhaaIz07UhX54CxRtFMWcl/T+QYUOFV?= =?us-ascii?Q?Eb3I2p4i2w9MIYJexLYkT9AFRuYOZ9n6aATaX1zUXVg9FQ+jEzLLRt7ZDByy?= =?us-ascii?Q?tFfaH0eTgzhNpRmuvhKK1KY5cgrVkTlbqQJ05RJjXaxwPY8hbmxQvgpBViTQ?= =?us-ascii?Q?9RIAHTxiIsrRHPZJv+lAyVVj6orvdoLtnymEXWCnJrn39VEd2JcMQr49Avbc?= =?us-ascii?Q?d4PH+wv8iDtVTVW7VlJbqu1xCJNTDM2cSU2T44t2WNG60Dkf+5D6Mmopd0Vm?= =?us-ascii?Q?YI203ymFqUKgLKl+XVZgqUFGWE9i6bVbZ1+vsTwfa0dauoUf1afxQqwvfMBb?= =?us-ascii?Q?OpeaMbE+uXPsKiUL8IrXo2ydum7KGrNY7rbFPT/W4wC0D73T9jYLMKIitxjE?= =?us-ascii?Q?eS4PFmTdNhVl5+L9ajpP86b/hC+loQ/HfYHKxiqVUhqyYwDa7aOJgpXV58hz?= =?us-ascii?Q?Idhv+s6t07qLlb6GT62V9ElmIo3r4IUx5QEduDzezH8+9VSnJAUyLQ4x4o7i?= =?us-ascii?Q?qTkfhAfbcC+unmpRFh+RnD3Wzxxq2ixyyGWbsvQb0rDw//6rx8MvZ0Lu5YBR?= =?us-ascii?Q?oPTdwgsKUesLSk6Lkas5MGFP3usJnnLLO/0E+xhL4BdFU3B0V1R6PP3xuzFz?= =?us-ascii?Q?8QUBQIAFckA12CKXmQl39TizG7yWfRtphpSXj6qNEWz+8nlLKMO8EBjMsbe8?= =?us-ascii?Q?zvAvDeqZyJCn/o6TCzZwCnZhNNLs/0U1+Nj8v08nH+JE97TVvhsS1Ha8iMwA?= =?us-ascii?Q?EisY4FEwbxYjtep0o8ZqyQfOEDRklVtm5Czge5c/Xbav439qY1YKtOakmol/?= =?us-ascii?Q?CacxR8sXzwiDo12PHwuO4yzRtN56J3fMjsex+/l8yYle1VS8Ks/JNFdjH8vF?= =?us-ascii?Q?+ZTWXDEh9DkHLg49CFLOnFLvp+18Yvx67lWr8KVqDxfqiBc8wEtOEhF78j0a?= =?us-ascii?Q?x8JcRLrzcgHuyL6sMtoeVOufGmmo+5fci2or5I0w?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BL1PR11MB5304.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 32175b36-3ce3-4e4c-4275-08dc50153268 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Mar 2024 17:25:14.9577 (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: 6+yzink0h0/wub3fgVh637FAmugms8KU7LX8v1lI1rpFuEWviM9uba0UuCvsAF23yLe/oDL5wQpLibByspoQ207jzfAkoJMPYoNAdPQDG64= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR11MB7019 X-OriginatorOrg: intel.com List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk > A counterexample is the CRC32C code. AFAICT we assume the presence of > CPUID in that code (and #error otherwise). I imagine its probably safe t= o > assume the compiler understands CPUID if it understands AVX512 intrinsics= , > but that is still mostly a guess. If AVX-512 intrinsics are available, then yes you will have CPUID. CPUID is= much older in the hardware/software timeline than AVX-512. Thanks, Paul