This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Analysis of high priority PR c/2454
- From: Joe Buck <Joe dot Buck at synopsys dot com>
- To: law at redhat dot com
- Cc: roger at eyesopen dot com (Roger Sayle),kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner), gcc at gcc dot gnu dot org
- Date: Tue, 2 Jul 2002 09:50:33 -0700 (PDT)
- Subject: Re: Analysis of high priority PR c/2454
> >But back to the RTL "combination" above. The true problem (take 3)
> >is with the other operand of the instruction. "(reg:SI 48)" which
> >should have the value 255, has been replaced with the value -1.
> >How did that happen?
Jeff Law writes:
> This is why I (*%@#$ hate paradoxical subregs. Their semantics aren't
> clear and they must one day die.
A rather ignorant proposal from someone who never really understood
the subreg stuff very well:
It seems that there are three possible semantics: the extra bits are
either don't care (or unknown), sign-extended, or zero-extended. What if
these three cases were made explicit (by, say, adding an attribute)?
Optimizations that don't care about the bits could just ignore this
attribute; optimizations that do care would have to check it.
But doing it that way might minimize the number of changes needed for
robust operation.