PR middle-end/48973
* expr.c (expand_expr_real_1) <case TRUTH_ANDIF_EXPR>: If
the comparison has a single bit signed type, use
constm1_rtx instead of const1_rtx for true value.
From-SVN: r176555
+2011-07-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/48973
+ * expr.c (expand_expr_real_1) <case TRUTH_ANDIF_EXPR>: If
+ the comparison has a single bit signed type, use
+ constm1_rtx instead of const1_rtx for true value.
+
2011-07-19 Jakub Jelinek <jakub@redhat.com>
Backport from mainline
jumpifnot (exp, op1, -1);
if (target)
- emit_move_insn (target, const1_rtx);
+ emit_move_insn (target,
+ TYPE_PRECISION (type) == 1 && !TYPE_UNSIGNED (type)
+ ? constm1_rtx : const1_rtx);
emit_label (op1);
return ignore ? const0_rtx : target;