This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/53144] [4.7/4.8 Regression] PPRE infinite loop
- From: "bonzini at gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 28 Apr 2012 15:46:26 +0000
- Subject: [Bug middle-end/53144] [4.7/4.8 Regression] PPRE infinite loop
- Auto-submitted: auto-generated
- References: <bug-53144-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53144
Paolo Bonzini <bonzini at gnu dot org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2012-04-28
Known to work| |4.4.6
Summary|[4.8 Regression] |[4.7/4.8 Regression] PPRE
|gcc.c-torture/execute/vecto |infinite loop
|r-compare-1.c |
Ever Confirmed|0 |1
Known to fail| |4.7.0, 4.8.0
--- Comment #3 from Paolo Bonzini <bonzini at gnu dot org> 2012-04-28 15:46:26 UTC ---
The minimal testcase fails on 4.7 too. PPRE is going through an infinite loop.
typedef unsigned char __attribute__((vector_size(4))) uvec;
int main (int argc, char *argv[]) {
int i;
int x = 0;
uvec uc0 = (uvec) {argc, 1, 2, 10};
unsigned char uc1[4] = {0, 3, 2, 200};
signed char ucg[4] = {1, 0, 0, 0 };
signed char ucl[4] = {0, 1, 0, 1 };
#define uc0_ ((unsigned char *)&uc0)
for (i = 0; i < 4; i ++) {
x |= ucg[i] != (uc0_[i] > uc1[i]);
x |= ucl[i] != (uc0_[i] < uc1[i]);
}
return x;
}
H.J., can you try bisecting this?