re PR rtl-optimization/10024 ([HP-PA] inline optimization ICE)
PR optimization/10024 * gcc.c-torture/compile/20030405-1.c: New test. From-SVN: r65280
This commit is contained in:
parent
8e33fb63f7
commit
b8460b2932
|
@ -1,3 +1,8 @@
|
|||
2003-04-05 Zack Weinberg <zack@codesourcery.com>
|
||||
|
||||
PR optimization/10024
|
||||
* gcc.c-torture/compile/20030405-1.c: New test.
|
||||
|
||||
2003-04-04 Geoffrey Keating <geoffk@apple.com>
|
||||
|
||||
* gcc.dg/pch/static-3.c: New.
|
||||
|
@ -12,7 +17,7 @@
|
|||
2003-04-03 Mike Stump <mrs@apple.com>
|
||||
|
||||
* lib/scanasm.exp (scan-assembler): Add xfail processing for
|
||||
target arg.
|
||||
target arg.
|
||||
(scan-assembler-times, scan-assembler-not): Likewise.
|
||||
(scan-assembler-dem, scan-assembler-dem-not): Likewise.
|
||||
|
||||
|
@ -28,9 +33,9 @@
|
|||
|
||||
2003-04-02 Aldy Hernandez <aldyh@redhat.com>
|
||||
|
||||
* g++.dg/eh/simd-2.C (vecfunc): Fix typo.
|
||||
* g++.dg/eh/simd-2.C (vecfunc): Fix typo.
|
||||
|
||||
* g++.dg/eh/simd-1.C (vecfunc): Same.
|
||||
* g++.dg/eh/simd-1.C (vecfunc): Same.
|
||||
|
||||
2003-04-01 Roger Sayle <roger@eyesopen.com>
|
||||
|
||||
|
@ -42,12 +47,12 @@
|
|||
|
||||
2003-04-01 Aldy Hernandez <aldyh@redhat.com>
|
||||
|
||||
* g++.dg/eh/simd-1.C: New.
|
||||
* g++.dg/eh/simd-2.C: New.
|
||||
* g++.dg/eh/simd-1.C: New.
|
||||
* g++.dg/eh/simd-2.C: New.
|
||||
|
||||
2003-03-01 Aldy Hernandez <aldyh@redhat.com>
|
||||
|
||||
* gcc.c-torture/execute/simd-3.c: New.
|
||||
* gcc.c-torture/execute/simd-3.c: New.
|
||||
|
||||
2003-03-31 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
|
@ -90,7 +95,7 @@
|
|||
|
||||
2003-03-30 Glen Nakamura <glen@imodulo.com>
|
||||
|
||||
* gcc.dg/20030324-1.c: Add comments and abort if test fails.
|
||||
* gcc.dg/20030324-1.c: Add comments and abort if test fails.
|
||||
|
||||
2003-03-28 Roger Sayle <roger@eyesopen.com>
|
||||
|
||||
|
|
|
@ -0,0 +1,58 @@
|
|||
/* PR optimization/10024 */
|
||||
extern int *allegro_errno;
|
||||
typedef long fixed;
|
||||
extern inline int
|
||||
fixfloor (fixed x)
|
||||
{
|
||||
if (x >= 0)
|
||||
return (x >> 16);
|
||||
else
|
||||
return ~((~x) >> 16);
|
||||
}
|
||||
extern inline int
|
||||
fixtoi (fixed x)
|
||||
{
|
||||
return fixfloor (x) + ((x & 0x8000) >> 15);
|
||||
}
|
||||
extern inline fixed
|
||||
ftofix (double x)
|
||||
{
|
||||
if (x > 32767.0)
|
||||
{
|
||||
*allegro_errno = 34;
|
||||
return 0x7FFFFFFF;
|
||||
}
|
||||
if (x < -32767.0)
|
||||
{
|
||||
*allegro_errno = 34;
|
||||
return -0x7FFFFFFF;
|
||||
}
|
||||
return (long) (x * 65536.0 + (x < 0 ? -0.5 : 0.5));
|
||||
}
|
||||
extern inline double
|
||||
fixtof (fixed x)
|
||||
{
|
||||
return (double) x / 65536.0;
|
||||
}
|
||||
extern inline fixed
|
||||
fixdiv (fixed x, fixed y)
|
||||
{
|
||||
if (y == 0)
|
||||
{
|
||||
*allegro_errno = 34;
|
||||
return (x < 0) ? -0x7FFFFFFF : 0x7FFFFFFF;
|
||||
}
|
||||
else
|
||||
return ftofix (fixtof (x) / fixtof (y));
|
||||
}
|
||||
extern inline fixed
|
||||
itofix (int x)
|
||||
{
|
||||
return x << 16;
|
||||
}
|
||||
|
||||
int
|
||||
foo (int n)
|
||||
{
|
||||
return fixtoi (fixdiv (itofix (512), itofix (n)));
|
||||
}
|
Loading…
Reference in New Issue