From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com [IPv6:2a00:1450:4864:20::635]) by sourceware.org (Postfix) with ESMTPS id 4B8183858C53 for ; Fri, 5 Aug 2022 14:53:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 4B8183858C53 Received: by mail-ej1-x635.google.com with SMTP id gb36so5427184ejc.10 for ; Fri, 05 Aug 2022 07:53:53 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=wewY5Q4C3ZxsmH5QVNJh1J927aOedigLkIg+jKDLCvA=; b=NbDiocgUUK6D0KPzxD1e40Q4KIUJKVTKapKpf1mWN51LSWbrUDo5NHi6dsrgA8tbyH H42ZQ7lyHC2B2EfuT0YWZwFvH8qaJAywDCC8Z09SW6lNBNeipP940XyqSWT9VfiNtbLm j8n8SFGGvhzlKXC8uhMophCeZoK7W9cOmybFgN3RJr8Pw3vG0aulcQD5KR/i76aEwvX6 kyrLg3YmeT+o2tvbuFphSyIvAFm5Kii0PPeBUGMjyq6yrHMtfs4Z1S2ksAkexv3774wn ZPRbta4jJ0SyqMFhmSxIastYrLiLwAsVHcIzf4aCsjgaaVjkLYkDZJAdfFsIut7bn3N+ pZZg== X-Gm-Message-State: ACgBeo1eftwfvazazr1kc+OMp1fOtw76vDA26qYmKgGPWx3rJ1syCkJp 65rSTEsy5R2g6EOrPm0UnzRJoY0DBUSKqFeojuwPBQ== X-Google-Smtp-Source: AA6agR6LrL4agITUYXGyl8SPste+0w843qzIz3ljMhW+ybpKWlZu8fkPwIdqahYu9qVfBrKlgwdpSth4wiwwFet9vAs= X-Received: by 2002:a17:907:72cb:b0:72b:820a:f09b with SMTP id du11-20020a17090772cb00b0072b820af09bmr5538014ejc.335.1659711232011; Fri, 05 Aug 2022 07:53:52 -0700 (PDT) MIME-Version: 1.0 References: <95d2de77-5b68-6d0b-ac99-ac1ca28835e2@arm.com> <69a0dc52-4125-1d25-fa2b-4acf6cc3b80f@arm.com> In-Reply-To: <69a0dc52-4125-1d25-fa2b-4acf6cc3b80f@arm.com> From: Prathamesh Kulkarni Date: Fri, 5 Aug 2022 20:23:15 +0530 Message-ID: Subject: Re: [PATCH 3/4] match.pd: Teach forwprop to handle VLA VEC_PERM_EXPRs with VLS CONSTRUCTORs as arguments To: "Andre Vieira (lists)" Cc: gcc-patches@gcc.gnu.org, Richard Sandiford Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-3.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) 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, 05 Aug 2022 14:53:55 -0000 On Fri, 5 Aug 2022 at 18:26, Andre Vieira (lists) wrote: > > Hi, > > This patch is part of the WIP patch that follows in this series. It's > goal is to teach forwprop to handle VLA VEC_PERM_EXPRs with VLS > CONSTRUCTORs as arguments as preparation for the 'VLA constructor' hook > approach. /* Shuffle of a constructor. */ bool ret = false; - tree res_type = TREE_TYPE (arg0); + tree res_type = TREE_TYPE (gimple_get_lhs (stmt)); tree opt = fold_ternary (VEC_PERM_EXPR, res_type, arg0, arg1, op2); if (!opt || (TREE_CODE (opt) != CONSTRUCTOR && TREE_CODE (opt) != VECTOR_CST)) This has to be TREE_TYPE (arg0). I had changed it to TREE_TYPE (gimple_assign_lhs (stmt)) and it caused several ICE's on ppc64le (PR106360) For details, see: https://gcc.gnu.org/pipermail/gcc-patches/2022-July/598611.html I currently have a patch in review that extends fold_vec_perm to handle differing vector lengths: https://gcc.gnu.org/pipermail/gcc-patches/2022-August/599126.html Thanks, Prathamesh > > Kind Regards, > Andre