Commit 9fd20553 by Roger Sayle Committed by Roger Sayle

re PR middle-end/26977 (ICE in emit_move_insn)


	PR middle-end/26977
	* expr.c (emit_group_store): Check whether simplify_gen_subreg returns
	NULL_RTX, indicating it couldn't create a valid paradoxical subreg.

From-SVN: r112626
parent 763ccd45
2006-04-02 Roger Sayle <roger@eyesopen.com>
PR middle-end/26977
* expr.c (emit_group_store): Check whether simplify_gen_subreg returns
NULL_RTX, indicating it couldn't create a valid paradoxical subreg.
2006-04-02 Sebastian Pop <pop@cri.ensmp.fr> 2006-04-02 Sebastian Pop <pop@cri.ensmp.fr>
PR tree-optimization/26939 PR tree-optimization/26939
......
...@@ -1945,9 +1945,12 @@ emit_group_store (rtx orig_dst, rtx src, tree type ATTRIBUTE_UNUSED, int ssize) ...@@ -1945,9 +1945,12 @@ emit_group_store (rtx orig_dst, rtx src, tree type ATTRIBUTE_UNUSED, int ssize)
{ {
temp = simplify_gen_subreg (outer, tmps[start], temp = simplify_gen_subreg (outer, tmps[start],
inner, bytepos); inner, bytepos);
emit_move_insn (dst, temp); if (temp)
done = true; {
start++; emit_move_insn (dst, temp);
done = true;
start++;
}
} }
} }
...@@ -1961,9 +1964,12 @@ emit_group_store (rtx orig_dst, rtx src, tree type ATTRIBUTE_UNUSED, int ssize) ...@@ -1961,9 +1964,12 @@ emit_group_store (rtx orig_dst, rtx src, tree type ATTRIBUTE_UNUSED, int ssize)
{ {
temp = simplify_gen_subreg (outer, tmps[finish - 1], temp = simplify_gen_subreg (outer, tmps[finish - 1],
inner, bytepos); inner, bytepos);
emit_move_insn (dst, temp); if (temp)
done = true; {
finish--; emit_move_insn (dst, temp);
done = true;
finish--;
}
} }
} }
......
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