2009/10/12 Jon Beniston <j...@beniston.com>: >> PS: Does gcc have a function which could dump the specified rtx? >> I wanna dump the rtx when the crash happening. > > debug_rtx(x); > > You can also call this from within GDB, by typing: > > call debug_rtx(x) > > Cheers, > Jon > Thanks.
I dump the context. Here it is: (mult:SI (zero_extend:SI (mem/c/i:HI (plus:SI (reg/f:SI 14 R14) (const_int 46 [0x2e])) [8 mm+0 S2 A16])) (zero_extend:SI (const_int 60 [0x3c]))) (zero_extend:SI (const_int 60 [0x3c])) makes the gcc crash. It is exactly the rtx mentioned in first email: (insn 228 227 229 21 ../../../../../newlib-1.16.0/newlib/libc/time/tzset_r.c:78 (set (reg:HI 182 [ mm ]) (mem/c/i:HI (plus:SI (reg/f:SI 14 R14) (const_int 46 [0x2e])) [8 mm+0 S2 A16])) 10 {load_hi} (nil)) (insn 229 228 230 21 ../../../../../newlib-1.16.0/newlib/libc/time/tzset_r.c:78 (set (reg:SI 181) (mult:SI (zero_extend:SI (reg:HI 182 [ mm ])) (zero_extend:SI (const_int 60 [0x3c])))) 63 {rice_umulhisi3} (expr_list:REG_DEAD (reg:HI 182 [ mm ]) (nil))) You can see gcc just merged the two insn. But problem is HOW I could avoid this error. Thanks. daniel