diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 2001-11-16 12:11:13 +0000 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 2001-11-16 07:11:13 -0500 |
commit | a8ca89dca83767049abf111dd2c659356a4c5880 (patch) | |
tree | 918b87855cdc8c8e34de2cfd27215133dd5ff6c0 /gcc/expr.c | |
parent | 3b2d1507174574ed16db4ba0ea3c97736f3cc708 (diff) | |
download | gcc-a8ca89dca83767049abf111dd2c659356a4c5880.zip gcc-a8ca89dca83767049abf111dd2c659356a4c5880.tar.gz gcc-a8ca89dca83767049abf111dd2c659356a4c5880.tar.bz2 |
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
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -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 |