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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2026-01-10
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Created attachment 63314
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=63314&action=edit
gcc16-pr123523.patch

Untested fix.
The pattern uses DImode shift count (which is what the HW is doing), but
simplify-rtx.cc was assuming that shift counts will be at most word_mode.
Now, CONST_INT payload, the only VOIDmode constant, is 64-bit, so if we always
use DImode, it matches that and will never reject some shift counts.

Reply via email to