diff --git a/PowerSample/CMakeLists.txt b/PowerSample/CMakeLists.txt index 7f99324..af912b9 100644 --- a/PowerSample/CMakeLists.txt +++ b/PowerSample/CMakeLists.txt @@ -2,6 +2,7 @@ project("PowerSample") add_compile_options( "/fp:strict" + "/GS-" "-march=x86-64-v3" "-fno-strict-aliasing") diff --git a/PowerUtils/ppc_context.h b/PowerUtils/ppc_context.h index 0dbda22..ef02bb8 100644 --- a/PowerUtils/ppc_context.h +++ b/PowerUtils/ppc_context.h @@ -160,19 +160,19 @@ struct PPCFPSCRRegister static constexpr size_t FlushMask = _MM_FLUSH_ZERO_MASK | _MM_DENORMALS_ZERO_MASK; - inline void enableFlushModeUnconditional() + inline void enableFlushModeUnconditional() noexcept { csr |= FlushMask; _mm_setcsr(csr); } - inline void disableFlushModeUnconditional() + inline void disableFlushModeUnconditional() noexcept { csr &= ~FlushMask; _mm_setcsr(csr); } - inline void enableFlushMode() + inline void enableFlushMode() noexcept { if ((csr & FlushMask) != FlushMask) [[unlikely]] { @@ -181,7 +181,7 @@ struct PPCFPSCRRegister } } - inline void disableFlushMode() + inline void disableFlushMode() noexcept { if ((csr & FlushMask) != 0) [[unlikely]] {