re PR rtl-optimization/68249 (wrong code at -O2 and -O3 on x86_64-linux-gnu)

PR rtl-optimization/68249
	PR rtl-optimization/68321
	* gcc.c-torture/execute/pr68249.c: New test.
	* gcc.c-torture/execute/pr68321.c: New test.

From-SVN: r230939
This commit is contained in:
Jakub Jelinek 2015-11-26 12:52:11 +01:00 committed by Jakub Jelinek
parent d0470103a9
commit 9d465067af
3 changed files with 81 additions and 0 deletions

View file

@ -1,3 +1,10 @@
2015-11-26 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/68249
PR rtl-optimization/68321
* gcc.c-torture/execute/pr68249.c: New test.
* gcc.c-torture/execute/pr68321.c: New test.
2015-11-26 Ilya Enkovich <enkovich.gnu@gmail.com>
PR target/68416

View file

@ -0,0 +1,36 @@
/* PR rtl-optimization/68249 */
int a, b, c, g, k, l, m, n;
char h;
void
fn1 ()
{
for (; k; k++)
{
m = b || c < 0 || c > 1 ? : c;
g = l = n || m < 0 || (m > 1) > 1 >> m ? : 1 << m;
}
l = b + 1;
for (; b < 1; b++)
h = a + 1;
}
int
main ()
{
char j;
for (; a < 1; a++)
{
fn1 ();
if (h)
j = h;
if (j > c)
g = 0;
}
if (h != 1)
__builtin_abort ();
return 0;
}

View file

@ -0,0 +1,38 @@
/* PR rtl-optimization/68321 */
int e = 1, u = 5, t2, t5, i, k;
int a[1], b, m;
char n, t;
int
fn1 (int p1)
{
int g[1];
for (;;)
{
if (p1 / 3)
for (; t5;)
u || n;
t2 = p1 & 4;
if (b + 1)
return 0;
u = g[0];
}
}
int
main ()
{
for (; e >= 0; e--)
{
char c;
if (!m)
c = t;
fn1 (c);
}
if (a[t2] != 0)
__builtin_abort ();
return 0;
}