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

--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
veclower produces:
  _36 = BIT_FIELD_REF <_9, 32, 0>;
  _37 = _36 != 0;
  _38 = _36 == 0;
  _39 = (signed int) _38;
  _40 = (signed int) _36;
  _41 = _40 + -1;
  _42 = BIT_FIELD_REF <_9, 32, 32>;
  _43 = _42 != 0;
  _44 = _42 == 0;
  _45 = (signed int) _44;
  _46 = (signed int) _42;
  _47 = _46 + -1;
  _5 = {_41, _47};(In reply to Andrew Pinski from comment #4)
> >that's v != 0 | v == c, I don't think that's equal to the original 
> >expression.
> 
> It is.
> 
> Here is the proof there:
> ((v > 0) ? -1 : 0) > ((v != c) ? -1 : 0)
> v is unsigned char:

Sorry it is unsigned (not unsigned char).

Reply via email to