dse.c has

struct store_info
{
...
  /* An bitmask as wide as the number of bytes in the word that
     contains a 1 if the byte may be needed.  The store is unused if
     all of the bits are 0.  */
  long positions_needed;
};

...

record_store ()
{
...
 gcc_assert ((unsigned) width < sizeof (store_info->positions_needed) *
CHAR_BIT);
...
}

AVX register is 32byte wide. On ia32, since width is 32 and long is 4 byte,
assert fails. This scheme doesn't work. How should it be fixed?


-- 
           Summary: DSE doesn't support targets with wide registers
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: hjl dot tools at gmail dot com


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

Reply via email to