aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorTamar Christina <tamar.christina@arm.com>2024-10-18 10:36:19 +0100
committerTamar Christina <tamar.christina@arm.com>2024-10-18 10:36:19 +0100
commit55f898008ec8235897cf56c89f5599c3ec1bc963 (patch)
treefb66049a02ad3bfe3be5a9498fa633c3a11b4bc2 /gcc/fortran
parent453d3d90c374d3bb329f1431b7dfb8d0510a88b9 (diff)
downloadgcc-55f898008ec8235897cf56c89f5599c3ec1bc963.zip
gcc-55f898008ec8235897cf56c89f5599c3ec1bc963.tar.gz
gcc-55f898008ec8235897cf56c89f5599c3ec1bc963.tar.bz2
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.
Diffstat (limited to 'gcc/fortran')
0 files changed, 0 insertions, 0 deletions