[PATCH, i386]: Committed: Fix PR tartge/33483, ICE in cselib_record_set, at cselib.c:1515 on x86

Uros Bizjak ubizjak@gmail.com
Fri Sep 14 21:33:00 GMT 2007


The problem here was, that when operands[1] == operands[2], CSElib got 
confused by parallel RTX that outputs twice into the same pseudo. The 
fix is to simply copy operand[2] into temporary register in this case.

Patch was bootstrapped and regression tested on x86_64-pc-linux-gnu. 
Patch is committed to mainline SVN.

2007-09-14  Uros Bizjak  <ubizjak@gmail.com>

        PR target/33438
        * config/i386/i386.md (fmodxf3): Copy operands[2] to temporary 
        when operands[2] equals operands[1].
        (remainderxf3): Ditto.


2007-09-14  Uros Bizjak  <ubizjak@gmail.com>

        PR target/33438
        * gcc.target/i386/pr33438.c: New test.

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: pr33438.diff.txt
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20070914/019b04c9/attachment.txt>

More information about the Gcc-patches mailing list