1  /* { dg-do compile } */
       2  /* { dg-require-effective-target int32plus } */
       3  
       4  static unsigned char
       5  safe_sub_func_int_s_s (int si1, unsigned char si2)
       6  {
       7    return si1 ^ si2 & -si2 ^ si2 ? : si1 - si2;
       8  }
       9  
      10  int g_2[10] = {
      11      0x90AC204EL
      12  };
      13  
      14  volatile unsigned char g_39;
      15  
      16  unsigned char
      17  func_67 (unsigned short p_68)
      18  {
      19    unsigned char l_92;
      20    unsigned char l_74;
      21    int *l = &g_2[6];
      22  lbl_90:*l ^= 1;
      23         if (p_68)
      24  	 goto lbl_93;
      25         for (l_74 = 0;; l_74 = safe_sub_func_int_s_s (l_74, 1))
      26  	 {
      27  	   if (l_74)
      28  	     goto lbl_90;
      29  lbl_93:l_92 ^= 0 != &g_39;
      30         if (0)
      31  	 {
      32  	 }
      33         else
      34  	 *l = 1;
      35  	 }
      36  }