From: Kewen Lin Date: Fri, 14 Jan 2022 13:02:10 +0000 (-0600) Subject: vect: Check partial vector param for supports_partial_vectors [PR104015] X-Git-Tag: basepoints/gcc-13~1731 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6d51a9c6447bace21f860e70aed13c6cd90971bd;p=thirdparty%2Fgcc.git vect: Check partial vector param for supports_partial_vectors [PR104015] As described in PR104015, the function partial_vectors_supported_p mainly checks optabs for partial vectors support query, but we still have one parameter param_vect_partial_vector_usage to control the capability. Power9 introduces vector with length instructions (for len_load/len_store) but we don't enable partial vector on it by default. It should be considered as not supporting partial vector by default. This fix is to make the flag supports_partial_vectors check param_vect_partial_vector_usage accordingly. gcc/ChangeLog: PR tree-optimization/104015 * tree-vect-loop.c (vect_analyze_loop): Check param_vect_partial_vector_usage for supports_partial_vectors. --- diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c index 8748b1a55936..1dbdb9e5fa07 100644 --- a/gcc/tree-vect-loop.c +++ b/gcc/tree-vect-loop.c @@ -3051,7 +3051,8 @@ vect_analyze_loop (class loop *loop, vec_info_shared *shared) vector_modes[0] = autodetected_vector_mode; mode_i = 0; - bool supports_partial_vectors = partial_vectors_supported_p (); + bool supports_partial_vectors = + partial_vectors_supported_p () && param_vect_partial_vector_usage != 0; poly_uint64 first_vinfo_vf = LOOP_VINFO_VECT_FACTOR (first_loop_vinfo); while (1)