1  /* { dg-require-effective-target untyped_assembly } */
       2  static int
       3  func1 (int a, int b)
       4  {
       5    return b ? a : a / b;
       6  }
       7  
       8  static unsigned char
       9  func2 (unsigned char a, int b)
      10  {
      11    return b ? a : b;
      12  }
      13  
      14  int i;
      15  
      16  void
      17  func3 (const int arg)
      18  {
      19    for (i = 0; i != 10; i = foo ())
      20      {
      21        if (!arg)
      22  	{
      23  	  int j;
      24  	  for (j = 0; j < 5; j += 1)
      25  	    {
      26  	      int *ptr;
      27  	      *ptr = func2 (func1 (arg, *ptr), foo (arg));
      28  	    }
      29  	}
      30      }
      31  }