Commit e0978eba by H.J. Lu Committed by H.J. Lu

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
parent f8bf9252
2008-09-02 H.J. Lu <hongjiu.lu@intel.com>
* expr.c (emit_group_store): Don't assert stack temp mode size.
2008-09-02 Samuel Tardieu <sam@rfc1149.net> 2008-09-02 Samuel Tardieu <sam@rfc1149.net>
PR target/37283 PR target/37283
...@@ -34,7 +38,6 @@ ...@@ -34,7 +38,6 @@
2008-09-02 Victor Kaplansky <victork@il.ibm.com> 2008-09-02 Victor Kaplansky <victork@il.ibm.com>
* gcc/config/spu/spu.md (divdf3): Removed. * gcc/config/spu/spu.md (divdf3): Removed.
2008-09-02 Jakub Jelinek <jakub@redhat.com> 2008-09-02 Jakub Jelinek <jakub@redhat.com>
......
...@@ -2076,17 +2076,15 @@ emit_group_store (rtx orig_dst, rtx src, tree type ATTRIBUTE_UNUSED, int ssize) ...@@ -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 dest_mode = GET_MODE (dest);
enum machine_mode tmp_mode = GET_MODE (tmps[i]); 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 gcc_assert (bytepos == 0 && XVECLEN (src, 0));
&& XVECLEN (src, 0)
&& dest_size == tmp_size);
if (GET_MODE_ALIGNMENT (dest_mode) if (GET_MODE_ALIGNMENT (dest_mode)
>= GET_MODE_ALIGNMENT (tmp_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, emit_move_insn (adjust_address (dest,
tmp_mode, tmp_mode,
bytepos), bytepos),
...@@ -2095,7 +2093,9 @@ emit_group_store (rtx orig_dst, rtx src, tree type ATTRIBUTE_UNUSED, int ssize) ...@@ -2095,7 +2093,9 @@ emit_group_store (rtx orig_dst, rtx src, tree type ATTRIBUTE_UNUSED, int ssize)
} }
else 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]); emit_move_insn (dest, tmps[i]);
dst = adjust_address (dest, dest_mode, bytepos); dst = adjust_address (dest, dest_mode, bytepos);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment