Hi Jeff, > IIRC you're not supposed to have (subreg (mem)) expressions at this point. > > Any (subreg (mem)) at this point can be trivially turned into a simple > memory load. > The issue is that the mode_dependent_address_p hook returns true, thus the simplify_subreg() will not simplify the subref(mem) as expected (see simplify-rtx.c:6045). Everything boils down in having the subreg(mem) while expanding (via simplify_gen_subreg -> emit_store_flag_1).
So, a solution (also which I applied a while back) is to relax ARC's mode_dependent_address_p hook avoiding in this way the above issue. Not very sure about it though. Thanks, Claudiu