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

--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-13 branch has been updated by hongtao Liu
<liuho...@gcc.gnu.org>:

https://gcc.gnu.org/g:ed73ad337739a4244e8040d19b6e567c4101b58a

commit r13-8068-ged73ad337739a4244e8040d19b6e567c4101b58a
Author: liuhongt <hongtao....@intel.com>
Date:   Mon Nov 13 17:56:49 2023 +0800

    Fix ICE in vectorizable_nonlinear_induction with bitfield.

     if (TREE_CODE (init_expr) == INTEGER_CST)
        init_expr = fold_convert (TREE_TYPE (vectype), init_expr);
      else
        gcc_assert (tree_nop_conversion_p (TREE_TYPE (vectype),
                                           TREE_TYPE (init_expr)));

    and init_expr is a 24 bit integer type while vectype has 32bit components.

    The "fix" is to bail out instead of asserting.

    gcc/ChangeLog:

            PR tree-optimization/112496
            * tree-vect-loop.cc (vectorizable_nonlinear_induction): Return
            false when !tree_nop_conversion_p (TREE_TYPE (vectype),
            TREE_TYPE (init_expr)).

    gcc/testsuite/ChangeLog:

            * gcc.target/i386/pr112496.c: New test.

    (cherry picked from commit f28306b4fd309b579c8a4a5bf2f1b24fa40f8f7f)

Reply via email to