https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106387

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |13.0
             Status|UNCONFIRMED                 |ASSIGNED
     Ever confirmed|0                           |1
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot 
gnu.org
   Last reconfirmed|                            |2022-07-22

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Mine.  The following should fix it:

diff --git a/gcc/tree-vect-stmts.cc b/gcc/tree-vect-stmts.cc
index 01d982eea98..f582d238984 100644
--- a/gcc/tree-vect-stmts.cc
+++ b/gcc/tree-vect-stmts.cc
@@ -10017,7 +10017,10 @@ vectorizable_load (vec_info *vinfo,
                                 (NULL_TREE, BIT_AND_EXPR, ptr,
                                  build_int_cst
                                  (TREE_TYPE (ptr), -(HOST_WIDE_INT) align));
-                   ptr = copy_ssa_name (ptr, new_stmt);
+                   if (TREE_CODE (ptr) == SSA_NAME)
+                     ptr = copy_ssa_name (ptr, new_stmt);
+                   else
+                     ptr = make_ssa_name (TREE_TYPE (ptr), new_stmt);
                    gimple_assign_set_lhs (new_stmt, ptr);
                    vect_finish_stmt_generation (vinfo, stmt_info,
                                                 new_stmt, gsi);

Reply via email to