-
- Downloads
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.
Showing
- gcc/testsuite/gcc.dg/vect/vect-simd-clone-16f.c 2 additions, 3 deletionsgcc/testsuite/gcc.dg/vect/vect-simd-clone-16f.c
- gcc/testsuite/gcc.dg/vect/vect-simd-clone-17f.c 2 additions, 3 deletionsgcc/testsuite/gcc.dg/vect/vect-simd-clone-17f.c
- gcc/testsuite/gcc.dg/vect/vect-simd-clone-18f.c 2 additions, 3 deletionsgcc/testsuite/gcc.dg/vect/vect-simd-clone-18f.c
- gcc/tree-vect-data-refs.cc 45 additions, 0 deletionsgcc/tree-vect-data-refs.cc
Loading
Please register or sign in to comment