This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Tail calls and floating-point types
- From: Richard Sandiford <rsandifo at redhat dot com>
- To: Andrew Pinski <pinskia at physics dot uc dot edu>
- Cc: rth at redhat dot com (Richard Henderson), nathan at codesourcery dot com (Nathan Sidwell), gcc-patches at gcc dot gnu dot org (GCC Patches)
- Date: Fri, 10 Sep 2004 08:47:53 +0100
- Subject: Re: Tail calls and floating-point types
- References: <200409100734.i8A7Yqq26358@earth.phy.uc.edu>
Andrew Pinski <pinskia@physics.uc.edu> writes:
>> * tree-tailcall.c (process_assignment): Only do accumulator
>> optimisations if the function has an integral return type.
>>
>> testsuite/
>> * gcc.c-torture/execute/ieee/acc1.c: New test.
>> * gcc.c-torture/execute/ieee/acc2.c: New test.
>> * gcc.c-torture/execute/ieee/mzero6.c: New test.
>
> Note this is the same as PR 17385.
Thanks for the pointer. Unfortunately, the updated patch only avoids
the ICE for !flag_unsafe_math_optimizations, but I forgot the update
the changelog appropriately. It should really have read:
* tree-tailcall.c (process_assignment): Only do accumulator transforms
for floating-point types if flag_unsafe_math_optimizations.
So I don't think it's appropriate to mark this patch as fix for the PR.
The reported bug will still be present if you use -funsafe-math-optimizations
on similar code. I think the only true fix wuld be to revert Nathan's patch
or change it in some way.
Richard