From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by sourceware.org (Postfix) with ESMTP id BEE723857814 for ; Thu, 13 May 2021 11:32:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org BEE723857814 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 573EA1476; Thu, 13 May 2021 04:32:28 -0700 (PDT) Received: from localhost (e121540-lin.manchester.arm.com [10.32.98.126]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 829A23F73B; Thu, 13 May 2021 04:32:27 -0700 (PDT) From: Richard Sandiford To: Jakub Jelinek Mail-Followup-To: Jakub Jelinek , Uros Bizjak , Hongtao Liu , GCC Patches , "H. J. Lu" , richard.sandiford@arm.com Cc: Uros Bizjak , Hongtao Liu , GCC Patches , "H. J. Lu" Subject: Re: [PATCH] [i386] Fix _mm256_zeroupper to notify LRA that vzeroupper will kill sse registers. [PR target/82735] References: <20210513095433.GH1179226@tucnak> Date: Thu, 13 May 2021 12:32:26 +0100 In-Reply-To: <20210513095433.GH1179226@tucnak> (Jakub Jelinek's message of "Thu, 13 May 2021 11:54:33 +0200") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Status: No, score=-6.6 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, KAM_SHORT, 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-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: Thu, 13 May 2021 11:32:30 -0000 Jakub Jelinek writes: > On Thu, May 13, 2021 at 11:43:19AM +0200, Uros Bizjak wrote: >> > > Bootstrapped and regtested on X86_64-linux-gnu{-m32,} >> > > Ok for trunk? >> > >> > Some time ago a support for CLOBBER_HIGH RTX was added (and later >> > removed for some reason). Perhaps we could resurrect the patch for the >> > purpose of ferrying 128bit modes via vzeroupper RTX? >> >> https://gcc.gnu.org/legacy-ml/gcc-patches/2017-11/msg01325.html > > https://gcc.gnu.org/legacy-ml/gcc-patches/2019-09/msg01468.html > is where it got removed, CCing Richard. Yeah. Initially clobber_high seemed like the best appraoch for handling the tlsdesc thing, but in practice it was too difficult to shoe-horn the concept in after the fact, when so much rtl infrastructure wasn't prepared to deal with it. The old support didn't handle all cases and passes correctly, and handled others suboptimally. I think it would be worth using the same approach as https://gcc.gnu.org/legacy-ml/gcc-patches/2019-09/msg01466.html for vzeroupper: represent the instructions as call_insns in which the call has a special vzeroupper ABI. I think that's likely to lead to better code than clobber_high would (or at least, it did for tlsdesc). Thanks, Richard