From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-eopbgr150070.outbound.protection.outlook.com [40.107.15.70]) by sourceware.org (Postfix) with ESMTPS id 9B260385840E; Fri, 30 Jul 2021 08:05:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9B260385840E Received: from AS8PR04CA0001.eurprd04.prod.outlook.com (2603:10a6:20b:310::6) by DB7PR08MB3916.eurprd08.prod.outlook.com (2603:10a6:10:7e::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.21; Fri, 30 Jul 2021 08:05:12 +0000 Received: from AM5EUR03FT050.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:310:cafe::c4) by AS8PR04CA0001.outlook.office365.com (2603:10a6:20b:310::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18 via Frontend Transport; Fri, 30 Jul 2021 08:05:12 +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 AM5EUR03FT050.mail.protection.outlook.com (10.152.17.47) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18 via Frontend Transport; Fri, 30 Jul 2021 08:05:11 +0000 Received: ("Tessian outbound 072c11bad1a2:v100"); Fri, 30 Jul 2021 08:05:11 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 48af8934ca0e3f8d X-CR-MTA-TID: 64aa7808 Received: from 86df2fdf01fd.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 40740B16-F5C1-4A37-8CEF-19B9AC28A001.1; Fri, 30 Jul 2021 08:05:04 +0000 Received: from EUR01-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 86df2fdf01fd.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 30 Jul 2021 08:05:04 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bNpCSrO/J+YTP5gSUD0XXfHcRKxwE54oGQhaa3U0qKimPQCbnDO0EkBt8ijb8gc2Q7WnYdkI1mP83bJ6Nyvx6AleCKaCIh+7GTDMl3Ev1CycqyLaWXIiZkgv/xXuh6J4LKMUSX8qapAgvG9ZRlngkxl5bcfJ1yacKLKo13qw0eE9P7VNaaO5AQ4kVtD2pRAMbdvG1W2pMe1VEEfNOZJARhh/w/GFmDpEmsJV+mvWIBvCDj6GxgoVBVSELHqILSDOzhsVk6x9bab8o19CF/xGBaeiLpG6FdH1NWYbejwNz/QlHlnwD/wSVM10OzqjCKSxRN299A/ofWZkUQJcPJexIw== 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=Vy4Rdrfwa2rn2anxw0SuZV1r2Z1zlK++/Ti8ZXoTvcc=; b=YY2vLQpqV2GsU2fQcTjLU91v06iCBiOxcsfalYLCkLlPEQEb4FFWFr9SGpdkaX+Ri/HE52Du+DkXABXzIY51woyv0ZldR8YsaXyb+J8DygcfyCSF9KT+/fO+uGt+2JftVcAt3kgfAQZGtBv92Lv6tymeELqFCyYJYkdC8egDqC8gNG2skX8uckBd17iBbkA80VyR6rPXCyQDkG1mpTjBs6fkrM0afSKL0YylwmZrK9jSVw2VG29QlSXRf0BZVsai+wktv5rOLgkpHkLh8RAWFCgPyH5rYN0OEadoP0G+wNbk0479T1NcSQfpzKM25KAexDXEQez+rg+lKwy+dPVLxw== 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 Authentication-Results-Original: orcam.me.uk; dkim=none (message not signed) header.d=none;orcam.me.uk; dmarc=none action=none header.from=arm.com; Received: from DBAPR08MB5589.eurprd08.prod.outlook.com (2603:10a6:10:1a2::23) by DBAPR08MB5687.eurprd08.prod.outlook.com (2603:10a6:10:1b1::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.23; Fri, 30 Jul 2021 08:05:03 +0000 Received: from DBAPR08MB5589.eurprd08.prod.outlook.com ([fe80::7107:3d84:1bbe:a91b]) by DBAPR08MB5589.eurprd08.prod.outlook.com ([fe80::7107:3d84:1bbe:a91b%4]) with mapi id 15.20.4373.025; Fri, 30 Jul 2021 08:05:03 +0000 From: Richard Sandiford To: Xi Ruoyao Mail-Followup-To: Xi Ruoyao , gcc-patches@gcc.gnu.org, marxin@gcc.gnu.org, Matthew Fortune , "Maciej W. Rozycki" , richard.sandiford@arm.com Cc: gcc-patches@gcc.gnu.org, marxin@gcc.gnu.org, Matthew Fortune , "Maciej W. Rozycki" Subject: Re: PING^5: [PATCH] mips: add MSA vec_cmp and vec_cmpu expand pattern [PR101132] References: <1c61137b2e714a8a45e2b078a79851acc2eb5b8c.camel@mengyan1223.wang> <4bd3eabc82dd007b1ed684aa2f1f720918740986.camel@mengyan1223.wang> Date: Fri, 30 Jul 2021 09:04:56 +0100 In-Reply-To: <4bd3eabc82dd007b1ed684aa2f1f720918740986.camel@mengyan1223.wang> (Xi Ruoyao's message of "Fri, 30 Jul 2021 12:56:18 +0800") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: LO2P265CA0095.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:8::35) To DBAPR08MB5589.eurprd08.prod.outlook.com (2603:10a6:10:1a2::23) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from localhost (217.140.106.32) by LO2P265CA0095.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:8::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.18 via Frontend Transport; Fri, 30 Jul 2021 08:05:03 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 48f70a62-6edf-4b40-6d82-08d95330c168 X-MS-TrafficTypeDiagnostic: DBAPR08MB5687:|DB7PR08MB3916: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:7691;OLM:7691; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: VyqVDxfq6XylTeLPohzvzjLSZiCaQkHaDzI+OZeI36YT2PqGWOwm3RUlfMbsqSgrySGSj6eo2Ad07P/VOaqK0R90NXnDJygJqbOKgKqwCOY6djggm3z/DSIOuSkL91kKGnpukEr+zdkrerzlMZ3reIUgNLNAkee6QTjpZnajZPgHaSjDfO34DoPOHb76ib1rWBlysXR0+9Oi84js+guQfcHiwoe1TNiF7nHFmRdGdXs06U/rbfyF19dTGbxIYRvI0JhOqBZkynjVa69UFp5FDHwhcUs6LT7kWAUYuQSjLNPfgGdW0Ei2InkztSqVW3Vxp8b/mWIDrg/ac8uQsKw43WkhBdz0r366CMAtZ4wxYszXIjFrBxwICxaw/xWkRIu1jQwsBG26tUa6Ej6r10SImCBMt3kyUNy4M0ELGnqMUNPMsb5O8uyVBqvSokkDR759DuX7y/869cVTjKva5JJ7u8SCKNlfWeJIPC51zyhI0uDdrMdvYQZPXJVPVJqKxZwY462MXrVCe+oV+GcZEimRxL+nrVWeW0iLPKLX35/JIXc1jsrafI6BoWTMWuP1Snx7rFebvyrs6bGggUko78+B8QVDxXLFmlMJCAjL/0OdIa+pau6ZBQ38yRI3MW9TufR+3FmuGL4ULBhKSbSnUnLBE670PmEkx0tn83bHRFIpYeI9Ffm0aUKbH0OeNYEFkDzvk+yWTzBBuXsxNpOModAWwHkB51WqVBRJ57KRiscF6zQ= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DBAPR08MB5589.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(346002)(136003)(366004)(396003)(39860400002)(4326008)(66556008)(44832011)(66476007)(66946007)(86362001)(8676002)(2906002)(316002)(38350700002)(54906003)(478600001)(2616005)(8936002)(5660300002)(956004)(6486002)(186003)(6496006)(26005)(6916009)(6666004)(52116002)(38100700002)(36756003)(81973001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dTNJZUhZZGpNT2ttaUwvQ29DZ1NIc0YyZGRaMHlJdnRnTmFWYjBIZVJDM3gz?= =?utf-8?B?RERXcjRJcUhJVmhsMkVaOUx3OG5DWEpscnRLT215d1VkUmhRRG55L1B2MHR3?= =?utf-8?B?THdzdk16Q28rUzlnM3lFcUFHaDdpNkMxRnppZXlDSDdsYnpqRWI4VWU3TGJu?= =?utf-8?B?b05qY01veGxvS2x4VEFRUGdDeEZsUGdGK05JNFM5dk1BTW52TGV0TkVmM05V?= =?utf-8?B?MGlGYTJZc05oam02LzJiSmF0VFRCaDN4Q3JVU0JITGV0QS82MHpqZWRMZ2My?= =?utf-8?B?Z2IxMlJxYjdvK2s1Z3F6U3ZKUmliVDdOVklzQ2VqUEo2amRpdm1oR29NVW5P?= =?utf-8?B?WHJsTTBZVW9NMzJLcnV4OGFIb1lDbFRUclFRSVNlSDRpMUpnTnRGNmI2cEpL?= =?utf-8?B?UjkyZE81QTdZY3krOFpndHdraXd2YU9heGhhaFloV0tGQk9DSVJsK1h3TnpR?= =?utf-8?B?bG1tbEtZVWZnQmdYcTgvbFN4T2duOXpkVFl5M2lIZmlTOHEreVFDU3I1c0p2?= =?utf-8?B?RldFR1Y2U1hGNWx3Q2FNYlp1cE92NFR3STU2WW1HRE5TOVEvcFRjN3cwWGk4?= =?utf-8?B?MTUxU0krSFBUdS9vMlZiTnFPZWJ6U2k1R1FJU092TnhYTVpRcVpVUDdXVTlh?= =?utf-8?B?bS9YbytMK0tvWmtwRjJGM0F0VU5NUnFBQ0RrV1FhQVJJWmJlSUk0bEliMnMz?= =?utf-8?B?d3R6UjVPM2NUK3BwU3diQ0pNME53N01uVjNyNi8xZGgrL0YveWdrczFQRHdR?= =?utf-8?B?TGhwbUV3Z2FhU2ZyUGNUOVdZcHdLVW1ISHZ6TkdHdXgrRisrbjN6Mnp4MUsx?= =?utf-8?B?Ym4zTExjKzB2dlZwTldpS2VMSXNzQm9rTjZSVi91ODJaRUJVWCtCNnQxRE0r?= =?utf-8?B?TFZyc3FmcWJSRGY4MmlXZjhYdG1WTjE1WU8wZ09vZWlVN2RXZkNOUExkbllD?= =?utf-8?B?VURpbDNVVFRCUVhmTTNzK0FZQkZSTzFOaUp0MklydHR1OEZ5RHNaclFJbEMz?= =?utf-8?B?VGJFNzFnaDF3ODJvb243VUJXcmYxNnZkek90aEJRWWhHRUVTYVRzUmYrajBZ?= =?utf-8?B?OHJuQ1pibllVRE9mOFgxMjBCbnNQMzArNlRwMkZ5OEJZUXk2UzFtdzlOam40?= =?utf-8?B?dFJvQWgyMDl3dWxjWjNqSXRoTVlIQ2w5cUdOVEZTMVNkWmFFY3JjOHFtcUxn?= =?utf-8?B?S0VITHp5Q3FUcHJpN01rNEw1Tlg4NExIT29mQ0NuOC9YVkk3NHp5QzRmUjVt?= =?utf-8?B?MVdnWjh6ZDdESFRraWJIbGN4VjNLVHIwNmVZNTlXMnlaZlJBbWRQVkhNcDAw?= =?utf-8?B?MHl6Um1wT3NKRWR1TDBWMzJ6UTh6bUR3dzl6TXloOVF0ai8xRTNJWmpsWi9L?= =?utf-8?B?WDVnMkFHWFZrenVmTVhiZnR2TWVqSmZ6SkM0T1BYOUhQRlViYnhMYkZuUGtI?= =?utf-8?B?UGpvbWZRT3oyT0FxNU1HSGkyNEdUMitMc3FmNVFyVStwRThLdDdpa2JhSUF5?= =?utf-8?B?NmowSFVZaXpQSmhzUG5wSW40QUxYSlNOcE03NGZQMk5JY0cwY2hVdzEyZnEy?= =?utf-8?B?V2JycitxTDRtRnRCWXNWcnFCOGFWVmhreVV5cFRKRnNMT0ZTTzYxdkM3dnpw?= =?utf-8?B?MGx2dVdYN3l6ODlRSTZKNGVwdlY0R2NMY2taY3hpdXVyK0UxdzFjS3hBN0xT?= =?utf-8?B?Z2w3Z1IxSXhFbjZudjhOVzlaMDBvSnp2VjNQbnhCWHhuRW9PbWx0MUU4TlNS?= =?utf-8?Q?jxMr5LghUXG4E02LWzPYyd8au4fp3Y3snzph592?= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5687 Original-Authentication-Results: orcam.me.uk; dkim=none (message not signed) header.d=none;orcam.me.uk; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT050.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 5b09cdfd-5c98-4efc-d9b5-08d95330bc5e X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2SjRN67k+dZ8N7ix5N4PiOx6Xln/VuAcx8BQ3dXebJxIavdp4sGQ1zyCUJh0vA8F7nxSlwqcnwYYl9smXNLB/HqYuvdUsHXrgcBJP0QWcxf3k50v3OuvQ4kuRwJLVi2AZuCScrQRuLc4z9jrObOaidQLtzzNaDojlkJUmczyLtxGJc16Q2thV/YcTV1R+KHpejIzyFxBEm4ph3VdzUYzbixNXEC3r5wsrzlY+b1u7qgv3NKfCPiCoIhoLT+Z9BToMLid5mUpYj1TWVwvx+m8AjpX515n6u2HvWfLzzBadCiMpH87726/GQ1YPI7+2ZpkdaSV2LraMlvmBEh4gFmpWXk7+nWADMRnzkNip6oYReFoqMdy6HhZpT1XvigYDJN4rsEg33mNsboqqYpVTkSap9HEKFfPKF+gvkimhzsO/ZAmv5oPJod3aSuvFdtL4tb3ObuDeKFPqFCsjiVQlccxXBU62pUYYzkWR9RfaVzONDZzdGCz8Dx2KQGJJ9Ugl6ArC1LLDz/bJ8m59Y8FR6HvtIOQaZUV9L/cbd2D7t9nj5KrCMdUHmHhdxFOsvrs4334REvsUL4Ll3vPL6C5AQU1OpEEhHItr+2j2UfxzYzUJo5bJcKHLhCYr7zzUuJXBIu/Djtu7Dmk+AfSSdYu3hdAAcF7E2FPAtCF25CH6ulQwbEUxtRZAmdl0mcym4NpZEosGENfab626QY44WjzTJCcN+4owiBhKfdHvCfBVsdpoPY= 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)(136003)(346002)(396003)(376002)(39860400002)(46966006)(36840700001)(47076005)(2906002)(478600001)(54906003)(44832011)(956004)(107886003)(70206006)(36756003)(82310400003)(2616005)(336012)(6486002)(6496006)(70586007)(82740400003)(8676002)(450100002)(186003)(6862004)(316002)(5660300002)(36860700001)(81166007)(26005)(4326008)(6666004)(356005)(8936002)(86362001)(81973001); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jul 2021 08:05:11.7178 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 48f70a62-6edf-4b40-6d82-08d95330c168 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: AM5EUR03FT050.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3916 X-Spam-Status: No, score=-11.2 required=5.0 tests=BAYES_00, BODY_8BITS, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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: Fri, 30 Jul 2021 08:05:19 -0000 Xi Ruoyao writes: > Ping again. Sorry that this has gone unreviewed for so long. I think in practice the MIPS port is essentially unmaintained at this point -- it would be great if someone would volunteer :-) It isn't really appropriate for me to review MIPS stuff given that I work for a company that has a competing architecture. I think Jeff expressed similar concerns given his new role. That said, the patch looks clearly correct to me, so please go ahead and apply (to trunk and GCC 11). Thanks for your patience. Richard > On Mon, 2021-06-21 at 21:42 +0800, Xi Ruoyao wrote: >> Middle-end started to emit vec_cmp and vec_cmpu since GCC 11, causing >> ICE on MIPS with MSA enabled.=C2=A0 Add the pattern to prevent it. >>=20 >> Bootstrapped and regression tested on mips64el-linux-gnu. >> Ok for trunk? >>=20 >> gcc/ >>=20 >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0* config/mips/mips-proto= s.h (mips_expand_vec_cmp_expr): >> Declare. >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0* config/mips/mips.c (mi= ps_expand_vec_cmp_expr): New function. >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0* config/mips/mips-msa.m= d (vec_cmp): New >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 expander. >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (vec_cmpu): New expander. >> --- >> =C2=A0gcc/config/mips/mips-msa.md=C2=A0=C2=A0 | 22 +++++++++++++++++++++= + >> =C2=A0gcc/config/mips/mips-protos.h |=C2=A0 1 + >> =C2=A0gcc/config/mips/mips.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |= 11 +++++++++++ >> =C2=A03 files changed, 34 insertions(+) >>=20 >> diff --git a/gcc/config/mips/mips-msa.md b/gcc/config/mips/mips-msa.md >> index 3ecf2bde19f..3a67f25be56 100644 >> --- a/gcc/config/mips/mips-msa.md >> +++ b/gcc/config/mips/mips-msa.md >> @@ -435,6 +435,28 @@ >> =C2=A0=C2=A0 DONE; >> =C2=A0}) >> =C2=A0 >> +(define_expand "vec_cmp" >> +=C2=A0 [(match_operand: 0 "register_operand") >> +=C2=A0=C2=A0 (match_operator 1 "" >> +=C2=A0=C2=A0=C2=A0=C2=A0 [(match_operand:MSA 2 "register_operand") >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (match_operand:MSA 3 "register_operand")= ])] >> +=C2=A0 "ISA_HAS_MSA" >> +{ >> +=C2=A0 mips_expand_vec_cmp_expr (operands); >> +=C2=A0 DONE; >> +}) >> + >> +(define_expand "vec_cmpu" >> +=C2=A0 [(match_operand: 0 "register_operand") >> +=C2=A0=C2=A0 (match_operator 1 "" >> +=C2=A0=C2=A0=C2=A0=C2=A0 [(match_operand:IMSA 2 "register_operand") >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (match_operand:IMSA 3 "register_operand"= )])] >> +=C2=A0 "ISA_HAS_MSA" >> +{ >> +=C2=A0 mips_expand_vec_cmp_expr (operands); >> +=C2=A0 DONE; >> +}) >> + >> =C2=A0(define_insn "msa_insert_" >> =C2=A0=C2=A0 [(set (match_operand:MSA 0 "register_operand" "=3Df,f") >> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0(vec_merge:MSA >> diff --git a/gcc/config/mips/mips-protos.h b/gcc/config/mips/mips- >> protos.h >> index 2cf4ed50292..a685f7f7dd5 100644 >> --- a/gcc/config/mips/mips-protos.h >> +++ b/gcc/config/mips/mips-protos.h >> @@ -385,6 +385,7 @@ extern mulsidi3_gen_fn mips_mulsidi3_gen_fn (enum >> rtx_code); >> =C2=A0 >> =C2=A0extern void mips_register_frame_header_opt (void); >> =C2=A0extern void mips_expand_vec_cond_expr (machine_mode, machine_mode, >> rtx *); >> +extern void mips_expand_vec_cmp_expr (rtx *); >> =C2=A0 >> =C2=A0/* Routines implemented in mips-d.c=C2=A0 */ >> =C2=A0extern void mips_d_target_versions (void); >> diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c >> index 00a8eef96aa..8f043399a8e 100644 >> --- a/gcc/config/mips/mips.c >> +++ b/gcc/config/mips/mips.c >> @@ -22321,6 +22321,17 @@ mips_expand_msa_cmp (rtx dest, enum rtx_code >> cond, rtx op0, rtx op1) >> =C2=A0=C2=A0=C2=A0=C2=A0 } >> =C2=A0} >> =C2=A0 >> +void >> +mips_expand_vec_cmp_expr (rtx *operands) >> +{ >> +=C2=A0 rtx cond =3D operands[1]; >> +=C2=A0 rtx op0 =3D operands[2]; >> +=C2=A0 rtx op1 =3D operands[3]; >> +=C2=A0 rtx res =3D operands[0]; >> + >> +=C2=A0 mips_expand_msa_cmp (res, GET_CODE (cond), op0, op1); >> +} >> + >> =C2=A0/* Expand VEC_COND_EXPR, where: >> =C2=A0=C2=A0=C2=A0 MODE is mode of the result >> =C2=A0=C2=A0=C2=A0 VIMODE equivalent integer mode