SPU LLVM (Mega): Fix quarter of missing jumptable discoveries

This commit is contained in:
Elad 2025-11-29 07:43:50 +02:00
parent e09be04df6
commit c48ae344a8

View file

@ -3165,6 +3165,15 @@ spu_program spu_recompiler_base::analyse(const be_t<u32>* ls, u32 entry_point, s
break;
}
if (target >= SPU_LS_SIZE && target <= 0u - SPU_LS_SIZE)
{
if (g_spu_itype.decode(target) != spu_itype::UNK)
{
// End of jumptable: valid instruction
break;
}
}
if (target >= lsa && target < SPU_LS_SIZE)
{
// Possible jump table entry (absolute)