OSDN Git Service

2011-09-29 Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.c-torture / execute / usmul.c
1 int __attribute__ ((noinline)) foo (short x, unsigned short y)
2 {
3   return x * y;
4 }
5
6 int __attribute__ ((noinline)) bar (unsigned short x, short y)
7 {
8   return x * y;
9 }
10
11 int main ()
12 {
13   if (foo (-2, 0xffff) != -131070)
14     abort ();
15   if (foo (2, 0xffff) != 131070)
16     abort ();
17   if (foo (-32768, 0x8000) != -1073741824)
18     abort ();
19   if (foo (32767, 0x8000) != 1073709056)
20     abort ();
21
22   if (bar (0xffff, -2) != -131070)
23     abort ();
24   if (bar (0xffff, 2) != 131070)
25     abort ();
26   if (bar (0x8000, -32768) != -1073741824)
27     abort ();
28   if (bar (0x8000, 32767) != 1073709056)
29     abort ();
30
31   exit (0);
32 }
33