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
This commit is contained in:
parent
7ee2eb8277
commit
59bdc31c02
|
@ -1,3 +1,7 @@
|
||||||
|
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>
|
2012-11-15 Tom de Vries <tom@codesourcery.com>
|
||||||
|
|
||||||
PR tree-optimization/54619
|
PR tree-optimization/54619
|
||||||
|
|
|
@ -7840,15 +7840,17 @@ expand_cond_expr_using_cmove (tree treeop0 ATTRIBUTE_UNUSED,
|
||||||
int unsignedp = TYPE_UNSIGNED (type);
|
int unsignedp = TYPE_UNSIGNED (type);
|
||||||
enum machine_mode mode = TYPE_MODE (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
|
/* If we cannot do a conditional move on the mode, try doing it
|
||||||
with the promoted mode. */
|
with the promoted mode. */
|
||||||
if (!can_conditionally_move_p (mode))
|
if (!can_conditionally_move_p (mode))
|
||||||
|
{
|
||||||
mode = promote_mode (type, mode, &unsignedp);
|
mode = promote_mode (type, mode, &unsignedp);
|
||||||
|
|
||||||
if (!can_conditionally_move_p (mode))
|
if (!can_conditionally_move_p (mode))
|
||||||
return NULL_RTX;
|
return NULL_RTX;
|
||||||
|
temp = assign_temp (type, 0, 0); /* Use promoted mode for temp. */
|
||||||
|
}
|
||||||
|
else
|
||||||
|
temp = assign_temp (type, 0, 1);
|
||||||
|
|
||||||
start_sequence ();
|
start_sequence ();
|
||||||
expand_operands (treeop1, treeop2,
|
expand_operands (treeop1, treeop2,
|
||||||
|
|
Loading…
Reference in New Issue