re PR middle-end/55235 (FAIL: gcc.target/i386/pr44948-2a.c)
PR middle-end/55235 * expr.c (store_expr): Do not call emit_block_move for non-BLKmode values. From-SVN: r193314
This commit is contained in:
parent
dd64a6f7c8
commit
1939f02be1
2 changed files with 12 additions and 14 deletions
|
@ -1,3 +1,9 @@
|
|||
2012-11-07 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
PR middle-end/55235
|
||||
* expr.c (store_expr): Do not call emit_block_move for
|
||||
non-BLKmode values.
|
||||
|
||||
2012-11-07 Eric Botcazou <ebotcazou@adacore.com>
|
||||
|
||||
PR middle-end/55219
|
||||
|
@ -7,8 +13,7 @@
|
|||
2012-11-07 Vladimir Makarov <vmakarov@redhat.com>
|
||||
|
||||
PR rtl-optimization/55122
|
||||
* lra-constraints.c (match_reload): Sync values for dead input
|
||||
pseudos.
|
||||
* lra-constraints.c (match_reload): Sync values for dead input pseudos.
|
||||
|
||||
2012-11-07 Richard Henderson <rth@redhat.com>
|
||||
|
||||
|
|
17
gcc/expr.c
17
gcc/expr.c
|
@ -5246,19 +5246,12 @@ store_expr (tree exp, rtx target, int call_param_p, bool nontemporal)
|
|||
{
|
||||
if (GET_MODE (target) == BLKmode)
|
||||
{
|
||||
if (REG_P (temp))
|
||||
{
|
||||
if (TREE_CODE (exp) == CALL_EXPR)
|
||||
copy_blkmode_from_reg (target, temp, TREE_TYPE (exp));
|
||||
else
|
||||
store_bit_field (target,
|
||||
INTVAL (expr_size (exp)) * BITS_PER_UNIT,
|
||||
0, 0, 0, GET_MODE (temp), temp);
|
||||
}
|
||||
if (REG_P (temp) && TREE_CODE (exp) == CALL_EXPR)
|
||||
copy_blkmode_from_reg (target, temp, TREE_TYPE (exp));
|
||||
else
|
||||
emit_block_move (target, temp, expr_size (exp),
|
||||
(call_param_p
|
||||
? BLOCK_OP_CALL_PARM : BLOCK_OP_NORMAL));
|
||||
store_bit_field (target,
|
||||
INTVAL (expr_size (exp)) * BITS_PER_UNIT,
|
||||
0, 0, 0, GET_MODE (temp), temp);
|
||||
}
|
||||
else
|
||||
convert_move (target, temp, TYPE_UNSIGNED (TREE_TYPE (exp)));
|
||||
|
|
Loading…
Add table
Reference in a new issue