From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by sourceware.org (Postfix) with ESMTPS id 236753852759 for ; Wed, 12 Oct 2022 00:56:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 236753852759 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1665536211; x=1697072211; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=uZvWhZGfdsfXk7y8CUec++YHUBBBvfKExbaoV1APxBY=; b=mpOQ60og9HyFZPjCd1AwSTH6eRjyihoXxtZU/6Rk6tJQHnEo8yhHx/F9 4EpUYfGmd78aC+cPDJAgEqUvTbQMo7EIm19ojtAwQN9wMig6IZEssLv5h gPtI+420ZO9Tu3+3+7fYHqG9vzyzmxgOmylyqiufMlCUt4ZwT2FqSxxVo pcDQENfRYj9hH2Oh8rHLmXHG3Mrc7J32aWUot8LODcIH6hXuKCgkH4TfO n5A6Sz+h7tYZzdhh5Qnfyae8VtrSL5qbifLZ4D9pfddid+tXr3OWHaAHe gba2xDcyS3aPsV268o7t9tccs66FSCzhe5hD2EJ2LcKNSIh4FTOqZeji3 A==; X-IronPort-AV: E=McAfee;i="6500,9779,10497"; a="368831469" X-IronPort-AV: E=Sophos;i="5.95,177,1661842800"; d="scan'208";a="368831469" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Oct 2022 17:56:49 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10497"; a="769013055" X-IronPort-AV: E=Sophos;i="5.95,177,1661842800"; d="scan'208";a="769013055" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga001.fm.intel.com with ESMTP; 11 Oct 2022 17:56:49 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) 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.2375.31; Tue, 11 Oct 2022 17:56:42 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 11 Oct 2022 17:56:42 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Tue, 11 Oct 2022 17:56:42 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.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.2375.31; Tue, 11 Oct 2022 17:56:41 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=htIqdP7fc++j1oE6Beyi6Q/hqKoQrfGjO1wOuIIcVLJsiiSWo3JItPfMIgtrK3h32yQcBSA9P5QsPD6busZ4TXT/zTXJKznK2JPM9xdfLpXrTbBGbCHcnUOMbArhnTc1N+1HPnP3x2+wK8IVg/PPRDW6Euk8IyCB+u1DDUjLLDdvsjOgU/pAX6PY+2E9xDMqyS5v457bYJCKLIQLpcj7gT+uD/KeUzksIiAh4Aewhh7dP+HB4lMMDg3MAMrkGHuFd9uNTMk6NfwqmvwZREQR3cMMucVY/Y6VGOquAk4phPNOsEo6j7bhaijYLPgqD/7XWsN/WowBZ+oX5s3B0okLDQ== 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=W7CxmcllJi/0VrvMLswOCUusFigSZ+Yng6X4ez6spWE=; b=kdaWsMz9Zxn3FTzO9owmsFXcMoW0bgrgVh21ozsMnZsx9anEKVsT8yTYg7mxLztAfCbwloXfqD1TaEU2MVxNpxLBlK5e6ceTg9CNsnp1hbe90gHRieInUBhycEMOBsKwoFm91PuBSq3FqytWzpNo4pKrGvFKb42xXb7jwBpbuZdyg4p3pHpSVBG0ipiawaPWe228PRtUPR5Wg24RtKclxxFyLcku3zGZ/YdUtqj5g19jkMkjRL/PkLfCApo4GKP1MGbmaJfIUE+Hzm6zwFViFF9Q0iVg6Y8P4Y2XphtoOp40VO2rwA6yhgCJgLL8q4Aard40AX1E8WULCg65M+zTGg== 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 CY4PR1101MB2150.namprd11.prod.outlook.com (2603:10b6:910:18::11) by PH7PR11MB6769.namprd11.prod.outlook.com (2603:10b6:510:1af::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5709.15; Wed, 12 Oct 2022 00:56:40 +0000 Received: from CY4PR1101MB2150.namprd11.prod.outlook.com ([fe80::ac52:60f1:aeed:8651]) by CY4PR1101MB2150.namprd11.prod.outlook.com ([fe80::ac52:60f1:aeed:8651%4]) with mapi id 15.20.5709.015; Wed, 12 Oct 2022 00:56:40 +0000 From: "Liu, Hongtao" To: Jakub Jelinek CC: "gcc-patches@gcc.gnu.org" Subject: RE: [PATCH] [x86] Add define_insn_and_split to support general version of "kxnor". Thread-Topic: [PATCH] [x86] Add define_insn_and_split to support general version of "kxnor". Thread-Index: AQHY3XmQBThAzqyrKk+DOTM0Ugqlga4J7/ZQ Date: Wed, 12 Oct 2022 00:56:39 +0000 Message-ID: References: <20221011080316.1778261-1-hongtao.liu@intel.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.6.500.17 dlp-product: dlpe-windows 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: CY4PR1101MB2150:EE_|PH7PR11MB6769:EE_ x-ms-office365-filtering-correlation-id: 15f7b2e2-cd53-4de3-e8bf-08daabec9f50 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: DP6+fTvcl4zR4TfwhTGPPxxcIcr3X0/TOZHnbhLMuSzCO5oGL0O1aYdep56ttPylb4WHe3oCPAFHJwYqLi1Sz/4mmMty6uPqA0HYkpFXrhjm44voZLZaz0JPRZbZieiJucuXIjw+1ea1XmRIF8sTZgfattXuWTbMoouR2v1E9h7YB4zPZxBCQurF76sV7ptdJj3+lNqo/QfPAQtHsFzQy1NyCRf9pjikkhTZmAtsfYj53LOP7vA/XdnDMjux43b77lFIh4enCvQq36juabquC79Sc9CvnGnPAKV8540DASU6wnQzNkAXfYMJNQslC0Kn49x/ioCWUDaqpYloAaTyY8KIjzDmM5+Ipbxsr7+10pzEG1dvQSJkkfoGlOaR/vt9YRXHiElvMCzUGKiNhc/TegH57dIF5602MZDA64Td79cR45W8hKojhPznHnt4os/yotnyf49nTHmWoEro84jY0FD8RH1zVFgDzzcGroURB03OAgIMMaZKxyZdi61RsQluI5tf1dtIhAhbouGb87AYtj/bEw2nie5KfFlx22rJPEklvEz0FZGtAyDh+Ud4L0BLmblRvshp+12IvP+ggenFRhnIlqVqXDVqmXgA2dASQXU3dyf1J6W8g8Svx+ZJok0QlwYdL85B5A0HQGSYyMzqoSMvVGz7SSxZlsj7UE+2Opwif0E+8Q95l3qUXlStsQc8YQ+h6ttQ9f9P9I4dCsVk7oEaTLY+OPBVBUeITARrZmYmYJU1T2MtAttlem4UNUh2+HUa5N1O4J9juecUZcWIZcnRoxe+OQ5A1egwnJ+Ys68= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY4PR1101MB2150.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(396003)(346002)(376002)(366004)(39860400002)(451199015)(71200400001)(38070700005)(2906002)(38100700002)(7696005)(6506007)(41300700001)(52536014)(8936002)(82960400001)(6916009)(4001150100001)(84970400001)(83380400001)(186003)(316002)(122000001)(66556008)(66476007)(5660300002)(26005)(4326008)(86362001)(64756008)(8676002)(33656002)(53546011)(55016003)(66446008)(478600001)(66946007)(9686003)(76116006);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?SSD5GH3q7QJCsFX+RhX5hqXoxc4yt7UgP1S+4ZkES3CWY3cVZFpoN+JGkg63?= =?us-ascii?Q?sCtnPYBUlZ+MfXo9+05QopV3XJKxMJffwvv+SOP0qxGkGHbNgGjkdUK2E6Q2?= =?us-ascii?Q?n/SZt4AoCwz3vun9qVOD1xzp/yQaJn/fLf+TUe1hbk/2XeufyDSCp0r6E60h?= =?us-ascii?Q?vyaDGjIJgqDE4IdFc+UiVGacNSplGhsf2cCK6Ttw6I0nZPFozR31IBB1pr93?= =?us-ascii?Q?8GUbzeP639XUONcn4wwNL1gfIvnWN5bB8TJjobCFevsFNT5alzt+XitMhp8/?= =?us-ascii?Q?71z/+cObnLCcHSvUHeJdUEODyBVWcxPs40qZyxVe8V+SUpJZ5wSd3E0pRlMy?= =?us-ascii?Q?b1K9yJfMJIF7lsg8dt8xNO3kNQ+iRLrfaFn19tKgjC9HLbe+7jyAfl7Cx8QC?= =?us-ascii?Q?mcTyQnw/HmsdCfhFCBd1XV7nN/DYlNRQKYA3KNXMY/l1n5hCYq8ICqdFZCZD?= =?us-ascii?Q?EVKtB+atqLTiNbv+w/NEzl1e53kdkrHKR1dq0Qcf7NxjcTkkmJCvIGetHwze?= =?us-ascii?Q?RCfk05nBtP0TXHMHxBRnRMoEq7WRrEPT8deeZaqoeXfjRBenr3UmCzc2kCQj?= =?us-ascii?Q?C39uGS+9HY6pDy/hruVacAOH2fV3NevCIvqvphP1MAiA7IIpB4XRxcf/SO4n?= =?us-ascii?Q?9VlhhRyI1dTJj5F3ywYUMr0sartS22yT8BRqouP/HnNJ5c8t9NKXZO/9EnPF?= =?us-ascii?Q?FVR7vaMPLHsP5IcpU7bXqsa59vsK2Gu0jPQ5uKN3BDRlwBWaDVNgfBdP00Ln?= =?us-ascii?Q?Byl7Tf/mlT5tuQ30vQwGrsSQgwmMyvgVjsyGGXpHFSDH12fNu6GHJnsgC1Nb?= =?us-ascii?Q?5VjE/RTgxWOyRlqC0I3dO5VH7NNwy4K18bBjUrjjx1h+HpHRlGhJ4xOzyDWQ?= =?us-ascii?Q?uGiB8FR/fmTFfzPxd4/N2fmYXetqT/HJwgWT9AlYAQaHeA3B67o2Wn9Y/+3x?= =?us-ascii?Q?6cb6sNM3wM8U8SGY44qCBzhRV2D4/FVvfF4DkoTNmULnavL6ZioiQBJ4CIOw?= =?us-ascii?Q?P7K3ANGDTwRbU7c5+LvA4GDJmOF4Bzc2jKs6Oz46XJwobYiJDTEHPXdpNl+D?= =?us-ascii?Q?OxcMCC8iA7VniPeQLAQsjfMWB7YJxH7Srd8IiyDSGxzEO+HT+GQO6P6jaqtK?= =?us-ascii?Q?fVj8kygPaTa8JQ+EjABd0XRm0WFqa6oLacQQtdhSDEj0F7JcqPPybz02lOqI?= =?us-ascii?Q?vD3cldoQtzBpaKw0ZglHuCIRANLWNnVCVKoq5RFKv6xeeoitAme2HssW9yzt?= =?us-ascii?Q?8dnZC8JEsRUewqfuBKHUgT3C8WV42+nPBxXbsxxiqqF//1quRuZ8ZhG19kDa?= =?us-ascii?Q?2cU7A7ZguyduOZSzDVnKoq1wY1MAw1phAzWzLuOilrGC5B+wePy3HlxZwhdG?= =?us-ascii?Q?UliUPkFNMvWrH52UH+GHoLdTzxIoO95M0hSRNvpOTLUB1SeeNJs/OpEgLgc2?= =?us-ascii?Q?tf3OnGxZHtUTRZ8FFIzZaIrQ1CkDuQeOEX22C8OMq7mqPZ0HUa4lQgIuJZI0?= =?us-ascii?Q?Q+/9EHAvFH1rvwmKTH4IaGKsabAGoFR0nf+gk2h2F3fmVmzuDNlicS2dqCo6?= =?us-ascii?Q?USCBw2Oh9P7lHGIRIoTNVc0ZMEPsp7m+8lX6ZNg2?= 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: CY4PR1101MB2150.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 15f7b2e2-cd53-4de3-e8bf-08daabec9f50 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Oct 2022 00:56:39.9233 (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: XBeowXXrlEwXumOKv+tUQdQCxtig39/q7tUVLCPwTVl6pnwTnZLIlgiHRfNkyEmtekIUNBMuQinVrgiCuABx3w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB6769 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-7.2 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_SHORT,SPF_HELO_NONE,SPF_NONE,TXREP,WEIRD_PORT autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: > -----Original Message----- > From: Jakub Jelinek > Sent: Tuesday, October 11, 2022 9:59 PM > To: Liu, Hongtao > Cc: gcc-patches@gcc.gnu.org > Subject: Re: [PATCH] [x86] Add define_insn_and_split to support general > version of "kxnor". >=20 > On Tue, Oct 11, 2022 at 04:03:16PM +0800, liuhongt via Gcc-patches wrote: > > gcc/ChangeLog: > > > > * config/i386/i386.md (*notxor_1): New post_reload > > define_insn_and_split. > > (*notxorqi_1): Ditto. >=20 > > --- a/gcc/config/i386/i386.md > > +++ b/gcc/config/i386/i386.md > > @@ -10826,6 +10826,39 @@ (define_insn "*_1" > > (set_attr "type" "alu, alu, msklog") > > (set_attr "mode" "")]) > > > > +(define_insn_and_split "*notxor_1" > > + [(set (match_operand:SWI248 0 "nonimmediate_operand" "=3Drm,r,?k") > > + (not:SWI248 > > + (xor:SWI248 > > + (match_operand:SWI248 1 "nonimmediate_operand" "%0,0,k") > > + (match_operand:SWI248 2 "" "r,,k")))) > > + (clobber (reg:CC FLAGS_REG))] > > + "ix86_binary_operator_ok (XOR, mode, operands)" > > + "#" > > + "&& reload_completed" > > + [(parallel > > + [(set (match_dup 0) > > + (xor:SWI248 (match_dup 1) (match_dup 2))) > > + (clobber (reg:CC FLAGS_REG))]) > > + (set (match_dup 0) > > + (not:SWI248 (match_dup 1)))] > > +{ > > + if (MASK_REGNO_P (REGNO (operands[0]))) >=20 > This causes --enable-checking=3Dyes,rtl,extra regression on > gcc.dg/store_merging_13.c test on x86_64-linux: > .../gcc/testsuite/gcc.dg/store_merging_13.c: In function 'f13': > .../gcc/testsuite/gcc.dg/store_merging_13.c:189:1: internal compiler erro= r: RTL > check: expected code 'reg', have 'mem' in rhs_regno, at rtl.h:1932 0x7b0c= 8f > rtl_check_failed_code1(rtx_def const*, rtx_code, char const*, int, char c= onst*) > ../../gcc/rtl.cc:916 > 0x8e74be rhs_regno > ../../gcc/rtl.h:1932 > 0x9785fd rhs_regno > ./genrtl.h:120 > 0x9785fd gen_split_260(rtx_insn*, rtx_def**) > ../../gcc/config/i386/i386.md:10846 > 0x23596dc split_insns(rtx_def*, rtx_insn*) > ../../gcc/config/i386/i386.md:16392 > 0xfccd5a try_split(rtx_def*, rtx_insn*, int) > ../../gcc/emit-rtl.cc:3799 > 0x132e9d8 split_insn > ../../gcc/recog.cc:3384 > 0x13359d5 split_all_insns() > ../../gcc/recog.cc:3488 > 0x1335ae8 execute > ../../gcc/recog.cc:4412 > Please submit a full bug report, with preprocessed source (by using -frep= ort- > bug). > Please include the complete backtrace with any bug report. > See for instructions. >=20 > Fixed thusly, tested on x86_64-linux, committed to trunk as obvious. Thanks. >=20 > 2022-10-11 Jakub Jelinek >=20 > PR target/107185 > * config/i386/i386.md (*notxor_1): Use MASK_REG_P (x) > instead of > MASK_REGNO_P (REGNO (x)). >=20 > --- gcc/config/i386/i386.md.jj 2022-10-11 12:10:42.188891134 +0200 > +++ gcc/config/i386/i386.md 2022-10-11 15:47:45.531449089 +0200 > @@ -10843,7 +10843,7 @@ (define_insn_and_split "*notxor_1" > (set (match_dup 0) > (not:SWI248 (match_dup 0)))] > { > - if (MASK_REGNO_P (REGNO (operands[0]))) > + if (MASK_REG_P (operands[0])) > { > emit_insn (gen_kxnor (operands[0], operands[1], operands[2])= ); > DONE; >=20 >=20 > Jakub