[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


Hello!

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 
register
        when operands[2] equals operands[1].
        (remainderxf3): Ditto.

testsuite/ChangeLog:

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

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

Uros.
-------------- 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