Commit 59bdc31c by Steve Ellcey Committed by Steve Ellcey

expr.c (expand_cond_expr_using_cmove): Use promoted mode for temp.

2012-11-15  Steve Ellcey  <sellcey@mips.com>

	* expr.c (expand_cond_expr_using_cmove): Use promoted mode for temp.

From-SVN: r193539
parent 7ee2eb82
2012-11-15 Steve Ellcey <sellcey@mips.com>
* expr.c (expand_cond_expr_using_cmove): Use promoted mode for temp.
2012-11-15 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/54619
......@@ -7840,15 +7840,17 @@ expand_cond_expr_using_cmove (tree treeop0 ATTRIBUTE_UNUSED,
int unsignedp = TYPE_UNSIGNED (type);
enum machine_mode mode = TYPE_MODE (type);
temp = assign_temp (type, 0, 1);
/* If we cannot do a conditional move on the mode, try doing it
with the promoted mode. */
if (!can_conditionally_move_p (mode))
mode = promote_mode (type, mode, &unsignedp);
if (!can_conditionally_move_p (mode))
return NULL_RTX;
{
mode = promote_mode (type, mode, &unsignedp);
if (!can_conditionally_move_p (mode))
return NULL_RTX;
temp = assign_temp (type, 0, 0); /* Use promoted mode for temp. */
}
else
temp = assign_temp (type, 0, 1);
start_sequence ();
expand_operands (treeop1, treeop2,
......
Markdown is supported
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