* gcc.c-torture/compile/20020604-1.c: New test.
From-SVN: r54342
This commit is contained in:
parent
ac64a17c44
commit
68b15d4f14
|
@ -1,3 +1,7 @@
|
|||
2002-06-07 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* gcc.c-torture/compile/20020604-1.c: New test.
|
||||
|
||||
2002-06-04 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* gcc.dg/alpha-base-1.c: Add ext/ins/msk/umulh cases.
|
||||
|
|
|
@ -0,0 +1,87 @@
|
|||
/* PR c/6957
|
||||
This testcase ICEd at -O2 on IA-32, because
|
||||
(insn 141 139 142 (set (subreg:SF (reg:QI 72) 0)
|
||||
(plus:SF (reg:SF 73)
|
||||
(reg:SF 76))) 525 {*fop_sf_comm_nosse} (insn_list 134 (nil))
|
||||
(expr_list:REG_DEAD (reg:SF 73) (nil)))
|
||||
couldn't be reloaded. */
|
||||
|
||||
void
|
||||
foo (unsigned int n, int x, int y, unsigned char *z)
|
||||
{
|
||||
int a, b;
|
||||
float c[2048][4];
|
||||
|
||||
switch (x)
|
||||
{
|
||||
case 0x1906:
|
||||
a = b = -1;
|
||||
break;
|
||||
case 0x190A:
|
||||
a = b = -1;
|
||||
break;
|
||||
case 0x8049:
|
||||
a = b = -1;
|
||||
break;
|
||||
case 0x1907:
|
||||
a = 1;
|
||||
b = 2;
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
if (a >= 0)
|
||||
{
|
||||
unsigned char *d = z;
|
||||
unsigned int i;
|
||||
for (i = 0; i < n; i++)
|
||||
{
|
||||
do
|
||||
{
|
||||
union
|
||||
{
|
||||
float r;
|
||||
unsigned int i;
|
||||
}
|
||||
e;
|
||||
e.r = c[i][1];
|
||||
d[a] =
|
||||
((e.i >= 0x3f7f0000) ? ((int) e.i <
|
||||
0) ? (unsigned char) 0
|
||||
: (unsigned char) 255 : (e.r =
|
||||
e.r * (255.0F / 256.0F) +
|
||||
32768.0F, (unsigned char) e.i));
|
||||
}
|
||||
while (0);
|
||||
d += y;
|
||||
}
|
||||
}
|
||||
|
||||
if (b >= 0)
|
||||
{
|
||||
unsigned char *d = z;
|
||||
unsigned int i;
|
||||
for (i = 0; i < n; i++)
|
||||
{
|
||||
do
|
||||
{
|
||||
union
|
||||
{
|
||||
float r;
|
||||
unsigned int i;
|
||||
}
|
||||
e;
|
||||
e.r = c[i][2];
|
||||
d[b] =
|
||||
((e.i >= 0x3f7f0000) ? ((int) e.i <
|
||||
0) ? (unsigned char) 0
|
||||
: (unsigned char) 255 : (e.r =
|
||||
e.r * (255.0F / 256.0F) +
|
||||
32768.0F, (unsigned char) e.i));
|
||||
}
|
||||
while (0);
|
||||
d += y;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue