https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64338
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Author: jakub Date: Thu Jan 8 19:15:53 2015 New Revision: 219356 URL: https://gcc.gnu.org/viewcvs?rev=219356&root=gcc&view=rev Log: 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. Added: trunk/gcc/testsuite/g++.dg/opt/pr64338.C Modified: trunk/gcc/ChangeLog trunk/gcc/config/i386/i386.c trunk/gcc/testsuite/ChangeLog