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)9sig_ill_handler (int sig) 10 { 11 exit (0); 12 } 13 altivec_check(void)14void 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