Commit 47f49131 authored by yb9976's avatar yb9976
Browse files

Added missing case in emit_ia32_Minus64.

This fixes backend/minus64.c.
parent f7ed6b0b
...@@ -1279,8 +1279,16 @@ static void emit_ia32_Minus64(const ir_node *node) ...@@ -1279,8 +1279,16 @@ static void emit_ia32_Minus64(const ir_node *node)
if (out_lo == in_lo) { if (out_lo == in_lo) {
if (out_hi != in_hi) { if (out_hi != in_hi) {
/* a -> a, b -> d */ if (in_lo == in_hi) {
goto zero_neg; /* a -> a, a -> d */
emit_neg( node, out_lo);
emit_mov( node, out_lo, out_hi);
emit_sbb0(node, out_hi);
return;
} else {
/* a -> a, b -> d */
goto zero_neg;
}
} else { } else {
/* a -> a, b -> b */ /* a -> a, b -> b */
goto normal_neg; goto normal_neg;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment