------- Additional Comments From danglin at gcc dot gnu dot org  2005-01-23 
20:23 -------
This regression was introduced by the following change:

2004-11-26  Richard Kenner  <[EMAIL PROTECTED]>

        * expmed.c (extract_bit_field): When extracting from non-integer mode,
        force a SUBREG into a register because we may be taking a further
        SUBREG of it.

(gdb) list
1156         if we aren't.  */
1157      {
1158        enum machine_mode imode = int_mode_for_mode (GET_MODE (op0));
1159        if (imode != GET_MODE (op0))
1160          {
1161            op0 = gen_lowpart (imode, op0);
1162
1163            /* If we got a SUBREG, force it into a register since we aren't 
going
1164               to be able to do another SUBREG on it.  */
1165            if (GET_CODE (op0) == SUBREG)

(gdb) p imode
$32 = BLKmode
(gdb) p debug_rtx (op0)
(mem:TC (plus:DI (reg/f:DI 62 virtual-stack-vars)
        (const_int 8 [0x8])) [0 S32 A128])


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kenner at vlsi1 dot ultra
                   |                            |dot nyu dot edu


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

Reply via email to