This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]