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