+2012-02-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * compare-elim.c (find_comparisons_in_bb): Eliminate only compares
+ having the same mode as previous compare.
+
2012-02-09 Jack Howarth <howarth@bromo.med.uc.edu>
Backported from mainline
2012-02-09 Peter Bergner <bergner@vnet.ibm.com>
- Backport from mainline
+ Backport from mainline
2012-02-09 Peter Bergner <bergner@vnet.ibm.com>
PR middle-end/52140
2012-02-09 Andrey Belevantsev <abel@ispras.ru>
- Backport from mainline
+ Backport from mainline
2012-01-20 Andrey Belevantsev <abel@ispras.ru>
PR target/51106
bit position to it (if any).
2012-02-07 Kai Tietz <ktietz@redhat.com>
- Dave Korn <dave.korn.cygwin@gmail.com>
+ Dave Korn <dave.korn.cygwin@gmail.com>
- PR target/40068
- * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
- Take care that typinfo gets dllexport-attribute.
+ PR target/40068
+ * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
+ Take care that typinfo gets dllexport-attribute.
2012-02-07 Alan Modra <amodra@gmail.com>
src = conforming_compare (insn);
if (src)
{
+ enum machine_mode src_mode = GET_MODE (src);
+
/* Eliminate a compare that's redundant with the previous. */
if (last_cmp_valid
+ && src_mode == last_cmp->orig_mode
&& rtx_equal_p (last_cmp->in_a, XEXP (src, 0))
&& rtx_equal_p (last_cmp->in_b, XEXP (src, 1)))
{
last_cmp->prev_clobber = last_clobber;
last_cmp->in_a = XEXP (src, 0);
last_cmp->in_b = XEXP (src, 1);
- last_cmp->orig_mode = GET_MODE (SET_DEST (single_set (insn)));
+ last_cmp->orig_mode = src_mode;
VEC_safe_push (comparison_struct_p, heap, all_compares, last_cmp);
/* It's unusual, but be prepared for comparison patterns that