------- 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