From patchwork Wed Aug 14 08:22:30 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Kong, Lingling" X-Patchwork-Id: 1972240 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=ODXaXITR; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=8.43.85.97; helo=server2.sourceware.org; envelope-from=gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=patchwork.ozlabs.org) Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4WkLqk1z5zz1yfZ for ; Wed, 14 Aug 2024 18:23:30 +1000 (AEST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A1311385DDD3 for ; Wed, 14 Aug 2024 08:23:27 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.9]) by sourceware.org (Postfix) with ESMTPS id 4B4513858424 for ; Wed, 14 Aug 2024 08:22:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4B4513858424 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 4B4513858424 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=198.175.65.9 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1723623773; cv=pass; b=AHfJwnxOVghRbitwzNGgI/hXHtXWsgTRDFRPttHJoZJWsscXNRreKNR/8M3gl1DXiTYiuNjTUH786xpgypBEszeYEYX+aSDe4ld5s9LneNlkx1o5kLBDtP83HhQUZaN7jMzHoWDszS/+i9HTeyd0/UJBo2iHhnEFMpfjOG7oKXo= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1723623773; c=relaxed/simple; bh=jJSJ3hOuhcb69OZRvdvXopBYyMAN+BBmtVWSjlR+1jE=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=v179abIE46trjgJG0wkfaObvDhp1mtWjNhk5VvlY/dD6qxJU1ijkF2TwU+lFnJCeey/bv9+nPJ+Ocvis1xcvP8pLAS42ceNUsuz5VyMw6g3C/IeCHktPZ6hCyHs7EutLyyF+AP3RFyFI56aJseqniQyCgXqR7qwK0GKGcIlixeU= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1723623761; x=1755159761; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=jJSJ3hOuhcb69OZRvdvXopBYyMAN+BBmtVWSjlR+1jE=; b=ODXaXITRvKzrPmK9hAfTzkjuvSMuqSU8GJY9gT1hVmZdZhaJVo9PBCbM zTXNhU8coFW2avqFEZYlg05uvH4KF5WD9Y3Pj/vbfeSYqY3E/ykSVhh3k PUHIIcxU7UrxHHwhzhpp41qbo8INQxvFPnwKMdqJszijzpi1mE7WgRnWT vmeXnnWU+ef8HBONJ9SSLQ02uQgtM1CqpQH823CQuQwNdy5fVm0bt3dui 4SarOCPtXtWHu6pGhPuAylB4CfvgAfm6wghMknW+M9Rvwl6vSHebCN9bv H2qS770kSaFRk7bVlufcVCkay8Sv12kM14odaTqVC1T+uRK5Mwgnu9GHM w==; X-CSE-ConnectionGUID: UGHVQYteTyCXdl6MBBmXXQ== X-CSE-MsgGUID: khZ6oeBiR1eo+IMi6//T8Q== X-IronPort-AV: E=McAfee;i="6700,10204,11163"; a="44343352" X-IronPort-AV: E=Sophos;i="6.09,288,1716274800"; d="scan'208";a="44343352" Received: from fmviesa004.fm.intel.com ([10.60.135.144]) by orvoesa101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Aug 2024 01:22:39 -0700 X-CSE-ConnectionGUID: NTLz5n0EQg+69Xf5TSy+rg== X-CSE-MsgGUID: eh3N/KqiSOWlcdtdYZB4kw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.09,288,1716274800"; d="scan'208";a="63599591" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmviesa004.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 14 Aug 2024 01:22:38 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 14 Aug 2024 01:22:38 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 14 Aug 2024 01:22:37 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Wed, 14 Aug 2024 01:22:37 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.168) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Wed, 14 Aug 2024 01:22:37 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=pLdhLmcVzoUr+NkI1CDYyZKwXodw1ZXTK+ZTXLPEVMqtdLlgUS3oDmawGdpYuvOODtrBcmuQHuJjGn88WI2zaOzydXhBh9gMSV0A+vAije49nMmKqx664ya4AFJiUivnKuGCdYC3s0nrDuQ9uEcAD+KH6yR0rby8CCjYw4YYMAnKl7S8vhKHVKVJlD1vdIem5jW0xGLFMgikfIoqdK06ohbm/psixCEXP5acM/+m/UwwKX36114PzIzSA92S69ic/tCp5aNRi+fakLkdjWYdxU/eA53EMUUx4gNSnodW5JPIylzgCX6Xn1aAM/PIc5sCeF0PJG7m3GcX8a439MyCGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=8UUNkReDqfv1oiCszLwf83VUO3mMxZ6r4vWFAhI8NLY=; b=hzOfQo6aNcBZmQLnriCqvlNwZtuBuqAieARwZLCTIRUB+KS9LfQSKuAP/AhI0nAilHAa+edXWAAxFHeR+SBUel3JpY9HefQNGuNa3mihblhi1SPVAU6kShdSvAar1ccRaBg2C4tYeaZBDAQFreNfMKv0jdkHgkSE7K/gmYR4lJBiaYX43nzH0Mp2rG3DIo++vtYzcAgMVlCiZXcWYelKdjLRL40mUB+N1Mlu/DCX9DizZTFqvI4jwK8gYdF1Qs/DHZoxhodLRVTSA6XnteXNI3HJVYyztKkIYtEzzJMbpS4S0qkLDTRA26GfP/QQOKpMCtQU90MeIOZnnY6TqzjS5g== 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 DM4PR11MB5487.namprd11.prod.outlook.com (2603:10b6:5:39f::22) by PH7PR11MB6607.namprd11.prod.outlook.com (2603:10b6:510:1b2::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7828.33; Wed, 14 Aug 2024 08:22:30 +0000 Received: from DM4PR11MB5487.namprd11.prod.outlook.com ([fe80::8221:de1b:c203:95d2]) by DM4PR11MB5487.namprd11.prod.outlook.com ([fe80::8221:de1b:c203:95d2%4]) with mapi id 15.20.7875.016; Wed, 14 Aug 2024 08:22:30 +0000 From: "Kong, Lingling" To: "Liu, Hongtao" , "gcc-patches@gcc.gnu.org" CC: "Jiang, Haochen" Subject: [PATCH v2] i386: Fix some vex insns that prohibit egpr Thread-Topic: [PATCH v2] i386: Fix some vex insns that prohibit egpr Thread-Index: AQHa7iLdeu4A6cWXFUyVzZ17y/+Dr7Imae3A Date: Wed, 14 Aug 2024 08:22:30 +0000 Message-ID: References: <20240814082022.174359-1-lingling.kong@intel.com> In-Reply-To: <20240814082022.174359-1-lingling.kong@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM4PR11MB5487:EE_|PH7PR11MB6607:EE_ x-ms-office365-filtering-correlation-id: b8371d0d-e647-4745-ee90-08dcbc3a3d44 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|376014|38070700018; x-microsoft-antispam-message-info: RMwRCs5+kDEeAjdpimM1sP+GOFnR91KPthGjIjM0cDwgamUOnudwsDpPhdtoQHe2OgPY4CIvcB1CWj+u/wNA4Jyt8T4nMW5u5muwMSNQtajTpi4geU1/2BEOBUEanCAfcog0J6q26uXGs9ndHIRFuRXVLVNUHX10XlnpuUZ11ZU8hD4OyAtqD9WWIQwBsV5VDR6tFaTp09e5luGcCdn+RdVlHCv+Mc4dp/Pdb1LEhwwTjiYbjTn/bE/sElrN4NqtjU7cS924RiddOg2Q0vR6hsH+ETo9ZMyf4KNcecNP8qSeK0IR/02eZT3bnnV02mVeYt9zFZr0ijOQwo7RbLkwPzKCHDft2wY752RpezA1TyDbI+hOvrvnxW8K79P/OgeKG+nDbUUtyIyEBOXvJpSlRyzRN63CzeoUGDzTwTfNIUxL5L9PD3P/wAWGVUUpm9qLhbg0ojsy9ly58lOrrNzf4vFwDAdFJmr3TR8QrFTgcl3Mre1hzczDx+WbMPo4dJyCfWbi3pmRD+f60cOvfBBhaKCQyHX4qpt5a/rfJumULHr2MWjvhcynF7zUJV+kpoqsyKjx08aAo2FPHO2AFRYmTxrHdU1qljB9Zg/H/k/Nki9awvtorcHOlBogZ4FDeRAGAPDNfxhnbiFPHZknBttP6YTuaOjLFIabhUnLhBs4sMtWdKwbfyBqi4SkQmmjcx2hP+b6GSdsWKfyQfCsOfKIvhWtWAJ/OrNHZJ2fNGU+jU7ZnUYbGB+xvvkup//D1ZqFI+rKnNxAajgIET2BuxVD1Uz+qzY1jynUm4VzgG59W3M/M6uAfkgqjd6TzvwIx9K3ojj9hO4NPmbPCw7FzroPxKL9yAfDN22twVBIZuSZ8Xr5yeWHAZqaaei0RYnvHynyPd3sEqHcPCy6kkXyJtKs2KpPGV3ZHQKQJ5uCIVgQwXJXCPZYvEpdXrdg5U0HCYUPQitsBM3HoXB+C4kOiw13MorsnyaZ8ITH3zoeM6+HFzwbmn2s6MGOOl1ZKir7GGQRqV3OdOzdOj5Phk7KkKplcXsoa+Cwjf8a9gxbYWCbz7bkH0rctxrT0DUlKwNXw3jv7NO0fOp9tdVW41eyocDUr3qcDMyxBQhTvPofJBvcCvmfbq3q+Ql1IWfiOUanBkGNp02C7ilrxp5abDuGqYsgTAUMPPbBH4+zsB/JF2jwF4MiKcgv7b3XBlW+6nLJDQxuBftN4Nist4xCVL9cgOql+K4+PT3YbwkAJS0xA+0zTjLS5Ts1oQHoiqpsWnU3HMPVn8518Gmgj8AZRbT8qJeIt7QW+GiJJxDrZI09gCln7CGPLteWhNp9s1qruPeFRdWasGpTXz3TN52ewYDFPA2d4orFXrOwdhPXJ3TmNt2J56afRSm+8DDIyGPPWsf20q3c9omDetc6youfOzu2xLakWQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR11MB5487.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: bhF+bUN6Jg5nrD/oFDCsqXuZQWj7sxM1F7qSTMMRNIU+kQmOG/u0OgZfyKRqNMC+IfEDg9q5xN0aDGKSE+jEHCEB37RSO6qfLVars0QfO09Cpegxr2ePgRgqvkLYLR8nvE3p75+dZ5vJ7JvpvoP2hIQzl2GbO4iuMPxOhqDIkERDf4rINT6UKG26LWKYs6j5EsAvh/4/PDS399JwMDBcyhSO/bfkfSjPp0OWAUoSPQWlu4uYbRrVQHYqebbT0Zmc3HCJfm8fO2zuZCJ6+fv+BQyiEOFs8pO5vwb4nkfXM75EbQ8sXWlfbug60s8mbC2fyVdl0m73E4d/aTsVDbmAPnULyOmxmCmpr8oNaKZii8oWViky7VYw4h1n0rntS6UWVwq7OgtLIzbUP0vged3UKSK7tmHK3ntcjNkKxvvQErQcZQc4i7rbAcg59zCix8ITegpPOnI7QJs0dVZOKhLSLGtwsV9/Dai2FF/LKze5E3O7W8D2GX9Tds5GRY36VuO33c8uutHF0AhADO4g+FIdDjZ6NnWooBgernJfmgm5k1I12xhTDWrq3Hr2AS3/xfU+qAwHAmbj45cb3PsKsDyQEyvDBHP3zyAwqetGAw7iXT1QWfpx3xqJrs3UrSWgT7a81yxTNoSgj0d/ExpxgbZmoRtmQFOgxKm319KPuYbQxolzia8VnKd3Z3A3wEa7n01MoUddAXh7qmWKlhIvLvQi3qv13brf2E8n5gAbkDTlVfReouwMEwYms5IXVjJUOUZ+3jcee/G8dFBGJnBBAF18rUK1qi0R/UXwLd1asc1x+908tRXItDNC9Mzc+TW3ucx0LKPX5i094UJiLx+0jG7vqqZi9f2IpMhhsHP8ChAK20aqXQ3CxtH2qSN/ZWeykLkujkZ9hCZcIe8g6Po1L+sqIWMVYzQt8x4RXFkW0ISMnCWJtf87pTvPKYpNCQewylw249CRL3hVcqj+MRIHjVpOqP9tiWC36kUdJtYbE6kFWjAYIsH4yrbyv4j5Elj8XWKqaAedon0nNaKTeYMNGXutdeZi9K3hk8heEzhJGKOH/Q6NVOC9TAmuejdaeC31O4iwT+pb+KHwJyDXMnsa5z7OaVG0pPbQ/C9gPH/gF6F8jdeKdkVhaPzUlokbP6RKd5e+LrpmQ1eng4NelHocyQyJHwD7nnGGg21Lz+miVjrJEihZgpRdPo4IozVun8PHBbfWrZV05pSnHaSQEBjeG0+4ypSZGujeUP00HpIH0fJ+wxl5VTnBCcrvAoMhCsMrEwH56/PlC1OqvBnep9Flgxdmzb7FL1tJFm7tUhGK9qMbv+FMcgpKeObxvGQ89EDhlybGUOfYblbAXS7dSWKSx1eQHZgxfmZC9zkNhdtoMshog1+vAW6EbAnLOod7zgotBXNZudyb/mHVVY6liiFVnJtlQkztsj+Ak6p879R9O8U6hsmfpRIto55rPuO/TYDbwIx9t7HNcBcStsDGnjGHa+UJKKXVoV+96MNykcD8iYPGl3O/69CCaAp6+T/q8GY8egaZd/s0/HTmYj36SDEIFg7Ei2Gdi6H1T7veA/JmxLn94Ig3LzwEoQc06uV36CCvXNPC MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR11MB5487.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b8371d0d-e647-4745-ee90-08dcbc3a3d44 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Aug 2024 08:22:30.1678 (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: 5J2+8ueZCMrk3nwqpfrio44eAeyOWsUyK8zJuUEkEKPzLH2o8a7aKPCP1HtCsU37z2VrMwlu+DOZO5jLjL/mTQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB6607 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-13.3 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces~incoming=patchwork.ozlabs.org@gcc.gnu.org -----Original Message----- From: Kong, Lingling Sent: Wednesday, August 14, 2024 4:20 PM To: Kong, Lingling Subject: [PATCH v2] i386: Fix some vex insns that prohibit egpr Although these vex insn have evex counterpart, but when it uses the displayed vex prefix should not support APX EGPR. Like TARGET_AVXVNNI, TARGET_IFMA and TARGET_AVXNECONVERT. TARGET_AVXVNNIINT8 and TARGET_AVXVNNITINT16 are also vex insn should not support egpr. gcc/ChangeLog: * config/i386/sse.md (vpmadd52): Prohibit egpr for vex version. (vpdpbusd_): Ditto. (vpdpbusds_): Ditto. (vpdpwssd_): Ditto. (vpdpwssds_): Ditto. (*vcvtneps2bf16_v4sf): Ditto. (vcvtneps2bf16_v8sf): Ditto. (vpdp_): Ditto. (vbcstnebf162ps_): Ditto. (vbcstnesh2ps_): Ditto. (vcvtnee2ps_): Ditto. (vcvtneo2ps_): Ditto. (vpdp_): Ditto. --- gcc/config/i386/sse.md | 49 +++++++++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 17 deletions(-) -- 2.31.1 diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index d1010bc5682..f0d94bba4e7 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -29886,7 +29886,7 @@ (unspec:VI8_AVX2 [(match_operand:VI8_AVX2 1 "register_operand" "0,0") (match_operand:VI8_AVX2 2 "register_operand" "x,v") - (match_operand:VI8_AVX2 3 "nonimmediate_operand" "xm,vm")] + (match_operand:VI8_AVX2 3 "nonimmediate_operand" "xjm,vm")] VPMADD52))] "TARGET_AVXIFMA || (TARGET_AVX512IFMA && TARGET_AVX512VL)" "@ @@ -29894,6 +29894,7 @@ vpmadd52\t{%3, %2, %0|%0, %2, %3}" [(set_attr "isa" "avxifma,avx512ifmavl") (set_attr "type" "ssemuladd") + (set_attr "addr" "gpr16,*") (set_attr "prefix" "vex,evex") (set_attr "mode" "")]) @@ -30253,13 +30254,14 @@ (unspec:VI4_AVX2 [(match_operand:VI4_AVX2 1 "register_operand" "0,0") (match_operand:VI4_AVX2 2 "register_operand" "x,v") - (match_operand:VI4_AVX2 3 "nonimmediate_operand" "xm,vm")] + (match_operand:VI4_AVX2 3 "nonimmediate_operand" "xjm,vm")] UNSPEC_VPDPBUSD))] "TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)" "@ %{vex%} vpdpbusd\t{%3, %2, %0|%0, %2, %3} vpdpbusd\t{%3, %2, %0|%0, %2, %3}" [(set_attr ("prefix") ("vex,evex")) + (set_attr "addr" "gpr16,*") (set_attr ("isa") ("avxvnni,avx512vnnivl"))]) (define_insn "vpdpbusd__mask" @@ -30321,13 +30323,14 @@ (unspec:VI4_AVX2 [(match_operand:VI4_AVX2 1 "register_operand" "0,0") (match_operand:VI4_AVX2 2 "register_operand" "x,v") - (match_operand:VI4_AVX2 3 "nonimmediate_operand" "xm,vm")] + (match_operand:VI4_AVX2 3 "nonimmediate_operand" "xjm,vm")] UNSPEC_VPDPBUSDS))] "TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)" "@ %{vex%} vpdpbusds\t{%3, %2, %0|%0, %2, %3} vpdpbusds\t{%3, %2, %0|%0, %2, %3}" [(set_attr ("prefix") ("vex,evex")) + (set_attr "addr" "gpr16,*") (set_attr ("isa") ("avxvnni,avx512vnnivl"))]) (define_insn "vpdpbusds__mask" @@ -30389,13 +30392,14 @@ (unspec:VI4_AVX2 [(match_operand:VI4_AVX2 1 "register_operand" "0,0") (match_operand:VI4_AVX2 2 "register_operand" "x,v") - (match_operand:VI4_AVX2 3 "nonimmediate_operand" "xm,vm")] + (match_operand:VI4_AVX2 3 "nonimmediate_operand" "xjm,vm")] UNSPEC_VPDPWSSD))] "TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)" "@ %{vex%} vpdpwssd\t{%3, %2, %0|%0, %2, %3} vpdpwssd\t{%3, %2, %0|%0, %2, %3}" [(set_attr ("prefix") ("vex,evex")) + (set_attr "addr" "gpr16,*") (set_attr ("isa") ("avxvnni,avx512vnnivl"))]) (define_insn "vpdpwssd__mask" @@ -30457,13 +30461,14 @@ (unspec:VI4_AVX2 [(match_operand:VI4_AVX2 1 "register_operand" "0,0") (match_operand:VI4_AVX2 2 "register_operand" "x,v") - (match_operand:VI4_AVX2 3 "nonimmediate_operand" "xm,vm")] + (match_operand:VI4_AVX2 3 "nonimmediate_operand" "xjm,vm")] UNSPEC_VPDPWSSDS))] "TARGET_AVXVNNI || (TARGET_AVX512VNNI && TARGET_AVX512VL)" "@ %{vex%} vpdpwssds\t{%3, %2, %0|%0, %2, %3} vpdpwssds\t{%3, %2, %0|%0, %2, %3}" [(set_attr ("prefix") ("vex,evex")) + (set_attr "addr" "gpr16,*") (set_attr ("isa") ("avxvnni,avx512vnnivl"))]) (define_insn "vpdpwssds__mask" @@ -30681,13 +30686,14 @@ [(set (match_operand:V8BF 0 "register_operand" "=x,v") (vec_concat:V8BF (float_truncate:V4BF - (match_operand:V4SF 1 "nonimmediate_operand" "xm,vm")) + (match_operand:V4SF 1 "nonimmediate_operand" "xjm,vm")) (match_operand:V4BF 2 "const0_operand")))] "TARGET_AVXNECONVERT || (TARGET_AVX512BF16 && TARGET_AVX512VL)" "@ %{vex%} vcvtneps2bf16{x}\t{%1, %0|%0, %1} vcvtneps2bf16{x}\t{%1, %0|%0, %1}" [(set_attr "isa" "avxneconvert,avx512bf16vl") + (set_attr "addr" "gpr16,*") (set_attr "prefix" "vex,evex")]) (define_expand "avx512f_cvtneps2bf16_v4sf_maskz" @@ -30745,12 +30751,13 @@ (define_insn "vcvtneps2bf16_v8sf" [(set (match_operand:V8BF 0 "register_operand" "=x,v") (float_truncate:V8BF - (match_operand:V8SF 1 "nonimmediate_operand" "xm,vm")))] + (match_operand:V8SF 1 "nonimmediate_operand" "xjm,vm")))] "TARGET_AVXNECONVERT || (TARGET_AVX512BF16 && TARGET_AVX512VL)" "@ %{vex%} vcvtneps2bf16{y}\t{%1, %0|%0, %1} vcvtneps2bf16{y}\t{%1, %0|%0, %1}" [(set_attr "isa" "avxneconvert,avx512bf16vl") + (set_attr "addr" "gpr16,*") (set_attr "prefix" "vex,evex")]) @@ -31206,30 +31213,33 @@ (unspec:VI4_AVX [(match_operand:VI4_AVX 1 "register_operand" "0") (match_operand:VI4_AVX 2 "register_operand" "x") - (match_operand:VI4_AVX 3 "nonimmediate_operand" "xm")] + (match_operand:VI4_AVX 3 "nonimmediate_operand" "xjm")] VPDOTPROD))] "TARGET_AVXVNNIINT8" "vpdp\t{%3, %2, %0|%0, %2, %3}" - [(set_attr "prefix" "vex")]) + [(set_attr "prefix" "vex") + (set_attr "addr" "gpr16")]) (define_insn "vbcstnebf162ps_" [(set (match_operand:VF1_128_256 0 "register_operand" "=x") (vec_duplicate:VF1_128_256 (float_extend:SF - (match_operand:BF 1 "memory_operand" "m"))))] + (match_operand:BF 1 "memory_operand" "jm"))))] "TARGET_AVXNECONVERT" "vbcstnebf162ps\t{%1, %0|%0, %1}" [(set_attr "prefix" "vex") + (set_attr "addr" "gpr16") (set_attr "mode" "")]) (define_insn "vbcstnesh2ps_" [(set (match_operand:VF1_128_256 0 "register_operand" "=x") (vec_duplicate:VF1_128_256 (float_extend:SF - (match_operand:HF 1 "memory_operand" "m"))))] + (match_operand:HF 1 "memory_operand" "jm"))))] "TARGET_AVXNECONVERT" "vbcstnesh2ps\t{%1, %0|%0, %1}" [(set_attr "prefix" "vex") + (set_attr "addr" "gpr16") (set_attr "mode" "")]) (define_mode_attr bf16_ph @@ -31240,19 +31250,20 @@ [(set (match_operand:V4SF 0 "register_operand" "=x") (float_extend:V4SF (vec_select: - (match_operand:VHFBF_128 1 "memory_operand" "m") + (match_operand:VHFBF_128 1 "memory_operand" "jm") (parallel [(const_int 0) (const_int 2) (const_int 4) (const_int 6)]))))] "TARGET_AVXNECONVERT" "vcvtnee2ps\t{%1, %0|%0, %1}" [(set_attr "prefix" "vex") + (set_attr "addr" "gpr16") (set_attr "mode" "")]) (define_insn "vcvtnee2ps_" [(set (match_operand:V8SF 0 "register_operand" "=x") (float_extend:V8SF (vec_select: - (match_operand:VHFBF_256 1 "memory_operand" "m") + (match_operand:VHFBF_256 1 "memory_operand" "jm") (parallel [(const_int 0) (const_int 2) (const_int 4) (const_int 6) (const_int 8) (const_int 10) @@ -31260,25 +31271,27 @@ "TARGET_AVXNECONVERT" "vcvtnee2ps\t{%1, %0|%0, %1}" [(set_attr "prefix" "vex") + (set_attr "addr" "gpr16") (set_attr "mode" "")]) (define_insn "vcvtneo2ps_" [(set (match_operand:V4SF 0 "register_operand" "=x") (float_extend:V4SF (vec_select: - (match_operand:VHFBF_128 1 "memory_operand" "m") + (match_operand:VHFBF_128 1 "memory_operand" "jm") (parallel [(const_int 1) (const_int 3) (const_int 5) (const_int 7)]))))] "TARGET_AVXNECONVERT" "vcvtneo2ps\t{%1, %0|%0, %1}" [(set_attr "prefix" "vex") + (set_attr "addr" "gpr16") (set_attr "mode" "")]) (define_insn "vcvtneo2ps_" [(set (match_operand:V8SF 0 "register_operand" "=x") (float_extend:V8SF (vec_select: - (match_operand:VHFBF_256 1 "memory_operand" "m") + (match_operand:VHFBF_256 1 "memory_operand" "jm") (parallel [(const_int 1) (const_int 3) (const_int 5) (const_int 7) (const_int 9) (const_int 11) @@ -31286,6 +31299,7 @@ "TARGET_AVXNECONVERT" "vcvtneo2ps\t{%1, %0|%0, %1}" [(set_attr "prefix" "vex") + (set_attr "addr" "gpr16") (set_attr "mode" "")]) (define_int_iterator VPDPWPROD @@ -31342,8 +31356,9 @@ (unspec:VI4_AVX [(match_operand:VI4_AVX 1 "register_operand" "0") (match_operand:VI4_AVX 2 "register_operand" "x") - (match_operand:VI4_AVX 3 "nonimmediate_operand" "xm")] + (match_operand:VI4_AVX 3 "nonimmediate_operand" "xjm")] VPDPWPROD))] "TARGET_AVXVNNIINT16" "vpdp\t{%3, %2, %0|%0, %2, %3}" - [(set_attr "prefix" "vex")]) + [(set_attr "prefix" "vex") + (set_attr "addr" "gpr16")])