This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/22537] [4.0 Regression] unable to find a register to spill in class "CREG"


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-21 05:33 -------
Confirmed, the reduced even extra options on the mainline to disable to get the same tree output from 
the mainline, the ICE is not reproducible there.
Reduced testcase:
struct nand_chip {
       int           page_shift;
       int           phys_erase_shift;
};

void foo( int );

void nand_writev_ecc (struct nand_chip *this, unsigned i, unsigned count)
{
       int a = (this->phys_erase_shift - this->page_shift);
       int    ppblock = (1 << a);
       for (i = 0; i < count; i++) ;
       foo (ppblock);
}

Note on the mainline removes the loop unless you use -fno-tree-optimize.  We also move the 1<<a 
below the loop unless you use -fno-tree-sink on the mainline.  With those two options we get the same 
tree dump before expand.

To reproduce this on the 4.0 branch just use "-Os -march=k6 -mregparm=3".

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
      Known to fail|                            |4.0.0
      Known to work|                            |3.4.0 4.1.0
   Last reconfirmed|0000-00-00 00:00:00         |2005-07-21 05:33:34
               date|                            |
            Summary|unable to find a register to|[4.0 Regression] unable to
                   |spill in class "CREG"       |find a register to spill in
                   |                            |class "CREG"
   Target Milestone|---                         |4.0.2


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]