From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-x432.google.com (mail-pf1-x432.google.com [IPv6:2607:f8b0:4864:20::432]) by sourceware.org (Postfix) with ESMTPS id E8F063858024 for ; Fri, 26 Mar 2021 14:08:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org E8F063858024 Received: by mail-pf1-x432.google.com with SMTP id x126so4911585pfc.13 for ; Fri, 26 Mar 2021 07:08:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=NxwaEwgWTt82zSupaNbn8i6y+3YFCOIeIRsWgDE/z9c=; b=Xk/5BENP4FHbo2Zi0pHB/goUY2oi2y6L00zwxQ+6UxpZ96hASVNnz8vYHlAZWwYgio v9m5ZTulfgC56e9m+ogaiuMq1mbd1efn7f2kR9ow0rMNDjxz9cwXQtT34PV/O9Jqd+V4 WCT7wYoIFx5vu3+tm4HRPfWQ3cvE59tOOyAmSGr4RCe2vx3CInUhphvRMqXEqb2DSWph Bh91vJ8lbXFDhx+WPuCstECbNIbP5ZdrKSydil1ANbYIaMs+5pX+3pqq7avDAN9oHF9e JJV1pW81MrbHp1Xd/WMYpMAF/HL94enKPevt9h5j1Q0qFeiU+kc7TnHGzNL8GKOZ6WGL UBAA== X-Gm-Message-State: AOAM531xwb78AL1ZZiF+jWhTyoEW4/OZVVWHFAklJEcJplw4AaLfUmIL LT9EpstvG0FEADopTCmrZjOzWFa7wjXaoA== X-Google-Smtp-Source: ABdhPJzNJm9oIf6zluCFbHdWr0I2RYVr0BSdS4zeInnI/ub5UXyKjoN1Lu6vIsJHSb9026d50mu3Dg== X-Received: by 2002:aa7:8d84:0:b029:1f8:3449:1bc6 with SMTP id i4-20020aa78d840000b02901f834491bc6mr12799235pfr.76.1616767695491; Fri, 26 Mar 2021 07:08:15 -0700 (PDT) Received: from [172.31.0.175] (c-98-202-48-222.hsd1.ut.comcast.net. [98.202.48.222]) by smtp.gmail.com with ESMTPSA id p5sm9366035pfq.56.2021.03.26.07.08.14 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 26 Mar 2021 07:08:15 -0700 (PDT) Subject: Re: AW: AW: AW: setmemsi, movmemsi and post_inc To: stefan@franke.ms, gcc-help@gcc.gnu.org References: <00fb01d72182$266be7f0$7343b7d0$@franke.ms> <011601d72186$41fad1d0$c5f07570$@franke.ms> <013801d721b3$cba68730$62f39590$@franke.ms> <014101d7220b$e4f3da50$aedb8ef0$@franke.ms> From: Jeff Law Message-ID: Date: Fri, 26 Mar 2021 08:08:13 -0600 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 MIME-Version: 1.0 In-Reply-To: <014101d7220b$e4f3da50$aedb8ef0$@franke.ms> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP 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-help@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-help mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Mar 2021 14:08:19 -0000 On 3/26/2021 12:47 AM, Stefan Franke wrote: >> Von: Gcc-help Im Auftrag von Jeff Law via >> On 3/25/2021 2:16 PM, Stefan Franke wrote: >>> At least it seems possible to use auto_inc inside an emitted loop, since that >> yields a separate bb... >> >> I wouldn't rely on that. >> > What about using (parallel ) as envelope for the loop body? If you mean a parallel where you've got the memory reference as well as an update of the base register as distinct sets, yes that will work as the RTL pattern is fully describing the operation. This is documented in the manual: An instruction that can be represented with an embedded side effect could also be represented using @code{parallel} containing an additional @code{set} to describe how the address register is altered.  This is not done because machines that allow these operations at all typically allow them wherever a memory address is called for.  Describing them as additional parallel stores would require doubling the number of entries in the machine description. > Or even create a pseudo insn which yield the loop body as asm template? I wouldn't recommend this. Jeff