The branch test after a pattern compare instruction was backwards.
2012-01-27 Michael Eager <ea...@eagercon.com> * config/microblaze.c (microblaze_emit_compare): Correct test after pcmp instruction. Index: config/microblaze/microblaze.c =================================================================== --- config/microblaze/microblaze.c (revision 183633) +++ config/microblaze/microblaze.c (working copy) @@ -2811,11 +2811,13 @@ microblaze_emit_compare (enum machine_mode mode, r if (TARGET_PATTERN_COMPARE && GET_CODE(cmp_op1) == REG) { if (code == EQ) - emit_insn (gen_seq_internal_pat (comp_reg, cmp_op0, cmp_op1)); + { + emit_insn (gen_seq_internal_pat (comp_reg, cmp_op0, cmp_op1)); + *cmp_code = NE; + } else { emit_insn (gen_sne_internal_pat (comp_reg, cmp_op0, cmp_op1)); - *cmp_code = EQ; } } else Committed revision 183635. -- Michael Eager ea...@eagercon.com 1960 Park Blvd., Palo Alto, CA 94306 650-325-8077