Merge from mainline (gomp-merge-2005-02-26).
[official-gcc.git] / gcc / testsuite / g++.dg / ext / altivec_check.h
blob9e8b3f78ac2b9a72d7e5adfd1ca5e8b901410de8
1 /* A runtime check for AltiVec capability. */
2 /* Contributed by Ziemowit Laski <zlaski@apple.com> */
4 #include <signal.h>
5 extern
6 #ifdef __cplusplus
7 "C"
8 #endif
9 void exit(int);
11 void
12 sig_ill_handler (int sig)
14 exit (0);
17 void altivec_check(void) {
19 /* Exit on systems without AltiVec. */
20 signal (SIGILL, sig_ill_handler);
21 #ifdef __MACH__
22 asm volatile ("vor v0,v0,v0");
23 #else
24 asm volatile ("vor 0,0,0");
25 #endif
26 signal (SIGILL, SIG_DFL);