From a8ca89dca83767049abf111dd2c659356a4c5880 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Fri, 16 Nov 2001 12:11:13 +0000 Subject: [PATCH] expr.c (expand_expr, [...]): Only copy for misaligned if BLKmode. * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if BLKmode. From-SVN: r47086 --- gcc/ChangeLog | 5 +++++ gcc/expr.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7e8e08732f7..0fa8ebacddc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Fri Nov 16 07:12:51 2001 Richard Kenner + + * expr.c (expand_expr, case ADDR_EXPR): Only copy for misaligned if + BLKmode. + Fri Nov 16 06:37:05 2001 Andreas Tobler * config/sparc/sparc.c: Remove ALIGN arg from emit_cmp_insn. diff --git a/gcc/expr.c b/gcc/expr.c index bce6ba0bfdc..afc43cc223b 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -8652,7 +8652,8 @@ expand_expr (exp, target, tmode, modifier) /* If OP0 is not aligned as least as much as the type requires, we need to make a temporary, copy OP0 to it, and take the address of the temporary. */ - if (expr_align (TREE_OPERAND (exp, 0)) > MEM_ALIGN (op0)) + if (GET_MODE (op0) == BLKmode + && expr_align (TREE_OPERAND (exp, 0)) > MEM_ALIGN (op0)) { tree inner_type = TREE_TYPE (TREE_OPERAND (exp, 0)); rtx new -- 2.30.2