diff options
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/gcc/expr.c b/gcc/expr.c index f170596d330..f0b76e187b7 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -4440,8 +4440,7 @@ expand_assignment (tree to, tree from, bool nontemporal) if ((TREE_CODE (to) == MEM_REF || TREE_CODE (to) == TARGET_MEM_REF) && mode != BLKmode - && ((align = MAX (TYPE_ALIGN (TREE_TYPE (to)), - get_object_alignment (to, BIGGEST_ALIGNMENT))) + && ((align = MAX (TYPE_ALIGN (TREE_TYPE (to)), get_object_alignment (to))) < (signed) GET_MODE_ALIGNMENT (mode)) && ((icode = optab_handler (movmisalign_optab, mode)) != CODE_FOR_nothing)) @@ -9046,8 +9045,7 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, temp = gen_rtx_MEM (mode, op0); set_mem_attributes (temp, exp, 0); set_mem_addr_space (temp, as); - align = MAX (TYPE_ALIGN (TREE_TYPE (exp)), - get_object_alignment (exp, BIGGEST_ALIGNMENT)); + align = MAX (TYPE_ALIGN (TREE_TYPE (exp)), get_object_alignment (exp)); if (mode != BLKmode && (unsigned) align < GET_MODE_ALIGNMENT (mode) /* If the target does not have special handling for unaligned @@ -9127,8 +9125,7 @@ expand_expr_real_1 (tree exp, rtx target, enum machine_mode tmode, gimple_assign_rhs1 (def_stmt), mask); TREE_OPERAND (exp, 0) = base; } - align = MAX (TYPE_ALIGN (TREE_TYPE (exp)), - get_object_alignment (exp, BIGGEST_ALIGNMENT)); + align = MAX (TYPE_ALIGN (TREE_TYPE (exp)), get_object_alignment (exp)); op0 = expand_expr (base, NULL_RTX, VOIDmode, EXPAND_SUM); op0 = memory_address_addr_space (address_mode, op0, as); if (!integer_zerop (TREE_OPERAND (exp, 1))) |