1  /* PR rtl-optimization/49799 */
       2  /* { dg-do assemble } */
       3  /* { dg-options "-O2 -w" } */
       4  
       5  static __inline int bar(int a)
       6  {
       7      int tmp;
       8  
       9      if (a <= 0) a ^= 0xFFFFFFFF;
      10  
      11      return tmp - 1;
      12  }
      13  
      14  void foo(short *K)
      15  {
      16      short tmp;
      17      short *pptr, P[14];
      18  
      19      pptr = P;
      20      tmp = bar(*K);
      21      *pptr = (*K << tmp) >> 16;
      22  
      23      if (*P < tmp)
      24          *K++ = 0;
      25  }