/* PR rtl-optimization/70542 */ /* { dg-do run } */ /* { dg-require-effective-target int32plus } */ int a[113], d[113]; short b[113], c[113], e[113]; int main () { int i; long j; for (i = 0; i < 113; ++i) { a[i] = -636544305; b[i] = -31804; } for (j = 1; j <= 112; ++j) { c[j] = b[j] >> ((a[j] & 1587842570) - 1510214139); if (a[j]) d[j] = j; e[j] = 7 << ((2312631697 - b[j]) - 2312663500); } asm volatile ("" : : : "memory"); if (c[0] || d[0] || e[0]) __builtin_abort (); for (i = 1; i <= 112; ++i) if (c[i] != -1 || d[i] != i || e[i] != 14) __builtin_abort (); return 0; }