ReactOS 0.4.16-dev-87-g3dfbe52
fpreset.c
Go to the documentation of this file.
1/*
2 * COPYRIGHT: See COPYING.LIB in the top level directory
3 * PROJECT: ReactOS system libraries
4 * PURPOSE: Resets FPU state to the default
5 * PROGRAMER: Thomas Faber <thomas.faber@reactos.org>
6 */
7
8#include <precomp.h>
9
10/*********************************************************************
11 * _fpreset (MSVCRT.@)
12 */
13void CDECL _fpreset(void)
14{
15 const unsigned short x86_cw = 0x27f;
16#ifdef _MSC_VER
17 __asm { fninit }
18 __asm { fldcw [x86_cw] }
19#else
20 __asm__ __volatile__( "fninit; fldcw %0" : : "m" (x86_cw) );
21#endif
23 {
24 const unsigned long sse2_cw = 0x1f80;
25#ifdef _MSC_VER
26 __asm { ldmxcsr [sse2_cw] }
27#else
28 __asm__ __volatile__( "ldmxcsr %0" : : "m" (sse2_cw) );
29#endif
30 }
31}
#define CDECL
Definition: compat.h:29
BOOL WINAPI IsProcessorFeaturePresent(IN DWORD ProcessorFeature)
Definition: sysinfo.c:169
void CDECL _fpreset(void)
Definition: fpreset.c:13
__asm__(".p2align 4, 0x90\n" ".seh_proc __seh2_global_filter_func\n" "__seh2_global_filter_func:\n" "\tsub %rbp, %rax\n" "\tpush %rbp\n" "\t.seh_pushreg %rbp\n" "\tsub $32, %rsp\n" "\t.seh_stackalloc 32\n" "\t.seh_endprologue\n" "\tsub %rax, %rdx\n" "\tmov %rdx, %rbp\n" "\tjmp *%r8\n" "__seh2_global_filter_func_exit:\n" "\t.p2align 4\n" "\tadd $32, %rsp\n" "\tpop %rbp\n" "\tret\n" "\t.seh_endproc")
#define PF_XMMI64_INSTRUCTIONS_AVAILABLE
Definition: ketypes.h:134