assign_parm_setup_block handling of parallels
Aldy Hernandez
aldyh@redhat.com
Thu Dec 23 22:28:00 GMT 2004
On Thu, Dec 23, 2004 at 11:10:26PM +0100, Eric Botcazou wrote:
> > In my limited understanding of the problem I think we can allow the
> > optimization for one-member parallels iff the hard register will span
> > more than one register. I think this will satisfy both PPC64 and
> > Sparc64.
>
> SPARC64 :-)
>
> > Do you folks agree?
>
> I don't understand what you're trying to optimize: what's the problem with
>
> (parallel:DF [
> (expr_list:REG_DEP_TRUE (reg:DI 3 3)
> (const_int 0 [0x0]))
> ])
>
> for your port? Does (reg:DI 3 3) not span consecutive regs?
Yes, it spans r3 and r4.
> IIRC the optimization was precisely aimed at multi-member parallels, as
> indicated in the comment.
We're changing the port to emit:
(parallel:DF (expr_list (reg:DI 3)))
instead of:
(parallel:DF (expr_list (reg:SI 3) (reg:SI 4)))
because of the plethory of subregs and bad code GCC generates.
Aldy
More information about the Gcc
mailing list