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

--- Comment #8 from Uroš Bizjak <ubizjak at gmail dot com> ---
diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc
index 2b774ff7c4e..03a20aaca49 100644
--- a/gcc/config/i386/i386-expand.cc
+++ b/gcc/config/i386/i386-expand.cc
@@ -17642,9 +17642,7 @@ ix86_expand_vector_init (bool mmx_ok, rtx target, rtx
vals)
   for (i = 0; i < n_elts; ++i)
     {
       x = XVECEXP (vals, 0, i);
-      if (!(CONST_SCALAR_INT_P (x)
-           || CONST_DOUBLE_P (x)
-           || CONST_FIXED_P (x)))
+      if (immediate_operand (x, inner_mode))
        n_var++, one_var = i;
       else if (x != CONST0_RTX (inner_mode))
        all_const_zero = false;

Reply via email to