------- Additional Comments From danglin at gcc dot gnu dot org  2005-01-23 
19:48 -------
The bad mem is generated by the call to extract_bit_field from this code
in emit_group_load_1:

(gdb) list
1678                {
1679                  rtx mem;
1680
1681                  gcc_assert (!bytepos);
1682                  mem = assign_stack_temp (GET_MODE (src), slen, 0);
1683                  emit_move_insn (mem, src);
1684                  tmps[i] = extract_bit_field (mem, bytelen * BITS_PER_UNIT,
1685                                               0, 1, NULL_RTX, mode, mode);
1686                }

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

(gdb) p debug_rtx (tmps[0])
(mem:DI (plus:DI (reg/f:DI 62 virtual-stack-vars)
        (const_int 40 [0x28])) [0 S8 A128])

(gdb) p mode
$26 = DImode


-- 


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

Reply via email to