This is the mail archive of the
mailing list for the GCC project.
Re: How to gimplify_build a FMA_EXPR since it was removed?
- From: Andrew Pinski <pinskia at gmail dot com>
- To: Laurent Thévenoux <lrnt at thvnx dot com>
- Cc: GCC Mailing List <gcc at gcc dot gnu dot org>
- Date: Mon, 4 Feb 2019 14:38:28 -0800
- Subject: Re: How to gimplify_build a FMA_EXPR since it was removed?
- References: <78ef-5c583400-5-25671200@29579276>
On Mon, Feb 4, 2019 at 4:47 AM Laurent Thévenoux <email@example.com> wrote:
> Sorry for duplicate, gcc-help was not the right mailing list for this one.
> -------- Original Message --------
> Subject: How to gimplify_build a FMA_EXPR since it was removed?
> Date: Monday, February 04, 2019 13:28 CET
> From: Laurent Thévenoux <firstname.lastname@example.org>
> To: email@example.com
> CC: firstname.lastname@example.org
> I've developed some code in gcc/tree-complex.c. I was using the
> FMA_EXPR to generate fma operations such as in:
> rr = gimplify_build3 (gsi, FMA_EXPR, inner_type, ai, ai, p1r);```
> FMA_EXPR was removed in https://gcc.gnu.org/ml/gcc-patches/2018-05/msg00570.html.
> Is there an easy way to gimplify FMAs with the new functions
> introduced in the patch below?
From that patch (e.g. rs6000_gimple_fold_builtin):
- gimple *g = gimple_build_assign (lhs, FMA_EXPR, arg0, arg1, arg2);
+ gcall *g = gimple_build_call_internal (IFN_FMA, 3, arg0, arg1, arg2);
+ gimple_call_set_lhs (g, lhs);
+ gimple_call_set_nothrow (g, true);