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 middle-end/53144] [4.7/4.8 Regression] PPRE infinite loop


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?


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