On Tue, Jun 27, 2023 at 8:56 AM Robin Dapp via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
> > You can put it into the original one.
>
> Bootstrap and testsuite run were successful.
> I'm going to push the attached, thanks.

I am reducing a bug report which I think will be fixed by this change
(PR 110444). I will double check to see if this has fixed this issue
once I finished reducing it.
I will commit a testcase if this patch fixed the issue.

Thanks,
Andrew Pinski

>
> Regards
>  Robin
>
> diff --git a/gcc/match.pd b/gcc/match.pd
> index 33ccda3e7b6..83bcefa914b 100644
> --- a/gcc/match.pd
> +++ b/gcc/match.pd
> @@ -7454,10 +7454,12 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
>                   values representable in the TYPE to be within the
>                   range of normal values of ITYPE.  */
>               (if (element_precision (newtype) < element_precision (itype)
> +                  && (!VECTOR_MODE_P (TYPE_MODE (newtype))
> +                      || target_supports_op_p (newtype, op, optab_default))
>                    && (flag_unsafe_math_optimizations
>                        || (element_precision (newtype) == element_precision 
> (type)
> -                          && real_can_shorten_arithmetic (TYPE_MODE (itype),
> -                                                          TYPE_MODE (type))
> +                          && real_can_shorten_arithmetic (element_mode 
> (itype),
> +                                                          element_mode 
> (type))
>                            && !excess_precision_type (newtype)))
>                    && !types_match (itype, newtype))
>                  (convert:type (op (convert:newtype @1)
>

Reply via email to