This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Avoiding paradoxical subregs
- From: Eric Botcazou <ebotcazou at adacore dot com>
- To: Paulo Matos <pmatos at broadcom dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Fri, 17 Jan 2014 18:36:43 +0100
- Subject: Re: Avoiding paradoxical subregs
- Authentication-results: sourceware.org; auth=none
- References: <19EB96622A777C4AB91610E763265F463EB9B3 at SJEXCHMB14 dot corp dot ad dot broadcom dot com> <2452971 dot KQtSWU2B5I at polaris> <19EB96622A777C4AB91610E763265F463EBA4B at SJEXCHMB14 dot corp dot ad dot broadcom dot com>
> I am not implying that this is a GCC bug, unless you think
> WORD_REGISTER_OPERATIONS should have avoided the creation of such
> paradoxical subreg.
No, that's precisely the contrary, WORD_REGISTER_OPERATIONS tends to create
paradoxical subregs.
> What I was looking after was for a generic solution on
> my backend that either eliminates the use of paradoxical subregs or forces
> reload the transform (subreg:m (reg:n K)), where subreg is paradoxical,
> into a zero_extend.
Why would it do that? That would pessimize for no clear benefit. Either the
paradoxical subreg is correct and there is bug in reload or it is wrong and
there is a bug in combine.
--
Eric Botcazou