/* PR rtl-optimization/49799 */ /* { dg-do assemble } */ /* { dg-options "-O2 -w" } */ static __inline int bar(int a) { int tmp; if (a <= 0) a ^= 0xFFFFFFFF; return tmp - 1; } void foo(short *K) { short tmp; short *pptr, P[14]; pptr = P; tmp = bar(*K); *pptr = (*K << tmp) >> 16; if (*P < tmp) *K++ = 0; }