diff options
| -rw-r--r-- | src/core/arm/dynarmic/arm_dynarmic_32.cpp | 12 | ||||
| -rw-r--r-- | src/core/arm/dynarmic/arm_dynarmic_64.cpp | 11 |
2 files changed, 5 insertions, 18 deletions
diff --git a/src/core/arm/dynarmic/arm_dynarmic_32.cpp b/src/core/arm/dynarmic/arm_dynarmic_32.cpp index 23be0447a..c915bed2e 100644 --- a/src/core/arm/dynarmic/arm_dynarmic_32.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic_32.cpp | |||
| @@ -200,15 +200,9 @@ std::shared_ptr<Dynarmic::A32::Jit> ARM_Dynarmic_32::MakeJit(Common::PageTable* | |||
| 200 | // Curated optimizations | 200 | // Curated optimizations |
| 201 | if (Settings::values.cpu_accuracy.GetValue() == Settings::CPUAccuracy::Auto) { | 201 | if (Settings::values.cpu_accuracy.GetValue() == Settings::CPUAccuracy::Auto) { |
| 202 | config.unsafe_optimizations = true; | 202 | config.unsafe_optimizations = true; |
| 203 | if (Settings::values.cpuopt_unsafe_unfuse_fma) { | 203 | config.optimizations |= Dynarmic::OptimizationFlag::Unsafe_UnfuseFMA; |
| 204 | config.optimizations |= Dynarmic::OptimizationFlag::Unsafe_UnfuseFMA; | 204 | config.optimizations |= Dynarmic::OptimizationFlag::Unsafe_IgnoreStandardFPCRValue; |
| 205 | } | 205 | config.optimizations |= Dynarmic::OptimizationFlag::Unsafe_InaccurateNaN; |
| 206 | if (Settings::values.cpuopt_unsafe_ignore_standard_fpcr) { | ||
| 207 | config.optimizations |= Dynarmic::OptimizationFlag::Unsafe_IgnoreStandardFPCRValue; | ||
| 208 | } | ||
| 209 | if (Settings::values.cpuopt_unsafe_inaccurate_nan) { | ||
| 210 | config.optimizations |= Dynarmic::OptimizationFlag::Unsafe_InaccurateNaN; | ||
| 211 | } | ||
| 212 | } | 206 | } |
| 213 | 207 | ||
| 214 | return std::make_unique<Dynarmic::A32::Jit>(config); | 208 | return std::make_unique<Dynarmic::A32::Jit>(config); |
diff --git a/src/core/arm/dynarmic/arm_dynarmic_64.cpp b/src/core/arm/dynarmic/arm_dynarmic_64.cpp index 6ff69db2f..156c4a60b 100644 --- a/src/core/arm/dynarmic/arm_dynarmic_64.cpp +++ b/src/core/arm/dynarmic/arm_dynarmic_64.cpp | |||
| @@ -240,15 +240,8 @@ std::shared_ptr<Dynarmic::A64::Jit> ARM_Dynarmic_64::MakeJit(Common::PageTable* | |||
| 240 | // Curated optimizations | 240 | // Curated optimizations |
| 241 | if (Settings::values.cpu_accuracy.GetValue() == Settings::CPUAccuracy::Auto) { | 241 | if (Settings::values.cpu_accuracy.GetValue() == Settings::CPUAccuracy::Auto) { |
| 242 | config.unsafe_optimizations = true; | 242 | config.unsafe_optimizations = true; |
| 243 | if (Settings::values.cpuopt_unsafe_unfuse_fma) { | 243 | config.optimizations |= Dynarmic::OptimizationFlag::Unsafe_UnfuseFMA; |
| 244 | config.optimizations |= Dynarmic::OptimizationFlag::Unsafe_UnfuseFMA; | 244 | config.optimizations |= Dynarmic::OptimizationFlag::Unsafe_InaccurateNaN; |
| 245 | } | ||
| 246 | if (Settings::values.cpuopt_unsafe_inaccurate_nan) { | ||
| 247 | config.optimizations |= Dynarmic::OptimizationFlag::Unsafe_InaccurateNaN; | ||
| 248 | } | ||
| 249 | if (Settings::values.cpuopt_unsafe_fastmem_check) { | ||
| 250 | config.fastmem_address_space_bits = 64; | ||
| 251 | } | ||
| 252 | } | 245 | } |
| 253 | 246 | ||
| 254 | return std::make_shared<Dynarmic::A64::Jit>(config); | 247 | return std::make_shared<Dynarmic::A64::Jit>(config); |