/* PR target/14209. Bug in cris.md, shrinking access size of postincrement. Origin: . */ long int xb (long int *y) __attribute__ ((__noinline__)); long int xw (long int *y) __attribute__ ((__noinline__)); short int yb (short int *y) __attribute__ ((__noinline__)); long int xb (long int *y) { long int xx = *y & 255; return xx + y[1]; } long int xw (long int *y) { long int xx = *y & 65535; return xx + y[1]; } short int yb (short int *y) { short int xx = *y & 255; return xx + y[1]; } int main (void) { long int y[] = {-1, 16000}; short int yw[] = {-1, 16000}; if (xb (y) != 16255 || xw (y) != 81535 || yb (yw) != 16255) abort (); exit (0); }