This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: bootstrap on powerpc fails


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  <steinmtz@us.ibm.com>
>             Peter Bergner  <bergner@vnet.ibm.com>
> 
>         * 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))



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]