aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2008-09-02 16:36:49 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2008-09-02 09:36:49 -0700
commite0978eba9fbb6b124f8f3b5eeb2f16ccff0ca7cf (patch)
treeaab10967a2536b504511884a451ee6b464f8f261 /gcc/expr.c
parentf8bf9252655dcf10da12c8c2769d59658084f50d (diff)
downloadgcc-e0978eba9fbb6b124f8f3b5eeb2f16ccff0ca7cf.zip
gcc-e0978eba9fbb6b124f8f3b5eeb2f16ccff0ca7cf.tar.gz
gcc-e0978eba9fbb6b124f8f3b5eeb2f16ccff0ca7cf.tar.bz2
expr.c (emit_group_store): Don't assert stack temp mode size.
2008-09-02 H.J. Lu <hongjiu.lu@intel.com> * expr.c (emit_group_store): Don't assert stack temp mode size. From-SVN: r139894
Diffstat (limited to 'gcc/expr.c')
-rw-r--r--gcc/expr.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 69b40d8..f2e9c79 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -2076,17 +2076,15 @@ emit_group_store (rtx orig_dst, rtx src, tree type ATTRIBUTE_UNUSED, int ssize)
{
enum machine_mode dest_mode = GET_MODE (dest);
enum machine_mode tmp_mode = GET_MODE (tmps[i]);
- int dest_size = GET_MODE_SIZE (dest_mode);
- int tmp_size = GET_MODE_SIZE (tmp_mode);
- gcc_assert (bytepos == 0
- && XVECLEN (src, 0)
- && dest_size == tmp_size);
+ gcc_assert (bytepos == 0 && XVECLEN (src, 0));
if (GET_MODE_ALIGNMENT (dest_mode)
>= GET_MODE_ALIGNMENT (tmp_mode))
{
- dest = assign_stack_temp (dest_mode, dest_size, 0);
+ dest = assign_stack_temp (dest_mode,
+ GET_MODE_SIZE (dest_mode),
+ 0);
emit_move_insn (adjust_address (dest,
tmp_mode,
bytepos),
@@ -2095,7 +2093,9 @@ emit_group_store (rtx orig_dst, rtx src, tree type ATTRIBUTE_UNUSED, int ssize)
}
else
{
- dest = assign_stack_temp (tmp_mode, tmp_size, 0);
+ dest = assign_stack_temp (tmp_mode,
+ GET_MODE_SIZE (tmp_mode),
+ 0);
emit_move_insn (dest, tmps[i]);
dst = adjust_address (dest, dest_mode, bytepos);
}