Conversation
cuavas
left a comment
There was a problem hiding this comment.
So essentially, the optimisation is:
- Templating
GETDATAto get rid ofm_mHackIgnoreARPand one test for instructions that have the “next ARP” flag set. This is probably fine, but impact would be minimal at best. - Getting rid of
m_external_mem_accessand testingm_memaccessinstead. Are there potentially members of the family that would need a different test? - Slightly shuffling the code for handling repeated instructions. Probably fine, but once again probably very small impact.
| return m_tms320c2x_irq_cycles; | ||
| return 0; |
There was a problem hiding this comment.
Are you sure this is safe? what if the outer if ( (INTM == 0) && (m_opcode.w.l != 0xce00) && (m_IFR & m_imr) ) passes but none of the inner tests pass? Previously it would have returned (3*CLK). If that’s never supposed to happen, it should do something to make sure the developer know bad things have happened.
There was a problem hiding this comment.
According to the datasheet, if an interrupt occured, one vector interrupt must be serviced, it should be impossible to fallthrough all the tests. Should I place a fatalerror right below indicating it reached a unreachable state?
|
Hey did tms320c5x also broke somewhere because of the renaming ? taito jc system games seems to launch but maybe there is some errors also, i'm not sure here are some sheets from Texas Instruments : TMS320C2x/C2xx/C5x TMS320c5x specific : |
What do you mean? No, it only "broke" my prev PR nothing else (because it was referencing the source file before the renaming). If you getting errors it must be on your end, as I tested the games and they are working fine. Anyway, it seems the Github Actions outage has been finally resolved and I'm gonna restart. |
This is a sucessor to my previous PR #14479 after @cuavas broke it with his renaming changes
Here the benchmark results from clang-x64 build (done with
-bench 300):(The bechmarks may have been influenced by CPU throttling while running them, so they can't be 100% accurate)