aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.cc
diff options
context:
space:
mode:
authorVictor Do Nascimento <victor.donascimento@arm.com>2024-12-11 11:58:55 +0000
committerTamar Christina <tamar.christina@arm.com>2024-12-11 11:59:24 +0000
commit240cbd2f26c0f1c1f83cfc3b69cc0271b56172e2 (patch)
treefcf144b47e24668471e078bf237695b594fa2e25 /gcc/expr.cc
parent561ef7c8477ba58ea64de259af9c2d0870afd9d4 (diff)
downloadgcc-240cbd2f26c0f1c1f83cfc3b69cc0271b56172e2.zip
gcc-240cbd2f26c0f1c1f83cfc3b69cc0271b56172e2.tar.gz
gcc-240cbd2f26c0f1c1f83cfc3b69cc0271b56172e2.tar.bz2
middle-end: Fix mask length arg in call to vect_get_loop_mask [PR96342]
When issuing multiple calls to a simdclone in a vectorized loop, TYPE_VECTOR_SUBPARTS(vectype) gives the incorrect number when compared to the TYPE_VECTOR_SUBPARTS result we get from the mask type derived from the relevant `rgroup_controls' entry within `vect_get_loop_mask'. By passing `masktype' instead, we are able to get the correct number of vector subparts and thu eliminate the ICE in the call to `vect_get_loop_mask' when the data type for which we retrieve the mask is wider than the one used when defining the mask at mask registration time. gcc/ChangeLog: PR target/96342 * tree-vect-stmts.cc (vectorizable_simd_clone_call): s/vectype/masktype/ in call to vect_get_loop_mask.
Diffstat (limited to 'gcc/expr.cc')
0 files changed, 0 insertions, 0 deletions