This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Make SPEC2000 and the new allocator
>
> On Thursday, July 18, 2002, at 12:28 PM, Michael Matz wrote:
>
> >Hi,
> >
> >this fixes a misunderstanding on my side, where the allocator on
> >x86 sometimes assignes registers from MMX_REGS to the stack pseudos.
> Err, so?
>
> Intel's compiler does the same thing.
You can't do that on pre P4 machines as you need femms.
> >- COPY_HARD_REG_SET (web->usable_regs, reg_class_contents[(int)
> >ALL_REGS]);
> >+ COPY_HARD_REG_SET (web->usable_regs,
> >+ reg_class_contents[(int) GENERAL_REGS]);
I believe you want:
/* Find the largest class for which every register number plus N is
valid in M1 (if in range) and is cheap to move into REGNO.
Abort if no such class exists. */
static enum reg_class
find_valid_class (m1, n, dest_regno)
With dest_regno replaced by dest_class (the function don't use regno
anyway)
Honza
> > AND_COMPL_HARD_REG_SET (web->usable_regs, never_use_colors);
> > prune_hardregs_for_mode (&web->usable_regs, PSEUDO_REGNO_MODE
> >(web->regno));
> > #ifdef CLASS_CANNOT_CHANGE_MODE
> >
> >