[Committed] Fix PR target/29945, ICE in simplify_subreg with simple code in libgfortran

Andrew_Pinski@PlayStation.Sony.Com Andrew_Pinski@PlayStation.Sony.Com
Thu Nov 30 01:16:00 GMT 2006


Hi,
  I found this while try to compile the libgfortran for the spu-elf.  The 
problem here is that
we have an unspec which is used for a set which has no mode.  Also we have 
a subreg
here so when we go to simplify the subreg, we crash as the mode is 
VOIDmode which is
incorrect.  This fixes the problem by creating secondary patterns 
extend_compare<mode>
so that we get a mode on the unspec.

Committed after a build and test on spu-elf.

Thanks,
Andrew Pinski

        * config/spu/spu.md  (extend_compare<mode>): New pattern.
        (extend_compare): Change to expand and use the above pattern.


        * gcc.c-torture/compile/pr29945.c: New testcase.

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: fixpr.diff.txt
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20061130/54a3ce9c/attachment.txt>


More information about the Gcc-patches mailing list