This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/23247] [4.1 Regression] ICE on valid code when compiled with -O3 and -ftree-vectorize
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 5 Aug 2005 16:42:14 -0000
- Subject: [Bug tree-optimization/23247] [4.1 Regression] ICE on valid code when compiled with -O3 and -ftree-vectorize
- References: <20050805104448.23247.zlynx@acm.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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