summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/compile/20030220-1.c
blob: 59a03e42c45645ba100de48fae1375b624c70097 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* PR optimization/9768 */
/* Originator: Randolph Chung <tausq@debian.org> */

inline int fixfloor (long x)
{
  if (x >= 0)
    return (x >> 16);
  else
    return ~((~x) >> 16);
}

inline int fixtoi (long x)
{
  return fixfloor(x) + ((x & 0x8000) >> 15);
}

int foo(long x, long y)
{
  return fixtoi(x*y);
}