openal-soft/Alc/fpu_modes.h
2018-11-21 09:07:02 -08:00

26 lines
503 B
C++

#ifndef FPU_MODES_H
#define FPU_MODES_H
class FPUCtl {
#if defined(__GNUC__) && defined(HAVE_SSE)
unsigned int sse_state{};
#elif defined(HAVE___CONTROL87_2)
unsigned int state{};
unsigned int sse_state{};
#elif defined(HAVE__CONTROLFP)
unsigned int state{};
#endif
bool in_mode{};
public:
FPUCtl() noexcept;
~FPUCtl() { leave(); }
FPUCtl(const FPUCtl&) = delete;
FPUCtl& operator=(const FPUCtl&) = delete;
void leave() noexcept;
};
#endif /* FPU_MODES_H */