diff options
author | Andre Vieira <andre.simoesdiasvieira@arm.com> | 2023-10-19 18:30:15 +0100 |
---|---|---|
committer | Andre Vieira <andre.simoesdiasvieira@arm.com> | 2023-10-19 18:30:15 +0100 |
commit | c9ce846763c3d220c754ac0a327e275ac00a83e1 (patch) | |
tree | f2dba6fe374d755b85b315d6f8cac2e3987db94c /gcc/cp/constexpr.cc | |
parent | 53d40858c8370b2079bfb017c6870b244b718800 (diff) | |
download | gcc-c9ce846763c3d220c754ac0a327e275ac00a83e1.zip gcc-c9ce846763c3d220c754ac0a327e275ac00a83e1.tar.gz gcc-c9ce846763c3d220c754ac0a327e275ac00a83e1.tar.bz2 |
vect: Fix vect_get_smallest_scalar_type for simd clones
The vect_get_smallest_scalar_type helper function was using any argument to a
simd clone call when trying to determine the smallest scalar type that would be
vectorized. This included the function pointer type in a MASK_CALL for
instance, and would result in the wrong type being selected. Instead this
patch special cases simd_clone_call's and uses only scalar types of the
original function that get transformed into vector types.
gcc/ChangeLog:
* tree-vect-data-refs.cc (vect_get_smallest_scalar_type): Special case
simd clone calls and only use types that are mapped to vectors.
(simd_clone_call_p): New helper function.
gcc/testsuite/ChangeLog:
* gcc.dg/vect/vect-simd-clone-16f.c: Remove unnecessary differentation
between targets with different pointer sizes.
* gcc.dg/vect/vect-simd-clone-17f.c: Likewise.
* gcc.dg/vect/vect-simd-clone-18f.c: Likewise.
Diffstat (limited to 'gcc/cp/constexpr.cc')
0 files changed, 0 insertions, 0 deletions