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

--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
x86_64 IR:
  c.0_6 = c_5(D);
  _2 = (__int128 unsigned) c.0_6;
  _1 = {_2};
  _10 = VIEW_CONVERT_EXPR<__int128 unsigned>(v_7(D));
  _11 = _10 >= _2;
  _12 = (int128_t) _11;
  _13 = -_12;
  _14 = (<signed-boolean:128>) _13;
  _3 = {_14};
  _15 = _12 + -1;
  _16 = (<signed-boolean:128>) _15;
  _4 = {_16};
  _8 = VIEW_CONVERT_EXPR<V>(_4);



aarch64 (and I think riscv) IR:
  c.0_6 = c_5(D);
  _2 = (__int128 unsigned) c.0_6;
  _1 = {_2};
  _10 = VIEW_CONVERT_EXPR<__int128 unsigned>(v_7(D));
  _11 = _10 >= _2;
  _12 = (int128_t) _11;
  _13 = -_12;
  _14 = (<signed-boolean:128>) _13;
  _3 = {_14};
  _4 = ~_3;
  _15 = VIEW_CONVERT_EXPR<<signed-boolean:128>>(_4);
  _16 = _15 != 0;
  _17 = (__int128 unsigned) _16;
  _18 = -_17;
  _8 = {_18};

Reply via email to