Commit 11b6a02e by Jakub Jelinek Committed by Jakub Jelinek

re PR rtl-optimization/70326 (ICE: RTL check: expected elt 3 type 'e' or 'u',…

re PR rtl-optimization/70326 (ICE: RTL check: expected elt 3 type 'e' or 'u', have '0' (rtx note) in PATTERN, at rtl.h:1440)

	PR middle-end/70326
	* lra.c (restore_scratches): Ignore deleted insns.

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

From-SVN: r234383
parent b9407883
2016-03-21 Jakub Jelinek <jakub@redhat.com>
PR middle-end/70326
* lra.c (restore_scratches): Ignore deleted insns.
2016-03-21 Marc Glisse <marc.glisse@inria.fr>
Jakub Jelinek <jakub@redhat.com>
......
......@@ -1967,6 +1967,10 @@ restore_scratches (void)
for (i = 0; scratches.iterate (i, &loc); i++)
{
/* Ignore already deleted insns. */
if (NOTE_P (loc->insn)
&& NOTE_KIND (loc->insn) == NOTE_INSN_DELETED)
continue;
if (last != loc->insn)
{
last = loc->insn;
......
2016-03-21 Jakub Jelinek <jakub@redhat.com>
PR middle-end/70326
* gcc.dg/pr70326.c: New test.
2016-03-21 Marc Glisse <marc.glisse@inria.fr>
Jakub Jelinek <jakub@redhat.com>
......
/* PR middle-end/70326 */
/* { dg-do compile { target int128 } } */
/* { dg-options "-Og -fno-dce -fno-guess-branch-probability -fschedule-insns -fno-tree-coalesce-vars -fno-tree-dce -w -Wno-psabi" } */
typedef unsigned int A __attribute__ ((vector_size (32)));
typedef unsigned __int128 B;
typedef unsigned __int128 C __attribute__ ((vector_size (32)));
typedef unsigned __int128 D __attribute__ ((vector_size (32)));
void
foo (B a, D b, A c, A d, C e)
{
b /= (D) {11} | 1;
a ^= a <= 10;
e *= (C) d;
e += (C) ~b;
c[0] ^= c[0] <= 0x1234;
a = (a >> 1) | (a << 127);
b += (D) {45, 123};
}
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