diff mbox series

middle-end/118795 - fix can_vec_perm_const_p query in match.pd

Message ID 20250325134423.450EF3857BB9@sourceware.org
State New
Headers show
Series middle-end/118795 - fix can_vec_perm_const_p query in match.pd | expand

Commit Message

Richard Biener March 25, 2025, 1:43 p.m. UTC
When expanding to RTL we always use vec_perm_indices with two operands
which can make a difference with respect to supported vs. unsupported.
So the following adjusts a query in match.pd for target support which
got this "wrong" and using 1 for a equal operand permute.

Bootstrapped on x86_64-unknown-linux-gnu, testing in progress.

Eventually a reduced testcase is ready in time.

Richard.

	PR middle-end/118795
	* match.pd (vec_perm <vec_perm <a, b>> -> vec_perm <a, b>):
	Use the appropriate check to see whether the original
	outer permute was supported.
---
 gcc/match.pd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/gcc/match.pd b/gcc/match.pd
index ad966766376..c0402e81c28 100644
--- a/gcc/match.pd
+++ b/gcc/match.pd
@@ -11128,7 +11128,7 @@  and,
     (with
      {
        vec_perm_indices sel0 (builder0, 2, nelts);
-       vec_perm_indices sel1 (builder1, 1, nelts);
+       vec_perm_indices sel1 (builder1, 2, nelts);
 
        for (int i = 0; i < nelts; i++)
 	 builder2.quick_push (sel0[sel1[i].to_constant ()]);