From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-eopbgr150077.outbound.protection.outlook.com [40.107.15.77]) by sourceware.org (Postfix) with ESMTPS id D0B8F38515F6 for ; Mon, 10 May 2021 11:59:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org D0B8F38515F6 Received: from MR2P264CA0016.FRAP264.PROD.OUTLOOK.COM (2603:10a6:500:1::28) by AM6PR08MB3000.eurprd08.prod.outlook.com (2603:10a6:209:43::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25; Mon, 10 May 2021 11:59:55 +0000 Received: from VE1EUR03FT043.eop-EUR03.prod.protection.outlook.com (2603:10a6:500:1:cafe::41) by MR2P264CA0016.outlook.office365.com (2603:10a6:500:1::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25 via Frontend Transport; Mon, 10 May 2021 11:59:55 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; gcc.gnu.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;gcc.gnu.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT043.mail.protection.outlook.com (10.152.19.122) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25 via Frontend Transport; Mon, 10 May 2021 11:59:54 +0000 Received: ("Tessian outbound 1e34f83e4964:v91"); Mon, 10 May 2021 11:59:54 +0000 X-CR-MTA-TID: 64aa7808 Received: from 739cc0294e56.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 053A030B-B0A8-4535-9ACF-BBDA1CBB874F.1; Mon, 10 May 2021 11:59:48 +0000 Received: from EUR01-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 739cc0294e56.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 10 May 2021 11:59:48 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UJ9UGeo6Apg88jjztxZwm7QTKH6pt6La7Q4FlgwtthPGKveDezu32CcE2pTxF3RPlaeerJfEjfFN4eF/IxlPrjLltMVh/e/s9yuR8hluAzkv3oOIUxWizQDjuZlbWB2HRquuSNSXnw+3q9CsSLem0Z6uBo/guvlmdcuhWPSl//gajCE5M3n8vk0aAXR/CPrbNoUmBsdFwo3e8ykZ9s8Z+zE3CcHuEVlnRaTIKoL9smSXb7fdE0kwcbzYdEGQEwqrIsHDV2hQQEykrCjBXRYYYe+yzZD3l6SFv+rDzQ08LSUK5xA/v9ZTi9hh25URJX4iXjPN7ygedKiJiZCgLuzNWw== 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-SenderADCheck; bh=amj+XA4rqIxnZtSqjJoYQsIk0ULu6r1urLv4DzFPr+0=; b=M9sX58En4iRYlndSgfzptKqmoPMP2ZBSQRkS6RdmfuIiuf99rhpuAvaDN3aocmDc4yyVB9GyPxYsQfAu5r7dSODMtTq9LbhIhsf/VNTOWr7M8/Ot3PwmTlfMiUxqB6X4EAilCpOzZu96hj+RPxGt/5PQsVuiYBcBquR68oNwrDVeZPEA55Qo0KCQVElEVVW3HRh7KKwUTUvYY4+KbrRTJWsuaEhhJHtXTPb+ZMt/yaL5pZefnhQ3ZnS3T1Nimpz3JV0BwAQzyZj6gF5hfTL875bN/+DBn5gOsMx83c8DoCwFkQrcV/s20etb4rBUD5nJVX5Si57EoeIt1m+y8hX8+g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Received: from PAXPR08MB6926.eurprd08.prod.outlook.com (2603:10a6:102:138::24) by PAXPR08MB6655.eurprd08.prod.outlook.com (2603:10a6:102:15d::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.27; Mon, 10 May 2021 11:59:40 +0000 Received: from PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::95ab:14a5:b91f:5d7a]) by PAXPR08MB6926.eurprd08.prod.outlook.com ([fe80::95ab:14a5:b91f:5d7a%6]) with mapi id 15.20.4108.031; Mon, 10 May 2021 11:59:40 +0000 From: Kyrylo Tkachov To: Christophe Lyon CC: "gcc-patches@gcc.gnu.org" Subject: RE: [PATCH 4/9] arm: MVE: Factorize all vcmp* integer patterns Thread-Topic: [PATCH 4/9] arm: MVE: Factorize all vcmp* integer patterns Thread-Index: AQHXPcqYOK3WxV1ZLEaz3otJt9pfsKrcrERA Date: Mon, 10 May 2021 11:59:40 +0000 Message-ID: References: <1619791790-628-1-git-send-email-christophe.lyon@linaro.org> <1619791790-628-4-git-send-email-christophe.lyon@linaro.org> In-Reply-To: <1619791790-628-4-git-send-email-christophe.lyon@linaro.org> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: CAECABF7C4E63D40BC0D4B762FA96C1F.0 x-checkrecipientchecked: true Authentication-Results-Original: linaro.org; dkim=none (message not signed) header.d=none;linaro.org; dmarc=none action=none header.from=arm.com; x-originating-ip: [86.31.103.53] x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: 6b6be24b-bf81-41a3-3e02-08d913ab2012 x-ms-traffictypediagnostic: PAXPR08MB6655:|AM6PR08MB3000: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:267;OLM:267; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: QztVgFj9cd5uHqKzGBVIG3/RDg9UT0fRz6mqvE1wPJj5UULpyeXKmtvmdgm/ZtAs1GUOVkbsIot8ZkRa4EDcDdRM67GT3SxK0nl4v0R039QCtPnW7Ur3vd/vB7NQ9zEfzbXwGSF/iw5c8arnIk+4emtLbgKN641Y9OyfIhUKzwpMO2qE9TiQYyzFAKELi+Hpi2BzONKdTFWdRRyPW1WHYvofmYlVLmAcJl8HLwn6IRJdCNvqUAAZKW2ELqilYQEed52DTt/PKCO65ATODG/CtSV4EawHvjUN344Odn+qsqUf6j3U9bv2q2Pyb89ji3AJpghu7NzjqSfu/8IsNj5H/1touROxkJNk3+iifhqBmbeUsBiQPD89a1LlQwxcwEdT835wsZbnEHdbJxjb4ohgScrnijf57Ck2nxIqKRwC0zgzHQ+fnydBGRqAj3LR1s/Q9ERsW3LaI5f19gY8uHDN5t+ND+cRj9OGdl2U4Kl2pO0DVzibpVvdl8lGGsWvey5WvRoBtKVf74dMWFBXIxSUWnepeH7i/ul7iBvnrL+qVVyV6qHnn99N29kALTTZIkQq8/fxETZzhm5cCD95T6pIjG6tuav1YW00GVbPdKtt4nU= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAXPR08MB6926.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(396003)(366004)(136003)(346002)(39850400004)(316002)(86362001)(8676002)(9686003)(52536014)(122000001)(83380400001)(55016002)(26005)(38100700002)(7696005)(53546011)(2906002)(66446008)(66556008)(66476007)(64756008)(186003)(55236004)(76116006)(66946007)(8936002)(5660300002)(33656002)(478600001)(71200400001)(4326008)(6916009)(6506007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?1VEC36QVm9+ZIQF9vkM1tJQkMn1eDmn05JVdN13ZEcHodHphBRk5SaTT9Ona?= =?us-ascii?Q?vUiTqVcLLS+ul/K7JnkJfBhxC8k/2RWezxHjGZKSaYhwaRYoIGHStDlyn9x0?= =?us-ascii?Q?DqxMd28PdmeNkwzG9MjQVAWiHtsxiHBClH3uXKjLXM5lZvJhxGapTGFWiZuU?= =?us-ascii?Q?Nt0OMRO65fftonuAhOT4OeFLrK0hr1uFq51Y0FGSeY1Q2j1YBpYFDJq8Gq+A?= =?us-ascii?Q?J/pBzsn/Gs1y2HA6u/ij80y8HSfOdHmiNfEyPRxGZtjahSYc9vU3vUxFw7hx?= =?us-ascii?Q?qI2EhHbKKUuyraRKUNGUjcEPAbY+a89Osli/QeNhwy4pUH7zRs431KNzQ2id?= =?us-ascii?Q?rO/AAfzxD3SSXoQ2O4tG2ot06AND/2tMRJ7RFHR1EVopGMG2ldrsq83I1crK?= =?us-ascii?Q?KCaZq8fRnMLSmmb/IowTS9h0lfy5vwGl5/R+d1kIuLBlZGgLvjIc/1bpMiZQ?= =?us-ascii?Q?oKSI7DWNcQy/P6TVhbDYLfuaSlIc3X0nBkvz2Yaoj3yg9w79qM4IZVtCW7D5?= =?us-ascii?Q?tvW21jSv9v1lxyfR4Bg5Ah9D45nVzRdE4JFRtYg2EnoIhsvUBU6b2huUfhVG?= =?us-ascii?Q?zOmVESXgNajjvYq72uPATFfssH5aQlux392wvEcJw2RNd8JQ1fq5iDEqHII0?= =?us-ascii?Q?o/8iZz08JB9TpKsAaCBPmaJQF6gCErxuUFZHibytUHvDTOvPJfeXAvkWI+/4?= =?us-ascii?Q?Y0tW72e1o2vtGM5rdwVo1q6J4ZceAy72lQJKDTe6xh4okntmlLt8oHfZSHvZ?= =?us-ascii?Q?QynL2Vl45/IvsrN6AdZJfvvymuu0HNo1QzQqiemC3sIZ/Wq7ORijKT2zyS43?= =?us-ascii?Q?qxHGcos0Y+qYC7gEMR7v4bNkttSWLamSaGQOD/jzqf6AIUUrpv9btzBYvSNN?= =?us-ascii?Q?ASL42x5TMJJS4ZZE+b9IpNkNMHoprDpFkJlSRw+wR1Sbx0KFQkx+K+o/IPWL?= =?us-ascii?Q?RVxlkgrrhdoqfQgBxnqYkvof/G97VjX9HCq8I+9fKjQXxy5RRFz1PczRWn2l?= =?us-ascii?Q?lfbytTEoDEuMYf6XKoaMTnGGYDd5p9bmbXTM9Bqvq2h/tZBJ4m4VPRzU5yQg?= =?us-ascii?Q?IRu53FTyIND2VFYBzcydWXwr612W+y6K2twHYYrskWXEJMtvJXOWyDoj3v+A?= =?us-ascii?Q?SMiuTHjzkNWHos3gPa/eGp2E0zH4m9cMqBXOYUo8ea1Wht6zPy3YnO2pLhnC?= =?us-ascii?Q?uSFUMJyiXLLS6r3jD4+MxBYpf0DS2qihoekzEHUcFNGLFd2Sbdq1gw1JFj/b?= =?us-ascii?Q?NNa72lyIMRgoQI4LqrcwJ/nqv6Sm9rLxii25TmoOHWrfXopQwveA87K59iPD?= =?us-ascii?Q?1fc=3D?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6655 Original-Authentication-Results: linaro.org; dkim=none (message not signed) header.d=none;linaro.org; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT043.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 8b0cf3ed-384b-4535-9d4e-08d913ab17cb X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: md6kK41rpVl8rmZZcbVAUit679goIRIwmnMOxZRsntXhdVaxog6PbemAV4AvrMuAkXEKuvjoYeUk2ZBYB3uDR8UfQyJkW6ykdMcwUGimd6sqbyyzRIw1MQkm3RCrIn2lO1cQa2kGF6+4sXaQ8DQGhiBJfgj0vb0PT1yx3U3qK+2/6td4lEHvVsX20DS3ZWZL6g2W0BXijl6XHDAeqw3A14kU8zCOeK4JONdVuJlybmKZtTnLsU2w3946tGYEjivjvZ7xHdTphY9ln/HYEBLQxefyNdMpucli3Sn8dtnPsvVx9IfN0aaAt4ABnFtdqWCN2+0gRfd+vNMp8XQm7PPDFisrPovp0UHzkBpnFQ2Ssn6PAJVD6oMmeAWwsp7k5x4NGYXgsmYVH7Lau3Yx4KE34FGl/w8e8fvyLi4cqWJYr6kMYzUk2+7fEgV/bEhOSAnFXYYZcIIC9d5KfBnga2wXZrRkEBjz2OtGL7M4UG2tBPTS+8eyILYMDfdJgh42uww0TUNp0ejz/wjvoFihOa7kIeV7hkXlSrscje4hiucFrE97i5A3ONBnq1I0IDM0/FVuNBrP5lrQY/J2Q24/AQFOSmCFjoFWQXV5nSeJ9B9oBLX1Ha18aIC97L66cg/FDR+Ew/JgXUKeWC4qmtW4pv0a5MUKn+RWPOpHpm+11ZSJguY= X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(396003)(136003)(346002)(39850400004)(376002)(46966006)(36840700001)(356005)(82310400003)(53546011)(8936002)(33656002)(6506007)(55236004)(82740400003)(36860700001)(478600001)(7696005)(26005)(336012)(9686003)(8676002)(70586007)(70206006)(186003)(2906002)(47076005)(81166007)(5660300002)(83380400001)(4326008)(52536014)(55016002)(86362001)(316002)(6862004); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 May 2021 11:59:54.6358 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6b6be24b-bf81-41a3-3e02-08d913ab2012 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT043.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3000 X-Spam-Status: No, score=-13.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 May 2021 12:00:00 -0000 > -----Original Message----- > From: Gcc-patches On Behalf Of > Christophe Lyon via Gcc-patches > Sent: 30 April 2021 15:10 > To: gcc-patches@gcc.gnu.org > Subject: [PATCH 4/9] arm: MVE: Factorize all vcmp* integer patterns >=20 > After removing the signed and unsigned suffixes in the previous > patches, we can now factorize the vcmp* patterns: there is no longer > an asymmetry where operators do not have the same set of signed and > unsigned variants. >=20 > The will make maintenance easier. Ok. Thanks, Kyrill >=20 > MVE has a different set of vector comparison operators than Neon, > so we have to introduce dedicated iterators. >=20 > 2021-03-01 Christophe Lyon >=20 > gcc/ > * config/arm/iterators.md (MVE_COMPARISONS): New. > (mve_cmp_op): New. > (mve_cmp_type): New. > * config/arm/mve.md (mve_vcmpq_): New, > merge all > mve_vcmp patterns. > (mve_vcmpneq_, mve_vcmpcsq_n_, > mve_vcmpcsq_) > (mve_vcmpeqq_n_, mve_vcmpeqq_, > mve_vcmpgeq_n_) > (mve_vcmpgeq_, mve_vcmpgtq_n_, > mve_vcmpgtq_) > (mve_vcmphiq_n_, mve_vcmphiq_, > mve_vcmpleq_n_) > (mve_vcmpleq_, mve_vcmpltq_n_, > mve_vcmpltq_) > (mve_vcmpneq_n_, mve_vcmpltq_n_, > mve_vcmpltq_) > (mve_vcmpneq_n_): Remove. > --- > gcc/config/arm/iterators.md | 8 ++ > gcc/config/arm/mve.md | 250 ++++----------------------------------= ------ > 2 files changed, 27 insertions(+), 231 deletions(-) >=20 > diff --git a/gcc/config/arm/iterators.md b/gcc/config/arm/iterators.md > index 0aba93f..29347f7 100644 > --- a/gcc/config/arm/iterators.md > +++ b/gcc/config/arm/iterators.md > @@ -285,6 +285,8 @@ (define_code_iterator GTUGEU [gtu geu]) >=20 > ;; Comparisons for vc > (define_code_iterator COMPARISONS [eq gt ge le lt]) > +;; Comparisons for MVE > +(define_code_iterator MVE_COMPARISONS [eq ge geu gt gtu le lt ne]) >=20 > ;; A list of ... > (define_code_iterator IOR_XOR [ior xor]) > @@ -336,8 +338,14 @@ (define_code_attr arith_shift_insn > (define_code_attr cmp_op [(eq "eq") (gt "gt") (ge "ge") (lt "lt") (le "l= e") > (gtu "gt") (geu "ge")]) >=20 > +(define_code_attr mve_cmp_op [(eq "eq") (gt "gt") (ge "ge") (lt "lt") (l= e "le") > + (gtu "hi") (geu "cs") (ne "ne")]) > + > (define_code_attr cmp_type [(eq "i") (gt "s") (ge "s") (lt "s") (le "s")= ]) >=20 > +(define_code_attr mve_cmp_type [(eq "i") (gt "s") (ge "s") (lt "s") (le = "s") > + (gtu "u") (geu "u") (ne "i")]) > + > (define_code_attr vfml_op [(plus "a") (minus "s")]) >=20 > (define_code_attr ss_op [(ss_plus "qadd") (ss_minus "qsub")]) > diff --git a/gcc/config/arm/mve.md b/gcc/config/arm/mve.md > index e9f095d..40baff7 100644 > --- a/gcc/config/arm/mve.md > +++ b/gcc/config/arm/mve.md > @@ -836,17 +836,30 @@ (define_insn "mve_vaddlvq_p_v4si" > (set_attr "length""8")]) >=20 > ;; > -;; [vcmpneq_]) > +;; [vcmpneq_, vcmpcsq_, vcmpeqq_, vcmpgeq_, vcmpgtq_, vcmphiq_, > vcmpleq_, vcmpltq_]) > ;; > -(define_insn "mve_vcmpneq_" > +(define_insn "mve_vcmpq_" > [ > (set (match_operand:HI 0 "vpr_register_operand" "=3DUp") > - (unspec:HI [(match_operand:MVE_2 1 "s_register_operand" "w") > - (match_operand:MVE_2 2 "s_register_operand" "w")] > - VCMPNEQ)) > + (MVE_COMPARISONS:HI (match_operand:MVE_2 1 > "s_register_operand" "w") > + (match_operand:MVE_2 2 "s_register_operand" "w"))) > + ] > + "TARGET_HAVE_MVE" > + "vcmp.%# , %q1, %q2" > + [(set_attr "type" "mve_move") > +]) > + > +;; > +;; [vcmpcsq_n_, vcmpeqq_n_, vcmpgeq_n_, vcmpgtq_n_, vcmphiq_n_, > vcmpleq_n_, vcmpltq_n_, vcmpneq_n_]) > +;; > +(define_insn "mve_vcmpq_n_" > + [ > + (set (match_operand:HI 0 "vpr_register_operand" "=3DUp") > + (MVE_COMPARISONS:HI (match_operand:MVE_2 1 > "s_register_operand" "w") > + (match_operand: 2 "s_register_operand" "r"))) > ] > "TARGET_HAVE_MVE" > - "vcmp.i%# ne, %q1, %q2" > + "vcmp.%# , %q1, %2" > [(set_attr "type" "mve_move") > ]) >=20 > @@ -1005,231 +1018,6 @@ (define_expand "cadd3" > ) >=20 > ;; > -;; [vcmpcsq_n_]) > -;; > -(define_insn "mve_vcmpcsq_n_" > - [ > - (set (match_operand:HI 0 "vpr_register_operand" "=3DUp") > - (unspec:HI [(match_operand:MVE_2 1 "s_register_operand" "w") > - (match_operand: 2 "s_register_operand" "r")] > - VCMPCSQ_N_U)) > - ] > - "TARGET_HAVE_MVE" > - "vcmp.u%# cs, %q1, %2" > - [(set_attr "type" "mve_move") > -]) > - > -;; > -;; [vcmpcsq_]) > -;; > -(define_insn "mve_vcmpcsq_" > - [ > - (set (match_operand:HI 0 "vpr_register_operand" "=3DUp") > - (unspec:HI [(match_operand:MVE_2 1 "s_register_operand" "w") > - (match_operand:MVE_2 2 "s_register_operand" "w")] > - VCMPCSQ_U)) > - ] > - "TARGET_HAVE_MVE" > - "vcmp.u%# cs, %q1, %q2" > - [(set_attr "type" "mve_move") > -]) > - > -;; > -;; [vcmpeqq_n_]) > -;; > -(define_insn "mve_vcmpeqq_n_" > - [ > - (set (match_operand:HI 0 "vpr_register_operand" "=3DUp") > - (unspec:HI [(match_operand:MVE_2 1 "s_register_operand" "w") > - (match_operand: 2 "s_register_operand" "r")] > - VCMPEQQ_N)) > - ] > - "TARGET_HAVE_MVE" > - "vcmp.i%# eq, %q1, %2" > - [(set_attr "type" "mve_move") > -]) > - > -;; > -;; [vcmpeqq_]) > -;; > -(define_insn "mve_vcmpeqq_" > - [ > - (set (match_operand:HI 0 "vpr_register_operand" "=3DUp") > - (unspec:HI [(match_operand:MVE_2 1 "s_register_operand" "w") > - (match_operand:MVE_2 2 "s_register_operand" "w")] > - VCMPEQQ)) > - ] > - "TARGET_HAVE_MVE" > - "vcmp.i%# eq, %q1, %q2" > - [(set_attr "type" "mve_move") > -]) > - > -;; > -;; [vcmpgeq_n_]) > -;; > -(define_insn "mve_vcmpgeq_n_" > - [ > - (set (match_operand:HI 0 "vpr_register_operand" "=3DUp") > - (unspec:HI [(match_operand:MVE_2 1 "s_register_operand" "w") > - (match_operand: 2 "s_register_operand" "r")] > - VCMPGEQ_N_S)) > - ] > - "TARGET_HAVE_MVE" > - "vcmp.s%# ge, %q1, %2" > - [(set_attr "type" "mve_move") > -]) > - > -;; > -;; [vcmpgeq_]) > -;; > -(define_insn "mve_vcmpgeq_" > - [ > - (set (match_operand:HI 0 "vpr_register_operand" "=3DUp") > - (unspec:HI [(match_operand:MVE_2 1 "s_register_operand" "w") > - (match_operand:MVE_2 2 "s_register_operand" "w")] > - VCMPGEQ_S)) > - ] > - "TARGET_HAVE_MVE" > - "vcmp.s%# ge, %q1, %q2" > - [(set_attr "type" "mve_move") > -]) > - > -;; > -;; [vcmpgtq_n_]) > -;; > -(define_insn "mve_vcmpgtq_n_" > - [ > - (set (match_operand:HI 0 "vpr_register_operand" "=3DUp") > - (unspec:HI [(match_operand:MVE_2 1 "s_register_operand" "w") > - (match_operand: 2 "s_register_operand" "r")] > - VCMPGTQ_N_S)) > - ] > - "TARGET_HAVE_MVE" > - "vcmp.s%# gt, %q1, %2" > - [(set_attr "type" "mve_move") > -]) > - > -;; > -;; [vcmpgtq_]) > -;; > -(define_insn "mve_vcmpgtq_" > - [ > - (set (match_operand:HI 0 "vpr_register_operand" "=3DUp") > - (unspec:HI [(match_operand:MVE_2 1 "s_register_operand" "w") > - (match_operand:MVE_2 2 "s_register_operand" "w")] > - VCMPGTQ_S)) > - ] > - "TARGET_HAVE_MVE" > - "vcmp.s%# gt, %q1, %q2" > - [(set_attr "type" "mve_move") > -]) > - > -;; > -;; [vcmphiq_n_]) > -;; > -(define_insn "mve_vcmphiq_n_" > - [ > - (set (match_operand:HI 0 "vpr_register_operand" "=3DUp") > - (unspec:HI [(match_operand:MVE_2 1 "s_register_operand" "w") > - (match_operand: 2 "s_register_operand" "r")] > - VCMPHIQ_N_U)) > - ] > - "TARGET_HAVE_MVE" > - "vcmp.u%# hi, %q1, %2" > - [(set_attr "type" "mve_move") > -]) > - > -;; > -;; [vcmphiq_]) > -;; > -(define_insn "mve_vcmphiq_" > - [ > - (set (match_operand:HI 0 "vpr_register_operand" "=3DUp") > - (unspec:HI [(match_operand:MVE_2 1 "s_register_operand" "w") > - (match_operand:MVE_2 2 "s_register_operand" "w")] > - VCMPHIQ_U)) > - ] > - "TARGET_HAVE_MVE" > - "vcmp.u%# hi, %q1, %q2" > - [(set_attr "type" "mve_move") > -]) > - > -;; > -;; [vcmpleq_n_]) > -;; > -(define_insn "mve_vcmpleq_n_" > - [ > - (set (match_operand:HI 0 "vpr_register_operand" "=3DUp") > - (unspec:HI [(match_operand:MVE_2 1 "s_register_operand" "w") > - (match_operand: 2 "s_register_operand" "r")] > - VCMPLEQ_N_S)) > - ] > - "TARGET_HAVE_MVE" > - "vcmp.s%# le, %q1, %2" > - [(set_attr "type" "mve_move") > -]) > - > -;; > -;; [vcmpleq_]) > -;; > -(define_insn "mve_vcmpleq_" > - [ > - (set (match_operand:HI 0 "vpr_register_operand" "=3DUp") > - (unspec:HI [(match_operand:MVE_2 1 "s_register_operand" "w") > - (match_operand:MVE_2 2 "s_register_operand" "w")] > - VCMPLEQ_S)) > - ] > - "TARGET_HAVE_MVE" > - "vcmp.s%# le, %q1, %q2" > - [(set_attr "type" "mve_move") > -]) > - > -;; > -;; [vcmpltq_n_]) > -;; > -(define_insn "mve_vcmpltq_n_" > - [ > - (set (match_operand:HI 0 "vpr_register_operand" "=3DUp") > - (unspec:HI [(match_operand:MVE_2 1 "s_register_operand" "w") > - (match_operand: 2 "s_register_operand" "r")] > - VCMPLTQ_N_S)) > - ] > - "TARGET_HAVE_MVE" > - "vcmp.s%# lt, %q1, %2" > - [(set_attr "type" "mve_move") > -]) > - > -;; > -;; [vcmpltq_]) > -;; > -(define_insn "mve_vcmpltq_" > - [ > - (set (match_operand:HI 0 "vpr_register_operand" "=3DUp") > - (unspec:HI [(match_operand:MVE_2 1 "s_register_operand" "w") > - (match_operand:MVE_2 2 "s_register_operand" "w")] > - VCMPLTQ_S)) > - ] > - "TARGET_HAVE_MVE" > - "vcmp.s%# lt, %q1, %q2" > - [(set_attr "type" "mve_move") > -]) > - > -;; > -;; [vcmpneq_n_]) > -;; > -(define_insn "mve_vcmpneq_n_" > - [ > - (set (match_operand:HI 0 "vpr_register_operand" "=3DUp") > - (unspec:HI [(match_operand:MVE_2 1 "s_register_operand" "w") > - (match_operand: 2 "s_register_operand" "r")] > - VCMPNEQ_N)) > - ] > - "TARGET_HAVE_MVE" > - "vcmp.i%# ne, %q1, %2" > - [(set_attr "type" "mve_move") > -]) > - > -;; > ;; [veorq_u, veorq_s]) > ;; > (define_insn "mve_veorq_u" > -- > 2.7.4