From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-x429.google.com (mail-pf1-x429.google.com [IPv6:2607:f8b0:4864:20::429]) by sourceware.org (Postfix) with ESMTPS id B4A773858D28 for ; Tue, 1 Aug 2023 19:14:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B4A773858D28 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivosinc.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivosinc.com Received: by mail-pf1-x429.google.com with SMTP id d2e1a72fcca58-686f1240a22so5508072b3a.0 for ; Tue, 01 Aug 2023 12:14:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20221208.gappssmtp.com; s=20221208; t=1690917246; x=1691522046; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=lEmL9xRF1MfEx9aDhleSsT3bzpPJWhtxAhx8Y+8PF1c=; b=lZqjq/Pa71FPL2YAO7j7939NsYuSrVT9KWHlfyOBeN2VekXELjGa8bDqQNjWfm8Kwk EqcCCmLFuZq48ivbkHruR2y/8i18f5GMJjr5WkOAOeFrtoMyhi2qk8JKrletr++oBCTi dgFJhiZEvV5CkPgORfBXpATdDOzNNBEtdz4gWuSMann5JUGnA0Lrc/TtcwXCT/N7a5A+ 4BRHuGSSf6mfvtBBSnY0FZP5EoGbnbpchq2ZkltWqGsPHpEXlIZ4adj0UYyJIj4V0mcN fy7ZldIipZDD6ykl+Hrfi7d3yIb5en5GvV9J1k1b6JOj+ILELBywEfa0XPLEWxTeTDiM JQvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690917246; x=1691522046; h=in-reply-to:from:references:cc:to:content-language:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=lEmL9xRF1MfEx9aDhleSsT3bzpPJWhtxAhx8Y+8PF1c=; b=NJRmovuWJLVyd+Wg5+1nfkS5OuuaNV7FyZMKHHEWHAPOO2rD3gqY1HyyDrpycvyBfD ehhVfRXzHS7dwUzOh3QOivgjv6wu/BIh/p+rYdGpIt0Hj0HkTgd7RFKuhhxuGyBwhHP2 hWfwKBQwfYvyZ9hVUb/o+AXdZz6R2l55oK4NW28elVL0GuWGDb4KrYMgMigxZTlOYS7V qXGHWWlKNWJ4uPF6k9J49GluafLxqhSB+sEsC+ncEuH93IdfHIVywX7FSqfjeIEJNtHb ur06qhDKexfQH9lU+jFKcg+CcKYf4+fIupEi1aAlWoC7H03RSImuwR8WefVGhSvn7aKz XCbQ== X-Gm-Message-State: ABy/qLaCWJF9kryibKFIcyX4TTMtZyUWcRU9blU2HEPpDeKhYBSAiuge ZXZT4qH7T0L45HMLx27ONZR7oA== X-Google-Smtp-Source: APBJJlEfWd0999GwgQLgeWIoxuIb5u+ZTLkipJ5vAImGWigRNrhZ/kZyF1fQKBHEYZQthUfyfFY+hA== X-Received: by 2002:a05:6a21:7892:b0:13e:e3aa:d871 with SMTP id bf18-20020a056a21789200b0013ee3aad871mr169276pzc.53.1690917245648; Tue, 01 Aug 2023 12:14:05 -0700 (PDT) Received: from [10.0.16.165] ([50.221.140.188]) by smtp.gmail.com with ESMTPSA id o11-20020a63a80b000000b005646868da17sm1885315pgf.72.2023.08.01.12.14.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 01 Aug 2023 12:14:05 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------aZ2loJ2YPBr5ABw3nZGgT13G" Message-ID: <64233838-fe5e-458d-1eaf-3025b5448d85@rivosinc.com> Date: Tue, 1 Aug 2023 12:14:04 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: RISC-V: Folding memory for FP + constant case Content-Language: en-US To: Jeff Law , Jivan Hakobyan Cc: gcc-patches@gcc.gnu.org References: <3c1f0f8a-34ed-abb2-8a49-3083a2cc55d2@gmail.com> <61c9b9c2-f52e-2b4e-6d02-62c991603c39@gmail.com> From: Vineet Gupta In-Reply-To: <61c9b9c2-f52e-2b4e-6d02-62c991603c39@gmail.com> X-Spam-Status: No, score=-3.3 required=5.0 tests=BAYES_00,BODY_8BITS,DKIM_SIGNED,DKIM_VALID,NICE_REPLY_A,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 List-Id: This is a multi-part message in MIME format. --------------aZ2loJ2YPBr5ABw3nZGgT13G Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 7/25/23 20:31, Jeff Law via Gcc-patches wrote: > > > On 7/25/23 05:24, Jivan Hakobyan wrote: >> Hi. >> >> I re-run the benchmarks and hopefully got the same profit. >> I also compared the leela's code and figured out the reason. >> >> Actually, my and Manolis's patches do the same thing. The difference >> is only execution order. > But shouldn't your patch also allow for for at the last the potential > to pull the fp+offset computation out of a loop?  I'm pretty sure > Manolis's patch can't do that. > >> Because of f-m-o held after the register allocation it cannot >> eliminate redundant move 'sp' to another register. > Actually that's supposed to be handled by a different patch that > should already be upstream.  Specifically; > >> commit 6a2e8dcbbd4bab374b27abea375bf7a921047800 >> Author: Manolis Tsamis >> Date:   Thu May 25 13:44:41 2023 +0200 >> >>     cprop_hardreg: Enable propagation of the stack pointer if possible >>         Propagation of the stack pointer in cprop_hardreg is currenty >>     forbidden in all cases, due to maybe_mode_change returning NULL. >>     Relax this restriction and allow propagation when no mode change is >>     requested. >>         gcc/ChangeLog: >>                 * regcprop.cc (maybe_mode_change): Enable stack pointer >>             propagation. > I think there were a couple-follow-ups.  But that's the key change > that should allow propagation of copies from the stack pointer and > thus eliminate the mov gpr,sp instructions.  If that's not happening, > then it's worth investigating why. > >> >> Besides that, I have checked the build failure on x264_r. It is >> already fixed on the third version. > Yea, this was a problem with re-recognition.  I think it was fixed by: > >> commit ecfa870ff29d979bd2c3d411643b551f2b6915b0 >> Author: Vineet Gupta >> Date:   Thu Jul 20 11:15:37 2023 -0700 >> >>     RISC-V: optim const DF +0.0 store to mem [PR/110748] >>         Fixes: ef85d150b5963 ("RISC-V: Enable TARGET_SUPPORTS_WIDE_INT") >>         DF +0.0 is bitwise all zeros so int x0 store to mem can be >> used to optimize it. > [ ... ] > > > So I think the big question WRT your patch is does it still help the > case where we weren't pulling the fp+offset computation out of a loop. I have some numbers for f-m-o v3 vs this. Attached here (vs. inline to avoid the Thunderbird mangling the test formatting) --------------aZ2loJ2YPBr5ABw3nZGgT13G Content-Type: text/plain; charset=UTF-8; name="fmo-vs-fold-fp" Content-Disposition: attachment; filename="fmo-vs-fold-fp" Content-Transfer-Encoding: base64 YmVuY2htYXJrCXdvcmtsb2FkICMgICAgICAgdXBzdHJlYW0gICAgICAgIHVwc3RyZWFtICsg ICAgICAgICAgICAgIHVwc3RyZWFtICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZzU0ZTU0Zjc3YzEgICAgICAgIGYtbS1vICAgICAgICAgICAgICAgZm9sZC1mcC1vZmYK CjUwMC5wZXJsYmVuY2hfcgkwCQkxMjE3OTMyODE3NDc2CTEyMTc4ODQ1NTMzNjYJMC4wMDQl CTEyMTc5Mjg5NTM4MzQJMC4wMDAlCgkJMQkJNzQzNzU3MjQxMjAxCTc0MzY1NTUyODEzMwkw LjAxNCUJNzQzNjk1ODIwNDI2CTAuMDA4JQoJCTIJCTcwMzQ1NTY0NjA5MAk3MDM0MjM1NTky OTgJMC4wMDUlCTcwMzQ1NTI5NjI1MQkwLjAwMCUKNTAyLmdjY19yCTAJCTE5NTAwNDM2OTEw NAkxOTQ5NzM0Nzg5NDUJMC4wMTYlCTE5NDk4NDE4ODQwMAkwLjAxMCUKCQkxCQkyMzI3MTk5 Mzg3NzgJMjMyNjg4NDkxMTEzCTAuMDE0JQkyMzI2OTIzNzkwODUJMC4wMTIlCgkJMgkJMjIz NDQzMjgwNDU5CTIyMzQxMzYxNjM2OAkwLjAxMyUJMjIzNDI0MTUxODQ4CTAuMDA5JQoJCTMJ CTE4NjIzMzcwNDYyNAkxODYyMDY1MTY0MjEJMC4wMTUlCTE4NjIzMTEzNzYxNgkwLjAwMSUK CQk0CQkyODc0MDYzOTQyMzIJMjg3Mzc4ODcwMjc5CTAuMDEwJQkyODc0MDM3MDc0NjYJMC4w MDElCjUwMy5id2F2ZXNfcgkwCQkzMTYxOTQwNDM2NzkJMzE2MTk0MDQzNjc5CTAuMDAwJQkz MTYxOTQwNDM2NjIJMC4wMDAlCgkJMQkJNDk5MjkzNDkwMzgwCTQ5OTI5MzQ5MDM4MAkwLjAw MCUJNDk5MjkzNDkwMzYzCTAuMDAwJQoJCTIJCTM4OTM2NTQwMTYxNQkzODkzNjU0MDE2MTUJ MC4wMDAlCTM4OTM2NTQwMTU5OAkwLjAwMCUKCQkzCQk0NzM1MTQzMTA2NzkJNDczNTE0MzEw Njc5CTAuMDAwJQk0NzM1MTQzMTA2NjIJMC4wMDAlCjUwNS5tY2ZfcgkwCQk2ODkyNTg2OTQ5 MDIJNjg5MjU0NzQwMzQ0CTAuMDAxJQk2ODkyNTg2OTQ4ODcJMC4wMDAlCjUwNy5jYWN0dUJT U05fcgkwCQkzOTY2NjEyMzY0NjEzCTM5NjY0OTgyMzQ2OTgJMC4wMDMlCTM5NjY2MTIzNjUw NjgJMC4wMDAlCjUwOC5uYW1kX3IJMAkJMTkwMzc2NjI3MjE2NgkxOTAzNzY2MjcxNzAxCTAu MDAwJQkxOTAzNzY1OTg3MzAxCTAuMDAwJQo1MTAucGFyZXN0X3IJMAkJMzUxMjY3ODEyNzMx NgkzNTEyNjc2NzUyMDYyCTAuMDAwJQkzNTEyNjc3NTA1NjYyCTAuMDA4JQo1MTEucG92cmF5 X3IJMAkJMzAzNjcyNTU1ODYxOAkzMDM2NzIyMjY1MTQ5CTAuMDAwJQkzMDM2NzI1NTU2OTk3 CTAuMDAwJQo1MTkubGJtX3IJMAkJMTEzNDQ1NDMwNDUzMwkxMTM0NDU0MzA0NTMzCTAuMDAw JQkxMTM0NDU0MzA0NTE4CTAuMDAwJQo1MjAub21uZXRwcF9yCTAJCTEwMDE5Mzc4ODUxMjYJ MTAwMTkzNzg4NDU0MgkwLjAwMCUJMTAwMTkzNzg4MzkzMQkwLjAwMCUKNTIxLndyZl9yCTAJ CTM5NTk2NDI2MDE2MjkJMzk1OTU0MTkxMjAxMwkwLjAwMyUJMzk1OTY0MjYxNTA4NgkwLjAw MCUKNTIzLnhhbGFuY2Jta19yCTAJCTEwNjUwMDQyNjkwNjUJMTA2NDk4MTQxMzA0MwkwLjAw MiUJMTA2NTAwNDEzMjA3MAkwLjAwMCUKNTI1LngyNjRfcgkwCQk0OTY0OTI4NTc1MzMJNDk2 NDU5MzY3NTgyCTAuMDA3JQk0OTY0Nzc5ODg0MzUJMC4wMDMlCgkJMQkJMTg5MTI0ODA3ODA4 MwkxODkxMjIyMTk3NTM1CTAuMDAxJQkxODkwOTkwOTExNjE0CTAuMDE0JQoJCTIJCTE4MTU2 MDkyNjc0OTgJMTgxNTU2MTM5NzEwNQkwLjAwMyUJMTgxNTM0MTI0ODAwNwkwLjAxNSUKNTI2 LmJsZW5kZXJfcgkwCQkxNjcyMjAzNzY3NDQ0CTE2NzE1NDk5MjM0MjcJMC4wMzklCTE2NzIy MjQ2MjY3NDMgIC0wLjAwMSUKNTI3LmNhbTRfcgkwCQkyMzI2NDI0OTI1MDM4CTIzMjA1Njcx NjY4ODYJMC4yNTIlCTIzMjYzMzM1NjYyMjcJMC4wMDQlIDwtCjUzMS5kZWVwc2plbmdfcgkw CQkxNjY4OTkzMzU5MzQwCTE2NjI4MTYzNzY1NDQJMC4zNzAlCTE2Njg5OTMzNTMwMzgJMC4w MDAlIDwtCjUzOC5pbWFnaWNrX3IJMAkJMzI2MDk2NTY3Mjg3NgkzMjYwOTY1NjcyNzEyCTAu MDAwJQkzMjYwOTY1NjcyNzc3CTAuMDAwJQo1NDEubGVlbGFfcgkwCQkyMDM0MTM5ODYzODkx CTIwMzQxMDE4MDczNDEJMC4wMDIlCTIwMjY2NDc4NDM2NzIJMC4zNjglICAgIDwtLQo1NDQu bmFiX3IJMAkJMTU2NjQ2NTUwNzI3MgkxNTY1NDIwNjI4NzA2CTAuMDY3JQkxNTY2NDY1Mzc5 Njc0CTAuMDAwJQo1NDguZXhjaGFuZ2UyX3IJMAkJMjIyODExMjA3MTk5NAkyMjI4MTA5OTYy NDY5CTAuMDAwJQkyMjI4MTE0Mjc4MjUxCTAuMDAwJQo1NDkuZm90b25pazNkX3IJMAkJMjI1 NTIzODg2NzI0NwkyMjU1MjM4ODY3MjQ2CTAuMDAwJQkyMjU1MjM4ODY1OTI0CTAuMDAwJQo1 NTQucm9tc19yCTAJCTI2NTMxNTA1NTU0ODYJMjY1MTg4NDg3MDQ1NQkwLjA0OCUJMjY1MzE1 MDU1NDg3NwkwLjAwMCUKNTU3Lnh6X3IJMAkJMzY3ODkyMzAxMTY5CTM2Nzg5MjMwMTE2Nwkw LjAwMCUJMzY3ODkyMzAxMTU0CTAuMDAwJQoJCTEJCTk3OTU0OTM5MzIwMAk5Nzk1NDkzOTMx OTgJMC4wMDAlCTk3OTU0OTM5MzE4NQkwLjAwMCUKCQkyCQk1MjUwNjYyMzUzMzEJNTI1MDY2 MjM1MzI5CTAuMDAwJQk1MjUwNjYyMzUzMTYJMC4wMDAlCjk5Ny5zcGVjcmFuZF9mcgkwCQk0 NTMxMTIzODkJNDUzMTEyMzg5CTAuMDAwJQk0NTMxMTIzNzQJMC4wMDAlCjk5OS5zcGVjcmFu ZF9pcgkwCQk0NTMxMTIzODkJNDUzMTEyMzg5CTAuMDAwJQk0NTMxMTIzNzQJMC4wMDAlCg== --------------aZ2loJ2YPBr5ABw3nZGgT13G--