diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index e70aa2aa4bb..6b0b52918d1 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -27,6 +27,23 @@ config SSE Disabling this option means that no task or fiber may use SSEx instructions; any such use will result in undefined behavior. +config SSE_FP_MATH + bool + prompt "Compiler-generated SSEx instructions" if FP_SHARING + depends on SSE && ISA_IA32 + default n if FP_SHARING + default y if !FP_SHARING + help + This option allows the compiler to generate SSEx instructions for + performing floating point math. This can greatly improve performance + when exactly the same operations are to be performed on multiple + data objects; however, it can also significantly reduce performance + when pre-emptive task switches occur because of the larger register + set that must be saved and restored. + + Disabling this option means that the compiler utilizes only the + x87 instruction set for floating point operations. + config FP_SHARING bool prompt "Floating point resource sharing" if !ENHANCED_SECURITY