------- Comment #2 from hjl dot tools at gmail dot com 2010-06-28 21:57 ------- I think it is a latent bug exposed by revision 161329. Now x86 backend may generate:
(ior:HI (ashift:HI (zero_extend:HI (umod:QI (reg:HI 68) (reg:QI 61 [ D.2750 ]))) (const_int 8 [0x8])) (zero_extend:HI (udiv:QI (reg:HI 68) (reg:QI 61 [ D.2750 ])))) Combine ran into trouble: (gdb) bt #0 fancy_abort ( file=0x11e5860 "/export/gnu/import/git/gcc/gcc/simplify-rtx.c", line=5117, function=0x11e6be0 "simplify_subreg") at /export/gnu/import/git/gcc/gcc/diagnostic.c:879 #1 0x00000000009d76ad in simplify_subreg (outermode=HImode, op=0x7ffff1d04f00, innermode=QImode, byte=0) at /export/gnu/import/git/gcc/gcc/simplify-rtx.c:5116 #2 0x00000000009d87e6 in simplify_gen_subreg (outermode=HImode, op=0x7ffff1d04f00, innermode=QImode, byte=0) at /export/gnu/import/git/gcc/gcc/simplify-rtx.c:5426 #3 0x0000000000fcc60a in if_then_else_cond (x=0x7ffff1b6d390, ptrue=0x7fffffffd448, pfalse=0x7fffffffd438) at /export/gnu/import/git/gcc/gcc/combine.c:8219 #4 0x0000000000fcbf66 in if_then_else_cond (x=0x7ffff1b6d3a8, ptrue=0x7fffffffd4d0, pfalse=0x7fffffffd4c8) at /export/gnu/import/git/gcc/gcc/combine.c:8103 #5 0x0000000000fc305a in combine_simplify_rtx (x=0x7ffff1b6d3a8, op0_mode=VOIDmode, in_dest=0) at /export/gnu/import/git/gcc/gcc/combine.c:4864 #6 0x0000000000fc2def in subst (x=0x7ffff1b6d3a8, from=0x7ffff1c170c0, to=0x7ffff1c170c0, in_dest=0, unique_copy=0) at /export/gnu/import/git/gcc/gcc/combine.c:4803 #7 0x0000000000fc2ba7 in subst (x=0x7ffff1b64720, from=0x7ffff1c170c0, ---Type <return> to continue, or q <return> to quit--- to=0x7ffff1c170c0, in_dest=0, unique_copy=0) at /export/gnu/import/git/gcc/gcc/combine.c:4741 #8 0x0000000000fc2ba7 in subst (x=0x7ffff1b64738, from=0x7ffff1c170c0, to=0x7ffff1c170c0, in_dest=0, unique_copy=0) at /export/gnu/import/git/gcc/gcc/combine.c:4741 #9 0x0000000000fbd20b in try_combine (i3=0x7ffff1b0a870, i2=0x7ffff1b0a798, i1=0x0, new_direct_jump_p=0x7fffffffdaf4) at /export/gnu/import/git/gcc/gcc/combine.c:2885 #10 0x0000000000fb911e in combine_instructions (f=0x7ffff1c227c0, nregs=70) at /export/gnu/import/git/gcc/gcc/combine.c:1152 #11 0x0000000000fd898f in rest_of_handle_combine () at /export/gnu/import/git/gcc/gcc/combine.c:13342 -- hjl dot tools at gmail dot com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |hjl dot tools at gmail dot | |com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44695