From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id AD7B1386F460; Tue, 21 Apr 2020 08:29:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AD7B1386F460 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1587457741; bh=7ujiO36aP9octI9PWtgSXrlOW0BbQ2rjr5n0spDlg0c=; h=From:To:Subject:Date:In-Reply-To:References:From; b=ujjJ7hkSrjmj/afEj5b07s6Oa21vyWLAywpliMWmGyK3fHX+IynIHZXwAcLDckmie zGMOBpA1H0Ksy6xKlssSMyqF9QN0alsoqifoziiiN9nNLAOOXiFRU5S4Zzh2Yytw6g CmqF+a7D79fokSFHXjc6mKD9V22XyZDYAdLBjABc= From: "rguenther at suse dot de" To: gcc-bugs@gcc.gnu.org Subject: [Bug rtl-optimization/31485] C complex numbers, amd64 SSE, missed optimization opportunity Date: Tue, 21 Apr 2020 08:29:01 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: rtl-optimization X-Bugzilla-Version: 4.1.2 X-Bugzilla-Keywords: X-Bugzilla-Severity: enhancement X-Bugzilla-Who: rguenther at suse dot de X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Apr 2020 08:29:01 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D31485 --- Comment #17 from rguenther at suse dot de --- On Tue, 21 Apr 2020, jakub at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D31485 >=20 > Jakub Jelinek changed: >=20 > What |Removed |Added > -------------------------------------------------------------------------= --- > CC| |jakub at gcc dot gnu.org >=20 > --- Comment #16 from Jakub Jelinek --- > (In reply to Joel Yliluoma from comment #15) > > (In reply to Richard Biener from comment #14) > > > I also think llvms code generation is bogus since it appears the ABI > > > does not guarantee zeroed upper elements of the xmm0 argument > > > which means they could contain sNaNs: > >=20 > > Why would it matter that the unused portions of the register contain Na= Ns? >=20 > Because it could then raise exceptions that shouldn't be raised? Note it might be llvm actually zeros the upper half at the caller (in disagreement with GCC). Maybe also the psABI specifies that should happen and GCC is wrong. Just at the moment interoperating GCC and LLVM is prone to the above mentioned issue.=