SPU LLVM: PUTLLC 16 Optimization

Also, do not check LR event if already raised in PUTLLC
This commit is contained in:
Eladash 2024-03-06 17:28:07 +02:00 committed by Elad Ashkenazi
parent a2dcbb9c13
commit f9345c7699
6 changed files with 2755 additions and 28 deletions

View file

@ -3778,13 +3778,16 @@ bool spu_thread::do_putllc(const spu_mfc_cmd& args)
if (raddr)
{
// Last check for event before we clear the reservation
if (raddr == addr)
if (~ch_events.load().events & SPU_EVENT_LR)
{
set_events(SPU_EVENT_LR);
}
else
{
get_events(SPU_EVENT_LR);
if (raddr == addr)
{
set_events(SPU_EVENT_LR);
}
else
{
get_events(SPU_EVENT_LR);
}
}
}