OSDN Git Service

Merge tree-ssa-20020619-branch into mainline.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / darwin-longlong.c
1 /* { dg-do run { target powerpc*-*-* } } */
2 /* { dg-options "-mcpu=G5" } */
3
4 #include <signal.h>
5
6 void
7 sig_ill_handler (int sig)
8 {
9     exit(0);
10 }
11
12
13 int  msw(long long in)
14 {
15   union {
16     long long ll;
17     int  i[2];
18   } ud;
19   ud.ll = in;
20   return ud.i[0];
21 }
22
23 int main()
24 {
25
26   /* Exit on systems without 64bit instructions.  */
27   signal (SIGILL, sig_ill_handler);
28 #ifdef __MACH__
29   asm volatile ("extsw r0,r0");
30 #else
31   asm volatile ("extsw 0,0");
32 #endif
33   signal (SIGILL, SIG_DFL);
34
35   if (msw(1) != 0)
36     abort();
37   exit(0);
38 }