This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: paradoxical subreg problem
- From: Michael Matz <matzmich at cs dot tu-berlin dot de>
- To: <law at redhat dot com>
- Cc: Richard Henderson <rth at redhat dot com>, <gcc at gcc dot gnu dot org>
- Date: Mon, 28 Jan 2002 21:43:32 +0100 (MET)
- Subject: Re: paradoxical subreg problem
Ho,
On Mon, 28 Jan 2002 law@redhat.com wrote:
> However, even if we do that I think we need to clarify precisely what
> the semantics of a paradoxical subreg really are. Clearly there is
> some confusion.
Well, para. subregs introduce undefined bits. From that everything
follows. They can only be introduced if the code doesn't care about that
undefinedness (IMHO that is what the docu talks about).
If they are introduced there exists no knowledge about the undefined bits.
Under this rule alone para. subregs of mem's are not disallowed. In fact
all are handled the same. (mem subregs might be (and are) disallowed for
other reasons)
Btw. (and:SI (subreg:SI (reg:QI X) 0) 255) and (reg:QI X) are in that
definition equal. The subreg first introduces undefinedness just to throw
it away again with the 'and'. Problems only arise if that subreg is
copied to a (SImode) pseudo. That pseudo still carries that partial
undefinedness property, which is what is problematic about them, because
we have no real way to note that.
Ciao,
Michael.