Skip to content
Snippets Groups Projects
Commit 55f89800 authored by Tamar Christina's avatar Tamar Christina
Browse files

middle-end: Fix VEC_PERM_EXPR lowering since relaxation of vector sizes

In GCC 14 VEC_PERM_EXPR was relaxed to be able to permute to a 2x larger vector
than the size of the input vectors.  However various passes and transformations
were not updated to account for this.

I have patches in these area that I will be upstreaming with individual patches
that expose them.

This one is that vectlower tries to lower based on the size of the input vectors
rather than the size of the output.  As a consequence it creates an invalid
vector of half the size.

Luckily we ICE because the resulting nunits doesn't match the vector size.

gcc/ChangeLog:

	* tree-vect-generic.cc (lower_vec_perm): Use output vector size instead
	of input vector when determining output nunits.

gcc/testsuite/ChangeLog:

	* gcc.dg/vec-perm-lower.c: New test.
parent 453d3d90
No related branches found
No related tags found
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment