re PR target/64338 (ICE in swap_condition, at jump.c:628)
authorJakub Jelinek <jakub@redhat.com>
Thu, 8 Jan 2015 19:15:53 +0000 (20:15 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 8 Jan 2015 19:15:53 +0000 (20:15 +0100)
commitefa7df3c625146460d7ec345d32a4efb42be871b
treebd442b28e990d27a0b5a6ca8e0848994e3eff3f2
parentde35aa66b07a62a1c27f4b104577848fa8f7ec17
re PR target/64338 (ICE in swap_condition, at jump.c:628)

PR target/64338
* config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
compare_code when it is unconditionally overwritten afterwards.
Use ix86_reverse_condition instead of reverse_condition.  Don't
change code if *reverse_condition* returned UNKNOWN and don't
swap ct/cf and negate diff in that case.

* g++.dg/opt/pr64338.C: New test.

From-SVN: r219356
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/opt/pr64338.C [new file with mode: 0644]