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 tree-optimization/23247] [4.1 Regression] ICE on valid code when compiled with -O3 and -ftree-vectorize


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-08-05 16:42 -------
Confirmed, reduced testcase:
typedef struct {
 unsigned int mask[4];
} SE_PRIV;
static const SE_PRIV se_priv_all = { { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF } };
typedef struct sid_info
{
 SE_PRIV privileges;
} NT_USER_TOKEN;
void *memcpy(void*,void*,__SIZE_TYPE__);
static void se_priv_empty( const SE_PRIV *mask )
{
 SE_PRIV p1;
 int i;   
 se_priv_copy( &p1, mask ); 
 for ( i=0; i<4; i++ ) {
  p1.mask[i] &= se_priv_all.mask[i];
 }
}

void is_privilege_assigned( SE_PRIV *privileges, const SE_PRIV *check )
{
 SE_PRIV p1;
 se_priv_empty( check );
 
 SE_PRIV allprivs; 
 int i;
  for ( i=0; i<4; i++ ) {
  allprivs.mask[i] &= ~check->mask[i];
 }
 memcpy( &p1, &allprivs, sizeof(SE_PRIV) );
}


But I don't think this is a vectorizer bug really but a complete unrolling bug.
The weird thing it works on x86 but not on x86_64.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
           Keywords|                            |ice-on-valid-code
   Last reconfirmed|0000-00-00 00:00:00         |2005-08-05 16:42:13
               date|                            |
            Summary|ICE on valid code when      |[4.1 Regression] ICE on
                   |compiled with -O3 and -     |valid code when compiled
                   |ftree-vectorize             |with -O3 and -ftree-
                   |                            |vectorize
   Target Milestone|---                         |4.1.0


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


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