45 lines
694 B
C
45 lines
694 B
C
|
|
#include <stdio.h>
|
|
|
|
void mxcsr_default ( void )
|
|
{
|
|
asm(" pushl $0x1F80 ; ldmxcsr (%esp) ; addl $4, %esp");
|
|
}
|
|
|
|
void mxcsr_exns ( void )
|
|
{
|
|
asm(" pushl $0x1F00 ; ldmxcsr (%esp) ; addl $4, %esp");
|
|
}
|
|
|
|
/* PIII doesn't have DAZ, so this segfaults (!) on PIII. */a
|
|
void mxcsr_daz ( void )
|
|
{
|
|
asm(" pushl $0x1FC0 ; ldmxcsr (%esp) ; addl $4, %esp");
|
|
}
|
|
|
|
void mxcsr_fz ( void )
|
|
{
|
|
asm(" pushl $0x9F80 ; ldmxcsr (%esp) ; addl $4, %esp");
|
|
}
|
|
|
|
|
|
int main ( void )
|
|
{
|
|
printf("default\n");
|
|
mxcsr_default();
|
|
printf("\n");
|
|
|
|
printf("exns\n");
|
|
mxcsr_exns();
|
|
printf("\n");
|
|
|
|
printf("daz\n");
|
|
mxcsr_daz();
|
|
printf("\n");
|
|
|
|
printf("fz\n");
|
|
mxcsr_fz();
|
|
printf("\n");
|
|
|
|
return 0;
|
|
}
|