https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66894

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
  <bb 6>:                    
  d_21 = (char) a.0_6;
  if (d_21 != 0)             
    goto <bb 7>;
  else                       
    goto <bb 8>;

  <bb 7>:   
  _22 = (int) d_21;          
  _23 = 1 / _22;
  iftmp.1_24 = (short int) _23;

  <bb 8>:                    
  # iftmp.1_25 = PHI <0(6), iftmp.1_24(7)>
  b = iftmp.1_25;            
  if (a.0_6 != 0)
    goto <bb 9>;             
  else      
    goto <bb 3>;             

  <bb 9>:                    
  if (d_21 != 0)

ok, so here we derive from a.0_6 != 0 that (char) a.0_6 != 0 which isn't
true obviously.  Looks like we can't derive any inequality from truncations.

Reply via email to