1 2#include <stdio.h> 3 4void mxcsr_default ( void ) 5{ 6 asm(" pushl $0x1F80 ; ldmxcsr (%esp) ; addl $4, %esp"); 7} 8 9void mxcsr_exns ( void ) 10{ 11 asm(" pushl $0x1F00 ; ldmxcsr (%esp) ; addl $4, %esp"); 12} 13 14/* PIII doesn't have DAZ, so this segfaults (!) on PIII. */a 15void mxcsr_daz ( void ) 16{ 17 asm(" pushl $0x1FC0 ; ldmxcsr (%esp) ; addl $4, %esp"); 18} 19 20void mxcsr_fz ( void ) 21{ 22 asm(" pushl $0x9F80 ; ldmxcsr (%esp) ; addl $4, %esp"); 23} 24 25 26int main ( void ) 27{ 28 printf("default\n"); 29 mxcsr_default(); 30 printf("\n"); 31 32 printf("exns\n"); 33 mxcsr_exns(); 34 printf("\n"); 35 36 printf("daz\n"); 37 mxcsr_daz(); 38 printf("\n"); 39 40 printf("fz\n"); 41 mxcsr_fz(); 42 printf("\n"); 43 44 return 0; 45} 46