[Bug tree-optimization/112496] [13/14 Regression] ICE: in vectorizable_nonlinear_induction, at tree-vect-loop.cc with bit fields

2023-11-14 Thread sjames at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112496

Sam James  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 CC||sjames at gcc dot gnu.org
 Status|NEW |RESOLVED

--- Comment #6 from Sam James  ---
Fixed for 13.3 then.

[Bug tree-optimization/112496] [13/14 Regression] ICE: in vectorizable_nonlinear_induction, at tree-vect-loop.cc with bit fields

2023-11-14 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112496

--- Comment #5 from CVS Commits  ---
The releases/gcc-13 branch has been updated by hongtao Liu
:

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

commit r13-8068-ged73ad337739a4244e8040d19b6e567c4101b58a
Author: liuhongt 
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)

[Bug tree-optimization/112496] [13/14 Regression] ICE: in vectorizable_nonlinear_induction, at tree-vect-loop.cc with bit fields

2023-11-14 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112496

--- Comment #4 from CVS Commits  ---
The master branch has been updated by hongtao Liu :

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

commit r14-5433-gf28306b4fd309b579c8a4a5bf2f1b24fa40f8f7f
Author: liuhongt 
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.

[Bug tree-optimization/112496] [13/14 Regression] ICE: in vectorizable_nonlinear_induction, at tree-vect-loop.cc with bit fields

2023-11-13 Thread crazylht at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112496

--- Comment #3 from Hongtao.liu  ---
(In reply to Richard Biener from comment #2)
>  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.

Agree.

[Bug tree-optimization/112496] [13/14 Regression] ICE: in vectorizable_nonlinear_induction, at tree-vect-loop.cc with bit fields

2023-11-13 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112496

Richard Biener  changed:

   What|Removed |Added

   Priority|P3  |P2
 CC||crazylht at gmail dot com

--- Comment #2 from Richard Biener  ---
 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.

[Bug tree-optimization/112496] [13/14 Regression] ICE: in vectorizable_nonlinear_induction, at tree-vect-loop.cc with bit fields

2023-11-12 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112496

Andrew Pinski  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever confirmed|0   |1
   Keywords||needs-bisection
   Last reconfirmed||2023-11-12

--- Comment #1 from Andrew Pinski  ---
Confirmed.

[Bug tree-optimization/112496] [13/14 Regression] ICE: in vectorizable_nonlinear_induction, at tree-vect-loop.cc with bit fields

2023-11-12 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112496

Andrew Pinski  changed:

   What|Removed |Added

  Known to fail||13.1.0, 13.2.0
   Target Milestone|--- |13.3
Summary|GCC: 14: internal compiler  |[13/14 Regression] ICE: in
   |error: in   |vectorizable_nonlinear_indu
   |vectorizable_nonlinear_indu |ction, at tree-vect-loop.cc
   |ction, at   |with bit fields
   |tree-vect-loop.cc:9573  |
  Known to work||12.3.0