This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
fix alpha_emit_setcc
- From: Richard Henderson <rth at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 11 Jun 2009 22:43:20 -0700
- Subject: fix alpha_emit_setcc
Broken by
2009-05-12 Paolo Bonzini <bonzini@gnu.org>
* dojump.c (compare_from_rtx): Delete.
* expmed.c (emit_store_flag): Only try cstore_optab. Canonicalize
any MODE_CC mode to the cstorecc4 pattern. Use prepare_operand, fail
if the comparison does not satisfy the predicate; test predicates for
operands 2 and 3 of a cstore pattern. Don't try cstore optab
further if one existing pattern fails.
An obvious == vs != typo.
r~
2009-06-11 Richard Henderson <rth@redhat.com>
* config/alpha/alpha.c (alpha_emit_setcc): Fix test for
when gen_lowpart is needed.
--- alpha.c (revision 148422)
+++ alpha.c (local)
@@ -2623,7 +2623,7 @@ alpha_emit_setcc (rtx operands[], enum m
emit_insn (gen_rtx_SET (VOIDmode, tmp,
gen_rtx_fmt_ee (cmp_code, cmp_mode, op0, op1)));
- op0 = cmp_mode == DImode ? gen_lowpart (DImode, tmp) : tmp;
+ op0 = cmp_mode != DImode ? gen_lowpart (DImode, tmp) : tmp;
op1 = const0_rtx;
}