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); }