https://gcc.gnu.org/g:0887961f9e0e7ea6b417bfb02787cfdaea41dbe4
commit r16-3797-g0887961f9e0e7ea6b417bfb02787cfdaea41dbe4 Author: Richard Biener <rguent...@suse.de> Date: Fri Sep 5 14:47:33 2025 +0200 tree-optimization/121703 - UBSAN error with moving from uninit data The PR reports vectorizer.h:276:3: runtime error: load of value 32695, which is not a valid value for type 'internal_fn' which I believe is from slp_node->data = new vect_load_store_data (std::move (ls)); where 'ls' can be partly uninitialized (and that data will be not used, but of course the move CTOR doesn't know this). The following tries to fix that by using value-initialization of 'ls'. PR tree-optimization/121703 * tree-vect-stmts.cc (vectorizable_store): Value-initialize ls. (vectorizable_load): Likewise. Diff: --- gcc/tree-vect-stmts.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc index 9fcc2fd08498..7eabf169a2be 100644 --- a/gcc/tree-vect-stmts.cc +++ b/gcc/tree-vect-stmts.cc @@ -7881,7 +7881,7 @@ vectorizable_store (vec_info *vinfo, if (!STMT_VINFO_DATA_REF (stmt_info)) return false; - vect_load_store_data _ls_data; + vect_load_store_data _ls_data{}; vect_load_store_data &ls = slp_node->get_data (_ls_data); if (cost_vec && !get_load_store_type (vinfo, stmt_info, vectype, slp_node, mask_node, @@ -9451,7 +9451,7 @@ vectorizable_load (vec_info *vinfo, else group_size = 1; - vect_load_store_data _ls_data; + vect_load_store_data _ls_data{}; vect_load_store_data &ls = slp_node->get_data (_ls_data); if (cost_vec && !get_load_store_type (vinfo, stmt_info, vectype, slp_node, mask_node,