mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-06 15:01:28 +12:00
PPU: refactor shift and splat instructions
Fix utils::rol32/64 functions. Fix immediate clamping in splat instructions. Other fixes.
This commit is contained in:
parent
d92008abe4
commit
b42fae0989
4 changed files with 784 additions and 382 deletions
|
@ -247,10 +247,16 @@ inline FT build_function_asm(std::string_view name, F&& builder)
|
|||
|
||||
Asm compiler(&code);
|
||||
compiler.addEncodingOptions(EncodingOptions::kOptimizedAlign);
|
||||
if constexpr (std::is_invocable_v<F, Asm&, native_args&>)
|
||||
builder(compiler, args);
|
||||
if constexpr (std::is_invocable_r_v<bool, F, Asm&, native_args&>)
|
||||
{
|
||||
if (!builder(compiler, args))
|
||||
return nullptr;
|
||||
}
|
||||
else
|
||||
builder(compiler);
|
||||
{
|
||||
builder(compiler, args);
|
||||
}
|
||||
|
||||
rt.dump_name = name;
|
||||
const auto result = rt._add(&code);
|
||||
jit_announce(result, code.codeSize(), name);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue