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

--- Comment #21 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to H.J. Lu from comment #20)
> This is the opposite of PR 80583.

Like this

diff --git a/gcc/expr.cc b/gcc/expr.cc
index 4c892d69249..b4e1ec9dbe7 100644
--- a/gcc/expr.cc
+++ b/gcc/expr.cc
@@ -7898,8 +7898,7 @@ get_inner_reference (tree exp, poly_int64_pod *pbitsize,
     /* For vector fields re-check the target flags, as DECL_MODE
        could have been set with different target flags than
        the current function has.  */
-    if (mode == BLKmode
-        && VECTOR_TYPE_P (TREE_TYPE (field))
+    if (VECTOR_TYPE_P (TREE_TYPE (field))
         && VECTOR_MODE_P (TYPE_MODE_RAW (TREE_TYPE (field))))
       mode = TYPE_MODE (TREE_TYPE (field));
   }

Reply via email to