On Mon, Feb 23, 2015 at 8:56 AM, Alan Modra <amo...@gmail.com> wrote: > get_memreg_parts can return a memory base other than a REG, when the > memory address in question is a PLUS with other than a REG as its > first operand. This leads to an ICE with rtl checking enabled on the > following, since the callers of get_memreg_parts expect a REG. > > (gdb) p debug_rtx(addr_rtx) > (plus:DI (plus:DI (reg/f:DI 9 9 [162]) > (const_int 65536 [0x10000])) > (const_int -31752 [0xffffffffffff83f8])) > > Bootstrapped and regression tested powerpc64-linux. OK for stage4? > > PR target/65182 > * config/rs6000/rs6000.c (get_memref_parts): Only return true > when *base is a reg. Handle nested plus addresses. Simplify > pre_modify test.
Okay for stage 4. Thanks, David