On Tue, 2006-11-07 at 17:30 -0500, Andrew Pinski wrote:
> > 
> > Bootstrap off the trunk on powerpc-linux fails currently with:
> > 
> > /cvs/gcc-svn/trunk/gcc/libgcov.c: In function =E2=80=98__gcov_execl=E2=80=
> > =99:
> > /cvs/gcc-svn/trunk/gcc/libgcov.c:796: internal compiler error: RTL check: e=
> > xpected code 'set' or 'clobber', have 'parallel' in adjacent_mem_locations,=
> >  at config/rs6000/rs6000.c:16955
> > 
> > Is this already known or should I file a bugreport?  I haven't tested
> > for over a week, so do not know when this was introduced...
> 
> This was introduced by:
> 2006-11-01  Pete Steinmetz  <[EMAIL PROTECTED]>
>             Peter Bergner  <[EMAIL PROTECTED]>
> 
>         * doc/invoke.texi: Add cpu_type power6x
> 
> The function which we are crashing in is adjacent_mem_locations which is
> new with the above patch.

The parallel that is causing the ICE is a store with update RTL insn.
It seems like we should detect that and reach into the parallel and
grab the actual store insn.  I'll look into adding that.

Peter


Breakpoint 5, adjacent_mem_locations (insn1=0x4040bf60,
insn2=0x4040bde0)

at /home/bergner/gcc/power6/gcc-mainline-power6/gcc/config/rs6000/rs6000.c:16955
16955     rtx a = SET_DEST (PATTERN (insn1));
(gdb) call debug_rtx (insn1)
(insn:HI 126 125 116
10 /home/bergner/gcc/power6/gcc-mainline-power6/gcc/libgcov.c:789
(parallel [
            (set (mem:SI (plus:SI (reg/f:SI 1 1)
                        (reg:SI 182)) [0 S4 A32])
                (reg:SI 181))
            (set (reg/f:SI 1 1)
                (plus:SI (reg/f:SI 1 1)
                    (reg:SI 182)))
        ]) 375 {movsi_update} (nil)
    (nil))
(gdb) call debug_rtx (insn2)
(insn:HI 116 126 128
10 /home/bergner/gcc/power6/gcc-mainline-power6/gcc/libgcov.c:785 (set
(mem/s:SI (plus:SI (reg/f:SI 113 sfp)                (const_int 12
[0xc])) [3 <variable>.overflow_arg_area+0 S4 A32])
        (reg/f:SI 148 [ ap_I__overflow_arg_areaap_I_I_lsm.82 ])) 323
{*movsi_internal1} (nil)
    (nil))


Reply via email to