diff options
author | Franz Sirl <Franz.Sirl-kernel@lauterbach.com> | 2001-02-25 00:10:59 +0000 |
---|---|---|
committer | Franz Sirl <sirl@gcc.gnu.org> | 2001-02-25 00:10:59 +0000 |
commit | d82a963983c76d0cc2403342dd8f78dcfd5f2b8b (patch) | |
tree | c5640cd31f8ac065fceb57d0a9b14d0288164940 /gcc | |
parent | c7b306770070affddc81bcf409e1b1420f49c35d (diff) | |
download | gcc-d82a963983c76d0cc2403342dd8f78dcfd5f2b8b.zip gcc-d82a963983c76d0cc2403342dd8f78dcfd5f2b8b.tar.gz gcc-d82a963983c76d0cc2403342dd8f78dcfd5f2b8b.tar.bz2 |
20010224-1.c: New test.
2001-02-24 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* gcc.c-torture/execute/20010224-1.c: New test.
From-SVN: r40043
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/20010224-1.c | 44 |
2 files changed, 48 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index be04efb..0485463 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2001-02-24 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> + + * gcc.c-torture/execute/20010224-1.c: New test. + 2001-02-23 Jakub Jelinek <jakub@redhat.com> * gcc.c-torture/execute/20010222-1.c: New test. diff --git a/gcc/testsuite/gcc.c-torture/execute/20010224-1.c b/gcc/testsuite/gcc.c-torture/execute/20010224-1.c new file mode 100644 index 0000000..1d04fd1 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20010224-1.c @@ -0,0 +1,44 @@ +extern void abort (void); + +typedef signed short int16_t; +typedef unsigned short uint16_t; + +int16_t logadd (int16_t *a, int16_t *b); +void ba_compute_psd (int16_t start); + +int16_t masktab[6] = { 1, 2, 3, 4, 5}; +int16_t psd[6] = { 50, 40, 30, 20, 10}; +int16_t bndpsd[6] = { 1, 2, 3, 4, 5}; + +void ba_compute_psd (int16_t start) +{ + int i,j,k; + int16_t lastbin = 4; + + j = start; + k = masktab[start]; + + bndpsd[k] = psd[j]; + j++; + + for (i = j; i < lastbin; i++) { + bndpsd[k] = logadd(&bndpsd[k], &psd[j]); + j++; + } +} + +int16_t logadd (int16_t *a, int16_t *b) +{ + return *a + *b; +} + +int main (void) +{ + int i; + + ba_compute_psd (0); + + if (bndpsd[1] != 140) abort (); + return 0; +} + |