diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/pr37360.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/pr37360.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/pr37360.c b/gcc/testsuite/gcc.dg/pr37360.c new file mode 100644 index 000000000..d2ca7f388 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr37360.c @@ -0,0 +1,21 @@ +/* PR rtl-optimization/37360 */ +/* { dg-do compile { target fpic } } */ +/* { dg-options "-O3 -fPIC" } */ + +typedef unsigned int UQItype __attribute__ ((mode (QI))); +typedef unsigned int USItype __attribute__ ((mode (SI))); + +extern const UQItype __popcount_tab[256]; +extern int __popcountsi2 (USItype); + +int +__popcountsi2 (USItype x) +{ + int i, ret = 0; + + for (i = 0; i < (4 * 8); i += 8) + ret += __popcount_tab[(x >> i) & 0xff]; + + return ret; +} + |