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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2014-07-07
                 CC|                            |jakub at gcc dot gnu.org
           Assignee|unassigned at gcc dot gnu.org      |jakub at gcc dot gnu.org
   Target Milestone|---                         |4.9.1
            Summary|[4.9 Regression]            |[4.9/4.10 Regression]
                   |__builtin_ffs(0) leads to   |__builtin_ffs(0) leads to
                   |wrong code generation       |wrong code generation
     Ever confirmed|0                           |1

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
This started with my r200731.  I've been assuming and documentation agrees with
me that __builtin_ffs similarly to __builtin_{popcount,parity,clz,ctz} have
unsigned argument, but apparently builtins.def was defining __builtin_ffs with
signed argument, so the check for range that doesn't include zero I've added to
tree-vrp.c for ffs/popcount is only correct for popcount and not for ffs.

Reply via email to