1  /* { dg-do assemble } */
       2  /* { dg-skip-if "" { pdp11-*-* } { "-O0" } { "" } } */
       3  
       4  /* PR optimization/5892 */
       5  typedef struct { unsigned long a; unsigned int b, c; } A;
       6  typedef struct { unsigned long a; A *b; int c; } B;
       7  
       8  static inline unsigned int
       9  bar (unsigned int x)
      10  {
      11    unsigned long r;
      12    asm ("" : "=r" (r) : "0" (x));
      13    return r >> 31;
      14  }
      15  
      16  int foo (B *x)
      17  {
      18    A *y;
      19    y = x->b;
      20    y->b = bar (x->c);
      21    y->c = ({ unsigned int z = 1; (z << 24) | (z >> 24); });
      22  }