------- Comment #8 from hjl at lucon dot org  2007-10-06 16:16 -------
(In reply to comment #7)
> Subject: Re:  [4.3 Regression]  Revision 128957
>  miscompiles 481.wrf
> 
> hjl at lucon dot org wrote:
> > ------- Comment #5 from hjl at lucon dot org  2007-10-06 02:07 -------
> > Kenny, does your patch
> >
> > http://gcc.gnu.org/ml/gcc-patches/2007-10/msg00124.html
> >
> > handle cases where number of consecutive hard regs needed to hold some mode 
> > > 1
> > correctly? IA32 needs 2 hard registers to hold long long and your patch
> > miscompiles the testcase in comment #4.
> >
> >
> >   
> I will look into it.  It should do this correctly.
> 

Can you take a look at

                  while (regno < last)
                    {
                      if ((!TEST_HARD_REG_BIT (hard_regs_live, regno))
                          && (!TEST_HARD_REG_BIT (renumbers_live, regno))
                          && ! fixed_regs[regno])
                        {
                          if (dump_file)
                            fprintf (dump_file, "    dying hard reg %d\n",
regno);
                          if (renumbering)
                            SET_HARD_REG_BIT (renumbers_live, regno);
                          else
                            SET_HARD_REG_BIT (hard_regs_live, regno);

                          added = true;
                        }
                      regno++;
                    }

in global_conflicts? Should it also check live_subregs before marking
a hard register is dying?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33669

Reply via email to