Commit 0d4b9fa4 by Jakub Jelinek Committed by Jakub Jelinek

re PR tree-optimization/27285 (ivopts postgresql miscompilation)

	PR tree-optimization/27285
	* gcc.c-torture/execute/pr27285.c: New test.

From-SVN: r113516
parent f6a5ffbf
2006-05-04 Jakub Jelinek <jakub@redhat.com> 2006-05-04 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/27285
* gcc.c-torture/execute/pr27285.c: New test.
PR middle-end/27388 PR middle-end/27388
* gcc.dg/gomp/pr27388-1.c: New test. * gcc.dg/gomp/pr27388-1.c: New test.
* gcc.dg/gomp/pr27388-2.c: New test. * gcc.dg/gomp/pr27388-2.c: New test.
/* PR tree-optimization/27285 */
extern void abort (void);
struct S { unsigned char a, b, c, d[16]; };
void __attribute__ ((noinline))
foo (struct S *x, struct S *y)
{
int a, b;
unsigned char c, *d, *e;
b = x->b;
d = x->d;
e = y->d;
a = 0;
while (b)
{
if (b >= 8)
{
c = 0xff;
b -= 8;
}
else
{
c = 0xff << (8 - b);
b = 0;
}
e[a] = d[a] & c;
a++;
}
}
int
main (void)
{
struct S x = { 0, 25, 0, { 0xaa, 0xbb, 0xcc, 0xdd }};
struct S y = { 0, 0, 0, { 0 }};
foo (&x, &y);
if (x.d[0] != y.d[0] || x.d[1] != y.d[1]
|| x.d[2] != y.d[2] || (x.d[3] & 0x80) != y.d[3])
abort ();
return 0;
}
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