From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id AA29F3858C52; Tue, 26 Apr 2022 07:40:39 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AA29F3858C52 From: "cvs-commit at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/105367] [12 Regression] ICE: SIGSEGV in contains_struct_check (tree.h:3570) with -Ofast -mveclibabi=acml Date: Tue, 26 Apr 2022 07:40:39 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Version: 12.0 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: cvs-commit at gcc dot gnu.org X-Bugzilla-Status: ASSIGNED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: jakub at gcc dot gnu.org X-Bugzilla-Target-Milestone: 12.0 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, 26 Apr 2022 07:40:39 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D105367 --- Comment #5 from CVS Commits --- The master branch has been updated by Jakub Jelinek : https://gcc.gnu.org/g:5face32b7f439bba283e2eeb2a50f192d605bf57 commit r12-8261-g5face32b7f439bba283e2eeb2a50f192d605bf57 Author: Jakub Jelinek Date: Tue Apr 26 09:40:03 2022 +0200 i386: Fix up ICE with -mveclibabi=3D{acml,svml} [PR105367] The following testcase ICEs, because conversion between scalar float ty= pes which have the same mode are useless in GIMPLE, but for mathfn_built_in= the exact type matters (it treats say double and _Float64 or float and _Flo= at32 differently, using different suffixes and for the _Float* sometimes returning NULL when float/double do have a builtin). In ix86_veclibabi_{svml,acml} we are using mathfn_built_in just so that we don't have to translate the combined_fn and SFmode vs. DFmode into strings ourselfs, and we already earlier punt on anything but SFmode and DFmode. So, this patch just uses the double or float types depending on the modes, rather than the types we actually got and which might be _Float64 or _Float32 etc. 2022-04-26 Jakub Jelinek PR target/105367 * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml= ): Pass el_mode =3D=3D DFmode ? double_type_node : float_type_node inst= ead of TREE_TYPE (type_in) as first arguments to mathfn_built_in. * gcc.target/i386/pr105367.c: New test.=