[Patch][GCC][middle-end] - Generate FRINTZ for (double)(int) under -ffast-math on aarch64

Andrew Pinski pinskia@gmail.com
Mon Aug 16 18:47:43 GMT 2021


On Mon, Aug 16, 2021 at 9:15 AM Jirui Wu via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
> Hi all,
>
> This patch generates FRINTZ instruction to optimize type casts.
>
> The changes in this patch covers:
> * Opimization of a FIX_TRUNC_EXPR cast inside a FLOAT_EXPR using IFN_TRUNC.
> * Change of corresponding test cases.
>
> Regtested on aarch64-none-linux-gnu and no issues.
>
> Ok for master? If OK can it be committed for me, I have no commit rights.

Is there a reason why you are doing the transformation manually inside
forwprop rather than handling it inside match.pd?
Also can't this only be done for -ffast-math case?

Thanks,
Andrew Pinski

>
> Thanks,
> Jirui
>
> gcc/ChangeLog:
>
>         * tree-ssa-forwprop.c (pass_forwprop::execute): Optimize with frintz.
>
>
> gcc/testsuite/ChangeLog:
>
>         * gcc.target/aarch64/fix_trunc1.c: Update to new expectation.


More information about the Gcc-patches mailing list