[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

  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 
so that we get a mode on the unspec.

Committed after a build and test on spu-elf.

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