On 11/15/22 07:54, Richard Sandiford via Gcc-patches wrote:
Tamar Christina <tamar.christ...@arm.com> writes:
-----Original Message-----
From: Richard Sandiford <richard.sandif...@arm.com>
Sent: Tuesday, November 15, 2022 11:59 AM
To: Tamar Christina via Gcc-patches <gcc-patches@gcc.gnu.org>
Cc: Tamar Christina <tamar.christ...@arm.com>; nd <n...@arm.com>;
rguent...@suse.de; j...@ventanamicro.com
Subject: Re: [PATCH]middle-end: replace GET_MODE_WIDER_MODE with
GET_MODE_NEXT_MODE

Tamar Christina via Gcc-patches <gcc-patches@gcc.gnu.org> writes:
Hi All,

After the fix to the addsub patch yesterday for bootstrap I had only
regtested on x86.
While looking today it seemed the new tests were failing, this was
caused by a change in the behavior of the GET_MODE_WIDER_MODE
macro on trunk.
This patch fixes that issue. Sorry for the mess, have rebased all branches
now.
Bootstrapped Regtested on aarch64-none-linux-gnu and no issues.

Ok for master?

Thanks,
Tamar

gcc/ChangeLog:

        * match.pd: Replace GET_MODE_WIDER_MODE with
        GET_MODE_NEXT_MODE.

--- inline copy of patch --
diff --git a/gcc/match.pd b/gcc/match.pd index

1b0ab7cf60fa4772fbe8304c622b0b8fab1bdefa..28191a992039c6f3a1dab5f7c0
e3
5dd58dc47092 100644
--- a/gcc/match.pd
+++ b/gcc/match.pd
@@ -7997,7 +7997,7 @@ and,
         machine_mode wide_mode;
       }
       (if (sel.series_p (0, 2, 0, 2)
-          && GET_MODE_WIDER_MODE (vec_mode).exists (&wide_mode)
+          && GET_MODE_NEXT_MODE (vec_mode).exists (&wide_mode)
          && VECTOR_MODE_P (wide_mode)
          && (GET_MODE_UNIT_BITSIZE (vec_mode) * 2
              == GET_MODE_UNIT_BITSIZE (wide_mode)))
Does anything guarantee that the next mode will be the right one?
It think it would be safer to replace the last three && conditions with:

    && GET_MODE_2XWIDER_MODE (GET_MODE_INNER (vec_mode)).exists
(&wide_elt_mode)
    && multiple_p (GET_MODE_NUNITS (vec_mode), 2, &wide_nunits)
    && related_vector_mode (vec_mode, wide_elt_mode,
                           wide_nunits).exists (&wide_mode)
I see, respun patch accordingly.
LGTM, but I'm nervous when it comes to match.pd stuff so I'd prefer
Richi or Jeff to have the final say.

It's just a matter of finding that 2X wider mode to make the transformation possible.  So I don't see any concerns here.


jeff


Reply via email to