From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.11]) by sourceware.org (Postfix) with ESMTPS id 6698D3884578 for ; Wed, 15 May 2024 07:45:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 6698D3884578 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 6698D3884578 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=192.198.163.11 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1715759125; cv=pass; b=qFrFMiNDVPJIixUl1gooowCcedERNrgRu7KRm6wIJ3gcFpeOofR/13gn9jyBBTR+u44npC5U1p1n4nBRGR+sQk/ZCjKRBCjVxjtHmBbX+MCAmiITkOhrjFRDF7GmuSt6jMEiB/7r6++Ly8sZyYFk7YqvDeS0RpiM43B/LVfXGlQ= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1715759125; c=relaxed/simple; bh=MLXclxZ1FsYEl1yHduXCIX1RQ2yuVJm97C+95ir0q58=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=D97Twp6a8qn9G0/Hd4lMaQ4gVjkHgASFTgAKnuUi4nlwzOobAGGIfENG/H2f1XxhuEMcKQJalkB7RfjWrMA4LEFbSJN6gzGpRaIEIBTMpl11hxLrJg+baLGSzna2RqLVhxiAAIW7lCMvkc4+UWbZpOQ/a2h/bGgi6D/z3WYEsgo= 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=1715759123; x=1747295123; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=MLXclxZ1FsYEl1yHduXCIX1RQ2yuVJm97C+95ir0q58=; b=IvKNqR/T8hOuIdt2RDtrvqM3bidaAQf7tJWkxrUGrHBtUgjuToXe0roG NHzjY9Qf8xQhLz/QhXGYcamw9RaanAVD8qu0Pjw8WHEs10HiLctsdNZBw jtMejwwddA4MOe/+EwtWZJB4m3UAD8/lpAeTOaygecNuF2vwJjBKegVKu M7i6pF3x01VEsv4ln5F+UrYBD6qcSJqK4JGfR2Yp1p20wdUkYzPulVKVF By/oYjmrW/xBf06Hk6arfMK9eA7T3eqcP4Be6Lc2fet75GhtHfasWRcQu D7rmE1hg5c74meyRItRUidldQtaDhzD5Sbu9XXyfhY7aAIpNi075OQrgP w==; X-CSE-ConnectionGUID: 8JvFIp1gQ5qDgy0m/+IgbQ== X-CSE-MsgGUID: NKIqPFLyQ92ljgpeLq1zQQ== X-IronPort-AV: E=McAfee;i="6600,9927,11073"; a="22393487" X-IronPort-AV: E=Sophos;i="6.08,161,1712646000"; d="scan'208";a="22393487" Received: from orviesa009.jf.intel.com ([10.64.159.149]) by fmvoesa105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 May 2024 00:45:22 -0700 X-CSE-ConnectionGUID: y6J6PDqBQ8itasV5woovUg== X-CSE-MsgGUID: IYJZynRWTaS/pIWw61m2nw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.08,161,1712646000"; d="scan'208";a="31077006" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orviesa009.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 15 May 2024 00:45:21 -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; Wed, 15 May 2024 00:45:21 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) 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.39; Wed, 15 May 2024 00:45:20 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) 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.39 via Frontend Transport; Wed, 15 May 2024 00:45:20 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.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; Wed, 15 May 2024 00:45:20 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RlMG0JZLX0GdX1Pw/XeT6qI+5KuQyRJMCA0eXwHIso53gDrvmYgVviFQQ8NYzhM1onHR0ptlWDPvyTwHdREj2ZXQpo1Eq55OMeh513/Y/ddAIBx1HWkKYMM7PFMHKvVaAI7Dg41JQ3aNCW1AVCesedushOD0zRxA1BNBLgCr4BVqRBMxuC0pPSkwdlilgpbKSBTFtmTfBPrby5fzTHpTEvr1sSEi5uZni5Y9dl6BPWbYauFW68BlAY8Ai6nj7DBQVFfgPr2/dD/lY7YZaBq3CWlN+7sEL2P+jiXco3hDq0V2DPd7ZSmbg+ASEaI8WWj3E7nIUTeLDJUYQVEX6pdTrg== 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=V1djuPHYWW/V7cZMTFt5aiFv550P3aQoZ0cg1kHM/FY=; b=oGs1mmhTfCVAV7CoHrXafhan1TPrKdZQpPNRmX+9RogkJ/Q/CcL6cEYT7QPGZJt0+hUSjfgyg9jfWPn4m61xG1X2ap5Lw0vhAKUfY8IgsuxFIat1f7BZOrTKTnXz/J3+1mAzP1hPIMG9lVsB4SKK65C/LJkeyawEL146SRTCwn8Ct7KB3D3c8ZWJ/Ohnh7DE2yDSdStivY4ghLPF2WmapljHMFIKXE7ME4KvdRBZeNs1jUHjb4ohaMdTeU+UZ/Fqie40PNzDdlFbZsvMP1lKUWzf/bxlIsMOpj4auQ1p+3qF9JSWy0Y+kBn5FDalvJBrbOJx9DszNV0wQI0VxrMgeg== 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 IA1PR11MB7944.namprd11.prod.outlook.com (2603:10b6:208:3d8::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.55; Wed, 15 May 2024 07:45:18 +0000 Received: from DM4PR11MB5487.namprd11.prod.outlook.com ([fe80::6150:d792:f331:4e3f]) by DM4PR11MB5487.namprd11.prod.outlook.com ([fe80::6150:d792:f331:4e3f%5]) with mapi id 15.20.7587.026; Wed, 15 May 2024 07:45:18 +0000 From: "Kong, Lingling" To: "gcc-patches@gcc.gnu.org" CC: "Liu, Hongtao" , Uros Bizjak , "Kong, Lingling" Subject: [PATCH 4/8] [APX NF] Support APX NF for right shift insns Thread-Topic: [PATCH 4/8] [APX NF] Support APX NF for right shift insns Thread-Index: AQHappYmLnFVnBbe3E+3ozLIaU42yLGX6ntg Date: Wed, 15 May 2024 07:45:18 +0000 Message-ID: References: <20240515070226.3760873-1-lingling.kong@intel.com> <20240515070226.3760873-4-lingling.kong@intel.com> In-Reply-To: <20240515070226.3760873-4-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_|IA1PR11MB7944:EE_ x-ms-office365-filtering-correlation-id: 9afea9b5-42d9-48de-5015-08dc74b2f788 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230031|366007|1800799015|376005|38070700009; x-microsoft-antispam-message-info: =?us-ascii?Q?PxCR7s/GblHt+NDDwnD6qAdmoFkbVY4jo2r97ZOx70T2z/22i9yTJHK0sGtQ?= =?us-ascii?Q?3eMJqaSVL3av8ccdiWb2JYZTfOrYdPN8owzDVjZa7dsxFftn6oCbDLL3IAEV?= =?us-ascii?Q?mYcad/foIPfMFoXO0DSSVW0bzgd5XDGTdpllGCXDVrjay0iEYjuhBETg+PnL?= =?us-ascii?Q?RYwsQJEhNHLMEa0peo0jZ/9Y2/oxYpaB4VOgThWqNPRZu6Hl9QvIxzncMgP+?= =?us-ascii?Q?5OQHkbI8Pcpw6ji1851DGVZNir0byuYggQReiysku1mmAZTZQcYGWWjjB1r7?= =?us-ascii?Q?cPi+pT2yklpAeStzoZf0NLzaGnUyTPz2b7Rw2eGsouSmHXHSnTxl/SGZ8SXI?= =?us-ascii?Q?/KoBXZGb2TvEi9KhnEvf+FH2tV3dpVn7EgEC+cVDG24UZujpWh+PBNa3bwtb?= =?us-ascii?Q?NwtqKeV3hhQyFhOrlSYfvfPJgL91/XpKbi+0Xde9m86kuoit/kos5jgP2v0F?= =?us-ascii?Q?iL6F+BaTdRq9SJJ87kQM32obMde2ZCmcLRre6Mfk6tbpnRgC9pX/RSOOeH5z?= =?us-ascii?Q?OBNY871HeWL1B181JnKy7XaJI7EJGk9SDgzTYuIPwVzYTu6n2go389yuCm2H?= =?us-ascii?Q?SvVMcM08bXA/CtSe/dG2j+pLvESbdR5i9u89RTsBpjBj77kHiKYd31aOduvQ?= =?us-ascii?Q?daarvzNOjP55AZ2IXZtTkAqlI+g11IirCwpBIBjLAEiAIKE4ORAwW1vDOc3L?= =?us-ascii?Q?7jmc6uySREqtSaoyCGCOJqVXBo3aQEfYuGd/CdJcs6ObLArJ7NrcOJ6Xtnvz?= =?us-ascii?Q?3QJd9UFlFSya6TzMvU8KTf9U/O6/l+9rFZa6ySZM83kpO05AHpc32WCw6UEZ?= =?us-ascii?Q?iMWTTZUCEIemguwUlSliGm9K6WebPL8mAC0gHmdMtXGRlKp6peKjcGpzibuF?= =?us-ascii?Q?z4vQSVQ0RYNH5DG8hfqjEp2JwcKNFlxB2jEhqu6FZMTI830j56Bc6ayRPUln?= =?us-ascii?Q?OGfd6naXHH9IvVpnsbl6zJCqgUDxHK5FQGJUVD7Fq/CGJh4nFAB6jOgOwAs1?= =?us-ascii?Q?CH/y/x9mXi2gdupozIoEud56cI+x2RosDPNfg/J3cklikFtNaXq4O7FVGqkU?= =?us-ascii?Q?uclfpYFsHBOaBa2StUjCl2jRvYxgl95/+l+XdwZCVgXX0PI+qagh/CEQrsIs?= =?us-ascii?Q?xdNmxPWbftjohsudO4hoN+CvuQY3y4C90TM8ASvFXIJzSHkviI/JldoeEQED?= =?us-ascii?Q?XDwDItkPa4KdbOPMvBeWx5V5F766mpWA6rpWjQUo9PPBZRnVXQ3cXTfTQo2S?= =?us-ascii?Q?ulGboAw4dGoa5QIsWBfeZ0o+h6BiUzt+I5V7K0du7lN8Hr21DdpTFMkyI/Pn?= =?us-ascii?Q?WV8xCEBGyUjyBAdT70rhe3SfI7wnpFA9HsJXKxtASRUkOA=3D=3D?= 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:(13230031)(366007)(1800799015)(376005)(38070700009);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?yImEvYCrT4BkrUKzo6tf90Bxn88FHL5wyNzgMmC6NOF6Euy23ILcwHlKvdsQ?= =?us-ascii?Q?CjpMBLEYjcgC6PNRYo8HC+otH8+lsdSZgETQ8UYWBcragBY0rnbGxD4xa+E6?= =?us-ascii?Q?fIuiJct3CZGos837fPnSyUIzbTbXr1whiELocDt3VfqlSPK7vcOmxOnYMz+M?= =?us-ascii?Q?Et7pmJON+9iKpkhUTUeM06aTeihTB8F9AqGExggzF6NhvefxYMG1QoShYQln?= =?us-ascii?Q?rg5s0jS2V8E/MSBgk1FZBaUBAu6UXcz5k5GVPFPbrZLL2zIyB9s5hA6+7OYu?= =?us-ascii?Q?OKlnUISB2qiOOz2WEOcp4kDCWDSc+qNaZKheW3x3Om4ZPwvQWCo7PR3mKMp2?= =?us-ascii?Q?KZJ1FdmUP4tN6T9X8IliUqMHa/GwRNdpKUC1OuGlMdVTip79XcnIRTOkOBPu?= =?us-ascii?Q?dkYID4K/EXJ8BM3MQ1P3YlndL0ay4Ux250znyyh2k7UNM6svnGYbVQ4yx7lh?= =?us-ascii?Q?3b25lwUBwa3fmziBaOBbJxMZwSgYtktbtJ3LHP7jswyZhJ5Sf+U+QqvOU9UJ?= =?us-ascii?Q?7w2gCl5vmB9wwxSxlavp67CGeAcgs5ZGy534qCNntv5E52plBIbBzHgzP9hO?= =?us-ascii?Q?aG6PRN8iu4pG0hhb+Pj3tQulnXlr7jnDbMf9eilUrL+Pz07nOETScBxv5zwK?= =?us-ascii?Q?oQOYdCZlOMGG00ucL6ehMQkkQdErtbF1Pc0izUPaVP3VmnDG4NioVvluMWYX?= =?us-ascii?Q?5zi1QvLN3KWp/qs5t7Snz/aTbOufAyAEobeevGfZi5HfzgCvUtaC9SNnSBM/?= =?us-ascii?Q?IM8q7Nqxi36cVk2F2+IH9RVPB6quE7gZ7AO6JVr/ju56dqpkSaqzDal6Inb+?= =?us-ascii?Q?fd/nlT4G8GecRJup/D8NX+lX7zSsYpxHJ01XzUF1WH5mRQenw3DVBj29+Nyi?= =?us-ascii?Q?SUCIA6IeO7Dpje7BfgPNaDKs466lOSfRQgVXoBIp7XqUSujSoyelRtaPpl0u?= =?us-ascii?Q?wH/7g9zMV0h3Ztrpf8fOznbf/02o1H4MjjtK5fKLayWTk87zuwKA9TsGxf/E?= =?us-ascii?Q?B2E8YEp8mu7Ev+rzdrRcDmo6L0SC8LuQ7tVysqS+BIVA1XjdF0byg2ew4G6y?= =?us-ascii?Q?Y/i2rtJrDF/bg4dmduJOTvUhI/9hZl96Q7tYWmEAUBUv3FgbbmW0qOBBL6ce?= =?us-ascii?Q?k0V6M9378IjMoNPERcWEoNBqGzpMRL/ErBCZM9Qxpf+9OCfH8kx/AIVoOJ8O?= =?us-ascii?Q?zSce1t0YC34d+TXx9PTtuTeC0QebR4vJKe4CvmQ/jgk2U79ff1Ip1jtmeAPa?= =?us-ascii?Q?9N9bZiHE3Umq/hzn7YRqToMPXgOcu9a09aGWgJmr8378hy1ob8g2BHJh8gql?= =?us-ascii?Q?2GI14+NBcl7Pfxr0+NEufmPyOYA2q4IHfxemzAmSdN8P87ffLVtwFdbgC0yH?= =?us-ascii?Q?MWRrjiDATciRyJ1x1VAXqqcdetVqVs2Y3Lo0vT3cEciwqDU3w0DUJsO87NRB?= =?us-ascii?Q?/xCt4Yx65/l8M9yLQAJBbAQ+uhF1C+HcAzZqzk49wIWsJnOVSJYkv8r519nM?= =?us-ascii?Q?e024/Tq4ZdyJiZNKLO5feijdLPxTWfwPOhaxkCYxe/GDcWDRzdb68TILjbXW?= =?us-ascii?Q?4eraKDUYbM51jttYw9U+dSrboR9iGz+Cy1cIiIEy?= 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: DM4PR11MB5487.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9afea9b5-42d9-48de-5015-08dc74b2f788 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 May 2024 07:45:18.5566 (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: 1lZDW9FCal5A3sODsfbwyLcjesV4y8k7EjgaP/pOUj8fKZBX36yx1t//pUziDCHd3IQKcZK+CjvXzwF96Ahnjg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR11MB7944 X-OriginatorOrg: intel.com X-Spam-Status: No, score=-13.7 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 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: gcc/ChangeLog: * config/i386/i386.md (*ashr3_1_nf): New. (*lshr3_1_nf): Ditto. (*lshrqi3_1_nf): Ditto. (*lshrhi3_1_nf): Ditto. --- gcc/config/i386/i386.md | 85 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 9ffdb3= fe71a..adcb09fcdd0 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -16569,6 +16569,21 @@ [(set_attr "type" "ishiftx") (set_attr "mode" "")]) =20 +(define_insn "*ashr3_1_nf" + [(set (match_operand:SWI48 0 "nonimmediate_operand" "=3Drm,r,r") + (ashiftrt:SWI48 + (match_operand:SWI48 1 "nonimmediate_operand" "0,rm,rm") + (match_operand:QI 2 "nonmemory_operand" "c,r,c")))] + "TARGET_APX_NF && + ix86_binary_operator_ok (ASHIFTRT, mode, operands, TARGET_APX_NDD= )" + "@ + %{nf%} sar{}\t{%2, %0|%0, %2} + # + %{nf%} sar{}\t{%2, %1, %0|%0, %1, %2}" + [(set_attr "isa" "*,bmi2,apx_ndd") + (set_attr "type" "ishift,ishiftx,ishift") + (set_attr "mode" "")]) + (define_insn "*ashr3_1" [(set (match_operand:SWI48 0 "nonimmediate_operand" "=3Drm,r,r") (ashiftrt:SWI48 @@ -16630,6 +16645,21 @@ } [(set_attr "isa" "*,*,*,apx_ndd")]) =20 +(define_insn "*lshr3_1_nf" + [(set (match_operand:SWI48 0 "nonimmediate_operand" "=3Drm,r,?k,r") + (lshiftrt:SWI48 + (match_operand:SWI48 1 "nonimmediate_operand" "0,rm,k,rm") + (match_operand:QI 2 "nonmemory_operand" "c,r,,c")))] + "TARGET_APX_NF && + ix86_binary_operator_ok (LSHIFTRT, mode, operands, TARGET_APX_NDD)= " + "@ + %{nf%} shr{}\t{%2, %0|%0, %2} + # + # + %{nf%} shr{}\t{%2, %1, %0|%0, %1, %2}" + [(set_attr "isa" "*,bmi2,avx512bw,apx_ndd") + (set_attr "type" "ishift,ishiftx,msklog,ishift") + (set_attr "mode" "")]) =20 (define_insn "*lshr3_1" [(set (match_operand:SWI48 0 "nonimmediate_operand" "=3Drm,r,?k,r") @@ -= 16669,6 +16699,17 @@ (set_attr "mode" "")]) =20 ;; Convert shift to the shiftx pattern to avoid flags dependency. +;; For NF/NDD doesn't support shift count as r, it just support c,=20 +;; but it has no flag. +(define_split + [(set (match_operand:SWI48 0 "register_operand") + (any_shiftrt:SWI48 (match_operand:SWI48 1 "nonimmediate_operand") + (match_operand:QI 2 "register_operand")))] + "TARGET_BMI2 && reload_completed" + [(set (match_dup 0) + (any_shiftrt:SWI48 (match_dup 1) (match_dup 2)))] + "operands[2] =3D gen_lowpart (mode, operands[2]);") + (define_split [(set (match_operand:SWI48 0 "register_operand") (any_shiftrt:SWI48 (match_operand:SWI48 1 "nonimmediate_operand") @@ -167= 37,6 +16778,20 @@ (zero_extend:DI (any_shiftrt:SI (match_dup 1) (match_dup 2))))] "operands[2] =3D gen_lowpart (SImode, operands[2]);") =20 +(define_insn "*ashr3_1_nf" + [(set (match_operand:SWI12 0 "nonimmediate_operand" "=3Dm, r") + (ashiftrt:SWI12 + (match_operand:SWI12 1 "nonimmediate_operand" "0, rm") + (match_operand:QI 2 "nonmemory_operand" "c, c")))] + "TARGET_APX_NF && + ix86_binary_operator_ok (ASHIFTRT, mode, operands, TARGET_APX_NDD= )" + "@ + %{nf%} sar{}\t{%2, %0|%0, %2} + %{nf%} sar{}\t{%2, %1, %0|%0, %1, %2}" + [(set_attr "isa" "*, apx_ndd") + (set_attr "type" "ishift") + (set_attr "mode" "")]) + (define_insn "*ashr3_1" [(set (match_operand:SWI12 0 "nonimmediate_operand" "=3Dm, r") (ashiftrt:SWI12 @@ -16765,6 +16820,21 @@ (const_string "*"))) (set_attr "mode" "")]) =20 +(define_insn "*lshrqi3_1_nf" + [(set (match_operand:QI 0 "nonimmediate_operand" "=3Dqm,?k,r") + (lshiftrt:QI + (match_operand:QI 1 "nonimmediate_operand" "0,k,rm") + (match_operand:QI 2 "nonmemory_operand" "cI,Wb,cI")))] + "TARGET_APX_NF && + ix86_binary_operator_ok (LSHIFTRT, QImode, operands, TARGET_APX_NDD)" + "@ + %{nf%} shr{b}\t{%2, %0|%0, %2} + # + %{nf%} shr{b}\t{%2, %1, %0|%0, %1, %2}" + [(set_attr "isa" "*,avx512dq,apx_ndd") + (set_attr "type" "ishift,msklog,ishift") + (set_attr "mode" "QI")]) + (define_insn "*lshrqi3_1" [(set (match_operand:QI 0 "nonimmediate_operand" "=3Dqm,?k,r") (lshiftrt:QI @@ -16802,6 +16872,21 @@ (const_string "*"))) (set_attr "mode" "QI")]) =20 +(define_insn "*lshrhi3_1_nf" + [(set (match_operand:HI 0 "nonimmediate_operand" "=3Drm,?k,r") + (lshiftrt:HI + (match_operand:HI 1 "nonimmediate_operand" "0,k,rm") + (match_operand:QI 2 "nonmemory_operand" "cI,Ww,cI")))] + "TARGET_APX_NF && + ix86_binary_operator_ok (LSHIFTRT, HImode, operands, TARGET_APX_NDD)" + "@ + %{nf%} shr{w}\t{%2, %0|%0, %2} + # + %{nf%} shr{w}\t{%2, %1, %0|%0, %1, %2}" + [(set_attr "isa" "*, avx512f, apx_ndd") + (set_attr "type" "ishift,msklog,ishift") + (set_attr "mode" "HI")]) + (define_insn "*lshrhi3_1" [(set (match_operand:HI 0 "nonimmediate_operand" "=3Drm, ?k, r") (lshiftrt:HI -- 2.31.1