On Wed, Apr 29, 2020 at 07:16:53AM +0000, Zhanghaijian (A) wrote:
>     2020-04-29  Haijian Zhang <z.zhanghaij...@huawei.com>

Two spaces before < rather than just one.

>             PR target/94820
>             * config/aarch64/aarch64-builtins.c
>             (aarch64_atomic_assign_expand_fenv): Use TARGET_EXPR instead of
>             MODIFY_EXPR for first assignment to fenv_cr, fenv_sr and
>             new_fenv_var.

Ok for trunk, thanks.

> diff --git a/gcc/config/aarch64/aarch64-builtins.c 
> b/gcc/config/aarch64/aarch64-builtins.c
> index 5744e68ea08..95213cd70c8 100644
> --- a/gcc/config/aarch64/aarch64-builtins.c
> +++ b/gcc/config/aarch64/aarch64-builtins.c
> @@ -2313,10 +2313,12 @@ aarch64_atomic_assign_expand_fenv (tree *hold, tree 
> *clear, tree *update)
>    mask_sr = build_int_cst (unsigned_type_node,
>                          ~(AARCH64_FE_ALL_EXCEPT));
>  
> -  ld_fenv_cr = build2 (MODIFY_EXPR, unsigned_type_node,
> -                    fenv_cr, build_call_expr (get_fpcr, 0));
> -  ld_fenv_sr = build2 (MODIFY_EXPR, unsigned_type_node,
> -                    fenv_sr, build_call_expr (get_fpsr, 0));
> +  ld_fenv_cr = build4 (TARGET_EXPR, unsigned_type_node,
> +                    fenv_cr, build_call_expr (get_fpcr, 0),
> +                    NULL_TREE, NULL_TREE);
> +  ld_fenv_sr = build4 (TARGET_EXPR, unsigned_type_node,
> +                    fenv_sr, build_call_expr (get_fpsr, 0),
> +                    NULL_TREE, NULL_TREE);
>  
>    masked_fenv_cr = build2 (BIT_AND_EXPR, unsigned_type_node, fenv_cr, 
> mask_cr);
>    masked_fenv_sr = build2 (BIT_AND_EXPR, unsigned_type_node, fenv_sr, 
> mask_sr);
> @@ -2348,8 +2350,9 @@ aarch64_atomic_assign_expand_fenv (tree *hold, tree 
> *clear, tree *update)
>         __atomic_feraiseexcept (new_fenv_var);  */
>  
>    new_fenv_var = create_tmp_var_raw (unsigned_type_node);
> -  reload_fenv = build2 (MODIFY_EXPR, unsigned_type_node,
> -                     new_fenv_var, build_call_expr (get_fpsr, 0));
> +  reload_fenv = build4 (TARGET_EXPR, unsigned_type_node,
> +                     new_fenv_var, build_call_expr (get_fpsr, 0),
> +                     NULL_TREE, NULL_TREE);
>    restore_fnenv = build_call_expr (set_fpsr, 1, fenv_sr);
>    atomic_feraiseexcept = builtin_decl_implicit 
> (BUILT_IN_ATOMIC_FERAISEEXCEPT);
>    update_call = build_call_expr (atomic_feraiseexcept, 1,
> -- 
> 2.19.1

        Jakub

Reply via email to