1 /* A runtime check for AltiVec capability.  */
2 /* Contributed by Ziemowit Laski  <zlaski@apple.com>  */
3 
4 #include <signal.h>
5 extern void exit (int);
6 extern void abort (void);
7 
8 void
sig_ill_handler(int sig)9 sig_ill_handler (int sig)
10 {
11     exit (0);
12 }
13 
altivec_check(void)14 void altivec_check(void) {
15 
16   /* Exit on systems without AltiVec.  */
17   signal (SIGILL, sig_ill_handler);
18 #ifdef __MACH__
19   asm volatile ("vor v0,v0,v0");
20 #else
21   asm volatile ("vor 0,0,0");
22 #endif
23   signal (SIGILL, SIG_DFL);
24 }
25