http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50762

Uros Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ebotcazou at gcc dot
                   |                            |gnu.org

--- Comment #12 from Uros Bizjak <ubizjak at gmail dot com> 2011-11-10 13:16:54 
UTC ---
This time we hit assert in simplify_rtx.c:

    case ZERO_EXTEND:
      /* When zero-extending a CONST_INT, we need to know its
             original mode.  */
-->      gcc_assert (op_mode != VOIDmode);
      if (op_width == HOST_BITS_PER_WIDE_INT)
        {
          /* If we were really extending the mode,
         we would have to distinguish between zero-extension
         and sign-extension.  */
          gcc_assert (width == op_width);
          val = arg0;
        }

But ... CONST_INTs do not have mode.

A couple of lines below, CONST_INTs can be sign_extended, but not zero_extended
here... Let's ask some people that know this part of the compiler.

Reply via email to