This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Anyone knows about a testcase which was fixed by Wed Dec 24 18:05:13 1997 SPARC change?
- To: gcc at gcc dot gnu dot org
- Subject: Anyone knows about a testcase which was fixed by Wed Dec 24 18:05:13 1997 SPARC change?
- From: Jakub Jelinek <jakub at redhat dot com>
- Date: Fri, 6 Oct 2000 02:06:18 -0400
- References: <20001005171219.Y30053@devserv.devel.redhat.com> <200010052217.PAA03610@pizda.ninka.net>
- Reply-To: Jakub Jelinek <jakub at redhat dot com>
Hi!
Can anyone think of a testcase which was fixed by
Wed Dec 24 18:05:13 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* sparc.c: Add prototypes for static functions.
(check_pic): Check for form of pic_pc_rtx, not it itself.
(pic_setup_code): New function, from finalize_pic.
(finalize_pic): Call pic_setup_code and insert after nonlocal_receiver.
* sparc.md (nonlocal_goto_receiver): New pattern.
(well, particularly the nonlocal_goto_receiver and reloading of %l7 (pic
base register) in all nonlocal_goto_receivers)? I cannot think of any, nor
can DaveM. If noone comes with explanation why %l7 might get clobbered, I'll
submit a patch to remove this shortly.
Thanks.
On Thu, Oct 05, 2000 at 03:17:40PM -0700, David S. Miller wrote:
> Date: Thu, 5 Oct 2000 17:12:19 -0400
> From: Jakub Jelinek <jakub@redhat.com>
>
> Could you please have a look at my question why is reloading of %l7
> necessary in sparc nonlocal_goto_receiver? It makes no sense to
> me, because anyone who want to jump back to that label (be it
> longjmp, goto from nested function or whatever) has to end up in
> function's original register window (how otherwise would be e.g. %i7
> restored?) and thus %l7 will be reloaded without any problems.
> I cannot work on a better fix for the libm miscompilations with -mvis.
>
> I think it is unneeded. We never allow %l7 to be clobbered locally
> by code generated by GCC and I can't think of any register window
> situation which would not preserve %l7.
>
> I think Kenner just doesn't understand how register windows work and
> what they guarentee.
>
> But, just to be sure, ask around if anyone knows of any real bug
> report which this nonlocal_goto_receiver thing actually fixed.
>
> This all smells bogus to me, IMHO.
>
> Later,
> David S. Miller
> davem@redhat.com
Jakub