This is the mail archive of the
mailing list for the GCC project.
Re: fix for explicit SET modes
- To: law at cygnus dot com
- Subject: Re: fix for explicit SET modes
- From: "David S. Miller" <davem at dm dot cobaltmicro dot com>
- Date: Fri, 14 Aug 1998 08:38:59 -0700
- CC: egcs-patches at cygnus dot com, rth at cygnus dot com, wilson at cygnus dot com, scox at cygnus dot com
- References: <email@example.com>
Date: Fri, 14 Aug 1998 09:29:06 -0600
From: Jeffrey A Law <firstname.lastname@example.org>
This is definitely wrong for the PA.
This is why I sent the patch out for scurtiny :-)
The DImode is used to distinguish between two patterns which have the
same RTL form (a simple jump), but which must have different code at
assembly time because one appears inside a jump table.
We can certainly look for another way to solve the PA specific issue,
but first I want to know exactly why this is important.
If reload sees a SET that happens to be in DImode, it does funny stuff
like marking destination registers dead at all such DImode SETs etc.
I saw this because I had some bugs in my sparc64 constant formation
code which set DImode on the SETs by accident, the result was improper
REG_DEAD notes all over the place after reload.
Just stick an unspec in there for this PA case...
David S. Miller