Skip to content

Commit

Permalink
SPU LLVM: Fix -0 handling in Accurate xfloat mode
Browse files Browse the repository at this point in the history
  • Loading branch information
elad335 authored Aug 24, 2022
1 parent 1fc0191 commit 385bd21
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion rpcs3/Emu/Cell/SPURecompiler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4415,7 +4415,7 @@ class spu_llvm_recompiler : public spu_recompiler_base, public cpu_translator
const auto s = m_ir->CreateAnd(m_ir->CreateLShr(d, 32), 0x80000000);
const auto m = m_ir->CreateXor(m_ir->CreateLShr(d, 29), 0x40000000);
const auto r = m_ir->CreateOr(m_ir->CreateAnd(m, 0x7fffffff), s);
return m_ir->CreateTrunc(m_ir->CreateSelect(m_ir->CreateIsNotNull(d), r, splat<u64[4]>(0).eval(m_ir)), get_type<u32[4]>());
return m_ir->CreateTrunc(m_ir->CreateSelect(m_ir->CreateIsNotNull(m_ir->CreateShl(d, 1)), r, s), get_type<u32[4]>());
}

llvm::Value* xfloat_to_double(llvm::Value* val)
Expand Down

0 comments on commit 385bd21

Please sign in to comment.