From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa2.mentor.iphmx.com (esa2.mentor.iphmx.com [68.232.141.98]) by sourceware.org (Postfix) with ESMTPS id 316E93858D28 for ; Thu, 29 Sep 2022 09:57:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 316E93858D28 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="5.93,354,1654588800"; d="scan'208";a="83908778" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa2.mentor.iphmx.com with ESMTP; 29 Sep 2022 01:57:03 -0800 IronPort-SDR: NbNpu+ivH1Fjd2MpT4de1H3KIAJDPBM/NW7kBPsQxYLP79oLJ0GeFaPn6OcZaruqQ/lZO/2ov6 3eWYR9X4i18zEK8TM+U06tndvzdr/aZ1181IYWJsb2lFelDmJw/mYI+0AaMV8bruk9lgauGYYM a/lF+2cdrXxnzt8gQKjLud7YnyUqLzNKkaWMygQirWdUoGHnnzwcKW+7Gp0wrm7N7633jwsA7q hQpBDLt7P5QW+4t5GexPKmzeUVMYyb12hqBXq2oO9oXUv1knkGnF61f2XTj+SXflhnSnipacKw fDo= Message-ID: Date: Thu, 29 Sep 2022 10:56:57 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.3.0 Subject: Re: [PATCH] vect: while_ult for integer mask Content-Language: en-GB To: Richard Biener via Gcc-patches , Richard Biener , , References: <87180de9-d0d4-b92f-405f-100aca3d5cf8@codesourcery.com> From: Andrew Stubbs In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: SVR-IES-MBX-07.mgc.mentorg.com (139.181.222.7) To svr-ies-mbx-11.mgc.mentorg.com (139.181.222.11) X-Spam-Status: No, score=-8.8 required=5.0 tests=BAYES_00,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,NICE_REPLY_A,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,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: On 29/09/2022 10:24, Richard Sandiford wrote: > Otherwise: > > operand0[0] = operand1 < operand2; > for (i = 1; i < operand3; i++) > operand0[i] = operand0[i - 1] && (operand1 + i < operand2); > > looks like a "length and mask" operation, which IIUC is also what > RVV wanted? (Wasn't at the Cauldron, so not entirely sure.) > > Perhaps the difference is that in this case the length must be constant. > (Or is that true for RVV as well?) I too saw that presentation and I have compared notes with Juzhe before posting this. As he has posted, what they want is different because their config register has an explicit length field whereas GCN just uses a mask to limit the length (more like AArch64, I think). The RVV solution uses different logic in the gimple IR; this proposal is indistinguishable from the status quo at that point. Andrew