From 373a420bb29244cc3844b944c8356e3249f3f971 Mon Sep 17 00:00:00 2001 From: Christoph Mallon Date: Fri, 14 Nov 2008 07:52:10 +0000 Subject: [PATCH] Consider the result and operand having the same width a downconv, too. This results in a few more possibilities for AM folding. [r23644] --- ir/be/ia32/ia32_transform.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ir/be/ia32/ia32_transform.c b/ir/be/ia32/ia32_transform.c index c3e7cc655..a4fed4327 100644 --- a/ir/be/ia32/ia32_transform.c +++ b/ir/be/ia32/ia32_transform.c @@ -593,9 +593,10 @@ static int is_downconv(const ir_node *node) src_mode = get_irn_mode(get_Conv_op(node)); dest_mode = get_irn_mode(node); - return ia32_mode_needs_gp_reg(src_mode) - && ia32_mode_needs_gp_reg(dest_mode) - && get_mode_size_bits(dest_mode) < get_mode_size_bits(src_mode); + return + ia32_mode_needs_gp_reg(src_mode) && + ia32_mode_needs_gp_reg(dest_mode) && + get_mode_size_bits(dest_mode) <= get_mode_size_bits(src_mode); } /* Skip all Down-Conv's on a given node and return the resulting node. */ -- 2.20.1