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