This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][GCC][PATCHv3] Improve fpclassify w.r.t IEEE like numbers in GIMPLE.
- From: Richard Biener <rguenther at suse dot de>
- To: Tamar Christina <Tamar dot Christina at arm dot com>,Christophe Lyon <christophe dot lyon at linaro dot org>,Markus Trippelsdorf <markus at trippelsdorf dot de>
- Cc: Joseph Myers <joseph at codesourcery dot com>,Jeff Law <law at redhat dot com>,GCC Patches <gcc-patches at gcc dot gnu dot org>,Wilco Dijkstra <Wilco dot Dijkstra at arm dot com>,Michael Meissner <meissner at linux dot vnet dot ibm dot com>,nd <nd at arm dot com>
- Date: Thu, 08 Jun 2017 17:43:03 +0200
- Subject: Re: [PATCH][GCC][PATCHv3] Improve fpclassify w.r.t IEEE like numbers in GIMPLE.
- Authentication-results: sourceware.org; auth=none
- References: <VI1PR0801MB20313CD2538258D3AAA60F5DFF910@VI1PR0801MB2031.eurprd08.prod.outlook.com> <72535306-7d9c-bc2d-b7a3-06360633cfef@redhat.com> <alpine.DEB.2.20.1701181641540.1980@digraph.polyomino.org.uk> <alpine.DEB.2.20.1701181703580.1980@digraph.polyomino.org.uk> <VI1PR0801MB2031DC35E0B3ADDF40EB5A0AFF7E0@VI1PR0801MB2031.eurprd08.prod.outlook.com> <alpine.DEB.2.20.1701191439001.4255@digraph.polyomino.org.uk> <VI1PR0801MB2031901A2466FC38A4610577FF7E0@VI1PR0801MB2031.eurprd08.prod.outlook.com> <alpine.DEB.2.20.1701191619270.12012@digraph.polyomino.org.uk> <VI1PR0801MB20319A4433E724B869E8423BFF7E0@VI1PR0801MB2031.eurprd08.prod.outlook.com> <alpine.DEB.2.20.1701191819370.12012@digraph.polyomino.org.uk> <20170608103058.GA285@x4> <CAKdteOZ6T8OB-R7HHkUuWgoVrxA-D6rPnH1U3n=9VAU5h4W0eg@mail.gmail.com>,<VI1PR0801MB2031575376F996A705CE73C4FFC90@VI1PR0801MB2031.eurprd08.prod.outlook.com> <VI1PR0801MB2031411786EE5517959DA13DFFC90@VI1PR0801MB2031.eurprd08.prod.outlook.com>
On June 8, 2017 5:40:06 PM GMT+02:00, Tamar Christina <Tamar.Christina@arm.com> wrote:
>The testcase does something unexpected
>
>extern "C" int isnan ();
>
>void foo(float a) {
> int (*xx)(...);
> xx = isnan;
> if (xx(a))
> g++;
>}
>
>and I'm wondering if this is a valid thing to do with a builtin. The
>issue is that at the point where gimple lowering is done xx hasn't been
>resolved to isnan yet.
>So it never recognizes the alias. Previously these builtins were being
>resolved in expand, which happens late enough that it has replaced xx
>with isnan.
>
>I can obviously fix the ICE by having the expand code leave the call as
>a call instead of a builtin. But if this is a valid thing for a builtin
>i'm not sure how to
>best resolve this case.
For a built-in this is generally valid. For plain isnan it depends on what the standard says.
You have to support taking the address of isnan anyway and thus expanding to a library call in that case. Why doesn't that not work?
Richard.
>________________________________________
>From: Tamar Christina
>Sent: Thursday, June 8, 2017 1:21:44 PM
>To: Christophe Lyon; Markus Trippelsdorf
>Cc: Joseph Myers; Jeff Law; GCC Patches; Wilco Dijkstra;
>rguenther@suse.de; Michael Meissner; nd
>Subject: RE: [PATCH][GCC][PATCHv3] Improve fpclassify w.r.t IEEE like
>numbers in GIMPLE.
>
>Thanks, I'm looking at the failure.
>My final validate seems to have only run the GCC tests.
>
>> -----Original Message-----
>> From: Christophe Lyon [mailto:christophe.lyon@linaro.org]
>> Sent: 08 June 2017 13:00
>> To: Markus Trippelsdorf
>> Cc: Joseph Myers; Tamar Christina; Jeff Law; GCC Patches; Wilco
>Dijkstra;
>> rguenther@suse.de; Michael Meissner; nd
>> Subject: Re: [PATCH][GCC][PATCHv3] Improve fpclassify w.r.t IEEE like
>> numbers in GIMPLE.
>>
>> On 8 June 2017 at 12:30, Markus Trippelsdorf <markus@trippelsdorf.de>
>> wrote:
>> > On 2017.01.19 at 18:20 +0000, Joseph Myers wrote:
>> >> On Thu, 19 Jan 2017, Tamar Christina wrote:
>> >>
>> >> > Hi Joseph,
>> >> >
>> >> > I made the requested changes and did a quick pass over the rest
>of
>> >> > the fp cases.
>> >>
>> >> I've no further comments, but watch out for any related test
>failures
>> >> being reported.
>> >
>> > g++.dg/opt/pr60849.C started ICEing on both X86_64 and ppc64le.
>> >
>>
>> Same on arm/aarch64, but there are also other regressions on
>big-endian
>> configs:
>> See http://people.linaro.org/~christophe.lyon/cross-
>> validation/gcc/trunk/249005/report-build-info.html
>>
>>
>> > --
>> > Markus