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

--- Comment #4 from Martin Jambor <jamborm at gcc dot gnu.org> ---
With the patch from comment #3, the following sequence with the problematic
call:

  x.1_26 = __builtin_alloca_with_align (_24, 8);
  g (WITH_SIZE_EXPR <*x.1_26, _22>, WITH_SIZE_EXPR <*x.1_26, _22>);
  __builtin_stack_restore (saved_stack.2_15);

is turned by einline into:

  x.1_26 = __builtin_alloca_with_align (_24, 8);
  x_27 = MEM <double> [(struct  *)x.1_26];
  y_29 = MEM <double> [(struct  *)x.1_26];
  _30 = x_27 u<= y_29;
  _31 = ~_30;
  _32 = (int) _31;
  __builtin_stack_restore (saved_stack.2_15);

Which looks OKish, under the circumstances, to me.  Let me look at the second
testcase now.

Reply via email to