diff --git a/src/xenia/cpu/backend/a64/a64_sequences.cc b/src/xenia/cpu/backend/a64/a64_sequences.cc index 94cb8fcd4..c3c0741e8 100644 --- a/src/xenia/cpu/backend/a64/a64_sequences.cc +++ b/src/xenia/cpu/backend/a64/a64_sequences.cc @@ -1107,8 +1107,9 @@ EMITTER_ASSOCIATIVE_COMPARE_FLT_XX(UGE, Cond::HS); // setae struct DID_SATURATE : Sequence> { static void Emit(A64Emitter& e, const EmitArgType& i) { - // TODO(benvanik): implement saturation check (VECTOR_ADD, etc). - e.EOR(i.dest, i.dest, i.dest); + // Bit 27 in the FPSR is the QC bit + e.MRS(X0, SystemReg::FPSR); + e.UBFX(i.dest, W0, 27, 1); } }; EMITTER_OPCODE_TABLE(OPCODE_DID_SATURATE, DID_SATURATE);