1  /* { dg-require-stack-size "256*8+4" } */
       2  
       3  int main()                                                                      
       4  {                                                                               
       5    unsigned long long table[256];                                          
       6    unsigned int i;
       7    for (i=0; i<256; ++i) {
       8        unsigned long long j;
       9        unsigned char x=i;
      10        for (j=0; j<5; ++j) {
      11  	  x += x<<1;
      12  	  x ^= x>>1;
      13        }
      14        for (j=0; j<5; ++j) {
      15  	  x += x<<1;
      16  	  x ^= x>>1;
      17        }
      18        for (j=0; j<5; ++j) {
      19  	  x += x<<1;
      20  	  x ^= x>>1;
      21        }
      22        for (j=0; j<5; ++j) {
      23  	  x += x<<1;
      24  	  x ^= x>>1;
      25        }
      26        for (j=0; j<5; ++j) {
      27  	  x += x<<1;
      28  	  x ^= x>>1;
      29        }
      30        table[i] ^= (((unsigned long long)x)<<16);
      31    }
      32    for (i=0; i<256; ++i) {
      33        if ((table[i]&0xff)==i)
      34  	return 1;
      35    }
      36    return 0;
      37  }
      38