diff options
author | Zack Weinberg <zack@gcc.gnu.org> | 2003-04-06 00:11:27 +0000 |
---|---|---|
committer | Zack Weinberg <zack@gcc.gnu.org> | 2003-04-06 00:11:27 +0000 |
commit | b8460b29328757db394be3a1cfb26f00867670cf (patch) | |
tree | 96a5719c17971c2bd64d8d94618af3563737c202 | |
parent | 8e33fb63f74dfd6e849dafe5321e957c40bf4372 (diff) | |
download | gcc-b8460b29328757db394be3a1cfb26f00867670cf.zip gcc-b8460b29328757db394be3a1cfb26f00867670cf.tar.gz gcc-b8460b29328757db394be3a1cfb26f00867670cf.tar.bz2 |
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
-rw-r--r-- | gcc/testsuite/ChangeLog | 21 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/20030405-1.c | 58 |
2 files changed, 71 insertions, 8 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 24f4489..23e87cc 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -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> @@ -199,7 +204,7 @@ PR c++/9898, c++/383 * g++.dg/template/conv6.C: New test. - + PR c++/10119 * g++.dg/template/ptrmem5.C: New test. diff --git a/gcc/testsuite/gcc.c-torture/compile/20030405-1.c b/gcc/testsuite/gcc.c-torture/compile/20030405-1.c new file mode 100644 index 0000000..2e61f1f --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/20030405-1.c @@ -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))); +} |