On Mon, May 22, 2023 at 5:16 PM Alexander Monakov <amona...@ispras.ru> wrote: > > > On Mon, 22 May 2023, Richard Biener wrote: > > > On Thu, May 18, 2023 at 11:04 PM Alexander Monakov via Gcc-patches > > <gcc-patches@gcc.gnu.org> wrote: > > > > > > Implement -ffp-contract=on for C and C++ without changing default > > > behavior (=off for -std=cNN, =fast for C++ and -std=gnuNN). > > > > The documentation changes mention the defaults are changed for > > standard modes, I suppose you want to remove that hunk. > > No, the current documentation is incomplete, and that hunk extends it > to match the current GCC behavior. Should I break it out to a separate > patch? I see this drive-by fix could look confusing — sorry about that. > > > it would be possible to do > > > > *expr_p = build_call_expr_internal (ifn, type, ops[0], ops[1]. ops[2]); > > return GS_OK; > > > > and not worry about temporary creation and gimplifying of the operands. > > That would in theory also leave the possibility to do this during > > genericization instead (and avoid the guard against late invocation of > > the hook). > > Ah, no, I deliberately decided against that, because that way we would go > via gimplify_arg, which would emit all side effects in *pre_p. That seems > wrong if arguments had side-effects that should go in *post_p.
Ah, true - that warrants a comment though. Richard. > > Thanks. > Alexander > > > Otherwise it looks OK, but I'll let frontend maintainers have a chance to > > look > > as well. > > > > Thanks for tackling this long-standing issue. > > Richard.