From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from nh504-vm5.bullet.mail.kks.yahoo.co.jp (nh504-vm5.bullet.mail.kks.yahoo.co.jp [183.79.57.91]) by sourceware.org (Postfix) with SMTP id A3D1F3829BED for ; Fri, 27 May 2022 09:23:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A3D1F3829BED Received: from [183.79.100.139] by nh504.bullet.mail.kks.yahoo.co.jp with NNFMP; 27 May 2022 09:23:11 -0000 Received: from [183.79.101.122] by t502.bullet.mail.kks.yahoo.co.jp with NNFMP; 27 May 2022 09:23:11 -0000 Received: from [127.0.0.1] by omp509.mail.kks.yahoo.co.jp with NNFMP; 27 May 2022 09:23:11 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 710206.72559.bm@omp509.mail.kks.yahoo.co.jp Received: (qmail 47216 invoked by alias); 27 May 2022 09:23:11 -0000 Received: from unknown (HELO ?192.168.2.3?) (175.177.45.170 with ) by smtp5006.mail.kks.ynwp.yahoo.co.jp with SMTP; 27 May 2022 09:23:11 -0000 X-YMail-JAS: lWfsEtQVM1kQR2NF5ipRHO6LaBKo99noOKCv3ITxRzrAuEXBTx0mvw5.hcOjIrdB1ID676K6mQK9cgulhrjyEMdT9oBEeXNMY6o6iUr.NOAn5f.B0Hg75V.RO7w2bPJl9ZbV4ZFSnw-- X-Apparently-From: X-YMail-OSG: 86xwekkVM1m7dR4X8Ww1JwzCA9HQJsrljYQsPUjgl33zBXZ Ejfu3OFFuYvrUPXqMLEQhmIhOrddXoPOsKmJAsycA3qvK1DZ9eNXNXH2pTbY krsRaKb8I1doTSxpZucc9VqcjT_KRx2.Am_35YKn1DH1e4jqbp.TVW1N40x3 64d.HZO5uNzLGOVxxldh93wHbfGEapR6VDsIayB.Cz_wdpFglrWQIKHPA.lz MJRSBffiVb2VihBbNpdcAlNInzJFFk_09Plm8y6WqGzv.hyWhtAUUGRwo_jT UB2IM.Rw8sawm6MR0nsZR_AGA_SS0mCWGOFnlex_SUPPvSBGISfQ4dveXe4w k0xAw67JCs6_V3YkyBGU9oTxY5qlM4WFXHaBWx9Ba1I6CvJNISUdbDp9AtMG uwjnx0M0fIu5zkEBqhwtj6jmmEswS9BtrjkIsn6RKv1SJqXUsFCrqsXJ61Ba O_.uN6cy8MCsJ.vILqEPR_BPBn1Qad7Z3oKRrlJ7NzpLtPFXeJHPO7Yn4mhW XVLmyDV3wC1PoyhHbrFTvlyPh47tiodz0MOqEMvfJuVtjB.50M8IIlS49fPo FK2JxMhMV9ZkeTuuK0aN9EvEks6mnkk2wzndpb71NEGh7KvK5qlJLgE6zYd3 KY5nnELVIejgFtNhxEdVvPYMiz9L62APCGFFX69LmpXXv7NiLRdXY7prmcZK f_DkidxXGQudOR3OkpTlUevZKGkBNYx0aLyf_f4kHeI_9K2DxbplQvZwGQqh 1eTqovNS0w38Ct8S_ntXpr7NqBrOhT4F.0x1AI2uZXPXHh6MmDCQbrznSr.B Rr6J_LBVkgZKuYYc.jQmT24ydLhx7eF4Wh4Oe6CNONs6OXbjhYik5XI3aRk1 fLzm5rDcpzj.bP32Z8ntR72VLkaq_ZBs8j6PIanPAILZk0GV3aSSGjOV7Ffe 1f0wQ_TEI_MrGskasVA-- Message-ID: <575922f5-5757-efca-31f5-ee39ac45ec2e@yahoo.co.jp> Date: Fri, 27 May 2022 18:23:10 +0900 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: Re: [PATCH v3 4/5] xtensa: Add setmemsi insn pattern Content-Language: en-US To: Max Filippov Cc: GCC Patches References: <87b80e93-0031-d847-9120-ceccd79c1a37@yahoo.co.jp> From: Takayuki 'January June' Suwa In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-13.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, 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 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, 27 May 2022 09:23:16 -0000 On 2022/05/27 12:00, Takayuki 'January June' Suwa via Gcc-patches wrote: > On 2022/05/27 1:57, Max Filippov wrote: >> is that something that can be addressed in this patch? > > seems hard to resolve, because the RTL-generation pass passes only 68 > bytes in that case: the culprit is here, but i don't know whether it is known regression or not. diff --git a/gcc/expr.cc b/gcc/expr.cc index 7197996cec7..be100dd9946 100644 --- a/gcc/expr.cc +++ b/gcc/expr.cc @@ -6043,13 +6043,19 @@ store_expr (tree exp, rtx target, int call_param_p, if (!can_store_by_pieces (str_copy_len, string_cst_read_str, (void *) str, MEM_ALIGN (target), false)) goto normal_expr; - - dest_mem = store_by_pieces (target, str_copy_len, string_cst_read_str, - (void *) str, MEM_ALIGN (target), false, - RETURN_END); - clear_storage (adjust_address_1 (dest_mem, BLKmode, 0, 1, 1, 0, - exp_len - str_copy_len), - GEN_INT (exp_len - str_copy_len), BLOCK_OP_NORMAL); + if (TREE_STRING_LENGTH (str) == 1 && *TREE_STRING_POINTER (str) == 0) + clear_storage (adjust_address_1 (target, BLKmode, 0, 1, 1, 0, + exp_len), + GEN_INT (exp_len), BLOCK_OP_NORMAL); + else + { + dest_mem = store_by_pieces (target, str_copy_len, string_cst_read_str, + (void *) str, MEM_ALIGN (target), false, + RETURN_END); + clear_storage (adjust_address_1 (dest_mem, BLKmode, 0, 1, 1, 0, + exp_len - str_copy_len), + GEN_INT (exp_len - str_copy_len), BLOCK_OP_NORMAL); + } return NULL_RTX; } else