From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from nh504-vm8.bullet.mail.kks.yahoo.co.jp (nh504-vm8.bullet.mail.kks.yahoo.co.jp [183.79.57.94]) by sourceware.org (Postfix) with SMTP id 17D9C382D525 for ; Fri, 27 May 2022 03:00:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 17D9C382D525 Received: from [183.79.100.140] by nh504.bullet.mail.kks.yahoo.co.jp with NNFMP; 27 May 2022 03:00:08 -0000 Received: from [183.79.100.132] by t503.bullet.mail.kks.yahoo.co.jp with NNFMP; 27 May 2022 03:00:08 -0000 Received: from [127.0.0.1] by omp501.mail.kks.yahoo.co.jp with NNFMP; 27 May 2022 03:00:08 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 130305.34004.bm@omp501.mail.kks.yahoo.co.jp Received: (qmail 32055 invoked by alias); 27 May 2022 03:00:08 -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 03:00:08 -0000 X-YMail-JAS: JynhYOYVM1nVvaNw5.pTIVQ2hpda4QU3u_Pdj7R3ca5hwTdhE22ovNx_pDUBagx4Lwt67ybMCHJn67vdNkAqTzBdwVz0ieAvwfsRanWhVldvFQzuGpjw.U3SVTF1J28YpdZyqeAcEg-- X-Apparently-From: X-YMail-OSG: kQ3_sCQVM1n6vcpdj3b_QslXCRqyJaeB3_QhpeKdkgYUIWV fl56McbVbLGFRf2lcFsWwPIGeuryo4kdl0zUK.K8VPeJSKlcwMtwcThXhFVj HdgdJsJIz8si9yi53w3d9zBXPokv4XXPYQecFpiU0.NyfHB54ZLC7fZB2Xra OzTKRktZLjJhuUq8IRUHRS4.gYPfuQGO_tkmbd2L0Xecjqxi4KQyg7u4keb0 .0OWw0J0Z6R7wGHh.1SDJyTWsdKD5rAeeh4L4mkZLk_YAvfYVfg6XhM0R6VE sn9LPGV_nFxZsbdyg3Wr4XmDyVU8Xnyu7BomMhMRr0B4HdXwO2KRp4QeIlq. 3Vdz7b70syJkmcqcuBiIWdBd_OQuPr8ud5mHtt97TuPz19kKQFGppwTC73QA 8zL8.CQ_GlIWU5g4mxocl3PHHpKAk4xAnaqEsAX6S4DvjRlivxF8jcWZSz4Y lhY.kau.dmT5TEiEi0j6aMkisKoNqX7v1A.tiKQIQGyrv1q3OMZowxn0wtRO 05vgj7orsRUf1AZ0.Jwhgrgkpq3WYd7wyl9yQKhhQwGXFMkxhHc92KaCNb.a hLdlCZMIYxUePYUwMxuPGxbmkOT4D9NU7h0AQYphziQ.Ihl0_eTtSa1oEkbU gNpIQUTIyqlnI5q_HiNvHgiKmGt74HgI9nLway8ZQJlJpeWPdv6plGNWVqoz n.21.owJyQB7DvEhT8ZUjkU1Y_gg1Cg6jKjjQCHmTMoY50iJzd7dTm9eD_hi w9vUj9TpePbSKhKafgqBodwFrUMJqo5yxGPuo_wIpkedbXyOM0Zsc0Vgo.WY Y0fyrmNZxQMmaGyknuAP2t_N3j7BavOE6I_BtZt.kNQbuPHsASvBTEWxqqAC xV4s7ljDvCRgIOj4ENTpFCDtnTOf6wKeN9p1PEZcK51CEcO6S0L.IxEpiQHt ztPBKHr5QHO3_A1sJPA-- Message-ID: Date: Fri, 27 May 2022 12:00:07 +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=-6.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, 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 03:00:13 -0000 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: > void f(char *p); > > void g(void) > { > char c[72] = {0}; > f(c); > } without this patch, we would get as: g: entry sp, 112 movi.n a8, 0 movi.n a12, 0x44 ; 68, not 72 mov.n a11, a8 addi.n a10, sp, 4 ; skipped first 4 bytes s32i.n a8, sp, 0 ; cleared without using memset() call8 memset mov.n a10, sp call8 f retw.n parhaps, it can be solved it by using peephole2 pattern... (depends on whether peephole2 can capture code_label) this behavior does not occur in configuration without zero-overhead loop, eg. in xtensa-lx106 (ESP8266 SoC): g: addi sp, sp, -96 movi.n a3, 0 s32i a0, sp, 92 s32i.n a3, sp, 0 addi.n a2, sp, 4 addi a4, sp, 72 .L2: s32i.n a3, a2, 0 addi.n a2, a2, 4 bne a2, a4, .L2 mov.n a2, sp call0 f l32i a0, sp, 92 addi sp, sp, 96 ret.n in x86_64-linux: g: .LFB0: .cfi_startproc subq $88, %rsp .cfi_def_cfa_offset 96 pxor %xmm0, %xmm0 movq %rsp, %rdi movaps %xmm0, (%rsp) movaps %xmm0, 16(%rsp) movaps %xmm0, 32(%rsp) movaps %xmm0, 48(%rsp) movq $0, 64(%rsp) call f@PLT addq $88, %rsp .cfi_def_cfa_offset 8 ret .cfi_endproc .LFE0: or, dword-aligned element: void f(int *p); void g(void) { int c[18] = { 0 }; f(c); }