From fb591cbadbf4971b0c0ed985829dd9ea9f1e8c3d Mon Sep 17 00:00:00 2001 From: Ben Vanik Date: Sat, 20 Jun 2015 11:20:47 -0700 Subject: [PATCH] Disabling use of FMA until I can figure out the rounding issues. --- src/xenia/cpu/backend/x64/x64_sequences.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/xenia/cpu/backend/x64/x64_sequences.cc b/src/xenia/cpu/backend/x64/x64_sequences.cc index 68bb33632..007677564 100644 --- a/src/xenia/cpu/backend/x64/x64_sequences.cc +++ b/src/xenia/cpu/backend/x64/x64_sequences.cc @@ -3911,8 +3911,10 @@ EMITTER(MUL_ADD_F64, MATCH(I, F64<>, F64<>, F64<>>)) { }; EMITTER(MUL_ADD_V128, MATCH(I, V128<>, V128<>, V128<>>)) { static void Emit(X64Emitter& e, const EmitArgType& i) { - // FMA extension - if (e.IsFeatureEnabled(kX64EmitFMA)) { + // TODO(benvanik): the vfmadd sequence produces slightly different results + // than vmul+vadd and it'd be nice to know why. Until we know, it's + // disabled so tests pass. + if (false && e.IsFeatureEnabled(kX64EmitFMA)) { if (i.dest == i.src1) { e.vfmadd213ps(i.dest, i.src2, i.src3); } else if (i.dest == i.src2) {