Commit 79b57d18 by Jakub Jelinek Committed by Jakub Jelinek

re PR middle-end/70219 (ICE: in delete_move_and_clobber, at lra-constraints.c:5864 with -O2)

	PR middle-end/70219
	* lra-constraints.c (delete_move_and_clobber): Change assertion
	to also allow dregno == 0.

	* gcc.dg/pr70219.c: New test.

From-SVN: r234201
parent 51d4212a
2016-03-14 Jakub Jelinek <jakub@redhat.com>
PR middle-end/70219
* lra-constraints.c (delete_move_and_clobber): Change assertion
to also allow dregno == 0.
2016-03-14 Richard Henderson <rth@redhat.com> 2016-03-14 Richard Henderson <rth@redhat.com>
PR tree-opt/68714 PR tree-opt/68714
......
...@@ -5868,7 +5868,7 @@ delete_move_and_clobber (rtx_insn *insn, int dregno) ...@@ -5868,7 +5868,7 @@ delete_move_and_clobber (rtx_insn *insn, int dregno)
rtx_insn *prev_insn = PREV_INSN (insn); rtx_insn *prev_insn = PREV_INSN (insn);
lra_set_insn_deleted (insn); lra_set_insn_deleted (insn);
lra_assert (dregno > 0); lra_assert (dregno >= 0);
if (prev_insn != NULL && NONDEBUG_INSN_P (prev_insn) if (prev_insn != NULL && NONDEBUG_INSN_P (prev_insn)
&& GET_CODE (PATTERN (prev_insn)) == CLOBBER && GET_CODE (PATTERN (prev_insn)) == CLOBBER
&& dregno == get_regno (XEXP (PATTERN (prev_insn), 0))) && dregno == get_regno (XEXP (PATTERN (prev_insn), 0)))
......
2016-03-14 Jakub Jelinek <jakub@redhat.com>
PR middle-end/70219
* gcc.dg/pr70219.c: New test.
2016-03-14 Bernd Schmidt <bschmidt@redhat.com> 2016-03-14 Bernd Schmidt <bschmidt@redhat.com>
PR target/70083 PR target/70083
......
/* PR middle-end/70219 */
/* { dg-do compile { target int128 } } */
/* { dg-options "-O1 -w -Wno-psabi" } */
typedef int B __attribute__ ((vector_size (32)));
typedef int D __attribute__ ((vector_size (32)));
typedef long E __attribute__ ((vector_size (32)));
typedef __int128 F;
typedef __int128 G __attribute__ ((vector_size (32)));
F
foo (int a, unsigned b, F c, B d, G e, B f, D g, E h, G i)
{
b /= c;
e /= (G) ~d;
h -= (E){ g[4], e[1], 64, ~f[1] };
return b + e[1] + h[0] + h[1] + i[1];
}
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