1  /* This testcase caused ICE on powerpc at -O3, because regrename did
       2     not handle match_dup of match_operator if the RTLs were not shared.  */
       3  
       4  struct A
       5  {
       6    unsigned char *a0, *a1;
       7    int a2;
       8  };
       9  
      10  void bar (struct A *);
      11  
      12  unsigned int
      13  foo (int x)
      14  {
      15    struct A a;
      16    unsigned int b;
      17  
      18    if (x < -128 || x > 255 || x == -1)
      19      return 26;
      20  
      21    a.a0 = (unsigned char *) &b;
      22    a.a1 = a.a0 + sizeof (unsigned int);
      23    a.a2 = 0;
      24    bar (&a);
      25    return b;
      26  }